直观表现
- top, ps -ef 无异常进程
- load average 稳步飙升
- netstat 命令被删除
- 尝试建立大量 22 端口,6379 端口的内网连接
- crontab 被添加定时wakuang脚本,删除无效
传播途径
- Jenkins 漏洞 (or 弱密码?) 侵入
- 尝试 root 用户 ssh 的免密登录
- 尝试 redis 内网登录
安装busybox
busybox是在嵌入式Linux系统中非常有用的工具箱,里面有很多非常有用的小工具;工作中在普通的linux主机上也有使用该工具的需求,下面展示如何在centOs上下载使用它。
方式一
docker run --rm -itv /tmp/:/tmp busybox:uclibc
cp /bin/busybox /tmp
exit
宿主机即获取到: /tmp/busybox
方式二
1.登陆官网找到最新的busybox
2.安装依赖
yum -y install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel libmcrypt-devel glibc-static ncurses-devel
3.下载安装包
cd /opt
wget -N -P /opt https://busybox.net/downloads/busybox-1.31.0.tar.bz2
tar -jxvf busybox-1.31.0.tar.bz2
4.编译安装
cd busybox-1.31.0/
make menuconfig ##选择settings-->Build static binary (no shared libs) (NEW) <Y> 选择,输入两次 <Esc><Esc> 后,保存退出
make
l. ##此时在此目录下多出了一个.config的文件
./busybox ls ##编译完成,测试
make install ##使用make install后生成一个_install文件夹,里面存放各种软链接,指向为busybox,将_install移走就能使用了
5.添加软连接
ln -s /opt/busybox-1.31.0/busybox /usr/local/bin/busybox
chmod +x /usr/local/bin/busybox
问题:
在Linux环境make menuconfig的时候出现一下错误。
In file included from scripts/kconfig/lxdialog/checklist.c:24:0:
scripts/kconfig/lxdialog/dialog.h:32:20: fatal error: curses.h: No such file or directory
compilation terminated.
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make: *** [menuconfig] Error 2
解决办法:
- 红帽或者FC的安装ncurses-devel
sudo yum install ncurses-devel
- Ubuntu的需要安装libncurses5-dev
sudo apt-get install libncurses5-dev
处理过程
使用 busybox 代替系统命令
busybox top
busybox ps -ef
此 busybox 为静态编译版,不依赖 so 库,系统的 ls 等命令已被通过 so 库的 preload 机制被bingdu劫持,ls 会导致 /etc/cron.d/root 文件被刷写为bingdu定时执行命令.
发现比系统命令多两个进程 (进程个数跟 cpu 核数有关), 耗尽了所有 cpu 资源
/tmp/ksoftirqds
/tmp/watchdogs