TryHackMe-Year of the Pig

发布于 2022-12-08  1099 次阅读


简介:

Some pigs do fly...

房间链接:

https://tryhackme.com/room/yearofthepig#

问题:

挑战开始:

首先扫描下端口

nmap -p 1-65535 -sC -sV 10.10.97.177

└─# nmap -p 1-65535 -sC -sV 10.10.97.177
Starting Nmap 7.93 ( https://nmap.org ) at 2022-12-08 02:33 UTC
Nmap scan report for ip-10-10-97-177.eu-west-1.compute.internal (10.10.97.177)
Host is up (0.0092s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Marco's Blog
|_http-server-header: Apache/2.4.29 (Ubuntu)
MAC Address: 02:A3:19:A6:57:77 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.35 seconds

可以发现只开了22和80端口
访问80

可以发现是一个博客
尝试接目录/admin
跳转到后台登陆

打开burp进行抓包分析

这里有一些接口,但是都需要登陆才能使用
任意输入密码,他提示密码是个令人难忘的单词,后面接了两个数字和一个字符

接着看了下博客大概内容
用户名大概就是marco,因为博客名就是marco's blog
感觉最难忘的词,无非plans和Savoia21,一个是贯彻一生的飞机,还有一个是最喜欢的飞机
这里我用crunch生成了几个字典尝试爆破

crunch 9 9 -t savoia21^ -o pass.txt

因为密码MD5加密了
所以这里选择加密

成功爆破出密码

查了下MD5,得出密码savoia21!

登陆成功

这里有个模块可以直接命令执行

所以直接反弹shell

但是尝试了好几种方法,都不能成功反弹

所以尝试密码复用SSH
成功登陆

成功找到第一个FLAG

接着我们查看存在另一个用户,flag2在里面,但是我们没有权限打开

尝试提权,但是我们目前用户无法使用sudo
回到网站,突然看到存在同名的用户

想到可能这个用户的密码也在数据库里面
来到网站目录
看到一个数据库文件,所以我们要把这个文件下载到本地

但是文件权限不在目前用户,所以还是要获取一个www-data的权限
这里我们来到command.php,原本想反弹shell,但是有点麻烦,所以这儿加了一条命令

输入chmod
运行后返回了OK
使用python在目标机器上开启了个http
成功下载db

成功找到密码

成功解密,密码为Donald1983$

成功切换用户并且获取flag2

查看sudo -l

这里搜索了下发现了个可利用的cve
https://www.exploit-db.com/exploits/37710

直接做一个软链接

ln -s /root/root.txt config.php
但是这里要用www-data的权限
所以继续改command文件

接着切换用户执行命令

成功获取flag

届ける言葉を今は育ててる
最后更新于 2022-12-08