Kali linux渗透测试系列————27、Kali linux 渗透攻击之身
身份认证 身份认证是确认信任某人的身份。它的含义可能会包含确认某个人、某个应用或是某个硬件的身份,比如验证Alex是政府的雇员,以及他的笔记本电脑是由政府机构颁发的。作为渗透测试人员,通过已授予的实体获得系统的信任、绕过安全认证部分非常有用。
CISSP将身份认证按三个因子归类如下:
- 最常用的确认身份的方式是通过人们知道的内容,比如密码。之前已经对各种密码的破解方法进行了详细的介绍。你能够通过破解密码获得一系列的访问权限,不过许多系统都是用了多个因子的身份认证,也就是说证明某人身份时需要多个认证步骤。
攻击会话管理 身份认证和会话管理涵盖了处理用户身份认证和管理活动的方方面面。对Web应用来说,会话就是用户在某个网站上花费的时间。最佳实践是基于用户和设备是如何通过身份认证的来管理已通过身份认证的会话(也就是,允许你访问哪些内容),同时也要控制会话活动期间哪些资源可以用,可以用多久等。这使得身份认证成为管理授权会话的关键过程。
渗透测试人员的目标是找出具有高权限的允许访问特定资源的账户,并且范围Web应用的时间不受限制。这也是为什么要创建会话管理的安全功能,如会话超时时间和SSL证书的主要原因。不管怎么说Kali中带有的工具可以找出会话管理中的漏洞。比如截获web应用中发送用户退出登录请求的活动会话,然后将那个会话给另外一个人用。这种攻击也称为会话固定攻击。
会话管理攻击可能会出现在利用了应用中的漏洞或是用户如何访问这些应用和进行身份验证的过程中的漏洞时。攻击者攻击的常见方式是对Web服务器进行跨站脚本攻击或是SQL注入攻击。攻击者还可能回利用浏览器中的会话Cookie,或是网页中的漏洞来达到类似的结果。
点击劫持 点击劫持是欺骗用户点击其他东西而不是他们认为正在点击的东西的一种技术。点击劫持可用来显示机密信息,比如登录凭证,也可以用来帮助黑客控制受害者电脑。点击劫持通常会通过嵌入受害者不知情的代码或脚本来揭露Web浏览器的安全问题或是漏洞。执行点击劫持的一个例子是将超链接文本指向一个手信任的站点,而并非真实的站点。普通用户并不会在点击前验证超链接,或是注意到跟常见的点击劫持意图相关的变更,这使得点击劫持成为非常有效的攻击形式。
点击劫持的危害性可能会更大更复杂,而不只是修改超链接这样简单。一般使用点击劫持的攻击者会在网页嵌入Iframe。Iframe的内容会包含从目标网站上获取的数据,兵器通常会放到合法的链接上面,是的它很难被发现。
劫持Web会话的Cookie Cookie是从网站发出来的小块信息快,在用户访问网站时存储到用户的Web浏览器中。网站可以用Cookie来验证该用户是不是再次访问该站点,并且可以取回用户之前活动的详细信息。这些信息包括网页是如何被访问的、用户是如何登陆的,以及用户点击了哪些按钮。不管你什么时候登陆网站,比如Facebook、WordPress,浏览器都会给你分配一个Cookie。
Web会话工具
- Firefox插件:firefox浏览器提供了许多可以用来将窃取的Cookie注入到攻击者浏览器的插件。其中一些例子包括GreaseMonkey、Cookie Manager、Firesheep。这些插件根据自己的用途自我选择即可。
- Wireshark:Wireshark是最流行的免费开源网络协议分析工具之一。Wireshark在Kali中已经安装了,是理想的网络问题排查和分析工具。在本节中,它是用作检测发自目标来截获会话令牌的最佳工具。Wireshark使用GTK+组合工具集来实现他的用户界面,用pcap来进行包住区。他跟tcpdump命令的工作原理非常相似。不过它的作用是带有继承的排序和过滤功能的图形化界面。
- Hamster和Ferrt:Hamster是一款用于通过HTTP会话劫持窃取Cookie的工具,它使用的是被动嗅探,也称为旁路劫持(sidejacking)。Hamster会窃听网络上的数据,抓取所有可见的会话Cookie,然后将窃取的Cookie导入到浏览器的GUI中,这样攻击者就能回放该会话。Hamster使用Ferret来抓取会话Cookie。在启动Hamster时,它会打开一个终端来启动Hamster服务。默认的代理IP地址是127.0.0.1:1234。你可以通过打开一个浏览器并且将其指向:1234来访问Hamster。网络数据要完成它的功能必须流经Hamster。你可以选择点击适配器链接来选择你要使用的网卡。这里我们检测的网卡是eth0。Hamster会将你重定向到一个劫持活动页面。你会注意到你并没有收到任何数据包。Hamster需要一个嗅探器来抓取网络数据包。你可以通过Ferret来实现。在Kali 2018中没有,需要自己安装“apt-get install ferret”。打开Ferret之后输入"ferret -i 网卡名"来选择你要进行嗅探的网卡。Ferret会告诉你正在嗅探,该命令行提示符会悬停在运行状态。在你查看网络数据的同时,在Ferret中抓取的网络数据包会显示成文本。当Ferret运行起来之后,你会在Hamster中看到相应的数据包信息。
中间人攻击 中间人攻击是一种主动窃取的技术形式。其中攻击者会与受害者建立一个连接,并在受害者之间中转信息,使他们以为他们正在与对方通话一样。这类攻击有许多形式,比如使用Hak5的菠萝型无线路由器并将其伪装成一个可信的网络接入点,而实际上扮演的是受害者和无线网络之间的中间人。另一个例子就是使用Kali来在受害者和默认路由器之间转发网络数据,同时嗅探有用的信息,比如登录凭证等。
注:许多云服务比如Facebook和Gmail都通过HTTPS来实施安全登录,这能够防止普通的中间人攻击。要绕过HTTPS,你可以使用SSLstrip工具。它能够显示所有可用于中间人攻击的登录信息。SSLstrip/中间人攻击组合是窃取受害者登录凭据的一个非常有效的方式,如果你有跟目标系统处于同一网络中的攻击系统的话。
dsniff和arpspoof dsniff是一组密码嗅探和网络数据分析工具,用于解析不同的应用协议和提取相关信息。arpspoof用于帮助攻击者向本地网络发送伪造的地址解析协议(ARP)消息。这样做的目的就是要将攻击者的MAC地址和其他主机的IP地址关联起来,从而将发往该IP地址的网络数据都发送给攻击者。
一个人进行中间人攻击的方法是将Arpspoof和dsniff用在系统间。第一步就是找出受害者的IP地址和网络的默认网关。找出IP地址之后,你需要告诉受害者你真的是另一个系统或者默认网关。举个例子,如果受害者A的IP地址是192.168.11.4,默认网关的地址为192.168.11.1,攻击者的地址为192.168.11.145,你应该使用arpspoof命令将你那个145的ip地址设置的看起来像是受害者的和默认网关的。
Ettercap Ettercap是一个用于基于中间人方式的攻击的免费的开源综合工具套件。Ettercap可用于计算机网络协议分析和安全审计,它的功能有嗅探活动的链接、内容过滤、以及对多种协议的主动和被动解析的支持。Ettercap通过将攻击者的网卡设置为混杂模式以及对受害者的机器进行ARP污染来工作。
其他工具 以上的其他工具就不多做介绍了,根据提示说明使用即可!