当前位置:   article > 正文

hw蓝初中级面试题整理(流量特征+场景题)_hw流量告警分析 csdn小辉辉

hw流量告警分析 csdn小辉辉

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/569119
推荐阅读
相关标签
  

闽ICP备14008679号