linux下样本分析小结

0x0 前言

         没事看看linux~~~~学习学习。然后的重点是linux的调试,文件结构,机制。慢慢积累。

0x1 Perl脚本样本

0x1.1 Perl调试

         Perl是一个解释性语言,此处的调试器为自带的Perl调试器。具体调试指令如下:

  • 启动调试器-d:perl -d Test.pl
    mark
  • 插入断点 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是否存在,以及当前进程正在运行
mark

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

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

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

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

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

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

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

0x2 CoinMiner_linux

         linux_c写的,直接拖到IDA中,发现首先检查w.3ei.xyz,w.21-3n.xyz,http://w.21-2n.com三个域名是否可用。
mark

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

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

         检查crontab.sh是否存在
mark

         kill syslog进程,xig进程,systemctI
mark

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

         清空log,命令历史,mail,避免留下痕迹
mark

  • 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获取信息。
mark

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

         可能存在一个释放过程????
         可能还存在一个创建进程的过程??

         然后判断程序是否正在运行
mark

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

         判断是否需要升级
mark

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

         然后开始执行爆破攻击
mark
mark