快速寻找可以构建出网通信隧道的计算机

点击星标,即时接收最新推文

743dab61ce458980a11e295b6feb85cc.png

本文选自《内网安全攻防:红队之路》

扫描二维码五折购书

为加强内网的安全防范,安全管理员往往会限制内网计算机访问互联网,当然不同机构的限制策略是不一样的,有的完全阻断了内网计算机访问互联网;有的机构会设置只允许白名单中的计算机访问互联网或者允许特定协议出网;有的机构会设置只允许访问特定网站,比如Baidu、Github等。

在没有获取到内网防火墙的权限,不知道完整的防火墙规则前,攻击者只能尝试在各种时间段、各个计算机上通过各种协议访问互联网,进而找到能够构建出网通信隧道的计算机。

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,同时是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

TCP/IP协议中最重要的特点就是分层。由上往下分别为应用层,传输层,网络层,数据链路层,物理层。如图所示。

b180ecd995d712e0f02034f142edcea3.png

TCP/IP协议

常用的隧道列举如下。

  • 网络层:IPv6隧道、ICMP隧道、GRE隧道。

  • 传输层:TCP隧道、UDP隧道、常规端口转发。

  • 应用层:SSH隧道、HTTP隧道、HTTS隧道、DNS隧道。

可用于构建出网通信隧道的协议

判断内网的连通性是指判断机器能否上外网等。要综合判断各种协议(ICMP、TCP、UDP、HTTP、HTTPS、DNS等)及端口通信的情况。常见的允许流量流出的端口有80、8080、443、53、110、123等。常用的内网连通性判断方法如下。

1.ICMP协议

执行命令“ping <IP地址或域名>”,如图所示。

12cd85d97037e3cf03bead14640cc14d.png

ICMP协议探测

2.TCP协议

探测TCP协议可以使用curl、telent、nc、Test-PortConnectivity或者端口扫描器。netcat(简称nc)被誉为网络安全界的“瑞士军刀”,是一个短小精悍的工具,通过使用TCP或UDP协议的网络连接读写数据。

使用nc工具,执行“nc <IP地址 端口号>”命令,如图3-3所示。

100678090935b38f3828cf4320e7ba70.png

TCP协议探测

3.UDP协议

通过UDP协议上线的速度要快很多,而且不那么容易被防守方发现。探测UDP协议可以使用telent、nc或者Test-PortConnectivity。

Test-PortConnectivity用法如下:

nc -lvup 53      # 在服务器上监听UDP端口
C:\Users\test\Desktop>powershell -exec bypass Import-Module .\TestPortConnectivity.ps1;Test-PortConnectivity -Source
'localhost' -RemoteDestination '192.168.130.129' 53 -protocol UDP
DESKTOP-6G7FO7V Not connected to 192.168.130.129 on UDP port : 53
# 在服务器上监听UDP端口

4.HTTP协议

探测HTTP协议可以使用curl、certutil。curl是一个利用URL规则在命令行下工作的综合文件传输工具,支持文件的上传和下载。curl命令不仅支持HTTP、HTTPS、FTP等众多协议,还支持POST、Cookie、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。Linux操作系统自带curl命令。在Windows操作系统中,需要下载并安装curl命令。

在使用curl时,需要执行“curl <IP地址: 端口号>”命令。如果远程主机开启了相应的端口,会输出相应的端口信息,如图所示。如果远程主机没有开通相应的端口,则没有任何提示。按“Ctrl+C”键即可断开连接。

fd6e4e45fa009c0c471f09300f91be9e.png

HTTP协议探测

5 . HTTPS协议

Windows操作系统下从Win10版本开始系统自带了curl的命令,Linux系统一般也有curl的命令,对于没有curl的系统,也可以上传一个curl到目标计算机上。

curl -k -vv -m 10 https://www.baidu.com
curl -k -vv -m 10 https://IP

当https可以访问百度但是不能访问我们的上线服务器时,可能的原因有:
1. 我们的服务器没有绑定域名,直接使用IP访问;
2. 我们的服务器是红标证书;
3. 我们的服务器在黑名单里;
4. 目标限制了仅允许访问特定地区的服务器;
5. 目标限制了仅允许访问特定域名的服务器;(可以给Curl加一个 -H "Host: www.baidu.com" 参数进行测试)

6.DNS协议

DNS协议上线比较隐蔽,但是速度较慢。在进行DNS连通性检测时,Windows平台下常用的命令为nslookup、LINUX平台下常用命令为dig。

nslookup是Windows操作系统自带的DNS探测命令,其用法如下所示。在没有指定vps-ip时,nslookup会从系统网络的TCP/IP属性中读取DNS服务器的地址。具体的使用方法是:打开Windows操作系统的命令行环境,输入“nslookup 域名”命令,按“回车”键,如图所示。

nslookup www.baidu.com

181f77c59536cbb3c8532e3d8d2a71d6.jpeg

DNS协议探测-nslookup

dig是Linux默认自带的DNS探测命令,其用法如下所示。在没有指定vps-ip时,dig会到 /etc/resolv.conf文件中读取系统配置的DNS服务器的地址。如果vps-ip为192.168.43.1,将解析百度网的IP地址,说明目前DNS协议是连通的,如图3-6所示。具体的使用方法,可在Linux命令行环境中输入“dig -h”命令获取。

dig@vps-ip www.baidu.com

38ce001fcfa5c13782528c80b48477de.png

DNS协议探测-dig

还有一种情况是流量不能直接流出,需要在内网中设置代理服务器,常见于通过企业办公网段上网的场景。常用的判断方法如下。

  • 查看网络连接,通过netstat –ano命令判断是否存在与其他机器的8080(不绝对)等端口的连接。如果有可以尝试运行“ping -n 1 -a ip”命令进一步获得主机名。

  • 查看内网中是否有主机名类似于“proxy”的机器。

  • 查看IE浏览器的直接代理。

  • 根据pac文件的路径(可能是本地路径,也可能是远程路径),将其下载下来并查看。

  • 执行如下命令,利用curl工具进行确认。

curlwww.baidu.com            //不通
curl –x proxy-ip:port www.baidu.com    //通

也可以使用在线平台DNSLog.cn探测。现在平台上申请一个域名(iruh9g.dnslog.cn),然后在目标上通过ping命令测试解析(这里将当前计算机名环境变量 %computername% 加入到访问的url中,这样在web访问日志中,可以直接确定能出网的计算机,而不需要去返回结果),如图所示:

aa310781a32b3ffab84be21bc1e825d8.png

HTTP协议探测

成功解析后,可以在平台上查看解析记录,如图所示。

515ab1ef6179b92fe5353e29a2bf1f66.png

HTTP协议探测

—  实验室旗下直播培训课程  —

e633a3f7e042917573d229aff1508111.png

fcd75325d2fa82bf57d55ac6b12ba9e1.jpeg

b27f2b911f63780764ab50239e3fdaef.jpegb0224b0272b684e9fedb84dec7248e65.png

569d9db23f57c925a6f95aba150746b4.png

10cf78e79825edf074900862800d40a7.jpeg

e53253afa3105114be0b83d094d5a36a.jpeg

f6745d129e7426bdf17449255c79134a.jpeg

3f5dfd0251c0674c8b8a1182144e5a21.png

和20000+位同学加入MS08067一起学习

3c6308414c1ce4cb65aae2b08b139ac4.gif

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

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

相关文章

如何发布自己的Python库?

Python包发布 1、背景概述2、操作指南 1、背景概述 为什么我们要发布自己的Python库&#xff1f;如果你想让你的Python代码&#xff0c;通过pip install xxx的方式供所有人下载&#xff0c;那就需要将代码上传到PyPi上&#xff0c;这样才能让所有人使用 那么&#xff0c;如何发…

群晖双硬盘实时备份(WebDAV Server+Cloud Sync)

安装和设置 WebDAV Server WebDAV 是一种基于HTTP的协议扩展&#xff0c;它允许用户在远程Web服务器上进行文档的编辑和管理&#xff0c;就如同这些文件存储在本地计算机上一样。使用WebDAV&#xff0c;用户可以创建、移动、复制和修改文件和文件夹。 安装和设置 Cloud Sync…

使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态

作者&#xff1a;朱亚光&#xff0c;之江实验室工程师&#xff0c;云原生/开源爱好者。 KubeSphere 边缘节点的可观测性 在边缘计算场景下&#xff0c;KubeSphere 基于 KubeEdge 实现应用与工作负载在云端与边缘节点的统一分发与管理&#xff0c;解决在海量边、端设备上完成应…

地球上四大洋介绍

地球上四大洋的分布是&#xff1a; 太平洋&#xff1a;太平洋是世界上最大的海洋&#xff0c;覆盖了约三分之一的地球表面。它位于亚洲、澳大利亚、美洲和南极洲之间。太平洋的面积约为1.6亿平方公里&#xff0c;拥有世界上最深的点——马里亚纳海沟。 大西洋&#xff1a;大西…

2024HW --> 安全产品 Powershell无文件落地攻击

在HW中&#xff0c;除了了解中间件&#xff0c;web漏洞&#xff0c;这些攻击的手法&#xff0c;还得了解应急响应&#xff0c;安全产品&#xff0c;入侵排查&#xff0c;溯源反制...... 那么今天&#xff0c;就来说一下安全产品&#xff08;安全公司我就不说了&#xff0c;这个…

001vscode为什么设置不了中文?

VSCode中文插件安装 在VSCode中设置中文的首要步骤是安装“Chinese (Simplified) Language Pack for Visual Studio Code”扩展插件。这一过程十分简单&#xff0c;只需打开VSCode&#xff0c;进入扩展市场&#xff0c;搜索“ Chinese (Simplified) Language Pack ”然后点击…

【MATLAB源码-第49期】基于蚁群算法(ACO)算法的栅格路径规划,输出最佳路径图和算法收敛曲线图。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蚁群算法是一种模拟自然界蚂蚁觅食行为的启发式优化算法。在蚁群系统中&#xff0c;通过模拟蚂蚁之间通过信息素沟通的方式来寻找最短路径。 在栅格路径规划中&#xff0c;蚁群算法的基本步骤如下&#xff1a; 1. 初始化: …

