别让“隐身术”变成“自杀指南”
哎,说到这个“一日本地提权痕迹清理”,我可太有发言权了,前两天帮朋友处理服务器,那叫一个心惊胆战——就像在别人家客厅里偷偷摸摸擦脚印,还得装作若无其事的样子,你说这事儿吧,干好了是“技术活”,干砸了就是“事故现场”,咱可得好好唠唠。

先别急着动手,您知道自己在擦什么吗?
本地提权这事儿,说白了就是“借力打力”——本来您是个普通用户,通过漏洞或配置失误拿到了管理员权限,但爽完之后呢?系统审计日志、bash历史、临时文件、进程残留……哪哪儿都是您的“指纹”。清理痕迹不是把日志删了那么简单,那可是门“行为艺术”啊!
我见过太多新手,一把rm -rf /var/log下去,好家伙,直接把自己送上“管理员观察名单”,您琢磨琢磨,正常的系统维护谁会把所有日志删光光?这不等于告诉人家“此地无银三百两”嘛!
痕迹清理的“三要三不要”
要学会“精准打击”——只擦您碰过的角落,比如提权用的是CVE-2021-3156(sudo漏洞),那重点清理/var/log/auth.log里的sudo条目;如果编译过内核模块,记得清/root/.bash_history和/tmp下残留的.o文件和源码,懂我意思吧?
要懂得“时间伪装”——touch -d命令改变文件时间戳是基础操作,但您得把三个时间戳(atime、mtime、ctime)都考虑进去,只改一个?那漏洞比渔网还大!哦对,还得注意同一目录下其他文件的“惯性时间”,突然冒出个更早的文件,这不是此地无银吗?
要会用“日志混淆”——选择性修改比删除更隐蔽,把提权那几行session opened改成普通登录记录,顺便把usermod -G admin的痕迹抹掉,这活儿得像绣花一样细,漏掉一个逗号都能炸出个meltdown来!
三不要?第一,别全删日志(上面说了);第二,别忽略/var/log/wtmp、lastlog这些二进制文件,普通人根本读不了,但安全工具一查一个准;第三,别忘了~/.viminfo和~/.python_history这类小众文件——对了!还有/var/spool/cron/crontabs/里的定时任务,提权后顺手加个后门?小心“清理”时自己给自己判死刑。
实战中的那些“惊魂时刻”
哎呦,说到这儿我想起个真事儿,上次我远程操作一台日本服务器,提权成功后习惯性地清理/var/log/secure,正得意呢,突然发现系统里跑着auditd服务,完了!这玩意儿会把所有系统调用记录下来,包括我的open和unlink操作!当时背后冷汗就下来了——您说这“一日本地提权痕迹清理”要是没检查好auditd的配置,那不是等于把作案过程录了像吗?
还有一次,清理到一半发现bash history都改好了,结果回到自己电脑上想复盘,发现终端模拟器里还存着完整操作记录,哎,所以说啊,清理服务器痕迹之前,先得清理自己这台电脑的痕迹,不然这就跟小偷没遮脸就进银行一样离谱。
最终检查清单(收藏版)
给各位“清理大师”们整理个自查表:
- [ ]
history -c并清空.bash_history - [ ] 检查
/var/log/下的secure、auth、messages、syslog - [ ] 处理
/var/log/journal/的日志记录 - [ ] 清理
/tmp和/var/tmp的临时文件 - [ ] 检查
/root/.ssh/的known_hosts和authorized_keys - [ ] 删掉提权工具(比如
/tmp/exploit) - [ ] 最重要:杀掉自己启动的进程,别留个后门进程在跑
说白了,这活儿讲究“润物细无声”
最后再强调一遍——清理痕迹不是把现场破坏掉,而是让一切看起来“本该如此”,最好的状态是连谁来过都查不出来,就像冬天踩过的雪地,隔夜就冻实了,完全看不出脚印。
好了,我能说的就这么多。清理干净不等于万事大吉,学会“隐身”更要学会“别被发现”,咱们技术交流归交流,可别真拿去干坏事啊!
对了,每次干完这活儿,我都得对着镜子默念三遍:“我是好人,我是运维,我只是测试安全……” 你们嘞,有啥惊险的清理经历?来评论区聊聊吧!