渗透测试的流程大家都耳熟能详,具体操作工具五花八门,其中的核心就是信息收集和字典,今天写信息收集和漏洞扫描的一些技巧总结,方便新手学习。
声明:渗透测试过程中很多同类工具功能都是互补的,本文中提到的工具没有褒贬之分。
子域名爆破技术
不同的工具使用的子域名爆破技术是不同的,网上会有各种各样的爆破神器让人眼花缭乱,其实根据使用工具时使用的dns服务器不同,攻击者所处的网络环境的不同,爆破结果也是差异万千的,比如你在公司网络和你在家的网络,子域名扫描的结果差异也非常巨大,不同的工具字典的差异对爆破的结果也是影响非常大的,这时候应该综合多个工具、多设置一些dns、多换几个网络环境进行爆破。下面的例子都是我用同一条网线进行测试,没有设置dns,只使用了两款软件对同一个域名进行子域收集,给大家看一下结果对比。
这是layer的其中一个版本,字典才跑不到2W条,爆破出差不多500个子域,当然这其中要有一半是无效域名,但挑挑拣拣还是能剩百十个的。
我们再看另一款subdomainbrute,爆破出了22个子域。
两款工具差距巨大,一款22个子域,一款算200个吧,数量差距还挺大的,如果你渗透测试过程中没思路,可以换个工具或者dns或者网络试试,实践告诉我们老一点的工具不一定不能用。值得一提的是layer工具会把带宽打满,导致浏览器等网络工具无法上网!
目录爆破技术
这个技术也是五花八门老生常谈,其核心就是字典和扫描模式,大名鼎鼎的御剑和dirb和dirbuster大家都非常熟悉,下面使用御剑和dirb举例对同一个目标进行扫描测试。
先说御剑,御剑这工具太强大了,所以有很多版本,不同的版本扫描的结果也千差万别,虽然工具可能比较老,但是不会影响其扫描效果,下面看看我收集的版本.
咱们是用其中一款对目标进行扫描,如下图,什么都没扫出来。
我们换个版本的御剑,扫除了一个系统配置文件和phpmyadmin的一个页面。
下面看dirb的,发现了phpmyadmin、user、SQL、admin、backup、data等目录。
这个差距还是挺大的,工欲善其事必先利其器这句话不是没道理,所以大家一定要注意平时字典和工具的积累!值得一提的是目录爆破dirb是必用的一款工具,因为它可以做目录的递归爆破,所以要想做的好dirb基本是必用的。
端口扫描技术
提起端口扫描简直太小儿科了,大家随便都玩的很熟,今天会说一下防火墙绕过技术,不过在这之前要先说一下shodan这种,很多人会使用shodan和钟馗之眼,下面对同一个IP对比一下结果:Shodan扫描出一个端口8888
下面看nmap扫描出了4个端口,差距还很大的,因为nmap发现了21和22端口。
nmap的绕过防火墙技术
由于例子不好找,这边就不找例子了,nmap绕过防火墙技术对于很多新手或者日常没注意的人很容易忽略,曾经我以为现在防火墙技术很先进nmap的扫描方式已经过时了,近两年发现并没有过时,还挺有用的,这边有必要说一下。
先说说合理设置端口,一般nmap默认的端口是常用的1000个,效果一般,因为现在MongoDB,es,Redis这些不在它默认端口里日常渗透测试很多运维也会把端口设置为非标准的,比如3306设置为5306,比如22端口设置为2222或者22222,比如Hadoop的端口就比较高等等,所以我们要在时间和准确度中设置一个平衡点,一般设置为100-27018,极端情况下我们要进行65535全端口扫描,值得说的一点是经常会遇到afs-server这个7000左右的端口,它是安德鲁文件系统,具体我还没深入研究。下面介绍比较好用的绕过防火墙参数:
-mtu 数据包最大传输单元
—data-length 设置数据包的长度
—scan-delay 延迟一定的时间发包,主要用于绕过频率的限制
—randomize-hosts 对批量目标随机IP进行扫描,适合批量目标一起扫的情况
大部分情况下使用上面的参数或者多个参数进行组合即可绕过防火墙进行扫描。
漏洞检测技术
很多人听到漏洞扫描可能心里就呵呵,漏扫谁不会?客官别急往下看
先介绍两款浏览器插件,为啥要介绍插件呢,因为可以节省很多繁琐的信息收集过程,原本需要搜索相关工具再打开网址粘贴域名的操作依靠插件点一下鼠标就搞定了,两款插件一款是retirejs,一款是Penetration Testing Kit,它俩都是根据站点的组件版本号找对应漏洞的,只是retirejs是只检测前端js库存在的漏洞,Penetration Testing Kit组件可以检测中间件服务器这种版本号对应的cve,更强大一点,他们是互补的,retirejs在Chrome和Firefox中都有,而Penetration Testing Kit只有在Chrome有。因为篇幅有限,下面介绍下Penetration Testing Kit。界面如下:
默认的页面是显示的当前站点使用的中间件和版本号,点击cve栏的那个按钮会显示当前中间件存在的cve漏洞。
Request Builder相当于burpsuite的拦截模块,支持put/get/post和head,在这边可以测试接口,大家都懂,略过。
MacroRecoder是个记事本,有了它你就不用再打开记事本了,记录一点笔记。
Traffic recorder是分析站点登录过程的,上图是我登录demo.testfire.net的登录流程图,你可以看到登录时浏览器和服务器cookie流程的变化。
最后一个是查看编辑json和yaml文件的。
APPscan
现在很多系统功能都隐藏在登录页面后面,不加载登录状态你可能什么都扫不出来,如果遇到验证码工具又过不去,很好的限制了扫描器功能。Awvs虽然强大,它的认证是基于cookie的,它是基于web的系统,注定无法实现appscan的代理扫描模式。Appscan的代理模式类似把appscan当一个burpsuite,它有认证记录功能,可以加载认证扫描。
打开APPscan,选择基于代理的扫描。
设置代理端口和模式,我这设置8088端口,选择本地
然后在浏览器上配置8088代理,这是我Omega switch的设置
这样浏览器就可以把流量代理到appscan
下一步安装appscan的证书
下一步设置登录,点击记录以后,打开要测试的站点。
登录以后,在记录器里会有站点列表,选择你要扫描的站点,点击下一步。
然后一直下一步,设置好扫描,会开启记录器,这时候登录要测试的站点,appscan会嗅探到有登录状态的站点,选择站点
这样就可以加载认证对系统进行扫描了。
文章来源:FreeBuf