大数据 爬虫Python AI Sql大数据网络与信息安全

经验分享|谈谈渗透测试中的信息搜集

2018-08-05  本文已影响1人  CanMeng

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

0×02 whois信息

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

0×03 子域名

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

0×04 目标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 

0×05 旁站C段查询

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

0×06 邮箱收集

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

0×07 CMS类型

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

0×08 敏感目录/文件

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

0×09 端口信息

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

端口号   端口服务/协议简要说明       关于端口可能的一些渗透用途tcp 20,21    ftp 默认的数据和命令传输端口[可明文亦可加密传输]  允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4) 

tcp 22ssh[数据ssl加密传输]可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输,等等…常用于linux远程管理… 

tcp 23telnet[明文传输]爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令,也许会有意想不到的收获 

tcp 25smtp[简单邮件传输协议,多数linux发行版可能会默认开启此服务]邮件伪造,vrfy/expn 查询邮件用户信息,可使用smtp-user-enum工具来自动跑 

tcp/udp 53dns[域名解析]允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 

tcp/udp 69tftp[简单文件传输协议,无认证]尝试下载目标及其的各类重要配置文件 

tcp 80-89,443,8440-8450,8080-8089web[各种常用的web服务端口]各种常用web服务端口,可尝试经典的top n,vpn,owa,webmail,目标oa,各类java控制台,各类服务器web管理面板,各类web中间件漏洞利用,各类web框架漏洞利用等等…… 

tcp 110[邮局协议,可明文可密文]可尝试爆破,嗅探 

tcp 137,139,445samba[smb实现windows和linux间文件共享,明文]可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等…… 

tcp 143imap[可明文可密文]可尝试爆破 

udp 161snmp[明文]爆破默认团队字符串,搜集目标内网信息 

tcp 389ldap[轻量级目录访问协议]ldap注入,允许匿名访问,弱口令 

tcp 512,513,514linux rexec可爆破,rlogin登陆 

tcp 873rsync备份服务匿名访问,文件上传 

tcp 1194openvpn想办法钓vpn账号,进内网 

tcp 1352Lotus domino邮件服务弱口令,信息泄漏,爆破 

tcp 1433mssql数据库注入,提权,sa弱口令,爆破 

tcp 1521oracle数据库tns爆破,注入,弹shell… 

tcp 1500ispmanager 主机控制面板弱口令 

tcp 1025,111,2049nfs权限配置不当 

tcp 1723pptp爆破,想办法钓vpn账号,进内网 

tcp 2082,2083cpanel主机管理面板登录弱口令 

tcp 2181zookeeper未授权访问 

tcp 2601,2604zebra路由默认密码zerbra 

tcp 3128squid代理服务弱口令 

tcp 3312,3311kangle主机管理登录弱口令 

tcp 3306mysql数据库注入,提权,爆破 

tcp 3389windows rdp远程桌面shift后门[需要03以下的系统],爆破,ms12-020[蓝屏exp] 

tcp 4848glassfish控制台弱口令 

tcp 4899radmin远程桌面管理工具,现在已经非常非常少了抓密码拓展机器 

tcp 5000sybase/DB2数据库爆破,注入 

tcp 5432postgresql数据库爆破,注入,弱口令 

tcp 5632pcanywhere远程桌面管理工具抓密码,代码执行,已经快退出历史舞台了 

tcp 5900,5901,5902vnc远程桌面管理工具弱口令爆破,如果信息搜集不到位,成功几率很小 

tcp 5984CouchDB未授权导致的任意指令执行 

tcp 6379redis未授权可尝试未授权访问,弱口令爆破 

tcp 7001,7002weblogic控制台java反序列化,弱口令 

tcp 7778kloxo主机面板登录 

tcp 8000Ajenti主机控制面板弱口令 

tcp 8443plesk主机控制面板弱口令 

tcp 8069zabbix远程执行,sql注入 

tcp 8080-8089Jenkins,jboss反序列化,控制台弱口令 

tcp 9080-9081,9090websphere控制台java反序列化/弱口令 

tcp 9200,9300elasticsearch远程执行 

tcp 10000webmin linux主机web控制面板入口弱口令 

tcp 11211memcached未授权访问 

tcp 27017,27018mongodb爆破,未授权访问 

tcp 3690svn服务svn泄露,未授权访问 

tcp 50000SAP Management Console远程执行 

tcp 50070,50030hadoop默认端口未授权访问 

0×10 服务器与中间件信息

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

0×11 其他

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

0×12 自己写的小脚本

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

0×13 总结

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

上一篇下一篇

猜你喜欢

热点阅读