MES实施优势有哪些?MES制造执行系统的主要内容

各个行业之间也开始进入到了激烈的竞争当中&#xff0c;很多企业为了能够有效提升企业竞争力&#xff0c;都会通过提升自身实力的方式来提升竞争力。一些制造业也会在经营过程当中使用到MES系统&#xff0c;那么&#xff0c;mes系统的优势有哪些呢&#xff1f; 1、优化企业现场…

mysql dump导出导入数据

前言 mysqldump是MySQL数据库中一个非常有用的命令行工具&#xff0c;用于备份和还原数据库。它可以将整个数据库或者特定的表导出为一个SQL文件&#xff0c;以便在需要时进行恢复或迁移。 使用mysqldump可以执行以下操作&#xff1a; 备份数据库&#xff1a;可以使用mysqld…

ELK日志分析系统+Filebeat

目录 一、Filebeat介绍 1、Filebeat简介 2、Filebeat的工作方式 3、filebeat工作流程 4、Filebeat的作用 5、filebeat的用途 1.为什么要用filebeat来收集日志&#xff1f;为什么不直接用logstash收集日志&#xff1f; 2.filebeat和logstash的区别 二、部署(ELFK)Fileb…

自动化测试Junit

1.什么是Junit JUint是Java编程语言的单元测试框架&#xff0c;用于编写和运行可重复的自动化测试。 JUnit 促进了“先测试后编码”TDD的理念&#xff0c;强调建立测试数据的一段代码&#xff0c;可以先测试&#xff0c;然后再应用。这个方法就好比“测试一点&#xff0c;编码一…

【SERVERLESS】AWS Lambda上实操

通过Serverless的发展历程及带给我们的挑战&#xff0c;引出我们改如何改变思路&#xff0c;化繁为简&#xff0c;趋利避害&#xff0c;更好的利用其优势&#xff0c;来释放企业效能&#xff0c;为创造带来无限可能。 一 Serverless概述 无服务器计算近年来与云原生计算都是在…

OSPF星型拓扑和MGRE全连

一&#xff0c;拓扑 二&#xff0c;要求 1&#xff0c;R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2&#xff0c;R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c; 3&#xff0c;R1为中心站点所有私有网段可以互相通讯&#xff0c;私有网段…

antd+vue——datepicker日期控件——禁用日期功能

需求&#xff1a;今天之前的日期禁用 <a-date-pickerv-model.trim"formNE.deliveryTime":disabled-date"disabledDate"valueFormat"YYYY-MM-DD"allowClearstyle"width: 100%" />禁用日期的范围&#xff1a; //时间范围 disab…

第14届java A组蓝桥杯做题记录

A题 特殊日期 package Java14省赛.Java研究生组;import java.time.Year; //特殊判断一下2月份&#xff0c;leaf 为true 1 import java.util.*;import 蓝桥杯.dfs_n皇后; public class 特殊日期 {static int sum(int d){int res 0;while(d > 0){res d % 10;d / 10;}return…

Java GC了解

Jstack找到线程的快照 jvm提供其他命令作用 jps&#xff1a; 虚拟机进程状况工具&#xff0c;类似linux的ps命令 jstat&#xff1a;虚拟机统计信息监视工具&#xff0c;经常看gc情况的会使用到 jinfo: java配置信息工具 jmap&#xff1a; java内存映射工具&#xff0c;dump&am…

微服务篇面试题

1、SpringCloud的组件有哪些&#xff1f; 2、负载均衡如何实现&#xff1f; 3、什么是服务雪崩&#xff1f;怎么解决&#xff1f; 4、项目中有没有做过限流&#xff1f; Tomcat单体可以&#xff0c;分布式不适合 5、解释一下CAP和BASE P&#xff1a;加入node03这边的网络断了&a…

基于PCIe的智能处理系统研究

引言 人工智能是集合众多方向的综合性学科,在诸多应用领域均取得了显著成果。随着航空领域人工智能技术研究的不断深入,面向开放式机载智能交互场景,人工智能的应用可解决诸多问题。例如智能感知、辅助决策等,可利用人工智能算法对多源传感器捕获的海量信息进行快速处理,仅将处…

【8086汇编】汇编语言基础入门

文章目录 一、汇编简介1. 汇编语言的组成2. CPU、寄存器、内存3. CPU对存储器的读写4. 拓展5. 检测6. 解析 二、寄存器1. mov、add命令2. 物理地址3. CS:IP 装段地址和偏移地址3.1 如何改变CS:IP的值 4. 数据段DS:[address]4.1 前置知识&#xff1a;字与字节4.2 DS:[address] 5…

整数在内存中的存储和内存操作函数

目录 整数在内存中的存储1. 整数在内存中的存储2. 大小端字节序和字节序判断2.1 什么是大小端?2.2 为什么有大小端 3. 练习3.1 请简述大端字节序和小端字节序的概念&#xff0c;设计⼀个小程序来判断当前机器的字节序。&#xff08;10分&#xff09;-百度笔试题3.2 练习23.3 练…