谈谈渗透测试中的信息搜集

最近找了一份安全实习,每天对着目标站点进行渗透测试。渗透测试的第一步是信息搜集,那么你的信息搜集完整性决定了你渗透测试的结果,”知己知彼,百战不殆”,在此,我分享下我信息搜集的一些经验。

0x01 前言

信息搜集分为主动信息搜集和被动信息搜集,主动信息搜集是与目标主机进行直接交互,从而拿到我们的目标信息,而被动信息搜集恰恰与主动信息搜集相反,不与目标主机进行直接交互,通过搜索引擎或者社交等方式间接的获取目标主机的信息。当我们拿到一个目标进行渗透测试的时候,我们关注目标主机的whois信息,子域名,目标IP,旁站C段查询,邮箱搜集,CMS类型,敏感目录,端口信息,服务器与中间件信息。针对上边的信息,网上有很多工具,但是,我们可以自己写一个工具得到所有的信息,方便渗透测试。

0x02 whois信息

whois信息可以获取关键注册人的信息,包括注册公司、注册邮箱、管理员邮箱、管理员联系手机等,对后期社工很有用。同时该工具还可以查询同一注册人注册的其他的域名,域名对应的NS记录、MX记录,自动识别国内常见的托管商(万网、新网等)。常用的工具有:chinaz,kali下的whois命令。

0x03 子域名

在渗透测试的时候,往往主站的防御会很强,常常无从下手,那么子站就是一个重要的突破口,因此子域名是渗透测试的主要关注对象,子域名搜集的越完整,那么挖到的漏洞就可能更多,甚至漏洞的级别也会更高。常用的工具有:搜索引擎(google,baidu,bing),DNS区域传送漏洞,子域名挖掘机Layer,subDomainsBrute,phpinfo.me,定制字典暴力破解。

0x04 目标IP

现在大部分网站都加了CDN,CDN的虚假IP干扰了我们的渗透测试,如何绕过CDN查找到目标的真实IP,对我们来说非常重要。首先,我们需要判断下是否存在CDN,方法很简单,只要在不同地区进行ping检测就可以知道。不同地区ping同一个网址,得到不同的IP地址,那么该网站开启了CDN加速,相反如果得到的是同一个IP地址,那么极大可能不存在cdn,但是不绝对。常用的工具有多个地点ping服务器-网站测速-站长工具。其次,绕过CDN获取真实IP的方法互联网上有很多,我常用的有二级域名法,目标长得一般不会把所有的二级域名放在cdn上,伤钱呐,确定了没有使用CDN的二级域名后,本地将目标域名绑定到同ip,能访问就说明目标站与二级域名在同一服务器叶可能在同C段,扫描C段所有开80端口的ip,挨个尝试。nslookup法,大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率直接解析到真实IP,不过需要国外的冷门的DNS,如下:

209.244.0.3 64.6.64.6 8.8.8.8 9.9.9.9 8.26.56.26 199.85.126.10 208.67.222.222 195.46.39.39 69.195.152.204 208.76.50.50 216.146.35.35 37.235.1.174 198.101.242.72 77.88.8.8 91.239.100.100 74.82.42.42 109.69.8.51 156.154.70.1 1.1.1.1 45.77.165.194

0x05 旁站C段查询

旁站是和目标网站在同一台服务器上的其它的网站;如果从目标站本身找不到好的入手点,这时候,如果想快速拿下目标的话,一般都会先找个目标站点所在服务器上其他的比较好搞的站下手,然后再想办法跨到真正目标的站点目录中。C段是和目标机器ip处在同一个C段的其它机器;通过目标所在C段的其他任一台机器,想办法跨到我们的目标机器上。常用的工具有webscancc,Nmap,Zenmap。

0x06 邮箱收集

首先确定目标的邮件服务器所在的真实位置,看看邮件服务器自身有没有什么错误配置,比如,没有禁用VREY或者EXPN命令导致用户信息泄露。然后从whois中获取域名的注册人、管理员邮箱,利用搜索引擎或者社工库查看有木有泄露的密码,然后尝试泄露的密码进行登录,最后从目标站点上搜集邮箱,例如网站上的联系我们,我们发发邮件钓鱼什么的。常用的工具有kali下的theharester。

0x07 CMS类型

对目标渗透测试过程中,目标CMS是十分重要的信息,有了目标的CMS,就可以利用相关的bug进行测试,进行代码审计。CMS识别方式有网站特有文件,例如/templets/default/style/dedecms.css — dedecms;网站独有文件的md5,例如favicon.ico,但是该文件可以被修改导致不准确;网站命名规则返回头的关键字网页关键字URL特征Meta特征Script特征robots.txt网站路径特征网站静态资源爬取网站目录信息;常用的工具有 云悉,工具1,BugScaner。

0x08 敏感目录/文件

用扫描器扫描目录,这时候你需要一本强大的字典,重在平时积累。字典越强扫描处的结果可能越多,这一步主要扫出网站的管理员入口,一些敏感文件(.mdb,.excel,.word,.zip,.rar),查看是否存在源代码泄露。常见有.git文件泄露,.svn文件泄露,.DB_store文件泄露,WEB-INF/web.xml泄露。目录扫描有两种方式,使用目录字典进行暴力才接存在该目录或文件返回200或者403;使用爬虫爬行主页上的所有链接,对每个链接进行再次爬行,收集这个域名下的所有链接,然后总结出需要的信息。常用的工具有:御剑,kali下的dirb,DirBrute。

0x09 端口信息

服务和安全是相对应的,每开启一个端口,那么攻击面就大了一点,开启的端口越多,也就意味着服务器面临的威胁越大。开始扫描之前不妨使用telnet先简单探测下某些端口是否开放,避免使用扫描器而被封IP,扫描全端口一般使用Nmap,masscan进行扫描探测,尽可能多的搜集开启的端口好已经对应的服务版本,得到确切的服务版本后可以搜索有没有对应版本的漏洞。常见的端口信息及渗透方法。

端口号 端口服务/协议简要说明 关于端口可能的一些渗透用途 tcp 20,21 ftp 默认的数据和命令传输端口[可明文亦可加密传输] 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4) tcp 22 ssh[数据ssl加密传输] 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输,等等…常用于linux远程管理… tcp 23 telnet[明文传输] 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令,也许会有意想不到的收获 tcp 25 smtp[简单邮件传输协议,多数linux发行版可能会默认开启此服务] 邮件伪造,vrfy/expn 查询邮件用户信息,可使用smtp-user-enum工具来自动跑 tcp/udp 53 dns[域名解析] 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 tcp/udp 69 tftp[简单文件传输协议,无认证] 尝试下载目标及其的各类重要配置文件 tcp 80-89,443,8440-8450,8080-8089 web[各种常用的web服务端口] 各种常用web服务端口,可尝试经典的top n,vpn,owa,webmail,目标oa,各类java控制台,各类服务器web管理面板,各类web中间件漏洞利用,各类web框架漏洞利用等等…… tcp 110 [邮局协议,可明文可密文] 可尝试爆破,嗅探 tcp 137,139,445 samba[smb实现windows和linux间文件共享,明文] 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等…… tcp 143 imap[可明文可密文] 可尝试爆破 udp 161 snmp[明文] 爆破默认团队字符串,搜集目标内网信息 tcp 389 ldap[轻量级目录访问协议] ldap注入,允许匿名访问,弱口令 tcp 512,513,514 linux rexec 可爆破,rlogin登陆 tcp 873 rsync备份服务 匿名访问,文件上传 tcp 1194 openvpn 想办法钓vpn账号,进内网 tcp 1352 Lotus domino邮件服务 弱口令,信息泄漏,爆破 tcp 1433 mssql数据库 注入,提权,sa弱口令,爆破 tcp 1521 oracle数据库 tns爆破,注入,弹shell… tcp 1500 ispmanager 主机控制面板 弱口令 tcp 1025,111,2049 nfs 权限配置不当 tcp 1723 pptp 爆破,想办法钓vpn账号,进内网 tcp 2082,2083 cpanel主机管理面板登录 弱口令 tcp 2181 zookeeper 未授权访问 tcp 2601,2604 zebra路由 默认密码zerbra tcp 3128 squid代理服务 弱口令 tcp 3312,3311 kangle主机管理登录 弱口令 tcp 3306 mysql数据库 注入,提权,爆破 tcp 3389 windows rdp远程桌面 shift后门[需要03以下的系统],爆破,ms12-020[蓝屏exp] tcp 4848 glassfish控制台 弱口令 tcp 4899 radmin远程桌面管理工具,现在已经非常非常少了 抓密码拓展机器 tcp 5000 sybase/DB2数据库 爆破,注入 tcp 5432 postgresql数据库 爆破,注入,弱口令 tcp 5632 pcanywhere远程桌面管理工具 抓密码,代码执行,已经快退出历史舞台了 tcp 5900,5901,5902 vnc远程桌面管理工具 弱口令爆破,如果信息搜集不到位,成功几率很小 tcp 5984 CouchDB 未授权导致的任意指令执行 tcp 6379 redis未授权 可尝试未授权访问,弱口令爆破 tcp 7001,7002 weblogic控制台 java反序列化,弱口令 tcp 7778 kloxo 主机面板登录 tcp 8000 Ajenti主机控制面板 弱口令 tcp 8443 plesk主机控制面板 弱口令 tcp 8069 zabbix 远程执行,sql注入 tcp 8080-8089 Jenkins,jboss 反序列化,控制台弱口令 tcp 9080-9081,9090 websphere控制台 java反序列化/弱口令 tcp 9200,9300 elasticsearch 远程执行 tcp 10000 webmin linux主机web控制面板入口 弱口令 tcp 11211 memcached 未授权访问 tcp 27017,27018 mongodb 爆破,未授权访问 tcp 3690 svn服务 svn泄露,未授权访问 tcp 50000 SAP Management Console 远程执行 tcp 50070,50030 hadoop 默认端口未授权访问

