挖矿木马分析

审核大大,这下可以通过了吧


唉,因为审核不通过,把整个脚本的分析删除了,只筛选出比较有意思的内容。


之前在网上拿到了一个挖矿病毒脚本,但没有时间分析。最近有空,所以分析了下该脚本的执行流程,做个记录

该挖矿脚本的执行流程
1.关闭selinux模式
2.释放缓存
3.设置系统可打开的文件数和页面数目
4.打乱常用命令,如:wget,curl
5.关闭清除防护机制,卸载,结束防护软件
6.清除计划任务
7.清除其他挖矿木马程序及其痕迹,结束/tmp目录下执行的进程或cpu占用率大于或等于40的进程,除了phpguard|newdat.sh|phpupdate|networkmanager进程
8,将newdat.sh添加到计划任务,如果用户权限为root,会向ssh追加一条密钥,实现免密登录
9.下载木马程序并执行
10.对相关木马文件加锁,使之不能修改
11.清空iptable的filter表,并添加规则
12.下载bash包
13.清除日志
14.利用ssh实现横向移动
15.通过bash执行is.sh脚本

亮点:
ls -l /proc/pid/exe 可以查询PID的程序路径
cat /proc/pid/cmdline 可以查询PID执行的命令行

ssh执行命令
ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no 主机 ‘命令’

命令,管道符,awk的搭配使用

下面介绍一些挖矿脚本比较有意思的方法
1,通过向/etc/目录文件写入文件来判断用户是否具有root权限

echo 1 > /etc/phpupdates
rtdir="/etc/phpupdates"
if [ -f "$rtdir" ]
then
 .......
else
 .......
fi

2,
ps命令在通过管道符和grep使用时会产生grep进程,所以要使用grep -v grep把grep筛选掉,然后再通过下一个管道筛选出包含/tmp/dl的内容

awk的命令是把前一个管道符传输的内容提取出第二列,也就是PID,传输到下一个管道符

xargs 的一个选项 -I,使用 -I 指定一个替换字符串,这里指定了%,这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次,结果也就是 kill -9 PID

所以这条命令的意思是kill掉包含/tmp/dl的进程

ps aux | grep -v grep | grep '/tmp/dl' | awk '{print $2}' | xargs -I % kill -9 %

输出cpu占用率大于或等于40的进程号

ps axf -o "pid %cpu" | awk '{if($2>=40.0) print $1}'

将数据以/作为分隔符,然后输出分隔出来的第一列

awk -F'[/]' '{print $1}'

3,查找SSH连接过的主机,然后执行命令

-o BatchMode=yes
当BatchMode=yes时,将不会显示交互式口令输入,当BatchMode=no时,将会提示用户输入密码。

-o ConnectTimeout=5
ssh连接超时时间为5秒

-o StrictHostKeyChecking=no
去除公钥确认

if [ -f /root/.ssh/known_hosts ] && [ -f /root/.ssh/id_rsa.pub ]; then
  for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h '命令' & done
fi

4,打乱命令 ,如curl

mv /usr/bin/curl /usr/bin/aaa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值