【精选笔记】渗透测试之信息收集那些事 – 作者:天禧信安385

前言

半年前,有幸拜读亮神的渗透测试笔记,其中给我印象最深的一句话是:“渗透测试的本质就是信息收集”。当时我还想不明白为什么,总觉得技术上的精进比信息收集重要得多,半年后回过头来看,技术是有瓶颈期的,至少对绝大多数人来说如此,最终,你能不能拿下目标,很大程度上取决于信息收集,也可以说取决于你对目标的了解的有多全 、有多深

一、收集什么信息?

1.域名信息

关于域名信息,不得不提whois查询和备案查询,查来查去,直接讲目标,要的就是注册商、注册人、邮件、DNS解析服务器、注册人联系电话、地理位置等和目标自身息息相关的要素,具体的收集方法,详见我的渗透流程归纳文章,收集到以后的用法在本文第三大点作详细描述

2.子域名

关于子域名,简单来讲,往往对应着目标系统的不同业务资产,教育类的可能包括教务系统、邮件系统、学生网课平台、学历信息平台、报名系统等,政府类的可能包括OA办公系统、文件存储系统、邮件系统等等。可以说,收集到的子域名越多,你对目标的了解就越全面,对目标的运行架构和框架就越熟悉,能够测试的资产就越多

3.真实IP

关于真实IP,他不仅托管着你一开始拿到的域名的资产,他的旁站和C段甚至机房信息都有可能为你带来意外的惊喜。拿到真实IP后,就可以对该IP的端口信息(开放端口和服务漏洞)、指纹信

息(中间件版本,历史漏洞)、历史解析域名和域名的历史解析IP(拓展出更多资产)做进一步的探测

4.敏感信息 目录和文件

对所有的子域名,都要收集他们的敏感信息、目录和文件,可能会包括员工个人信息、waf、登陆点、后台、历史未删除页面、物理路径、源码备份、可用于社工的信息泄露

5.社工信息

社工技巧

查看注册的网站:0xreg reg007

知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或 html 中找到未被打码的信息,从这些方面判断用户是否注册过

找回密码

输入账号,如果进入下一步了则该账号存在

登录

输入账号和密码,如果提示密码错误,则表示该用户已存在

注册

填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册

知道 QQ

通过 QQ 邮箱和 QQ 号搜索支付宝、淘宝账号等其他可能的常用平台

去腾讯 \ 新浪微博搜索

通过微信搜索

查看 QQ 空间 \ 相册 \ 地区 \ 星座 \ 生日 \ 昵称 (后续构建字典以及跨平台搜集)

通过说说、留言、日志找到其好友

加 QQ 钓鱼 \ 共同好友 \ 可能认识的人

知道手机号

搜索 QQ、微信、钉钉等社交账号

在比较火的一些 APP 和网站上注册或忘记密码来判断是否注册过账号

查询支付宝、QQ 交易账号,尝试输入常见姓氏获取名字 (转账到该手机号,会提示输入姓氏验证)

通过对方的职业、兴趣找到该领域知名度较高的社交网站反查

根据在 QQ 空间、朋友圈等动态用百度识图识别照片

在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选

留意社交动态

发布时间线

l使用什么客户端 iPhone Android 还是浏览器

l针对客户端预先制定 exploit

l注意每一条链接 / 图片 / 视频链接可能包含用户 ID

l图片可能包含水印,exif 可能会有 GPS 定位和手机类型,图片内容特征

l视频也有可能有水印暴露社交账号 ID, 拍摄地点

l从最早发布的动态看起,会有很大收获

l一般得到一个账号的密码就相当于得到了其他账号的密码

l一般人不同账号的用户名都是相同或相近的

l一般人的社交账号头像用的都是一样的

l尝试破解社保、公积金账号、sfz号(出生地、生日、星座、派出所代码)

虫部落快搜之文件搜索:

https://search.chongbuluo.com/

qq 群、群文件、贴吧论坛、目标自用论坛等社交平台钓鱼和信息泄露 (爬邮箱等信息)

电子邮件伪造、网络钓鱼

下载恶意程序,输入敏感信息

大部分信息可以用来生成密码字典

对人:说服对方达成一致、恐吓对方(敏感词、漏洞、病毒、权威机构名称),钓鱼获取信息

二、用什么工具收集?

1.记录工具

xmind+excel

刚开始做渗透的时候,自己竟然用的是记事本txt,当目标资产比较多的时候,相信我,每次重新打开文档,你根本看不过来,而且思路全是混乱的。所以,我推荐xmind这个思维导图软件,

