信息收集工具汇总

发布时间 2023-12-19 14:05:49作者: 陈家安

一 Nmap

1 介绍

Nmap网络映射器)是一款用于网络发现安全审计网络安全工具。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:

  • 列举网络主机清单
  • 管理服务升级调度
  • 监控主机
  • 服务运行状况
    Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
    其扫描结果可以作为漏洞扫描漏洞利用权限提升阶段的输入。例如,业界流行的漏洞扫描工具Nessus与漏洞利用工具Metasploit都支持导入Nmap的XML格式结果,而Metasploit框架内也集成了Nmap工具(支持Metasploit直接扫描)。

2 核心功能

1)主机发现

用于发现目标主机是否处于活动状态。类似于Ping命令的功能。

2)端口扫描

用于扫描主机上的端口状态。Nmap可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放或过滤(Open|Filtered)、关闭或过滤(Closed|Filtered)。默认情况下,Nmap会扫描1660个常用的端口。

3)版本侦测

用于识别端口上运行的应用程序与程序版本。Nmap目前可以识别数千种应用的签名(Signatures),检测数百种应用协议。对于不识别的应用,Nmap默认会将应用的指纹(Fingerprint)打印出来。

4)操作系统侦测

用于识别目标主机的操作系统类型、版本编号及设备类型。 Nmap目前提供1500个操作系统或设备的指纹数据,可以识别通用PC系统、路由器、交换机等设备类型。

5)防火墙/IDS规避和哄骗

Nmap提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标主机的状况。 基本的规避方式包括:数据包分片、IP诱骗、IP伪装、MAC地址伪装。

6)NSE脚本引擎

NSE是Nmap最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测和操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现和漏洞利用等。Nmap使用Lua语言来作为NSE脚本语言,目前的Nmap脚本库已经支持600多个脚本。

3 Nmap基本命令和用法

Nmap(Network Mapper)是一款用于网络发现和安全审计的开源工具。以下是一些Nmap的基本命令和用法:

  1. 基本扫描:

    nmap <目标地址>
    

    这会执行一个基本的TCP端口扫描,显示目标主机上开放的端口和服务。

  2. 指定端口范围:

    nmap -p 1-100 <目标地址>
    

    通过指定端口范围,你可以只扫描特定的端口,而不是整个范围。

  3. 服务版本检测:

    nmap -sV <目标地址>
    

    使用服务版本检测,Nmap会尝试确定每个开放端口上运行的服务及其版本信息。

  4. 操作系统检测:

    nmap -O <目标地址>
    

    这个命令会尝试识别目标主机的操作系统。

  5. 脚本扫描:

    nmap -sC <目标地址>
    

    使用脚本扫描,Nmap将运行一些默认的脚本来识别常见的漏洞和配置问题。

  6. Aggressive模式:

    nmap -A <目标地址>
    

    使用-A参数,相当于同时使用了-sV、-O和-sC参数,进行更全面的扫描。

  7. UDP扫描:

    nmap -sU <目标地址>
    

    进行UDP端口扫描,适用于一些服务可能使用UDP协议的情况。

  8. 输出到文件:

    nmap -oN output.txt <目标地址>
    

    将扫描结果保存到文件中,方便后续分析。

  9. 快速扫描:

    nmap -F <目标地址>
    

    进行快速扫描,只扫描最常见的100个端口。

  10. 显示详细输出:

    nmap -v <目标地址>
    

    使用-v参数,可以显示详细的扫描信息,包括每个扫描的阶段。

4 参考内容

二 WPScan

1 介绍

WPScan,WordPress扫描工具。是Kali默认自带的一款漏洞扫描工具,能扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能

2 核心功能

  1. 漏洞扫描:

    • WPScan能够识别WordPress网站上的已知漏洞,包括核心、插件和主题的漏洞。
  2. 密码破解:

    • WPScan可以进行密码弱点测试,尝试使用常见的用户名和密码组合对WordPress站点进行暴力破解。
  3. 插件和主题扫描:

    • WPScan能够识别目标WordPress站点上安装的插件和主题,包括其版本信息。这有助于发现使用过时或存在已知漏洞的插件和主题。
  4. 用户枚举:

    • WPScan支持用户枚举,即通过尝试不同的用户名来确定目标WordPress站点上存在的有效用户。这对于进行后续的攻击和渗透测试很有用。
  5. REST API扫描:

    • WPScan可以扫描WordPress站点的REST API端点,以检查站点是否容易受到攻击或泄露敏感信息。
  6. 配置错误检测:

    • WPScan会检查WordPress站点的配置,包括敏感文件和目录的权限设置,以发现潜在的安全风险。
  7. 更新检查:

    • WPScan可以检查WordPress核心、插件和主题的更新状态,帮助站点管理员保持其WordPress组件的最新版本,从而提高安全性。

3 WPScan基本命令和用法

  1. 基本扫描:

    wpscan --url <目标URL>
    

    这将对指定的WordPress站点执行基本扫描,包括识别安装的WordPress版本、插件和主题。

  2. 漏洞扫描:

    wpscan --url <目标URL> --enumerate vp
    

    使用--enumerate vp​参数,WPScan将扫描已知的WordPress核心、插件和主题漏洞。

  3. 密码破解:

    wpscan --url <目标URL> --passwords <密码文件> --usernames <用户名文件>
    

    使用--passwords​和--usernames​参数,WPScan可以尝试进行密码破解。你需要提供包含可能密码的文件。

  4. 用户枚举:

    wpscan --url <目标URL> --enumerate u
    

    使用--enumerate u​参数,WPScan将尝试枚举WordPress站点上的用户。

  5. 插件和主题扫描:

    wpscan --url <目标URL> --enumerate p
    

    使用--enumerate p​参数,WPScan将扫描已安装的WordPress插件和主题,并检查其版本信息。

  6. REST API扫描:

    wpscan --url <目标URL> --enumerate ap
    

    使用--enumerate ap​参数,WPScan将扫描WordPress站点的REST API端点。

  7. 配置错误检测:

    wpscan --url <目标URL> --enumerate vt
    

    使用--enumerate vt​参数,WPScan将检查站点的配置错误,包括目录和文件的权限。

  8. 更新检查:

    wpscan --url <目标URL> --enumerate vp --update
    

    使用--update​参数,WPScan将检查WordPress核心、插件和主题的更新状态。

可以使用wpscan --help​命令查看所有可用选项和参数的详细信息。

4 参考内容

三 Recon-ng

1 介绍

一个全面的渗透测试框架,用于收集有关目标的信息,包括域名、子域名、电子邮件等。recon-ng是一个被动信息搜集框架,主要利用第三方API进行信息收集。

2 Recon-ng的基本命令和用法

Recon-ng是一个强大的信息收集框架,使用时可以通过命令行界面(CLI)或Web界面进行操作。以下是Recon-ng的一些基本用法和命令:

1. CLI基本用法:

  • 启动Recon-ng:

    recon-ng
    
  • 列出可用的模块:

    show modules
    
  • 选择一个模块:

    use <模块名>
    
  • 查看模块的选项:

    show options
    
  • 配置模块选项:

    set <参数> <值>
    
  • 运行模块:

    run
    
  • 保存结果:

    db export <文件名>
    
  • 退出Recon-ng:

    exit
    

2. Web界面基本用法:

  • 启动Recon-ng Web服务器:

    recon-web
    
  • 访问Web界面:
    打开浏览器并访问 http://127.0.0.1:8080

  • 登录Web界面:
    默认情况下,用户名和密码都是 recon

  • 执行任务:
    在Web界面中选择模块、配置选项,然后执行任务。

3. 示例用法:

  • 域名收集模块:

    use recon/domains-hosts/bing_domain_web
    set source example.com
    run
    
  • 子域名收集模块:

    use recon/domains-hosts/brute_hosts
    set source example.com
    run
    
  • 端口扫描模块:

    use recon/scanning/discovery/udp/udp_services
    set hosts 192.168.1.1
    run
    
  • 漏洞扫描模块:

    use exploit/webapp/wp/wp_content_injection
    set target example.com
    set path /path/to/vulnerable/page
    run
    

可以通过 help​ 命令获取更多帮助和详细的命令。

3 参考内容

四 theHarvester

1 介绍

用于在公开来源中查找电子邮件地址、子域名和虚拟主机。
支持的数据来源(可以用关键词all来从所有的数据源进行搜索)包括:

anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code,google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo,zoomeye

2 theHarvester基本命令和用法

theHarvester工具的主要选项包括:

  1. -d,--domain​ 要搜索的公司名称或域名。
  2. -l,    --limit​ 限制搜索结果的数量,默认=500。
  3. -S,  --start​ 从结果编号 X 开始,默认 = 0。
  4. -g,  --google-dork​ 使用 Google Dorks 进行 Google 搜索。
  5. -p,  --proxies​ 对请求使用代理,在 proxies.yaml 中输入代理。
  6. -s,  --shodan​ 使用 Shodan 查询发现的主机。
  7. --screenshot​ 对已解析的域进行截图,指定输出目录:--screenshot output_directory
  8. -v,  --virtual-host​ 通过 DNS 解析验证主机名并搜索虚拟主机。
  9. -e, --dns-server​ 用于查找的 DNS 服务器。
  10. -f,--filename​ 将结果保存到 XML 和 JSON 文件。
  11. -b, --source​ 指定搜索的引擎和数据源

使用例子:

theHarvester -d [url] -l 300 -b [搜索引擎名称]

五 其他工具

1. Nessus

Nessus 是一款强大的漏洞扫描工具,用于执行系统和应用程序的漏洞分析。它能够发现网络上的安全问题,提供详细的报告和建议。Nessus 分为免费的 Nessus Essentials 和商业版本 Nessus Professional。

使用方法:

1)下载并安装 Nessus

image

2)启动 Nessus 服务器

image

image

image

然后设置账号和密码,等待配置完成

image

image

使用 Nessus 客户端连接到服务器。

创建或配置扫描策略。

执行扫描并查看生成的报告。

2. OpenVAS

OpenVAS (Open Vulnerability Assessment System) 是一款开源的漏洞扫描工具,是 Nessus 的开源版本。它用于识别系统和应用程序中的漏洞,并提供详细的报告。

使用方法:

安装OpenVas

由于OpenVas基于python,有很多依赖包跟Kali有关系,安装之前先建议吧Kali升级到最新版本

#升级Kali命令
apt update && apt upgrade && apt dist-upgrade

Kali升级之后直接输入以下命令安装OpenVas

apt-get install openvas

在这里插入图片描述
然后再输入下载openvas的一些依赖包

openvas-setup

在这里插入图片描述
安装时间比较长,需要耐心等待一下
装完之后可以输入一下命令检查是否安装完整

openvas-check-setup

在这里插入图片描述

其它OpenVas相关的命令
查看帮助:
openvasmd -h
升级OpenVas:
openvas-feed-update
OpenVas启动

OpenVas启动之前建议先修改OpenVas默认密码

openvasmd --user=admin --new-password=123456

启动OpenVas

openvas-start

在这里插入图片描述
启动之后提示我们在Kali的浏览器中输入https://127.0.0.1:9392打开OpenVas
在这里插入图片描述
由于链接是https,我们可以点击底部的AddException
在这里插入图片描述
输入用户名和我们刚刚修改的密码即可登录OpenVas控制台
在这里插入图片描述

OpenVas使用

登录之后进入OpenVas首页的Dashboard​仪表盘显示页面,该页面会展示之前扫描得到些信息结果,包括之前新建的任务,以及扫描出来的漏洞统计。在这里插入图片描述

扫描测试网站

根据《网络安全法》的规定,未获得网站授权不能对其发起攻击,漏洞扫描实际上也是属于一种攻击行为,所以我们只能在一些测试网站上进行漏洞扫描,可以用以下的测试网站进行漏洞扫描测试。


http://testhtml5.vulnweb.com
http://testphp.vulnweb.com
http://testasp.vulnweb.com

http://testfire.net

或者自己搭建测试环境,环境教程传送门 :OWASP Broken Web Apps渗透测试环境搭建和安装教程

新建扫描任务

方法1:
点击Scans​下的targets​以后进入如下页面,然后再点击左上角的紫色按钮
在这里插入图片描述
点击紫色按钮以后 有两种新建任务模式即Task Winzard快速模式​和Advanced Task Winzard 高级模式
在这里插入图片描述
Task Winzard快速模式​中我们只需添加ip地址或域名即可新建扫描任务
在这里插入图片描述
Advanced Task Winzard 高级模式​ 我们按要求填入想要的信息即可
在这里插入图片描述
方法2:
点击configuration​下的targets​以后可以创建扫描任务
在这里插入图片描述
新建任务之后默认会开启任务扫描,我们可以点击任务边上的按钮暂停或启动任务,也可以对新建的任务进一步修改。在这里插入图片描述

查看扫描完成的任务

点击已经扫描完任务即可进入该任务详细
在这里插入图片描述
点击详情里的result​ 可进一步查看扫描后的任务详细信息。包括漏洞的类型 每个漏洞的详情
在这里插入图片描述
在这里插入图片描述

导出扫描报告

首先点击Scans​​下的Reports​​按钮
在这里插入图片描述
页面会显示扫描的大概结果
在这里插入图片描述
点击某个扫描任务,在左上角可以选择扫描报告提交的格式
在这里插入图片描述
点击边上的下载按钮即可下载扫描报告
在这里插入图片描述
部分扫描结果如下
在这里插入图片描述
在这里插入图片描述

3. AppScan

IBM Security AppScan 是一款专业的应用程序安全测试工具,用于查找和解决 Web 应用程序中的安全漏洞。它支持自动扫描和手动测试,帮助发现和修复常见的安全问题。

使用方法

1)安装Appscan

image

image

2)创建或导入应用程序配置。

这里我们将破解补丁两个.dll文件复制到应用安装目录

3)配置扫描设置,选择扫描类型。

image

4)启动扫描、挖掘漏洞

image

4. AWVS

Acunetix (Acunetix Web Vulnerability Scanner) 是一款专注于 Web 应用程序安全的扫描工具,用于发现和修复网站和 Web 应用程序中的漏洞。它提供自动化扫描、漏洞报告和安全建议。

使用方法:

1)安装和配置 Acunetix

image

image

  • 输入目标 Web 应用程序的 URL。
  • 配置扫描设置,如扫描类型和探测级别。
  • 启动扫描并查看生成的报告。
  • 进行手动测试以验证和修复漏洞。