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
然后开始执行爆破攻击