免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3786 | 回复: 2
打印 上一主题 下一主题

[原创]用strace找ssh后门 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-01 21:58 |只看该作者 |倒序浏览
#本文还在继续修改完善中,想得到最新版请关注http://baoz.nethttp://xsec.org\r\n\r\n作者:baoz\r\n日期:2006-11-18\r\nhttp://baoz.net\r\nhttp://xsec.org\r\n1妹儿:perlish(*)gmail.com or fatb@zzu.edu.cn \r\n欢迎转载任何人任何时候转载到任何地方,转载可保留也可不保留上面的信息。\r\n\r\n有朋友说不知道strace可以做什么,官方的解释就是跟踪系统调用,其实是很实用的功能,下面我们再小应用一下,就说说如何用strace找ssh后门,过程也很简单,安全的一些技巧经常来自平时的点点滴滴。\r\n\r\n首先我先编译一个ssh后门,这个ssh后门会在/tmp/xxxxxx记录所有的登录密码\r\n\r\n启动他\r\n
root@laptop:/usr/local/openssh2/sbin# ps aux | grep sshd\r\nroot     13619  0.0  0.3   7432  1752 ?        Ss   23:44   0:00 ./sshd -p 1234\r\nroot     13707  0.0  0.2   4292  1328 pts/3    R+   23:58   0:00 grep sshd\r\n
\r\n\r\n下面我们用strace跟踪一下pid位13619的ssh进程,其中-ff参数很重要,可以跟踪fork的子进程。\r\n
root@laptop:/usr/local/openssh2/sbin# strace -o aa -ff -p 13619
\r\n\r\n然后我们登录ssh,成功登录之后,我们看看当前目录,生成了strace的输出\r\n
root@laptop:/usr/local/openssh2/sbin# ls\r\naa        aa.13636  aa.13638  aa.13640  aa.13642  aa.13644  aa.13646  aa.13648  aa.13650  aa.13652  aa.13654  aa.13656  sshd\r\naa.13635  aa.13637  aa.13639  aa.13641  aa.13643  aa.13645  aa.13647  aa.13649  aa.13651  aa.13653  aa.13655  aa.13657
\r\n\r\n我们grep一下open系统调用,然后过滤掉错误信息和/dev/null信息,以及denied信息,并且找WR的,就是读写模式打开的,因为要把记录的密码写入文件,肯定要是以写方式打开的文件,大致的看看,很容易找到异常文件/tmp/xxxxxx\r\n
root@laptop:/usr/local/openssh2/sbin# grep open aa* | grep -v -e No -e null -e denied| grep WR\r\naa.13635:open(\"/tmp/xxxxxx\", O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 3\r\naa.13635:open(\"/dev/ptmx\", O_RDWR)               = 3\r\naa.13635:open(\"/dev/pts/5\", O_RDWR|O_NOCTTY)     = 6\r\naa.13635:open(\"/var/run/utmp\", O_RDWR)           = 7\r\naa.13635:open(\"/var/log/wtmp\", O_WRONLY)         = 7\r\naa.13635:open(\"/var/log/lastlog\", O_RDWR|O_CREAT|O_LARGEFILE, 02000) = 7\r\naa.13635:open(\"/var/run/utmp\", O_RDWR)           = 6\r\naa.13635:open(\"/var/log/wtmp\", O_WRONLY)         = 6\r\naa.13638:open(\"/dev/pts/5\", O_RDWR|O_LARGEFILE)  = 7\r\naa.13638:open(\"/dev/tty\", O_WRONLY|O_LARGEFILE)  = 8\r\naa.13638:open(\"/dev/tty\", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3\r\naa.13640:open(\"/dev/tty\", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3\r\naa.13657:open(\"/dev/tty\", O_RDWR)                = 3
\r\n\r\n通过上面的方法,我们可以大致的诊断一下我们的sshd是否被放了后门,但是因为sshd后门多种多样,上面我说到的sshd后门是比较优秀的一种,他可以设置是否记录密码,如果设置不记录密码,那么我们用strace估计是发现不到他的,但是还是有一些ssh后门还要用特殊的配置文件,读取特殊的密码文件,这种我们用strace就十分容易发现他们了。

论坛徽章:
0
2 [报告]
发表于 2007-02-01 22:44 |只看该作者
--\r\n\r\n一些用得到的小工具,最好自己准备一套,放在软盘上,加写保护,以备不时之需\r\n\r\n--

论坛徽章:
0
3 [报告]
发表于 2007-02-02 08:47 |只看该作者
不错。还可以找出程序的bug. 呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP