内外穿透是内网横向移动的重要桥梁,如果无法掌握内网穿透得技术,将在众多安全设备保护下得错综复杂得内外环境寸步难行。下文将对介绍内网穿透的核心概念,与穿透中的一些技术要点
内网穿透的原理
想玩转内网穿透一定要理解中间人的概念,如A和B本来无法链接,但是A和C可以链接,B和C也能进行链接,此时A和B想要进行链接即可借助C连来完成(C将A发来的消息转发给B,再将B放回的消息传给A),这里C就是中间人,整个内外穿透的核心就是理清楚网络的链接关系,通过一个个中转最终完成跨网的通信。
什么是端口转发
端口转发是指将一个端口收到的流量发送到另一个端口,这个端口可以本机的端口,也可以是本机可以访问到的任意主机的端口
什么是端口映射
端口映射时指将一个端口映射到另一个个端口进行访问,如将内外的某个IP和端口映射到外网的Ip和端口上,这样就打通了服务的内外网访问限制
如何理解正向与方向
在内外穿透的技术体系中会提及大量的如,正向shell,反向shell,正向代理,反向代理类词汇,正向与反向常常回令初学者产生迷惑和混淆,其实理解这些词汇的关键在于理解正向,与反向
正向:即从攻击者电脑主动链接目标主机
反向:即从目标主机主动链接攻击者电脑(大多数情况为链接Vps,因为攻击者电脑通常没有公网Ip所以不能进行链接)
内网穿透中的技术要点
1、进入网络环境后首先确定网络的是否出网,能够出网或者是入网的协议分别有哪些。
-
判断主机出网协议方法:
- ICMP:ping
- DNS:ping,nslookup(WIndows),dig(Linux)
- HTTP/HTTPS:curl(Linux),bitsadmin (WIndows),Certutil (WIndows),powershell(WIndows)
-
不同场景下可以使用的常见内网穿透方案:
- 只有ICMP出网:icmpsh,icmp直接上线cs,pingtunnel
- 只有DNS出网:DNS-Shell,DNS Beacon上线CS,iodine,dnscat2
- 完全不出网(借助HTTP隧道):reGeorg,Neo-reGeorg,ABPTTS,不出网上线cs,不出网上线冰蝎
- 目标出网:frp,NPS,EARTH WORM,Venom,icx,MSF、CS直接上线
2、速度是内网穿透的一个较为重要的指标,建议上线传输速度较快的极端网络条件下需要判断出网的必要性。
-
如;只有dns出网的情况下,我们需要考虑是否有必要配置复杂的穿透工具进行出网,因为dns的传输速率可能会让你崩溃,这种情况不如尝试一下冰蝎的反弹shell,因为其采用内存注入的形式进行上线,因为其可以天然的绕过一些不具备内存查杀能力的杀软。
3、正向代理操作简单,反向代理操作较复杂,但因为可以结合匿名域名,云函数等手段来提升溯源难度,实战中根据实际情况酌情考虑。
4、大部分代理工具被杀软所标记,使用时注意免杀与特征的修改,避免出师未捷身先死。
5、注意对隧道进行加密,这样既可以躲避安全工具的特征匹配,也可以增大溯源难度。
6、注意所选工具被发现的难易度,尽量延迟被防守人员发现的时间为后续活动争取时间。
7、利用系统自带远程工具往往是最优的选择。
- 如SSH隧道,3389(可以集合内网隧道使用);
- 如进程中有向日葵,TeamViewer进程可以尝试抓取,破解密码,如无进程可以看下是否有安装文件帮助其启动;