红队攻防之隐匿真实IP

2023-12-04 14:04
文章标签 ip 攻防 真实 隐匿 红队

本文主要是介绍红队攻防之隐匿真实IP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x01 前言

安全态势日益严峻,各大组织普遍采用了综合的安全产品,如态势感知系统、WAF和硬件防火墙等,这些措施加大了渗透测试和攻防演练的难度。即使是一些基本的漏洞验证、端口扫描,也可能导致测试IP被限制,从而阻碍了测试工作。更进一步,通过IP追踪,测试者可能会被追溯到其真实身份。在某些情况下,测试过程中可能会接到来自XXX省应急响应中心的电话,或者收到某些云服务供应商的警告通知甚至封号。本文将从实战的角度,介绍如何在渗透、攻防中通过各种方式绕过安全产品拦截以及避免安全人员溯源。

0x02 匿名绕过场景

  • 态势感知系统实时监测
  • 防火墙封禁绕过
  • CC拦截绕过
  • 攻击溯源隐藏身份
  • 漏洞扫描隐藏IP
  • 端口扫描隐藏IP
  • C2回连隐藏IP
  • ......

0x03 现状分析

从防守和运维的角度来看,使用安全设备来监测并响应告警是安全运营人员日常操作的一部分。一旦发生端口扫描、漏洞探测、Web攻击等告警时运营人员会第一时间封锁攻击源IP,以终止潜在威胁,这种快速响应有助于阻止潜在攻击者的进一步行动。鉴于运营人员会根据安全设备(如探针、态势感知和WAF等)上的告警信息来采取封禁、溯源或者上报网警等一系列措施,安全测试人员需要采取一些策略来减轻封禁、溯源对测试的影响。一种方法是更改测试IP,人工慢速测试,减缓IP被封锁速度。另一种方法是实现快速扫描,每次请求后更换IP,这样即使运营人员封锁了某个IP,对渗透测试的影响也会降到最低。此外,为避免被运营人员、蓝队成员溯源,测试人员所使用的服务器、流量卡等设备也应保证匿名性,避免被溯源导致的失分。

0x04 奇淫巧计

1. 物联网卡+移动WIFI设备

在手工测试场景中,使用物联网卡并将其安装在USB移动WiFi设备上,是一种用于红队测试的常见方法。当进行攻击测试时,如果安全设备检测到了攻击性payload并封禁了相关测试IP,红队成员可以通过简单地插拔USB设备来重启,从而切换到新的IP地址。

这种方法的优势在于,通过物联网卡和USB移动WiFi设备,红队成员可以维护匿名性。此外,当IP被封禁时,可以通过重新启动来迅速更换IP地址,以继续测试工作,而无需等待封禁解除。

2. 云函数

 云函数(SCF)是云服务供应商提供的无服务器执行环境,能对外发送数据包。它可通过 API 网关触发器进行触发,先接受来自客户端的数据,再利用其多IP出口的特性将请求随机转发出去,这样一来就达到了代理的效果。

实战中可利用云服务供应商如阿里云、腾讯云和AWS等提供的云函数服务,通过在线编辑服务器端的代码以及配置API网关触发器,从而轻松地在一台虚拟专用服务器(VPS)上启动HTTP[S]或SOCKS代理服务。这个代理服务的出口在云服务提供商的多个地区,因此可以实现请求一次就切换IP地址的效果。

这种方式的优势在于无需复杂的手动配置和部署流程即可实现IP一次一换的代理效果,且这样配置更换IP有助于维护匿名性或绕过封锁场景。

3. 自建代理池+隧道代理

借助数据库,如Redis等,我们可以存储从各大代理网站爬取到的免费http[s]/socks代理IP:Prot。随后,通过自定义的质检程序,我们可以对这些代理进行可用性及网速判断。最后,我们构建隧道代理,通过转发服务实现对扫描IP的一次一换,以确保高效的扫描操作。

这个流程包括以下步骤:

    1. 代理抓取: 我们从多个网站爬取免费代理IP,并将其存储在数据库中,以便后续使用。
    2. 质检程序: 我们开发了自定义的质检程序,用于验证代理的可用性。这包括检查代理的连通性、响应时间、成功率以及其他相关参数。
    3. 代理评分和删除: 初次存储和使用过的代理IP经过我们自定义的质检程序进行评分。如果代理的分数低于设定的阈值,它将被自动删除,以确保只有高质量的代理被保留在数据库中。
    4. 转发服务:配置隧道代理,请求入口统一,出口IP根据自定义规则随机从代理池中取出作为代理被使用。

这套方案可以帮助安全人员轻松地获取可用的代理IP,同时通过质检和评分机制,确保只有高性能和稳定的代理被提供给用户。而且所用代理爬取自各大代理服务商所公示的免费代理,这样不仅保障了匿名性也提高了扫描效率。

4. 机场节点+clash.meta+隧道代理

机场作为翻墙常用的节点,不仅能帮助用户绕过网络封锁(GFW)来访问国外资源,还在安全工作中提供了代理服务,帮助用户绕过目标网络的限制。然而,常用节点订阅工具v2rayN的默认设置是一个本地入口(通常使用端口10808)仅对应一个VMess或其他加密协议节点出口,这可能带来一定的限制。

尽管v2rayN内核本身支持多入口和多出口,但需要手动编写繁琐的配置文件,这对于用户而言可能不够便捷。此时,我们可引入了clash.meta,这是原版clash的一个分支,它提供了一种简单的解决方案,能够轻松实现v2rayN多入口多出口的配置需求。使用clash.meta,我们可以将机场中的各种协议节点转换为本地的socks节点。这使得每个本地端口都可以对应一个外部机场节点,从而实现多入口对应多出口的配置。而且,不同于上一种方案中爬取免费代理自建代理池,这里花费极少代价使用机场节点构建的socks代理池更加的稳定可靠。

最后,我们可以配置隧道代理服务,使内部工具或环境只需配置一个简单的ip:port,就能够随时在多个机场节点之间切换出口IP。这样不仅确保了用户的匿名性,还能够帮助用户绕过目标网络的限制策略。

5. TOR服务

Tor 是一个虚拟隧道网络,用于提高互联网用户的隐私和安全。其原理在于通过 Tor 网络内的三个随机服务器(也称节点)发送用户流量。线路中的最后一个中继(即“出口节点”)将流量发送到公共互联网。

Windows上使用的Tor浏览器即采用上述网络结构,可以使通信数据通过多个中继节点传递,且Tor会对通信来源进行加密,在这个过程中保障了用户的隐私和匿名性,最终绕过目标限制策略。

Linux上 proxychains 搭配 tor服务,也可配置socks5代理,同样可以绕过目标限制策略。

6. 在线网站端口扫描

在红队打点过程中,通常需要执行端口扫描操作,然后是指纹识别等。然而,如果甲方运维人员正在进行监测,可能会导致IP地址被发现进而通过一些方式被溯源到个人账号ID、身份信息或手机号等。在这种情况下,通过在线网站进行端口扫描可以避免被追溯,实现匿名的端口扫描操作。

7. 代理服务供应商

使用借助代理服务供应商提供的HTTP[S]和SOCKS动态代理服务,不仅有助于在手工渗透测试过程中保持匿名性和绕过防火墙设备,还能够在配置适当的扫描器并发量时,实现高效的批量检测。

0x05 总结

本文从实战的角度出发,给出了 7 种方案用于安全人员在端口扫描和漏洞验证阶段绕过防火墙封禁以及避免安全运营人员溯源。由于篇幅限制,每种方案没有展开细说,此处仅提供思路。另外此处思路仅供以安全人员研究交流,请不要进行非法操作。

这篇关于红队攻防之隐匿真实IP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/453733

相关文章

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i