信息收集工具汇总

发布时间 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。
  • 配置扫描设置,如扫描类型和探测级别。
  • 启动扫描并查看生成的报告。
  • 进行手动测试以验证和修复漏洞。

‍