我与红队:一场网络安全实战的较量与成长

目录:

 一、团队建设实践经验

二、红队成员核心能力

 三、红队快速上分若干技巧

 四、经典案例

 五、红队眼中的防守弱点

在网络空间安全领域,红队作为模拟攻击方,是攻防演练中至关重要的角色。我们致力于通过实现控制业务、获取数据、系统提权等目标,来发现系统、技术、人员和基础架构中存在的网络安全隐患或薄弱环节。本人作为网络安全公司红队Team leader,与队友共同取得了一些成绩。下面谈谈红队建设方面的心得体会:

一、团队建设实践经验

我眼中完美的红队=专业的队员+广泛的经验+高效的工具+密切的协作。然而,正如罗马不是一天建成的,一个Team要想形成强大的战斗力,靠的是点点滴滴的积累。

1.1人才储备方面

我们团队是按照渗透测试不同阶段来搭配具有特长的人员,分工有所侧重,目前组成如下:情报搜集与外围打点2人、漏洞挖掘与工具开发2人、社工钓鱼与内网渗透2人。 平时个人对所负责安全方向保持专注,及时掌握最新的安全动态和威胁情报,不断学习新的攻击和防御手段,拓展自身知识面和技战术水平。团队会定期演练,组织模拟攻击和防御演练,提高应对突发安全事件的能力;偶尔也会参与一些国内外网络安全竞赛,如强网杯和网鼎杯。

1.2武器储备方面

我们深信,攻防演练往往开始于"一无所知"的境地,历经一至两周的紧张挑战,全面检验团队的实战与协作能力。为此,前期的充分准备,尤其是"武器"的精良储备,至关重要。 圈子里公开的工具往往难以完全契合攻防演练的严苛需求。例如,工具的免杀能力直接关系到侵入目标后的隐蔽性,降低暴露风险;而优质的口令字典和目录爆破字典则能显著提升攻击效率,大大节省宝贵时间。 因此,我们重点投入于自研与定制化工具的开发,包括但不限于:

1.自研远控C2系统,确保远程控制的隐蔽性与灵活性。

2.魔改Cobaltstrike,强化其攻击性能与适应性。

3.自研反追踪链路,有效干扰对手的追踪行动。

同时,我们还搜集并挖掘了市面上用户量较大的办公OA系统、CMS平台以及开源项目的0day/1day漏洞,为攻防演练提供强有力的支持。

图1-1自研远控C2魁拔

图1-2自研反追踪链路

1.3绩效考核方面

在日常训练与演练中,我们通过量化指标如漏洞挖掘数量、系统渗透成功率、反追踪效果等跟踪记录每位队员的绩效,确保评估客观公正。这一体系不仅激励队员在各自职责内精益求精,还鼓励他们勇于突破角色定位,探索未知领域,实现个人与团队的双重成长。我们也通过定期的角色轮换与项目合作,促进队员间的知识与经验交流,进一步激发团队潜力。此外,我们积极鼓励并支持队员考取国内外权威的网络安全资质证书,如CISP(中国信息安全认证)、OSCP(Offensive Security Certified Professional)等。这些证书不仅是个人能力的有力证明,更是团队整体实力提升的重要标志。

1.4团队协作方面

在攻防演练中,我们特别强调团队协作的力量,借助社交软件和协同文档平台,确保信息高效流通,成果即时共享,通过集体智慧共同分析挑战、解决问题,从而不断提升整体突防能力。 在日常训练中,我们将"请进来"与"送出去"策略相结合。一方面,我们外聘来自一线大厂的红队精英,定期举办交流会,分享最新的攻击策略与技术趋势,让团队成员紧跟行业前沿;另一方面,鼓励并支持队员参加外部培训、研讨会,再带回团队分享,形成知识循环与技能迭代。每周,红队内部都会举行研究成果分享会,无论是技术创新、漏洞发现,还是战术策略,激发团队内部的创新思维与竞争意识。

二、红队成员核心能力

