直观表现

  • 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
  • 1.
  • 2.
  • 3.

宿主机即获取到: /tmp/busybox

方式二

1.登陆官网找到最新的busybox

 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
  • 1.
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
  • 1.
  • 2.
  • 3.
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移走就能使用了
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
5.添加软连接
ln -s /opt/busybox-1.31.0/busybox /usr/local/bin/busybox
chmod +x /usr/local/bin/busybox
  • 1.
  • 2.
问题:

在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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

解决办法:

  • 红帽或者FC的安装ncurses-devel
sudo yum install ncurses-devel
  • 1.
  • Ubuntu的需要安装libncurses5-dev
sudo apt-get install libncurses5-dev
  • 1.

处理过程

使用 busybox 代替系统命令

busybox top
busybox ps -ef
  • 1.
  • 2.

此 busybox 为静态编译版,不依赖 so 库,系统的 ls 等命令已被通过 so 库的 preload 机制被bingdu劫持,ls 会导致 /etc/cron.d/root 文件被刷写为bingdu定时执行命令.

发现比系统命令多两个进程 (进程个数跟 cpu 核数有关), 耗尽了所有 cpu 资源

/tmp/ksoftirqds
/tmp/watchdogs
  • 1.
  • 2.