hw蓝初中级面试题整理(流量特征+场景题)

Webshell检测:

0、d盾河马阿里伏魔查杀1、有具体时间的话可以根据时间和正则匹配关键字定位,然后封ip,追踪ip最后做了什么2、在网络层监控 HTTP,并且检测到有人访问了一个从没访问过的文件,而且返回了 200,则很容易定位到webshell。

redis:

  1. Redis默认端口6379,常见漏洞是未授权,比如无密码登录或者密码很简单,②登录后写入webshell,反弹shell,定时任务反弹、主从复制getshell2、ssrf利用redis打内网,主要通过dict协议和gopher协议

webshell流量特征:

菜刀:

采用base64加密,检测思路就是分析流量包,发现大量的base64加密 密文就需要注意。请求体中会存在QG开头Qo结尾的固定代码(QGluaV9zZXQo),存在base64关键字,有默认参数z0,存在eval,assert关键字(可能是拼接"ass"."ert",....

冰蝎:

冰蝎1:

冰蝎1有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验冰蝎

冰2:

强特征是 accept 里面有个 q=.2,因为内置了很多的UA头,所以当某一个相同IP重复请求,但是UA头不一样的时候就需要注意冰蝎(3次),Content-Length: 16, 16就是冰蝎2连接的特征

冰3:

因为省去了协商过程,所以流量上可以绕过很多,但是其他特征依旧保留,比如ua头的问题,无论GET还是POST,content-type为application/octet-stream

冰蝎4:

q=0.01;十种ua头;端口问题,冰蝎4与webshell建立连接的同时,javaw也与目的主机建立tcp连接,每次连接使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加。(可以对符合该范围内的端口告警)

哥斯拉:

cookie值末尾多出分号,base64加解码,哥斯拉建立连接时会发起三次请求,第一次请求数据超级长,建立 session,第二三次请求确认连接

蚁剑:

解密后存在特征@ini_set("display_errors","0"),混淆加密后的参数多数是0x=一串base64加密这种形式

Cs攻击流量特征:

心跳包六十秒,端口50050,http请求可能包含与C2服务器通信的命令,请求的的地址是一个Jquery js文件

挖矿:

CPU拉满,netstat能看见单独网络连接会指向IP地址,拿去情报分析能知道是个矿池。top看CPU,find找文件路径(找恶意文件样本),确定程序运行时间(入侵时间),然后处理异常进程并删除恶意文件,最后看启动项和定时任务,(Linux应急手册意大利的猫)。挖矿的配置文件里可能有域名拿去域名解析反查。win:看下开放了哪些服务端口是容易被攻击的,查看系统日志看敏感事件ID,对比时间去找进程计划任务这些。(如果问挖矿病毒的流量特征不太清楚,但是思路应该是找有上传点的地方,有post请求头,数据包很大,有assert等关键字?)

钓鱼邮件:

看发信人地址(有代发,地址还莫名其妙的,代发地址也可以拿去sgk分析),看发信内容信息,内容附件(拿去情报中心分析),发信域名反制(有带指纹特征的:看有没有服务器IP,看什么平台发的能不能访问回去。比如如果看见是gophish平台发的,可能就是对方搭建的站点,这个的默认端口是3333可以试着访问对方的后台)(无指纹特征的,如果有域可以试着在线子域名查询,查邮件服务器地址和看有无历史漏洞,溯源到他的邮件服务器地址和邮件的系统去打,可能存在个人ID昵称用社工技术进行画像)。

蚁剑反制:

比如可以利用nodejs库改他的后门代码上线,对方客户端连接的时候会执行代码反弹,我们上线他的机器,goby也是调用js反弹shell(和蚁一样默认支持nodejs)

Shiro:

特征:登录失败返回包rememberme=deleteme,成功则rememberme=很长一串正确值

原理是cookie的rememberme会先序列化然后aes加密,base64加密,服务端接接收的时候就反过来。问题就出现在aes加密,如果是默认秘钥或者秘钥容易爆破,会造成反序列化漏洞

利用成功的特征:

cookie非常长,返回包为200。如果是执行命令的流量,返回值是加密的但是开头结尾都带三个$。注入内存马的流量,cookie很长,post请求体也很长也是加密

shrio550和721的区别:

主要区别在于Shiro550使用已知默认密码,只要有足够的密码可爆破

Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。利用有效的Cookie和填充验证错误的系统响应,逆推出明文秘钥,再构造反序列化攻击。

Fastjson反序列化:

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

使用AutoType功能进行序列化的JSON字符会带有一个@type来标记其字符的原始类型,在反序列化的时候会读取这个@type,来试图把JSON内容反序列化到对象,并且会调用这个库的setter或者getter方法。问题出现在@type的类可能被恶意构造,只需要合理构造一个JSON,使用@type指定一个想要的攻击类库就可以实现攻击。

无回显怎么办:

1.一种是直接将命令执行结果写入到静态资源文件里,如html、js等,然后通过http访问就可以直接看到结果

2.通过dnslog进行数据外带,但如果无法执行dns请求就无法验证了

fastjson不出网怎么利用

#目前公开已知的poc有两个: 1、com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp 2.BasicDataSource

#第一种利用方式需要一个特定的触发条件: 解析JSON的时候需要使用Feature才能触发,参考如下代码: JSONObject.parseObject(sb.toString(), new Feature[] {Feature.SupportNonPublicField});

#第二种利用方式: 则需要应用部署在Tomcat应用环境中,因为Tomcat应用环境自带tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat- dbcp。而且对于不同的Tomcat版本使用的poc也不同:• Tomcat 8.0以后使用 org.apache.tomcat.dbcp.dbcp2.BasicDataSource• Tomcat 8.0以下使用 org.apache.tomcat.dbcp.dbcp.BasicDataSource

weblogic反序列化:

1.直接通过T3协议发送恶意反序列化对象(CVE-2015-4582、CVE-2016-0638、CVE-2016-3510、CVE-2020-2555、CVE-2020-2883)

2.利用T3协议配合RMP或ND接口反向发送反序列化数据(CVE2017-3248、CVE2018-2628、CVE2018-2893、CVE2018-3245、CVE-2018-3191、CVE-2020-14644、CVE-2020-14645)还有利用IIOP协议的CVE-2020-2551

3.通过 javabean XML方式发送反序列化数据。(CVE2017-3506->CVE-2017-10271->CVE2019-2725->CVE-2019-2729)

Log4j特征:

Playload为${jndi:ldap://***},如果攻击成功目标主机会加载攻击者指定的恶意类,查看有无相关流量,如果有源ip与dnslog或者ldap服务的外联日志记录那大概率就是攻击成功了

Stutes2漏洞及特征:

文件上传,命令执行,ognl表达式注入。比较明显的特征就是访问目录为.action或者.do,返回页面可能会有struts2等字样,ognl表达式注入会使用ognl语法,请求参数会有${},%{}字符

Jboss反序列化漏洞特征,判断攻击是否成功:

请求体中有相关llections.map.Lazyap.keyvalue.TiedMapEntry攻击链特征,包含了命令执行语句,如果返回了500,页面报错内容有命令执行结果就是攻击成功了

了解哪些中间件漏洞:

IIS有解析漏洞,PUT任意文件写入漏洞,短文件漏洞,Apache也有解析漏洞,然后目录遍历遇到的比较多,Tomcat的话war后门部署、远程代码执行,jBoss和WebLogic的话就反序列化漏洞,weblogic还有ssrf漏洞,任意文件上传

如何判断反弹shell?

数据包中有建立TCP连接 且服务器发送的数据不为0kb 且一般使用端口非常见的端口,一般利用命令执行进行反弹也会带有关键字特征,例如:

bash 脚本的bash ,nc脚本 /bin/sh(python脚本的 socket connect,php脚本的exec

java脚本的exec)

找到具有这些特征的数据包之后再进一步分析会话流量,看有没有执行什么

出现sql告警?

  1. 验证是否存在2、判断业务自身还是攻击行为3、业务问题反馈,攻击进一步分析这个ip还做了什么,看下回显是否注入成功4、发现时间和攻击行为反馈

Rce告警?

  1. 验证是否成功,成功出报告2、判断手工还是工具扫3、同上(看下能不能漏洞验证复现)

隐藏进程的对抗(linux)?

  • 用户态隐藏

1、替换了ps、top、ls等命令的文件

(‘stat 文件名’查文件修改时间和‘md5sum文件名’来查文件的hash值,与正常不符则被替换,传回一个正常文件就行)

2、Hook系统调用

编写一个动态链接库so文件,在so中,HOOK遍历相关的函数(readdir/readdir64),遍历的时候,过滤特定进程名,实现进程隐藏。

3、劫持lib库

通过修改LD_PRELOAD环境变量或/etc/ld.so.preload文件,配置动态链接库,使恶意动态库先于系统标准库加载,最终实现特定进程隐藏。

以上两种隐藏只要查看/proc下面找到进程相关信息即可

4、挂载隐藏(到/proc下)(比如文件挂载导致的进程隐藏)

原理:挂载空路径到/proc对应进程号下,ps等命令在遍历/proc的时候则没办法找到该进程信息

对抗:1、mount |grep proc检索,后面带PID的就是被隐藏的进程, unmount取消挂载 终止进程然后删文件(注意rm命令是否被替换)。Mount命令被恶意替换用cat查看,cat也被替换上busybox代替执行2、unhide工具也能查到因为挂载被隐藏的pid

内核态隐藏不太理解先copy一下原理然后跳了:)

  1. 劫持VFS接口层:proc文件系统也是VFS抽象类的一个具体子类,与其它文件系统不同的是,它是存在与内存中的虚拟文件系统,以文件系统的方式为访问内核数据的操作提供接口。在执行ps或ls命令时,proc文件系统会调用readdir函数依次遍历proc目录下的数字目录,而readdir又会调用filldir函数返回改数字目录对应进程的相关信息,因此,只要在filldir函数中增加适当的过滤,实现对进程的隐藏。
  2. 劫持系统调用:

如getdents函数对应的系统调用是sys_getdents(),readdir函数对应的系统调用是proc_pid_readdir()

对dnslog的反制:

对于常见的dnslog平台,直接屏蔽,如果是自己搭建的dnslog平台,批量的去ping,恶意制造各种垃圾dnslog数据,让他无法获取到有效的信息,具体可以写一个脚本进行批量探测存活,httplog也一样,使用爬虫批量进行request请求

怎么排查java内存马?(无文件落地):

直接利用内存马检测工具去找,比如Findshell,github也有很多检测脚本,手工的话可以分析web日志,像哥斯拉和冰蝎的内存马也会有跟webshell相似的流量特征,filter或者listener类型的内存马,会有大量路径相同参数不同的url请求,或者页面不存在但是返回200的请求。分析web.xml文件,内存马的Filter是动态注册的,web.xml是没有配置的,也有可能是中间件漏洞通过代码执行加载内存马,这就可以去排查中间件的error.log,(分析特殊的classloader加载,攻击者喜欢利用TemplatesImpl和bcel加载内存马)因为内存马是驻留在内存里的,本地无class文件,通过检测Filter对应的ClassLoader目录下是否存在class文件来判断,也可以把内存中所有的Filter的class dump出来,使用工具分析是否存在恶意代码。

Linux怎么看程序调用了哪些文件:

lsof -c 指定的程序,查看多个程序的话直接在后面加就可以

一台主机在内网进行横向攻击,你应该怎么做?

1)确定攻击来源,是不是内部误操作,比如询问运维是否有自动化轮询脚本 2)如果确定是攻击,结合时间点,根据设备信息,看一下安全事件,进程,流量 3)找到问题主机,开始应急响应流程

