渗透测试 | 信息收集常用方法总结

目录

一、关于域名

1.子域名收集

a.搜索引擎查找

b.在线查询

c.工具

d.SSL/TLS证书查询

2.端口型站点收集

3.目录文件扫描

a.目录扫描工具

b.github搜索

c.google搜索

d.在线网站

e.文件接口工具

4.旁站和C段

a.旁站查询

b.C段查询

5.网站技术架构信息

a.基础知识

b.网站头信息

6.CMS识别

二、关于IP

1.CDN

a.CDN检测

b.CDN绕过

2.主机发现

a.二层发现

b.三层发现

c.四层发现

3.操作系统识别

4.端口扫描

5.服务探测

a.SNMP服务

b.SMB服务

c.SMTP服务

6.其他识别

三、其他技术

1.搜索引擎

a.Google语法

b.Shodon语法

c.Fofa语法

2.whois查询

a.在线网站查询

b.反查邮箱

c.注册人反查

d.备案查询

3.隐藏域名hosts碰撞

四、参考文章


本文由掌控安全学院 - 杰斯  投稿

简述

几乎每一个学习渗透的安全人员,都会被告知,信息收集是渗透测试的本质,那事实果真如此嘛?答案是,是的!信息收集作为渗透测试的前期主要工作,说白了叫做确定目标,以达到制作渗透计划的目的,这是非常重要的,甚至有的时候,仅仅通过信息收集,就可以拿到目标的shell了。

其实信息收集也是有分类的:分为主动信息收集+被动信息收集。主动信息收集,说白了,就是直接访问、扫描网站,这种流量将流经网站,不可避免的留下了自己来过的痕迹;而被动信息收集呢,则是利用第三方的服务对目标进行访问了解,比如利用搜索引擎Google、Shodon等等。

收集的内容就有五花八门了,比如whois信息、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息等等,在我看来,收集的内容其实就两种:域名、IP。

一、关于域名
1.子域名收集
  • 收集子域名可以扩大渗透范围,获得更多有关目标公司的资产信息,同一域名下的二级域名都属于目标范围,表现形式:域名加前缀,例如:域名 zkaq.cn 加前缀,abc.zkaq.cn。

