ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

浅谈找到***点后的处理(清理***)

2019-06-13 11:56:19  阅读:328  来源: 互联网

标签:tmp 浅谈 点后 root 清理 echo chattr so inode


没得说,被***后最直接的办法就是找到了入口点封堵后直接重装搞定。今天要说的机器却因为某些原因不能重装,只有干掉***,清理得干干净净。


一、使用chattr 配合 touch 空文件/echo 杜绝周期任务不曾是一种办法。

以/var/spool/cron/root为例子:

/root/chattr -i  /var/spool/cron/root;echo > /var/spool/cron/root;/root/chattr +i  /var/spool/cron/root

ps:chattr 命令最好从bin 移出来 因为别人同样可以使用chattr来释放权限
ps:这条语句不一定一次就成功,需要多次执行,因为别人的循环速度也是很快的

二、同样是用chattr 来解决掉 user/.ssh 的免密登陆(不做过多介绍这里使用移动目录也是可以的)


三、杜绝了免密登陆之后who -a (可以查看进程号 以及ip)配合netstat 的内容 使用iptable 封杀远程登陆的ip 以及kill掉已经登陆的非自身ip


四、其实之前的处理完毕后,基本上机器已经不会很卡,现在要处理的就是隐藏的小马(大马*** 小马隐藏嘛)

先贴张图
浅谈找到***点后的处理(清理***)

可以看见22 和9033的pid是看不到的显而易见有东西隐藏了进程,这里参照下边的链接
https://blog.csdn.net/nzjdsds/article/details/82919100

虽然看不懂不要紧,这里总结三大类:

1.ps netstat 等命令被替换导致的无法显示

解决方案:直接stat 判断下命令更改事件,直接从未中***机器复制命令替换即可

2.基于lib导致的无法现在

解决方案:centos7 使用 strace ls /proc 2>&1 |grep open 与未中***机器对比加载的so内容即可判断(巧的是本次遇到的就属于这一类 废话不多说上图)

浅谈找到***点后的处理(清理***)

此图可以看到比正常情况多了2个so
/etc/ld.so.preload
/usr/local/lib/libevent_extra-9.5.so
这里我们来看看2个的目录情况

浅谈找到***点后的处理(清理***)

已知的文件都被隐藏了没关系,直接mv 走即可 这里先要做/usr/local/lib/ 后做/etc/ld.so.preload

浅谈找到***点后的处理(清理***)

然后清理掉/etc/ld.so.preload 

浅谈找到***点后的处理(清理***)

恢复正常,最后清理下残余文件即可。注意(周期任务 用户登陆调用脚本 开机调用脚本  关机调用脚本  用户退出调用脚本 一定要清理干净)

3.基于内核模块导致的无法显示

解决方案:lsmod 命令列表 与为中***机器对比即可,不过就算找出来了,若不能rmmod掉,需要重启机器且启动过程的脚本要全面排查,阻止mod的加载。(若是内核加载 常见的被安装了 kernel-devel 等包 因为需要根据机器编译,mod一旦生效 包含自身文件目录,都会被隐藏得干干净净)

第1大类很好做,直接stat 判断下命令更改实

写得比较粗了清理持续了3天中途去研究了下netstat 的原理得如下脚本:

#!/bin/bash
echo -n > /tmp/inode.tmp
for((i=0;i<66666;i++));
do
if [[ -d /proc/$i ]];then
    ls -l /proc/$i/fd|grep "socket"|awk -F 'socket:' -v a=$i '{print "i_"$2"="a}'|sed 's;\[;;g'|sed 's;\];;g' >> /tmp/inode.tmp
fi
done
source /tmp/inode.tmp
while read line 
do
echo -n $line
inode=`echo $line|awk '{print $10}'`
v="i_"$inode
echo -n " "
eval echo -n $`echo $v`
echo " "$v
done < /proc/net/tcp

这个是干嘛的呢,简单解释下,实际上netstat 的内容是取的/proc/net/tcp tcp6 udp udp6的内容,但-p命令实际上是扫描的/proc/进程id/fd 的socket 软连接对应的 inode (php命令的话用fileinode直接可以获取)再使用/proc/net内容的inode 对应得到的进程id , 这段内容参照netstat源码
浅谈找到***点后的处理(清理***)

标签:tmp,浅谈,点后,root,清理,echo,chattr,so,inode
来源: https://blog.51cto.com/qidai/2408311

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有