0x10 服务器与中间件信息

通过Nmap、Zmap等端口和指纹识别功能搜集,也可以使用nc和telnet获取Banner信息进行识别,常用工具有whatweb

0x11 其他

探测目标是否存在WAF,WAF识别一般是基于headers头信息,例如,Mod_Security是为Apache设计的开源Web防护模块,一个恶意的请求Mod_Security会在响应头返回“406 Not acceptable”的信息。waf00f是kali下的识别WAF的老工具,whatwaf不仅可以识别WAF类型还会给出一些bypass 方法;另外从乌云镜像站、CNVD搜集网站历史漏洞对渗透测试也是有很大帮助的。

0x12 自己写的小脚本

基于以上内容写个一个蹩脚的脚本,大佬勿喷。

0x13 总结

信息搜集在渗透测试中的作用不言而喻,脚本基于以上文章的内容的编写,笔者还会继续完善,若读者有什么建议可以留言。菜鸡一定虚心接受。最后,信息搜集很重要,信息搜集很重要,信息搜集很重要。

0x14 参考资料

http://www.91ri.org/9016.html

http://www.lsablog.com/network_security/penetration/talk-about-cms-identification/

https://klionsec.github.io/2014/12/12/subdomain-info-serarch/

*本文作者crhua,转载请注明来自FreeBuf.COM

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

结合中间人攻击,Pidgin鸡肋漏洞变废为宝

最新版本的开源即时通讯客户端Pidgin 2.10.10这段时间修复了一系列漏洞,其中的SSL/TLS证书验证问题可以被黑客利用来进行中间人攻击。如此一来,某些...

22480
来自专栏黑白安全

黑客技术?没你想象的那么难!——dns劫持篇

在网络中,机器之间只认识IP地址,机器之间最终都要通过IP来互相访问。但是为了方便记忆,可以为IP地址设置一个对应的域名,通过访问域名,就可以找到对应IP地址的...

3.3K30
来自专栏FreeBuf

一记组合拳,批量SSH弱密码爆破检测工具分享

SSH登录密码的破解工具已然有许多,但偶尔还是存在不能满足任务需求的情况。比如,批量地对IP列表里的IP地址进行SSH登录破解,现有的工具直接使用起来总觉得不方...

40220
来自专栏FreeBuf

绕过WiFi验证:四招教你免费使用WiFi

如今越来越多的商场、咖啡店、饭店等公共场所都提供了开放的WiFi网络。不过有时即便我们的设备连上了WiFi,当随便打开一个网页就会立即弹出身份验证页面……是不是...

81270
来自专栏FreeBuf

改造Nginx,让邮件系统也支持双因子验证

起 因 最近在研究双因子认证的时候突然想到:能不能在邮件系统中应用双因子验证呢?作为一个有了想法就想落地的四有好少年,我决定试试。 受制于文化程...

47390
来自专栏Youngxj

2017新思路教你轻松过微博橙V认证无需手持

25750
来自专栏安恒信息

安全研究员发现了多个IP地址利用已修复的PHP漏洞劫持Linux服务器

华盛顿大学的安全研究员Andre'DiMino注意到了多个IP地址试图利用一个已修复PHP漏洞劫持Linux服务器,他很好奇攻击者如何成功控制一台Linux服务...

385120
来自专栏黑白安全

对于跨站伪造请求(CSRF)的理解和总结

CSRF是跨站请求伪造的缩写,也被称为XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

13030
来自专栏CDA数据分析师

Excel简化办公系列之二 | 录制宏快速制作工资条

本文为CDA作者青菜原创文章,转载请注明来源 编者按:CDA作者青菜将在近期发布「Excel简化办公」系列文章,本文是第二篇;更多精彩请持续关注~ 今天午饭后和...

24180
来自专栏FreeBuf

SamSam:一款难以追踪的分布式控制软件

在对近期样本的分析过程中,研究人员发现这款勒索软件的Payload一直都是在运行时解密的,这也是这款勒索软件最显著的特点,这种加密Payload机制也表明了为何...

13500

扫码关注云+社区

领取腾讯云代金券