信息搜集指南
信息搜集
信息搜集大致可分为两部分,被动信息搜集和主动信息搜集,主要需要搜集目标的组织架构,资产信息和人员信息等,一次好的信息搜集是渗透测试成功的必备基础
被动信息搜集
被动信息搜集又称开源情报,是指能在网上使用各种开放的被动的方法来进行的信息搜集,比如whois查询,dns解析查询,子域名证书查询,icp备案查询等等,这类搜集往往是正常的交互,目标几乎不会有感知
组织架构信息
我们可以使用小蓝本,天眼查,企查查等平台来查询目标的相关组织架构,资产要精确定位,如子公司,孙公司,一般选择控股占比%50以上的单位,并要确认是否目标单位确认资产
这里使用企查查的股权穿透图,可以看到这家公司的组织架构情况,可以看到,这家公司完全由一个股东掌握,旗下没有子公司和其他组织架构:
在天眼查和爱企查上得到了相同的结果,可以基本确定这个企业只有这一家公司
同时我们还可以获得人员的一些相关信息,比如老板的姓名,电话,邮箱,公司的官网等,为下一步的资产搜集和钓鱼做准备
还可进入官网,搜集相关的电话和联系方式,结合这些信息和SGK工具,基本能得到一些人员的个人敏感信息,接下来可以检查以下这些信息,筛选处有效的供下面的流程使用
资产搜集
来到了比较重要的部分,在这里我们开始搜集暴露在公网上可以被访问到的服务器等资产,这些资产,这些资产的质量参差不齐,需要我们筛选
绕过CDN
有的网站可能会做cdn防护,将自己的真实ip隐藏起来,我们可以通过一些方法绕过cdn来获取真实ip
1.邮箱地址,如果目标有类似验证码等邮件服务,可以通过查看邮件的源ip来发现真实ip,因为邮件服务器一般不上cdn
2.phpinfo文件,phpinfo文件的server_addr字段中可能写有真实的ip地址,测试过程中可以尝试获取这个文件
3.分站和子域名,有些网站会用cdn来保护主站,但是没有保护分站
4.国外访问获取真实ip地址,有些网站会针对国内ip进行防护,所以使用国外ip访问可以获取真实ip
5.域名历史解析记录,有些网站可能之前没有上cdn,解析记录了之前的真实ip
6.有的网站有app,app里的请求可能是真实ip
whois
使用kali查询其官网相关信息(也可以用在线的),不过自从新的政策出台后,whois的数据变少了,现在的whois比较鸡肋:
Wayback Machine网页快照
https://web.archive.org/
需要科学上网,可以查看这个域名以前的网页的一些信息
DNS记录查询
网站的综合查询建议使用爱站网,站长之家这些
我们尝试DNS记录查询,看看域名对应了什么主机,同时也可以根据ip地址反查解析的域名,看看同一台服务器上是否还运行着其他可能较弱的站点,dns查询的平台网上有很多,这里不赘述
我们可以使用nslookup命令:
也可以用在线网站:
https://www.itdog.cn/dns/
效果不错,分别访问解析到的两个ip,发现都运行着公司官网,而且是阿里云服务器,看来是有效资产
SpiderFoot
https://github.com/smicallef/spiderfoot
一款开源自动自动化信息搜集工具,集成了dns解析,端口扫描,资产搜集等功能,我们来试一下
可以看到,这款工具甚至为我们制作了一个图表,能够快速的梳理资产分布:
美中不足的时,工具对一些无关紧要的域名等信息也做了搜集,导致数据多而杂,需要人工去提取,不过我们也发现了一个之前没有发现的邮箱,还有一个www.ylxweb.cn
的域名及其ip,访问发现跟www.ylxweb.com
有着相同内容,这下可以确定三个ip的资产了
同时,这个工具发现了很多端口,需要进一步排查是否误报,至于报告中的C段,考虑到这是一个小公司,并且已经获取了三个有效资产的ip,姑且视为无效信息
空间测绘引擎
我们可以通过查找一些共性的特征来找资产,比如同一个icon的站点等等
FOFA
使用语法分别搜索ylxweb.com和ylxweb.cn:
domain="ylxweb.com" && country="CN" && region!="HK" && region!="TW" && region!="MO"
# 搜索中国大陆域名为ylxweb.com的资产
"亿路航" && country="CN" && region!="HK" && region!="TW" && region!="MO" && (title="登录" || title="系统" || title="后台" || title="平台" || title="管理" || title="入口")
# 搜索亿路航相关信息
找到有趣的资产:
还有数个子域名或子站点:
120.76.52.201 nginx
120.76.52.201:8080
api.ylxweb.com Kaede/3.5.3.865 120.24.174.159
nb.api.ylxweb.com Kaede/3.5.3.865 120.24.174.159
https://nb.api.ylxweb.com
https://api.ylxweb.com
static.ylxweb.com Tengine 121.207.229.250
https://static.ylxweb.com
test.ylxweb.com:3306 119.23.146.168
Mysql Version: 5.7.24-log
N\x00\x00\x00
5.7.24-log\x00\xf6\x1a\x00\x00OnJe\x0e kj\x00\xff\xf7-\x02\x00\xff\x81\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00{AXj8|\x0e}("\x05q\x00mysql_native_password\x00
https://mail.ylxweb.com 183.47.114.101 nginx
https://treayoung.ylxweb.cn
https://tbsdev.ylxweb.cn
Hunter
发现数个站点:
使用语法:
domain="ylxweb.com" && ip.country="CN"
web.body="亿路航"&&ip.country="CN"
hdcx.66239779.com nginx1.19.6 39.108.69.220 登录界面
work.ylxweb.com
sfc.ylxweb.com:9092
cd.ylxweb.cn
sfc.ylxweb.com:9093
sfc.ylxweb.com:9094
sfc.ylxweb.com:9091 #nginx1.9.9
发现sfc.ylxweb.com有不同的情况
360 QUAKE
同样使用了上文的语法,发现以下可疑站点:
test.ylxweb.com:9094
test.ylxweb.com:9093
test.ylxweb.com:9092
test.ylxweb.com:9091 #nginx1.9.9
wxkfpt.ylxweb.com
sfc.api.ylxweb.com
wxkfpt.te.ylxweb.com
tbs.ylxweb.cn 登录口
m.ylxweb.cn
还能看到貌似是使用了阿里云的Tengine和nginx1.9.9,特别是tbs.ylxweb.cn这个站,是一个登录口,跟主站的运营业务相关,有趣的是tbs.ylxweb.cn也开启了9091-9094端口,也是返回的ok
钟馗之眼
https://www.zoomeye.org/
居然还活着,好久没用了,但是没搜出来什么,略
Shodan
https://www.shodan.io
这个搜国外的可能会好点,以前常用,也没搜出来什么,略
censys
https://search.censys.io/
小众平台,适合海外
Google Hacking
Google Hacking常用语法:
查找后台地址:
site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms
查找文本内容:
site:域名 intext:管理|后台|登录|用户名|密码|验证码|系统|账号|admin|login|sys|managetem|password|username
查找可注入点:
site:域名 inurl:aspx|jsp|php|asp
查找上传漏洞:
site:域名 inurl:file|load|editor|Files
查找敏感文件
site:gdupt.edu.cn filetype:doc|pdf|docx|csv|xls|xlsx|xlsb|xlsm|txt|log|xml|dot|map|dotx|rtf|zip|rar|gz|xz|tar
找eweb编辑器:
site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit
存在的数据库:
site:域名 filetype:mdb|asp|#
查看脚本类型:
site:域名 filetype:asp|aspx|php|jsp
迂回策略入侵:
site:域名 inurl:cms|data|templates|images|index|
查了一下,没有什么成果
证书反查子域名
还可以通过这个网站来查看证书注册相关信息,查找子域名和未暴露资产(使用同一证书的即为同一公司或机构):
https://crt.sh
发现几个新的域名
tbsdev.ylxweb.cn
gitlab.ylxweb.cn
illkx.ylxweb.cn
treayoung.ylxweb.cn
其他
还可以使用wappalyzer这个插件来检查网站使用的组件信息,同时,我们知道这个公司有微信和小程序服务,我们也可以上去看看有没有暴露的域名:
报了一些登录口和敏感url,除此之外没有新发现
主动信息搜集
在进行了被动信息搜集之后,就可以根据结果有针对性的进行主动侦察了,需要注意的是,主动侦察的动静一般会比较大,有可能会打草惊蛇,所以一定要谨慎
子域名挖掘
Goby
Goby也是一款不错的工具,集成乐服务探测,端口扫描,子域名挖掘等功能:
除了有更详细的服务相关信息(如log4j)之外,没有发现新的有价值的信息
OneForAll
也是一款集成工具,使用了各种api和爆破等方式来查找子域名,注意运行时请不要使用过高的python版本,会因为库的变更导致错误,在python3.7上测试可以运行
使用命令:
python3 oneforall.py --target example.com run
没有什么新的发现
Xary
由长亭开发的一款扫描器,集成了众多POC和子域名挖掘等功能
使用命令:
xray_windows_64.exe sd -t example.com --ho htmloutput.html
同样没有什么新发现
KSubdomain
无状态子域名爆破工具
使用指令:
./ksubdomain -d example.com -full -csv -o /root/name.csv
没有什么发现
Layer子域名挖掘
感觉字典挺大的,成也字典败也字典,大字典加上递归扫描,在面对这种只有数个子域名的公司时效率就低了
没有什么新发现
其他工具
aort subfinder dnsenum dnsmap dnsrecon dnswalk fierce
一般来说会先运行fierce以确认所有可能的目标已经被识别,然后运行至少两个集成工具(如dnsenum和dnsrecon)以产生最大的数据量并提供一定程度的交叉验证
我尝试了一下感觉没有那么好用,可能这一套会比较适用于国外环境
子域名总结
总的来说Goby,oneforall和Xray会比较好用,如果这几个都没有发现可疑的目标,那么用其他应该也不会有什么效果
根据上面的所有扫描结果(包括被动信息搜集)找到总结了几个高价值,高可疑的资产,以下的一些搜集手段将针对这些资产:
120.76.52.201
tbsdev.ylxweb.cn
gitlab.ylxweb.cn
illkx.ylxweb.cn
treayoung.ylxweb.cn
test.ylxweb.com
wxkfpt.ylxweb.com
sfc.api.ylxweb.com
wxkfpt.te.ylxweb.com
tbs.ylxweb.cn
m.ylxweb.cn
hdcx.66239779.com
work.ylxweb.com
cd.ylxweb.cn
api.ylxweb.com
120.24.174.159
nb.api.ylxweb.com
static.ylxweb.com
121.207.229.250
39.108.69.220
119.23.146.168
183.47.114.101
C段探测
在收集了一些域名和ip资产后,我们可以根据解析的ip+ip资产的范围去扩大C段的范围
如图我们可以猜测,210.38.250.0/24 和 121.10.176.0/24 网段中可能有更多未暴露的相关资产,即可将他们列为待扫描的C段
小米饭web查找器
使用java8运行更佳
https://github.com/Liqunkit/webfinder-next
好用,但是在扫描大量资产时速度堪忧,不过利大于弊,支持扫描多个C段,线程设置,全端口扫描等
Whatweb
kali自带,跟小米饭差不多,支持多C段,感觉速度会快一点
# 等级分1-4 四种,强度和时间逐渐递增
whatweb -v -a 等级 域名
感觉除了速度快一点也没比小米饭强多少
各类测绘引擎
神中神,跟上文讲到的测绘类似,只是要把域名换成我们要探测的响应的C段即可
在线网站
有一些在线网站也提供C段扫描功能:
https://c.webscan.cc/
这个也比较好用,能扫出来很多甚至连测绘引擎都搞不出来的域名,但是会很容易崩溃,而且速度会比较慢,但也是利大于弊,附上部分扫描结果:
端口扫描
在对域名和ip资产的挖掘完成后,我们可以针对部分可能存在弱点,或者情报较少的资产进行端口扫描来发现更多潜在的可能性
fscan
伟大无需多言,自带POC检测,可疑快速扫描大量ip,先将上面要针对的ip保存到文件,然后适用fscan通过文件读取目标扫描
fscan -hf ip.txt
目标好像并没有开放除了80和443之外的端口,我们用nmap在试一下
nmap
也是一款十分强大的扫描工具,提供了多种扫描方式和极高的自定义程度,还可以通过人工配置来绕过防火墙
nmap -vv -O -A -sV -sS -Pn -p0-65535 -iL ip.txt -oA ylx.xml
扫到出来一个mysql,版本还挺低的:
目录扫描
dirsearch
比较不错,使用命令:
python dirsearch.py -u example.com
扫出来一些可能有操作空间的点:
https://static.ylxweb.com/README.md
https://static.ylxweb.com/admin.html
https://work.ylxweb.com/svn
http://hdcx.66239779.com/admin_login.html
http://tbs.ylxweb.cn/
http://cd.ylxweb.cn/robots.txt
http://cd.ylxweb.cn/web
http://cd.ylxweb.cn/adminweb/login
http://cd.ylxweb.cn/admin.html
http://cd.ylxweb.cn/admin2.html
http://cd.ylxweb.cn/admin_login.html
https://m.ylxweb.cn/
Xray
使用指令:
xray_windows_amd64.exe ws --basic-crawler https://example.com --html-output vuln.html
集成了很多常见的poc和目录扫描等功能,一般来说应该挺好用,但是没发现什么新东西
Dirb
dirb http://example.com
可以递归扫描,自定义程度高,这里扫出来一些二层目录,但是实际访问报403:
其他工具
还尝试了dirmap,gobuster和dirbuster这几款工具,其中dirmap有很高的自定义性,而剩下两个比较依靠字典
总结
比较推荐使用dirsearch,xray,dirb和dirmap这几款工具来做目录扫描,需要注意的是,目录扫描后的结果需要自己人工查看去过滤打点
WAF探测和指纹识别
根据目录扫描的结果,又筛选了一些可疑的点:
登录口:
http://cd.ylxweb.cn/adminweb/login
http://cd.ylxweb.cn/admin.html
http://cd.ylxweb.cn/admin_login.html
https://m.ylxweb.cn/admin.html
https://m.ylxweb.cn/admin_login.html
https://m.ylxweb.cn/adminweb/login
http://hdcx.66239779.com/admin_login.html
http://tbs.ylxweb.cn/
https://www.ylxweb.com/admin_login_wap.html
https://www.ylxweb.com/admin_login.html
https://www.ylxweb.com/admin_login_pc.html
信息泄露:
https://work.ylxweb.com/svn
https://static.ylxweb.com/README.md
其他可疑:
https://static.ylxweb.com/admin.html
WAF检测
先使用wafw00f工具识别一下waf:
wafw00f -i url.txt # 批量扫描文件中的url
结果以下站点可能有waf:
http://cd.ylxweb.cn/adminweb/login
http://tbs.ylxweb.cn/
指纹识别
指纹识别可以帮助我们更好地了解目标运行的服务
Wappalyzer
逐个访问目标站点,可以看到返回了一些服务的信息:
EHole
https://github.com/EdgeSecurityTeam/EHole
可以本地还可以fofa
Ehole finger -l ..\wafurl.txt
还不错,如果上fofa估计会更好
Glass
https://github.com/s7ckTeam/Glass
针对资产列表的快速指纹识别工具
python Glass.py -w wafurl.txt
还可以
长亭Xapp
github地址:
https://github.com/chaitin/xray/releases?q=xapp
指纹库:
https://github.com/chaitin/xray-plugins
下载后运行一次,会在C:\Users\username\.xray\xapp
生成一些文件,此时我们需要进入这个目录添加配置文件:
xapp: &xapp
concurrent: 100
workflow:
- name: scan
base:
- util-target-split
- util-get-env
- detect-url
- detect-website
- list-enable
- fingerprint
- util-reminder
output: [ "event.website" ]
- name: output
base:
- util-result-printer
input: [ "event.website" ]
strategies:
- <<: *xapp
name: l1
description: 我的自定义命令
path:
- g:C:\Users\username\.xray\xapp\plugins
然后将指纹库finger/ehole
下的所有yml文件直接复制到xapp/plugins
插件目录下,然后运行:
xapp -t https://example.com
即可自动使用加载的所有指纹,并且这个工具已经集成了EHole,长亭出品还是很不错的
附图:
Finger
文章就说的很厉害,但实际用起来感觉也就那样,可能是我不会用吧
下载安装:
git clone https://github.com/EASY233/Finger.git
pip3 install -r requirements.txt
python3 Finger.py -h
附图:
结尾
大致的整个信息搜集流程就是这样,通过这个流程,我们成功的从只有一个公司名称到找到登陆点还有可疑站点,接下来就到了漏扫等更加有趣的部分了