0x0 前言
没事看看linux~~~~学习学习。然后的重点是linux的调试,文件结构,机制。慢慢积累。
0x1 Perl脚本样本
0x1.1 Perl调试
Perl是一个解释性语言,此处的调试器为自带的Perl调试器。具体调试指令如下:
- 启动调试器-d:
perl -d Test.pl

- 插入断点 b:
b 行号/函数名 条件 - 查看断点 L:
- 删除断点 B:
B 行号 - 添加监视 w:
w $变量名 - 查看监视 p:
p $变量名 - 删除监视 W:
W $变量名 - 步入操作 s
- 步过操作 n
- 执行到返回 r
- 退出调试 q
- 参考自:https://www.cnblogs.com/royenhome/archive/2010/09/09/1822239.html
0x1.2 实例分析
得到样本是一个perl语言编写的脚本,没有加混淆,可读性比较好。
首先判断文件/tmp/.Abe0ffdecac1a561be917bfded951a7a是否存在,以及当前进程正在运行

接着创建一个新进程,然后清空三个标准标志符,将之前创建的进程PID写入/tmp/.Abe0ffdecac1a561be917bfded951a7a


检测配置文件/usr/share/hplip/data/images/24x24/.rc是否存在。如果存在,解析文件中的休眠时间和Hash数据。读取数据暂存到$line变量中,然后利用sqlit函数进行以’,’符号为界限,进行字符串分割,得到onfigHash和DEFAULT_SLEEP_TIME

将收集到的信息,经过加密,形成要发送给C2的数据串,根据返回的结果,解密得到向对应的命令。一共分为四种needregr|newtask|notasks|newreconfig。然后返回到MAIN

根据返回的结果,有m/needregr/ig命令,主要收集用户数据Post给C2,然后升级配置文件

命令m/newtask/ig是主要是任务命令,主要的操作有Command Execution,Download Execute,Download Execute W Params,Uninstall,killcycle,Update Me

m/notasks/ig参数是休眠参数。

参数m/newreconfig/ig为重置命令参数


- IoC:808128d5fb6db3df1a842faeccd9226c
- 参考自:https://mp.weixin.qq.com/s/4t_6vZ4lpEKgViScQJpqDw
0x2 CoinMiner_linux
linux_c写的,直接拖到IDA中,发现首先检查w.3ei.xyz,w.21-3n.xyz,http://w.21-2n.com三个域名是否可用。

然后检查/etc/zigw,/tmp/zigw,etc/zjgw是否存在,如果存在关闭进程,删除文件

下载migrations,并设置777权限,降低可执行文件执行难度。检查进程列表是否存在其他挖矿进程,然后执行migrations


检查crontab.sh是否存在

kill syslog进程,xig进程,systemctI

修改host文件,以便访问挖矿网站

清空log,命令历史,mail,避免留下痕迹
- 0e77987c190b005191d51474e87748ca72cf18ae359fccaab3d6891f541e37ad
0x3 WordPress爆破
根据微步在线情报社区有一篇帖子:35000个WordPress站被攻陷(https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=1774)。通过对C2的溯源,关联到一个elf样本(https://s.threatbook.cn/report/file/0f4755f65c495d3711bf22271f85f1ee86da8b7a487e770f769af56e189be48c/?sign=history&env=centos_7_x64)
通过readelf查看样本信息,发现是一个go语言写的elf样本。使用GolangHelper获取信息。

首先样本通过cat获取了系统的版本和CPU信息



可能存在一个释放过程????
可能还存在一个创建进程的过程??
然后判断程序是否正在运行

将获取到的系统版本和CPU信息发送给C2

判断是否需要升级

初始化攻击模块,利用弱口令进行爆破攻击:设计的软件主要有brut,phpmyadmin,wordpress,WHM,Magento,Joomla,Drupal,Cpanel,Bitrix,Opencart

然后开始执行爆破攻击

