闲谈:渗透测试-红队版
閑談:滲透測試-紅隊版
- 第二篇
- Blind XSS漏洞
- 反序列化攻擊
- JavaScript 和遠程代碼執行
- 服務器端請求偽造(SSRF)
- XML 外部實體攻擊(XXE)
- 如何開始攻擊網絡
- 從外網尋找侵入對方系統的登陸憑證
- 通過網絡移動
- 權限提升
- 利用 Windows 域環境的本地應用程序進行攻擊
- 社會工程學攻擊
- 物理攻擊
- ID 卡復制器
- 繞過入口點的物理工具
第二篇
短短的一生我們總會失去。你不妨大膽一些,攀一座山,追一個夢。
Blind XSS漏洞
見字知意,正如攻擊的名稱所表示的那樣,攻擊者/用戶看不到存儲的 XSS payload 的執行(無回顯),只有管理員或后臺員工才能看到。易被遺忘,可能危害更大。
擊。 ,可以使用 XSSHunter 來幫助我們驗證 Blind XSS 漏洞。
禁用任何代理(即 Burp Suite)
在 https://xsshunter.com 創建帳戶
登錄 https://xsshunter.com/app
轉到 Payload 模塊以獲得你的 Payload
修改 payload 以適應你的攻擊或使用它構建 Polyglot
檢查 XSS hunter 以查看 payload 執行情況
如何通過 XSS 獲取 Shell?
Hans-Michael 完整的演練示例和代碼:https://github.com/Varbaek/xsser
反序列化攻擊
2.例 https://www.jianshu.com/p/d567bcaa4c29
JavaScript 和遠程代碼執行
.遠程代碼執行是我們在每次入侵和 Web 應用程序滲透測試中必須尋找的。雖然 RCE 幾乎可能在任何地方找到,但它們最常見于允許上傳的地方,
引用文本
服務器端請求偽造(SSRF)
**例子:**假設你有一個公共 Web 應用程序,允許用戶通過 URL 從 Internet 上下載配置文件圖像。你登錄該站
點,轉到你的個人資料,然后單擊 Imgur(公共圖像托管服務)的更新個人資料按鈕。你提供圖像的 URL( 例
如:https://i.imgur.com/FdtLoFI.jpg )并點擊提交。接下來發生的事情是服務器會創建一個全新的請求,轉到
Imgur 站點,抓取圖像(它可能會執行一些圖像操作來調整圖像-圖像跟蹤任何人的大小?),將其保存到服務
器,并發送成功消息回到用戶。如你所見,我們提供了一個 URL,服務器獲取該 URL 并抓取圖像,并將其上傳到其數據庫。我們提供了最初的 Web 應用程序的 URL,以從外部資源中獲取我們的個人資料圖片。但是,如果我們將圖像 URL指向 http://127.0.0.1:80/favicon.ico 會發生什么?這將告訴服務器不是請求像 Imgur 這樣的東西,而且從本地主機服務器(它本身)獲取 favicon.ico 圖片文件。如果我們能夠獲得返回包的值是 200 或使我們的個人資料圖片成為本地的 favicon 圖片,我們就知道我們可能發現了 SSRF。由于它在80端口上工作,那么如果我們嘗試連接到 http://127.0.0.1:8080 會發生什么情況(8080 是一個除localhost 之外無法訪問的端口)?這就是它變得有趣的地方。如果我們確實得到完整的 HTTP 請求/響應,并且我們可以在本地對8080端口發出 GET 請求,那么如果我們發現了一個易受攻擊的 Jenkins 或 Apache Tomcat 服務會發生什么?即使這個端口沒有被公開監聽,我們可能也可以入侵這個環境。更好的是,我們或許可以開始請求內網IP:http://192.168.10.2-254 ,而不是127.0.0.1。回想一下那些返回了內網 IP 泄露的網絡掃描結果,你對此不屑一顧。但是這正是它們重新發揮作用的地方,我們可以通過它們來使用內部網絡服務。
SSRF 漏洞允許你可以執行以下操作:
XML 外部實體攻擊(XXE)
XML 代表可擴展標記語言,旨在發送/存儲易于閱讀的數據。XML 解析常見于允許文件上傳,解析 Office 文檔,JSON 數據甚至 Flash 類型游戲的應用程序中。當允許 XML 解析時,不正確的驗證可以授予攻擊者讀取文件的權限、導致拒絕服務攻擊,甚至遠程代碼執行。
普通 XML 文件惡意 XML 文件
如果我們看不到響應或遇到字符或文件限制怎么辦?我們怎樣使用帶外數據協議(OOB)來發送我們的數據?我們可以提供遠程文檔類型定義(DTD)文件來執行 OOB-XXE,而不是在請求 payload 中定義我們的攻擊。DTD 是結構良好的 XML 文件,用于定義 XML 文檔的結構和法律元素及屬性。
如何開始攻擊網絡
從外網尋找侵入對方系統的登陸憑證
找到最初的攻擊點可能很麻煩,需要耗費大量的資源。也可以偽造受害者的身份驗證頁面、購買非常相似的域名來對目標實施釣魚,以及編寫自定義的惡意軟件、暴力破解密碼等不同的方法。公司的電子郵件(如 Office 365或 OWA)、通信工具(如 Lync、XMPP、WebEx)、協作工具(如 JIRA、Slack、Hipchat、Huddle)和其他外部服務(如 Jenkins、CMS 站點、支持站點)進行身份驗證。都可以成為我們的目標突破口。
介紹一下密碼噴灑攻擊
與密碼爆破攻擊可以說是相反的。在密碼爆破攻擊中,黑客選擇一個易受攻擊的 ID 并一個接一個地輸入密碼,希望有一些密碼可以讓他們進入。基本上,密碼爆破是用多個密碼嘗試破解同一個 ID。而密碼噴灑攻擊,是用一個密碼來嘗試多個用戶ID,以便至少有一個用戶 ID 被泄露。對于密碼噴灑攻擊,黑客使用社交工程或其他網絡釣魚方法收集多個用戶 ID。通常情況下,至少有一個用戶使用簡單的密碼,如12345678甚至是 p@ssw0rd
針對不同的外部服務進行身份驗證原因:
有些身份驗證程序不會記錄從外部服務嘗試驗證的次數。雖然我們通常看到電子郵件或 VPN 系統要求雙因素驗證(2FA),但面向外部的即時通訊系統可能不需要。密碼重用的可能性非常高。有的時候,當使用 AD 賬戶多次重復登錄失敗時,外部系統并不會將此賬戶鎖定。
一些猜密碼的思路:
生日,名字,身份證號,電話號碼,
月份和年份的數字組合。
當地的球隊和球員的數字編號組合。
查看一些以前泄露出來的數據,找一些有沒有目標公司的用戶資料泄露,因為相同公司的用戶可能會使用類
似的密碼。
公司名稱+年份/編號/特殊的字符 (如!,$,#,@)
通過網絡移動
作為一名紅隊成員,應盡可能安靜地在網絡中穿梭。使用“特征”來查找和利用有關網絡、用戶、服務等信息。通常,不希望在內網環境中進行任何漏洞掃描相關的活動。有時甚至不希望對內部網絡運行 nmap 掃描。因為許多公司已經非常擅長檢測這些類型的掃描,特別是在運行漏洞掃描器這樣動靜很大的東西時。我們將集中精力在不觸發任何檢測防護的情況下在 CSK 的網絡進行橫向漫游。假設我們已經以某種方式進入內部網絡并開始尋找你的第一組憑證,或者已經擁有了一個用戶機器上的 shell。
真正學會如何攻擊目標環境的唯一方法是自己親手構建一下目標環境
理想的 Windows 測試實驗環境:
配置和創建域控制器
設置客戶端機器(Windows 7/10)加入域:將所有機器都打好系統補丁,將機器連接到域,主機上啟用本地管理員并設置密碼
將 GPO(組策略)設置為:禁用防火墻,禁用 AV,禁用系統自動更新,將 Helpdesk 用戶組添加到本地管理員組,僅允許域管理員、本地管理員、Helpdesk 登錄,最后,將 GPO 設置同步到主域。
設置 IIS 服務器并配置 SPN
在內網中沒有憑據
在網絡上偵聽并偽造請求以獲得網絡上的憑據。
https://github.com/SpiderLabs/Responder
權限提升
未被引用服務路徑:
這是一個相當簡單和常見的漏洞,其中服務可執行路徑沒有被引號括起來。這是很容易被利用的,因為如果
路徑周圍沒有引號,我們就會利用當前服務。假設我們有一個服務被配置為執行 C:\Program Files
(x86)\Cyber Kittens\Cyber Kittens.exe。如果我們有 CK 文件夾的寫入權限,我們可以將其替換為
C:\Program Files (x86)\Cyber Kittens\Cyber.exe(注意,原名稱中的 Kittens.exe 消失了)的惡意軟件。如
果服務在系統上運行,我們可以等到服務重新啟動,并讓我們的惡意軟件作為一個 system 帳戶運行。
如何找到易受攻擊的服務路徑:
通過 wmic 服務獲取名稱、注意 displayname、pathname、startmode |findstr /i “Auto” |findstr /i /v
“C:\Windows” | findstr /i /v “”"
尋找 BINARY_PATH_NAME
查找服務中存在的不安全的注冊表權限:,識別允許更新服務映像路徑位置的弱權限賬戶
檢查 AlwaysInstallElevated 注冊表項是否已啟用:檢查 AlwaysInstallElevated 注冊表項,該注冊表項指示.msi 文件應以較高的權限 ( NT AUTHORITY\SYSTEM) 安裝
**從 Windows 憑據管理器和瀏覽器獲取密碼 **
Windows 憑據管理器是 Windows 的默認功能,用于保存系統、網站和服務器的用戶名、密碼和證書。記不記得
當你使用 Microsoft IE/EDGE 對網站進行身份驗證后,通常會彈出一個彈出窗口,詢問“是否要保存密碼?”憑證存儲就是存儲這些信息的地方,在憑據管理器中,有兩種類型的憑據:Web 和 Windows。你還記得哪個用戶有權訪問這些數據嗎?它不是 system,而是登錄后可以檢索此信息的用戶。這對我們來說是很好的,就像任何釣魚網站或代碼執行一樣,我們通常都可以用別的方法獲得那個用戶的權限。最好的一點是,我們甚至不需要成為本地管理員來提取這些數據。
使用PowerShell無文件地提取敏感瀏覽器信息:
https://github.com/sekirkity/browsergather
利用 Windows 域環境的本地應用程序進行攻擊
Service Principal Names(服務主體名稱)
它允許客戶端能夠唯一地標識服務的實例。因為任何域用戶帳戶都可以查詢與 Active Directory 關聯的所有服務帳戶和服務器的AD。在那些運行 MSSQL 服務器、HTTP 服務器、打印服務器和其他服務器的服務帳戶找到一個用于服務的 SPN。對于攻擊者來說,查詢 SPN是爆破階段的重要部分。
在任何已經加入域的計算機上,攻擊者都可以運行 setspn.exe 文件來查詢 Active Directory(AD)。此文件是所有 Windows 機器默認自帶的 Windows 二進制文件。
setspn -T [DOMAIN] -F -Q /
功能:
-T = 對指定域執行查詢
-F = 在 AD 環境而不是域級別環境執行查詢
-Q = 在每個目標域或林環境上執行
/ = 顯示所有
【在cmd中運行setspn即可】
查詢 Active Directory
找到了一個域用戶帳戶和密碼(沒有其他特權的域用戶帳戶)我們通常可以在打印機,共享信息工作站,帶有服務密碼的文本文件,配置文件、iPad、包含密碼的 Web 應用程序的頁面源代碼中中找到這些類型的帳戶,但是,對于這些沒有其他組成員資格的基本域用戶帳戶,可以用來做什么?
轉儲域控制器哈希
一旦我們獲得了域管理訪問權,從 DC 中提取所有哈希的老方法就是在域控制器上運行命令,并使用 Shadow Volume 或原始拷貝技術提取 ntds.dit 文件。
磁盤卷影復制技術
獲取存儲在 ntds.dit文件中的所有域內哈希。可以利用名為 Volume Shadow Copy Service 磁盤復制服務(VSS)的 Windows 功能,該功能將創建磁盤的快照副本。然后我們可以從該副本中讀取 Ntds.dit 文件將其獲取出來。并將其從計算機上取消,這包括竊取Ntds.dit、System、SAM 和 Boot Key 文件。最后,清理我們的行蹤并刪除磁盤拷貝。
在 Linux 中橫向移動
如果你幸運地獲得了一個 SSH shell,那么我們可以通過該系統進行滲透。我們如何獲得 SSH shell 呢?在許多情況下,一旦我們可以實現本地文件包含(LFI)或遠程代碼執行(RCE),我們可以嘗試權限升級以讀取/etc/shadow 文件(和密碼破解),或者我們可以利用一些 Mimimikatz 風格的方法
因為Linux 系統也有同樣的問題,密碼以明文形式存儲。
Linux 提權
在很大程度上與 Windows 類似。我們尋找可以寫入的易受攻擊的服務、那些棘手的錯誤配置、平面文件中的密碼、所有的可寫文件、計劃任務,當然還有修補問題。
一個漏洞是 DirtyCOW。
DirtyCOW 的工作原理是“在Linux內核的內存子系統處理寫訪問時只讀私有映射 COW 情況中斷的方式中發現了競爭條件。非特權本地用戶可以使用此缺陷獲取對其他只讀內存映射的寫訪問權限,從而增加他們在系統上的權限。”[https://dirtycow.ninja/]簡而言之,此漏洞允許攻擊者通過內核漏洞從非特權用戶轉到 root 權限。這是我們能想到的的最佳權限提升的方法!但有一個問題是它會導致一些內核崩潰,所以我們必須確保在正確的 Linux 內核上使用正確的版本。
社會工程學攻擊
作為紅隊隊員,我們鐘愛社會工程學攻擊。不僅因為它通常包含低技能攻擊,而且因為它也很容易以非常低的成本來策劃一場值得我們高度信賴的戰役。只需設置幾個假域名、服務器、策劃一些電子郵件、假裝丟掉一些 badUSB,然后就可以結束一天的工作了。
近似域名
克隆驗證頁面
快速克隆Web應用程序登錄驗證頁的最佳工具之一是 TrustedSec 公司開發的社會工程學工具包(SocialEngineering Toolkit,簡稱 SET)。這是任何需要獲取身份憑證的社工活動的標準工具包 https://github.com/trustedsec/social-engineer-toolkit 下載。
https://www.bookstack.cn/read/daxueba-kali-linux-tutorial/39.md如何使用SET
使用雙因素驗證的身份憑證
對于紅隊來說雙因素認證是一個巨大的麻煩,因為它們不可能被隨意繞開。在以前我們必須創建一些定制化的頁面,這樣可以處理其中的一些情況。但現在我們有了ReelPhish,這是 FireEye 公司制作的一個工具。當受害者在我們的釣魚網頁上輸入登陸憑證時,ReelPhish 允許紅隊利用 Selenium 和 Chrome 來自動觸發雙因素驗證。
網絡釣魚
網絡釣魚的秘訣在于激發受害者的恐懼感或者緊張感,有時也會向受害者描繪一些非常美好(甚至不太真實)的誘惑。
一封帶有欺詐性購買的虛假電子郵件
有人黑進了你的電子郵件消息
有關稅務欺詐的電子郵件
檢測“響應”:一般性攻擊會產生員工通常每10封基本釣魚式攻擊郵件中至少有1封會被上報。在某些情況下,比例甚至更高。這些情況對于一個紅隊來說是很有價值的,紅隊可以持續監控這些簡單的網絡釣魚攻擊。
自動化釣魚攻擊:
Gophish 易于設置和維護,并且支持模板和HTML,另外它還會跟蹤和記錄你所需的一切。
Phishing Frenzy就是一個使用 Ruby語言寫的很好的工具。
當然,少不了的也有用 python 語言寫的工具,King Phisher 就是使用 Python 開發的
具有高可行度、針對性的入侵行動少不了手動的社工。尋找該公司泄露信息的電子郵件包括可能正在運行的程序、新的特性、系統升級、代碼合并等等。使用所有的開源工具來搜索有關人員及其財產、家庭等的信息。獲取他們的社交媒體帳號,找出他們的孩子上學的地方。然后我們向他們發送一封欺騙性電子郵件,假裝是學校發的,說他們需要打開這個 word 文檔。要做完這一系列事情可能要花費很長時間,但好處在于成功率很高。
Microsoft Word/Excel 宏文件
老舊,但仍是久經考驗的。
那為什么 Office 文件非常適合作為惡意 payload 的載體呢?這是因為 Office 文件的默認設置是支持 VBA 代碼所以允許VBA 代碼的代碼執行。盡管最近這種方法已經很容易被殺毒軟件檢測到,但在經過混淆處理之后,在很多情況下仍然可以生效。
另一種思路是將我們的 payload 嵌入一個批處理文件(.bat)。但在較新版本的 Office 中,如果受害者雙擊Word 文檔中的 .bat 文件,對象則不會被執行。我們通常不得不試圖誘導受害者使其將 .bat 文件移動到桌面并執行。
在最基礎的水平上,我們可以使用 Empire 或 Unicorn 來創建一個 VBA 宏
LuckyStrike 來以更自動化的方式完成此操作、
VBad運行 VBad 時,必須在 Office 中啟用宏,并在宏安全設置的下拉框中選擇 “信任對 VBA 項目對象模型的訪問” 選項。這會允許 VBad 運行 python 代碼來更改并創建宏。
物理攻擊
對于紅隊來講:檢查他們的門和安保設施是否合格。警衛的反應和響應時間,盡量與物理安全團隊協同工作,并有一個書面的免責核準文件,以防被警察抓到后需要承擔額外的法律責任。如果保安抓住你,你是否可以逃跑,或是立馬停止。以及該公司是否安裝了無線電監聽。確保警衛不會將你的試驗行動上報到當地執法部門。
ID 卡復制器
在大多數情況下,那些由 HID 公司生產的、不需要任何私有/公開握手認證的感應卡,我們仍然可以很輕易地克隆它們,并暴力破解它們的 ID 號。
ProxCard Ⅱ 、Proxmark3 RDV2 Kit、HID iClass (13.56 MHz)、HID ProxCard (125 kHz)、
EM4100x (125 kHz)、MIFARE Classic (13.56 MHz)
繞過入口點的物理工具
要真正深入了解物理工具及其操作方法,實踐是最好的老師。進行物理評估的最佳方法,一直都是實踐、建立物理實驗環境
Lock Picks —— SouthOrd 公司生產的開鎖工具一直是我們的首選。質量好,效果好。
Gate Bypass Devices —— 用來繞過鎖著的門的工具。
Shove-it Tool —— 簡單的工具,用于門和門閂之間有足夠的空間的情況下。類似于貼卡打開感應門,你使用此工具拉開鎖里的活塞。
Under the Door 2.0 —— 拉開帶有手柄的門的工具。我們可以用 Under the Door 工具從門下直接進去,繞著把手,然后往下拉。在過去酒店中經常會安裝這種門,但我們肯定也會在業務中遇到這種門。
Air Canisters —— 這是一個價格便宜又構造簡單的工具,可以通過內部的運動傳感器打開門鎖。看看這段視頻,看看 Samy Kamkar 如何繞過此類型的門: https://www.youtube.com/watch?v=xcA7iXSNmZE
LAN Turtle
把樹莓派和 ODROID 作為攻擊武器:給這些設備安裝 Kali Linux 系統,讓它們通過 SSH 或者 VPN 連接到我們的攻擊者機器中,這是做物理滲透測試的一個好方法。
設置 LAN Turtle:
LAN Turtle 的目的是取代 dropbox(一款可以同步本地文件的網絡存儲在線網盤應用)但紅隊使用的主要功能是“使用 LAN Turtle 獲得進入網絡的權限”。對于更深入的掃描/復雜的攻擊,我們需要完全訪問網絡。為此,我們必須配置反向的 VPN 連接。那么,怎樣進行反向 VPN 連接?是這樣的,因為 LAN Turtle 會被插入入侵目標組織內網中的某個臺式機的后面,所以我們不能直接連接到它。因此,我們將讓 LAN Turtle 首先通過端口 443 外連到 VPN,然后作為服務器返回到我們的 OpenVPN 。從我們用來做攻擊的 Kali 機器中,我們也必須登錄進 VPN 服務器。一旦 LAN Turtle 和我們的攻擊者機器都通過VPN 連接到我們的服務器中,我們就可以把流量從 LAN Turtle 轉發到攻擊機器來進行掃描或漏洞利用。
OpenVPN 反向代理通道不是什么新技術
具體的使用步驟主要是以下三步:
Bash Bunny
模擬 HID 設備(如鍵盤)來存儲命令。對紅隊成員而言,可以加速 PowerShell 命令的傳遞,用于社會工程學攻擊,并且可以在沒有鍵盤但有 USB 插槽的柜臺系統(如 ATM 機、自動售貨機等)上做出入侵操作。
HID Attack 是最近幾年流行的一類攻擊方式。HID 是 Human Interface Device的縮寫,意思是人機接口設備。它是對鼠標、鍵盤、游戲手柄這一類可以操控電腦設備的統稱。 由于電腦對這類設備缺少嚴格的檢測措施,只是簡單的識別設備類型,就允許設備對電腦進行各項操作。所以,通過修改篡改設備反饋信息,就可以很輕松的讓電腦將其他設備誤認為 HID 設備,從而獲取控制權限。尤其是 USB 和藍牙這類即插即用接口出現,導致 HID Attack 成為重要方式。例如,Bad USB 就是 USB 類攻擊的典型代表。
WiFi
攻擊方式仍包括反認證、aireplay-ng 和捕獲 IV 數據包。對于 WPA 無線網絡,最好的攻擊手段,依舊是對客戶端進行反認證 、捕獲握手包、將其傳遞給 hashcat 對密碼進行破解,不過越發展越麻煩點罷了。
總結
以上是生活随笔為你收集整理的闲谈:渗透测试-红队版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SNIC超像素分割python代码
- 下一篇: 好看的alert弹窗或样式弹窗