前段时间我在APT写作时注意到一个问题,我发觉网上大多都是关于Windows恶意软件检查的文章以及教程,而关于怎么找寻Linux系统上恶意软件的资料却少之又少。因而,这篇文章主要是向你们介绍一些有关检测Linux系统恶意软件的方法和技巧。话不多说,让我们步入题外话。
校准二补码文件
有一件事须要检测确认即没有运行的二补码文件被更改。这种类型的恶意软件可以用sshd的版本来支持,以容许使用特定的密码联接到系统,甚至是一些二补码文件的更改版本,它以root用户身分运行,只需窃听触发器数据包的原始套接字即可。因此,我们将以Redhat和Debian为例。
找寻不属于的二补码文件
find /proc/*/exe -exec readlink {} + | xargs rpm -qf | grep “not owned”find /proc/*/exe -exec readlink {} + | xargs dpkg -S | grep “no path”
校准运行的二补码文件是否与包中的文件匹配
find /proc/*/exe -exec readlink {} + | xargs rpm -qf | xargs rpm -Vfind /proc/*/exe -exec readlink {} + | xargs dpkg -S | cut -d: -f1 | xargs dpkg -V
校准所有包文件
另一件须要检测确认的事是即所有属于包的二补码文件都没有被更改。这个过程可能须要一段时间才会完成,但这是值得。我们可以设置一个cronjobs,以在指定时间来运行它。
校准所有包文件
rpm -Vadpkg -V
输出结果
输出应当显示属于包的任何二补码文件,估算二补码文件的哈希值,并将其与包安装或更新时保存的值进行比较。以下是基于Redhat系统的输出。使用dpkg的Debian系统不校准其中的大部份,因而假如更改了二补码文件,只显示“5”。
S文件大小不同
M模式不同(包括权限和文件类型)
5摘要(原先的MD5sum)不同
D设备主/次要号不匹配
LreadLink(2)路径不匹配
U用户所有权不同
G组的所有权不同
TmTime不同
PcaPabilities不同
检测RAW套接字
我们常常能看见RAWsocket侧门。它们侦听传入的数据包并触发风波,比如近来发觉的“Chaos”后门,以及一个在github上搜索rawsocket侧门时弹出的示例。对于这个检测,我们只会瞧瞧使用RAW套接字的过程。使用它们的常用程序并不多,因而我们可以缩小要查看的进程的范围。
使用rawsocketslistening检测二补码文件
netstat -lwp or ss -lwplsof | grep RAW
检测可能的注入显存
这儿可能会存在各类误报的情况。RWX显存(读写执行)被许多程序使用,其中大多数是解释型语言,所以像python和java之类的,或使用任何库解析脚本的就会有此类情况,这是十分正常的。假如你找到RWX显存的许多条目而且该进程不是python或javalinux 查看文件md5,那你就应当仔细的查看一下了。该命令将列举RWX显存的进程id。可以看见以下列举了cronlinux认证,这似乎是不正常的进程。
命令查找pid
grep -r “rwx” /proc/*/maps | cut -d/ -f 3|uniq -c | sort -nr
检测更改的PAM模块
一个常见的侧门是插入或替换PAM模块进行认证。这可以容许远程访问,但是还容许功击者从任何用户获取root权限。这个侧门程序也不关心对/etc/passwd的更改,所以所有的原始密码和更改后的密码依然有效。因为它提供的访问类型linux 电子书,在我看来这是一种极其危险的侧门类型。你可以使用合法登陆条目的正常合同,因而看上去似乎像是没有任何恶意网路活动一样。
校准PAM模块
find /lib64/security/ | xargs rpm -qf | grep “not owned”find /lib64/security/ | xargs rpm -qf | grep -v “not “| xargs rpm -V
SSH访问
保持访问权限并不须要删掉二补码文件的一种特别简单的方式是,只需将ssh秘钥添加到特定用户的authorized_keys文件中,并容许功击者像普通用户那样步入ssh。这也是最难测量的方式之一,由于你须要确定ssh秘钥是合法的还是恶意的,这要求用户验证只有她们的秘钥在该文件中。功击者也可以盗取用户的秘钥,假如她们之前失窃用过的话。
列举所有用户的.ssh文件夹
cat /etc/passwd |cut -d: -f 6 | xargs -I@ /bin/sh -c “echo @; ls -al @/.ssh/ 2>/dev/null”
总结
有许多不同的形式可以保持对Linux服务器的权限访问。以上查找列表并不完整linux 查看文件md5,但都是一些较为常见的查找侧门的方式,包括Meterpreter和github上发觉的其他常见侧门程序。