中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

發布時間:2021-12-18 14:24:39 來源:億速云 閱讀:144 作者:柒染 欄目:網絡管理

今天就跟大家聊聊有關NET下妙用DLL處理映射實現后滲透權限維持的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

0x01 前言

關于文章介紹到的權限維持的方法和步驟,筆者畫了簡易的流程圖 ,如下圖。

傳送門

探索基于.NET下實現一句話木馬之ashx篇

探索基于.NET下實現一句話木馬之Asmx篇

探索基于.NET下實現一句話木馬之SVC篇

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

隱藏手段說明
利用App_Code目錄攻擊者創建類文件并且在代碼中寫入一句話木馬,在別處文件中實例化調用該類
直接上傳DLL攻擊者本地制作一個DLL,可以選擇性的加殼后上傳到Bin目錄下
本地生成DLL攻擊者利用WebShell在Bin目錄下生成DLL后門

第一種方法考慮在App_Code目錄下創建類文件且在代碼中寫入一句話木馬,再回到根目錄下尋找可追加代碼的文件或者創建新的文件來調用類;第二種方法考慮在本地創建好一個DLL最好加上殼,再上傳到Bin目錄下后修改web.config文件增加handlers節點追加映射關系;第三種方法利用本地的環境生成DLL后修改映射訪問;這樣的好處顯而易見,一句話或 大小馬內容全部保存在DLL中,傳統的文本查殺不奏效,并且訪問的時候通過GIF后綴名訪問回顯的是一個圖片驗證碼這樣也能逃逸一些基于流量特征檢測的IDS產品,下面分幾個小節來詳細說明實現的原理和步驟。

0x02 DLL型WebShell后門

在介紹DLL后門之前需要介紹.NET應用中兩個特殊的目錄,一個是App_Code目錄、還有一個是Bin目錄;它們的作用都是在多個Web 應用程序或多個頁之間共享代碼,App_Code 文件夾可以包含.vb、.cs等擴展名的源代碼文件,,在運行時將會自動對這些代碼進行編譯,Web應用程序中的其他任何代碼都可以訪問到,筆者為了更好的演示效果,新建了一個App_Code目錄,并且在About.aspx里實現了下面代碼:

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

Apptest.ashx中代碼如下,作用是輸出一句話“Hello World , this is App_Code ProcessRequest”

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

打開VS調試輸出的結果如下圖

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

若Web應用里存在App_Code 目錄,攻擊者將一句話木馬隱藏在該目錄下的某個文件的方法里,恰好該方法可以被外界的其它的文件調用到,這樣就可以實現一個較為隱蔽的后門程序,但這種隱蔽依舊會被D盾或者安全狗查殺到,顯然這種方法不是最佳的選擇,所以可以考慮放到Bin目錄下的DLL文件中。

至于.NET應用程序中Bin目錄有何作用,先來段介紹:Bin文件夾中存放著已經編譯的程序集,并且 在Web 應用程序任意處的其他代碼會自動引用該文件夾。典型的示例是您為自定義類編譯好的代碼。您可以將編譯后的程序集復制到Web應用程序的 Bin文件夾中,這樣所有頁都可以使用這個類。Bin文件夾中的程序集無需注冊。只要.dll 文件存在于 Bin 文件夾中,.NET 就可以識別它。如果您更改了 .dll 文件,并將它的新版本寫入到了 Bin 文件夾中,則 .NET 會檢測到更新,并對隨后的新頁請求使用新版本的 .dll 文件。接下來筆者假定服務器上已經存在一個WebShell,創建一個ashx的小馬,注意代碼是C#的即可,至于文件的后綴名可以任意指定,筆者指定為C:\inetpub\wwwroot\AdminWeb.txt如下圖

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

保存后到WebShell的CMD窗口下去調用csc.exe編譯這個AdminWeb.txt,csc.exe是 .NET提供的可以在命令行下編譯cs文件的工具,安裝了.Net環境的主機csc.exe的默認位置在 C:\Windows\Microsoft.NET\Framework\[.NET具體版本號]目錄下,例如筆者裝了VS之后也會自動安裝2.0/3.5/4.0版本,在命名行下輸入 /? 看到所有的幫助

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

其中 /t:library 表示生成dll,/r參數表示引用DLL,-out參數表示生成dll的位置,這里很顯然得放到Bin目錄下,完整命令如下:

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

看到下列內容的輸出,表示命令執行成功!

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

WebShell執行結果如圖

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

再跳轉到站點Bin目錄下看到成功創建了想要的AdminWeb.dll文件,至此DLL版本的后門程序已經制作完成。

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

到了這步攻擊者肯定會想到在一個已經存在的文件中去調用這個DLL里的方法,筆者新建了c.aspx文件,里面寫上一段代碼去實例化DLL里的AdminWeb類會觸發其構造方法,代碼如下

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

預覽后得到下圖結果,在實例化類的過程中自動調用了構造方法,執行了DOS下的Set命令。

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

按照這樣的思路在服務器上已經找不到ASPX馬兒的任何特征,最多可以發現新建的c.aspx文件可疑,但調用的方法名看上去很平常,即使管理員用D盾或者安全狗也掃不出任何的蛛絲馬跡,也實現了一種后門權限維持的方法。但筆者還不滿足,接下來還要介紹一種更隱蔽的方法。

0x03 HttpHandler映射

筆者在第一篇介紹ashx中我們提到過 ISAPI,它是根據文件名后綴把不同的請求轉交給不同的處理程序。幾乎一大半的文件訪問都交給 aspnet_isapi.dll 去處理了,很明顯aspnet_isapi.dll對不同的請求采取不同的處理方式,查看C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config配置定義,可以知道ashx是可以自定義配置實現映射關系,例如下面的配置:

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

