网络安全红队基础建设与介绍
1.ATT&CK相关背景
ATT&CK在各种日常环境中都很有价值。开展任何防御活动时,可以应用ATT&CK防御法,参考攻击者及其行为。ATT&CK不仅对网络防御者提供通用技术库,还为渗透测试和红队提供了基础。提到对抗行为时,这为防御者和红队提供了通用语言。
1.对抗模拟
2.红队/渗透测试
3.指定行为分析防范
4.防御差距评估
5.SOC成熟评估
6.威胁情报收集
2.渗透测试与红队
渗透测试和红队主要区别是时间范围,渗透测试任务时间可能长达一周至一个月,红队的测试短达两周长达六个月以及更久。
红队一般会针对目标系统、人员、软件、硬件和设备同时执行的多角度、混合、对抗性的模拟攻击;通过实现系统提权、控制业务、获取数据等目标,来发现系统、技术、人员和基础架构中存在的网络安全隐患或薄弱环节。
我们需要模拟真实的攻击,利用社会工程学,远控木马、持久性、等技术。
2.1.渗透测试
有详细计划等安全评估测试
1.渗透测试前双方制定计划
2.信息收集
3.漏洞分析
4.漏洞利用
5.后渗透阶段
6.编写测试报告
范围
1.有限制规则
2.1-2周的测试流程
3.有问题正常公告
4.发现漏洞
2.2.红队
充满不定性的安全评估测试
1.情报收集
2.撕口子
3.持久性/本地提权
4.本地/网络信息盘点
5.内网横向渗透
6.寻找机密资料/窃取
7.域内提权/抓取域内用户哈希
8.编写测试报告
范围
1.没有规则
2.1周-6个月的测试流程
3.有问题暂不公告
4.测试蓝队的工作计划,工作策略,工具和技能。
5.不能违法
3.红队基础建设
3.1.设定行动
3.1.1.团队协作
内部聊天工具:Rocket.Chat 等(文件传输、信息传递)
分工明确
进度同步
3.1.2.制定计划
分析任务
检测时效(TTD)
入侵事件的初始发生到安全分析人员检测并开始处理入侵事件之间的时间
缓解时效(TTM)
当进行防火墙阻止入侵,网络隔离这些操作的时候,记录的时间
3.1.3.确认目标
确定行动范围
抵达目标路线
3.2.功能隔离
3.2.1.网络钓鱼MSTP
SMTP
站点克隆
3.2.2.Shellcode有效载荷
制定加载流量,流量特征隐藏
3.2.3.长期C2
明确好重点目标,规避流量过于重复频繁
3.2.4.短期C2
非重要目标,防止被防火墙特征标记
3.3.设置外部服务器
为什么要设置外部服务器?
1.方便对于资产的监控
2.提前预备好外部服务器、如做反弹shell时、不确定防火墙具体检测规则,被标记。此时要使用不具备整体攻击架构服务器的特征、做到匿名、无指纹使用。
3.在执行一些攻击的payload可能会收到WAF拦截,做好预期暴露的IP要与后期行动不一致。
3.3.1.红队侦查
端口监控
Web应用程序监控
子域名监控
3.3.2.反弹shell
匿名、无指纹
3.3.3.Attack
执行一些攻击的payload(预期暴露的IP)
3.4.红队核心工具
3.4.1.Metasploit框架
Metasploit Framework,包含了丰富的漏洞攻击模块
3.4.2.Cobalt Strike
红队网红工具之一,用来后期持久渗透,横向移动,流量隐藏,数据窃取工具
3.4.3.Merlin
跨平台后持续利用 HTTP/2 C2工具
3.4.4.Nishang
是一个脚本和payload的框架和集合,可以使用Powershell进行进攻型安全测试
3.4.5.Gophish
功能强大的开源网络钓鱼框架
3.5.保护措施
保护措施的作用:
1.主要目的:防止信息被抓取
2.解决攻击基础架构可能会存在一些位置漏洞,防止收到其他联网主机相同的攻击
3.敏感服务器防止被威胁情报平台标记,如CS Teamserver默认端口50050
4.当生活机器与渗透机器重合使用时,会产生大量个人信息,如此时机器被反打,轻则泄漏个人信息,重则影响整个团队
3.5.1.隔离环境
物理机与虚拟机
生活机与工作机
3.5.2.iptables限定流量
应该用于过滤不需要的流量并限制所需基础架构模块之间的流量
3.5.3.ssh公钥身份验证
应仅限于公钥认证,并配置为使用受限权限的用户进行初始登陆。为了增加安全性,请考虑将双因子验证添加到SSH
做好多方位思维,做好自身保护。
3.6.自动化部署
节约时间成本、防止重复造轮子。
3.6.1.AWVS自定义镜像
预先制作好镜像、直接上传云
封装docker、便捷携带
编写shell脚本、自动化部署
3.6.2.找到适合自己的办法
关于自动化部署,每个人都有自己的习惯,找到合适自己的,才是最好的。
4.Red Team 作用
目的:
测出公司应对入侵事情的真实状况,并找到安全计划中的问题和员工对安全项目的理解中的不足,最终提高他们对安全计划的理解。
增强蓝队团队流程,政策,工具和技能等方面。
推动管理者使其摆脱依赖审计指标的心态,使公司的程序更安全成熟。
相关文章:
网络安全红队基础建设与介绍
1.ATT&CK相关背景 ATT&CK在各种日常环境中都很有价值。开展任何防御活动时,可以应用ATT&CK防御法,参考攻击者及其行为。ATT&CK不仅对网络防御者提供通用技术库,还为渗透测试和红队提供了基础。提到对抗行为时,这为…...

