iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
Security

我一個大調查下去:從零開始的數位鑑識系列 第 24

【Day 24】Network Forensics 02:SQL Injection調查分析 - Web Investigation Lab

  • 分享至 

  • xImage
  •  

前言

今天要打的是 Web Investigation Lab,分類是 Network Forensics,難度為 easy。

Web Investigation

情境

您是網路安全分析師,任職於BookWorld的安全營運中心 (SOC)。 BookWorld是一家大型線上書店,以其豐富的文學作品而聞名。 BookWorld致力於為全球圖書愛好者提供無縫安全的購物體驗,並以此為榮。最近,您的任務是加強公司的網路安全態勢,監控網路流量,並確保數位環境免受威脅。 一天深夜,資料庫查詢和伺服器資源使用量出現異常激增,觸發了自動警報,表示可能存在惡意活動。這一異常情況引發了人們對BookWorld客戶資料和內部系統完整性的擔憂,促使公司立即展開徹底調查。 作為此案的首席分析師,您需要分析網路流量,以揭示可疑活動的性質。您的目標包括識別攻擊向量,評估任何潛在資料外洩的範圍,以及確定攻擊者是否獲得了BookWorld內部系統的進一步存取權限。

工具

Wireshark

Q1:透過了解攻擊者的 IP,我們可以分析與該 IP 相關的所有日誌和操作,並確定攻擊的程度、持續時間以及所使用的技術。您能提供攻擊者的 IP 嗎?

篩選 HTTP 流量
https://ithelp.ithome.com.tw/upload/images/20250912/20177998LVVFKsdgRz.png
Wireshark 的右下角顯示總共有超過八萬個封包,其中大部分都是 111.224.250.131 的 GET 請求,並且我們可以看到這個 IP 持續請求不同的檔案路徑:c.axd、c.bak、c.html 等,這些檔案路徑不是正常的網站資源。大量請求、非正常路徑、持續的行為,種種跡象表明這個 IP 正在進行枚舉 (enumeration)。
https://ithelp.ithome.com.tw/upload/images/20250912/20177998C18nbMgUTu.png
此外,我們還可以看到這個攻擊者嘗試 SQL Injection 並且成功了 (HTTP 200 OK)。 以上任意一點都可以讓我們推斷這個 IP 是攻擊者。
Ans:111.224.250.131

Q2:如果已知某個 IP 位址的地理來源地與我們的網路沒有業務往來或預期流量,則可能表示有針對性攻擊。您能確定攻擊者的來源城市嗎?

使用 IP 查詢網站查詢,我們可以看到這個 IP 位在中國石家莊
https://ithelp.ithome.com.tw/upload/images/20250912/20177998xmAHnCiBEd.png
Ans:Shijiazhuang

Q3:識別被利用的腳本可以讓安全團隊準確地了解攻擊中利用了哪個漏洞。這些資訊對於找到合適的修補程式或解決方法以彌補安全漏洞並防止未來被利用至關重要。您能提供易受攻擊的 PHP 腳本名稱嗎?

https://ithelp.ithome.com.tw/upload/images/20250912/201779983voI3UAFjN.png
我們可以看到有漏洞的是 search.php,攻擊者成功對它 SQLi。
Ans:search.php

Q4:建立攻擊的時間線,從最初的利用嘗試開始,攻擊者第一次 SQLi 嘗試的完整請求 URI 是什麼?注意:解碼值。

使用http.request.method == GET and ip.addr == 111.224.250.131來篩選 IP 為 111.224.250.131 且同時使用 GET 請求的封包
https://ithelp.ithome.com.tw/upload/images/20250912/20177998f4LcUBk7xB.png
可以看到第一條 SQLi 是第 357 個封包,他使用 1=1 和 SQL 中的註解標記,這是典型的 SQLi 手法。
當網址中出現空格、=、?、& 等這特殊字元時,瀏覽器會將它們轉換成 % 開頭的十六進位代碼,讓伺服器能正確解析請求,這便是 URL Encode。要解碼很簡單,複製並貼到線上 URL 解碼器解碼
https://ithelp.ithome.com.tw/upload/images/20250912/20177998ADPEIpaecJ.png
https://ithelp.ithome.com.tw/upload/images/20250912/20177998fQQVuIhpMF.png
可以看到請求的完整 URL 是 /search.php?search=book and 1=1; -- -
Ans:/search.php?search=book and 1=1; -- -