配置項中path屬性是必選的,它的作用是指定路徑可以包含單個URL或者簡單的通配符字符串如 *.ashx ;  其它的屬性參考下表

屬性說明
name處理映射程序的名稱
type必選的屬性,指定逗號分割的類/程序集組合,一般對應的就是Bin目錄下的DLL
verb必選的屬性,可以是GET/POST/PUT;也可以是腳本映射如通配符*
preCondition可選屬性,可以是集成模式(Integrated)/ 經典模式(Classic)
validate可選的屬性,一般為true

下面筆者演示將通過瀏覽器訪問驗證碼圖片達到命令執行的效果:首先name屬性設置為一個偽裝成正常處理程序的名字PageHandlerFactory-ISAPI-2.0-32;path屬性設置為任意名稱的gif圖片,這里是實現的驗證碼;verb屬性為*表示任意請求都可以;type是最重要的命名空間.類名 ;preCondition屬性設置為集成模式(IIS7性能好)

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

筆者編寫了一個C#的小馬,保存名稱為IsapiModules.Handler.cs ,實現三個功能,一是生成驗證碼,二是創建一個aspx的一句話文件,三是執行cmd命令;生成驗證碼的目的是為了更好的隱藏自己,從HTTP返回的數據里輸出的是一張圖片文件,代碼片段如下圖

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

再在命令行下生成 IsapiModules.Handler.dll,生成DLL的命令如下:

NET下妙用DLL處理映射實現后滲透權限維持的示例分析NET下妙用DLL處理映射實現后滲透權限維持的示例分析

最后只需要在站點根目錄下的Web.config文件新增handlers/httpHandlers節點 ; 注意在IIS6添加如下配置

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

在IIS7集成模式下這樣配置

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

配置好了之后,IIS7服務管理器映射列表中就會注冊筆者自定義的映射程序 PageHandlerFactory-ISAPI-2.0-32,名字和系統的 PageHandlerFactory-ISAPI-2.0很接近,但確實是一個偽裝者

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

打開瀏覽器隨便輸入http://ip/anything.gif?a=c&p=cmd.txt&c=ipconfig ,這個時候界面是一個驗證碼圖片,偽裝的很好,IDS也不好檢測。

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

這個時候已經在服務器上生成了cmd.txt,得到IP配置信息!

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

試想留下這樣一個完美的后門程序,參數加不加的時候都會輸出驗證碼圖片,這樣就可以繞過一些終端產品和流量檢測,達到了很好的隱藏效果。

0x04 菜刀一句話的隱藏

實現菜刀可用的一句話就必須要引入Jscript.Net,而且需要利用.NET FrameWork自帶的jsc.exe去編譯js腳本。有關jsc.exe的命令可以參考 https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/7435xtz6(v=vs.100)

筆者新建IsapiModu1e.Handler.js,實現代碼如下

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

在WebShell里調用jsc.exe編譯js腳本,輸入

NET下妙用DLL處理映射實現后滲透權限維持的示例分析NET下妙用DLL處理映射實現后滲透權限維持的示例分析跳轉到Bin目錄下得到編譯后的DLL

NET下妙用DLL處理映射實現后滲透權限維持的示例分析修改Web.config配置,添加新的DLL映射關系,完成這步整個菜刀后門配置完成。

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

訪問圖片菜刀地址 http://ip/news.gif ,看到下圖表示菜刀馬運行成功!

NET下妙用DLL處理映射實現后滲透權限維持的示例分析菜刀也毫無壓力的連接成功!

NET下妙用DLL處理映射實現后滲透權限維持的示例分析

最后筆者下載了常見的幾款查殺工具,不出預料之前探索出來的一句話木馬和混淆后的DLL均免殺。

0x05 小結

1.   這樣實現的后門非常隱蔽,管理員很難發覺,可以長期權限維持;

2.   生成的DLL也可以在本地,或者再進一步可以混淆或者加殼等等對抗服務端殺軟;

3.   文章的代碼片段和DLL下載請參考https://github.com/Ivan1ee ;

4.   Github上已經有編譯好的并且加了混淆的DLL;

5.   未加混淆的DLL MD5分別是

IsapiModu1e.Handler.dll  => MD5 (39cbf41b99a3751b3ff755509e35b1ae)、IsapiModules.Handler.dll => MD5 (e891914d65f28822aaf2d13ae984eee6)

6.   加殼混淆后的DLL MD5分別是 

IsapiModu1e.Handler.dll => MD5 (8cc5a23e925aa52d0ae80bec8ab28f88) 、IsapiModules.Handler.dll => MD5 (7cbba64946ecbc824c2cca1192b16684)

0x06 防御措施

1.   作為管理員可以通過查看Web.config里的handlers映射關系排查;

2.   通過IIS服務器管理程序排查非法的映射關系;

3.   對于隱藏的大馬或者小馬,傳統的IDS不好檢測,需要終端防護聯動起來排殺;

看完上述內容,你們對NET下妙用DLL處理映射實現后滲透權限維持的示例分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西盟| 云安县| 喀什市| 星座| 牟定县| 德州市| 招远市| 孝义市| 青神县| 平原县| 马关县| 马鞍山市| 渭南市| 汾阳市| 六盘水市| 漠河县| 遂宁市| 正定县| 诸暨市| 南召县| 唐海县| 启东市| 渑池县| 屏东市| 上饶县| 辰溪县| 邹平县| 林州市| 安乡县| 普宁市| 铜鼓县| 桦南县| 望都县| 兰州市| 彩票| 从江县| 宜阳县| 化德县| 改则县| 宁都县| 孟村|