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

    對blackhat和defcon一些議題的小結

    VSole2021-08-08 01:12:16

    對blackhat和defcon一些感興趣的議題做了一些小結。

    靜態分析

    blackhat里面一個靜態分析引擎的議題。

    https://www.blackhat.com/us-21/briefings/schedule/index.html#do-you-speak-my-language-make-static-analysis-engines-understand-each-other-22797

    之前研究過語義和污點分析,所以想看看。但這個議題總體來說我沒有我想找的東西,我想看看污點分析具體是怎樣做的,使用什么算法,怎樣更有效率。

    作者的議題主要就是將了如果一個應用是php,一個應用是python,兩者相互調用,怎樣分析呢,結果就是縫合怪,php的分析使用php的分析器開一個rpc,python的分析用python的分析開個prc,定義好數據傳輸格式就行。

    我在想使用像codeql一樣,定義一個通用的識別規則不就好了嗎。

    image-20210806164212636

    可能作者想的是針對甲方的場景,我想的是針對安全研究員挖洞的場景吧。

    作者給了幾個開源靜態分析工具的實現,哪天看一下學習學習 - =

    github.com/facebook/mariana-trench

    github.com/facebook/pyre-check

    github.com/facebook/sapp

    Exchange Server新的攻擊面

    作者介紹了exchange server的一些歷史和總體的架構變化以及驗證的方式,然后介紹了一些攻擊鏈,漏洞很精彩。

    1. ProxyLogon 是通過一個ssrf訪問到授權后的后端,操作授權的后端可以寫入任意文件。

    2. ProxyOracle: 作者發現了可以用Padding Oracle Attack來解密cookie中加密的用戶數據,又發現了一個xss,但是exchange server有httponly驗證,可以通過ProxyLogon的ssrf來繞過httponly驗證,把cookie發送到惡意服務器上,再到服務器上使用Padding Oracle Attack進行解密。意味著目標只需要點擊一個鏈接就能獲取到目標郵箱的用戶和密碼。

    3. ProxyShell:在Pwn2Own 2021上展示的利用鏈來接管 Exchange 并獲得 200,000 美元的賞金。

    4. 首先是一個路徑轉換的邏輯錯誤再次造成ssrf,接下來便是尋找如何將ssrf變成命令執行。

    5. 之前的攻擊鏈已經被修復,于是找到了Exchange PowerShell Remoting,Exchange PowerShell Remoting是一個命令行界面,用于 Exchange 任務的自動化,但是它需要一個mailbox。

    6. 使用特殊的X-Rps-CAT Access-Token可以模擬任意用戶,此時就能執行powershell命令了。

    7. 利用New-MailboxExportRequest導出shell
    New-MailboxExportRequest –Mailbox orange@orange.local
    –FilePath \\127.0.0.1\C$\path\to\shell.aspx
    
    1. New-MailboxExportRequest導出的是 Outlook Personal Folders (PST) format,通過學習這個文件格式構造特殊的文件,在導出時就可以變成webshell了。

    文章地址:https://blog.orange.tw/2021/08/proxylogon-a-new-attack-surface-on-ms-exchange-part-1.html

    視頻地址:https://www.youtube.com/watch?v=5mqid-7zp8k&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=16

    SAST

    DEF CON 29 - Rotem Bar - Abusing SAST tools When scanners do more than just scanning

    https://www.youtube.com/watch?v=Jl-CU6G4Ofc&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=7

    作者梳理了靜態分析的一些手法,并且提出了一些sast掃描器的錯誤配置,可能造成執行命令,這個特性可能會被利用。

    Hacking IDE

    https://www.youtube.com/watch?v=pzqu_qaoNuY&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=33

    DEF CON 29 - David Dworken - Worming through IDEs

    作者說在新冠期間本來有幾個月的空閑可以去休假,但是他花了幾個月用來發現一些IDE的漏洞。使用strace命令可以監控程序運行時發出的系統調用,通過這可以找到IDE啟動時調用的命令。

    作者介紹了VSCode、VS、IntelliJ、Vim、甚至記事本都可能存在的命令執行。

    不止本地ide,還有在線ide,通過設定一些特殊的配置,就可以在遠程IDE中執行命令。

    作者提出了一個構想,如果某個開發人員代碼中被包含了這些漏洞,所有打開這個開發者代碼的人會再次中毒,以此進行蠕蟲傳播并自動感染!

    作者說要把poc上傳到github,但是搜了下沒看到 - =

    用Golang編寫惡意軟件

    DEF CON 29 - Ben Kurtz - Offensive Golang Bonanza: Writing Golang Malware

    https://www.youtube.com/watch?v=3RQb05ITSyk&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=39

    介紹了golang的一些作為紅隊使用語言的優勢,一些用golang的庫(這些庫就像是為惡意軟件量身定制),可以作為學習go的開始。

    像py2exe和jar2exe,因為沒有流行的軟件,它們生成的工具很容易被殺毒針對,而golang編寫的軟件像docker等,讓殺軟無法直接查殺golang語言本身的特征,這更方便編寫惡意軟件。

    議題主要介紹的是題主自己用golang實現的一系列紅隊工具,外加一些其他的補充。

    PE/ELF/Mach-O 文件解析

    • https://github.com/binject/debug

    任意平臺進行任意系統調用

    • https://github.com/awgh/cppgo

    WMI 遠程執行

    • https://github.com/c-sto/goWMIExec

    釣魚工具包

    • https://github.com/gophish/gophish

    爆破

    • https://github.com/OJ/gobuster
    • 爆破子域名 vhost 目錄/文件

    Go混淆

    • https://github.com/burrowers/garble

    幫助通過UDP、TLS、HTTPS、DNS、S3帶出數據

    • https://github.com/awgh/ratnet

    Go寫的VPN

    • https://github.com/WireGuard

    Go實現的虛擬文件系統

    • https://github.com/capnspacehook/pandorasbox

    任意系統中加載庫文件

    • https://github.com/Binject/universal
    • Windows用的反射加載
    • 庫加載是通過「內存」

    Donut

    • https://github.com/TheWover/donut
    • 任意文件(exe dll .net vbs js)轉shellcode
    • donut Go包裝器
    • https://github.com/Binject/go-donut

    payload 免殺框架

    • https://github.com/optiv/ScareCrow

    地獄之門Go實現

    • https://github.com/C-Sto/BananaPhone
    • Windows 原生調用syscall

    天堂之門Go實現

    • https://github.com/aus/gopherheaven
    • 從32位代碼中調用64位代碼

    多平臺的stager dropper實現

    • https://github.com/gen0cide/gscript

    Chrome擴展的攻擊和持久化

    DEF CON 29 - Barak Sternberg - Extension Land: Exploits and Rootkits in Your Browser Extensions

    作者講的很詳細,總結了幾種chrome擴展和網頁通信的api的攻擊面,根據一些實例講述了一些存在漏洞的擴展以及在應用中注入惡意的js達到持久化。

    • 一種學術翻譯擴展,它會從本地127.0.0.1的一個端口上獲取js內容,所以可以根據另一個只有tcp權限的app控制這個app。
    • 一種和谷歌學術交互的擴展,從chrome.storage獲取鏈接,而chrome.storage可以被控制
    • vimium:作者演示了vimium漏洞,通過對vimium攻擊,可以注入js到其他任意網站。

    chrome擴展持久化

    chorme對擴展有嚴格的控制,會通過計算hash校驗,但是如果開啟了開發者模式,就不會有這些驗證,并且開啟開發者模式后,chrome也不會有任何提示。

    通過后綴--load-extensiton即可加載任意擴展。

    https://www.youtube.com/watch?v=PpSftQuCEDw&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=40

    DNS as Service 測試

    對云廠商的DNS as Service服務進行測試,在dns server中添加dns server的記錄到自己的ip,結果意外發現有大量流量經過,最后發現這是Windows的一種“特性”。

    作者還提到了通過這些數據,進行的一些有趣的探索。

    DEF CON 29 - Shir Tamari, Ami Luttwak - New class of DNS Vulns Affecting DNS-as-Service Platforms

    https://www.youtube.com/watch?v=72uzIZPyVjI&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=4

    UFO

    DEF CON 29 - Richard Thieme AKA neuralcowboy - UFOs: Misinformation, Disinfo, and the Basic Truth

    關于ufo,視頻講了一些事件,以及告訴我們要了解的話就要去閱讀文件,和當事者對話以及列舉了一些人的語錄等等。但也都是聽他再說。

    https://www.youtube.com/watch?v=mExktWB0qz4&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=8

    逃避Linux系統調用監控

    DEF CON 29 - Rex Guo, Junyuan Zeng - Phantom Attack: Evading System Call Monitoring

    https://www.youtube.com/watch?v=yaAdM8pWKG8&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=11

    作者提出了兩種方法逃避系統調用監控,TOCTOU和語言混淆。

    • TOCTOU
    • 一般的系統調用監控有兩個步驟sys_entersys_exit,這兩個斷點放置的位置不同,利用的方式也不同。
    • 在內核調用之前被hook,那么可以在之后修改緩沖區的文本繞過
    • sys_exit hook的位置錯誤,也能通過內核競爭或執行UserFaultfd syscall去提前結束
    • 語義混淆
    • 通過lnk文件繞過黑名單

    用eBPF創建安全、穩定、隱蔽和可移植的內核 rootkit

    DEF CON 29 - PatH - Warping Reality: Creating and Countering the Next Generation of Linux Rootkits

    https://www.youtube.com/watch?v=g6SKWT7sROQ&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI&index=14

    eBPF是伯克利數據包過濾器,平時用于過濾和修改網絡流量,內核輸入狀態等。因為eBPF是linux內核成員之一,通過eBPF編寫內核rootkit代碼十分穩定,因為只需要寫一些eBPF代碼,不容易崩潰,通過網絡流量和程序輸入狀態之行,也十分隱蔽。

    作者講的eBPF利用十分詳細,最后也給出了源代碼:https://github.com/pathtofile/bad-bpf

    視頻推薦一看。

    Ps: eBPF For Windows也在被官方發展中,雖然目前只有網絡方面。

    iis 原生惡意程序剖析

    作者總結了歷史的iis后門,以及對iis模塊進行的逆向分析,作者可能是想做一個通過http就訪問的iis后門,但是從ppt中沒看到它們是怎么做的。

    https://www.blackhat.com/us-21/briefings/schedule/index.html#anatomy-of-native-iis-malware-23395

    免殺 - 通過 多進程ROP + NTFS事務免殺

    將單個組件的代碼分成多個塊,由注入到多個進程中的模擬器運行。

    https://www.blackhat.com/us-21/briefings/schedule/index.html#rope-bypassing-behavioral-detection-of-malware-with-distributed-rop-driven-execution-23051

    通過以下兩個手法

    代碼復用:避免rwx內存空間,使用pwn手段中ROP gadgets的手段復用代碼。

    • 有效編碼payload
    • 繞過WDEG

    NTFS事務

    • 不可檢查的隱蔽通道
    • payload共享+通信

    loader過程

    1. 選擇一個進程
    2. 創建ROP-TxF文件
    3. 清除,填充chains & metadata
    4. 注入啟動(Bootstrap)代碼

    Bootstrap代碼

    1. 加載ROP-TxF文件
    2. 執行ROP代碼
    3. 可以和其他進程配合(ROP代碼可以從多個進程中讀取)

    優點

    ? 無需分配/修改可執行內存

    ? AV/EDR 的內存檢查更難(ROP 增加了間接性)

    ? 代碼和數據的單一共享介質

    ? 符合 ACG 和 CIG

    ? 無文件

    CVE-2021-1748:從客戶端 XSS 到彈計算器

    https://www.blackhat.com/us-21/briefings/schedule/index.html#hack-different-pwning-ios--with-generation-z-bugz-23002

    CVE-2021-1748:從客戶端 XSS 到彈計算器

    https://mp.weixin.qq.com/s/g1kmGkp2B5QyQEUhdXOG8Q

    輸入向量是URL scheme、 通過反編譯找到url scheme找到處理邏輯,通過xss可以執行內置的js類,從而可以獲取到很多信息

    • iTunes.systemVersion() 獲取系統版本號
    • iTunes.primaryAccount?.identifier 獲取 App Store 賬號的郵箱
    • iTunes.primaryiCloudAccount?.identifier 獲取 iCloud 賬號的郵箱
    • iTunes.diskSpaceAvailable() 存儲可用空間
    • iTunes.telephony 電話號碼、運營商等信息
    • iTunes.installedSoftwareApplications 所有已安裝的 app 信息

    Chrome漏洞挖掘

    錯誤很少是唯一的。系統規模不斷擴大的軟件通常涉及多個團隊,負責開發眾多功能。考慮到代碼庫的復雜性,在整個代碼庫中的許多地方可能存在與類似代碼模式共享的錯誤的可能性很高。
    在本次演講中,我們以 Chrome 為例,介紹如何根據歷史漏洞發現新的漏洞。我們將介紹幾種在 Chrome 中容易受到攻擊的代碼模式,從淺到深。對于每一個模式,我們都會從一些經典的bug中進行總結,進行詳細的描述,不僅介紹了尋找相似bug的基本工作流程,還介紹了調整和細化模式以發現與原始bug不同的新bug的方法。通過這些模式,我們最終在 Chrome 中找到了 24 個漏洞并獲得了 11 個 CVE。最后,我們將詳細介紹如何利用我們在 2020 天府杯網絡安全大賽中使用的其中一個逃出 Chrome 沙箱,這是自 2015 年以來首次在公開賽中以沙箱逃生 Chrome 類別獲勝。

    從一個漏洞尋找更多相似漏洞,先看歷史漏洞,然后基于歷史規則用Codeql尋找更多漏洞

    https://www.blackhat.com/us-21/briefings/schedule/index.html#put-in-one-bug-and-pop-out-more-an-effective-way-of-bug-hunting-in-chrome-22855

    其他

    以上列舉的都是我看過的一些議題的小結,還有很多有趣并且內容充實的議題沒有列舉,例如一些二進制漏洞的挖掘,bootloader的探索等等,有興趣可以自行去官網看看。

    blackhat 議題:https://www.blackhat.com/us-21/briefings/schedule/index.html

    defcon:https://www.youtube.com/watch?v=VxNi5pVDZU0&list=PL9fPq3eQfaaBUD1zVxJWJmX86A6d0isBI

    軟件漏洞挖掘
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    今天分享的主題是開源軟件漏洞挖掘實踐,主要講對于企業項目、開源項目審計的認識以及做代碼審計的經驗。
    軟件漏洞分析簡述
    2022-07-18 07:08:06
    然后電腦壞了,借了一臺win11的,湊合著用吧。第一處我們直接看一下他寫的waf. 邏輯比較簡單,利用正則,所有通過 GET 傳參得到的參數經過verify_str函數調用inject_check_sql函數進行參數檢查過濾,如果匹配黑名單,就退出。但是又有test_input函數進行限制。可以看到$web_urls會被放入數據庫語句執行,由于$web_urls獲取沒有經過過濾函數,所以可以
    針對被分析目標程序,手工構造特殊輸入條件,觀察輸出、目標狀態變化等,獲得漏洞的分析技術。輸入包括有效的和無效的輸入,輸出包括正常輸出和非正常輸出。安全公告或補丁發布說明書中一般不指明漏洞的準確位置和原因,黑客很難僅根據該聲明利用漏洞。代碼流分析主要是通過設置斷點動態跟蹤目標程序代碼流,以檢測有缺陷的函數調用及其參數。
    關于漏洞的基礎知識
    2022-07-20 09:44:23
    黑客可以通過修改事件完成的順序來改變應用的行為。所以,進行有效的驗證是安全處理文件的重要保證。這種類型的漏洞有可能是編程人員在編寫程序時,因為程序的邏輯設計不合理或者錯誤而造成的程序邏輯漏洞。這種類型的漏洞最典型的是緩沖區溢出漏洞,它也是被黑客利用得最多的一種類型的漏洞
    網絡安全漏洞(以下簡稱“漏洞”)作為信息通信網絡中在硬件、軟件、協議的具體實現或系統安全策略上存在的缺陷,隨著經濟社會信息化、網絡化、數字化和智能化程度的加深,對國家網絡安全的影響也日益加劇。世界各主要國家和組織為了切實提升國家網絡安全防護能力,圍繞漏洞的研究、收集和利用,紛紛建立國家級漏洞通報平臺或漏洞數據庫。日本于2003年開始建設“日本漏洞通報”(JVN)平臺;美國于 2005 年開始建設“
    減少傷害和降低風險。供應商軟件、補丁經掃描驗證后進入統一軟件倉庫;同時,建立管理機制,確定每款軟件的管理責任人。生命周期持續安全。但是涉及底層架構、操作系統、芯片和協議漏洞,例如信息與通信技術設備,修補時長往往長達數月,甚至無法修補。該漏洞的協同修補時長超過 9 個月。協議漏洞的修復更需要獲得標準組織的認可。
    針對軟件供應鏈的網絡攻擊,常常利用系統固有安全漏洞,或者預置的軟件后門開展攻擊活動,并通過軟件供應鏈形成的網鏈結構將攻擊效果向下游傳播給供應鏈中所有參與者。近年來,軟件供應鏈網絡攻擊事件頻發,影響越來越大。據 Accenture 公司調查,2016 年 60% 以上的網絡攻擊是供應鏈攻擊。裝備軟件供應鏈安全事關國家安全、軍隊安全,一旦出現安全風險將會給國家和軍隊帶來重大安全挑戰,產生的后果不堪設想。
    近期360監測到境外某論壇有黑客利用SonarQube漏洞,竊取大量源碼,并在論壇上公然兜售泄露代碼,其中涉及我國數十家重要企業單位的應用代碼,其行為極為惡劣。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类