进程的安全性检测的疑问

发布于 2022-09-18 01:40:42 字数 379 浏览 7 评论 0

公司引入一个内部开发的管理系统,由于内部员工对用户名和密码较为敏感。
所以需要对该管理系统进行安全性检测,主要检测内容为该系统在登录过程中是否会记录用户信息(用户名和密码)。

该系统用的是django 框架,然后通过mod_python 模块部署到apache上。

我的检测想法是:在用户登录该系统时时,检测apache 进程的所有行为,记录fd 读写操作,网络操作,数据库操作等。 然后再根据这些信息进行分析。
我的测试环境:ubuntu 8.04,  具有root权限

说实话,这只是我的初步想法,但是对于具体实施还是很迷茫。 不知道各位是否有类似经验,具体怎么操作,需要用到哪些工具?
谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

李不 2022-09-25 01:40:42

以下是转baoz.net上的内容,不知道对你有用没有

今天在一圈子同行的博客上发现了自己之前写的找ssh后门的TIPS,贴回来。BTW,我只写了服务端,其实客户端也可以如法炮制的。

说说如何用strace找ssh后门,过程也很简单,安全的一些技巧经常来自平时的点点滴滴。

首先我先编译一个ssh后门,并在/tmp/xxxxxx记录登录密码

启动他

引用:
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的子进程。

引用:
root@laptop:/usr/local/openssh2/sbin# strace -o aa -ff -p 13619
然后我们登录ssh,成功登录之后,我们看看当前目录,生成了strace的输出

引用:
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

引用:
root@laptop:/usr/local/openssh2/sbin# grep open aa* | grep -v -e No -e null -e denied| grep WR
aa.13635pen(”/tmp/xxxxxx”, O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 3
aa.13635pen(”/dev/ptmx”, O_RDWR) = 3
aa.13635pen(”/dev/pts/5″, O_RDWR|O_NOCTTY) = 6
aa.13635pen(”/var/run/utmp”, O_RDWR) = 7
aa.13635pen(”/var/log/wtmp”, O_WRONLY) = 7
aa.13635pen(”/var/log/lastlog”, O_RDWR|O_CREAT|O_LARGEFILE, 02000) = 7
aa.13635pen(”/var/run/utmp”, O_RDWR) = 6
aa.13635pen(”/var/log/wtmp”, O_WRONLY) = 6
aa.13638pen(”/dev/pts/5″, O_RDWR|O_LARGEFILE) = 7
aa.13638pen(”/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就十分容易发现他们了。

抱着落日 2022-09-25 01:40:42

另外多谢二楼的同学转载我的文章还给出出处了

风尘浪孓 2022-09-25 01:40:42

不太明白LZ的意思。你不是要检测啥管理系统么,为啥又去看APACHE WEB SERVER? 2者有啥关系?

另外,怎么定义不保存用户名和密码?只是指写到文件么?是否包括发到网络?还有在内存里的使用?
如果只是指写到文件里,用STRACE看看应该差不多了。

趴在窗边数星星i 2022-09-25 01:40:42

突然想起来,STRACE这种动态检测还是有很多漏洞的。比如,人家可以留个有条件的后门。只当条件满足(比如某个日期,或者碰到某个特定输入)的时候,那个软件才开始干坏事,记录密码等。在平常的时候,那个软件一切正常。
最好还是有源代码,进行静态检测。当然,也可以反汇编,然后静态检测,不过难度又高了很多。

南…巷孤猫 2022-09-25 01:40:42

照LZ描述的情况,如果有意要搞你。
你基本无法防范。

如果软件中只指定某条件满足的情况下,打包数据库并mail出去。内存根本你就找不到你关注的‘敏感’信息。

这时候我认为还是考虑方法论的好,所谓的技术措施有N多猥琐流来逃脱检测。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文