把整个渗透的流程都可以像树状图一样记录进去,既便于理清思维,也便于实际操作

excel,便于把域名、端口、目录批量导入,去重和筛选以及整合都非常方便

2.域名和子域名收集工具

dnsenum

dnsenum 是一款用于收集 dns 信息的工具,这款工具通过字典爆破、搜索引擎、whois 查询、区域传输等手段用于获取dns信息,查询网站的主机地址信息(A记录),域名服务器和邮件交换记录(NS和MX),在域名服务器上执行axfr(区域传送)请求,然后通过Google得到扩展域名信息,提取子域名并查询,当查询到 C 类地址的时候还会做反向的域名查询,以发现更多的域名,利用字典完成DNS爆破( /usr/share/dnsenum/dns.txt ,可替换此默认字典,国内国外的dns字典还是有差别的)

常用方法:

详细的方法用dnsenum -h可以获取,这里只介绍常用的

(1)dnsenum example.com

A记录和NS记录对应多个IP,可以判断使用了CDN,MX记录和TXT记录可能是真实IP或C段

(2)dnsenum example.com -f

/usr/share/dnsenum/dns.txt(dns字典绝对路径) –noreverse(跳过反向查询,节省时间) 读取已知子域名,利用dns字典进行暴力破解,跑出更多子域名

(3)dnsenum example.com -f

/usr/share/dnsenum/dns.txt(dns字典绝对路径) -t 1 –noreverse -o-t参数代表超时时间,设置1秒节省时间,-o参数代表将结果输出为文件,便于查看和整理

(4)域传送漏洞现在比较少,第一种方法里会自动检测的,留意一下就好。C类地址和IP块也挑出来整理好,以后扩大信息收集范围的时候再用nslookup,详细的方法用man nslookup可以获取,这里只介绍常用的

(1)非交互式

直接查询域名

nslookup example.com 多个IP可以认为有cdn

指定dns服务器

nslookup example.com 8.8.8.8从国内访问国内网站时,大多会被cdn解析,但是如果用国外的dns服务器,可能直接得到真实IP,用不同的dns服务器对比

查询特定类型记录

nslookup -type=mx/ns/soa example.com

(2)交互式

进入交互模式:

直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(/etc/resolv.conf的第一个dns地址)

输入nslookup – 127.0.0.1。支持选定不同域名服务器,需要设置第一个参数为“-”,然后第二个参数是设置要连接的域名服务器主机名或IP地址。例如可以设置本机为域名服务nslookup- 127.0.0.1

进入交互模式以后:直接输入域名或set type=a/ns/mx/soa….

dig

