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

目录

一、关于域名

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
3.目录文件扫描
  • 目录扫描可以扫出来非常多重要的资源,比如目录型的站点,后台,敏感文件,比如.git文件泄露,.svn文件泄露,phpinfo泄露等等,表现形式:域名后加路径,例如:域名 zkaq.cn 加后缀 zkaq.cn/admin/admin.php。
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.端口扫描
  • 端口探测可以发现目标服务器上开启的网络服务以及应用程序,这些都是更具体的一些攻击面。
复制代码
  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/

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

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

相关推荐
.Ayang41 分钟前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
Hacker_Oldv1 小时前
开放性实验——网络安全渗透测试
安全·web安全
Rverdoser3 小时前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb
速盾cdn3 小时前
速盾:CDN缓存的工作原理是什么?
网络·安全·web安全
IPFoxy6664 小时前
跨境出海安全:如何防止PayPal账户被风控?
安全
龙信科技4 小时前
【电子物证培训】龙信助力三明市公安局电子物证取证竞赛
安全
zhd15306915625ff4 小时前
库卡机器人维护需要注意哪些事项
安全·机器人·自动化
安全二次方security²5 小时前
ARM CCA机密计算安全模型之概述
安全·安全模型·cca·机密计算·领域管理扩展·arm-v9·平台安全服务
黑客Ela5 小时前
网络安全中常用浏览器插件、拓展
网络·安全·web安全·网络安全·php