仅以此文叙述关于渗透测试那些不能不说的故事。
作为一名渗透测试人员,每个人都有自己擅长的一面,就如莎翁著作中所说,一千个人眼中有一千个哈姆雷特。从事这份工作是在2008年,正当奥运会开幕前,我离开了北京,开始了千里迢迢的南漂。也正是这次,阴差阳错的走上了渗透测试这条“不归路”。事隔多年,想起高中时候的理想:成为一名黑客(Hacker),黑客没有当成,但希望正走在成为黑客的路上,不至于离最初的梦想越来越远。
“Once a hacker, forever a hacker. —-Phrack”
也许在讲述渗透测试的经验前,我不得不提到另一个话题:关于一个人的职业发展和规划的问题,许多人都会苦恼自己该做什么,能做什么,却不问问自己喜欢做什么。没错,成为一名优秀(或者伟大)的渗透测试者,兴趣是最重要的,如果仅仅只是为了工作,那么你只能成为一名普通的渗透测试者。其实伟大和平凡,仅仅区别于最初的初衷,而所有人都会面临相同的选择:兴趣或者生存。为了这个兴趣,坚持下去,那么你可能成为那么伟大之一。看看Jobs吧,也许有一天你会成为下一个Jobs。
我也曾苦恼迷惘过,当你艰难的走在追求技术巅峰的路上,你不知道前面会遇到什么,犹如一个人走在茫茫的隔壁大沙漠里,能够救你的只有自己。一步步坚定的走下去,前途终将光明。技术的修行,也是心的修行,个中的苦辣酸甜,只有自己亲身经历过,才会难忘,若干年后回首,你会觉得如一泓清泉在心田流过。
在开始之前,我需要澄清一点关于渗透测试的概念,或者是我个人对渗透测试的一些浅薄理解,我这里说的渗透测试,不包括只拿到一个webshell的攻击,而是包含了从信息搜集、分析到漏洞扫描、攻击、内网渗透等一个完整的渗透流程。
一般的,我喜欢把渗透测试分为若干阶段:信息搜集阶段、漏洞扫描阶段、内网渗透阶段和痕迹擦除阶段。
信息搜集阶段
信息的准确与否直接关系后续的几个阶段,所以在我看来这是最重要的一环,信息搜集主要搜集网站域名、Whois、IP、邮箱、联系人以及联系人的详细信息,这个时候社工库的伟大之处就体现出来了,某些牛逼人物手里握着大量的隐私数据库,随便一搜索,估计某人的祖宗八辈都出现了。很遗憾,我不是这样的牛逼任务,只能按部就班的来了。我们可以使用工具WVS的域名猜测、搜索引擎(Google、Bing、Baidu)、theHarvester(邮箱地址)、FOCA、WhoisTool等工具来实现一个初次信息搜集,如果有必要,可以手工进行二次信息搜集和信息确认,以保证下一步的工作方向正确。
漏洞扫描阶段
一般的,我遵循一个原则,先Web,后其他应用,先端口,后主机,先小范围的IP,然后大范围IP扫描,漏洞扫描阶段主要靠平时的积累,各种漏洞,扫描器和xDay。经验之谈一般的手法是注入、后台弱口令、其他应用弱口令(FTP、Mail、Database、Tomcat、Weblogic等)、目录浏览+敏感文件、编辑器漏洞、LFI、RFI等,再加上某些小技巧。某些时候其实就是考验个人平时的积累和是否能够学以致用,举一反三。经典的就是那个IIS文件解析漏洞(freebuf.asp;.txt)。这个阶段可能会用到一些工具:WVS、Pangolin、Nessus等其他各种类型的扫描器。
内网渗透阶段
没有内网的渗透只能算走完了1/3,内网的渗透应该占据整个渗透的1/3。一般的,内网渗透分为有域控制器和无域控制器两种,今天这篇文章只是略提下,如果可能,我会单独写一篇内网渗透的文章(虽然之前和thanks、kelz他们在群里聊说写,但很纠结),如果熟练了,其实内网也就那么回事。
痕迹清除阶段
在清理痕迹前,我们要做一件最重要的事情,留下后门,方便以后的进入,至于如何留,看诸位的本事了,各种猥琐流技巧开始出现。
清除你整个渗透过程中的脚印,当然可能并不是所有痕迹都能够完全擦除,一般的,Web应用日志、系统日志是主要清理对象,其他的诸如杀毒软件日志等,清除日志的一个需要注意的地方是:尽可能的删除或修改你自己所留下来的痕迹即可,完成后,使用修改文件时间的工具将日志文件的时间修复。对于系统日志,尤其是Windows的系统日志,貌似只有全部删除,没有只删除其中某几条的方法(我没发现,如有望告知)。当然Windows下也有清理全部日志的工具,如清理全部应用日志、登录日志等。
结语
写这篇文章的初衷是想写关于渗透测试的一些个人经验,同时也希望有牛人一起交流渗透等各种技术,上述内容可能有许多地方模糊的地方,尤其内网渗透。其实我想说的是,我想写的是思路,而非具体方法,培养渗透思路,会让你在今后的渗透中事半功倍。
PS:弱弱的留下Q: 97633312。