MSSQL日誌安全分析技巧

常見的數據庫攻擊包括弱口令、SQL注入、提升權限、竊取備份等。對數據庫日誌進行分析,可以發現攻擊行爲,進一步還原攻擊場景及追溯攻擊源。

0x01 MSSQL日誌分析

首先,MSSQL數據庫應啓用日誌記錄功能,默認配置僅限失敗的登錄,需修改爲失敗和成功的登錄,這樣就可以對用戶登錄進行審覈。

640?wx_fmt=png

登錄到SQL Server Management Studio,依次點擊 管理--SQL Server 日誌

640?wx_fmt=png

雙擊日誌存檔文件即可打開日誌文件查看器,並可以對日誌進行篩選或者導出等操作。

640?wx_fmt=png

另外,MSSQ提供了一個工具SQL Server Profiler ,方便查找和發現SQL執行的效率和語句問題。

640?wx_fmt=png

日誌分析案例:

在日誌文件查看器中,選擇篩選,在篩選設置中源設置爲“登錄”,應用篩選器,確定。

640?wx_fmt=png

篩選後的結果,可以很清晰的識別用戶登錄信息,記錄內容包括用戶登錄時間、登錄是否成功、登錄使用的賬號以及遠程登錄時用戶使用的IP地址。

如下圖:客戶端:192.168.204.1進行嘗試弱口令登錄,並發現其中有一條登錄成功的記錄。

640?wx_fmt=png

0x02  SQL注入入侵痕跡

在利用SQL注入漏洞的過程中,我們會嘗試利用sqlmap的--os-shell參數取得shell,如操作不慎,可能留下一些sqlmap創建的臨時表和自定義函數。我們先來看一下sqlmap os-shell參數的用法以及原理:

1、構造一個SQL注入點,開啓Burp監聽8080端口

sqlmap.py  -u http://192.168.204.164/sql.asp?id=1 --os-shell --proxy=http://127.0.0.1:8080

HTTP通訊過程如下:

640?wx_fmt=png

創建了一個臨時表sqlmapoutput,調用存儲過程執行系統命令將數據寫入臨時表,然後取臨時表中的數據展示到前端。

通過查看數據庫中最近新建的表的結構和內容,可以判斷是否發生過sql注入漏洞攻擊事件。

檢查方法:

1、數據庫表檢查

640?wx_fmt=png

2、檢查xp_cmdshell等存儲過程

xp_cmdshell在mssql2005之後的版本中是默認禁止的,查看xp_cmdshell是否被啓用。

Exec master.dbo.xp_cmdshell 'whoami

3、需要結合web日誌,通過查看日誌文件的大小以及審計日誌文件中的內容,可以判斷是否發生過sql注入漏洞攻擊事件。

這是一個免費的小密圈,這裏有很多跟你一樣愛好技術的小夥伴,渴望分享,樂於交流,誠邀你一起加入分享知識,

640?wx_fmt=jpeg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章