Ensiko是一款攻击包括Linux、Windows、macOS和其他安装了PHP 的平台的含有勒索软件功能的PHP Web Shell。恶意软件可以远程控制系统和接收命令来在受感染的机器上执行恶意活动。此外,还可以在受感染的系统上执行shell命令,并通过Php逆向shell 发送执行结果给攻击者。
技术细节
Webshell认证
恶意软件使用了密码进行保护。对于认证,奇热恶意软件展示了一个含有隐藏登陆表单的NOT Found页面,如图1和图2所示:
图 2. 密码认证的PHP代码
本例中的密码为RaBiitch,下图是抓取的到web shell的认证请求的网络流量:
图 3. 抓取的网络流量
图 4. Ensikology webshell
Webshell特征
以下是Ensiko的功能:
· Priv Index:从pastebin 下载ensikology.php;
· Ransomeware:用RIJNDAEL 128 CBC模式加密文件;
· CGI Telnet:从pastebin 下载CGI-telnet v1.3版本;CGI-Telnet 是一个CGI脚本,允许攻击者在web 服务器上执行命令。
· Reverse Shell:PHP逆向shell;
· Mini Shell 2:释放Mini Shell 2 webshell payload 到./tools_ensikology/;
· IndoXploit:释放IndoXploit webshell payload到./tools_ensikology/;
· Sound Cloud:展示sound cloud
· Realtime DDOS Map:Fortinet DDoS地图
· Encode/Decode:编解码字符串缓存
· Safe Mode Fucker:禁用PHP 安全模式
· Dir Listing Forbidden:关闭目录索引
· Mass Mailer:邮件炸弹
· cPanel Crack:暴力破解cPanel、ftp和 telnet
· Backdoor Scan:对现有的web shell检查远程服务器
· Exploit Details:显示系统信息和版本
· Remote Server Scan:对现有的web shell 检查远程服务器
· Remote File Downloader:通过CURL 或 wget从远程服务器下载文件
· Hex Encode/Decode:十六进制编码/解码
· FTP Anonymous Access Scaner:搜索匿名的FTP
· Config Grabber:抓取系统配置,如/etc/passwd
· Cookie Hijack:Session劫持
· Secure Shell:SSH Shell
· Suicide:自删除
图 5. 显示Ensiko特征的代码
勒索软件分析
恶意软件使用在web shell目录和子目录中使用PHP RIJNDAEL_128 CBC模式来加密文件,并在文件名后面加上.bak 扩展。下面的代码证明了恶意软件的行为:
图 8. 含有勒索软件密钥的Webshell部分
图 9. 文件被加密的日志
图 10. 目录中加密的文件
图 11. 到受影响的服务器的POST请求
恶意软件会释放一个index.php 文件,并使用.htaccess 文件将其设置为默认页面,然后会通过邮件通知攻击者这一动作。以下代码表明了这一行为:
图 12. 释放的.htaccess 页面代码
图 13. index.php页面被访问时通知攻击者的代码
图 14. index.php 页面
图 15. index.php中编码表单
图 16. 解码后的 index.php
工具集
为了在受感染的系统上执行多个任务,恶意软件可以在系统中加载不同的工具。大多数工具都是从Pastebin 加载的。恶意软件还会创建一个名为tools_ensikology 的目录来保存这些工具。
图 17. 从Pastebin 加载的工具集
Steganologer
恶意软化还使用了一种技术来在图像文件的EXIF header中隐藏恶意内容,然后使用PHP函数exif_read_data 来读取和运行代码。Steganologer 函数可以山别含有EXIF header的图片,并将其标记为logger。下图中,test1.jpg和test2.jpg 的EXIF header中都含有隐藏的代码。
图 18. 含有隐藏代码的文件
图 19. 可以识别含有隐藏的可执行代码的文件的代码
后门扫描
后门扫描可以检查给定的远程主机是否存在硬编码列表中的webshell。
图20-21. 在受感染的服务器上找到其他webshell的代码
远程服务器扫描
与后门扫描类似,远程服务器扫描功能会检查远程服务器上是否存在其他web shell。但其接收手动输入的搜索文件:
图22-23 检查其他webshell的接口和代码
大规模覆写
Mass Overwrite功能可以对含有特定扩展或目录的文件覆写/添加内容,包括web shell的子目录:
图24-25 覆些文件的用户接口和代码
总结
Ensiko是一款攻击者用来进行远程管理、文件加密和其他功能的web shell。部署web shell的常见方法是利用web应用的漏洞或获取被黑服务器的访问权限。此外,Ensiko还具有勒索软件的功能,使用RIJNDAEL 加密算法在受感染的web服务器上加密文件。还可以扫描服务器上是否存在其他web shell,发送大量邮件,下载远程文件,访问数据库,针对FTP、Telnet和CPanel进行暴力破解攻击,覆写指定扩展的文件等。