hvv蓝队面试题收集

分析研判属于护网蓝队的中级岗位,需要进一步分析判断流量包是否为攻击,为何种攻击,并执行IP封禁协助溯源等工作,在实际的工作中安全服务/安全运维岗基本也需要会这一块的内容,分析研判大部分内容是分析告警流量特征,学习的内容包括常见的攻击流量特征、攻击工具流量特征、框架及中间件流量特征、Webshell管理工具流量特征等,面试题一般也是问这些流量特征!

1、常见的攻击流量特征

(1)SQL注入流量特征

  • SQL语句关键字:select、where、order by、union、update、delete

  • 系统函数:user()、@@version、database()

  • 特定的数据库函数或者特性:information_schema库(用来获取数据库库名、表名、字段名)、报错注入三大函数(updatexml、extractvalue、floor)

  • 编码和转义:URL编码(%27代表单引号...)、十六进制编码(char(39)...)、ASCII编码(0x27...)等、注释语句--或者#或者/**/

  • 多个或者错误的SQL语句:在一个请求中插入多条查询语句,或者插入格式错误的查询语句

(2)XSS流量特征

  • 请求包中包含各种形式的HTML或者JavaScript标签(如<script>、<img>、<iframe>等)以及弹窗函数(如alert()、confirm()、prompt()),返回包中返回了对应的未被正确过滤的前端脚本语句

(3)RCE流量特征

  • 请求头或者URL中可能会有危险的函数:比如PHP中的命令执行函数如system()、exec()、shell_exec()、passthru()函数、文件操作函数如popen()函数、代码执行函数如eval()、assert()函数,Java中的命令执行函数runtime.getruntime.exec函数等

  • 流量中包含特殊的字符:比如|、||、&、&&、反单引号、>、>>、<、<<等

  • 流量中包含系统命令或敏感文件路径:命令如ls、cat、rm,敏感文件路径如/etc/passwd、/etc/shadow、/var/log等

