利用/proc/<pid>/exe恢复被删除的文件

  • A+
所属分类:安全文章

利用/proc/<pid>/exe恢复被删除的文件

标题: 利用/proc/<pid>/exe恢复被删除的文件

创建: 2020-08-14 17:47
更新:
链接: http://scz.617.cn:8/unix/202008141747.txt

先不多说,直接看操作序列,有Linux基础的一看就明白。

$ cp $(which cat) /tmp/some

$ md5sum $(which cat) /tmp/some
7dae2782851e077091a2980d986646a2  /usr/bin/cat
7dae2782851e077091a2980d986646a2  /tmp/some

$ /tmp/some /dev/urandom > /dev/null

上述命令不会终止,始终在那里执行,换个伪终端继续。

$ rm -f /tmp/some

$ ls -l /tmp/some
ls: cannot access /tmp/some: No such file or directory

$ ls -l /proc/$(pidof some)/exe
lrwxrwxrwx. 1 scz scz 0 Aug 14 17:44 /proc/56823/exe -> /tmp/some (deleted)

/tmp/some从文件系统删除了,但之前启动的那个进程还在,藉此可以恢复some文件。尽管形式上看"/proc/<pid>/exe"只是个符号链接,且源文件已被删除,但这种情况下可以视之为源文件的物理备份,对之进行拷贝操作。

$ cp /proc/$(pidof some)/exe /tmp/some.recover

$ md5sum $(which cat) /tmp/some.recover
7dae2782851e077091a2980d986646a2  /usr/bin/cat
7dae2782851e077091a2980d986646a2  /tmp/some.recover

该技巧存在很久,有些人可能没往这方面想过,有些人可能长期用不上而忘记它的存在,干脆再提醒一下。

某些时候这招用得上。但有些时候可能必须进行内存转储,考虑自解压、自解密、自脱壳的情形,再比如解密密钥是在环境变量中临时指定的,等等。关于内存转储,参看:

《*nix环境用户态memdump的几种方案》
http://scz.617.cn:8/unix/201811271208.txt

后面的内容与标题无关,但其实后面的内容才是本文的要点,因为我要开始胡说八道打广告了!


利用/proc/<pid>/exe恢复被删除的文件


先看胡珀给某人写的列传:


利用/proc/<pid>/exe恢复被删除的文件


再看胡珀给某人写的简介:

马传雷,著名白帽子,又名马三、三叔、flyh4t、马院长,蚂蚁金服业务安全专家,曾任同盾反欺诈研究院院长、腾讯安全应急响应中心(TSRC)负责人、绿盟安全技术总监,著《互联网业务反欺诈之路》,号“业务安全之父”、TSRC终身荣誉顾问(世袭罔替)


下面是我关于马传雷的描述。首先其自称PHP程序员,我不懂编程,不知道这是拼音首字母缩写还是啥,总之,这位天天给我说PHP是最好的语言。虽然我们宇宙虫族的精神图腾不是这个,但我有几刻也就假装信了。其次,这是我见过的少有的义气之辈,非常之义气,由于事涉个人不便细述,总之在安全江湖中交游极其广泛,为人极其热心。第三,跟前面列传所述不同,这位肚量似海,为人宽厚,正常情况下我会叫他传雷,不正常情况下我会叫她马大妈,你们仔细看看照片,就知道我说的才是真实情况。。他是2007年来NSFOCUS的,跟我有过长达7年的同事关系,后来南下去负责腾讯TSRC,再后来去同盾工作,现在去了阿里。他负责TSRC期间,我还给他贩卖过若干高手,也曾拿过腾讯的荐人费,哈哈。


今天的广告是:


利用/proc/<pid>/exe恢复被删除的文件


购买链接在此:

https://item.m.jd.com/product/12946188.html

或进点击"阅读原文"进行跳转。


发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: