歡迎光臨
每天分享高質量文章

玩微信“跳一跳”我竟然領悟了滲透攻擊與測試的訣竅!

最近我和小伙伴們都愛上了小游戲“跳一跳”,不過我在玩的時候卻突然從它聯想到了滲透攻擊與測試。在此,我將來探究一下它們之間的“聯繫”。

現如今,各類初創型公司都在迅速迭代和發展之中。對於支撐業務的 IT 系統,信息安全部門需要經常通過各種工具和手段來進行自查、分析和管控。

然而,我們時常會被建議去進行各種針對某些特定服務和應用的專項滲透測試,卻往往缺乏一個全面的攻擊視圖和測試流程。

有過滲透經驗的小伙伴都知道,攻擊者通常就像在玩“跳一跳”小游戲那樣,一步一步地跳進了我們的系統內部。

下麵讓我從一張邏輯圖出發,基於企業滲透攻擊與測試的典型框架,來和大家一起探究“跳一跳”在這裡的新“玩法”。

“黑盒”式攻擊

上一步的位置,決定著下一步的跳法

“網魚”式搜集:不積跬步,無以至千里

俗話說:“不怕賊偷就怕賊惦記”。攻擊者一般會對你的系統進行被動和主動收集兩種方式。

側面收集,也稱“外圍信息搜集”,我們可以理解為“隔山打牛”,也就是在不觸碰標的系統的情況下,“曲線而婉約”地通過公共查詢或搜索引擎的手段來獲取外圍信息。

如網站域名、IP 地址(如使用 dig 命令)、也可配合使用 GoogleHacking 和在 Google 地址後面追加各種引數來 Find Subdomains、Find Vhosts、以及使用 ICMP Ping 和 Whois Lookup 等工具。

相信你一定也能複製出基於 Baidu 和 Bing 的信息搜集腳本。

上述 Whois 工具最為普遍,它可用來查詢那些由區域互聯網註冊機構所持有的,已在互聯網上註冊了的服務器資源信息 (IP 地址或域名等)。

通過運行該工具,可以獲得的信息包括:所有者公司的名稱、地址(一般是國家或區域)、特定的真實 IP 地址及其所隸屬的 IP 範圍、聯繫電話號碼、電子郵件、管理員姓名以及域名服務器等。

Whois 一般是以命令列的字符呈現的,如果你要基於網頁的形式,則可以使用 Netcraft.com 網站,其操作非常簡單,只要輸入要查詢的網站地址便可。

有時候,攻擊者的標的是郵件服務器,那麼他們會運用 NSLookup 工具,來進一步收集到服務器更多的信息。

正面收集,則需要和標的系統進行直接互動和簡單“過招”,比如說對其端口進行掃描等,不過這樣有時候會被標的系統的 IDS 或 IPS 發現。

攻擊者可以通過諸如 https://pentest-tools.com 之類的在線工具實施,或使用帶有引數的 Nmap 來進行活躍主機的判斷、操作系統的識別(如大家所熟知的:Windows 大小寫不敏感而 Linux 則敏感)、服務型別和端口的掃描等。

當然他們偶爾也會用到 Metasploit 輔助模塊中的 SYN。而如果鎖定的標的系統是在其 DMZ 區里,則可使用 Back Track 5 的 Autoscan 圖像界面來掃描。

在掃描到系統的常見服務和端口後,他們就可以進行弱口令的猜測和傳輸明文的嗅探了。他們甚至可以運用工具來獲取服務器遠程訪問的權限。

常言道:“沒有笨黑客、只有懶黑客”。只要他們夠執著,什麼 C 段網站、服務器系統版本、容器版本(如 IIS、Apache、Nginx、Lighttpd、Tomcat 等)、程式版本、資料庫型別、二級域名、甚至是使用的防火牆等蛛絲馬跡,都可以通過各種工具的聯合使用來發掘到。

“捕鯨”式搜集:只要耐心,機會總是會有的

作為“職業”素養,攻擊者經常會到各種社會工程學庫里去查找是否有與標的系統相關的泄露密碼。

一旦獲取了某些泄露的密碼,能生成專用字典,他們就可以嘗試著去登錄到標的的管理後臺。

攻擊者也會利用標的系統域名郵箱作為關鍵詞,放入各大搜索引擎進行進一步的信息搜集。

利用搜到的關聯信息,他們可以找出使用類似命名規則的其他網站的郵箱地址,進而得到常用的社交網站和 APP 的賬號。

基於那些社交賬號,他們進階式地搜索出相關微博、微信中包含此類關鍵字的內容,最終以信息鏈的方式發現標的系統管理員的密碼設置習慣。

接下來,攻擊者可以進一步通過查找網上已經曝光出的各種程式漏洞來嘗試性判斷標的網站的 CMS(Content Management System,即內容管理系統)。

Web 應用滲透:沒有捷徑,每一步你都要走穩走好

因為門戶網站大多都有前端防火牆的保護,所以攻擊者要想繞過的話,就只能通過瀏覽器 HTTP/S(防火牆一般都被配置為允許 HTTP/S 的流入)的方式來進行攻擊。

常見的 Web 應用滲透攻擊包括:SQL 註入、XSS 跨站腳本、CSRF 跨站偽造請求、檔案包含攻擊(利用瀏覽器獲取遠程檔案)和命令執行(遠程執行命令)等。

除了上述提到的 pentest-tools.com 所提供的在線 Web 應用掃描和 Metasploit 相應模塊之外,常用的免費工具還有掃描神器–W3AF。

它可以通過其自身 WebSpider 插件的發現模塊、暴力破解模塊、審計模塊和攻擊模塊的組合來進行滲透。

另外,攻擊者還可能會使用開源滲透工具—SQLMAP,來獲得不同資料庫的指紋信息,並從資料庫中提取他們感興趣的用戶名/密碼等資料。

服務端滲透攻擊:只有步步為營,才能長驅直入

從典型的企業網絡架構來說,當攻擊者成功拿下 Web 應用服務器之時,也就意味著進入了 DMZ 區域。接下來,他們會通過路由交換,向著具有各種功能的服務器長驅直入。

一般而言,攻擊者在此所用到的滲透攻擊,是對於如下三種網絡服務的探測與利用:

  • Windows/Unix/Linux 自帶的系統網絡服務,如 Windows 系統下的 NetBIOS 服務(UDP-137/138 端口和 TCP-139 端口)、SMB 服務(共享印表機)以及 MSRPC 服務(網絡呼叫遠程主機上的服務行程中的過程)和 RDP 服務(遠程桌面服務)。

  • 針對 Windows 系統上微軟應用產品的網絡服務,如 IIS 服務、SQL Server 服務等。

  • 第三方的網絡服務,如提供 HTTP 服務的 Apache、IBM WebSphere、Weblogic 等;提供資料庫服務的 Oracle、MySQL 等;提供 FTP 服務的 Serv-U 和 FileZilla 等。

客戶端滲透攻擊:步子太大會栽下去,太小則跨不過去

雖然在客戶端上作祟相對於攻擊服務器端來說,可能並非是攻擊者的主要目的。但是往往他們會抱有“既來之、則破之”的心態,進行順手破壞。

不過客戶端不像服務器那樣會開放過多的端口和服務,而且一般預設開啟了個人防火牆並安裝了反病毒軟體,因此攻擊者不大可能通過發送惡意資料包給標的客戶端,讓客戶端自動執行觸發,從而獲得權限。

他們在此通常需要通過構造畸形資料,使得用戶在使用含有漏洞缺陷的應用程式處理資料時發生錯誤,進而執行內嵌於資料中的惡意代碼。

例如:針對瀏覽器的 Javascript 攻擊、第三方插件的攻擊、Office 軟體的攻擊、Adobe 閱讀器的攻擊等,並最終獲得目錄結構和敏感檔案等信息。

而在技術實現上,他們甚至會用到針對 DEP 和 ASLR 的堆噴射、ROP、JIT Spraying 等。

無線網絡滲透攻擊:不求跳得快,只求站得穩

如今移動互聯已經在企業中非常普及了,通過無線網絡這一無形的入口,企業的服務和資料迅速突破了有形的系統架構。與此同時,攻擊者也會與時俱進,另闢蹊徑來開展無線滲透攻擊。

總的說來,他們的主要步驟和套路是:

  • 在可以接受 WiFi 信號的位置,利用 Aircrack-ng 之類的套件,破解 WEP 和 WPA/WPA2 的加密密碼,以獲得 AP 的接入口令。

  • 進入 AP 後利用已知漏洞獲得 AP 的管理權。

  • 利用 AP 的管理權引導流量,製造釣魚攻擊來劫持用戶流量。

  • 滲透進入用戶移動手持設備,如筆記本、Pad、智慧手機等。

“白盒”式測試

過猶不及,每一步跳躍都要掌握好力度

上面我們模擬的是一個對於標的系統完全陌生的攻擊者,在進行“黑盒”式攻擊時所涉及到的方面和步驟。

而企業的專業技術人員也應該定期與審計師協作,基於對系統架構與企業環境有所瞭解的情況下,進行所謂的“白盒”式測試。

那麼,我們下麵來看看這些“白帽子”的滲透測試又有哪些細微的不同之處呢?

內部攻擊測試

運用普通的外界電腦(模擬帶入內網的訪客)和企業內部的標準電腦兩種方式,使用各種工具對選定內網 IP 地址範圍進行掃描和嘗試性的攻擊。

外部攻擊測試

通過互聯網的遠程方式,運用各種工具對企業公網範圍的IP地址進行掃描(或稱:戰爭撥號),並做嘗試性的攻擊。

Web 應用安全評估

選定足夠數量的 Web 應用頁面,通過遠程方式進行用戶帳號、目錄結構以及腳本註入/執行等相關測試。

社會工程與安全意識

  • 普通標的郵件的釣魚與捕鯨

  • 標的電話(冒名詐騙)誘騙

  • 郵件鏈接(魚叉式)與自動下載(drive-by download)

設備/設施的物理訪問

運用尾隨或當面說服等伎倆進入機房後,展開如上所列的內部攻擊測試。

在上述五點中,其準確性容易失真的當屬“社會工程學與安全意識”測試。由於測試本身可能事先已被知曉、或是採集的“樣本”不夠豐富、甚至測試的時間不夠充沛,都可能產生員工安全意識強的假象。

總結

上面便是我“跳”出來的一些玩法心得,它們恰好能“投射”到我們日常滲透測試的各個方面。

綜上所述,通過全面的滲透流程能夠幫助我們發現系統環境中客觀存在的漏洞,而人員的安全意識與習慣則決定了漏洞被利用的可能性。

因此就算企業通過了上述兩類攻擊和測試,也只是一個短暫的平衡態。但是倘若我們根本不去做任何“自攻”的話,則會讓整個企業系統如同那隻“薛定諤的貓”一樣,在日常運營中持續處於風險與安全疊加的狀態。

由此可見,我們要定期在企業內部和外部執行系統性的滲透攻擊與測試,以免各種攻擊者在我們的世界里任性地跳來跳去、愉快地獨自玩耍。

來自:51CTO技術棧(微信號:blog51cto)

作者:陳峻

編輯:陶家龍、孫淑娟


陳峻(Julian Chen) ,有著十多年的 IT 專案、企業運維和風險管控的從業經驗,日常工作深入系統安全各個環節。作為 CISSP 證書持有者,他在各專業雜誌上發表了《IT運維的“六脈神劍”》、《律師事務所IT服務管理》 和《股票交易網絡系統中的安全設計》等論文。他還持續分享並更新《廉環話》系列博文和各種外文技術翻譯,曾被(ISC)2 評為第九屆亞太區信息安全領袖成就表彰計劃的“信息安全踐行者”和 Future-S 中國 IT 治理和管理的 2015 年度踐行人物。


●本文編號532,以後想閱讀這篇文章直接輸入532即可

●輸入m獲取文章目錄

推薦↓↓↓

大資料與人工智慧

更多推薦18個技術類公眾微信

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