应急流程:

1、首先是确定服务器资产和影响范围的重要性,以及确认是否需要隔离服务器。

2、然后是根据服务器失陷时间和态势感知的告警来确定可能的漏洞入口。

3、对于web漏洞,查web日志看有无上传webshell成功,查是否执行了恶意命令和上传恶意文件。将可疑文件上传到微步分析,webshell用d盾河马阿里伏魔等查杀

4、其他主机排查,查是否有相同攻击意向,查可疑进程端口启动项定时任务这些,用火绒剑等工具查异常外联

5、分析日志流量还原攻击路径,切断漏洞点,观察一段时间看是否有流量反链或内存马等异常现象

6、如果情况允许进一步溯源绘制攻击者画像等

不出网该怎么上线?

1. Pystinger反向代理上线cs

2. 冰蝎自带反弹Shell (选择不出网)

3. 通过http隧道上线

4. 远控控制软件进行远程控制

ssrf告警,没有明显的回显,怎么判断是否攻击成功?

如果能做漏洞验证的话,我会进行复现验证下。如果不能做漏洞验证的话,就查下日志看看他探测的目标有没有流量交互,如果有流量交互的话应当是攻击成功(感觉无回显类问题通用?别的漏洞可以考虑dnslog外带什么的)

sqlmap的流量特征?

  1. sqlmap的关键字特征:user-agent、 xss测试语句、随机数的位数 2)sqlmap的攻击流程具有一定的顺序和规律 3)sqlmap的一些payload测试语句具有模板特征

