本PDF文档为《渗透测试学习记录》系列之一,专注于通过具体案例深入解析渗透测试技术与方法,旨在帮助安全爱好者和专业人士提升实战能力。
### 渗透测试学习笔记之案例一
#### 1. 前言
在渗透测试领域,持续的技术积累和实战经验分享对于个人成长至关重要。本段落档记录了一个具体的渗透测试案例,旨在通过实战演练来加深对渗透测试技术的理解,并为后续的技术积累提供参考。
#### 2. 实验环境设置
本次实验的环境包括:
- **目标靶机**:位于子网`10.11.1.0/24`内的多台服务器。
- **攻击机**:使用`Kali Linux`操作系统,IP地址为`10.11.0.79`。
#### 3. 信息收集
##### 3.1 扫描存在SMB服务的主机
首先使用`nmap`工具进行网络扫描,寻找开放了SMB服务(端口139、445)的目标主机。具体命令如下:
```bash
# nmap -A -p139,445 10.11.1.1-254 -oG smb_service.txt
```
该命令执行后,将所有包含SMB服务的主机信息保存到`smb_service.txt`文件中。然后使用以下命令筛选出运行Windows系统的主机IP地址:
```bash
# cat smb_service.txt | grep -i windows | cut -d -f2
```
根据以上命令输出的结果,可以得到以下主机IP地址列表:
- `10.11.1.5`
- `10.11.1.31`
- `10.11.1.49`
- `10.11.1.50`
- `10.11.1.73`
- `10.11.1.228`(原文误写为`229`,此处更正)
- `其余主机IP地址略`
此外,还创建了一个包含所有SMB服务主机的列表文件`smb_server_all.txt`:
```bash
# cat smb_service.txt | grep -i open | cut -d -f2 > smb_server_all.txt
```
##### 3.2 扫描存在SMB漏洞的主机
接下来,使用`nmap`提供的脚本模块来检测已知的SMB漏洞。这些漏洞包括但不限于:
- `smb-vuln-cve2009-3103.nse`
- `smb-vuln-ms06-025.nse`
- `smb-vuln-cve-2017-7494.nse`
- `smb-vuln-ms07-029.nse`
- `smb-vuln-ms17-010.nse`(原文误写为CVE编号,此处更正)
- `smb-vuln-conficker.nse`
- `smb-vuln-ms08-067.nse`
- `smb-vuln-regsvc-dos.nse`
- `smb-vuln-ms10-054.nse`
- `smb-vuln-ms10-061.nse`
使用以下命令针对每一项漏洞检测脚本进行批量扫描:
```bash
for vulnin in $(find . -name smb*vuln*.nse | cut -d -f6); do
nmap -v -p139,445 --script=$vulin -iL smb_server_all.txt -oN smb_vulns_$vulin.txt;
done
```
扫描结果中发现了多个主机存在以下两个主要漏洞:
- **CVE-2009-3103**:这是一个与Samba相关的远程代码执行漏洞。
- **MS17-010(EternalBlue)**:允许未经身份验证的远程攻击者在受影响系统上执行任意代码。
#### 4. 漏洞利用
对于存在MS17-010漏洞的主机,可以通过进一步的命令来确认其是否存在漏洞并尝试利用。例如,以下命令用于检查并验证特定主机是否受到该漏洞的影响:
```bash
# cat smb_vulns_smb-vuln-ms17-010.nse.txt
```
结果显示,IP地址为`10.11.1.5`的主机确实存在该漏洞。
至此,我们已经完成了从信息收集到漏洞检测再到漏洞利用的基本过程。通过对具体案例的学习,可以帮助读者更好地理解如何运用各种工具和技术来进行渗透测试活动。