10. 搜集服务器和中间件信息。这一项也有多种方式,可以通过Zoomeye、Shodan等优秀的在线系统搜集,也可以利用Nmap、MSF、Zmap等端口和指纹识别功能搜集,也可以用NC和Telnet获取Banner信息进行识别,Web方面可以用Whatweb工具或者通过Headers信息。
11. 搜集WAF信息:WAF识别大多基于Headers头信息,有一个老工具Wafw00f可以用来探测一定的Waf,也可利用Sqlmap的waf脚本,也可使用Nmap的http-waf-detect和http-waf-fingerprint脚本,也可自己平时多收集Waf特征。
12. 搜集历史漏洞。若能够在根据已有信息情况下找到一枚历史漏洞将会是一个巨大的帮助。漏洞查询站点举例:exploitdb 、hackerone、CNVD 、0day5 、乌云漏洞库镜像站。
从信息到规划
根据已搜集的信息进行梳理与分析,查找疏漏点进行搜集补充,从各个角度都整理一套渗透攻击步骤与思路的规划,优先以最擅长的方面切入,优先以最有把握的点切入,以不打草惊蛇为原则。
漏洞挖掘与利用
漏洞挖掘
站点漏洞挖掘是大家都经常搞的了,挖洞技能全靠平时积累学习。看文章的师傅们水平目测都比我高,这里不班门弄斧了,只分享下一般站点漏洞挖掘的个人习惯(不对地方还请指出,3Q)。
1. 针对站点漏洞挖掘,我个人不喜欢直接上AWVS、Appscan、Nessus之类的重量级扫描器,一方面用重量级扫描器会很容易被负责的运维人员发现,这样无疑会增大接下来的渗透难度;另一方面会被绊IP,这样就损失部分代理或肉鸡;再一方面还有一定机率对站点数据和服务造成破坏,这也是渗透最不想看到的事;再者说现在的站点也没有能轻易被扫描器扫出来的Web漏洞。
2. 对一个站点,我一般会习惯性的按着从系统漏洞探测到中间件漏洞探测再到Web漏洞探测的过程。虽说大多数情况下系统漏洞和中间件漏洞碰到的不多,但万一走运了。对系统漏洞和中间件漏洞挖掘,常用Nmap脚本、MSF模块、F-MiddlewareScan框架等工具。对于Web漏洞探测,若是CMS站点首先去寻找版本漏洞,也可以WPScan、Joomscan、M7lrv-CMS之类工具扫一扫,也可以利用CMS-Exploit-Framework框架利用漏洞,但大多CMS攻击还需要靠自己积累学习(挖0day);若是自行开发的Web站点,那就需要发挥一个Web狗的特长了,先搞帐号熟悉一下基本功能和结构,重点地方重点排查,从注册到登录到功能到……从注入到跨站到第三方功能组件……多多探测,多多fuzz。
3. 主站搞不下搞旁站,旁站搞不下搞C段,只要得到一个突破口就够了。站点都不好弄情况下,还可以根据已有的信息进行社工以获得更多的信息,信息越多进行密码破解可能性越大,顺便分享个密码包(ps:忘了从哪掏的包了,感谢收集者。)。
4. 若对测试目标左挖右挖都挖不到能利用的点,那也不,还有一项:APT攻击。一个测试目标,即便站点维护强固,但也很难保证内部员工安全素质极高,一点小小的疏漏就给了攻击者可趁之机。做一个有深度的APT攻击是个很耗时耗力的事情,但对于测试目标安全性能底线而言,可以进行一个小型的APT攻击。现在常见的APT攻击手段就是水坑攻击和鱼叉式网络钓鱼。攻击的前提是社工得到足够的内部员工的体系结构、上网习性等信息,了解体系结构才能知道在哪里能够获得更有用的信息,了解上网习性才能利用习性漏洞进行开展入侵。一个软件使用版本、使用习惯都会给攻击者带来一个入侵点,但攻击者肚里也要有足够的量。反正只要能通过水坑攻击或鱼叉式钓鱼等方式搞到一台内部机,剩余的都是搞内网的事情了。