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

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

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

現如今,各類初創型公司都在迅速迭代和發展之中。對於支撐業務的 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)

分享創造快樂