某甲方大厂安全面试题

admin 2026-01-18 02:21:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档整理了甲方大厂安全面试题,涵盖加密、Web漏洞、攻防技术与安全建设。核心包括SSRF与Log4j2原理、外网打点与CDN绕过、内网横向及Kerberos攻击、防御设备与RASP绕过、免杀工具开发、企业安全策略及应急响应日志分析,全面覆盖攻击实战与防御体系。 综合评分: 85 文章分类: 渗透测试,内网渗透,WEB安全,红队,应急响应


cover_image

某甲方大厂安全面试题

原创

Wvvvvv Wvvvvv

0xSecurity

2026年1月17日 18:04 云南

综合

对称加密和非对称加密

对称加密算法(DEA)也叫私钥加密算法,常见的对称加密算法包括:DES、3DES、AES、IDEA算法。 特点:

  • 加密解密的密钥相同
  • 计算效率高,加密强度高
  • 需提前共享私钥,易泄露

非对称加密需要公钥和私钥,常见的非对称加密算法包括:RSA

  • 公钥的作用:加密消息和验证签名
  • 私钥的作用:解密消息和签名

web漏洞

内存马 filter shell

Filter 程序则是一个实现了特殊接口的 Java 类,一般用于进行请求过滤。当某一个请求需要对内存中的数据进行读写或者执行时,就需要经过 Filter 的判断和过滤,由 Filter 来决定这些请求是否有权限进行这些操作。而内存马正是利用了这种机制,通过动态注册一个新的 Filter 或者向 Filter 中注入恶意的 shellcode,让 Filter 允许攻击者访问到 Web 服务器内存中的数据。只要拥有了可用的 Filter,攻击者就能进行远程攻击,而不管是 shellcode 的注入过程还是对 Web 服务器数据进行访问的过程都会在内存中出现异常行为。

SSRF原理

SSRF形成的原因⼤都是由于服务端提供了从其他服务器应⽤获取数据的功能且没有对⽬标地址做过滤与限制。⽐如从指定URL地址获取⽹⻚完本内容、加载指定地址的图⽚、下载等

  • 1、可以对服务器所在的内⽹环境进⾏端⼝扫描、资源访问
  • 2、利⽤漏洞和Payload进⼀步攻击运⾏其他的应⽤程序;
  • 3、对内⽹web应⽤进⾏指纹识别,通过访问应⽤存在的默认⽂件实现
  • 4、GET型漏洞利⽤,GET参数就可以实现的攻击,⽐如struts2、confluence漏洞利⽤等
  • 5、POST型漏洞利⽤,可利⽤gopher协议进⾏参数构造;
  • 6、利⽤Redis未授权访问getshell、Weblogic默认SSRF漏洞⻚⾯

SSRF常⽤的攻击协议: http(s)、file、dict、gopher

file协议: 在有回显的情况下,利⽤ file 协议可以读取任意⽂件的内容, 如:http://xxx.com/api/readFiles?url=file:///ete/passwd

dict协议:泄露安装软件版本信息,查看端⼝,操作内⽹redis服务等,可⽤此协议进⾏端⼝开放

http/s协议:探测内⽹主机存活,最常⽤的SSRF漏洞利⽤协议,作⽤为直接访问http资源。如: http://xxx.com/api/readFiles?url=http://10.1.1.1/x

gopher协议:gopher⽀持发出GET、POST请求。可以先截获get请求包和post请求包,再构 造成符合gopher协议的请求。gopher协议是ssrf利⽤中⼀个最强⼤的协议(俗称万能协议)。可⽤于反弹shell

LDAP

什么是LDAP(Lightweight Directory Access Protocol):顾名思义,一个轻量级的目录访问协议,用来访问目录服务

Log4j2

在Log4j2中提供了==Lookups==机制,Lookups提供了一种在Log4j配置文件任意位置添加值的方法;而Lookups机制中,存在==JNDI==,在Log4j日志输出时,未对字符合法性进行严格的限制,造成JNDI协议加载的远程恶意脚本被执行,从而造成RCE

在 Log4j 的配置文件中,你可以使用 Lookups 机制来引用系统属性、环境变量等动态信息,以便在日志消息中包含这些信息

1.升级到受影响版本的修复版: (1)对于Apache Log4j 2.x 用户,建议升级到2.17.0版本以上。这些版本修复了漏洞,并包含其他安全增强措施。 (2)对于Apache Log4j 1.x 用户,目前官方并未针对1.x版本提供官方修复版。建议升级到Log4j 2.x版本,或者考虑使用其他日志记录库。

2.阻止使用JNDI来加载远程资源: 如果您无法立即升级到修复版本,可以通过在L·og4j配置中禁用使用JNDI来加载远程资源来减少风险。可以通过在log4j2.xml文件中将JndiLookup类从配置中移除或设置为安全的FallbackJndiLookup或DummyLookup来实现

RMI

RMI(即Remote Method Invocation)是Java平台一个分布式应用程序的应用编程接口(API),它是Java Remote Method Protocol(JRMP)的实现,这个协议代表了Java语言特有的远程过程调用(RPC)系统

外网打点

给你一个网站,你的渗透思路

1、端口、目录常规扫描,漏洞扫描 xray aforg nulcei 2、框架识别cms是否存在历史漏洞 3、根据框架结构判断大概率存在哪些漏洞

  • 如果是 vue 打包的系统大概率存在未授权访问,不存在上传解析getshell漏洞
  • 如果是aspx、jsp等脚本语言系统,可能存在任意文件上传漏洞
  • 如果是json格式可能会存在fastjson漏洞 4、登录框可能存在爆破或者逻辑漏洞绕过,查看文章列表 搜索框 可能存在sql注入等等 5、burp history查看数据返回包,看是否存在敏感信息泄露 6、查看网站js,是否泄露某些敏感接口信息,如存储桶链接

host碰撞

当直接访问IP回显4xx错误,直接指定HOST头为某个域名时访问该IP回显正常时,可判断可进行HOSTS碰撞。 当一些域名只允许在内网访问时,可通过这种碰撞直接突破边界限制,访问到内网系统进行下一步渗透测试。

如Nginx、Apache中,都可通过配置文件进行域名绑定,如Nginx的default_server,Apache的httpd.conf配置中的ServerName。直接访问IP是无法访问成功的,而访问其绑定的域名才可以访问成功。在访问域名的时候能够直接重定向服务器相关站点的目录下,即可成功访问

资产搜集

1、多个测绘平台多语法搜索 2、app 小程序搜集 3、天眼查企查查企业架构搜集 4、代码仓库信息收集 github gitlab 5、子域名爆破 IP端口扫描

如何绕过CDN查找真实ip

1、通过fofa shoden 查看历史解析ip 2、通过子域名 部分子域名未接入云waf cdn后面 3、通过网站ssl证书

内网

内网横向思路

1、内网上线机器后先进行权限维持 2、搜集机器信息,包括不限于本机密码本、浏览器历史账密记录,rdp等历史连接记录 3、低线程扫描网段常见关键端口 80 443 8080 22 1433,fscan添加参数指定线程和nopoc nobr 4、通过二开代理工具对扫描资产进行访问,争取多横向几台机器,用横向后的机器再进行大规模扫描,防止入口被应急

windows机器后渗透

浏览器密码:HackBrowserData、SharpWeb 历史登录ip 锁定运维人员 微信、钉钉聊天记录 机器存放敏感文件密码本等

linux机器后渗透

history查看历史命令、conf文件下有配置文件账密、log文件下可能泄露敏感信息、环境变量下存储账密

重点突破

1、拿集权设备 vCenter打法

  • CVE-2021-21972
  • CVE-2021-22005
  • CVE-2021-44228 k8s 未授权 docker未授权 接管容器内机器 账密写在 conf文件  环境变量 2、打域控漏洞

黄金 白银票据

黄金票据伪造TGT,所需条件:黄金票据常用于权限维持

krbtgt NTLM-Hash
域名称
域SID

白银票据就是伪造的ST

1.域名
2.域sid
3.目标服务器名
4.可利用的服务
5.服务账号的NTML HASH
6.需要伪造的用户名
获取的权限不同
金票:伪造的TGT,可以获取任意Kerberos的访问权限
银票:伪造的ST,只能访问指定的服务,如CIFS

认证流程不同
金票:同KDC交互,但不同AS交互
银票:不同KDC交互,直接访问Server

加密方式不同
金票:由krbtgt NTLM Hash 加密
银票:由服务账号 NTLM Hash 加密

防御技术

内网安全设备

**防⽕墙**:⽤来预防两个或多个安全区域之间未授权访问。可以根据⽤户名、设备名、组成员关系和应⽤ 程序流量上层的信息来允许或拒绝流量。

