Kali linux渗透测试系列————23、Kali linux 渗透攻击之服务器端攻击

漏洞评估

服务器端攻击即找出并利用服务器上的服务、端口和应用程序中的漏洞。举个例子,Web服务器都有多个攻击途径(Attack Vector)。它会运行一个操作系统,并运行各种各样的软件来提供Web功能。它会有很多打开的TCP端口。这些途径中的每一个都有可能找出一个攻击者能利用的漏洞,攻击者可以借此潜入系统并获取有用的信息。服务器上的许多协议都是人类可读的为加密文本处理的。

在Kali中也带了较多用来找出服务器端漏洞的工具:

(1)Skipfish

Skipfish是一款Web应用安全侦查工具。Skipfish会利用递归爬虫和基于字典的探针生成一副交互式网站地图。最终生成的地图会在通过安全检查后输出。


有些字典可能在kali中找不到,你可以从https://code.google.com/p/skipfish下载。

如果要对某个目标网站使用定制字典,可以先输入Skipfish,然后用-w选项后跟字典文件的位置路径来选择字典,在其后再使用-o后跟位置路径来指定输出目录,最后是目标网站:

Skipfish -o  <输出位置> -w <字典文件的位置> (目标网站)

(2)ProxyStrike

Proxystrike是一个Web应用代理,用来浏览应用时找出漏洞。它的运行机制跟代理类似,默认监听端口是8008端口,也就是说,你要对浏览器进行设置,使其运行时经过ProxyStrike。这样它才能在你的浏览目标网站时在后台分析所有参数。代理功能非常适合用来识别、拦截和修改请求的内容。


proxyStrik的爬虫功能用来扫描目标网站的SQL或SSL以及XSS的插件漏洞非常方便。你不要将ProxyStrike设置为代理就能使用爬虫功能。要在某个网站上和XSS插件一起运行爬虫功能,你可以点击“Plugins”标签,之后滚动到XSS插件,再勾选框中选中并启用该插件。然后,选中Crawler标签,输入http://目的网站URL,使用插件框来检查爬虫,然后点击它上面大大的Stop按钮,使其状态变为Running即可。添加这些插件会增加扫描需要的时间。Proxystrik会显示一个状态栏,在哪里会显示出扫描还要持续的时间。



(3)Vega

在Kali 2018(kali 2.0)系列中vega已经不存在了,需要自己动手安装


vega是一个安全测试工具,用来爬取一个网站,并分析页面内容来找到链接和表单参数。

如果要运行vega直接在终端输入vega即可:


在vega的右上角有一个Scanner和Proxy标签。要将Vega用作扫描器,点击右上角的Scanner标签,然后点左右脚的Scann开始新的扫描


之后会有对话框弹出,要求输入目标URL即可:


之后的扫描选择设置根据自己的目的进行设置即可!

(4)OWASP ZAP

OWASP ZAP也称为Zaproxy,是一个专门为Web应用的安全测试而设计的拦截代理。

你可以在终端输入“owasp-zap”来启动:


注:在这页面正式进入之前会有一个弹框,询问是否“创建一个SSL根CA证书。”这样Zaproxy就可以拦截浏览器总通过SSL传送的HTTPS数据。

对测试使用HTTPS的应用来说,这非常重要。要生成SSL证书,点击Generate按钮即可!

由于篇幅问题,所以在这里就不对OWASP-ZAP进行详细的介绍了,有机会我会在我的博客中的工具部分进行讲解其具体的使用方法。

(5)WebSploit

WebSploit是一个用来扫描和分析远程系统以找到漏洞的开源项目,在Kali 2018中需要自己安装


要开启websploit只需要在终端输入“websploit”即可:


你可以使用show modules来查看有哪些可以使用的模块:


如果要使用只需要在前面加上“use”即可,其使用方法与Metasploit很是相似。

漏洞利用

