PowerView 滲透測試工具使用方法Part.1

2021-02-23 嘶吼專業版

PowerView可能是我寫過的我最喜歡的一個程序,也絕對是我最經常使用的程序(最近的文章就是證明)。我的團隊也大量使用了這個工具包,在過去的幾年裡我們已經提出了一些很酷的用法。很長一段時間內,我一直想分享PowerView一些真正的「強大」用途,比如這篇文章裡寫到的PowerView使用「技巧」 。

這個系列文章的目的是為了演示如何使用PowerView來解決有趣的問題以及我們在每個解決方案背後的思考過程。PowerView不是一個固有的「攻擊性」或「防禦性」的工具集,它是一個幫助解決Active Directory安全問題的工具,無論是黑是白。

本系列中的所有內容都將基於真實的滲透測試場景,每篇文章將至少介紹一個PowerView功能。由於這些場景是基於實際情況中的問題,所以解決方案可能並不總是通用的,但是它們應該是非常有用的。我確信很多人只是使用了PowerView功能的一小部分,我希望向所有人展示它的全部功能。

這個系列的文章將符合下面這個半標準的格式:

·  場景:重點描述在實際滲透測試中遇到的操作問題

·  解決方案:提供完整的PowerView解決方案

·  解釋:一步一步地將解決方案分解,逐步解釋我們的思維過程

隨後的文章中將更新如下內容:

·  PowerView PowerUsage系列#1  - 批量用戶配置文件枚舉

·  PowerView PowerUsage系列#2 - 使用全局編錄映射計算機短名稱

·  PowerView PowerUsage系列#3 - 枚舉外部域中的GPO編輯權限

·  PowerView PowerUsage系列#4  - 尋找交叉信任的ACE

場景一:多用戶配置文件枚舉

假設你正在準備提升域權限,並且想要映射你已經拿到權限的系統3389(或以其他方式交互式登錄)。你也知道這個域可能早已經被入侵過了,所以你想儘可能地限制憑證的暴露。如果我們有一個可過濾的CSV文件來將數據傳送給客戶端,那麼也是很好的,如果可能的話,這會將任何「噪音」 最小化。

解決方案

Get-DomainComputer -LDAPFilter '(dnshostname=*)' -Properties dnshostname -UACFilter NOT_TRUSTED_FOR_DELEGATION -Ping | % {

    try {

        $ComputerName = $_.dnshostname

        Get-WmiObject -Class Win32_UserProfile -Filter "NOT SID = 'S-1-5-18' AND NOT SID = 'S-1-5-19' AND NOT SID = 'S-1-5-20'" -ComputerName $_.dnshostname -ErrorAction SilentlyContinue | % {

            if ($_.SID -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$') {

                $LocalPath, $Time = '', ''

                if ($_.LastUseTime) { $Time = ([WMI]'').ConvertToDateTime($_.LastUseTime) }

                if ($_.LocalPath) { $LocalPath = $_.LocalPath.Split('')[-1] }

                New-Object PSObject -Property @{'ComputerName'=$ComputerName ; 'SID'=$_.SID; 'LocalPath'=$LocalPath; 'LastUseTime'=$Time}

            }

        }

    }

    catch {}

} | Export-Csv -NoTypeInformation user_profiles.csv

解釋說明

首先,我們使用Get-DomainComputer 來檢索了當前域的活動目錄的計算機對象。為了減少「噪音」,我們實現了一個自定義的LDAPFilter,並且讓這個函數隻返回活動目錄中有dnsHostName屬性的計算機。

由於我們很在意機器返回的dnshostname信息,所以可以設置-Properties只要求相關的域控制器返回我們需要的信息。這有助於減少我們和DC之間的網絡流量。

由於我們知道該域可能已經被入侵了,因此,在進行遠程網絡連接時,我們希望儘可能謹慎地使用提升後的登陸憑據。肖恩·梅特卡夫(Sean Metcalf)在「不受約束授權的危險」這一方面有很幾篇很不錯的文章,我沒有太多的時間在這方面進行深入研究,但是我們至少可以返回沒有設置過TRUSTED_FOR_DELEGATION標誌的機器。返回的系統是應該可以通過像WMI這樣的東西來進行進一步滲透。最後,我們也只想從當前的網絡連接到的機器,-Ping參數只能返回機器的標準ICMP ping的響應。

現在有一組我們感興趣的由管道返回的主機名。對於這個特定的場景,我們希望看到誰曾經登錄過一臺機器,我們決定通過Get-WmiObject枚舉Win32_UserProfile類來查看交互式用戶在機器上生成的配置文件。為了減少一些噪音,我們可以「向左優化」,並篩選出一些我們不關心的常見SID。

最後,我們只關心域SID,因此,我們使用'S-1-5-21- [0-9] + - [0-9] + - [0-9] + - [0-9] +'作為過濾器。然後,我們將配置文件的LastUseTime轉換為可讀的格式,然後拆分返回的配置文件路徑,以便了解配置文件的用戶名。我們通過使用New-Object PSObject在包含我們關心的最終輸出元素的管道中間創建一個新的自定義對象,將所有內容都輸出到Export-Csv以便於分析。

場景二:計算機短名稱與全局編錄映射

在參與多域林環境的滲透測試過程中,你最終可能會在文件computers.txt中記錄一些計算機的「短名稱」(如WINDOWS1),以便利用該文件來解析DNS主機名。

解決方案

解釋說明

這個其實很簡單。我們使用gc (Get-Content)輸出計算機短名稱列表,通過管道符和Sort-Object -Unique將其進行排序,作為對列表進行唯一化的一種方式。然後這個唯一的列表通過管道符和%(ForEach-Object)以執行腳本塊({...}中的代碼)的方式傳送到Get-DomainComputer ,以便我們可以適當地過濾名稱。

-SearchBase X 指定了通過對象搜索的LDAP源。在這種情況下,我們會使用全局編錄(點擊這裡查看更多信息),它是Active Directory林中所有對象的部分拷貝。如果我們在當前域(從$ENV:USERDNSDOMAIN拉出)之前指定GC:// ,那麼我們所在域的全局編錄副本將被搜索,而不是在我們當前的域進行搜索。由於計算機對象的「name」和「dnshostname」屬性被複製到了全局編錄中,因此我們可以使用這種方法將短名稱(名稱)快速映射到完全限定名稱,本例中為dnshostname 。

我們通過為從文本文件列表返回的名稱添加了一個自定義的-LDAPFilter 過濾器來完成映射,並且–Properties dnshostname將再次「向左優化」,只返回我們關心的屬性。

