實戰復盤:內網環境滲透ms-SQL數據庫

滲透環境:如下圖所示,web服務器、ms-SQL服務器、PC客戶端在同一個網絡中,彼此之間,沒有路由器或防火墻的隔離,這是一種危險的網絡結構,入侵ms-SQL服務器,非常容易。(實戰中,web服務是一個中控考勤服務)

滲透原理:在win7機(或是kali虛擬機)上,瀏覽內網web,會觸發web服務器聯系ms-SQL數據庫服務器,獲取數據;在kali虛機上,我們可以截流web發送給ms-SQL的數據包,修改其中的sql語句,再將它發給ms-SQL執行,達到操控ms-SQL的目的。比如,我們可以增加一個新用戶,然后,以新用戶登入數據庫。這樣,我們就完全控制了ms-SQL數據庫。這種攻擊法,叫做中間人攻擊。

滲透步驟:攻擊步驟并不復雜,需要編寫簡單的腳本。過程中,只有二進制格式的字符串制作,略微復雜一點。我們將虛擬機kali作為攻擊機,所有的操作都在kali上進行。bettercap和wireshark是kali的內置軟件,無需安裝,需要注意的是,kali的網卡需采用橋接模式。
一、使用bettercap,發動中間人攻擊,使kali成為中間人。

1、 編輯 spoof.cap 腳本。可以使用各種編輯工具,可以使用vi,其命令是 vi spoof.cap。內容只有兩行,#后面是注釋。見下圖:

2、將kali變成中間人。只有一行命令

bettercap --gateway-override? 192.168.1.9 -caplet spoof.cap

# 將ms-SQL服務器視為網關,kali才能變成web和ms-SQL的中間人

3、檢查kali是否成功變成中間人。在模擬環境中,可以到web服務器和ms-SQL服務器上,使用 arp -a(同時適用于win系統和linux系統), 查看ip地址和mac碼,檢驗中間人攻擊是否成功。但在真實環境中,因為你無法操作服務器,所以只能跳過此步驟。實戰說明:在kali上分別ping一下兩臺服務器,有助于arp欺騙迅速生效。

二、用瀏覽器訪問網頁,用wireshark抓包,捕獲的sql語句越長越好

1、啟動wireshark并設定好捕獲參數。圖中左上第一個就是捕獲按鈕,第二個是停止捕獲。

2、瀏覽器中,嘗試瀏覽不同的網頁。

3、在wireshark捕獲的數據中,我們要尋找一個特定的數據包,該數據包中原始的sql語句越長越好,足夠的長度才能為我們篡改sql語句,提供足夠多的字符空間。tds.query可以過濾出所有的數據庫相關包,我們可以查看sql語句,找到長度足夠的sql語句。上圖中,列出了很多sql語句包,384是最長的,所以,它就是我們要找的特定數據包

4、重復操作瀏覽器,確保特定數據包能夠重復出現

5、從特定數據包中抽取其原生的sql語句,制作二進制格式的字符串,這個步驟難度最大,是成功與否的關鍵。上圖中間區域,tabular data stream--tds query packet下面,可以看到完整的sql語句,它的確夠長。鼠標放到下面藍色區域,右鍵選擇? as Escaped String,再粘貼到編輯器中,變成如下圖所示,需要手工處理一下,對照上副圖,下圖中刪除白底數據,保留藍底數據,然后刪除頭尾的引號、斜杠等,使它變成一個標準的二進制格式的字符串,它就是我們抽取的原始sql字符串,然后,復制到后面sql_replace.js截圖的第7行。

6、退出bettercap和wireshark

到目前為止,我們可以截留、監控、轉發數據包,但是,我們還不能篡改數據。我們需要讓數據經過一個代理tcp.proxy,在代理服務里面,才能修改數據。

三、編寫2個腳本,一個是bettercap自動運行的腳本spoof.cap;另一個是替換sql語句的腳本sql_replace.js。

1、修改spoof.cap腳本,其內容從2行變成7行。原來的腳本,是用于啟動arp欺騙攻擊,增加的腳本作用是啟動tcp.proxy代理。見下圖:

2、編寫篡改數據的腳本,文件名為 sql_replace.js,采用javascript語言 。tcp.proxy代理會調用它,篡改數據。

腳本中有兩個函數:

第一個是onLoad(),bettercap運行成功后,會在屏幕上提示:tcp module loader ----------------;

第二個函數示onData(from,to,data),其中,只有data參數有用, data就是系統截留的數據包,截留后,傳遞給onData函數,讓它分析和修改,data被修改后,會自動轉發到ms-sql服務器,在其上執行。為了便于分析,原始的data要轉換生成為strFromNet(圖中第17行);onData()函數有二個重要的變量:一是strTotarget,它是我們偽造的sql語句,直接鍵盤敲入(圖中第6行)。我們用它替換特定數據包中的原始sql語句;二是strFromCap,它是步驟二中,wireshark捕獲的特定數據包中,抽取的原始sql語句,我們需要將它粘貼到這里(見圖中第7行,為了方便閱讀,圖中數據截去了尾部,實際要長很多)。onData函數原理很簡單,我們要在所有的捕獲的數據包中搜索原始sql語句(圖中第18行),一旦搜索到,將其替換成偽造的sql語句(圖中第20行-38行),如果偽造的sql語句長度超過原生sql語句的長度,替換就會失敗。如果短于原句,則填充空格補全。