如果渗透测试人员在目标侦查阶段投入了足够的时间和资源,他很有可能就已经列出了有可能有漏洞的哪些目标。下一步就是评估每一个目标对你的任务的价值,并进行排序。可以评估对潜在漏洞的进行利用需要投入的精力,结合执行攻击时的连带风险一起考虑。Kali中自带的漏洞和漏洞利用工具非常适合对Web应用服务器进行侦查时找出和利用漏洞。

(1)Metasploit

Metasploit框架是进行服务器端攻击时一种最流行的功能工具,它也被认为是对渗透测试人员最有利的工具之一。介绍Metasploit的使用的部分在我的Metasploit系列学习中有详细的介绍,我在此处就不再过多的讲解了。

(2)W3af

w3af是Web Application Attack and Audit Framework(Web应用攻击和安全审计框架)的缩写。它是一个开源的Web应用安全扫描器和漏洞利用工具。

w3af在Kali2018中没有带,需要自己安装,安装方法请参考:

https://jingyan.baidu.com/article/c1a3101e710d84de656deb86.html

对于W3af的使用请参考本博主的工具系列文章!

利用电子邮件系统的漏洞

从本质上来说,所有的电子邮件系统都要接入互联网,接收来自外部的匿名访问,这样才能起作用。许多企业用户都会通过电子邮件发送机密信息。在大多数环境中,电子邮件服务器都会报存一些有价值的信息,这使得他们成为了攻击者的最高优先级目标。对使用者来说,好消息是只要正确配置了,现代电子邮件系统是极其难被抓住漏洞的。但这并不意味着电子邮件系统对攻击者来就是免疫的。大多数邮件系统都有Web应用,并可以通过Web界面访问。这提高了远程攻击者获取核心系统访问权限的可能性,攻击者可以利用它作为跳板,连接到内网的其他系统。

在我们将邮件系统作为目标之前,首先需要知道托管邮件服务器是什么系统。如果不知道这些信息,可以通过fierce来找出MX主机。在大多数情况下,MX主机就是SMTP服务器。

暴力破解攻击

暴力破解攻击是指对加密数据尝试所有可能的密文,知道找到正确的密文。从资源和时间占用角度来看,暴力破解攻击的成本极高。攻击者通常是看中了密文的长度限制和密文的简单性来对加密中的漏洞加以利用。如果密文通常是基于字典中的单词,那么这意味着攻击者需要测试的全部空间就是对应的词典中的所有单词,这使得猜测的范围远小于采用随机字符的单词。避免暴力破解攻击的最好方法就是使用很长的复杂密文,外加尝试多次后采用超时阻止等其他方法来提高安全因子。

常见的暴力破解攻击的工具有:

  • Hydra(密码破解)
  • DirBuster(目录枚举)
  • WebSlayer(表单、post\GET参数)

破解密码

密码是用户在系统上认证身份最常用的方法。在对目标系统进行漏洞利用时,通常也能找出能够访问其他系统的密码。常见的密码破解工具有如下:

  • John the Ripper

中间人攻击

在标准定义中,中间人攻击(MITM,Man-In-The-Middle)是指攻击者跟受害者分别建立独立链接的一种侵入式攻击方式。中间人攻击最常出现在主机系统之间。

SSL Strip

2009年,安全研究人员Moxie Marlinspike在DefCon上发布了SSL strip工具。他介绍了SSL会话劫持的基本概念,这是一种中间人攻击的形式。其中网络攻击者代理的是来自用户的HTTPs请求,而非可以被拦截和篡改的通过HTTP发送的请求。SSL Strip可以将这种攻击自动化,允许第三方拦截到安全站点的数据连接。随后,人们制定了HTTP严格传送协议(HSTS,HTTP strict Transport Security Speification)来应对这类攻击。但HSTS的部署进程非常慢。时至今日,SSL会话劫持攻击仍然广为使用。

这一部分关于SSL中间人攻击的内容自己可以在网络上找到好多的相关资料,我就不在这里啰嗦了!