a.搜索引擎查找

  1. FOFA(https://fofa.so/) title="公司名称" ; domain="zkaq.cn"

  2. 百度(https://www.baidu.com/s):intitle=公司名称;site:zkaq.cn

  3. Google(https://www.google.com/):intitle=公司名称;site:zkaq.cn

  4. 钟馗之眼(https://www.zoomeye.org/) site=域名即可 ;hostname:baidu.com

  5. shodan(https://www.shodan.io/):hostname:"baidu.com"

  6. 360测绘空间(https://quake.360.cn/) :domain:"zkaq.cn"

b.在线查询

  1. 站长之家:http://tool.chinaz.com/

  2. 在线子域名查询:https://phpinfo.me/domain/

  3. 子域名扫描:https://www.t1h2ua.cn/tools/

  4. dnsdumpster:https://dnsdumpster.com/

  5. 查询网:https://site.ip138.com/

  6. 爱站:http://dns.aizhan.com

c.工具

  1. 1. 子域名挖掘机: 图形化的使用方式。

  2. 2. SubDomainBrute工具: python3 subDomainsBrute.py -t 10 zkaq.cn -f subnames_full.txt -o 111.txt

  3. 3. Sublist3r工具 python3 sublist3r -t 10 -b -d zkaq.cn

  4. 4. OneForALL工具:python3 oneforall.py --target zkaq.cn run

  5. 5. Wydomain工具:python wydomain.py -d zkaq.cn -o zkaq.txt

  6. 6. FuzzDomain工具: 图形化的使用方式。

d.SSL/TLS证书查询

  1. SSL/TLS安全评估报告:https://myssl.com

  2. crt.sh:https://crt.sh/

  3. SPYSE:https://spyse.com/tools/ssl-lookup

  4. censy:https://censys.io/

2.端口型站点收集
  • 收集端口型站点和收集子域名是一样的,都是扩大渗透范围,获得更多有关目标公司的资产信息,表现形式:域名后加【:端口号】,例如:域名 zkaq.cn 加后缀 zkaq.cn:8080。

渗透测试 | 信息收集常用方法总结_第1张图片

3.目录文件扫描
  • 目录扫描可以扫出来非常多重要的资源,比如目录型的站点,后台,敏感文件,比如.git文件泄露,.svn文件泄露,phpinfo泄露等等,表现形式:域名后加路径,例如:域名 zkaq.cn 加后缀 zkaq.cn/admin/admin.php。

渗透测试 | 信息收集常用方法总结_第2张图片

a.目录扫描工具

  1. 御剑工具:图形化的使用方式。

  2. 7kbstorm工具:图形化的使用方式。

  3. dirbuster工具:图形化的使用方式。

  4. dirmap工具:python3 dirmap.py -i https://bbs.zkaq.cn -lcf

  5. dirsearch工具:python3 dirsearch.py -u https://www.zkaq.cn -e php

  6. gobuster工具:gobuster dir -u "https://bbs.zkaq.cn" -w "/root/tools/DirBrute/dirmap/data/fuzz_mode_dir.txt" -n -e -q --wildcard

b.github搜索

  1. in:name huawei #仓库标题中含有关键字huawei

  2. in:descripton Huawei.com #仓库描述搜索含有关键字huawei

  3. in:readme huawei #Readme文件搜素含有关键字Huawei

  4. smtp 58.com password 3306 #搜索某些系统的密码

c.google搜索

  1. 密码搜索:

  2. site:Github.com sa password

  3. site:Github.com root password

  4. site:Github.com User ID='sa';Password

  5. site:Github.com inurl:sql

  6. SVN 信息收集

  7. site:Github.com svn

  8. site:Github.com svn username

  9. site:Github.com svn password

  10. site:Github.com svn username password

  11. 综合信息收集

  12. site:Github.com password

  13. site:Github.com ftp ftppassword

  14. site:Github.com 密码

  15. site:Github.com 内部

d.在线网站

  1. 乌云漏洞库:https://wooyun.website/

  2. 网盘搜索:

  3. 凌云搜索 https://www.lingfengyun.com/

  4. 盘搜搜:http://www.pansoso.com/

  5. 盘搜:http://www.pansou.com/

e.文件接口工具

1.jsfinder:https://gitee.com/kn1fes/JSFinder

2.Packer-Fuzzer: https://github.com/rtcatc/Packer-Fuzzer

3.SecretFinder:https://gitee.com/mucn/SecretFinder

4.旁站和C段
  • 旁站:同一个服务器内的站点。

  • C段:同网段,不同服务器内的站点

a.旁站查询

  1. 站长之家:http://stool.chinaz.com/same

  2. 在线:https://chapangzhan.com/

  3. 搜索引擎:fofa: ip="1.1.1.0/24"

b.C段查询

  1. 1. webscan:https://c.webscan.cc/

  2. 2. Nmap:

  3. 3. msscan:

5.网站技术架构信息
  • 了解网站的基础架构信息,能够帮助我们更有信心的去测试目标系统。

a.基础知识

  1. 只列出一些↓:

  2. 常见的脚本类型语言:asp、php、aspx、jsp、cgi等等

  3. 网站类型:电商(偏向于业务逻辑漏洞)、论坛(站点层漏洞、逻辑类漏洞)、门户类(综合类漏洞)等等

  4. 数据库:access、mysql、mssql、oracle、postsql等等

  5. 源码与数据库组合:asp+access、php+mysql、aspx+mssql、jsp+mssql、oracle、python+mongdb等等

  6. 除了这些外,还有加密的结构、目录结构、常见端口号及对应的服务等等这些都需要再进行了解。

b.网站头信息

  1. 1.F12 , 浏览器内获取查看

  2. 2.在线网站:http://whatweb.bugscaner.com/look/

  3. 3.插件:Wappalyzer

  4. 4. curl命令查询头信息:curl https://bbs.zkaq.cn -i

6.CMS识别
  • CMS可以说指的是网站的源码,如果能识别出一个网站使用的哪一种CMS的话,那么可以通过搜索引擎去发现相应的漏洞,若网站管理员没有处理的话,则可以直接突破站点。


  1. 1.云悉:https://www.yunsee.cn/

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

  3. 3.whatweb:http://whatweb.bugscaner.com/look/

  4. 4.github查找:https://github.com/search?q=cms识别

  5. 5.whatcms:whatweb bbs.zkaq.cn

  6. 6.cmsIdentification:python cmsIdentification.py https://bbs.zkaq.cn/


二、关于IP

1.CDN
  • CDN可以说是一种资源服务器,不仅可以加速网站访问,还可以提供waf服务,如防止cc攻击,SQL注入拦截等多种功能,除此之外,还可以隐藏服务器的真实IP,cdn服务会根据你所在的地区,选择合适的线路给予你访问,所以如何绕过CDN就十分重要了。

a.CDN检测

  1. 使用全球ping:不同的地区访问有着不同的IP,这样就确定了该域名使用了cdn了

  2. http://ping.chinaz.com/

  3. https://ping.aizhan.com/

  4. https://www.17ce.com/

b.CDN绕过
  • 绕过的核心还是hosts绑定,当发现ip后,可以尝试nc端口探测,也可以用nmap进行服务探测,如果像正常的服务器,就可以模糊确定是真实IP。若发现真实ip,可进行hosts绑定,绕过CDN的防御,直接发起渗透,也可以进行IP反查,通过反查的网站来渗透。


  1. 1. 国外dns获取真实IP:部分cdn只针对国内的ip访问,如果国外ip访问域名 即可获取真实IP。

  2. https://www.wepcc.com/

  3. http://www.ab173.com/dns/dns_world.php

  4. https://dnsdumpster.com/

  5. https://who.is/whois/zkaq.cn

  6. 2. DNS历史绑定记录

  7. https://dnsdb.io/zh-cn/ # DNS查询,查看A记录有哪些,需要会员。

  8. https://x.threatbook.cn/ # 微步在线,需要登录。

  9. https://viewdns.info/ # DNS、IP等查询。

  10. https://tools.ipip.net/cdn.php # CDN查询IP

  11. https://sitereport.netcraft.com/ # 记录网站的历史IP解析记录

  12. https://site.ip138.com/ # 记录网站的历史IP解析记录

  13. 3. 被动获取:让目标连接我们获得真实IP。比如网站有编辑器可以填写远程URL图片,或者有SSRF漏洞。

2.主机发现
a.二层发现
  • 主要利用arp协议,速度快,结果可靠,不过只能在同网段内的主机。


  1. arping工具:arping 192.168.1.2 -c 1

  2. nmap工具:192.168.1.1-254 –sn

  3. netdiscover -i eth0 -r 192.168.1.0/24

  4. scapy工具:sr1(ARP(pdst="192.168.1.2"))

b.三层发现
  • 主要利用ip、icmp协议,速度快但没有二层发现快,可以经过路由转发,理论上可以探测互联网上任意一台存活主机,但很容易被边界防火墙过滤。


  1. ping工具:ping 192.168.1.2 –c 2

  2. fping工具:fping 192.168.1.2 -c 1

  3. Hping3工具:hping3 192.168.1.2 --icmp -c 2

  4. Scapy工具:sr1(IP(dst="192.168.1.2")/ICMP())

  5. nmap工具:nmap -sn 192.168.1.1-255

c.四层发现
  • 主要利用tcp、udp协议,速度比较慢,但是结果可靠,可以发现所有端口都被过滤的存活主机,不太容易被防火墙过滤。


  1. Scapy工具:

  2. sr1(IP(dst="192.168.1.2")/TCP(dport=80,flags='A') ,timeout=1)) #tcp发现

  3. sr1(IP(dst="192.168.1.2")/UDP(dport=33333),timeout=1,verbose=1) #udp发现

  4. nmap工具:

  5. nmap 192.168.1.1-254 -PA80 –sn #tcp发现

  6. nmap 192.168.1.1-254 -PU53 -sn #udp发现

  7. hping3工具:

  8. hping3 192.168.1.1 -c 1 #tcp发现

  9. hping3 --udp 192.168.1.1 -c 1 #udp发现

3.操作系统识别
  • 知道目标存活主机的操作系统后,可以依据操作系统来实施针对性的渗透测试。


  1. 1.TTL值:Windows(65~128),Linux/Unix(1-64),某些Unix(255)

  2. 2.nmap工具:nmap 192.168.1.1 -O

  3. 3.xprobe2工具:xprobe2 192.168.1.1

  4. 4.p0f工具:使用后,直接访问目标即可

4.端口扫描
  • 端口探测可以发现目标服务器上开启的网络服务以及应用程序,这些都是更具体的一些攻击面。

渗透测试 | 信息收集常用方法总结_第3张图片


  1. scapy工具:

  2. sr1(IP(dst="192.168.1.1")/UDP(dport=53),timeout=1,verbose=1) # UDP端口扫描

  3. sr1(IP(dst="192.168.1.1")/TCP(dport=80),timeout=1,verbose=1) # TCP端口扫描

  4. nmap工具:

  5. nmap -sU 192.168.1.1 -p 53 # UDP端口扫描

  6. nmap -sS 192.168.1.1 -p 80 # 半连接tcp扫描

  7. nmap -sT 192.168.1.1 -p 80 # 全连接TCP扫描

  8. nmap 192.168.1.1 -sI 192.168.1.2 -Pn -p 0-100 # 僵尸扫描

  9. dmitry工具:dmitry -p 192.168.1.1

  10. nc工具:nc -nv -w 1 -z 192.168.1.1 1-100

  11. hping3工具:hping3 192.168.1.1 --scan 0-65535 -S

5.服务探测

  1. nc工具:nc -nv 192.168.1.1 22

  2. dmitry工具:dmitry -pb 192.168.1.1

  3. nmap工具:

  4. nmap -sT 192.168.1.1 -p 22 --script=banner

  5. nmap 192.168.1.1 -p 80 -sV

  6. amap工具:

  7. amap -B 192.168.1.1 1-65535 | grep on

  8. amap 192.168.1.1 20-30 -qb

a.SNMP服务
  • SNMP是简单网络管理协议,由于经常被管理员错误配置,导致很容易造成系统的信息泄露,可以说是“信息的金矿”。


  1. onesixtyone工具:onesixtyone 192.168.1.1 public

  2. snmpwalk工具:snmpwalk 192.168.1.1 -c public -v 2c

  3. snmpcheck工具:snmpcheck -t 192.168.1.1 -c private -v 2

b.SMB服务
  • smb是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。默认开放,实现复杂,实现文件共享,这也是微软历史上出现安全问题最多的一个协议。


  1. nmap工具:nmap -v -p139,445 --script=smb-check-vulns --script-args=unsafe=1 192.168.1.1

  2. nbtscan工具:-r 192.168.1.0/24

  3. enum4linux工具:enum4linux -a 192.168.1.1

c.SMTP服务
  • SMTP是一种提供可靠且有效的电子邮件传输的协议。如果能发现目标系统的邮箱账号,那么可以进行相关的攻击,比如钓鱼等。


  1. nc工具:nc -nv 192.168.1.1 25

  2. nmap工具:nmap smtp.163.com -p25 --script=smtp-open-relay.nse

  3. smtp-user-enum工具:smtp-user-enum -M VRFY -U users.txt -t 192.168.1.1

6.其他识别
  • 一些杂项识别,总之,信息收集就是收集有关目标系统的一切。


  1. 防火墙识别:nmap -sA 172.16.36.135 -p 22

  2. 负载均衡识别:lbd bbs.zkaq.cn

  3. WAF识别:nmap bbs.zkaq.cn --script=http-waf-detect.nse


三、其他技术

1.搜索引擎
a.Google语法

  1. +充值 -支付:+代表必须带关键字,-代表必须减去关键字

  2. “充值 支付”:双引号内的内容,进行一个整体搜索

  3. inurl:?id:URL中必须带?id

  4. intitle:充值:网站标题中必须有充值

  5. intext:充值:网站正文中必须有充值

  6. filetype:pdf:找pdf文件

b.Shodon语法

  1. Net:8.8.8.8 # 查询ip的相关的主机信息,也可以直接搜网段

  2. City:Beijing # 查询城市为北京的设置

  3. Country:CN # 查询属于中国的设备 。CN中国

  4. Port:80 # 查询指定开放端口的设备。

  5. Os:windows # 指定操作系统

  6. Hostname:baidu.com # 搜索主机或域名为baidu.com的主机或设备

  7. Server:Apache # 指定中间件

c.Fofa语法

  1. 1、同IP旁站:ip="192.168.0.1“

  2. 2、C段:ip="192.168.0.0/24“

  3. 3、子域名:domain="baidu.com“

  4. 4、标题/关键字:title="百度“

  5. 5、如果需要将结果缩小到某个城市的范围,那么可以拼接语句

  6. title="百度"&& region="Beijing“

  7. 6.特征:body="百度"或header="baidu"

2.whois查询
  • 注册域名的时候留下的信息。比如域名注册人的邮箱、电话号码、姓名等。根据这些信息可以尝试制作社工密码,或者查出更多的资产等等,也可以反查注册人,邮箱,电话,机构及更多的域名。

a.在线网站查询

  1. 站长之家域名WHOIS信息查询地址:http://whois.chinaz.com/

  2. 爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/

  3. 腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/

  4. 美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/

  5. 爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/

  6. 易名网域名WHOIS信息查询地址 https://whois.ename.net/

  7. 中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/

  8. 西部数码域名WHOIS信息查询地址 https://whois.west.cn/

  9. 新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp

  10. 纳网域名WHOIS信息查询地址 http://whois.nawang.cn/

b.反查邮箱

  1. 福人:https://bbs.fobshanghai.com/checkemail.html

  2. whois反查:https://www.benmi.com/rwhois

  3. 站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1

c.注册人反查

  1. 注册人查询:www.reg007.com

  2. 站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1

d.备案查询

  1. 天眼查 https://www.tianyancha.com/

  2. 爱站备案查询https://icp.aizhan.com/

  3. 域名助手备案信息查询 http://cha.fute.com/index

  4. 站长工具:http://icp.chinaz.com/

3.隐藏域名hosts碰撞
  • 一般来说,通过ip直接访问目标,要比通过域名来访问目标网站,得到的信息会更多。但如果域名绑定过多个ip的话,管理员出现配置上的失误,是会导致一些敏感信息泄露的,那么这种情况就可以通过域名+ip捆绑的形式进行碰撞,收集目标公司资产的域名以及解析过的所有ip,将他们一对多的形式进行碰撞,能发现一些很有意思的东西出现。

hosts碰撞参考文章:https://mp.weixin.qq.com/s/fuASZODw1rLvgT7GySMC8Q


四、参考文章

常见Web源码泄露总结:https://www.secpulse.com/archives/55286.html

github 关键词监控:https://www.codercto.com/a/46640.html

利用GitHub搜索敏感信息:http://www.361way.com/github-hack/6284.html

Github 泄露扫描系统:https://www.oschina.net/p/x-patrol?hmsr=aladdin1e1

监控github代码库:https://github.com/0xbug/Hawkeye

Goby工具:https://blog.csdn.net/Alexhcf/article/details/105109362

cms识别工具cmsIdentification:https://github.com/theLSA/cmsIdentification/

申明:本文所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

你可能感兴趣的:(技术干货,内网渗透,安全)