文件寄生——寄生虫自体繁衍的道路
Hi,又跟大家見面了,相信大家看了上一篇文章《文件寄生——尋找宿主的不歸路(NTFS文件流實(shí)際應(yīng)用)》后,都有看到局限性的一面。
沒看過(guò)上一篇文章的建議先去看完,然后再來(lái)看這篇文章,這樣相對(duì)可以更加的理解。
傳送門:https://bbs.ichunqiu.com/thre...
本文作者:i春秋簽約作家—gh0stkey
首先來(lái)解答一下很多人問(wèn)得問(wèn)題:
這個(gè)NTFS數(shù)據(jù)流文件,也叫Alternate data streams,簡(jiǎn)稱ADS,是NTFS文件系統(tǒng)的一個(gè)特性之一,允許單獨(dú)的數(shù)據(jù)流文件存在,同時(shí)也允許一個(gè)文件附著多個(gè)數(shù)據(jù)流,即除了主文件流之外還允許許多非主文件流寄生在主文件流之中,它使用資源派生的方式來(lái)維持與文件相關(guān)信息,并且這些寄生的數(shù)據(jù)流文件我們使用資源管理器是看不到的。
2、為什么NTFS有數(shù)據(jù)流這個(gè)特性?
原意是為了和Macintosh的HFS文件系統(tǒng)兼容而設(shè)計(jì)的,使用這種技術(shù)可以在一個(gè)文件資源里寫入相關(guān)數(shù)據(jù)(并不是寫入文件中),而且寫進(jìn)去的數(shù)據(jù)可以使用很簡(jiǎn)單的方法把它提取出來(lái)作為一個(gè)獨(dú)立文件讀取,甚至執(zhí)行。
3、為什么資源管理器里面看不到文件所帶的數(shù)據(jù)流文件呢?
我們之所以無(wú)法在系統(tǒng)中看到NTFS數(shù)據(jù)流文件,是因?yàn)閃indows中的很多工具對(duì)數(shù)據(jù)流文件的支持并不是很好,就像“資源管理器”,我們無(wú)法在“資源管理器”中看到有關(guān)數(shù)據(jù)流文件的變化。
不過(guò)這個(gè)原因很奇怪,同樣是MS自己做的東西,"資源管理器都支持不好,還有啥工具能支持好呢?" ,后來(lái)再想,也可能是這樣一個(gè)原因:在當(dāng)時(shí)寫有關(guān)NTFS文件系統(tǒng)的數(shù)據(jù)流存儲(chǔ)的時(shí)候很多WINDOWS工具沒有相應(yīng)的更新,同時(shí)呢NTFS流的顯示與普通的文件不一樣,需要使用其他的枚舉方式來(lái)完成,再有NTFS對(duì)廣大普通用戶桌面用戶來(lái)說(shuō)沒有必要去看到,更多的是被專業(yè)軟件所使用,即使顯示出來(lái)也沒意義。
OK,進(jìn)入正題,那么我們今天來(lái)分析下NTFS文件流這個(gè)寄生蟲的一些“缺點(diǎn)”:
1.宿主需求,寄生蟲需要宿主才可以繁衍:
2.共存狀態(tài)。宿主死亡,寄生蟲隨之死亡。
局限點(diǎn)突破:
1.宿主需求
2.共存狀態(tài)
咱們一次性把這兩個(gè)問(wèn)題解決,首先我們來(lái)測(cè)試下:
測(cè)試1:
一開始我是這樣測(cè)試的,輸入命令:echo mstsec>>hiurlife.txt
因?yàn)閭€(gè)人感覺無(wú)后綴名的會(huì)被windows自動(dòng)隱藏起來(lái),所以就這樣了,而實(shí)際上是自己想的有點(diǎn)多了~
測(cè)試2:
后來(lái)想了下,Windows資源管理器是可以隱藏文件的,而默認(rèn)的服務(wù)器隱藏文件是看不見的,也就是說(shuō),宿主是可以隱藏的:
命令:attrib +s +h hi
解釋:attrib命令的意思,+s是為文件添加系統(tǒng)文件屬性,+h是添加隱藏屬性的意思。
反之使用命令attrib -s -h hi 即可顯示文件:
這邊即使改變了也不會(huì)造成寄生蟲的死去:
此方法可行,在一定的程度上保護(hù)了咱們的寄生蟲。
但是我這個(gè)人吧,有一個(gè)毛病,強(qiáng)迫癥,就感覺不舒服,于是就開始了更隱蔽的測(cè)試。
測(cè)試3:
我重新理了一下思路,既然是無(wú)宿主,那么就順著這個(gè)路線開始慢慢的推進(jìn),那就試試無(wú)宿主自體繁衍:
正常宿主寄生命令:echo gh0stkey>>www:hiourlife.txt
www是宿主文件,無(wú)宿主就刪掉www唄~
修改后的命令:echo gh0stkey>>:hiourlife.txt
可以看見,無(wú)宿主寄生,完全是可以的。測(cè)試3成功。
但是卻無(wú)法應(yīng)用到實(shí)際的操作中,所以這里轉(zhuǎn)換了下思路,讓寄生蟲寄生到文件夾上即可:
echo gh0stkey>>/:hiourlife.txt
實(shí)際測(cè)試:
可以應(yīng)用于權(quán)限維持、BypassWAF等等(功能的靠你們自己的思維分散了)。除非是專殺方面的工具,不然沒辦法檢測(cè)的出來(lái)文件流。而且據(jù)我了解一般的WindowsServer的運(yùn)維是不怎么了解這方面的,倒是取證那一塊有這一方面的介紹,所以相對(duì)是安全隱蔽的。
總結(jié)
以上是生活随笔為你收集整理的文件寄生——寄生虫自体繁衍的道路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TestNG方法測试及注意要点 代码及配
- 下一篇: docker运行mywebsql