用strace找ssh后门

简介: 首先我先编译一个ssh后门,这个ssh后门会在/tmp/xxxxxx记录所有的登录密码 启动他QUOTE: root@laptop:/usr/local/openssh2/sbin# ps aux | grep sshd root     13619  0.

首先我先编译一个ssh后门,这个ssh后门会在/tmp/xxxxxx记录所有的登录密码
启动他
QUOTE:
root@laptop:/usr/local/openssh2/sbin# ps aux | grep sshd
root     13619  0.0  0.3   7432  1752 ?        Ss   23:44   0:00 ./sshd -p 1234
root     13707  0.0  0.2   4292  1328 pts/3    R+   23:58   0:00 grep sshd
下面我们用strace跟踪一下pid位13619的ssh进程,其中-ff参数很重要,可以跟踪fork的子进程。
QUOTE:
root@laptop:/usr/local/openssh2/sbin# strace -o aa -ff -p 13619
然后我们登录ssh,成功登录之后,我们看看当前目录,生成了strace的输出
QUOTE:
root@laptop:/usr/local/openssh2/sbin# ls
aa        aa.13636  aa.13638  aa.13640  aa.13642  aa.13644  aa.13646  aa.13648  aa.13650  aa.13652  aa.13654  aa.13656  sshd
aa.13635  aa.13637  aa.13639  aa.13641  aa.13643  aa.13645  aa.13647  aa.13649  aa.13651  aa.13653  aa.13655  aa.13657
我们grep一下open系统调用,然后过滤掉错误信息和/dev/null信息,以及denied信息,并且找WR的,就是读写模式打开的,因为要把记录的密码写入文件,肯定要是以写方式打开的文件,大致的看看,很容易找到异常文件/tmp/xxxxxx
QUOTE:
root@laptop:/usr/local/openssh2/sbin# grep open aa* | grep -v -e No -e null -e denied| grep WR
aa.13635:open("/tmp/xxxxxx", O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 3
aa.13635:open("/dev/ptmx", O_RDWR)               = 3
aa.13635:open("/dev/pts/5", O_RDWR|O_NOCTTY)     = 6
aa.13635:open("/var/run/utmp", O_RDWR)           = 7
aa.13635:open("/var/log/wtmp", O_WRONLY)         = 7
aa.13635:open("/var/log/lastlog", O_RDWR|O_CREAT|O_LARGEFILE, 02000) = 7
aa.13635:open("/var/run/utmp", O_RDWR)           = 6
aa.13635:open("/var/log/wtmp", O_WRONLY)         = 6
aa.13638:open("/dev/pts/5", O_RDWR|O_LARGEFILE)  = 7
aa.13638:open("/dev/tty", O_WRONLY|O_LARGEFILE)  = 8
aa.13638:open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
aa.13640:open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
aa.13657:open("/dev/tty", O_RDWR)                = 3
通过上面的方法,我们可以大致的诊断一下我们的sshd是否被放了后门,但是因为sshd后门多种多样,上面我说到的sshd后门是比较优秀的一种,他可 以设置是否记录密码,如果设置不记录密码,那么我们用strace估计是发现不到他的,但是还是有一些ssh后门还要用特殊的配置文件,读取特殊的密码文 件,这种我们用strace就十分容易发现他们了。

目录
相关文章
|
前端开发 网络协议 Shell
系统诊断小技巧(10):ssh/sshd的调试模式
网络应用的逻辑一般都是集中在两端。所以端到端的排查思路是解决问题的重要思路。排查ssh问题也是如此。 那么,怎么让ssh两端输出更多信息呢? 如何启动调试选项? ssh和sshd都有配置选项和命令行选项来启动调试。
5417 0
|
11月前
|
安全 物联网 Linux
通过 SSH 暴力攻击 Linux 服务器
通过 SSH 暴力攻击 Linux 服务器
|
Linux 网络安全 数据安全/隐私保护
CentOS7下使用DenyHosts阻止SSH暴力攻击
CentOS7下使用DenyHosts阻止SSH暴力攻击
362 1
CentOS7下使用DenyHosts阻止SSH暴力攻击
|
运维 安全 Linux
SSH木马后门如何从服务器中查找
关于SSH后门木马查杀,那SSH协议其实它是一个加密的网络传输协议,通常咱们使用它作为Linux管理使用,那它用来传输命令界面和远程执行命令,也就是咱们现在看到的这个界面,通常计算机被入侵之后,如果这个计算机是暴露在外网的,或者是横向打穿了某一台服务器,以另一台服务器作为跳板跳到其他服务器上。一般来说,通过SSH登陆会非常的方便操作命令这个时候是不是就有后门的诞生了。
133 0
SSH木马后门如何从服务器中查找
|
监控 测试技术 Linux
Linux 安装DenyHost防止ssh被暴力破解
DenyHosts介绍     当你的linux服务器暴露在外网当中时,服务器就极有可能会遭到互联网上的扫描软件进行扫描,然后试图连接ssh端口进行暴力破解(穷举扫描)。如果遇到这个问题,一款非常有用的工具DenyHosts可以阻止试图猜测SSH登录口令。
1615 0
|
Linux 网络安全 数据安全/隐私保护