Q5:您能否提供用於讀取 Web 伺服器可用資料庫的完整請求 URI?注意:請解碼該值。

首先使用 http.response.code == 200 and ip.addr == 111.224.250.131 來把 IP 為 111.224.250.131 並且 HTTP 回應為 200 的封包篩選出來。
然後選擇任意封包,在左下角的 packet detail 中右鍵 Request URL -> Apply as column,我們就能輕鬆的瀏覽每個封包請求的 URL 了
https://ithelp.ithome.com.tw/upload/images/20250912/20177998Fummiii9fj.png
要讀取伺服器上所有可用資料庫要透過查詢 INFORMATION_SCHEMA.SCHEMATA,INFORMATION_SCHEMA.SCHEMATA 就像一個資料庫清單,存著伺服器上所有資料庫的元數據
https://ithelp.ithome.com.tw/upload/images/20250912/201779980mMJQZQFEa.png
可以看到第 1525 個封包查詢了 INFORMATION_SCHEMA.SCHEMATA,把它請求的 URL 解碼
https://ithelp.ithome.com.tw/upload/images/20250912/201779983LjNkU4FTZ.png
Ans:/search.php?search=book' UNION ALL SELECT NULL,CONCAT(0x7178766271,JSON_ARRAYAGG(CONCAT_WS(0x7a76676a636b,schema_name)),0x7176706a71) FROM INFORMATION_SCHEMA.SCHEMATA-- -

Q6:評估資料外洩和存取的影響至關重要,包括對組織聲譽的潛在損害。包含網站使用者資料的表名是什麼?

https://ithelp.ithome.com.tw/upload/images/20250912/20177998eOsGbdFDh3.png
我們可以看到一個對 bookworld_db.customers 的請求,Follow -> http stream可以看到 table 中包含了 email、姓名等資訊
https://ithelp.ithome.com.tw/upload/images/20250912/20177998pbzzc7zFox.png
Ans:customers

Q7:隱藏的網站目錄可能成為未經授權的存取點,或包含不應公開存取的敏感功能。您能提供攻擊者發現的目錄名稱嗎?

我們可以看到攻擊者成功存取了 admin 目錄,admin 目錄通常是網站的管理後台,一般是隱藏並不允許網站使用者存取的。
https://ithelp.ithome.com.tw/upload/images/20250912/20177998vUxU5aNczL.png
Ans:admin

Q8:了解攻擊者使用了哪些憑證,我們就能確定帳戶被偷的程度。攻擊者使用哪些憑證登入?

http contains "/admin/login.php"篩選http請求中包含 /admin/login.php 的封包
https://ithelp.ithome.com.tw/upload/images/20250912/20177998r3DHDB0d5p.png
透過 Follow HTTP Stream,我們可以看到攻擊者嘗試了 username=admin&password=admin123%21 並且成功登入並被重定向到 admin 的 index 介面
https://ithelp.ithome.com.tw/upload/images/20250912/20177998vq1zkoQdRn.png
URL decode
https://ithelp.ithome.com.tw/upload/images/20250912/20177998WctFaVQW2n.png
Ans:admin:admin123!

Q9:我們需要確定攻擊者是否獲得了對我們 Web 伺服器的進一步存取或控制權。攻擊者上傳的惡意腳本的名稱是什麼?

上傳檔案會使用 POST 請求,所以用http.request.method == POST and ip.addr == 111.224.250.131篩選 IP 為 111.224.250.131 的 POST 請求
https://ithelp.ithome.com.tw/upload/images/20250912/20177998SMnIWsiUfO.png
Follow index.php 這個封包的 HTTP stream
https://ithelp.ithome.com.tw/upload/images/20250912/20177998UKA723GqI5.png
可以看到攻擊者上傳了 NVri2vhp.php。
Ans:NVri2vhp.php

小結

今天的 lab 我們學會使用 Wireshark 的 Apply as Column 功能,讓我們能直觀地瀏覽我們指定的封包資訊,並且透過各種 Wireshark 篩選技巧,像是:http.response.code 、http.request.method 等等,成功還原從 SQLi 到惡意檔案上傳的整個攻擊脈絡。
明天我們將學習更進階的網路鑑識技術。


上一篇
【Day 23】Network Forensics 01:網路鑑識 101 - DanaBot Lab
系列文
我一個大調查下去:從零開始的數位鑑識24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言