Empire_LupinOne靶机
靶机地址:Empire: LupinOne ~ VulnHub
文章目录
- Empire_LupinOne靶机
- 信息收集
- web渗透
- 获取权限
- 横向移动
- 权限提升
- 靶机总结
信息收集
- 通过
nmap
扫描得到靶机开放22和80端口,进行全扫描得到了一些服务版本信息等,web端有robots.txt
泄露
- 使用目录扫描
dirsearch
得到如下目录
、
web渗透
- 先访问一下
robots.txt
文件中的文件,提示404,源码中提示我能得到他不要放弃,扫描了一下当前目录也没有什么隐藏文件
- 该目录格式有些奇怪,前面有个
~
,猜测目标文件的前面也有~
,使用fuzz
命令对其进行爆破,得到隐藏目录~secret
- 访问该界面发现是一段话,提示这个目录下隐藏了该用户的私钥文件,也给出了该用户名,看来还需要爆破,既然是隐藏文件那应该就需要加个
.
了,使用fuzz爆破了一番没有得到结果,后续知道还需要加个后缀名txt
????。成功爆破得到.mysecret.txt
文件
- 访问文件内容发现是一串编码,测试发现不是
base64
,但看着肯定是base
家族的,直接使用cyber
自动跑一下。发现是base58
编码
获取权限
- 将私钥文件保存到
kali
主机中,赋予权限600
,尝试登录发现还需要凭证,用户名为Web
端网页一段话的结尾泄露的
- 直接使用
ssh2john
将私钥文件转化成hash
文件,使用john
进行暴力破解得到凭证。但没想到的是改密码不在弱密码文件中,需要使用其他的密码本才能破解得到凭证为P@55w0rd!
- 再次使用私钥进行
ssh
登录,成功拿到权限
横向移动
- 查看当前用户的
sudo
权限发现可以使用用户arsene
免密码执行一个py
文件,很常见的横向移动的方法
- 先查看一下目录发现了第一个flag
- 查看一下
py
文件,当前用户是没有权限修改文件内容的,但是文件中调用了模块,还有模块中的方法,那就可以在模块中的方法写入反弹shell
语句,使用sudo
提权即可拿下arsene
的shell
。也是常见的提权方法,添加反弹shell
到调用的模块方法中
- 先查看一下模块存放在什么位置,经过查看目录内容发现实在
python3.9
目录下,权限也正是777
可以写入
- 靶机中没有
vim
编译器,要是有vi
编译器编辑文件,找到open
函数,在注释下面添加反弹shell
代码,python
代码执行系统命令system
需要调用os
模块
kali
主机进行本地监听,执行sudo
命令进行提权,成功拿到arsene
用户的shell
,转换成交互式shell
权限提升
- 查看一下用户目录下的
.secret
文件,发现是用户的密码,现在已经没啥用处了
- 查看当前用户的
sudo
权限,发现可疑使用root
用户免密码执行pip
命令,直接去在线网站搜索提权命令,直接复制粘贴执行拿下root
的shell
- 前去
root
目录下,拿下最终的flag
文件
靶机总结
- 靶机的Web端渗透还是比较有想法的,这爆破文件目录没点想法确实要被一直卡着。后面的提权也都是常规的了,
python
文件修改调用模块的函数内容,命令提权 - 还是要有发散性思维,
robots.tx
t文件中给出~myfile
,其实是提示还有隐藏文件还是~
开头的 - 这次倒是对
fuff
命令巩固了很多,之前也都是用着爆破子域名,文件包含的参数,这回倒石爆破目录了,主要能自定义目录结构还是挺方便的 - 倒是爆破私钥文件,想到了隐藏文件需要
.
开头,但没想到还有个后缀txt
- 这次倒是让我明白字典本使用的精髓了,还是要把下载的字典本多了解一下应用场景,要不爆破的时候对于密码本都无从下手,子域名,域名,文件名,用户名,密码,参数等等,也不能死磕一个,一个失败了可以换其他的密码本,爆破私钥凭证就是很好的应用
- 对于执行
python
文件提权,常见的就是修改模块中的函数,在文件调用的函数中添加反弹shell
命令,执行之后就能拿到shell
,python
的系统命令函数需要调用os
模块 - 多学多搜多练多记