渗透测试 | 信息收集常用方法总结
目录
本文由掌控安全学院?-?杰斯??投稿
简述
几乎每一个学习渗透的安全人员,都会被告知,信息收集是渗透测试的本质,那事实果真如此嘛?答案是,是的!信息收集作为渗透测试的前期主要工作,说白了叫做确定目标,以达到制作渗透计划的目的,这是非常重要的,甚至有的时候,仅仅通过信息收集,就可以拿到目标的shell了。
其实信息收集也是有分类的:分为主动信息收集+被动信息收集。主动信息收集,说白了,就是直接访问、扫描网站,这种流量将流经网站,不可避免的留下了自己来过的痕迹;而被动信息收集呢,则是利用第三方的服务对目标进行访问了解,比如利用搜索引擎Google、Shodon等等。
收集的内容就有五花八门了,比如whois信息、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息等等,在我看来,收集的内容其实就两种:域名、IP。
一、关于域名
1.子域名收集
-
收集子域名可以扩大渗透范围,获得更多有关目标公司的资产信息,同一域名下的二级域名都属于目标范围,表现形式:域名加前缀,例如:域名 zkaq.cn 加前缀,abc.zkaq.cn。
a.搜索引擎查找
-
FOFA(https://fofa.so/) title="公司名称" ; domain="zkaq.cn"
-
百度(https://www.baidu.com/s):intitle=公司名称;site:zkaq.cn
-
Google(https://www.google.com/):intitle=公司名称;site:zkaq.cn
-
钟馗之眼(https://www.zoomeye.org/) site=域名即可 ;hostname:baidu.com
-
shodan(https://www.shodan.io/):hostname:"baidu.com"
-
360测绘空间(https://quake.360.cn/) :domain:"zkaq.cn"
b.在线查询
-
站长之家:http://tool.chinaz.com/
-
在线子域名查询:https://phpinfo.me/domain/
-
子域名扫描:https://www.t1h2ua.cn/tools/
-
dnsdumpster:https://dnsdumpster.com/
-
查询网:https://site.ip138.com/
-
爱站:http://dns.aizhan.com
c.工具
-
1. 子域名挖掘机: 图形化的使用方式。
-
2. SubDomainBrute工具: python3 subDomainsBrute.py -t 10 zkaq.cn -f subnames_full.txt -o 111.txt
-
3. Sublist3r工具 python3 sublist3r -t 10 -b -d zkaq.cn
-
4. OneForALL工具:python3 oneforall.py --target zkaq.cn run
-
5. Wydomain工具:python wydomain.py -d zkaq.cn -o zkaq.txt
-
6. FuzzDomain工具: 图形化的使用方式。
d.SSL/TLS证书查询
-
SSL/TLS安全评估报告:https://myssl.com
-
crt.sh:https://crt.sh/
-
SPYSE:https://spyse.com/tools/ssl-lookup
-
censy:https://censys.io/
2.端口型站点收集
-
收集端口型站点和收集子域名是一样的,都是扩大渗透范围,获得更多有关目标公司的资产信息,表现形式:域名后加【:端口号】,例如:域名 zkaq.cn 加后缀 zkaq.cn:8080。
3.目录文件扫描
-
目录扫描可以扫出来非常多重要的资源,比如目录型的站点,后台,敏感文件,比如.git文件泄露,.svn文件泄露,phpinfo泄露等等,表现形式:域名后加路径,例如:域名 zkaq.cn 加后缀 zkaq.cn/admin/admin.php。
a.目录扫描工具
-
御剑工具:图形化的使用方式。
-
7kbstorm工具:图形化的使用方式。
-
dirbuster工具:图形化的使用方式。
-
dirmap工具:python3 dirmap.py -i https://bbs.zkaq.cn -lcf
-
dirsearch工具:python3 dirsearch.py -u https://www.zkaq.cn -e php
-
gobuster工具:gobuster dir -u "https://bbs.zkaq.cn" -w "/root/tools/DirBrute/dirmap/data/fuzz_mode_dir.txt" -n -e -q --wildcard
b.github搜索
-
in:name huawei #仓库标题中含有关键字huawei
-
in:descripton Huawei.com #仓库描述搜索含有关键字huawei
-
in:readme huawei #Readme文件搜素含有关键字Huawei
-
smtp 58.com password 3306 #搜索某些系统的密码
c.google搜索
-
密码搜索:
-
site:Github.com sa password
-
site:Github.com root password
-
site:Github.com User ID='sa';Password
-
site:Github.com inurl:sql
-
SVN 信息收集
-
site:Github.com svn
-
site:Github.com svn username
-
site:Github.com svn password
-
site:Github.com svn username password
-
综合信息收集
-
site:Github.com password
-
site:Github.com ftp ftppassword
-
site:Github.com 密码
-
site:Github.com 内部
d.在线网站
-
乌云漏洞库:https://wooyun.website/
-
网盘搜索:
-
凌云搜索 https://www.lingfengyun.com/
-
盘搜搜:http://www.pansoso.com/
-
盘搜: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.旁站查询
-
站长之家:http://stool.chinaz.com/same
-
在线:https://chapangzhan.com/
-
搜索引擎:fofa: ip="1.1.1.0/24"
b.C段查询
-
1. webscan:https://c.webscan.cc/
-
2. Nmap:
-
3. msscan:
5.网站技术架构信息
-
了解网站的基础架构信息,能够帮助我们更有信心的去测试目标系统。
a.基础知识
-
只列出一些↓:
-
常见的脚本类型语言:asp、php、aspx、jsp、cgi等等
-
网站类型:电商(偏向于业务逻辑漏洞)、论坛(站点层漏洞、逻辑类漏洞)、门户类(综合类漏洞)等等
-
数据库:access、mysql、mssql、oracle、postsql等等
-
源码与数据库组合:asp+access、php+mysql、aspx+mssql、jsp+mssql、oracle、python+mongdb等等
-
除了这些外,还有加密的结构、目录结构、常见端口号及对应的服务等等这些都需要再进行了解。
b.网站头信息
-
1.F12 , 浏览器内获取查看
-
2.在线网站:http://whatweb.bugscaner.com/look/
-
3.插件:Wappalyzer
-
4. curl命令查询头信息:curl https://bbs.zkaq.cn -i
6.CMS识别
-
CMS可以说指的是网站的源码,如果能识别出一个网站使用的哪一种CMS的话,那么可以通过搜索引擎去发现相应的漏洞,若网站管理员没有处理的话,则可以直接突破站点。
-
1.云悉:https://www.yunsee.cn/
-
2.潮汐指纹:http://finger.tidesec.net/
-
3.whatweb:http://whatweb.bugscaner.com/look/
-
4.github查找:https://github.com/search?q=cms识别
-
5.whatcms:whatweb bbs.zkaq.cn
-
6.cmsIdentification:python cmsIdentification.py https://bbs.zkaq.cn/
二、关于IP
1.CDN
-
CDN可以说是一种资源服务器,不仅可以加速网站访问,还可以提供waf服务,如防止cc攻击,SQL注入拦截等多种功能,除此之外,还可以隐藏服务器的真实IP,cdn服务会根据你所在的地区,选择合适的线路给予你访问,所以如何绕过CDN就十分重要了。
a.CDN检测
-
使用全球ping:不同的地区访问有着不同的IP,这样就确定了该域名使用了cdn了
-
http://ping.chinaz.com/
-
https://ping.aizhan.com/
-
https://www.17ce.com/
b.CDN绕过
-
绕过的核心还是hosts绑定,当发现ip后,可以尝试nc端口探测,也可以用nmap进行服务探测,如果像正常的服务器,就可以模糊确定是真实IP。若发现真实ip,可进行hosts绑定,绕过CDN的防御,直接发起渗透,也可以进行IP反查,通过反查的网站来渗透。
-
1. 国外dns获取真实IP:部分cdn只针对国内的ip访问,如果国外ip访问域名 即可获取真实IP。
-
https://www.wepcc.com/
-
http://www.ab173.com/dns/dns_world.php
-
https://dnsdumpster.com/
-
https://who.is/whois/zkaq.cn
-
2. DNS历史绑定记录
-
https://dnsdb.io/zh-cn/ # DNS查询,查看A记录有哪些,需要会员。
-
https://x.threatbook.cn/ # 微步在线,需要登录。
-
https://viewdns.info/ # DNS、IP等查询。
-
https://tools.ipip.net/cdn.php # CDN查询IP
-
https://sitereport.netcraft.com/ # 记录网站的历史IP解析记录
-
https://site.ip138.com/ # 记录网站的历史IP解析记录
-
3. 被动获取:让目标连接我们获得真实IP。比如网站有编辑器可以填写远程URL图片,或者有SSRF漏洞。
2.主机发现
a.二层发现
-
主要利用arp协议,速度快,结果可靠,不过只能在同网段内的主机。
-
arping工具:arping 192.168.1.2 -c 1
-
nmap工具:192.168.1.1-254 –sn
-
netdiscover -i eth0 -r 192.168.1.0/24
-
scapy工具:sr1(ARP(pdst="192.168.1.2"))
b.三层发现
-
主要利用ip、icmp协议,速度快但没有二层发现快,可以经过路由转发,理论上可以探测互联网上任意一台存活主机,但很容易被边界防火墙过滤。
-
ping工具:ping 192.168.1.2 –c 2
-
fping工具:fping 192.168.1.2 -c 1
-
Hping3工具:hping3 192.168.1.2 --icmp -c 2
-
Scapy工具:sr1(IP(dst="192.168.1.2")/ICMP())
-
nmap工具:nmap -sn 192.168.1.1-255
c.四层发现
-
主要利用tcp、udp协议,速度比较慢,但是结果可靠,可以发现所有端口都被过滤的存活主机,不太容易被防火墙过滤。
-
Scapy工具:
-
sr1(IP(dst="192.168.1.2")/TCP(dport=80,flags='A') ,timeout=1)) #tcp发现
-
sr1(IP(dst="192.168.1.2")/UDP(dport=33333),timeout=1,verbose=1) #udp发现
-
nmap工具:
-
nmap 192.168.1.1-254 -PA80 –sn #tcp发现
-
nmap 192.168.1.1-254 -PU53 -sn #udp发现
-
hping3工具:
-
hping3 192.168.1.1 -c 1 #tcp发现
-
hping3 --udp 192.168.1.1 -c 1 #udp发现
3.操作系统识别
-
知道目标存活主机的操作系统后,可以依据操作系统来实施针对性的渗透测试。
-
1.TTL值:Windows(65~128),Linux/Unix(1-64),某些Unix(255)
-
2.nmap工具:nmap 192.168.1.1 -O
-
3.xprobe2工具:xprobe2 192.168.1.1
-
4.p0f工具:使用后,直接访问目标即可
4.端口扫描
-
端口探测可以发现目标服务器上开启的网络服务以及应用程序,这些都是更具体的一些攻击面。
-
scapy工具:
-
sr1(IP(dst="192.168.1.1")/UDP(dport=53),timeout=1,verbose=1) # UDP端口扫描
-
sr1(IP(dst="192.168.1.1")/TCP(dport=80),timeout=1,verbose=1) # TCP端口扫描
-
nmap工具:
-
nmap -sU 192.168.1.1 -p 53 # UDP端口扫描
-
nmap -sS 192.168.1.1 -p 80 # 半连接tcp扫描
-
nmap -sT 192.168.1.1 -p 80 # 全连接TCP扫描
-
nmap 192.168.1.1 -sI 192.168.1.2 -Pn -p 0-100 # 僵尸扫描
-
dmitry工具:dmitry -p 192.168.1.1
-
nc工具:nc -nv -w 1 -z 192.168.1.1 1-100
-
hping3工具:hping3 192.168.1.1 --scan 0-65535 -S
5.服务探测
-
nc工具:nc -nv 192.168.1.1 22
-
dmitry工具:dmitry -pb 192.168.1.1
-
nmap工具:
-
nmap -sT 192.168.1.1 -p 22 --script=banner
-
nmap 192.168.1.1 -p 80 -sV
-
amap工具:
-
amap -B 192.168.1.1 1-65535 | grep on
-
amap 192.168.1.1 20-30 -qb
a.SNMP服务
-
SNMP是简单网络管理协议,由于经常被管理员错误配置,导致很容易造成系统的信息泄露,可以说是“信息的金矿”。
-
onesixtyone工具:onesixtyone 192.168.1.1 public
-
snmpwalk工具:snmpwalk 192.168.1.1 -c public -v 2c
-
snmpcheck工具:snmpcheck -t 192.168.1.1 -c private -v 2
b.SMB服务
-
smb是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。默认开放,实现复杂,实现文件共享,这也是微软历史上出现安全问题最多的一个协议。
-
nmap工具:nmap -v -p139,445 --script=smb-check-vulns --script-args=unsafe=1 192.168.1.1
-
nbtscan工具:-r 192.168.1.0/24
-
enum4linux工具:enum4linux -a 192.168.1.1
c.SMTP服务
-
SMTP是一种提供可靠且有效的电子邮件传输的协议。如果能发现目标系统的邮箱账号,那么可以进行相关的攻击,比如钓鱼等。
-
nc工具:nc -nv 192.168.1.1 25
-
nmap工具:nmap smtp.163.com -p25 --script=smtp-open-relay.nse
-
smtp-user-enum工具:smtp-user-enum -M VRFY -U users.txt -t 192.168.1.1
6.其他识别
-
一些杂项识别,总之,信息收集就是收集有关目标系统的一切。
-
防火墙识别:nmap -sA 172.16.36.135 -p 22
-
负载均衡识别:lbd bbs.zkaq.cn
-
WAF识别:nmap bbs.zkaq.cn --script=http-waf-detect.nse
三、其他技术
1.搜索引擎
a.Google语法
-
+充值 -支付:+代表必须带关键字,-代表必须减去关键字
-
“充值 支付”:双引号内的内容,进行一个整体搜索
-
inurl:?id:URL中必须带?id
-
intitle:充值:网站标题中必须有充值
-
intext:充值:网站正文中必须有充值
-
filetype:pdf:找pdf文件
b.Shodon语法
-
Net:8.8.8.8 # 查询ip的相关的主机信息,也可以直接搜网段
-
City:Beijing # 查询城市为北京的设置
-
Country:CN # 查询属于中国的设备 。CN中国
-
Port:80 # 查询指定开放端口的设备。
-
Os:windows # 指定操作系统
-
Hostname:baidu.com # 搜索主机或域名为baidu.com的主机或设备
-
Server:Apache # 指定中间件
c.Fofa语法
-
1、同IP旁站:ip="192.168.0.1“
-
2、C段:ip="192.168.0.0/24“
-
3、子域名:domain="baidu.com“
-
4、标题/关键字:title="百度“
-
5、如果需要将结果缩小到某个城市的范围,那么可以拼接语句
-
title="百度"&& region="Beijing“
-
6.特征:body="百度"或header="baidu"
2.whois查询
-
注册域名的时候留下的信息。比如域名注册人的邮箱、电话号码、姓名等。根据这些信息可以尝试制作社工密码,或者查出更多的资产等等,也可以反查注册人,邮箱,电话,机构及更多的域名。
a.在线网站查询
-
站长之家域名WHOIS信息查询地址:http://whois.chinaz.com/
-
爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/
-
腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/
-
美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/
-
爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/
-
易名网域名WHOIS信息查询地址 https://whois.ename.net/
-
中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/
-
西部数码域名WHOIS信息查询地址 https://whois.west.cn/
-
新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp
-
纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
b.反查邮箱
-
福人:https://bbs.fobshanghai.com/checkemail.html
-
whois反查:https://www.benmi.com/rwhois
-
站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1
c.注册人反查
-
注册人查询:www.reg007.com
-
站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1
d.备案查询
-
天眼查 https://www.tianyancha.com/
-
爱站备案查询https://icp.aizhan.com/
-
域名助手备案信息查询 http://cha.fute.com/index
-
站长工具: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/
申明:本文所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!