相關焦點

  • Windows滲透測試工具CommandoVM安裝使用教程
    2019年3月28日,火眼發布了一個包含超過140個開源Windows滲透工具包含140個滲透工具,紅隊滲透測試員和藍隊防禦人員均擁有了頂級偵察與漏洞利用程序集。該工具集名為「CommandoVM」.火眼旗下麥迪安網絡安全公司顧問以及Commando VM套件的聯合創建者 Jake Barteaux 表示:在進行內部滲透測試時,我身邊的大部分滲透測試工程師都會先自行配置一個Windows測試環境。能不能把這個環境配置好,配得有多快,已然成為了衡量滲透測試工程師手藝高低的標準了。
  • 滲透測試專業人員使用的11種工具
    滲透測試是模擬一種網絡攻擊,在真正的黑客入侵之前,模擬黑客入侵企業網絡來發現薄弱之處。就像電影《Sneakers》一樣,黑客顧問闖入公司網絡以發現網絡的弱點。其中,滲透測試人員或白帽都使用了黑客可用的工具和技術。回到過去的舊時代,黑客入侵是一件非常困難的事,並且需要大量的手動操作。
  • 滲透Hacking Team過程!
    2 社工信息          對於社會工程學來說,搜集員工信息非常重要,包括他們的各自的角色,合約,使用的作業系統,瀏覽器,插件,軟體等。一般使用如下途徑:1)Google這也是最有用的工具。          在正式攻擊之前,我做了很多測試和準備,在硬體裡面寫入了一個後門,並且在嵌入式系統上編譯了各種各樣的工具:1) busybox這個工具大多數的Unix系機器都沒有。
  • 滲透測試工具小抄
    介紹滲透測試工具作弊表,典型穿透測試工作的快速參考高級概述。設計為快速參考作弊表,提供執行滲透測試時將運行的典型命令的高級概述。
  • 專為滲透測試人員設計的Python工具大合集
    滲透測試就是滲透測試工程師完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標網絡、主機、應用的安全作深入的探測,發現系統最脆弱的環節。如果說安全檢測是「橫向地毯式自動化掃描」,那麼滲透測試就是「縱向深度人工化入侵」。可見滲透測試的目的是發現目標系統潛在的業務漏洞風險。
  • web滲透測試對信息收集的方法介紹
    什麼是web滲透測試?一般是指通過模擬黑客的攻擊手法,對計算機網絡系統進行安全評估測試,如果發現系統中存在漏洞,向被測試系統的所有者提交滲透報告,並提出補救措施。這一章將通過滲透測試Web應用和伺服器,向大家介紹滲透測試的方法和技巧。
  • Active Directory滲透測試典型案例(1)
    原作者知識星球:----0x01 前言我有幾個客戶在滲透測試之前來找我,說他們的系統安全做得非常好,因為他們的漏洞掃描顯示沒有嚴重的漏洞並且已準備好進行安全測試,這使我在15分鐘內利用AD中的錯誤配置獲得了域管理員權限。我在滲透測試領域看到的一個教育缺陷是當前涉及滲透Active Directory(AD)方面缺乏知識。
  • 滲透測試神器Cobalt Strike使用教程
    Cobalt Strike是一款滲透測試神器,常被業界人稱為CS神器。Cobalt Strike已經不再使用MSF而是作為單獨的平臺使用,它分為客戶端與服務端,服務端是一個,客戶端可以有多個,可被團隊進行分布式協團操作。
  • 埠掃描—滲透測試(黑客)必熟基礎技能工具
    埠掃描是在滲透測試('pentest')的初始階段執行的任務,以便建立到目標系統的所有網絡入口點。為什麼有這麼多「網絡和埠掃描」工具?網絡上一看似乎有很多「類似」的工具。你可以認為Nmap是最著名的,也是最有用的黑客工具之一。如果您認真對待滲透測試,道德黑客攻擊和IT安全,那麼學習Nmap至關重要。Nmap是免費的嗎?是免費的! 事實上,許多其他工具,例如Metasploit,都會使用Nmap進行網絡發現和安全審計。
  • Kali Linux Web滲透測試手冊(第二版) - 3.1 - 使用DirBuster尋找敏感文件和目錄
    第三章、使用代理、爬行器和爬蟲3.0、介紹3.1、使用DirBuster尋找敏感文件和目錄3.2、使用ZAP查找文件和文件夾3.3、使用Burp套件查看和修改請求3.4、使用Burp套件的Intruder模塊來查找文件和文件夾
  • 入門滲透測試學習經驗分享
    這篇文章面向入門滲透測試的同學,更偏向於學習的方法,而非滲透的技巧,請看準需求再往下讀。我是SINESAFE網站安全公司的技術,水平有限,所以自然親民,和很多滲透測試新手都很熟。他們中的大多數都是大學生,還有很多年的工作,但一直對網絡安全保持著熱情。
  • 新版BlackArch Linux 發布,提供1400款滲透測試工具
    2016.04.28,BlackArch Linux新版本發布,此版本為白帽子和安全研究人員提供了大約1400款滲透測試工具。如果你是一位白帽子或者安全研究人員,這個消息無疑會讓你很感興趣。BlackArch Linux是一款基於Arch Linux的發行版,主要面向滲透測試人員和安全研究者群體。目前BlackArch Linux開發者已經公布了新版本的ISO鏡像。開發者在忙碌了幾個月之後,終於發行了新版本鏡像,替換掉了舊版的ISO鏡像(2016.01.10),新版本增加了超過80款工具,這些工具可被用於滲透測試和安全審計業務。
  • 第一次滲透測試的分享和小結
    最重要,但是既然都開始了,就不能顯得太划水,下面的操作不能讓你成為大神,但是可以讓你在整個過程中"忙"起來相比於網上那些很詳細的手把手滲透教學,本文主要寫一些到 xx公司 直接內網滲透測試的那種簡要步驟所以這一小節主要寫給那些才接觸安全,或者沒有真正做過滲透測試的人吧大佬輕噴,如果有錯誤的地方也歡迎批評指正
  • 2017年最好用的Android滲透工具合集
    在這些App的幫助下,用戶可以直接使用自己的Android設備來完成某些滲透測試任務。免責聲明:本文提及的安全工具和方法僅供試用及教學用途,禁止非法使用,點擊閱讀原文可獲取工具的下載地址。No.1: HackodeHackode是時下最熱門的Android端黑客工具之一,用戶可以免費在Google Play應用商店中下載和安裝Hackode。該工具專為滲透測試人員、白帽黑客、IT管理員和網絡安全專家而設計,Hackode可以執行類似Google Hacking、網絡偵察、DNS Dig和漏洞掃描等任務。
  • 紙尿褲防水透氣膜對水蒸氣滲透性能測試方法
    例如,紙尿褲所使用的防水透氣膜大多是由添加一定量碳酸鈣的聚乙烯材料經過流延、吹塑或拉伸等不同的生產工藝製成,所添加的碳酸鈣的量、防水透氣膜的加工方法及工藝參數、厚度等因素均會影響防水透氣膜對水蒸氣的滲透性能,而該性能的高低則直接影響紙尿褲使用的乾爽性、透氣性及舒適性。  一般來說,水蒸氣透過率較高,水蒸氣在防水透氣膜中的滲透性能越好,能夠較快的將水汽排出,嬰兒體感舒適性好。
  • JavaScript 測試教程 part 1:用 Jest 進行單元測試[每日前端夜話0xE7]
    本文是 JavaScript 測試教程 系列中的第1部分1. JavaScript測試教程-part 1:用 Jest 進行單元測試2. JavaScript測試教程–part 2:引入 Enzyme 並測試 React 組件3.
  • 2020暗月滲透測試全棧學習班
    Cobalt Strike域內自動化橫行滲透12 Cobalt Strike隧道通道的使用13 Cobalt Strikessh隧道在beacon的應用14 Cobalt Strike使用多種方法免殺 payload15 Cobalt Strikemalleable C2的使用16 Cobalt Strike Aggressor-scripts的使用17 Cobalt Strike 可持續後門的使用
  • 2021暗月滲透測試全棧學習班
    Cobalt Strike域內自動化橫行滲透12 Cobalt Strike隧道通道的使用13 Cobalt Strikessh隧道在beacon的應用14 Cobalt Strike使用多種方法免殺 payload15 Cobalt Strikemalleable C2的使用16 Cobalt Strike Aggressor-scripts的使用17 Cobalt Strike 可持續後門的使用
  • 滲透測試中的網站真實IP獲取方法大全
    :https://x.threatbook.cn/  (註冊帳號機制)SecurityTrails:https://securitytrails.com/  (註冊帳號機制,歷史信息一般,比較適合用來快速搜集子域名)站點管理員可能只對部分網站部署了CDN等措施,因此可以通過搜集子域名嘗試發現洩露的真實IP,同時搜集子域也有助於下一環節的信息發現可以使用一些的在線網站或者子域名收集工具
  • Web安全:內網滲透工具
    事實上,黑客們一般談論的滲透都是指內網的滲透(包括外網等公開的網絡空間),即黑客在獲取目標網站的webshell並進入內網以後,就可通過內網滲透工具不斷提升自己權限,以達到控制整個內網的目的。1、流光流光是一款功能十分強大的,對POP3、IMAP、FTP、HTTP、Proxy、Mssql、SMTP及IPC$等進行安全掃描的工具,為小榕軟體實驗室所開發。流光一般用來對系統主機的弱口令進行掃描,在內網的滲透測試中十分重要,如圖1所示。