歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

MACOS安全更新|第1部分:XPROTECT的更新

來源:本站整理 作者:佚名 時間:2020-01-28 TAG: 我要投稿

研究macOS上的威脅不僅需要了解攻擊者在做什么,還需要了解蘋果在更新其內置工具(如XProtect、Gatekeeper和MRT.app)方面在做什么。蘋果公司以其對安全性的不透明和模糊化的政策而臭名昭著……,并且長期以來一直不愿與廣大的安全社區公開共享其威脅情報。鑒于蘋果公司龐大的資源以及在審查開發人員和已簽名軟件方面的特權地位,該公司有一種獨特的能力來發現針對其平臺的威脅,這是其他安全研究人員所不具備的。因此,重要的是,研究人員必須要利用蘋果的安全更新,看看他們可能發現了什么新的威脅,并檢查他們自己的解決方案是否已經包含了這些威脅,以防蘋果自己的工具無法保護最終用戶。
在本文中,我想分享一些示例,告訴你如何了解蘋果的更新,以及他們什么時候更新。盡管有一些商業工具和腳本已經或正在嘗試解決這些問題,但是“roll your own”檢查和通知腳本是一件非常簡單的事情,我們將在本文中介紹。稍后,我們將研究如何在涉及到的plist、SQL數據庫和二進制文件進行比較,以查看發生了哪些更改,這些應該足以幫助你建立自己的工具,以檢查和分析新的Apple安全更新。
發現macOS安全更新:非常困難
與其他一些平臺不同,蘋果的安全更新對用戶來說是不可見的。它們在沒有通知或與用戶交互的情況下在后臺透明地出現,除非用戶碰巧在系統首選項中禁用了這些更新(順便說一下,不推薦這樣做),因為在本文的示例中,它們根本不會發生。
在本文的示例中或者如果你只想手動檢查發生了什么,你可以從終端運行軟件更新檢查。盡管軟件更新工具并不特別局限于安全更新,但是這里有一些有用的命令可以讓你深入研究這些更新。手冊頁提供了大量信息,但也有一些隱藏的命令,比如它沒有提到的background-critical。如果你感興趣,可以嘗試在二進制文件上運行字符串并仔細閱讀你的發現的內容。例如:
$ strings -a $(which softwareupdate) | grep -A10 -B10 critical
你還可以通過兩種方式檢查計算機接收到的早期安全更新的歷史記錄。在命令行中,你可以探索system_profiler:
$ system_profiler SPInstallHistoryDataType | grep -i -A2 -B2 xprotect
或者,如果你更喜歡GUI,請查看 opt- > System Information…,然后向下滾動到“安裝”。順便說一句,我認為這是一個漏洞。因為這兩個方法對于相同的安裝并沒有顯示出相同的時間戳,即使考慮到這兩個方法使用了不同的時區和地區。
自動化安全更新檢查
盡管這些機制對于它們的預期目標都是很好的,但它們不會幫助我們隨時了解變化,除非我們除了不斷檢查更新之外別無其他事情,而且它們不會為我們提供完善的服務,詳細的細節。因為,我們需要查看最新更新中實際發生的變化。幸運的是,我們可以做得更好。我們可以構建一個腳本來提取Apple的軟件更新目錄,并將其解析為我們感興趣的特定種類的更新,例如XProtect,MRT和Gatekeeper。
此時,一些讀者可能會想:為什么不監控這些文件的本地版本以進行更改呢?實際上,幾年前我構建并發布了一個免費的工具,但這種方法有一個問題。蘋果并沒有平均地分配這些更新。從地理位置上看,不同地區的用戶有時幾天就能看到這些更新,而且在各種用戶論壇上有大量證據表明,有些計算機沒有收到更新,而其他計算機卻收到了,即使是在同一個網絡上。出于這些原因,要發現蘋果的安全更新所解決的新威脅,只是等待更新到達你的本地電腦并不是一種特別可靠或準時的方式。
回到我們的腳本,然后,一旦我們構建并測試了它,我們需要處理一些其他的任務。第一種方法是設置調度,以選擇的時間間隔運行腳本。第二種方法是實現某種形式的通知,通知我們已經發布了更新。除此之外,我們還需要一些更快速的方法來解析每次更新中發現的差異。這將是本文要討論主題,現在,讓我們看看如何構建一個腳本來查找更改、按時間表運行它并獲得更新通知。
查找蘋果的軟件更新目錄
要構建我們的腳本,首先需要的是蘋果軟件更新目錄的URL,F在,讓我們看看softwareupdate實用程序可以告訴我們什么。
然后,在實用程序上運行字符串并將其用于https并不是很有幫助。
由于我們知道該實用程序在某些情況下必須訪問下載服務器,因此可能使用共享庫中的代碼調用它,讓我們檢查一下實用程序使用otool和L開關調用哪些共享庫。

這個私有框架看起來很有用,讓我們嘗試將其用于網絡通話。
果然,正如你所看到的,URL不止一個,而且確實會不時更改,因此了解如何查找這個目錄地址是值得的。此系統上可用的最新版本(安裝10.14 macOS)是上面顯示的最后一個sucatalog條目,然而,如果我們在10.15 macOS的計算機上運行相同的操作,你會發現我們得到以下內容:
https://swscan.apple.com/content/catalogs/others/index-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
幸運的是,我不需要運行10.15計算機來下載和解析10.15目錄文件,所以我們將使用這個URL,以便我們也可以看到10.15所做的更改。要查看目錄的外觀,請在終端中切換到一個方便的工作目錄,并發出CURL命令下載它,它只是一個大約6MB的ASCII文本文件。
$ curl -sL https://swscan.apple.com/content/catalogs/others/index-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog -o sucatalog_latest
是的,這是一個非常大的文本文件,包含大約90000多行!
$ cat sucatalog_latest | wc -l
- > 90151
這是因為該目錄包含了各種各樣的軟件更新條目,這些軟件更新可以追溯到2008年,而且正如其名稱所暗示的那樣,涵蓋了Snow Leopard等版本!讓我們看看最近更新的日期:
$ grep -A1 PostDate sucatalog_latest | tail -n 1
->2019-12-18T19:16:33Z
創建一個檢查蘋果安全更新的腳本
太好了,從現在開始,可以更好地解析它,毫無疑問,一些人將更喜歡使用python、perl或任何他們喜歡的腳本語言。當涉及到這類事情時,我是一個只專注于獲得結果的人,而不會關注如何編碼。簡而言之,我不保證這是解析目錄的最佳方法,所以你可以根據自己的用例隨意調整或改進這里的思想。

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.650547.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        安徽快3自由的百科 新朋股份股票 江西时时彩手机版下载 陕西11选5怎么玩 三分pk拾冠军计划 股票配资平台排行榜 江西多乐彩 威海 配资炒股 利息 吉林快体彩开奖结果 吉林快3开奖结果84期 湖北十一选五前三走势