开展网络渗透对红队人员的岗位技能和动手能力都有较高的实战要求,体现其综合素质。通过区分不同成员的角色,来定义其关键能力。根据技能掌握难易程度又有基础能力、高阶能力之分。 这里将红队关键能力分为2个级别、5类、36项具体技能。其中,基础能力28项,高阶能力8项,如图2-1所示。

图2-1区分人员定义关键能力

2.1情报搜集人员

熟练运用各类网络空间测绘平台,深度挖掘开源情报与社工库资源。专注于梳理目标系统的组织架构、IT资产清单、供应商关系网等关键信息。高阶技能是具备出色的版本识别与指纹识别能力,能够初步扫描业务系统的已知漏洞、敏感信息泄露状况,为后续的攻击策略提供信息支撑。

2.2打点实施人员

具备扎实的Web安全基础,对常见Web漏洞了如指掌,包括命令执行、SQL注入、逻辑漏洞、文件上传、反序列化、弱口令等。熟悉各类网络安全工具的使用(如burpsuite/sqlmap/nmap/msf等)。具备多种平台渗透经验,包括网站、微信小程序、APP等。能够在获取外网系统控制权限之后寻找和内网连通的通道并建立跳板。可以拓展的高阶技能就是web漏洞挖掘。

2.3漏洞挖掘及工具开发人员

最好是程序员出身,熟悉web开发与编程相关技能和工具(如java/php/python等),能够理解业务逻辑,挖掘web漏洞或二进制漏洞,并编写出POC或漏洞exp。能够根据其他攻击成员的需求快速开发攻击工具,最好能够开发战略级工具,如远控木马,会对webshell或shellcode进行免杀。

2.4社工钓鱼人员

掌握一定的话术体系和心理学知识,熟悉电子邮件系统的运作原理,能够制作伪装成合法邮件的钓鱼邮件。了解社交平台的安全机制,能够规避平台的检测与封禁,能够伪装身份与目标人员进行有效沟通,并利用人性弱点进行诱骗,使得木马在终端执行。高阶技能是会对webshell或shellcode进行免杀。

2.5内网渗透人员

掌握内网信息搜集套路,搭建内网隐蔽隧道链路,熟悉多级代理、反向连接、端口转发等工具和技术(例如利用Stowaway、Frp等工具来建立socks5隧道,实现多层内网的穿透访问)。需要深入理解工作组和域环境的渗透方法。熟悉各种横向拓展工具及技术(如wmi/psexec等),掌握内网权限维持与提权技术工具使用。此外,还需要了解如何绕过安全软件的检测,以确保他们的行动不会触发告警。

三、红队快速上分若干技巧

3.1完整读一遍攻击方手册

特别是评分标准要研究分析下,一般来说获取服务器/终端的权限分数是有上限的,刷够了就没有必要继续了,突破逻辑隔离进入内网分数是比较高的,所以在报告中要有所体系,比如截个双网卡的屏和内网地址业务系统的屏来佐证确实进入内网。近几年的攻防演练评委对于高价值敏感信息很看重,拿数据比拿权限更容易"暴富",往往获得一个核心业务数据库,能直接为团队获得上万分。

3.2手里有0day交还是不交

团队的漏洞挖掘大佬经常会犹豫是否要把手里的0day贡献给某次攻防演练,交了吧确实能带来5千到1万分的可观分数,可能就是这个洞就能帮助团队锁定前三名,但是交了等于这个漏洞就被公开了,自己辛辛苦苦挖了几个星期的成果好像也没有获得什么直接的报酬,还不如交给大厂SRC还钱。其实这里面就要看漏洞本身的价值了,完全可以同时交给大厂和攻防演练中。

3.3关注历史遗留webshell

该项思路主要利用目录扫描以及信息泄露工具进行搜集网站信息,然后看是否有黑客入侵后留下的webshell在,或者说其他攻击队进行攻击成功后可以成功访问的shell也是可以利用的,连接的密码运气好的话可以直接猜对。重点关注下webshell的时间戳,如果是很久以前的比如几个月之前的就可以攻击事件写入报告。

3.4与裁判保持良好的沟通

与裁判沟通报告内容时,态度一定要平和,避免情绪激动或大吼大叫。即使你对报告被驳回有异议,也要保持冷静,合理表达自己的诉求,否则可能会引起裁判的反感,导致原本应该拿到的高分被大幅削减。初始报告被驳回后,要正确理解裁判的要求,及时补充每一个攻击步骤的截图,配合文字说明。

四、经典案例

4.1某大型金融企业集团

在今年一次实战攻防演练中,攻击队的目标是获取某大型金融企业集团内部系统的安全管控权限。攻击队通过前期的情报搜集和摸排后发现,该企业规模大、员工多,对其互联网暴露的业务系统进行多次突破均以失败告终。为了更好发展业务,该企业在全国多个城市部署子公司(记作公司A、公司B、公司C),母公司与子公司网络呈树状结构相互连接。

4.1.1子公司供应链迂回打点

前期情报分析显示,该企业子公司C规模较小、员工数少,并不具备独立的IT系统研发和运维能力,其核心IT系统的支撑和运维实际上依靠上级单位XX信息中心。最终锁定了一个采购管理平台,作为供应链入手的重点突破点。 利用网络空间测绘平台在全网范围内检索含有关键字"Powered by XX信息中心"的站点,发现了和目标采购管理平台非常相似的系统部署于云服务器上,通过旁站拿到webshell并下载了全部系统代码,通过审计发现其后端REST服务存在一个未授权访问接口,能够提升用户权限,且特权用户进入管理后台存在一个文件上传漏洞。 于是我们回到目标采购管理平台,获取了部分用户,并提升若干为特权用户,进入系统利用文件上传漏洞获取webshell。

图4-1后端REST服务接口可以未授权访问

4.1.2与蓝队反复对抗

虽然我们的webshell是专门做过免杀的,但是还是很快被防守人员发现,对采购管理平台及数据库进行了服务器迁移,同时修复了漏洞。难道之前的努力就白费了? 重点来啦,通过细致的测试发现:管理员虽然对采购管理平台进行了迁移并修复了漏洞,但是居然没有删除全部的webshell后门脚本(我们之前在多个不同目录留有后门),并被重新部署在新的服务器上。攻击队通过连接之前植入的webshell,重新拿回了服务器权限。这次我们非常小心的操作,只做简单的信息搜集,居然在磁盘中发现了连接内网主机192.168.10.101的ssh会话凭据。 控守了内网主机192.168.10.101之后,发现防守人员会不定时登陆该服务器,于是制作了一个linux后门程序监听ssh服务数据,并且会记录键盘事件。经过一段时间后成功获取其root账号密码为vmware1!

图4-2植入木马

图4-3获取管理员账号密码

之后用该账号root/vmware1!去尝试访问内网其他开放ssh服务的机器,即同口令攻击,最终获取了十余台服务器权限。

4.1.3社工钓鱼

另一边,队里的社工大佬也钓到了鱼。因为通过情报搜集发现该企业在演习之前刚刚经过内部网络安全渗透测试,他就想到利用该敏感事件进行钓鱼,为了增加可信度,社工出信息中心某主任的身份信息,伪造给多个员工发送钓鱼邮件,内容是《集团内部网络安全检查违规整改.rar》

图4-4钓鱼邮件

远控里显示成功上线内网终端

图4-5目标上线

4.1.4内网横向渗透

利用frp搭建内网隐蔽隧道,突破网络逻辑隔离。一层内网里有很多数据库服务器,其中一台MSSQL存在弱口令,通过MDUT工具成功连接,利用Xpcmdshell命令执行,添加用户admin,加入管理员组

图4-6获取数据库服务器shell

打开3389远程桌面成功连接

图4-7数据库服务器远程桌面

金融综合安防平台存在海康威视文件上传漏洞,获取webshell

图4-8金融综合安防平台

图4-9漏洞利用

值得一提的是,登录终端界面后发现浏览器中大量登录的账号信息,可以构造弱口令字典进行碰撞

图4-10浏览器账号信息

二层内网里的重大成果vcenter 进入二层内网后,最激动人心的莫过于摸到了一个vcenter集群。众所周知,vcenter人送外号小域控,拿下vcenter,不单单只是获取一台服务器的权限(因为vcenter的管理端必然托管了大量其他虚拟机),拿下它的价值不亚于域控的价值。 我们的攻击路径如图所示:

图4-11 vCenter攻击链

1.首先探测到内网vCenter服务,发现该vCenter的版本存在CVE-2021-21972漏洞,于是尝试利用获得vCenter Server主机webshell 权限vsphere-ui。 2.利用CVE-2022-22948漏洞,获取vpxuser用户的凭证。 3.用vpxuser凭据通过ssh连接ESXI服务器,对ESXI服务器进行完全控制。 这个集群管理了公司大大小小共800余太服务器,至此目标彻底出局。

图4-12 vCenter托管大量虚拟机

其中有一套ATM机防护舱控制系统

图4-13 ATM机防护舱控制系统

这个案例比较值得记录的有四点:

1.母公司防守严密,通过子公司供应链迂回攻击

2.在与防守方对抗过程中,利用管理员疏忽,顺手牵羊获取核心敏感数据

3.员工安全意识不强,导致被邮件钓鱼

4.核心内网vcenter集群维护不及时,通过多个CVE组合漏洞拿下大量核心资产

4.2某国有上市高新技术企业

在今年某次实战攻防演练中,我们队的目标是获取某国有上市高新技术企业内部系统的安全管控权限。我们通过前期的情报搜集和摸排后发现,该企业拥有较强的日常网络安全运维保障能力,在互联网暴露的业务系统较少,核心业务系统全部位于统一认证登录服务之后。经过多人多次的尝试,均无法正面突破该统一认证登录服务。

图4-14无法突破统一身份认证平台

4.2.1突破出口防火墙

通过前期信息搜集,目标在互联网边界出口部署了一套Hillstone防火墙。我们恰好近期研究过其未公开的后台未授权访问漏洞1day exp。虽然小版本号不同但是微调利用代码后最终成功进入管理员界面。选择VPN配置菜单,根据需要添加了SSL VPN防火墙规则,配置了隧道路由,从而顺利进入企业内网。

图4-15配置VPN

4.2.2内网信息搜集

进入内网后首先利用魔改的fscan想要一把梭快速摸清内网拓扑结构,但是没想到扫描动作还是被深某服的态势感知发现了,连续封了2个vpn账号。我们分析后重新写了个py脚本来做NBT扫描,随机化了扫描时间延迟,减少了并发线程。

def net_scan(ips):`` ip_list = list(ips)`` random.shuffle(ip_list)`` for ip in ip_list:`` try:`` result = subprocess.run(['nbtstat', '-A', str(ip)], capture_output=True, text=True, check=True)`` if "UNIQUE" in result.stdout:`` print(f"Host: {ip}")`` print(result.stdout)`` except subprocess.CalledProcessError as e:`` print(f"Error --> {ip}: {e}")
delay = random.uniform(0.02, 3) # 随机延迟在 20ms 到 3 秒之间`` time.sleep(delay)
def main():`` file_path = 'ips.txt'`` ips=[]`` with open(file_path, 'r') as file:`` for ip_one in file:`` ips.append(ip_one.strip())`` net_scan(ips) #调用扫描模块
if __name__ == "__main__":`` main()

4.2.3内网横向

内网一台服务器10.10.0.3存在springboot_actuator漏洞,利用后反弹shell,上传msf木马,连接后获取meterpreter会话。用户为普通用户apollo,进行本地提权。选择msf推荐的提权模块linux/local/cve_2021_4034_pwnkit_lpe_pkexec

图4-16利用msf模块提权

最终成功提权为root用户,并获取到会话

图4-17提权为root

内网中很多数据库存在组合弱口令即"单位名称缩写+年",这一项就把数据分8千分打满了哈哈哈。

图4-17多个数据库

4.2.4重大成果拿下域控

在内网横向过程中,发现某主机存在于域环境中,在尝试了DCSync、Kerberoasting等攻击手法无果后,就想到了域控满分漏洞Zerologon(CVSS评分为10)。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。

图4-18域控攻击链

经过一系列神奇的操作,然后就没有然后了---拿下了域控,不看不知道,一看吓一跳,域很大很大,域内包含1401台计算机

图4-19利用bloodbound分析域拓扑

至此彻底拿下了核心工控区/生产区。

图4-20登录域控查看域内组织结构

这个案例比较值得记录的有四点:

1.利用边界出口防火墙启用SSLVPN实现突破边界

2.内网扫描工具随机化延时规避防守方设备感知

3.很多数据库存在组合弱口令即"单位名称缩写+年"

4.定位域控,并通过域控Zerologon漏洞拿下核心工控区

五、红队眼中的防守弱点

网络安全的本质在对抗,对抗的本质在攻防两端能力较量。我们始终认为把防守方研究透彻了才能更好地发动有效且致命的进攻。通过对政府、医疗、金融、交通、能源等行业的多年红队实战经验总结,发现各行业安全防护薄弱环节:

5.1员工网络安全防范意识不足

企业面临一个尴尬的问题就是,企业即使做了很多安全防御措施,但依然无法有效的避免网络安全事件,而这些安全事件中绝大多数与企业内部员工安全意识不足有关。对于非专业人员来说,网络安全意识的培养并非一朝一夕之功,这与企业文化的塑造息息相关。目前来看,人依然是红队能够直接突破进入内网的重要因素。特别是新入职员工,缺乏有效的网络安全防范意识培训,轻而易举就被红队社工钓鱼。

5.2依赖边界防护设备轻视内网资产清查

企业愿意向互联网边界防护墙、路由器、VPN投入大量的金钱和人员升级和维护,管理员一旦发现公开的边界设备漏洞或者对外开放的业务系统漏洞威胁情报,就会快速予以处理。但是内部网络的资产,特别是堡垒机、虚拟化控制中心、邮件服务器和域控主机,往往由于缺乏定期的维护升级,存在各方面的漏洞,使得红队人员进入后如入无人之境。

5.3资产管理混乱、软硬件更新滞后

很多企业对自身资产底数不清,未进行分门别类,几乎是扁平化管理,缺乏严格的访问控制(ACL)策略,而且DMZ区和生产网之间不做或很少做隔离,给了红队很多可乘之机。此外,几乎所有行业的下级单位和上级单位的业务网都可以互通。红队往往可以轻易地实现实施从子公司入侵母公司,从一个部门入侵其他部门的策略。资产中的软件、硬件更新滞后,容易遭到黑客和恶意软件的攻击。

5.4网络安全缺乏持久的关注

许多企业在面临网络安全威胁或进行攻防演练前后会表现出高度的重视,但随着时间的推移,这种紧张感和行动力往往会逐渐减弱,导致之前建立的安全措施和管理制度被束之高阁。这种情况不仅削弱了企业的安全防护能力,还可能让员工对网络安全的重视程度也随之下降,从而增加潜在的安全风险。

总结:未来越来越多的企业会引入零信任产品,部署更多的分布式态势感知平台,会从被动防守转向正面对抗,缩短响应网络安全事件的时间,利用大数据和人工智能技术更加精准的溯源攻击者。随着网络安全演练的不断深入推进和全民网络安全意识的增强,暴露在互联网上的脆弱资产也会呈现逐步减少的趋势,作为红队人员要更快更新知识储备,提高技战术水平,积极适应网络安全环境的各种变化。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关

相关推荐
极简网络科技18 分钟前
Docker、Wsl 打包迁移环境
运维·docker·容器
黑客老李23 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
杨浦老苏23 分钟前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘26 分钟前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
dustcell.37 分钟前
Cisco Packer Tracer 综合实验
网络
这儿有一堆花1 小时前
安全访问家中 Linux 服务器的远程方案 —— 专为单用户场景设计
linux·服务器·安全
RussellFans1 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
猴哥聊项目管理2 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
Chuncheng's blog2 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
听风吹等浪起2 小时前
CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】
linux·服务器·centos