首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款功能丰富的Perl后门程序分析

一款功能丰富的Perl后门程序分析

作者头像
FB客服
发布2018-03-01 15:27:54
1.4K0
发布2018-03-01 15:27:54
举报
文章被收录于专栏:FreeBufFreeBuf

最近通过Cowrie蜜罐捕获一枚有趣的后门程序,此程序用perl语言编写。功能包括:DDoS(udpflood、tcpflood、httpflood、sqlflood)、hacking(端口扫描、信息收集、本地root、日志清理等)情报信息搜集(packetstorm、milw0rm)等

一、样本信息:

蜜罐日志显示黑客使用密码猜解成功登陆SSH后用wget命令下载了程序:

文件信息:

CRC-32 fb9cfdcb MD5 Hash 8756f19b4385cb2e6b6123da168aca38 SHA1 Hash aa948991579c2f4e7454fd3fecf7c1255a17c835 SHA256 Hash a424c0fc1ac52e34e6bfd68707720ac90148a8dc6450409e85c1dcf24aa7bf8b

VirusTotal 检测信息

二、行为分析:

程序启动后调用conectar函数建立与远程服务器的连接,服务器IP地址:118.178.190.138 端口:9981

测试机运行效果:

然后读取远程服务器端传入的指令:

调用parse函数解析指令,并调用bfunc函数执行相应的任务。此程序核心内容皆在bfunc函数里,因此后续主要分析这个函数。bfunc函数依据传入的指令参数有如下功能:

结束进程:

列出可处理的指令:

进行常见的DDoS攻击:

可以看到访问hxxp://server.perpetual.pw/syn.c下载源文件然后调用GCC编译器进行编译,删除后使用命令行./syn + []+[]+[]执行DDoS攻击。经测试这个下载站点已经失效。

Udpflood

可以看到如果收到的指令包含 udp ,则根据收到的IP地址构造UDP包,持续向目标地址和端口发包,直至给定的结束时间。

Tcpflood

如果收到的指令包含tcpflood ,则调用tcpflooder函数进行持续时间为的tcpflood攻击,tcpflooder函数如下:

实现方法很简单,即根据传入的IP地址、端口、持续时间利用socket方法构造TCP包在持续时间内连续对目标发送建立连接的请求。

Sqlflood:

如果传入的指令包含:sqlflood ,则根据接收的IP地址建立至目标IP地址3306端口的TCP连接,持续时间为。

Httpflood:

如果传入的指令包含:httpflood ,则根据接收的IP地址建立至目标IP地址80端口的TCP连接,持续时间为。

进行常见的hacking功能,如:端口扫描、socks5代理、本地root提权、Google hacking等。

端口扫描

如果解析出指令包含portscan ,则根据给定IP地址对端口列表进行创建tcp连接遍历,获得开放的端口号。

Socks5代理

可以看出如果收到的指令为socks5,则下载mocks安装包,并调用system函数执行命令自动化mock的安装与配置完成socksv5的安装,然后获取IP地址:

简单的通过调用ifconfig命令获取,提示可以连接的IP地址和端口。

本地root提权

如果读取的指令包含rootme则调用”uname -r”和”whoami”命令查看Linux版本号及当前用户。然后根据版本号寻找可用的root工具,版本号列表及对应的root工具存在名为”h”的哈希中:

由于太长只截取一部分,剩余的rootexploits还有:”elfdump”,” expand_stack” ,” h00lyshit”,” kdump”,” km2”,” krad”,”krad3”,” krad3”,” loko”,” mremap_pte”,” newlocal”,” ong_bak”,” ptrace”,”ptrace_kmod”,” ptrace24”,” pwned”,” py2”,” raptor_prctl”,” prctl3”,” remap”,”rip”,” stackgrow2”,” uselib24”,” uselib24”,” smpracer”,” smpracer”,” exp.sh”,”kmdx”,” raptor”,” raptor2”。这部分功能该脚本仅是查询到宿主系统可以用列表中的哪个exploit工具提权,没有后续的提权动作。

发送邮件

可以看出程序利用linuxsendmail发送邮件,接收指令格式为:sendmail 。

利用各搜索引擎dork技巧查询情报(googlehacking、yahoo、msn、fireball等)

如果接收的指令为 multiscan ,则根据给定的vuln和查询字段dork遍历各大搜索引擎的搜索结果。

由于各个函数原理相同只是查询的url和条数略有区别,因此这里只拿Google做说明,其他类似,google函数:

查询记录条数限制在100条。其他函数皆类似。

擦除痕迹,清理日志:

使用system函数调用rm命令删除日志信息和历史文件。

情报搜集:

安全站点news搜集

如果接收的指令为” milw0rm”则会访问milw0rm站点搜集最新的exploits信息,同样的如果接收到指令packetstorm,则会访问www.packetstormsecurity.org获取最新情报

利用google hacking技术搜集含有sql漏洞的站点

接收指令:sql2 ,然后调用之前google hacking讲到的那些诸如google、msn函数进行查询,返回查询结果

然后构造sql语句测试漏洞情况

至此该脚本的大部分主要功能都已分析完毕,接下来进行简单的溯源。

三、简单溯源

脚本在最开始不传入参数的情况下默认与IP地址为118.178.190.138的server建立连接,查询该IP地址信息如下:

Kail 下nmap扫描该主机,没得到有用信息,估计有防护措施,扫描不到有用的结果:

猜测是部署在阿里云上的云主机,尝试浏览器访问此IP得到如下页面:

显示为“向向游戏平台”。至于是这台server也沦陷了还是….就不得而知了。

四、总结

这个后门程序类似于之前网上有报过的名为” DDoS Perl Bot v1.0”的后门程序,只是功能上要丰富许多,作者应该是国外的,被国内黑客通过修改远程server的IP进行定制,从而实现与自己的C&C server交互。可以跨平台,对于安装了Perl解释器的Windows系统同样可以实现部分功能,不过主要还是针对Linux系统威胁较大,用于渗透后植入后门。总的来说功能虽多但实现的质量和方法确实不高,作为案例分享和思路启发还是有一定意义的。

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

本文分享自 FreeBuf 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、样本信息:
  • 二、行为分析:
  • 三、简单溯源
  • 四、总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档