最近我和小伙伴們都愛上了小游戲“跳一跳”,不過我在玩的時候卻突然從它聯想到了滲透攻擊與測試。在此,我將來探究一下它們之間的“聯系”。
現如今,各類初創型公司都在迅速迭代和發展之中。對于支撐業務的 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 區域。接下來,他們會通過路由交換,向著具有各種功能的服務器長驅直入。
一般而言,攻擊者在此所用到的滲透攻擊,是對于如下三種網絡服務的探測與利用:
客戶端滲透攻擊:步子太大會栽下去,太小則跨不過去
雖然在客戶端上作祟相對于攻擊服務器端來說,可能并非是攻擊者的主要目的。但是往往他們會抱有“既來之、則破之”的心態,進行順手破壞。
不過客戶端不像服務器那樣會開放過多的端口和服務,而且一般默認開啟了個人防火墻并安裝了反病毒軟件,因此攻擊者不大可能通過發送惡意數據包給目標客戶端,讓客戶端自動執行觸發,從而獲得權限。
他們在此通常需要通過構造畸形數據,使得用戶在使用含有漏洞缺陷的應用程序處理數據時發生錯誤,進而執行內嵌于數據中的惡意代碼。
例如:針對瀏覽器的 Javascript 攻擊、第三方插件的攻擊、Office 軟件的攻擊、Adobe 閱讀器的攻擊等,并最終獲得目錄結構和敏感文件等信息。
而在技術實現上,他們甚至會用到針對 DEP 和 ASLR 的堆噴射、ROP、JIT Spraying 等。
無線網絡滲透攻擊:不求跳得快,只求站得穩
如今移動互聯已經在企業中非常普及了,通過無線網絡這一無形的入口,企業的服務和數據迅速突破了有形的系統架構。與此同時,攻擊者也會與時俱進,另辟蹊徑來開展無線滲透攻擊。
總的說來,他們的主要步驟和套路是:
“白盒”式測試過猶不及,每一步跳躍都要掌握好力度上面我們模擬的是一個對于目標系統完全陌生的攻擊者,在進行“黑盒”式攻擊時所涉及到的方面和步驟。
而企業的專業技術人員也應該定期與審計師協作,基于對系統架構與企業環境有所了解的情況下,進行所謂的“白盒”式測試。
那么,我們下面來看看這些“白帽子”的滲透測試又有哪些細微的不同之處呢?
內部攻擊測試
運用普通的外界電腦(模擬帶入內網的訪客)和企業內部的標準電腦兩種方式,使用各種工具對選定內網 IP 地址范圍進行掃描和嘗試性的攻擊。
外部攻擊測試
通過互聯網的遠程方式,運用各種工具對企業公網范圍的IP地址進行掃描(或稱:戰爭撥號),并做嘗試性的攻擊。
Web 應用安全評估
選定足夠數量的 Web 應用頁面,通過遠程方式進行用戶帳號、目錄結構以及腳本注入/執行等相關測試。
社會工程與安全意識
設備/設施的物理訪問
運用尾隨或當面說服等伎倆進入機房后,展開如上所列的內部攻擊測試。
在上述五點中,其準確性容易失真的當屬“社會工程學與安全意識”測試。由于測試本身可能事先已被知曉、或是采集的“樣本”不夠豐富、甚至測試的時間不夠充沛,都可能產生員工安全意識強的假象。
總結上面便是我“跳”出來的一些玩法心得,它們恰好能“投射”到我們日常滲透測試的各個方面。
綜上所述,通過全面的滲透流程能夠幫助我們發現系統環境中客觀存在的漏洞,而人員的安全意識與習慣則決定了漏洞被利用的可能性。
因此就算企業通過了上述兩類攻擊和測試,也只是一個短暫的平衡態。但是倘若我們根本不去做任何“自攻”的話,則會讓整個企業系統如同那只“薛定諤的貓”一樣,在日常運營中持續處于風險與安全疊加的狀態。
由此可見,我們要定期在企業內部和外部執行系統性的滲透攻擊與測試,以免各種攻擊者在我們的世界里任性地跳來跳去、愉快地獨自玩耍。
陳峻(Julian Chen) ,有著十多年的 IT 項目、企業運維和風險管控的從業經驗,日常工作深入系統安全各個環節。作為 CISSP 證書持有者,他在各專業雜志上發表了《IT運維的“六脈神劍”》、《律師事務所IT服務管理》 和《股票交易網絡系統中的安全設計》等論文。他還持續分享并更新《廉環話》系列博文和各種外文技術翻譯,曾被(ISC)2 評為第九屆亞太區信息安全領袖成就表彰計劃的“信息安全踐行者”和 Future-S 中國 IT 治理和管理的 2015 年度踐行人物。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1