# HW
时间
2024 年:常态化发展 持续了两个月 7 月持续到 9 月
流程
准备阶段==>自查阶段==>预演习==>正式开始
薪资
一般会在蓝队,红队是以大厂团队为基础的
# 蓝队
2024 年 HW
- 初级蓝队:800 + 元 / 天
- 中级蓝队:1.5k + 元 / 天
- 高级蓝队(蓝队负责人):3k + 元 / 天
职责
名词 | 说明 |
---|---|
监控(监测)组 | 看设备的 web 页面(奇安信...) |
研判组 | 看 http 请求包 |
应急处置组 | 被攻击后的处理 |
溯源组 | 溯源攻击者的信息 |
反制组 | 收集到对方的信息进行进攻 |
# 红队
攻击方式
- 常规漏洞攻击
- 0day 漏洞攻击
- 社会工程学
# 经验 —— 注意事项
联系人
- 如果我是外部人员,不能告诉甲方(比如奇安信)最好开始先问清楚如果有人问,要怎么回答
差旅
- 要明确 HW 过程中谁出费用
值守范围
- XXX 数据局的下属分县的 XXX 局
- 要不要去理会所属下级部
现场环境确认
- 所属资产确认
招聘
- HW 2-3 周开始投递
# 资产安全加固
# Windows 安全基线检查加固
账户
在操作系统中,账户是操作系统进行权限管理的基本单元。
用户
-
本地用户、域用户
-
本地用户:只能对本地计算机有效
-
域用户:对整个安全域有效
-
用户组
- 由多个用户组成的一个群体
措施
- 修改安全策略
日志分析
查看日志:按 "Window+R",输入 ”eventvwr.msc“ 也可以直接进入 “事件查看器”
# 审核策略
事件 ID
事件 ID | 说明 |
---|---|
4624 | 登录成功 |
4625 | 登录失败 |
4634 | 注销成功 |
4647 | 用户启动的注销 |
4672 | 使用超级用户(如管理员)进行登录 |
4720 | 创建用户 |
登录类型
登录类型 | 描述 | 说明 |
---|---|---|
2 | 交互式登录(Interactive) | 用户在本地进行登录。 |
3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
4 | 批处理(Batch) | 通常表明某计划任务启动。 |
5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
7 | 解锁(Unlock) | 屏保解锁。 |
8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如 FTP。 |
9 | 新凭证(NewCredentials) | 使用带 / Netonly 参数的 RUNAS 命令运行一个程序。 |
10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可用 |
# 日志分析工具
https://www.cnblogs.com/starrys/p/17129993.html
# Linux 安全基线检查加固
# 用户类型
linux 用户类型:超级用户、系统用户、普通用户
用户账号文件:
/etc/passwd
root : x :0 :0 :root :/root:/bin/bash | |
用户名:密码:用户 ID: 主组 ID: 用户全称:主目录:shell |
用户密码文件:
/etc/shadow
root :xxx:19821 :0 :999999 :7 : : : | |
用户名:密码:修改密码的时间:修改时间后的天数:两次修改:密码间隔的最多天数:提前几天警告用户密码过期:密码过期几天禁用用户:过期时间:保留字段 |
用户组文件:
/etc/group
root:x :0 : | |
组名:口令:组标识号:组内用户列表 |
# 日志分析
默认日志存放路径: /var/log
比较重要的几个日志:
- 登录失败记录:
/var/log/btmp
,对应命令:lastb
- 最后一次登录:
/var/log/lastlog
,对应命令:lastlog
- 登录成功记录:
/var/log/wtmp
,对应命令:last
- 登录日志记录:
/var/log/secure
- 目前登录用户信息:
/var/run/utmp
,对应命令:w
、who
、users
- 历史命令记录:
history
,其中仅清理当前用户:history -c
# 日志分析技巧
# 显示 file 文件里匹配 foo 字串的行以及上下 5 行 | |
grep -C 5 foo file | |
# 显示 foo 及前 5 行 | |
grep -B 5 foo file | |
# 显示 foo 及后 5 行 | |
grep -A 5 foo file | |
查找含有模糊字符串的所有文件 | |
grep -rn "hello,world!" |
1、定位有多少 IP 在爆破主机的 root 帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more |
2、定位哪些 IP 在爆破:
grep "Failed password" /var/log/secure | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | uniq -c |
3、爆破的用户名相关字典:
grep "Failed password" /var/log/secure | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}' | uniq -c | sort -nr |
4、登陆成功的 IP 有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more |
5、登陆成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' |
6、增加用户的日志:
grep "useradd" /var/log/secure |
7、删除用户的日志:
grep "userdel" /var/log/secure |
8、su 切换用户日志如下:
May 31 21:36:25 centos su: pam_unix(su-l:session): session opened for user test by root(uid=0) |
9、sudo 授权执行日志如下:
May 31 21:37:31 centos sudo: root : TTY=pts/2 ; PWD=/root ; USER=root ; COMMAND=/bin/ls |
10、软件安装日志文件 /var/log/yum.log
,检索该文件可查看软件安装相关记录:
[root@localhost ~]# head -5 /var/log/yum.log | |
Jan 11 16:51:30 Installed: xmlstarlet-1.6.1-1.el7.x86_64 | |
Jan 18 16:55:31 Erased: libzip-devel-0.10.1-8.el7.x86_64 | |
Jan 18 16:55:32 Erased: libzip-0.10.1-8.el7.x86_64 | |
Jan 18 17:06:50 Installed: libzip-0.10.1-8.el7.x86_64 | |
Jan 18 17:06:50 Installed: libzip-devel-0.10.1-8.el7.x86_64 | |
[root@localhost ~]# |
11、根据端口列进程:
netstat -ntlp | grep ":80 " | awk '{print $7}' | tr '/' "\t" |
其中, grep
命令后面为你需要检索的端口。
12、查找较多的 SYN 链接:
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more |
其中, grep
命令后面也可为不同的链接,如: ESTABLISHED
、 CLOSE_WAIT
等
13、查看服务当前的并发连接数和 TCP 连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(key in S) print key,"\t",S[key]}' |
# 附:所有事件 ID
### 用户操作事件 id ### | |
1102 - 清理审计日志 | |
1105 - 自动备份事件日志 | |
4624 - 帐户已成功登录 | |
4625 - 帐户登录失败 | |
4634 - 帐户被注销包括锁屏 | |
4647 - 用户发起注销 | |
4648 - 使用显式凭据尝试登录 | |
4649 - 检测到重播攻击 | |
4657 - 修改注册表值 | |
4665 - 尝试创建应用程序客户端上下文。 | |
4666 - 应用程序尝试了一个操作 | |
4670 - 对象的权限已更改 | |
4672 - 给新登录分配特权 | |
4674 - 尝试对特权对象执行操作 | |
4692 - 尝试备份数据保护主密钥 | |
4696 - 主要令牌已分配给进程 | |
4697 - 添加服务 | |
### 计划任务事件 id ### | |
4698 - 已创建计划任务 | |
4699 - 计划任务已删除 | |
4700 - 已启用计划任务 | |
4701 - 计划任务已禁用 | |
4702 - 计划任务已更新 | |
4703 - 令牌权已经调整 | |
4704 - 已分配用户权限 | |
4705 - 用户权限已被删除 | |
4706 - 为域创建了新的信任 | |
4707 - 已删除对域的信任 | |
4709-IPsec 服务已启动 | |
4710-IPsec 服务已禁用 | |
4713-Kerberos 策略已更改 | |
4717 - 系统安全访问权限已授予帐户 | |
4718 - 系统安全访问已从帐户中删除 | |
4719 - 系统审核策略已更改 | |
4720 - 已创建用户帐户 | |
4722 - 用户帐户已启用 | |
4723 - 尝试更改帐户的密码 | |
4724 - 尝试重置帐户密码 | |
4725 - 用户帐户已被禁用 | |
4726 - 用户帐户已删除 | |
4727 - 已创建启用安全性的全局组 | |
4728 - 已将成员添加到启用安全性的全局组中 | |
4729 - 成员已从启用安全性的全局组中删除 | |
4730 - 已删除启用安全性的全局组 | |
4731 - 已创建启用安全性的本地组 | |
4732 - 已将成员添加到启用安全性的本地组 | |
4733 - 成员已从启用安全性的本地组中删除 | |
4734 - 已删除已启用安全性的本地组 | |
4735 - 已启用安全性的本地组已更改 | |
4737 - 启用安全性的全局组已更改 | |
4738 - 用户帐户已更改 | |
4740 - 用户帐户已被锁定 | |
4741 - 已创建计算机帐户 | |
4742 - 计算机帐户已更改 | |
4743 - 计算机帐户已删除 | |
4744 - 已创建禁用安全性的本地组 | |
4745 - 已禁用安全性的本地组已更改 | |
4746 - 已将成员添加到已禁用安全性的本地组 | |
4747 - 已从安全性已禁用的本地组中删除成员 | |
4756 - 已将成员添加到启用安全性的通用组中 | |
4765-SID 历史记录已添加到帐户中 | |
4767 - 用户帐户已解锁 | |
4768 - 请求了 Kerberos 身份验证票证(TGT) | |
4769 - 请求了 Kerberos 服务票证 | |
4770 - 更新了 Kerberos 服务票证 | |
4774 - 已映射帐户以进行登录 | |
4775 - 无法映射帐户以进行登录 | |
4776 - 域控制器尝试验证帐户的凭据 | |
4777 - 域控制器无法验证帐户的凭据 | |
4778 - 会话重新连接到 Window Station | |
4782 - 密码哈希帐户被访问 | |
4794 - 尝试设置目录服务还原模式管理员密码 | |
4797 - 试图查询帐户是否存在空白密码 | |
4798 - 枚举了用户的本地组成员身份。 | |
4799 - 已枚举启用安全性的本地组成员身份 | |
4800 - 工作站已锁定 | |
4801 - 工作站已解锁 | |
4802 - 屏幕保护程序被调用 | |
### 域相关事件 id ### | |
4820-Kerberos 票证授予票证(TGT)被拒绝,因为该设备不符合访问控制限制 | |
4821-Kerberos 服务票证被拒绝,因为用户,设备或两者都不符合访问控制限制 | |
4822-NTLM 身份验证失败,因为该帐户是受保护用户组的成员 | |
4823-NTLM 身份验证失败,因为需要访问控制限制 | |
4825 - 用户被拒绝访问远程桌面。默认情况下,仅当用户是 Remote Desktop Users 组或 Administrators 组的成员时才允许用户进行连接 | |
### 5024-5037### 防火墙策略事件 id | |
4946 - 已对 Windows 防火墙例外列表进行了更改。增加了一条规则 | |
4947 - 已对 Windows 防火墙例外列表进行了更改。规则被修改了 | |
4948 - 已对 Windows 防火墙例外列表进行了更改。规则已删除 | |
5024-Windows 防火墙服务已成功启动 | |
5025-Windows 防火墙服务已停止 | |
### 5136-5145 ### 目录服务事件 id | |
5137 - 已创建目录服务对象 | |
5140 - 访问了网络共享对象 | |
5142 - 添加了网络共享对象。 | |
5145 - 检查网络共享对象以查看是否可以向客户端授予所需的访问权限 | |
### ------- ### | |
5156-Windows 筛选平台允许连接 | |
5157-Windows 筛选平台已阻止连接 |