(4)SSRF流量特征

  • URL参数异常:URL参数指向内网地址或者不应该访问的地址,参数值是内网IP或127.0.0.1或者使用了伪协议(file://、ftp://、dict://、gopher://)

  • 参数值后面存在特殊的字符或者使用编码绕过:特殊字符比如点号、冒号、空格,编码比如URL编码、Base64编码、16进制编码等隐藏或混淆IP地址或者域名

2、攻击工具流量特征

(1)Cobalt Strike流量特征

  • HTTP请求特征:默认使用GET方法向特定URL地址(比如/load、/dpixel、/pixel.gif、/__utm.gif等)发送请求,cookie里面有一个Base64编码的数据

  • DNS请求特征:在DNS请求中,域名可能以特定前缀开头(比如cdn、www6、api等),域名的查询结果可能包含非常规IP地址,这些地址被用于指令传输和心跳检测

  • 心跳包特征:CS的默认心跳间隔是60秒,每隔60秒发送一次心跳包,用来确认被控端是否在线,当然可以在Beacon会话中执行sleep命令来修改心跳间隔

  • 端口特征:CS默认端口为50050,当然这个端口可以通过编辑teamserver文件中的server_port进行修改

(2)Metasploit流量特征

  • 端口特征:MSF数据库默认使用的postgresql端口是5432,MSF默认使用的反向连接端口是4444

  • 数据包特征:MSF数据包中通常包含“meterpreter”、“revshell”等特殊字符串

  • 使用特殊协议:MSF框架通常使用如Meterpreter、Reverse TCP等特殊的协议

(3)sqlmap流量特征

  • User-Agent头特征:sqlmap工具在发起请求的时候,默认的User-Agent中通常包含"sqlmap"关键字,比如sqlmap/1.7.5.2#dev (sqlmap: automatic SQL injection and database takeover tool)

  • 攻击流程具有顺序和规律:sqlmap的攻击流程通常遵循一定的顺序和规律。比如在使用--os-shell攻击时,它会首先测试链接是否能够访问,接着判断操作系统版本,尝试爆绝对路径,指定上传路径,写入一个php文件,找到上传文件的访问路径,上传另一个php文件并执行命令等

  • Payload测试语句模板化:sqlmap使用的payload测试语句往往具有模板特征。比如在盲注入时,它会使用逻辑语句(如and、or)和特定的函数来测试SQL注入的可行性。这些语句在流量中会以特定的模式出现,如尝试让SQL语句报错来发现SQL漏洞,或者使用特定的函数(如@@version_compile_os)来判断操作系统等

3、框架及中间件流量特征

(1)Apache Shiro反序列化漏洞及其流量特征

漏洞原理:

  • Apache Shiro框架提供了记住密码的功能(RememberMe),在用户登录成功后会生成经过加密并编码的cookie,在服务端对rememberMe的cookie值,先base64解码然后再AES解密最后再反序列化,最后导致了反序列化RCE漏洞

Shiro550与Shiro721的区别:

  • Shiro550:由于AES密钥被泄露(密钥被硬编码),攻击者不需要获取真实的rememberMe字段,可以通过密钥重新构造请求,导致反序列化漏洞的产生

  • Shiro721:在该版本中,AES密钥不再是硬编码的了,而是系统随机生成的,但是攻击者还可以利用登录后获取的真实的rememberMe cookie值作为Padding Oracle Attack的前缀,通过构造的cookie值来实现反序列化攻击

Shiro反序列化流量特征:

  • 登录失败:返回包中包含rememberMe=deleteMe

  • 不勾选记住密码登录成功:返回包中set-Cookie包含rememberMe=deleteMe字段,但是后续请求中Cookie不包含rememberMe字段

  • 勾选记住密码登录成功:返回包中set-Cookie包含rememberMe=deleteMe字段以及rememberMe字段,后续请求中Cookie也包含rememberMe字段

(2)Apache Log4j2远程代码执行漏洞及其流量特征

漏洞原理:

  • log4j2的lookup功能下的Jndi Lookup模块未对用户输入进行严格判断,请求了恶意资源导致了远程代码执行漏洞

Log4j2远程代码执行漏洞流量特征:

  • 数据包中包含{jndi:ldap//}字段、响应体中可能存在命令执行的结果(有回显)、可能存在源IP与DNSlog的外联日志记录(无回显)

(3)fastjson反序列化漏洞及其流量特征

漏洞原理:

  • Fastjson在使用autoType功能实例化指定类时会读取@type指定的对象类型到内容,试图把JSON数据反序列化为这个对象,导致攻击者可以通过@type指定比如com.sun.rowset.JdbcRowSetImpl这样的远程命令执行类构造恶意利用链进行攻击

fastjson反序列化流量特征:

  • 个人感觉主要特征就是请求包中包含"@type"、"ldap"、"rmi",还有就是Content-Type字段为"application/json"

(4)Apache struts2命令执行漏洞及其流量特征

漏洞原理:

  • Apache Struts2框架执行了恶意用户传入的OGNL表达式,造成远程代码执行

struts2命令执行漏洞流量特征:

  • 请求参数中包含OGNL表达式,比如"${}"、"%{}",请求包中包含#_memberAcecess,请求参数的值中包含"java.lang.Runtime",该参数值用于执行系统命令

4、Webshell管理工具流量特征

(1)菜刀流量特征

  • 默认Webshell连接密码为caidao

  • 请求包中User-Agent头为百度或者火狐等爬虫标识

  • 请求体中存在eval、base64等特征标识

  • 流量参数中包含z0、z1、z2

  • 建立连接后会发送特定的验证码,比如"knife"、"dadan"等进行验证

(2)蚁剑流量特征

  • 默认的User-Agent头为英文的蚁剑(antsword)

  • PHP类型的Webshell流量请求体通常都以@ini_set("display_errors","0");@set_time_limit(0)开头(通常是URL加密)

  • 响应体通常会进行base64编码,解码后可以观察到攻击行为的payload

(3)冰蝎2.x/3.x/4.x流量特征

冰蝎2.x:

  • 请求体进行了AES加密 + Base64编码,使用的是动态密钥

  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个

  • 请求的Cookie的格式通常为: Cookie: PHPSESSID=; path=/;

冰蝎3.x:

  • 请求体进行了AES加密 + Base64编码,使用的是固定的连接密钥,AES加密的密钥直接固定为webshell连接密码的MD5哈希值的前16位,默认连接密码是“rebeyond”,因此AES加密的密钥就是“e45e329feb5d925b”

  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个,通信时可能会频繁使用特定的User-Agent,比如"WOW64"等

  • 请求包中Content-Length为5740或5720(可能会根据Java版本而改变)

  • 每一个请求头中存在Pragme: no-cache,Cache-Control: no-cache

  • 可能会频繁访问默认路由,比如"/con"

冰蝎4.x:

  • 该版本不再有连接密码这个概念,自定义传输协议的算法就是连接密码,与3.x相同的是默认情况下Webshell都有"e45e329feb5d925b"这个连接密钥

  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个

  • 使用了长连接,请求头和响应头中connection头为"keep-alive"

  • Content-Type字段通常为"Application/x-www-form-urlencoded"

  • 默认情况下有固定的请求头和响应头,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M,响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd

(4)哥斯拉流量特征

  • Webshell使用了eval函数以及base64编码

  • 请求包通常以"pass="开头

  • 通常请求包较长,但是响应包长度可能为0

  • 默认的User-Agent字段是Java/版本号,但是可以被修改

  • 最后一个Cookie值的末尾有一个不必要的分号

  • 响应包具有特定的结构特征,结构特征为:md5前十六位+base64+md5后十六位

三、攻击溯源

攻击溯源属于护网蓝队的高级岗位,需要根据攻击者的留下的IP、域名、网站url、攻击样本等信息,定位出攻击者的个人信息,包括攻击者的物理地址、攻击者服务器地址、攻击者姓名、电话、邮箱等信息。攻击溯源分为三大部分:攻击源捕获溯源反制手段攻击者画像绘制

1、攻击源捕获

(1)安全设备报警:扫描IP、威胁阻断、病毒木马、入侵事件等

(2)日志以及流量分析:异常的流量、攻击来源与攻击目标等

(3)服务器资源异常:异常的文件、账号、进程、端口、启动项

(4)计划任务和服务等

(5)邮件钓鱼:获取恶意文件样本、钓鱼网站URL等

(6)蜜罐系统:获取攻击者行为、意图的相关信息

2、溯源反制手段

(1)IP定位技术:通过IP定位物理地址-代理IP

(2)ID追踪术:搜索引擎、社交平台、技术论坛、社工库匹配

(3)网站URL:域名whois查询-注册人姓名、地址、电话和邮箱

(4)恶意样本:提取样本特征、用户名、ID、邮箱、C2服务器等信息

(5)社交账号:基于JSONP跨域,获取攻击者的主机信息、浏览器信息、真实IP及社交信息等

3、攻击者画像

(1)攻击路径

  • 攻击的目的:拿到权限、窃取数据、获取利益、DDOS等

  • 网络代理:国外VPN、代理IP、跳板机、C2服务器等

  • 攻击手法:鱼叉邮件钓鱼、Web渗透、水坑攻击、社会工程等

(2)攻击者身份画像

  • 虚拟身份:ID、昵称、网名

  • 真实身份:姓名、物理位置

  • 联系方式:手机号、qq/微信、邮箱

  • 组织情况:单位名称、职位信息

4、溯源案例

攻击溯源面试题一般就问你做过溯源没有,怎么做的,接下来我就举一个被fastjson攻击的溯源流程案例:

(1)流量监控与日志分析:通过监控网络流量和审查应用服务器日志,发现了异常的JSON请求,其中包含了不寻常的@type字段和dataSourceName字段

(2)识别攻击特征:分析请求中的@type字段和dataSourceName字段,发现它们指向了一个外部的RMI服务,这是Fastjson漏洞的一个典型特征

(3)IP地址溯源:通过WHOIS以及威胁情报平台等对dataSourceName中的RMI地址进行溯源,确定了攻击者控制的服务器IP地址以及其它信息

(4)漏洞验证与复现:在隔离的环境中复现了攻击,验证了漏洞的存在,并分析了攻击触发的流程

(5)漏洞修复及后续行动:为防止再次被攻击,更新了Fastjson库到最新的安全版本,并禁用了autoType功能。同时根据获取到的IP地址以及其它相关信息进行了报警处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值