HTB靶场二合一

nicky   ·   发表于 2020-11-30 18:03:25   ·   技术文章

目录
0x00:探测靶机
0x01:启动目录扫描获取信息
0x02:获得反弹shell
0x03:提权
0x04:第二个靶机
0x05:探测靶机
0x06:拜访21端口
0x07:集中火力输出80端口
0x08:二次拜访21端口
0x09:不讲武德直接拿flag

0x00:探测靶机

这次的靶机是Bashed做完以后感觉难度为新手

这次不用nmap了,由于扫的太慢要等太久直接上LEGION,LEGION是一个可视化工具,集齐了nikto, nmap等工具优点是傻瓜式一键扫描。可以看到只开了波80端口啥都没有

访问波IP可以正常回显,有点像一个个人博客的感觉

0x01:启动目录扫描获取信息

目录扫描工具的话我推荐用dirb, gobuster,或者是dirbuster,这里我用的是dirbuster,同时默认字典是在/usr/share/wordlists/dirbuster里面,里面有小字典,中字典级别,这里我选择中等字典,然后扫出比较多的东西,当然主要关注状态码为200的页面。看到有个/dev下有个phpbash.php的东西

跟进以后是一个命令执行页面,当前用户为www-data,输入一些常见的命令都有回显

0x02:获得反弹shell

这里也可以直接在页面直接进行提权说实话,但还是习惯拿波shell,可以用nc一句话或者是wget传反弹马,这里我发现wget可以用所以我打算传波马上去

这里我把kali自带的反弹马先复制到/root下,顺便改波名,一定要记得把IP改为vpn连接以后的IP。同时开启python共享模式

去到/uploads下执行wget把马下载过来,注意在/dev/下是进行不了的。只能另外去其它目录了

然后就可以访问波前端很快啪的一声就得到反弹shell了

爬到/home/arrexel下得到flag

0x03:提权

提权有两种方法,第一种走常规路线sudo -l,研究以下scriptmanager的用法

第二种是查uname -a,查询版本信息

然后放到必应找,找到个41458.c的提权文件

这里我在靶机上试了以下gcc用不了,只能现在本地编译好再传上去

这里我去到/tmp目录下用wget下载好,这里我大意了没有给pwn加权限。给波权限以后垂直变成root

0x04:第二个靶机

这次的靶机是Netmon,难度应该不会太难还是有很多人做出来的,最后认为侧重于信息收集,难点在于复现。

0x05:探测靶机

这里得到IP(10.10.10.152),以后为了更好的获取信息还是决定用Nmap进行扫描,这里主要开了,21端口(可匿名登录),80(HTTP服务,即正常网页,还有135,139,445,其它大的端口暂时忽略
命令:nmap -A -sS -sV -v -p- 10.10.10.152

访问波80端口,可以正常访问是个表单页面

0x06:拜访21端口

在刚才通过nmap扫描的时候我们知道21端口是允许匿名登录(Anonymous FTP login allowed),这里就直接ftp + IP登录,用户名即Anonymous,成功登录,密码为空

这里发现ls,和dir均可以使用,接下来就是到处浏览了,先dir(列出点前文件)一波以后进入到User目录,再爬到Public里面发现了一个user.txt,使用get下载下来

Emmm好吧,user的flag好像挺简单的

0x07:集中火力输出80端口

这里回到80端口观察一波,首先这是一个登录框页面,所以可能存在POST注入可以使用波sqlmap自己跑一下,同时这个页面设计的挺好看的可能是个CMS可以把PRTG network monitor关键词提取出来,拿到网上搜索一下

这里我先让sqlmap自己动起来先

这里跑了一会以后sqlmap还是倒了,只能上网查了一下搜到相关CVE,CVE-2018-9276,操作系统命令注入漏洞,然而需要一个账号登录进去才行。。。。

那么回到原点,这是一个监控系统,只要不是独家的就可以把它当做一个CMS看待,这样的话必然有一个配置文件或者是默认账号这里在必应找到一个讲配置文件存放地方的链接:
https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data#:~:text=All%20system%20settings%20%28except%20license%20keys%20and%20Enterprise,installed%20previously%29.%2032-Bit%20Systems%3A%20PRTG%209%20or%20later%3A

0x08:二次拜访21端口

爬回去看nmap扫描到的信息,这是台windows Server 2008 R2的服务器应该是对应的第一个存放位置,然后我又想起ftp端口是有windows目录存放的可能要爬回ftp端口了

这里回到ftp端口这次换成dir -a (类似ls -la),有一个ProgramData,对应刚才链接里面存放的地方那我们就开始cd不断跟进了

一直跟进到PRTG Network Monitor里面发现了3个 Configuration,这里选择用get 下载.dat和.bak

下载完之后打开.bat emmm只能说包含的信息实在太多了
这里我慢慢用搜索功能搜索关键字提取信息
服务器版本: PRTG Network Monitor 18.1.37.13946
最后一次登录的用户名:prtgadmin

密码有可能是这两个其中的一个

然而让我裂开的是我在.bat搜索了password半天,结果我在旁边的old.bak里面发现有个明文输出密码形式。。。

你以为得到的密码就是对的嘛?错了还得恶心你一下,观察一波,.bak是18年的而.dat是19年的也就是说这个密码是过时的,由于CMS的默认账号密码是为懒人设计的只需要把最后一位改为9就行了。。。

成功登录

0x09不讲武德直接拿flag

我们可以根据刚才的链接搞破坏

由于花了一下午复现都没成功,没办法我只能不讲武德直接偷袭拿flag了,登录成功以后点击setup,然后再点Notification

点击右边的Add new notification

给Notificaiton取个名字啥都行

然后拉到下面点击Execute Program, 在Program File 选择Demon exe notification -outfile.ps1
然后在Parameter输入:
test.txt; Copy-item “C:/Users/Administrator/Desktop/root.txt” -Destination “C:/Users/Public/root.txt”(这里解释一下 CVE-2018-9276在Parameter这里存在命令执行漏洞,可以从这里getshell,然而我的脚本死活运行不了,只能换种方法把root的flag偷出来,我们需要猜到root的flag位置,可以通过ftp端口那里在/users下有2个目录分别是Administrator和public,只能猜还有个desktop目录下才包含flag,我们可以通过copy命令把它拷贝到public目录下来进行读取)

写完以后再回到上面的Notification Summarization点第一个选项,点击save保存

之后回跳转到一个新页面,最后点下test1(shiyan失败了)再点击蓝色的小铃铛会弹出就行了

最后成功得到flag

最后打波小广告,欢迎各位关注我们的神隐攻防实验室公众号

用户名金币积分时间理由
veek 150.00 0 2020-12-01 09:09:07 一个受益终生的帖子~~

打赏我,让我更有动力~

0 Reply   |  Until 2020-11-30 | 553 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.