溯源技巧:

1)在接到溯源任务时,通常会获取到很多信息,如攻击者的IP地址、攻击类型、恶意文件以及攻击详情等,这些信息可以作为我们溯源工作的入手点。

2)针对不同的攻击类型,可以分析攻击详情的请求包,寻找攻击者的特征,同时通过获取到的IP地址进行威胁情报查询,以确定所用IP地址是代理IP还是真实IP地址。(如果IP存在web查备案号看是否获取个人信息,尝试对该IP的web进行渗透)

3)如果遇到端口扫描,很可能是个人VPS或者空间搜索引擎的行为,在接到大量溯源任务时,可以优先进行这类溯源工作。

4)对于命令执行的情况,很可能是未经隐匿的网络或移动网络的行为,或者是接到脚本扫描任务的肉鸡,同样在接到大量溯源任务时,可以优先进行这类溯源工作。

5)如果遇到爬虫行为,很可能是空间搜索引擎的活动,可以将这类任务放到溯源工作的后面进行处理。

白银票据与黄金票据的原理(省流版)

金票:黄金票据是伪造的 TGT,有了金票后,就跳过AS 验证,不用验证账户和密码,所以也不担心域管密码修改

银票:白银票据是伪造的 ST,只需要知道 Server 用户的Hash 就可以伪造出一个 ST,且不会经过 KDC,但是伪造的门票只对部分服务起作用。

