第七章、 議題一-Windows 誘捕網情蒐之核心技術與回追技術軟體發展
第三節、 實境模擬與成果展示
在本節我們將以實際的網路攻擊進行系統功能的測試,以下為我們假定的攻 擊者入侵情境。
第五營區陳上士在網路上習得 SQL Injection 相關知識,於是企圖運用此手 法入侵架設在第一營區的國軍入口網站,竊取他人帳號密碼,進一步取得機密資 料。另一方面,王上校登入中央監控系統監控,攻擊方法及路徑如下圖所示:
圖 108、實境模擬
於情境模擬前我們線列出網路位置配置表:
攻擊者主機 192.168.8.4 中央監控系統 192.168.2.5 誘捕網系統 192.168.2.7 封包標記主機一 192.168.2.1 封包標記主機一 192.168.4.1 封包標記主機一 192.168.6.1 封包標記主機一 192.168.10.1 封包標記主機一 192.168.8.1
表格 35、網路位置配置表
(1) 陳上士第一次攻擊
陳上士在第一次攻擊時,採用較為簡易的入侵方式輸入特殊字元:
◦ 攻擊原理及目的
168
透過特殊字元,使攻擊 SQL 成立,藉此規避檢查並且取得登入權限,在本 範例哩,王尚是在帳號部份輸入攻擊字串,密碼則不受限制。
◦ 攻擊字串範例
’or1=1 #
◦ 攻擊畫面
圖 109、攻擊畫面
◦ 攻擊成功:
攻擊成功後我們發現王上士並無輸入正確密碼便可登入系統,特殊字元攻擊 成功,以下為攻擊成功後的畫面。
圖 110、成功畫面
169
(2) 系統防禦
在陳上士攻擊成功後,中央監控系統收到預警訊息,如下
圖 111、系統防禦
管理者可發現誘捕網捕獲攻擊者,並且是從 IP: 192.168.8.4 位置對我們 誘捕網主機位置 IP: 192.168.2.7 進行 Security Level 1 進行攻擊。此時我們提 升安全層級,讓攻擊者誤以為我們修補完漏洞,並且網頁是有持續更新的。
同時我們切換到封包標機及追蹤系統管理介面,系統已經自動追蹤路徑成 功,圖如下:
170
圖 112、路徑追蹤
我們可發現攻擊者的攻擊路徑已經被我們追蹤出來,在本次攻擊裡,陳上士 經過的網域是:
192.168.8.1->192.168.10.1->192.168.6.1->192.168.4.1->192.168.2.1 證實本次攻擊裡,攻擊者未假冒 IP 位置,系統已掌握了攻擊者。
(3) 陳上士第二次攻擊:
陳上士在防護層級提升後仍然進行特殊字元攻擊,但由於系統防護等級已經提升 了,故本次他失敗了,如下圖所示:
圖 113、攻擊失敗
(4) 陳上士第三次攻擊:
陳上士在第二次攻擊失敗後,認為網頁修補了漏洞,於是他找尋新的攻擊方式,
使用新的攻擊方式,本次嘗試錯誤嘗試型攻擊。
171
◦ 攻擊原理及目的:
網站所提供的錯誤訊息,原本是讓開發者除錯用,但攻擊者同樣可以利用 錯誤訊息來反覆詢問主機,順藤摸瓜地竊取出重要資訊,進而擁有登入權 限。
◦ 攻擊字串範例
原本網址
http://140.115.53.35/board/board.php?id=3
更改如下下字串
http://140.115.53.35/board/board.php?id=9 UNION ALL SELECT NULL
◦ 攻擊畫面
圖 114、攻擊畫面
此時陳上士發現出現了錯誤訊息,於是開始進行錯誤嘗試,在試了幾次後發現錯 誤訊息消失,代表攻擊成功。
◦ 嘗試成功之字串
http://140.115.53.35/board/board.php?id=9 UNION ALL SELECT NULL, NULL, NULL
◦ 嘗試成功畫面
圖 115、嘗試成功畫面
在嘗試成功後,陳上士知道資料庫裡的欄位僅有 3 欄,陳上士開始猜測資料表的 欄位名稱,首先觀看網頁原始碼。
172
圖 116、網頁原始碼
欲取得資料欄位名稱,首先陳上士必須先取得資料庫名稱,於是他在網誌列述入 以下指令:
http://140.115.53.35/board/board.php?id=9 UNION ALL SELECT
NULL,TABLE_SCHEMA,NULL FROM INFORMATION_SCHEMA.COLUMNS limit 352,900
並成功取得名稱如下圖:
圖 117、取得資料庫名稱
陳上士此時知道資料庫名稱為 msg_board,並企圖藉由此得取資料表名稱,輸入 以下指令:
http://140.115.53.35/board/board.php?id=9 UNION ALL SELECT
NULL,TABLE_NAME,NULL FROM INFORMATION_SCHEMA.COLUMNS limit 352,900
輸入完之後得到資料表名稱如下:
173
圖 118、取得資料表名稱
陳上士取得資料名稱後便可藉由以下指令取得欄位名稱,指令如下 http:// 140.115.53.35/board/board.php?id=9 UNION ALL SELECT NULL,name,NULL FROM users
畫面如下:
圖 119、取得欄位名稱
最後根據欄位名稱陳上士便可以取得密碼以及帳號,取得帳號的指令如下:
http:// 140.115.53.35/board/board.php?id=9 UNION ALL SELECT NULL,name,NULL FROM users
取得帳號畫面:
圖 120、取得帳號
同樣我們可以藉由以下指令取得密碼
http:// 140.115.53.35/board/board.php?id=9 UNION ALL SELECT NULL,pw,NULL FROM users
到此陳上士的攻擊行為結束,並且認為他已經竊取到了帳號密碼。
174
(5) 系統防禦
然而從陳上士第一次攻擊開始到最後,中央監控系統這邊都完整的記錄其過程,
並且可以知道陳上士在誘捕網裡的行動,記錄如下:
圖 121、攻擊記錄
一切的行動都詳細的被系統記錄下來,包含陳上士輸入的字串、攻擊的時間、是 否攻擊成功以及公及的層級,都一一詳細的被記錄下來,藉由此我們可以預防未 知的攻擊,而在最後陳上士取得帳號密碼,事實上是我們在一開始就安排好的假 的帳號密碼,只要有人用此帳號密碼登入立刻判斷為攻擊行為,並不會妨礙正常 的登入行為。
同我們中央監控系統亦運作著,如下
175
圖 122、中央監控系統
除了顯示第一次針對第一防護層級的攻擊,也顯示陳上士在第三次攻擊裡的記 錄,此時系統管理員王上校提升了系統防護層級,讓攻擊者再度以為網站漏被修 補,此網站持續更新。同時封包標記與追蹤系統系統在每次攻擊時也自動追蹤,
但由於攻擊者 IP 位置沒有改變,攻擊路徑相同,如下:
圖 123、攻擊路徑
176
(6) 陳上士第四次攻擊
陳上士在上次攻擊成功後,企圖再利用相同方法取得其他帳號資訊,但由於 防護層級的提升,使得攻擊行為失敗,如下:
圖 124、嘗試失敗
無論陳上士如何錯誤嘗試,都不會出現錯誤訊息,使的他無法判斷是否攻擊 成功,便是攻擊失敗。
(7) 陳上士第五次攻擊
陳上士進一步使用較為困難的攻擊方法,運用時差型攻擊,使瀏覽器的產生 時間延遲判斷使否攻擊成功。
◦ 攻擊原理及目的:
原理同上,也是藉由反覆詢問來竊取資料,但是在錯誤訊息被
屏蔽的情況下,攻擊者可以讓網站傳輸產生延遲,來達到如同顯示錯誤 訊息般的效果。
◦ 攻擊字串範例:
UNION ALL SELECT BENCHMARK(800000,sha1(111111)),NULL,NULL
◦ 攻擊畫面
圖 125、攻擊畫面
藉由此陳上士又可判斷他下的攻擊指令使否有成功。
177
(8) 系統防禦
然而此次攻擊行為仍然被系統所掌握,被中央監控系統發現再度提升安全層 級,封包標記系同樣在運作。
(9) 陳上士第六次攻擊
陳上士繼續使用時差型攻擊,但自從防護層級提升後,他便無法再以此攻擊 方法進行判斷攻擊行為。攻擊失敗
(10) 陳上士第七次攻擊
自此系統遭受的攻擊都是常見的 SQL Injection,陳上士自己針對系統漏洞研 發出一項新型的網路攻擊,本次攻擊為模擬新型網路攻擊,我們在網址列後 面輸入 demo_test=1 代表新攻擊。
URL:http://140.115.53.35/board/board.php?id=9 UNION ALL SELECT BENCHMARK(100000,sha1(111111)),NULL,NULL FROM users&
demo_test=1 (11) 系統防禦
本系統面臨到未知攻擊的考驗,我們的策略如下:
1 所有進出資料庫的關鍵資料,皆會被攔截並且紀錄。
2 檢查 輸入的帳號資料與所取得的帳號權限,是否相符
3 製造誘餌資料(例如:帳號密碼),若以此資料登入,視為攻擊。
故本次攻擊行為並未會對我們的系統造成危險,而即使王尚是在未來使用更 都的新型攻擊,事實上也只是替我們收集更多的攻擊訊息,使得我們系統防 禦更為堅強,輔助傳統 IDS,補足其不足之處。
178
(12) 相關查詢
除了及時反映網路攻擊事件外,我們可以在事後管相關的網路黑名單,
如下圖:
圖 126、管理黑名單
179