四、重新運行bettercap,加載上述腳本,注意屏幕上應該有提示。

bettercap --gateway-override? 192.168.1.9 -caplet spoof.cap

此時,onData()函數已經加載,隨時都可能篡改數據了。

五、重復網頁操作,完成對ms-SQL的滲透。

如果屏幕上提示: ------find it----? 表示找到了特定數據包。如果沒有出現這個提示,可能因為沒有成為中間人,或是沒有進行正確的網頁操作,最大的可能是,捕獲的原生sql數據包二進制轉換出錯了,需要重新轉換一次。

如果屏幕上提示:? ------crack sucessed!:):):) 表示替換成功。

如果屏幕上提示: -----but,its too short to replace with long command!-----表示替換失敗。

修改strTotarget的值,你可以執行任何sql語句,增加用戶,刪除用戶,其他等都可以。

網絡安全學習資源分享:

給大家分享一份全套的網絡安全學習資料,給那些想學習 網絡安全的小伙伴們一點幫助!

對于從來沒有接觸過網絡安全的同學,我們幫你準備了詳細的學習成長路線圖。可以說是最科學最系統的學習路線,大家跟著這個大的方向學習準沒問題。

因篇幅有限,僅展示部分資料,朋友們如果有需要全套《網絡安全入門+進階學習資源包》,需要點擊下方鏈接即可前往獲取

CSDN大禮包:《網絡安全入門&進階學習資源包》免費分享(安全鏈接,放心點擊)

同時每個成長路線對應的板塊都有配套的視頻提供:?

大廠面試題

視頻配套資料&國內外網安書籍、文檔

當然除了有配套的視頻,同時也為大家整理了各種文檔和書籍資料

所有資料共282G,朋友們如果有需要全套《網絡安全入門+進階學習資源包》,可以掃描下方二維碼或鏈接免費領取~?

?讀者福利 |?CSDN大禮包:《網絡安全入門&進階學習資源包》免費分享(安全鏈接,放心點擊)

特別聲明:

此教程為純技術分享!本教程的目的決不是為那些懷有不良動機的人提供及技術支持!也不承擔因為技術被濫用所產生的連帶責任!本教程的目的在于最大限度地喚醒大家對網絡安全的重視,并采取相應的安全措施,從而減少由網絡安全而帶來的經濟損失。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16164.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16164.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16164.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

整理了10個靠譜且熱門的賺錢軟件,適合普通人長期做的賺錢副業

作為一名普通的上班族,我們每天都在辛勤工作,但工資的增長速度卻如同蝸牛般緩慢。不過,別擔心,信息時代總是帶給我們無盡的驚喜!今天,我將為大家推薦一些賺錢的寶藏軟件,讓你在閑暇之余輕松實現…

Java-Zookeeper

zookeeper是什么 一個分布式、開源的分布式應用程序協調服務,具有配置維護、域名服務、分布式同步、組服務等 zookeeper有哪些功能 功能簡介集群管理監控節點狀態、運行請求等主節點選舉主節點掛掉之后會執行新主選舉分布式鎖zookeeper提供兩種鎖:獨占…

IEDA常用快捷鍵(后續更新ing)

1. 快速生成語句 1.快速生成main()方法 psvm或者main回車 2.快速生成輸出語句 sout,回車 3.快速生成for循環 fori或者itar,回車 2.快捷鍵 含義操作查找文本CtrlF替換文本CtrlR單行注釋Ctrl/多行注釋CtrlShift/格式化CtrlAltL復制當前內容至下一行CtrlD補全代碼Alt/快速生成…

RAGs:自動化評估 RAG 示例代碼