(谢谢完全没用过,如果不熟的话记一大段还不如挑重点说,学过用过的话你们随便说吧、、)

window权限维持:

1.替换系统文件类

(shift 后门,放大镜后门)

2.修改注册表类,

自启动项、屏幕保护程序注册表、用户登陆初始化、登录脚本、映像劫持、

影子账户、AppCertDlls 注册表项、AppInit_DLLs 注册表项、文件关联、用户登陆初始化、

xx.Netsh Helper DLL

3.文件类

自启动文件夹、office Word StartUp 劫持

4.计划任务

schtasks 、WMI、bitsadmin

Linux权限维持:

1.预加载型动态链接库后门

2.strace 后门

3.SSH 后门

4.SUID 后门

5.inetd 服务后门

6.协议后门

7.vim 后门

8.PAM 后门

9.进程注入

10.Rootkit

11.端口复用

域前置:

其实就是CDN,当用户访问一个挂有cdn的域名,响应结果=cdn节点上的缓存的静态资源+源站的动态数据。是用来防止溯源查到真实ip的,但是流量设备还是能看到cs真实IP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot使用注解标注过滤器:跟踪请求日志、处理跨域问题

文章目录 引言I 跟踪请求日志(LogFilter)II 过滤器处理跨域问题III 拦截器和过滤器的原理3.1 Filter的执行顺序在Interceptor之前3.2 RequestInterceptor将MDC中request_id传入header引言 @WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器 属性filterName声明…

[前后端基础]图片详解

[前后端基础]图片传输与异步-CSDN博客 https://juejin.cn/post/6844903782959022093#heading-3 base64、file和blob用JS进行互转的方法大全【前端】_js base64转blob-CSDN博客 后端存储方式 对于第一种存储方式,我们前端直接将存储路径赋值给 src 属性即可轻松显示。…

BufferGeometry--持续更新

.center() 在Three.js中,BufferGeometry 对象的 .center() 方法是用于将几何体的原点(0, 0, 0)移到其包围盒的中心。这通常在你想要旋转、缩放或者对齐几何体时非常有用,因为它确保了这些操作是相对于几何…

STM32——GPIO输出(点亮第一个LED灯)

代码示例: #include "stm32f10x.h" // Device headerint main() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启时钟GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;GPIO_InitSt…

租赁商城小程序源码部署/售后更新/搭建上线维护

基于ThinkPHPFastAdminUniApp开发的租赁商城小程序,提供用户物品租赁服务的应用程序,方便客户搭建各种类型的租赁场景服务。通过小程序端多角色进行平台管理,用户租赁商品缴纳租金及押金,员工端可操作商品出库和归还,订…

文件夹名批量重命名:一键实现中文到意大利语的高效翻译!文件管理更高效!

文件夹管理成为了我们日常工作和生活中的重要一环。当文件夹名称繁杂且多样,尤其是涉及到不同语言时,如何快速、准确地批量重命名,成为了许多人的迫切需求。今天,我们就来聊聊如何轻松实现文件夹名从中文到意大利语的批量翻译&…

vue2中的配置代理和路由的使用

1.配置代理 在Vue.js 2中配置代理主要是为了解决开发环境下的跨域问题,通常用于前后端分离开发中。Vue.js本身并不提供代理功能,但是可以通过webpack-dev-server或者Vue CLI提供的配置进行代理设置。 下面是在Vue.js 2中配置代理的一般步骤&#xff1a…