Java语法学习反射
Java语法学习反射 大纲 基本介绍class的介绍 具体案例 1. 基本介绍 流程图(程序在计算机的阶段) 反射的主要的类 这个提高效率不大 2. class的介绍 对于第三点:首先类只会加载一次,得到的class的对象,也只有一…...

【MySQL】操作库 —— 库的操作 -- 详解
一、增删数据库 1、创建数据库 create database db_name; 本质就是在 /var/lib/mysql 创建一个目录。 说明: 大写的表示关键字。[ ] 是可选项。CHARACTER SET:指定数据库采用的字符集。COLLATE:指定数据库字符集的校验规则。 2、数据库删除…...
Rust安装——Win10
安装步骤 1、下载RUSTUP-INIT.EXE(64-BIT) 2、由于国外源下载依赖太慢,因此建议增加win10环境变量配置国内源,增加RUSTUP_DIST_SERVER、RUSTUP_UPDATE_ROOT环境变量即可 RUSTUP_DIST_SERVER随便选择其中的一个源就行,…...

【教学类-46-07】20240212立体春字1.0
背景需求: 在南浔古镇的非遗文化馆里看到一个新年活动折纸——立体春字, 我记得这个就是一个双三角结构折纸,完全可以用15*15的手工纸给孩子们做一套。 折纸教程 双三角折法 【“鼠”你有才】纸艺教学 剪纸——立体春字(2月23日…...
Python语言例题集(003)
#!/usr/bin/python3 #猜数字 import random secretNumberrandom.randint(1,20) print(‘我想了一个1到20间的整数,你能猜出来吗?’) for guessesTaken in range(1,7): print(‘猜一下!’) guessint(input()) if guess<secretNumber: pr…...

UE5 播放本地MP3、MP4
1.创建一个媒体播放器 2.如创建视频,勾选。 它会多一个媒体纹理给你 3.1 设置音频 在一个actor上添加“媒体音频组件” “音频媒体播放器”赋值给它 3.2播放音频 添加一个音频媒体播放器变量, 赋值 地址使用绝对地址 4.1设置视频 UI上创建一个imag…...

NLP_“预训练+微调大模型”模式和Prompt/Instruct模式的异同
文章目录 “预训练微调大模型”的模式以提示/指令模式直接使用大模型“预训练微调大模型”模式和Prompt/Instruct模式的异同小结 “预训练微调大模型”的模式 经过预训练的大模型所习得的语义信息和所蕴含的语言知识,很容易向下游任务迁移。NLP应用人员可以根据自己…...
普通人应该如何使用GPT
现在GPT4推出的GPTs,包含了各个行业方向,比如DALL(绘图)、Diagrams(图标、流程图)、KAYAK(航旅助手)、Murder Mystery Mayhem(侦探扮演)、Canva(设…...

pycharm像jupyter一样在控制台查看后台变量
更新下:这个一劳永逸不用一个一个改 https://blog.csdn.net/Onlyone_1314/article/details/109347481 右上角运行...

Ansible command命令模块 这个模块可以直接在远程主机上执行命令,并将结果返回本主机。
目录 参数介绍练习环境配置主机清单配置无密码链接ping模块 command 命令模块也可以用来安装点东西看个路径 command 指定目录来 指定命令 参数介绍 chdir # 在执行命令之前,先切换到该目录 executable # 切换shell来执行命令,需要使用命令的绝对…...

C语言-3
定义指针 /*指针的概念:1.为了方便访问内存中的内容,给每一个内存单元,进行编号,那么我们称这个编号为地址,也就是指针。2.指针也是一种数据类型,指针变量有自己的内存,里面存储的是地址,也就是…...

Quartus工程的qsf配置约束文件介绍
一、qsf文件概述 qsf:Quartus Setting File,是Quartus工程的配置文件; 包含一个Quartus工程的所有约束,包括工程的软件版本信息、FPGA器件信息、引脚约分配、引脚电平分配,编译约束和用于Classic TimingAnalyzer的时…...

【网工】华为设备命令学习(Telnet)
本次实验AR3为我们实际中远程的路由,AR4模拟我们的设备,最终实现Telnet的远程控制路由! 本次笔记主要记录Telnet技术实现原理,后续再补充具体配置代码。 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的…...

搜索专项---最短路模型
文章目录 迷宫问题武士风度的牛抓住那头牛 一、迷宫问题OJ链接 本题思路:只需要记录各个点是有哪个点走过来的,就能递推得出路径。记录前驱假设从 1,1 这个点向下走到了2, 1,则将2,1这个点的前驱记为1,1。这样,将整张地图 bfs 后,…...
安装PostgreSQL和PostGIS
安装环境 Windows 2019 Standard Server 安装PostgreSQL 安装PostgreSQL 16 安装PostGIS 用PostgreSQL 16对应的PostGIS https://download.osgeo.org/postgis/windows/pg16/ https://download.osgeo.org/postgis/windows/pg16/postgis-bundle-pg16x64-setup-3.4.1-1.exe 创建…...

MySQL-----DCL基础操作
▶ DCL简介 DCL英文全称是Data ControlLanguage(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 DCL--管理用户 ▶ 查询用户 use mysql; select * from user; ▶ 创建用户 ▶ 语法 create user 用户名主机名 identified by 密码 设置为在任意主机上访问…...
Unity报错Currently selected scripting backend (IL2CPP) is not installed
目录 什么是il2cpp il2cpp换mono Unity打包报错Currently selected scripting backend (IL2CPP) is not installed 什么是il2cpp Unity 编辑器模式下是采用.net 虚拟机解释执行.net 代码,发布的时候有两种模式,一种是mono虚拟机模式,一种是il2cpp模式。由于iOS AppStore…...
LeetCode79. Word Search——回溯
文章目录 一、题目二、题解 一、题目 Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertic…...
Linux命令-blkid命令(查看块设备的文件系统类型、LABEL、UUID等信息)
说明 在Linux下可以使用 blkid命令 对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。 语法 blkid -L | -U blkid [-c…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...