总字符数: 28.13K

代码: 9.18K, 文本: 6.69K

预计阅读时间: 1.15 小时

信息收集

渗透的本质是信息收集,信息收集又称资产收集
信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们更多的去找到渗透点,突破口

信息收集的分类

主动信息收集:通过直接访问、扫描网站,这种流量将流经网站

被动信息收集:利用第三方的服务对目标进行访问了解,如BURP,Google搜索、shodan搜索等

为什么要信息收集?

在Web渗透测试中,信息收集是非常重要的一步,它有以下几个关键作用:

  1. 了解目标网站或应用程序:通过信息收集,可以获取目标网站或应用程序的基本信息,包括域名、IP地址、服务器类型、备案情况等。这有助于渗透测试人员对目标进行评估和定位,选择适合的攻击路径和策略。
  2. 发现系统漏洞和弱点:通过信息收集,可以获取目标网站或应用程序的架构、技术框架、插件组件等,从而了解潜在的漏洞和弱点。例如,在JS文件中可能包含硬编码的敏感信息、API密钥、数据库连接字符串等。了解这些信息可以帮助渗透测试人员找到攻击的切入点。
  3. 寻找攻击面和路径:信息收集可以帮助渗透测试人员确定目标系统的攻击面和可能存在的漏洞位置。通过分析目标的网络拓扑、子域名、目录结构、文件权限等,可以确定攻击的方向和路径。例如,通过收集子域名,可以发现其他可能存在漏洞的系统。
  4. 风险评估和决策支持:通过信息收集,可以全面了解目标系统的安全状况,并对潜在的风险进行评估。这有助于渗透测试人员制定合理的攻击策略,选择适当的工具和技术,减少不必要的尝试和风险。

在信息收集过程中,可以收集的内容包括但不限于:

  • 域名、IP地址和服务器信息
  • 子域名和相关网站
  • 目标系统的架构、技术框架和组件
  • 目录结构和文件权限
  • 开放端口和服务
  • 系统版本和补丁情况
  • 社交媒体和联系人信息

为了高效地进行信息收集,可以借助一些工具和技术,例如:

  • Whois查询工具:用于查找域名的注册信息和服务器IP地址。
  • 子域名扫描工具:用于自动发现目标网站的子域名。
  • 网络映射工具:用于绘制目标系统的网络拓扑结构。
  • 爬虫工具:用于获取网站的页面、链接和内容。
  • 漏洞扫描器:用于自动发现目标系统的漏洞和弱点。

将信息整合起来,可以帮助渗透测试人员更好地了解目标,制定攻击策略,并在后续的渗透测试过程中根据具体情况进行进一步的信息收集和攻击。

被动信息收集

利用第三方服务对目标进行被动信息收集防止被发现

被动信息收集的目的:通过公开渠道,去获得目标主机的信息,从而不与目标系统直接交互,避免留下痕迹

信息收集内容

信息收集的内容取决于渗透测试人员的目标和方法,一般来说,信息收集应包括以下内容:

  1. IP地址和域名:确定目标系统的IP地址和域名是信息收集的首要任务。这可以通过DNS解析、Whois查 询、Ping命令等方式进行。
  2. 开放端口:了解目标系统上开放的端口和运行的服务是信息收集的重要内容。这可以通过端口扫描工具(如Nmap)进行。
  3. 操作系统和应用程序:了解目标系统的操作系统和运行的应用程序是非常重要的,这可以帮助渗透测试人员确定针对目标系统的攻击方法和工具。这可以通过服务识别、Banner Grabbing等方式进行。
  4. 漏洞和弱点:寻找目标系统的漏洞和弱点是渗透测试的重点之一,这可以通过漏洞扫描、Web应用程序扫描等方式进行。
  5. 目录和文件:寻找目标系统中存在的目录和文件可以帮助渗透测试人员发现系统中可能存在的敏感信息或漏洞。这可以通过目录扫描、文件爆破等方式进行。
  6. 社会工程学信息:寻找目标系统相关人员的姓名、职位、联系方式等信息可以帮助渗透测试人员进行社会工程学攻击。这可以通过搜索引擎、社交媒体等方式进行。
  7. 网络拓扑:了解目标系统的网络拓扑可以帮助渗透测试人员了解目标系统的结构和环境。这可以通过网络拓扑图、路由表等方式进行。

需要注意的是,在进行信息收集时,渗透测试人员需要确保遵守所有法律和道德规范,不得进行非法或者侵犯隐私的行为。

信息用途

信息收集的主要用途是为了帮助渗透测试人员更好地了解目标系统的结构、环境、弱点和潜在风险,从而为 攻击目标制定更加有效的策略和方案。

具体来说,收集到的信息可以用于以下方面:

  1. 确定目标系统的弱点和漏洞,从而寻找攻击目标的最佳路径和方式。
  2. 了解目标系统的环境和结构,为攻击目标选择最合适的工具和技术。
  3. 发现目标系统中可能存在的敏感信息或数据,为后续攻击做好准备。
  4. 为渗透测试人员进行社交工程学攻击提供信息基础。

总之,信息收集是渗透测试中不可或缺的环节,收集到的信息将为渗透测试人员提供关键的支持和帮助,有助于攻击目标的成功实施。同时,在收集信息的过程中,渗透测试人员需要注意保护隐私和遵守法律规定, 避免侵犯他人权益。

DNS信息收集

ping可以快速的将域名解析为IP地址

1
2
3
4
5
6
7
8
9
10
11
12
ping www.baidu.com

Pinging www.baidu.com [180.101.50.188] with 32 bytes of data:
Reply from 180.101.50.188: bytes=32 time=34ms TTL=51
Reply from 180.101.50.188: bytes=32 time=34ms TTL=51
Reply from 180.101.50.188: bytes=32 time=34ms TTL=51
Reply from 180.101.50.188: bytes=32 time=34ms TTL=51

Ping statistics for 180.101.50.188:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 34ms, Maximum = 34ms, Average = 34ms

使用nslookup查看域名

1
2
3
4
5
6
7
8
9
10
nslookup 12306.cn


Server: K2.lan # DNS服务器
Address: 192.168.2.1 # DNS服务器地址

Non-authoritative answer: # 非权威性回答
Name: 12306.cn.wsglb0.com # 12306.cn域名的别名
Address: 1.71.150.167 # 12306.cn解析出来的IP
Aliases: 12306.cn
1
2
3
4
5
6
7
8
9
10
nslookup www.baidu.com


Server: K2.lan
Address: 192.168.2.1

Non-authoritative answer:
Name: www.baidu.com
Addresses: 180.101.50.242
180.101.50.188

DNS信息收集-DIG

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# kali下的命令
语法:dig [选项] 需要查询的域名
@ <DNS服务地址>:指定进行域名解析的域名服务器
any #显示所有类型的域名记录。默认只显示A记录
# 示例:
# dig 12306.cn
# dig @8.8.8.8 12306.cn
# dig @114.114.114.114 12306.cn any



└─# dig 12306.cn

; <<>> DiG 9.18.1-1-Debian <<>> 12306.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1643
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;12306.cn. IN A

;; ANSWER SECTION:
12306.cn. 7 IN A 1.71.150.167 # 主要看的地方

;; Query time: 4 msec
;; SERVER: 192.168.2.1#53(192.168.2.1) (UDP)
;; WHEN: Wed Apr 05 10:08:11 CST 2023
;; MSG SIZE rcvd: 53

使用-X参数IP反查域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
└─# dig -x 114.114.114.114

; <<>> DiG 9.18.1-1-Debian <<>> -x 114.114.114.114
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16186
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 4

;; QUESTION SECTION:
;114.114.114.114.in-addr.arpa. IN PTR

;; ANSWER SECTION:
114.114.114.114.in-addr.arpa. 300 IN PTR public1.114dns.com. # 看这个

;; AUTHORITY SECTION:
114.114.114.in-addr.arpa. 41222 IN NS ns100.114dns.com.
114.114.114.in-addr.arpa. 41222 IN NS ns100.114dns.net.

;; ADDITIONAL SECTION:
ns100.114dns.com. 311 IN A 114.114.118.118
ns100.114dns.com. 311 IN A 60.215.138.254
ns100.114dns.net. 316 IN A 114.114.116.116
ns100.114dns.net. 316 IN A 58.217.249.158