文章目錄 原理忠實度(Faithfulness)答案相關性(Answer Relevance)上下文相關性(Context Relevance)上下文召回率(Context Recall)答案正確性(Answer Correctness&#xf…

C# 機構仿真實例

1、實現連桿帶動滑塊運動 一個連桿旋轉帶動另一個連桿,另一個連桿拖動滑塊,點擊“開始”按鈕開始運動,再點擊按鈕,則停止運動。 2、實現程序 #region 機構仿真Image image null;Timer timer new Timer();int width 0;int heig…

一千題,No.0027(Phone Desktop)

描述 Little Rosie has a phone with a desktop (or launcher, as it is also called). The desktop can consist of several screens. Each screen is represented as a grid of size 53, i.e., five rows and three columns. There are x applications with an icon size o…

【網絡安全】社會工程學攻擊與防范

一、社會工程學概述 1、社會工程學的定義 通過利用人們的心理弱點、本能反應、好奇心、信任、貪婪等一些心理陷阱進行的諸如欺騙、傷害、信息盜取、利益謀取等對社會及人類帶來危害的行為或方法。 當網絡惡意攻擊者無法通過純粹的計算機技術達到目的時,高超的情商…

9.Redis之list類型

list相當于鏈表、數據表 1.list類型基本介紹 列表中的元素是有序的"有序"的含義,要根據上下文區分~~有的時候,談到有序,指的是"升序","降序”有的時候,談到的有序,指的是, 順序很關鍵~~如果把元素位置顛倒,順序調換.此時得到的新的 List 和之前的 Li…

js簡單綜合案例之簡易ATM取款機、渲染表格案例、封裝時間函數

這里寫目錄標題 簡易ATM取款機要求代碼實現 渲染表格案例要求代碼實現 封裝時間函數要求代碼實現 簡易ATM取款機 要求 1.彈出彈窗,讓用戶輸入數字選擇操作 2.初始值金額為100,計算每次操作后的剩余金額變化 3.一直彈出彈窗直到用戶輸入4,跳…

OpenCV SIFT特征描述子(GPU版本)

文章目錄 一、簡介二、測試過程三、實現效果參考資料一、簡介 這里主要測試一下SIFT圖像描述子的GPU版本。SIFT圖像描述子,全稱Scale-Invariant Feature Transform(尺度不變特征變換),是計算機視覺和圖像處理領域中一種非常重要的局部特征描述子。它主要用于圖像的特征點檢…

新聞稿海外媒體投稿,除了美聯社發稿(AP)和彭博社宣發(Bloomberg),還有哪些優質的國外媒體平臺可以選擇

發布高質量的新聞稿到海外媒體,除了美聯社發稿(AP)和彭博社發稿(Bloomberg),還有許多其他優質的媒體平臺可以選擇。以下是一些受歡迎和高效的海外媒體發布平臺: 路透社 (Reuters) 路透社是全球最…

Webpack Bundle Analyzer:深入分析與優化你的包

Webpack Bundle Analyzer是一個用于可視化的工具,它可以幫助你分析Webpack打包后的輸出文件,查看哪些模塊占用了最多的空間,從而進行優化。 2500G計算機入門到高級架構師開發資料超級大禮包免費送! 首先,你需要安裝W…

IIC通信(STM32)

一、IIC概念 1、兩根通信線:SCL(Serial Clock)、SDA(Serial Data) 同步,半雙工 2、帶數據應答 3、支持總線掛載多設備(一主多從、多主多從)一般使用一主多從。一主多從的…

【深度學習】paddlets,時序數據預測

文章目錄 一、環境二、題目1三、題目2四、題目3五、函數參數 資料: https://paddlets.readthedocs.io/zh-cn/latest/source/api/paddlets.models.base.html#paddlets.models.base.BaseModel.recursive_predict https://aistudio.baidu.com/projectdetail/5866171?…

陪跑真正值錢的不是教程,是你遇到那個擋住你的問題時,身邊有個靠譜的人

今天分享兩個概念,一個是意識決定一切,一個是大道至簡,做項目就是按部就班的遵循事情發展規律去做。 先說第一個概念,意識決定一切。我們說的凡事預則立不預則廢,就是計劃了去做就會有結果。 給你們一個表,…

Linux簡單通過Minicom命令操作串口設備(linux串口操作命令)

Minicom是一個在Linux系統中廣泛使用的串行通信程序。它類似于Windows下的超級終端,允許用戶通過串口與外部硬件設備進行通信。Minicom不僅功能強大,而且完全免費,帶有源代碼,可以在大多數Unix系統下運行。 安裝Minicom 在大多數Linux發行版中,Minicom可能沒有預裝。可以…

【前端】面試八股文——BFC

面試八股文——BFC 在前端開發的面試中,BFC(Block Formatting Context,塊級格式化上下文)常常是一個高頻出現的考點。它不僅考察應聘者對CSS布局的理解深度,也是面試官判斷候選人解決實際問題能力的重要依據之一。因此…

python接口自動化測試中為什么用yaml文件進行用例管理而不是json文件

在Python接口自動化測試中,使用YAML文件進行用例管理而不是JSON文件,主要基于以下幾個原因: 可讀性:YAML文件使用縮進和冒號來表示層級結構,使得文件內容更加清晰易讀。相比之下,JSON文件則使用大括號和中…

MySQL——索引與事務

目錄 前言 一、索引 1.索引概述 (1)基本概念 (2)索引作用 (3)索引特點 (4)適用場景 2.索引的操作 (1)查看索引 (2)創建索引…

LeetCode399觸發求值

題目描述 給你一個變量對數組 equations 和一個實數值數組 values 作為已知條件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每個 Ai 或 Bi 是一個表示單個變量的字符串。另有一些以數組 queries 表示的問題,其中 que…