首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何从活动的Linux恶意软件中恢复已删除的二进制文件

如何从活动的Linux恶意软件中恢复已删除的二进制文件

作者头像
用户1423082
发布2024-12-31 20:17:41
发布2024-12-31 20:17:41
1.2K00
代码可运行
举报
文章被收录于专栏:giantbranch's bloggiantbranch's blog
运行总次数:0
代码可运行

通常,Linux恶意软件在启动后会自行删除,以免文件扫描器和完整性检查发现二进制文件的存在。这也会使得取得二进制文件变得困难,从而增加了取证分析的难度。

然而,在Linux上恢复已删除的进程二进制文件是很容易的,只要该进程仍然在内存中。

在 Linux 系统中,/proc/<PID>/exe 文件是一个特殊的符号链接文件,它指向当前正在运行的进程所执行的可执行文件。即使该可执行文件已经被删除,该符号链接仍然存在,并且可以继续指向被删除的文件。

这是因为 Linux 系统中的文件删除实际上是通过引用计数来处理的。当一个文件被打开或执行时,系统会为该文件增加一个引用计数。只有当该文件的引用计数降为零时,才会将其删除并释放磁盘空间。

所以恢复已删除的进程二进制文件的基本命令很简单。

代码语言:javascript
代码运行次数:0
运行
复制
cp /proc/<PID>/exe /tmp/recovered_bin

恢复已删除的进程的实践

下面以sleep命令来模拟一个已从磁盘中删除的进程。您可以在自己的Linux系统上安全地运行这一系列命令,以便练习恢复已删除的二进制文件。

代码语言:javascript
代码运行次数:0
运行
复制
cd /tmp
cp /bin/sleep x
./x 3600 &
rm x
代码语言:javascript
代码运行次数:0
运行
复制
# root @ ubuntu in ~ [16:37:43]
$ cd /tmp
# root @ ubuntu in /tmp [16:37:45]
$ cp /bin/sleep x
# root @ ubuntu in /tmp [16:37:45]
$ ./x 3600 &
[1] 13499
# root @ ubuntu in /tmp [16:37:45]
$ rm x
# root @ ubuntu in /tmp [16:37:47]
$ ls -al /tmp/x
ls: cannot access '/tmp/x': No such file or directory

可以看到文件确实不存在了,进程还在运行

代码语言:javascript
代码运行次数:0
运行
复制
$ ps -aux | grep 3600
root     13499  0.0  0.0   9224   748 pts/0    S    16:37   0:00 ./x 3600
root     13540  0.0  0.0  16180  1124 pts/0    S+   16:38   0:00 grep --color=auto 3600

我们ls查看,可以看到文件被标记为删除了

代码语言:javascript
代码运行次数:0
运行
复制
$ ls -al /proc/13499/exe
lrwxrwxrwx 1 root root 0 7月  21 16:39 /proc/13499/exe -> '/tmp/x (deleted)'
# root @ ubuntu in /tmp [16:39:20]
$ ls /tmp/x
ls: cannot access '/tmp/x': No such file or directory

我们用cp恢复

代码语言:javascript
代码运行次数:0
运行
复制
cp /proc/13499/exe /tmp/recovered_bin

可以看到文件完好无缺

代码语言:javascript
代码运行次数:0
运行
复制
# root @ ubuntu in /tmp [16:40:38]
$ md5sum /tmp/recovered_bin 
2fb28b5c237207b71c89ac6eb5861a5c  /tmp/recovered_bin
# root @ ubuntu in /tmp [16:40:48]
$ md5sum /bin/sleep 
2fb28b5c237207b71c89ac6eb5861a5c  /bin/sleep

假如这正是一个病毒木马,你可以可以在安全的虚拟环境中,使用调试器和ida去分析了。

总结

所以,绝不要轻易杀掉你发现的可疑进程,你可能失去获取病毒木马的机会。

如果系统感染了某种病毒,请将其隔离在网络中,然后慢慢查看。不要急于行动,因为这样会破坏关键数据。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 恢复已删除的进程的实践
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档