**交换机**:主要功能包括物理编址、⽹络拓扑结构、错误校验、帧序列以及流控。交换机还具备了⼀些新 的功能,如对VLAN(虚拟局域⽹)的⽀持、对链路汇聚的⽀持,甚⾄有的还具有防⽕墙的功能

**VPN**:在公⽤⽹络上建⽴专⽤⽹络,进⾏加密通讯。

**SIP(态势感知)**:全⽹资产梳理、脆弱性识别、⾼级威胁检测、异常⾏为发现、攻击溯源取证、⾃动化编 排响应、整体安全态势感知、综合⻛险报告

**DAS(⽹络分析系统)**:可有效进⾏虚拟身份、⽹络⾏为记录跟踪,还原⽹络的使⽤状况,并结合真实⼈员 与虚拟身份的关联,为决策提供客观、有效的⽹络⾏为、⽹络流量等数据资料,最终保障核⼼业务的顺 利进⾏。提供⽹⻚浏览、邮件收发、聊天、游戏、搜索等各种⽹络⾏为的记录以及相关的虚拟身份,同 时提供⾼级的⾏为分析、监控报警、流量分析、统计报表、轨迹分析等各种实⽤功能,全⾯多⻆度分析 ⽹络运⾏状况。

**EDR**:检测终端环境安全,防病毒,终端⽊⻢检测等等⾏为

**AC(上⽹⾏为管理)**:实现对内⽹⽤户的精细化管控,三要素(⽤户、流量、⾏为)。⽤户认证、应⽤控制、 ⽹⻚过滤、⾏为审计、流量管理、应⽤选路。

**IDS(⼊侵检测系统)**:对⽹络传输进⾏即时监视,在发现可疑传输时发出警报或者采取主动反应措施的⽹ 络安全设备。

**SSA(运维安全审计系统)**:集单点登录、账号管理、身份认证、资源授权、访问控制和操作审计为⼀体的 新⼀代运维安全审计产品,它能够对操作系统、⽹络设备、安全设备、数据库等操作过程进⾏有效的运 维操作审计,使运维审计由事件审计提升为操作内容审计,通过系统平台的事前预防、事中控制和事后 溯源来全⾯解决企业的运维安全问题,进⽽提⾼企业的IT运维管理⽔平。

**⽇志审计系统**:实时采集⼯控⽹络和企业⽹各种安全设备、⽹络设备、主机、操作系统、业务系统等⽇ 志信息,协助⽤户进⾏安全分析及合规审计,及时、有效地发现安全事件审计违规。

**数据库审计系统**:通过对⽤户访问数据库⾏为的记录、分析和汇报,来帮助⽤户事后⽣成合规报告、事 故追根溯源,同时通过⼤数据搜索技术提供⾼效查询审计报告,定位事件原因,以便⽇后查询、分析、 过滤,实现加强内外部数据库⽹络⾏为的监控与审计,提⾼数据资产安全。

**集控设备**:堡垒机、vcenter、超融合、单点登录

**负载**:通过将流量分发到不同的后端服务来扩展应⽤系统的服务吞吐能⼒,消除单点故障并提升应⽤系统的可 ⽤性。

**流量审计**:

对⽤户单位的⽹络通讯进⾏7×24⼩时的⻓期监控和分析; 提供⽹络数据全记录能⼒,并进⾏数据分类关联存储和回溯分析; 提供基于元数据的⽹络⾏为建模,准备定义异常⾏为模型,快速发现异常通讯;

RASP

_RASP_,即Runtime application self-protection,实时应用自我防护。它是一种新型应用_安全_保护技术,可让应用程序具备自我保护能力,自动免疫应用程序外部威胁

Java本地原生命令执行是通过java.lang.Runtime类来实现的,但是攻击者可以分析其调用链,来实现反射调用更底层的类,从而绕过RASP的检测,在Java安全攻防中,核心的战略地就是命令执行,Java本地原生命令执行是通过java.lang.Runtime类来实现的,但是攻击者可以分析其调用链,来实现反射调用更底层的类,从而绕过RASP的检测:

上层服务常常使用的java.lang.Runtime.exec方法并不是命令执行的最终点,在调用过程执行逻辑大致是:

1.java.lang.Runtime.exec

2.java.lang.ProcessBuilder.start

3.java.lang.ProcessImpl.start

4.java.lang.UNIXProcess

5.UNIXProcess构造方法中调用了forkAndExec的native方法

