1. 准备测试环境
在隔离的虚拟机(如VirtualBox、VMware)中安装目标Ubuntu版本(如14.04 LTS、16.04 LTS等),确保环境与生产系统分离,避免意外损坏。推荐使用轻量级发行版(如Ubuntu Server)以减少资源占用。测试前关闭不必要的服务(如SSH、Apache),仅开启目标服务以缩小攻击面。
2. 收集目标信息
使用lsb_release -a查看Ubuntu发行版本,uname -a获取内核版本;通过netstat -tuln或ss -tuln扫描开放端口,nmap -sV <target-ip>识别运行服务及版本(如Apache 2.4.7、OpenSSH 7.2p2)。这些信息用于匹配已知漏洞数据库(如Exploit-DB、CVE Details)中的针对性exploit。
3. 选择Exploit工具与代码
根据漏洞类型选择工具:
msfconsole),通过search <keyword>查找对应exploit(如exploit/unix/misc/distcc_exec),通过set RHOST <target-ip>设置目标IP,exploit执行攻击;gcc exploit.c -o exploit编译(需安装gcc:sudo apt install gcc)。4. 执行Exploit测试
Command shell session 1 opened),若成功可通过id命令验证权限(如uid=0(root));./exploit),若出现“段错误”(Segmentation Fault),需使用GDB(gdb ./exploit)反汇编代码(disassemble main),调整内存地址(如修改jmp esp指令地址)后重新编译测试。5. 验证结果与清理
whoami或id确认是否获得root权限;rm -f exploit exploit.c),关闭Metasploit会话(sessions -k <session-id>),恢复系统至测试前状态。注意事项
/etc、/home),防止误操作导致数据丢失;