Mariadb蜜罐 | 用改造過的服務端攻擊客戶端
*本文原創作者:c0debreak,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
上周發現了一個神奇的 Mariadb 服務端插件,可以用來做蜜罐,這裡分享給大家。說是一個蜜罐,但在滲透中,也可以用來搞定某些伺服器,你懂的。
簡介
簡單講,MariaDB 存在一個未公開的協議,在客戶端進行查詢前,重寫客戶端要執行的查詢語句,並重新發起查詢。那麼這個有什麼危害呢?
如果我們將客戶端的查詢語句,替換為某些惡意的語句,e.g.
LOAD DATA LOCAL INFILE "/etc/passwd" INTO TABLE test.loot
就可以實現一些對客戶端的攻擊。如果是Windows客戶端,這個危害還可以進一步擴大,你懂的。
其實這個場景還是很多的,很多 MySQL 監控程序,都會連接資料庫,執行一些語句,e.g.
SELECT @@server_id
如果被替換成讀取敏感文件的語句,Well~
實戰演示
配置服務
我們用 Ubuntu 16.04 進行演示,安裝好 mariadb 和 maxscale
MaxScale For Ubuntu 在這裡下載
我們先簡單配置下 Mariadb,創建一個庫和用戶,
確認 mariadb 可用之後,我們再配置下 maxscale 插件,完整配置在文末可以下載。
我們添加一個新的 Filter, 它負責把 `select @@server_id` 替換為 `LOAD DATA` 語句,實現客戶端文件盜取。
實際效果演示
下面我們打開另外一台虛擬機,一台 CentOS 5 的伺服器
我們先確認下 /etc/passwd 的內容,和 MariaDB 所在的伺服器內容不同,
客戶端的文件,最後一行是 xfs 用戶,
而惡意的MariaDB伺服器上,最後一行是 work 賬號,而且沒有 xfs 用戶(grep 驗證了下)
下面我們來連接到惡意的伺服器,執行一下 select @@server_id 命令(注意 MaxScale 監聽的是 4008 埠)
執行成功,回到惡意的MairaDB伺服器,發現 test.loot 已經寫入了數據,而且是客戶端的文件哦
好了,我們成功的讀取到了 /etc/passwd,那麼這個真的隻影響 MySQL 客戶端?不是的,不管你用 PHP、Python 還是 Ruby,都會受到影響,所以這個危害還是很大的。
當然,一個聰明的攻擊者,應當禁用Mariadb的認證機制,讓任何客戶端都能夠連接。
附件
完整 MaxScale 配置查看閱讀原文。
*本文原創作者:c0debreak,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


※詳解OSSIM-OSSEC WIN 4771案例
※批量S2-045漏洞檢測及利用
※閑話文件上傳漏洞
※專坑國人!不法分子正大量濫用蘋果iOS企業證書
TAG:FreeBuf |
※Node中的UDP客戶端服務應用
※Doctor Manzana零售店,為潮客打造手機服務零售店
※Uber推出Uber Freight服務,貨車司機版打車服務
※亞馬遜Prime Wardrobe服務允許客戶在購買衣服前進行試穿
※微服務彈性計算平台DCOS的服務入口—Marathon-LB
※服務端與客戶端同構——Vue.js 應用框架 Nuxt.js
※Comcast開始推出其Xfinity手機服務
※Proto Labs推出用於注塑成型的計量實驗室和按需製造服務
※Google App再度改版,利用機器學習推送個性化Feed服務
※Node創建TCP服務端和客戶端的方法
※Google Photo製作實體相冊服務已覆蓋至移動客戶端
※微軟 Xbox Beam 遊戲直播服務改名 Mixer
※WhatsApp將放棄IBM雲服務改用Facebook自家的
※Google、IBM和Lyft開源其大型微服務系統管理工具Istio
※坑苦了首批用戶 Apple Watch Series 3 LTE 服務被延後推出
※Brookstone用ReTrak 頭顯提供VR體驗服務
※世嘉為 iOS 和 Android 用戶推出經典遊戲合集服務,所有遊戲免費玩
※Neil Young宣布其Pono業務將重新推出Xstream無損串流服務
※時尚周報|Louis Vuitton推出皮帶個性化定製服務;Michael Kors推出DFS獨家限量系列