6.forkAndExec调用操作系统级别

fork->exec(\*nix)/CreateProcess(Windows)执行命令并返回fork/CreateProcess的PID

面对RASP的阻拦,攻击者可以调用更底层的类来实现执行命令,绕过对java.lang.Runtime.exec的监控

一般来说RASP技术(OpenRASP)都会hook UNIXProcess/ProcessImpl类来实现对命令执行函数的的监控,因为这里是Java层最底层的类,也是Java层监控的极限,但是攻击者可以反射调用forkAndExec这个native方法或者利用JNI来调用一个自己实现命令执行函数的动态链接库进行利用

php rasp绕过

1、混淆字符 2、php函数过滤但可以使用com组件绕过 3、php调用第三方的语言或者本身存在漏洞

内部通过代理服务器上网,且不能访问ip,域名白名单,如何bypass

https://github.com/pant0m/alioss-stinger https://github.com/9bie/oss-stinger 使用腾讯云oss进行http代理转发 域前置cdn

域前置

当我们请求一个cdn域名的时候,DNS系统会将最终的域名的解析权交给cdn厂商专用的dns服务器

工具开发

编写免杀shellcode加载器思路

申请内存 -> 复制shellcode到内存中 -> 创建线程跑起来这段shellcode VirtualAlloc -> memcpy -> CreateThread

**关键点**

  • 用户层面api的检测处理,杀软检测导入表,根据导入表来判断是不是木马 (避免直接调用,通过动态调用或者syscall,避免敏感API出现在导入表)

  • 对shellcode的处理 (分离加载+远程获取,嵌入需对shellcode进行加密混淆:AES混淆,自定义算法混淆,采用不会影响shellcode执行的垃圾汇编指令,俗称”花指令”)

  • 反沙箱延长马子寿命 (流速检测+虚拟机文件检测+特殊机器名+出口ip)

  • 流量特征 (通过cs profile+CDN+nginx域前置转发规避、备选云函数) 通过CDN节点将流量转发到真实的C2服务器,其中CDN节点IP通过识别请求的HOST头进行流量转发

  • 程序跑起来以后,shellcode在内存中的特征处理 (二开beacon+自写C2)

工具常规免杀手法

  • 敏感字符串处理,全局替换
  • 修改代码逻辑,或者修改加密代码
  • icon图标替换
  • 编译参数更改
  • 添加启动密码才能走到程序正常运行

本地加载Shellcode如何实现

通过获取文件路径,读取文件后解密进行加载 go里面使用os和ioutil库实现

内存中的Shellcode如何加密

4.4版本  **sleep mask/unmask**技术,也就是内存休眠时加解密技术,可以加解密**beacon**的数据段和代码段 4.5版本添加了对**beacon**堆内存加解密的支持

通过cs profile开启sleep mask参数进行

企业建设

邮件安全

1.外部邮箱一律标黄提示。 2.钓鱼邮件一旦被网关标记,发送时发送163邮箱附件会显示钓鱼。

终端安全

1.顺丰大网终端全部做了ACL白名单,只通顺丰域名,办公网从网络层屏蔽微信。(acl白名单控制) 2.触发某些安全策略后,电脑会被锁。(发现风险主机自动封禁) 3.设置禁止任意 .exe.com.scr.cpl 类型的可执行程序运行,以及禁止执行 PowerShell 脚本和 .bat 等脚本文件,并上传终端管控。(文件后缀防钓鱼) 4.监控攻击队常用目录如public、ProgramData

风控安全

1.丰声APP账号异地登录会把MAC地址拉黑: 2.加入双因子认证

内网安全

1.内网部署大量蜜网,用于木马样本测试,拖延攻击队时间,进行反制。

应急响应

linux相关日志

/var/log/btmp   记录所有登录失败信息,使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,使用lastlog命令查看
/var/log/wtmp    记录所有用户的登录、注销信息,使用last命令查看
/var/log/utmp    记录当前已经登录的用户信息,使用w,who,users等命令查看
/var/log/secure   记录与安全相关的日志信息
/var/log/message  记录系统启动后的信息和错误日志

清除入侵痕迹方法:

  • history -c
  • echo 空 > 日志文件
  • set +o 后续不记录命令

windows相关日志

删除该类日志所有内容 wevtutil cl Application


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:0xSecurity Wvvvvv Wvvvvv《某甲方大厂安全面试题》

评论:0   参与:  0