;; Query time: 4 msec
;; SERVER: 192.168.2.1#53(192.168.2.1) (UDP)
;; WHEN: Wed Apr 05 10:11:01 CST 2023
;; MSG SIZE rcvd: 192

whois查询

域名注册信息的两种查询方式:

  1. Web接口查询
  2. Whois命令查询
    1. 通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等,因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。

通过Web接口查询

使用whois查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# kali系统

└─# whois 12306.cn
Domain Name: 12306.cn
ROID: 20030310s10001s00012731-cn
Domain Status: ok
Registrant: 中国铁道科学研究院集团有限公司
Registrant Contact Email: 13501238352@139.com
Sponsoring Registrar: 北京中科三方网络技术有限公司
Name Server: cns1.zdnscloud.net
Name Server: dns1.zdnscloud.info
Name Server: ins1.zdnscloud.com
Name Server: vns1.zdnscloud.biz
Registration Time: 2003-03-10 18:50:16
Expiration Time: 2029-01-13 14:16:31
DNSSEC: unsigned

备案信息查询

网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等)

Web接口查询:

收集子域名

子域名介绍:

顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如在http://example.com 这个域名中,顶级域是.com(或.COM),大小写视为相同。

常见的顶级域主要分2类:

  1. 通用顶级类别域名常见的有用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov; 用于互联网络信息中心和运行中心的.net;用于非盈利组织的.org

  2. 国家及地区顶级域如.cn代表中国,.uk代表英国等,地理顶级域名一般由各个国家或地区负责管理。.jp代表什么?

子域名(Subdomain Name)凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。

挖掘子域名的重要性

子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。

子域名是某个主域的二级域名或者多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。

例如:www.xxxxx.com主域不存在漏洞,并且防护措施严密。而二级域名edu.xxxxx.com存在漏洞,并且防护措施松散。

查询子域名

  1. 搜索引擎挖掘 如:
    1. 百度 intitle=公司名称
    2. Google intitle=公司名称
  1. 第三方网站查询: 站长之家,直接搜索名称或者网站域名即可查看相关信息:http://tool.chinaz.com/
  2. FOFA title=”公司名称”
  3. 钟馗之眼 site=域名即可https://www.zoomeye.org/
  4. https://hackertarget.com/find-dns-host-records/
  5. Dns探测https://dnsdumpster.com/
  6. Layer子域名挖掘机
  7. subDomainsBrute
  8. Sublist3r

OneForAll

1
2
3
4
5
6
7
git clone https://gitee.com/shmilylty/OneForAll.git
cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
python3 -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 -m pip install --upgrade exrex
python3 oneforall.py --help
python3 oneforall.py --target didichuxing.com run

esd

1
2
3
4
┌──(root㉿kali)-[/home/kali/subdomain/OneForAll]
└─# pip install esd -i https://mirrors.aliyun.com/pypi/simple/
┌──(root㉿kali)-[/home/kali/subdomain/OneForAll]
└─# esd -d didichuxing.com

dnsub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌──(root㉿kali)-[/home/kali/subdomain/dnsub_linux_amd64_v2.0]
└─# wget https://github.com/yunxu1/dnsub/releases/download/v2.1/dnsub_linux_386_v2.1.zip

┌──(root㉿kali)-[/home/kali/subdomain/dnsub_linux_amd64_v2.0]
└─# unzip dnsub_linux_386_v2.1.zip

┌──(root㉿kali)-[/home/kali/subdomain/dnsub_linux_amd64_v2.0]
└─# cd dnsub_linux_amd64_v2.0

┌──(root㉿kali)-[/home/kali/subdomain/dnsub_linux_amd64_v2.0]
└─# ./dnsub_linux_amd64 -d didichuxing.com
[*] CertSpotter ......... [√]
[*] NetCraft ......... [√]
[*] brute ......... [√]
[*] Censys ......... [×]
[*] Crtsh ......... [√]
[*] Baidu ......... [√]
[*] IP138 ......... [√]
[*] Fofa ......... [×]
[*] ZoomEye ......... [×]
[*] start didichuxing.com

subDomainsBrute

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# python3 -m pip install dnspython==2.2.1 async_timeout -i https://mirrors.aliyun.com/pypi/simple/
┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# wget https://github.com/lijiejie/subDomainsBrute/archive/refs/tags/v1.4.zip

┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# unzip v1.4.zip
┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# cd subDomainsBrute-1.4

┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# python3 subDomainsBrute.py
用法:subDomainsBrute.py [选项] target.com

选项:
--version 显示程序版本号并退出
-h, --help 显示帮助信息并退出
-f FILE 包含以换行符分隔的子域名的文件,默认为 subnames.txt。
--full 完整扫描,将使用 NAMES FILE subnames_full.txt 进行强制破解
-i, --ignore-intranet 忽略指向私有 IP 的域名
-w, --wildcard 在通配符测试失败后强制进行扫描
-t THREADS, --threads=THREADS
扫描线程数量,默认为 500
-p PROCESS, --process=PROCESS
扫描进程数量,默认为 6
--no-https 禁用从 HTTPS 证书获取域名,这可以节省一些时间
-o OUTPUT, --output=OUTPUT
输出文件名,默认为 {target}.txt

┌──(root㉿kali)-[/home/kali/subdomain/subDomainsBrute-1.4]
└─# python3 subDomainsBrute.py didichuxing.com
SubDomainsBrute v1.4 https://github.com/lijiejie/subDomainsBrute
[+] Validate DNS servers
[+] Server 119.29.29.29 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
any-sub.didichuxing.com 123.207.209.133, 123.207.209.134, 123.207.209.17

Use -w to enable force scan wildcard domain

查找真实IP(绕过CDN)

如果目标网站使用了CDN(内容分发网络),使用了cdn真实的ip会被隐藏,如果要查找真实的服务器就必须获取真实的ip,根据这个ip继续查询旁站。
注意:很多时候,主站虽然是用了CDN,但子域名可能没有使用CDN,如果主站和子域名在一个ip段中,那么找到子域名的真实ip也是一种途径。

旁站和C段

旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。

网站头信息收集

  1. 中间件 : Web服务【Web Servers】 apache iis7 iis7.5 iis8 nginx WebLogic tomcat
  2. 网站组件: js组件jquery、vue 页面的布局bootstrap通过浏览器获取
  3. Google And firefox 插件: Wappalyzer
  4. wooyun漏洞库 https://wooyun.website
  5. 网站注册信息 http://www.reg007.com/

指纹识别

EHole

1
2
3
4
5
6
7
8
┌──(root㉿kali)-[/home/kali]
└─# wget https://github.com/EdgeSecurityTeam/EHole/releases/download/v3.1/EHole_linux_amd64.zip
┌──(root㉿kali)-[/home/kali]
└─# unzip EHole_linux_amd64.zip
┌──(root㉿kali)-[/home/kali/EHole_linux_amd64]
└─# chmod +x EHole_linux_amd64
┌──(root㉿kali)-[/home/kali/EHole_linux_amd64]
└─# ./EHole_linux_amd64 finger -l ip.txt

cms识别

  • Google And firefox 插件: Wappalyzer

  • Kali:cmseek

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    ┌──(root㉿kali)-[/home/kali/]
    └─# cmseek -u https://www.xxx.com/
    ___ _ _ ____ ____ ____ _ _
    | |\/| [__ |___ |___ |_/ by @r3dhax0r
    |___ | | ___| |___ |___ | \_ Version 1.1.3 K-RONA


    [+] Deep Scan Results [+]

    ┏━Target: www.xxx.com

    ┠── CMS: WordPress
    ┃ │
    ┃ ├── Version: 5.6
    ┃ ╰── URL: https://wordpress.org

    ┠──[WordPress Deepscan]
    ┃ │
    ┃ ├── Readme file found: https://www.xxx.com//readme.html
    ┃ ├── License file: https://www.xxx.com//license.txt
    ┃ ├── User registration enabled: https://www.xxx.com//wp-login.php?action=register
    ┃ │
    ┃ ├── Plugins Enumerated: 5
    ┃ │ │
    ┃ │ ├── Plugin: page-links-to
    ┃ │ │ │
    ┃ │ │ ├── Version: 3.3.4
    ┃ │ │ ╰── URL: https://www.xxx.com//wp-content/plugins/page-links-to
    ┃ │ │
    ┃ │ ├── Plugin: wp-pagenavi
    ┃ │ │ │
    ┃ │ │ ├── Version: 2.70
    ┃ │ │ ╰── URL: https://www.xxx.com//wp-content/plugins/wp-pagenavi
    ┃ │ │
    ┃ │ ├── Plugin: download-manager
    ┃ │ │ │
    ┃ │ │ ├── Version: 5.6
    ┃ │ │ ╰── URL: https://www.xxx.com//wp-content/plugins/download-manager
    ┃ │ │
    ┃ │ ├── Plugin: buddypress
    ┃ │ │ │
    ┃ │ │ ├── Version: 6.3.0
    ┃ │ │ ╰── URL: https://www.xxx.com//wp-content/plugins/buddypress
    ┃ │ │
    ┃ │ ╰── Plugin: mailchimp-for-wp
    ┃ │ │
    ┃ │ ├── Version: 4.8.1
    ┃ │ ╰── URL: https://www.xxx.com//wp-content/plugins/mailchimp-for-wp
    ┃ │

    ┠── Result: /usr/share/cmseek/Result/www.xxx.com/cms.json

    ┗━Scan Completed in 29.8 Seconds, using 44 Requests
  • 云悉 http://www.yunsee.cn/

  • 潮汐指纹 http://finger.tidesec.net/

  • 御剑cms识别 https://github.com/ldbfpiaoran/cmscan

SSL/TLS证书查询

SSL/TLS证书通常包含域名、子域名和邮件地址等信息,结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息.

查找厂商ip段

常见端口

常见端口
端口服务漏洞
21/69ftp/tftp:文件传输协议1. 爆破
2. 嗅探溢出
3. 后门
4. 匿名访问
22SSH爆破、OpenSSH漏洞
23telnet:远程连接爆破、嗅探
25SMTP邮件服务弱口令、未授权访问、邮件伪造
53DNS:域名系统1. DNS区域传输
2. 劫持
3. 缓存投毒
4. 隧道技术穿透防火墙
80/443/8080Web1. 常见Web攻击
2. 控制台爆破
3. 对应服务器版本漏洞
80/8080Apache/Tomcat/Nginx/Axis21. 爆破:弱口令(爆破Tomcat manager后台)
2. HTTP慢速攻击:可以把服务器打死,对一些大型的网站有影响
3. 解析漏洞
80/81/443IIS1. PUT写文件:利用IIS漏洞,PUT方法直接将文件放置到服务器上
2. 短文件名泄露:这种一般没啥影响
3. 解析漏洞:详细见Apache服务
110POP3弱口令
123NTPntp放大攻击
137/139samba1. 爆破:弱口令
2. 未授权访问:给予Public用户高权限
3. 远程代码执行漏洞:CVE-2015-0240等等
143imap弱口令
161snmp爆破public弱口令
389ldap1. 注入攻击:盲注
2. 未授权访问
3. 爆破:弱口令
443Https心脏滴血
445SMB溢出漏洞
ms17-010
873rsync未授权访问
1080socket爆破:进行内网渗透
1098JavaRmi命令执行
1352Lotus1. 爆破:弱口令控制台(admin password)
2. 信息泄露:源代码
3. 跨站脚本攻击
1433MsSQL1. 爆破:使用系统用户登录
2. 注入攻击
1521Oracle弱口令
2049NFS未授权访问
2181Zookeeper未授权访问
2222DADA虚拟主机
2601Zebra默认密码
3128squid空口令
3306Mysql1. 爆破
2. 拒绝服务
3. 注入
3389Windows远程连接(RDP)1.爆破:3389端口爆破工具
2. Shift粘滞键后门
3. 3389漏洞攻击
4100SysBase弱口令
4440rundeck弱口令
4848glassfish1. 爆破:控制台弱口令
2. 认证绕过
5000sybase/DB21. 弱口令
2. 命令注入
5422/5432postgreSQL1. 缓冲区溢出
2. 注入攻击
3. 爆破:弱口令
5900VNC默认端口:5900+桌面ID(5901;5902)
攻击方式:
1. 爆破:弱口令
2. 认证口令绕过
3. 拒绝服务攻击(CVE-2015-5239)
4. 权限提升(CVE-2013-6886)
5984CouchDB命令执行
6082varnish未授权访问
6379redis1. 弱口令
2. 未授权访问
7001WebLogic1. 爆破:弱口令 用户名密码一致
2. Congsole后台部署Webshell
3. Java反序列化
4. SSRF嗅探内网
5. 命令执行
8000jdwp命令执行
8069zabbix命令执行
8080Apache/Tomcat/Ngin/Axis2/Jboss中间件1. 弱口令
2. 命令执行
8080Jboss默认端口8080
其他端口:1098/1099/444/4445/8080/8009/8083/8093
攻击方式:
1. 爆破:弱口令(爆破Jboss系统后台)
2. 远程代码执行
3. Java反序列化
8080GlassFish默认端口:http 8080
IIOP:3700
控制台4848
攻击方式:
1. 爆破:弱口令(对于控制台)
2. 任意文件读取
3. 认证绕过
8080Resin攻击方式:
1. 目录遍历
2. 远程文件读取
8080/8089Jenkins默认端口:8080、8089
攻击方式:
1. 爆破:弱口令(默认管理员)
2. 未授权访问
3. 反序列化漏洞
8080Jetty默认端口:8080
攻击方式:
1. 远程共享缓冲区溢出
8161activeMQ文件上传
8649ganglia1. 未授权访问
2. 信息泄露
8980OpenNMS反序列化漏洞
9080/9090WebSphere1. 弱口令
2. 反序列化
3. 文件泄露
4. 控制台爆破
9200/9300ElasticSearch1. 远程代码执行
2. 未授权访问
11211MemCache未授权访问
27017/27018MongoDB1. 爆破
2. 未授权访问
50000SAP命令执行
50010/50030/50070Hadoop1.未授权访问
2. 信息泄露
3. 命令执行

fofa、zoomeye、quake、sumap、hunter、shodan

介绍:

他们是一款非常强大的搜索引擎,网络空间资产检索系统是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信息,进行资产及漏洞影响范围分析、应用分布统计、应用流行度态势感知等。

公共字段

首先是大家都共有的字段搜索

字段名称 字段说明
title 网站标题
body 正文,或者说响应体
cert 证书内容
ip ip或ip段
port 端口
protocol 协议
server http headers里面的Server字段
base_protocol 传输层协议
os 系统
asn 自治域号码
status_code web状态码
icon_hash 图标hash
region 地区
app 应用指纹

FOFA基础语法

逻辑连接符 具体含义
= 匹配,=””时,可查询不存在字段或者值为空的情况
== 完全匹配,==””时,可查询存在且值为空的情况
&&
!= 不匹配,!=””时,可查询值为空的情况
~= 正则语法匹配专用(高级会员独有,不支持body)
() 确认查询优先级,括号内容优先级最高
  1. title网站标题

    1. title="beijing" 从标题中搜索“北京”
  2. body页面内容

    1. body可以通过页面中包含的特定字符串来搜索资产.body="网络空间测绘" 从html正文中搜索”网络空间测绘”
  3. domain域名

    1. domain="qq.com"搜索根域名带有qq.com的网站
  4. 实战-FOFA根据地区搜索

    1. country="CN"搜索指定国家(编码)的资产 region="Xinjiang"搜索指定行政区的资产

    2. city="bejing"搜索指定城市的资产

    3. 排除地区方法使用 != 例如在通过domain搜索资产的时候会有香港的服务器,那如何排除香港的服务器?domain="12306.cn" && region!="HK"

通过语法组合进行筛选,&&表示左右2个条件都需要满足,左边条件为包含12306.cn域名的资产,右边条件 则为地区不等于HK,HK表示香港。这样就能够帮我们定位到不包含香港服务器的资产。

通过组合条件使搜索更加精准

  1. (domain="12306.cn" && region!="HK") && body="12306"搜索12306.cn域名排除香港的资产列表,并且body中包含12306

  2. 实战-通过使用”FOFA规则列表”搜索CMS资产

搜索:CMS:WordPress

FOFA语法:**app=”wordpress” **这样全网使用”wordpress”的资产全部被搜索出来。

有时我们搜索产品的时候可能需要指定对应的版本号进行搜索,但是fofa内置的应用规则中绝大部分是不支持指定版本号进行搜索的,此时可以通过提取页面中的特征来进行定位

discuz论坛

现在确定Discuz! x3.4版本存在sql注入漏洞.

那如何定位Discuz! x3.4版本的资产呢?

在论坛首页中,查看源代码可以看到对应的版本信息。页面中的信息我们可以通过body参数检索。

构造搜索条件:app="Tencent-Discuz" && body="Discuz! X3.4"

搜索中国台湾地区所有的Discuz! X3.4论坛

app="Tencent-Discuz" && body="Discuz! X3.4"&& region="TW"

网络摄像头
  1. "JAWS" && icon_hash="90066852":这个JAWS的默认密码是 无密码 || 111111 || 666666 || 888888

  2. "DVRDVS-Webs"海康威视摄像头弱口令测试:超级用户:admin超级用户:123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 其他示例
#搜索HTTP响应头中含有“thinkphp”关键词的网站和IP
header="thinkphp"
#搜索页面标题中含有“后台管理”关键词的网站和IP
title="后台管理"
#搜索html正文中含有“管理后台”关键词的网站和IP
body="管理后台"
#搜索根域名中带有“itellyou.cn”的网站
domain="itellyou.cn"
#搜索域名中带有"login"关键词的网站
host="login"
#搜索开放3388端口并且位于中国的IP
port="3388" && country=CN
#搜索指定IP或IP段
ip="120.27.6.1/24"
ip="120.97.56.1"
#搜索同时开启3306端口、443端口和22端口的IP
ports="3306,443,22"

需要注意的是fofa语句不是一成不变的,同一个目标单位的查询关键词可能有好几个,同时在信息收集的过程中也可能发现新的关键词,比如备案号、传真、客服电话等,这些东西往往是唯一的。搜索别人没有搜的关键词就可能发现别人没发现的资产,就可能拿到别人没拿到的shell,需要灵活运用。

Google搜索引擎使用技巧

我们通常使用搜索引擎都是直接搜索自己想要的内容,正常情况下我们都是直接使用语言进行描述问题 来进行搜索,然后搜索引擎也有特定语法可以使用,熟练掌握搜索引擎的语法可以让你的搜索效率和准确率 大幅度提升,当然我们学习这种技巧是为了寻找存在漏洞的页面,或者存在敏感信息的文件

Google常用语法说明

内容 解析
site 指定域名
inurl URL中存在的关键字页面
intext 网页内容里面的关键字
Filetype 指定文件类型
intitle 网页标题中的关键字
link 返回你所有的指定域名链接
info 查找指定站点信息
cache 搜索Google里的内容缓存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 例子:
“xxxx”:将要搜索的关键字用引号括起来
(表示完全匹配,即关键词不能分开,顺序也不能变)
+: site:jiangjiyue.com +baidu.com # 搜索xxx与baidu.com相关的内容
-:site:jiangjiyue.com -baidu.com # 搜索结果里面去除baidu.com相关的内容

intext: xx # 查找网页中含有xx关键字的网站
例:
intext:管理员登录

intitle: xx # 查找某个标题
例:
intitle:后台登录

filetype:xx # 查找某个文件类型的文件
例:
filetype:doc

inurl:xx # 查找url中带有某字段的网站
例:
inurl:php?id=
?id=

site:xx # 在某域名中查找信息
例:
site www.jiangjiyue.com

例一

intitle:index.of .bash_history(linux历史命令)

.bash_history表示我们要筛选的文件名称,也可以替换成其他的敏感信息文件,该文件记录了用户的历史命令记录

例二

查找mysql的配置文件my.cnf

intitle:index.of my.cnf

例三

查找discuz论坛中存储mysql密码的配置文件:config_global.php

intitle:index.of config_global.php

例四

cache:12306.cn cache返回的结果是被搜索引擎收录时的页面,比如一些页面被删除了,我们通过cache还是可以访问。

例五

Kali filetype:torrentKali是我们要搜索的关键字,至于同学们关心什么奇怪的内容老师就不知道了。

filetype指定文件类型torrent文件类型名称,torrent是种子文件,可以填写任意扩展名。

例七

intext:user.sql intitle:index.of 组合使用技巧

intext:user.sql查询包含user.sql用户数据库信息的页面

intitle:index.of表示网站目录是开放状态. 我们可以看到有很多页面都包含了敏感信息

常见最新漏洞公布网站

Github信息泄露监控

1
2
# 如搜索包含 aliyuncs 和 password 的代码:
aliyuncs password

资产收集神器