用awk做log聚合

123456valueindexvaluevalueindex 日前拿到一份log,一个完整数据集被写在两条log里,通过索引字段排序后,呈现出如上表样式的csv格式。为了方便统计,利用awk对数据进行了聚合,把同一索引值的log两两合并在一起&#xf…

基于FPGA的视频矩阵切换方案

一、单个显示设备的系统方案:会议室只有1个显示设备 会议室的信号源有很多,但是显示设备只有1个,这个时候最佳方案是使用切换器。 (1)切换器(控制方式:遥控器、软件、机箱面板、中控&#xff…

版本控制工具之Git的基础使用教程

Git Git是一个分布式版本控制系统,由Linux之父Linus Torvalds 开发。它既可以用来管理和追踪计算机文件的变化,也是开发者协作编写代码的工具。 本文将介绍 Git 的基础原理、用法、操作等内容。 一、基础概念 1.1 版本控制系统 版本控制系统&#x…

Jmeter压测问题汇总

缘起 公司的Elasticsearch流量日益减少,经过评估,我们计划迁移到成本更低的Mysql集群上,需要对接口进行压力复测 版本 JDK17(会有兼容性问题,建议使用JDK17之前的版本)Jmeter 5.2.1 windows系统下临时端…

Python-----容器的介绍以及操作

1.列表和元组 1.列表是什么, 元组是什么: 编程中, 经常需要使用变量, 来保存/表示数据. 如果代码中需要表示的数据个数比较少, 我们直接创建多个变量即可. 但是有的时候, 代码中需要表示的数据特别多, 甚至也不知道要表示多少个数据. 这个时候, 就需要用到列表 列表…

论文解读--High-resolution Automotive Radar Point Cloud Imaging and Processing

高分辨汽车雷达点云成像和处理 摘要 汽车雷达具有体积小、硬件成本低、全天候工作、高分辨率等公认的优点,是高级驾驶辅助系统(ADAS)必不可少的一类重要传感器。然而,低角度分辨率和低成像性能的限制很难满足下一阶段ADAS的需要。新兴的4D成像雷达采用多…

C语言数据结构与算法之栈练习2:判断栈是否为空或者是否已满

练习2:判断栈是否为空或者是否已满 需求1:实现一个简单的栈结构,并实现入栈和出栈的功能,编写相关的代码进行测试。 需求2:如果栈已满,则不要再继续入栈,并提示错误信息。如果栈为空&#xff…

计算机视觉与深度学习实战之以Python为工具:基于融合特征的以图搜图技术

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:计算机视觉与深度学习实战-以MATLAB和Python为工具_基于融合特征的以图搜图技术_项目开发案例教程.pdf 一、引言 随着信息技术的飞速发展,图像数据呈…

常量池和运行时常量池以及字符串常量池的区别

1. 常量池 常量池是Java编译器生成的,存储在.class文件中的数据集合,它包含了类中所有的字面量和符号引用。 字面量如字符串、整数、浮点数等;符号引用如类和接口的全名、字段的名称和数据类型、方法的名称和描述符等。常量池的目的是为了减…

SSC369G 双4K高性价比AI IPC方案

一、方案描述 SSC369G 双4K高性价比AI IPC方案采用主芯片SSC369G,内核为CA55四核最高主频为1.5Ghz处理器。SOC内置集成一个64位的四核RISC处理器,先进的图像信号处理器(ISP),高性能的H.265/H.264/MJPEG视频编解码器&a…

每日OJ题_记忆化搜索⑤_力扣329. 矩阵中的最长递增路径

目录 力扣329. 矩阵中的最长递增路径 解析代码1_爆搜递归(超时) 解析代码2_记忆化搜索 力扣329. 矩阵中的最长递增路径 329. 矩阵中的最长递增路径 难度 困难 给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。 对于每…

tcpdump速查表

tcpdump 速查表 -D 列出网络设备 ~]$ sudo tcpdump -D1.eth02.nflog (Linux netfilter log (NFLOG) interface)3.nfqueue (Linux netfilter queue (NFQUEUE) interface)4.any (Pseudo-device that captures on all interfaces)5.lo [Loopback]-i 指定网卡 前面列出的设备可以…

Go语言系统学习笔记(二):进阶篇

1. 写在前面 公司的新业务开发需要用到go语言,虽然之前没接触过这门语言,但在大模型的帮助下,边看项目边写代码也能进行go的项目开发,不过,写了一段时间代码之后,总感觉对go语言本身,我的知识体…