linux SSH后门文件的查杀与原理分析



      在很多Linux平台的应急响应过程中,发现很多系统都有ssh后门。虽然ssh后门已经存在了10

多年,但是没有公开的信息来解释如何分析它们。所以大部分安全人员找不到ssh后门,不知道怎

么分析,导致ssh后门在系统中长期存在。ssh后门的常见功能是记录登录到主机的所有帐户登陆

密码,并添加通用登陆密码。有的会将账号密码传输到攻击者获得的服务器,攻击者可以利用后

门或者获得的登陆密码直接进入系统。比如你在无人之地,就会长期入侵目标系统,归属于Linu

xAPT攻击技术。这篇文章将解释分析ssh后门的两种方法和ssh后门对应的四个黑客团伙,为你

提供一些分析思路。别的sshwrapper后门和ssh软链接后门都非常简单,这篇文章就不多提了。

有兴趣可以自己做。
 
 
ssh通用登陆密码后门的实现原理。
 
 
ssh程序代码是openssh-server软件库中的可执行文件之一,归属于服务器程序。默认情况下,

它打开22个端口,向外界提供ssh服务。鉴于openssh-server是一个开源代码,所有人都能够更

改和重新编译其源代码,这为攻击者植入恶意代码块提供了技术上的可能性。因而,除了ssh程

序代码之外,openssh-client安装包中的ssh命令经常被攻击者篡改,用于窃取目标机器与别的

外部机器连接的账户登陆密码等信息。


 
 
1.通用登陆密码认证功能示例。以下是openssh-5.10p1在互联网中的1个后门代码。在登陆密码

认证文件auth-pastwpd.c中的auth_pastword函数中添加1个判断条件,如果登陆密码等于SECR

ETPW(这个值可以自己配置),那么返回secret_ok=1,表示登陆密码认证成功,那么下一步的

登陆密码判断过程就不进行了,相当于添加了1个通用登陆密码。ssh登陆密码后门主要有两种

检查方法,静态检查和动态检查。静态检查包括ssh程序代码完整性检查和可执行文件特征检查

。yara规则可以用来收集已知的ssh后门程序特征,然后可以扫描系统中的ssh可执行文件。被

篡改的ssh程序代码逆向分析比较麻烦,动态检查需要一些关于Linux系统调用的知识,适合ss

h加密和shell不能直接逆向分析的情况。
分享: