蓝队面试题整理(hw防守方面试题整理)part 1
之前整理的有关于蓝队方面的面试题适合作为 hw 防守方,很久没更了放放存货🎈,整理自网络侵删,如有帮助点赞支持,之后会继续更新面试题系列
OCEAN'S 安全面试题整理系列文章:
🅰️应急响应🛡️
⬆️宏观题
1.基本思路流程
- 收集信息:收集客户信息和中毒主机信息,包括样本
- 判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等
- 抑制范围:隔离使受害⾯不继续扩⼤
- 深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
- 清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
- 产出报告:整理并输出完整的安全事件报告
2.Windows入侵排查思路
检查系统账号安全
查看服务器是否有弱口令,远程管理端口是否对公网开放(使用
netstat -ano
命令、或者问服务器管理员)lusrmgr.msc
命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号
结合日志,查看管理员登录时间、用户名是否存在异常
检查方法:Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”,导出 Windows 日志--安全,利用 Log Parser 进行分析
检查异常端口、进程
netstat -ano
检查端口连接情况,是否有远程连接、可疑连接- 任务管理器-进程
检查启动项、计划任务、服务
检查系统相关信息
查看系统版本以及补丁信息
查找可疑目录及文件
日志分析
3.Linux入侵排查思路
账号安全
who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看系统信息,想知道某一时刻用户的行为 uptime 查看登陆多久、多少用户,负载
1、用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GID:GECOS:directory:shell 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell 注意:无密码只允许本机登陆,远程不允许登陆 2、影子文件/etc/shadow root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7::: 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
/etc/passwd
存储一般的用户信息,任何人都可以访问;/etc/shadow
存储用户的密码信息,只有 root 用户可以访问历史命令
通过 .bash_history 查看帐号执行过的系统命令 1、root的历史命令 histroy 2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令 历史操作命令的清除:history -c 但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录
检查异常端口
netstat -antlp|more 查看下pid所对应的进程文件路径, 运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
检查异常进程
ps aux | grep pid
检查开机启动项
开机启动配置文件
/etc/rc.local /etc/rc.d/rc[0~6].d
检查定时任务
crontab -l 列出某个用户cron服务的详细内容 Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务) crontab -e 使用编辑器编辑当前的crontab文件 如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件 2、利用anacron实现异步定时任务调度
重点关注
/var/spool/cron/* /etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab /var/spool/anacron/*
检查服务
chkconfig --list 命令,可以查看系统运行的服务
检查异常文件
检查系统日志
Linux的登录日志查看文件
- 日志默认存放位置:/var/log/
- 查看可登录的账户 cat/etc/passwd|grep '/bin/bash'
- 查看所有用户最后的登录信息 lastlog
- 查看用户最近登录信息 last 其中,/var/log/wtmp 存储登录成功的信息、btmp 存储登录失败的信息、utmp 存储当前正在登录的信息
- 查看当前用户登录系统情况 who
Linux常用排查命令
这个问题就是 linux 入侵排查排查的一部分
https://cloud.tencent.com/developer/article/1822210
系统信息
- 查看当前系统状态 top
- 操作系统信息 uname -a
- 查看当前系统进程信息 ps
- 查看历史命令 history
- 列出本机所有的连接和监听的端口 netstat
- 查看谁在使用某个端口 lsof
用户登录
查看当前用户登录系统情况 who
分析超级权限账户 awk-F: '{if(1}'/etc/passwd
查看可登录的账户 cat/etc/passwd|grep '/bin/bash'
查看用户错误的登录信息 lastb
查看所有用户最后的登录信息 lastlog
查看用户最近登录信息 last
/var/log/ 其中,/var/log/wtmp 存储登录成功的信息、btmp存储登录失败的信息、utmp存储当前正在登录的信息
查看空口令账户 awk-F: 'length(1}'/etc/shadow
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
- 不允许 root 账号直接登录系统,
文件系统
- 设置 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 拒绝访问)
Linux 安全基线检查
Linux:https://cloud.tencent.com/developer/article/1668982
Windows 安全基线检查
Windows:https://cloud.tencent.com/developer/article/1668937
主要包括五个方面:身份鉴别、访问控制、安全审计、资源控制、剩余信息保护
身份鉴别
更改缺省账户
检查Guest用户是否禁用
密码复杂性要求
密码长度最小不能小于8位
访问控制
共享账户检查
远程关机授权
本地关机
授权帐户登陆
安全审计
用户登录日志记录
系统日志完备性检查
登录超时管理
资源控制
登录超时管理
远程登录超时配置
剩余信息保护
不显示上次的用户名
关机前清除虚拟内存页面
不启用可还原的加密来存储密码
中间件基线规范(APACHE)
配置
- 账号
- 授权
- 日志
- session 过期时间(防ddos)
- 绑定监听地址
禁止
- 目录权限
- 访问外部文件
- CGI
- 非法HTTP方法(PUT DELETE)
隐藏
- 服务版本号
- 重定向错误页面
删除
- 配置文件
- 默认安装的无用文件
中间件常见漏洞
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远程代码执行
Linux、Windows安全加固
IIS 服务器应该做哪些方面的保护措施?
整理来源:http://www.williamlong.info/archives/118.html
- 保持 Windows 升级
- 使用 IIS 防范工具
- 移除缺省的 Web 站点
- 如果你并不需要 FTP 和 SMTP 服务,请卸载它们
- 有规则地检查你的管理员组和服务:
- 严格控制服务器的写访问权限
- 设置复杂的密码
- 减少/排除 Web 服务器上的共享
- 禁用 TCP/IP 协议中的 NetBIOS
- 使用 TCP 端口阻塞
- 仔细检查 .bat 和 .exe 文件:每周搜索一次 .bat
- 管理 IIS 目录安全
- 使用 NTFS 安全
- 管理用户账户
- 审计你的 Web 服务器
Linux系统安全加固需要注意的内容
- 关闭不必要的系统服务
- 更改 SSH 默认端口
- 禁止 root 用户远程 ssh 登录
- 限制用户使用 su 命令切换 root
- 密码复杂度策略
- 检查密码重复使用次数限制
- 检查是否存在空口令账号
- 禁止同时按下 ctrl+alt+del 重启
- 禁用 telnet 服务
框架漏洞&常见命令注入漏洞?php? Strust2 ?
- Struts2 OGNL 注入
- weblogic
- fastjson
- TP5 代码执行
- laravel:debug mode 远程代码执行漏洞(CVE-2021-3129)
- Spring Expression Language SPEL 表达式注入
- Spring Security Oauth2 远程代码执行
- Spring框架漏洞总结
常见安全工具、设备
工具
- 端口及漏洞扫描:Namp、Masscan
- 抓包:Wireshark,Burpsuite、Fiddler、HttpCanary
- Web自动化安全扫描:Nessus、Awvs、Appscan、Xray
- 信息收集:Oneforall、hole
- 漏洞利用:MSF、CS
- Webshell 管理:菜刀、蚁剑、冰蝎、哥斯拉
设备
常见的 HW 设备有:公安部网防G01、K01、360网康/网神***、微步威胁情报、安恒云-Web应用***(玄武盾)、默安蜜罐、知道创宇蜜罐、山石***
即客户拥有物理的基础设施(自建机房、自购设备、网络)
NGAF/N***:下一代 Web 应用***(Next Generation Application Firewall,通***和下一代***的区别),聚合了以下功能
- IDS
- HIDS:基于主机的入侵检测系统
- NIDS:基于网络的入侵检测系统
- HIDS+NIDS:基于混合数据源的入侵检测系统
- IPS:入侵防御系统
- AV:反病毒系统
- IDS
EDR:主机安全管理\终端检测和响应
EDR 实时监测终端上发生的各类行为,采集终端运行状态,在后端通过大数据安全分析、机器学习、沙箱分析、行为分析、机器学习等技术,提供深度持续监控、威胁检测、高级威胁分析、调查取证、事件响应处置、追踪溯源等功能,可第一时间检测并发现恶意活动,包括已知和未知威胁,并快速智能地做出响应,全面赋予终端主动、积极的安全防御能力
简单来说就是给内网环境中所有主机安装管理软件终端,可以在管理平台集中管理和数据分析过滤,基本所有安全厂商都有自己的 EDR 产品
运维审计和管理平台(堡垒机)
DAS:数据库安全审计平台
LAS:日志审计安全平台
AC:上网行为管理系统
伪装欺骗系统(蜜罐、蜜网)
SIP:安全态势感知平台
这个算是让整套系统性能得到提升的灵魂了,定位为客户的安全大脑,是一个集检测、可视、响应处置于一体的大数据安全分析平台。产品以大数据分析为核心,支持主流的安全设备、网络设备、操作系统等多源数据接入,利用大数据、关联分析、告警降噪等技术,实现海量数据的统一挖掘分析
云网络
云网络包括私有云和公有云
- 云主机安全
- 云***
- 云堡垒机
- 云蜜罐
- 云 DDOS 防护
- 等等