dig(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具,详细的方法用dig -h可以获取,这里只介绍常用的

(1)dig example.com a/mx/ns….

(2)dig +trace example.com 从根域开始显示是如何一步步解析出IP地址的

(3)dig +short example.com 以上的简化版,直接出最后结果

layer子域名挖掘机

比较好的主动式挖掘工具,windows平台下使用,还可同时探测子域名ip、端口、中间件版本以及多层子域名挖掘

各种在线子域名挖掘网站

优点:速度快,dns解析压力小

缺点:字典不能自定义,查了什么内容第三方知道,有时候还不准

fuzzdomain/dirbuster

类似layer,但速度比layer快很多,且支持任意数量字母数字的fuzz,不管是目录扫描、后台扫描、Web漏洞模糊测试都能灵活应对,有的目标子域名很具有规律性,用这个就比较方便

fofa/shodan/zoomeye等资产搜索引擎

用已经收集到的信息输入进去,有时候也能发现意料之外的域名,有些目标系统除了中文名也有英文名和简写,利用旁站、C段进行查询,也可能有收获

反查操作

根据已经收集到的注册人名、邮箱、手机号等信息进行反查,看看还有没有其他资产。站长之家、企查查、github等

根据ip反查历史域名,根据域名反查历史注册ip。反查往往是拓宽信息收集面的重要手段,自己在信息收集的时候,往往就是越收集越多,正向循环的一个过程

3.真实IP

海外ping

因为CDN的原因,国内的站用国外ping,反之亦然,可能获取真实IP,有些子域名可能由于成本的原因没有用CDN,所以要尽可能的多收集子域名,从而有效判断真实ip

zoomeye/fofa/shodan

同上反查操作,能找出一批IP,再进行鉴别

历史解析ip和ip的历史解析域名

一般来说,ip和域名总有更换绑定的历史记录,在已知域名、子域名、ip的情况下,把所有域名和ip进行历史解析查询,多用国外dns,这里不赘述,详见我的渗透流程归纳

目标发邮件得到ip

利用邮件订阅、注册、密码找回等一切能让对方服务器给自己发邮件的方式获取,邮件的源码和头部信息可能就有用。

注意:必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的

旁站和C段

有一定防范意识的目标,一般都会将自己的web单独托管,如果有旁站或C段看起来比较奇怪,基本也可以认为不是真实IP

浏览器插件

DNS Checker,非常好用的插件,https://dnschecker.org/集成大量dns相关查询工具

获得真实IP后,进一步对端口服务、中间件、旁站和C段进行信息收集,这个工程也比较大,详见我的渗透流程归纳

4.敏感信息、目录和文件

查询用户注册信息

lhttps://checkusernames.com/

lhttps://www.reg007.com/

lhttps://knowem.com/

lhttps://namechk.com/

公开漏洞库

国内

lhttp://www.cnnvd.org.cn/

lhttps://www.cnvd.org.cn/

lhttps://www.seebug.org/?ref=www

lhttp://vulhub.org.cn/view/global

lhttps://poc.shuziguanxing.com/#/

lhttp://www.nsfocus.net/index.php?act=sec_bug

lhttp://www.bugscan.net/source/template/vulns/

lhttps://src.sjtu.edu.cn/list/

lhttp://ivd.winicssec.com/

lhttp://www.expku.com/

lhttps://github.com/hanc00l/wooyun_public

国外

lhttps://www.exploit-db.com/

lhttps://sploitus.com/

lhttps://packetstormsecurity.org/

lhttps://www.securityfocus.com/bid

lhttps://cxsecurity.com/exploit/

lhttps://www.rapid7.com/db/

lhttps://cve.circl.lu/

lhttps://www.cvedetails.com/

lhttps://cve.mitre.org/cve/search_cve_list.html

lhttps://www.us-cert.gov/ics

lhttp://www.routerpwn.com/

源码、文件泄露:敏感

这里只提供思路,github、gitee、gitlab等代码托管平台(目标系统,他们的技术人员github和个人博客也是很重要的一条线索),搜索引擎hack,网盘文件聚合搜索引擎

找目标相关应用:目标网站APP应用,用Fiddler或Burp Suite抓取App的请

求,从里面找到目标的真实IP等信息

七麦数据:通过当前APP查询同开发商应用,得到目标所有

APP应用(同开发商应用)

AppStore:通过当前APP查询同开发商应用,得到目标所有

APP应用(同开发人员)

天眼查和企查查:获取目标的公众号、微博、备案站点、

软件著作权等,可以结合社工拓展更多资产

三、运用信息有什么思路?

1.寻根溯源

一定要拿到真实ip,渗透最终如果能getshell当然是最好的,只有拿到的ip是真实ip,shell写入的才是目标系统,才能获取重要的数据。而且,比较大的系统真实ip往往不唯一,甚至可能是

完全不同的机房,信息收集的时候要注意甄别。真实ip扫出的端口和banner信息有利用的价值,CDN分发的则没有,可以get的点明显少很多。在拿ip的过程中,尤其注意从ip的历史解析域名和域名的历史解析ip下手,全网扫描的dns扫描工具比较多,除非从建站一开始就做好了CDN,否则一定会有蛛丝马迹被记录到。可以说,信息收集最基础和最根本的就是找准真实ip

2.延长信息链

信息收集时,要注意把现有的信息链尽可能的延长

3.形成信息收集的正循环

在信息收集的全流程中,总能不断发现新的ip和域名,而新的ip和域名则可以发现新的敏感信息和内容,也可以用来反查历史解析和社工,实际操作的过程中,你会发现会越收集越多,信息网织起来越来越密,对目标的了解更加全面和深入

这样就不能等全部信息收集完再开始测试了,很多比较脆弱的资产有明显的特征,经验丰富的工程师比较容易识别出来,比如:UI设计比较过时和过于简单的页面、搭建框架比较老旧的页面、没有验证码或验证码没有生存期的页面、数据参数过滤不严格的站点、交互信息量比较大的站点

作者Mr.M,排版&适配38.5

Github:https://hackerx2021.github.io/

来源:freebuf.com 2021-03-19 18:16:40 by: 天禧信安385

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论