WgelCTF打靶笔记(2)
扫描
dirb:
发现.ssh
有一个id_rsa文件,即ssh连接私钥,右键下载到本地
ssh私钥:
SSH:用于安全的连接到远程服务器
1、私钥(Private Key):保存在你的本地设备上,必须严格保密(相当于你的数字身份证)。
2、公钥(Public Key):可自由分享,需上传到你要连接的远程服务器上(相当于公开展示的“锁”)。
在连接的过程中,还需要指定用户名
这里补充ssh的基本用法:
远程登录服务器
ssh 用户名@远程主机
例如:ssh root@192.168.1.100
默认情况下,ssh运行在22端口,如果要指定端口,可以用-p
例如:ssh -p 2222 用户名@远程主机
使用私钥登录
如果服务器启用了公钥认证,需要使用 SSH 私钥:
ssh -i ~/.ssh/id_rsa 用户名@远程主机
1、-i
:指定私钥文件(默认是 ~/.ssh/id_rsa
)。这样不使用密码也可以使用了
回到这道题本身,我们需要知道目标服务器的用户名,这里是在网页ctrl+u中得到的信息的
可以猜测得出用户名
显示私钥文件的权限有问题,我们一般要设置成600,400才能使用
原因:
我们可以看到图中警告私钥文件的权限为644,too open
如果权限太开放,如644或者777,ssh连接时会报错
600:文件所有者可读可写
400:文件所有者可读,也就是说即使你是文件的所有者也不能修改它
644:所有人可读。 那么所有人都可以读取私钥,攻击者可能会窃取私钥并伪装成你登录服务器。
所以这里我们修改文件权限
这里的用户名居然只能是小写,这是大佬的经验试出的吗
那我们就连接到服务器了
查看flag可以用find命令,昨天提到过
find / -name *flag.txt 2>/dev/null
命令解释:
/:从根目录开始查找 ,意味着搜索范围覆盖整个文件系统。
*flag.txt:指名字以flag.txt为结尾的文件
2:标准错误流文件描述符
2>/dev/null:这里把标准错误的输出重定向到虚空,就是不显示错误信息的意思
提权
拿到普通用户flag,接下来开始提权
开始枚举
还是先来一个sudo -l大佬介绍一个项目可以利用这个命令
GTFOBins
go awayBins 是一个精选的 Unix 二进制文件列表,可用于绕过配置错误的系统中的本地安全限制。
这不是一个漏洞利用的列表它本身依赖于管理员做的错误配置
可以通过系统上本身有的工具,来实现我们需要的一些目的,比比如find提权和nmap 提权
这里查询wget
利用文件上传只拿flag
我们现在的目的是拿到root的flag,根据普通用户的flag可以猜测,root的flag文件名大概叫root_flag.txt
攻击机:
这样就拿到了root的flag
利用文件上传和文件下载真正提权
现在再试试真正的提权
这里我们的思路是:
1、利用文件上传发送敏感文件到攻击机
敏感文件比如说sudoers,etc/passwd,etc/shadow
2、攻击机接受敏感文件后修改文件
3、目标机使用文件下载功能接受修改后的文件并覆盖
-O(注意是大写字母 O)后面跟随你希望保存下载内容的目标文件名。例如:
wget http://example.com/sample.txt -O myfile.txt
这条命令会把 http://example.com/sample.txt
下载下来的内容保存到当前目录下的 myfile.txt
文件中。
4、目的机的权限成功被修改
具体操作:
攻击机:
在本地创建sudoers,把内容粘贴进去
修改权限
python -m SimpleHTTPServer
是一个命令,用于利用 Python 内置的模块启动一个简单的 HTTP 服务器,将当前目录的文件通过 HTTP 协议共享出去。下面详细解释一下:1、
**python -m**
使用-m
选项表示以模块方式运行 Python 的标准库模块,而不是直接执行某个脚本文件。这允许你直接调用内置模块作为独立程序。2、
**SimpleHTTPServer**
这是 Python 2.x 中内置的模块,提供了一个简单的 HTTP 服务器。它可以将当前目录(即你运行命令时所在的目录)作为根目录,通过 HTTP 协议将目录中的文件提供给远程访问者。
细节:为什么在目标机接收时的命令的url中sudoers放在的ip目录的下面?
答:使用简易http服务器时,比如这里的python -m SimpleHTTPServer, 如果你在某个目录下启动服务器,该目录就成为了 HTTP 的根路径,里面的文件直接对应 URL 路径。
所以这里root就成了根路径
使用 Python 简易服务器
如果你在/home/user/myfiles
目录下执行:
python -m SimpleHTTPServer
那么 Web 服务器的“文档根目录”就是
/home/user/myfiles
。
如果这个目录下有一个文件example.txt
,则访问http://IP:8000/example.txt
就能下载或查看该文件。
提权成功
WgelCTF打靶笔记(2)的更多相关文章
- 打靶笔记-03-vulhub-Moriarty Corp
打靶笔记-03-vulhub-BoredHackerBlog 一.靶机信息 Name: BoredHackerBlog: Moriarty Corp(中-高级难度) Date release: 29 ...
- 打靶笔记-02-vulhub-Hackademic.RTB1
打靶笔记-02-vulhub-Hackademic.RTB1 一.靶机信息 Name: Hackademic: RTB1(中等难度) Date release: 6 Sep 2011 Author: ...
- 打靶笔记-01-vulnhub-moneybox
打靶笔记-01-vulnhub-moneybox 本篇笔记根据苑老师视频进行学习记录 https://www.bilibili.com/video/BV1Lv411n7Lq/?spm_id_from= ...
- webug4.0 打靶笔记-02【完结】
webug4.0打靶笔记-02 3. 延时注入(时间盲注) 3.1 访问靶场 3.2 寻找注入点 貌似一样的注入点: ?id=1' --+ 3.3 判断输出位置 同前两关一样的位置,时间盲注应该不是这 ...
- webug 4.0 打靶笔记-01
webug 4.0 打靶笔记 1. 显错注入 1.1 访问靶场 1.2 判断注入点 查找一切有参数传入的地方进行测试,注意到有get传参?id=1 猜测后台php中sql语句模板可能为如下几种情况 $ ...
- 打靶笔记-04-vulnhub-Jangow
打靶笔记-04-vulnhub-Jangow 前面两篇名称写成了vulhub,已经更改为vulnhub;vulhub的之后再找个时间集中打一遍. 一.靶机信息 Name: Jangow: 1.0.1 ...
- BP神经网络算法推导及代码实现笔记zz
一. 前言: 作为AI入门小白,参考了一些文章,想记点笔记加深印象,发出来是给有需求的童鞋学习共勉,大神轻拍! [毒鸡汤]:算法这东西,读完之后的状态多半是 --> “我是谁,我在哪?” 没事的 ...
- 读吴恩达算-EM算法笔记
最近感觉对EM算法有一点遗忘,在表述的时候,还是有一点说不清,于是重新去看了这篇<CS229 Lecture notes>笔记. 于是有了这篇小札. 关于Jensen's inequali ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- 《CUDA编程:基础与实践》读书笔记(3):同步、协作组、原子函数
1. 单指令多线程模式 从硬件上看,一个GPU被分为若干个SM.线程块在执行时将被分配到还没完全占满的SM中,一个线程块不会被分配到不同的SM中,一个SM可以有一个或多个线程块.不同线程块之间可以并发 ...
- 前端(三)-JavaScript
1.基本语法 1.1 引入JavaScript 1.1.1行内引入 <input type="button" value="轻轻点我一下" onclick ...
- HashMap知识点
1.基本数据结构 1. JDK1.7 数组 + 链表 2. JDK1.8 数组 + (链表 | 红黑树) 2.树化与退化 1.树化意义 1.红黑树用来避免Dos攻击,防止链表过长时性能下降,树化应该是 ...
- C笔记---01基础篇
一.C语言内存分区 1.程序代码区:存放 CPU 执行的机器指令. 2.数据区 2.1常量区:字符串.数字等常量存放在常量区,const修饰的全局变量存放在常量区:常量区的内存是只读的,程序结束后 ...
- 调研报告-基于 Iceberg 构建湖仓一体平台调研
一.背景 我们使用 Iceberg 构建湖仓一体平台的初衷是希望解决业务方在使用 Hive 数仓时的一些痛点.主要包括以下几大方面: (1)现有的数据同步只支持全量同步,同步大表速度慢. (2)Hiv ...
- Luogu P2292 HNOI2004 L 语言 题解 [ 紫 ] [ AC 自动机 ] [ 状压 dp ]
L 语言:很好的一道状压 dp 题. 思路 看到这题,首先可以想到一个很暴力的 dp,设 \(dp_i\) 表示考虑到第 \(i\) 位能否被理解,暴力匹配字符串转移即可. 第一个优化也很显然,暴力匹 ...
- flutter-解决长按TextField出现英文(复制粘贴)问题
第一步 引入依赖 dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter 第二步 在main.dart中添加代码 ...
- WPF DataTemplate DataContext 绑定问题
当使用DataTemplate时,需要用数据绑定,设置数据绑定的方式可参考: https://supportcenter.devexpress.com/ticket/details/t736087/d ...
- Typecho博客后台登陆界面美化
登录界面: 食用方法: 备份 admin 目录 压缩包内容上传到 admin 目录内. 结构:网站根目录 /admin/login.php 结构:网站根目录 /admin/style 修改 login ...
- Typecho去除更新检测和后台日志
Typecho去除官方日志 打开 admin/index.php,找到下面的代码并删除,在 93-102 行. 代码: <div class="col-mb-12 col-tb-4&q ...