2024HVV行动-蓝队面试纯干货

admin2024-04-03  0

目录

一、主流 webshell 工具流量特征

1、中国菜刀

2、冰蝎

3、哥斯拉

4、蚁剑

补充:CS 流量特征

二、常见 web 漏洞

1、SQL 注入

(1)报错注入

(2)盲注

(3)SQL 注入写入 webshell

① union select 写入

② 分隔符写入

③ log 写入

(4)SQL 注入加固

2、XSS

3、XEE

4、SSRF

5、CSRF

三、应急响应与入侵排查

1、大致流程

2、排查方法


文章开始前给大家分享一个学习人工智能的网站,通俗易懂,风趣幽默

人工智能2024HVV行动-蓝队面试纯干货,icon-default.png?t=N7T8,第1张https://www.captainbed.cn/myon/2024HVV行动-蓝队面试纯干货,第2张

一、主流 webshell 工具流量特征

1、中国菜刀

请求体中存在eval、base64等特征字符;

连接过程中使用base64编码对发送的指令进行加密;

还有一段以QG开头,7J结尾的固定代码。

2、冰蝎

PHP代码中可能存在eval、assert等关键词;

jsp代码中可能会有get class(),get class loader()等字符特征。

数据包总是伴随着大量的 content-type:application 什么什么,无论GET还是POST,请求的http中,content-type 为 application/octet-stream;冰蝎3.0内置的默认内置16个ua(user-agent)头 content-length 请求长度,对于上传文件,命令执行来讲,加密的参数不定长,但是对于密钥交互,获取基本信息来讲,payload 都为定长。

3、哥斯拉

选择默认脚本编码生成的情况下,jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征,php,asp则为普通的一句话木马

所有请求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

所有响应中Cache-Control: no-store, no-cache, must-revalidate,

以上两个只能作为弱特征参考

同时在所有请求中Cookie中后面都存在;特征

4、蚁剑

默认的user-agent请求头是antsword XXX(不过可以修改);

一般将payload进行分段,分别进行base64编码;

一般具有像eval这样的关键字和@ini_set("display","0");这段代码。

php中使用assert,eval执行, asp 使用eval ,在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征 ,url解码出来会有@ini_set("display","0")。


共同特点:每个连接工具在请求头的 ua 里都有特定的字符

补充:CS 流量特征

CS 下达指令时,会出现 POST 请求 /submit.php?id=xx 的特征

数据包特征:GET /cx 和 POST /q.cgi

数据包的 client hello 中有 JA3

数据包的 server hello 中有 JA3S

二、常见 web 漏洞

1、SQL 注入

web 应用程序对用户输入数据过滤不严谨,把数据当做 SQL 语句带入数据库中执行。

(1)报错注入

触发数据库的错误响应,从错误信息中获取有用信息。

常用报错注入函数:

updatexml 与 extractvalue:

第一个用于修改,有三个参数,第二个用于查询,有两个参数,它们第二个参数都要求是符合xpath语法的字符串,否则会报错,并将查询结果放在报错信息里。

我们可以使用 ~、#、$ 等非 xml 实体导致其报错。

floor:利用重复性导致 group by 语句出错

(2)盲注

常用函数:if()、length()、substring()、substr()

对于时间盲注还有:sleep()

如果 sleep 函数被禁用,与时间相关的函数还有 benchmark()

都是根据 SQL 语句的执行时间(查看请求耗时)来推断数据库中的信息。

(3)SQL 注入写入 webshell

条件:

① select into out file 方法可用(允许导出文件);

② 知道网站所在的绝对路径;

③ 有足够权限。

写入方法:

① union select 写入
1' union select 1,"<?php @eval($_GET['cmd'])?>" into out file '路径/cmd.php'

对于盲注或报错注入,union select 无法利用

② 分隔符写入
1'into out file '路径' + lines terminated by + <木马>
1'into out file '路径' + lines starting by + <木马>
1'into out file '路径' + fields terminated by + <木马>
1'into out file '路径' + columns terminated by + <木马>
③ log 写入

将日志目录设为 shell 地址

(4)SQL 注入加固

输入验证过滤;

异常信息处理;

参数化查询;

控制数据库的访问权限。

2、XSS

跨站脚本攻击(HTML代码注入)

通过向网页注入浏览器可执行的代码从而实现攻击

分类:反射型、储存型、DOM型

常用弹窗测试函数:alert()、prompt()、confirm()

3、XEE

外部实体注入

通过自定义 XML 文件进行执行从而实现读取系统文件

读取文件的 payload:

利用外部实体

<!ENTITY 实体名称 SYSTEM "file:///etc/passwd">]>

带有恶意外部实体的 XML 数据会被加载并解析

4、SSRF

服务器端请求伪造,由服务器发起

由于服务端提供了从其他服务器应用获取数据的功能,但未对目标地址做严格过滤限制,可传入任意的地址让服务器对其发起请求并返回请求的数据。

可能导致 SSRF 的函数:file_get_contents()、fsockopen()、curl_exec()

常用文件读取协议:file://、php://filter

5、CSRF

跨站请求伪造,由客户端发起

本质:挟持用户在当前已登录的 web 应用程序上执行非本意的操作

一般要对恶意的 URL 进行短链接处理,在用户不知情的情况下构造了网络请求,对抗 CSRF 最简单有效的方法:使用验证码,强制用户与应用程序进行交互才能完成请求。

三、应急响应与入侵排查

1、大致流程

(1)收集中毒主机信息,包括日志文件、进程列表、启动项、网络连接、系统配置等。

(2)分析信息,确定安全事件类型与威胁程度。

(3)清理处置,杀掉进程、删除恶意文件,打补丁、修复文件。

2、排查方法

(1)使用杀毒软件扫描清除。

(2)看外联:netstat -ano ,排查异常连接,提取 IP ,由恶意 IP 对应的 PID 找恶意文件

(3)分析日志文件,排查系统的使用情况与异常行为

Windows:win+R->eventvwr.msc->事件查看器

Linux:tail -f 文件名(实时监测日志文件)

(4)排查启动项

Windows:任务管理器->启动

Linux:systemctl list -unit -files

(5)排查进程

Windows:tasklist

Linux:px -aux

(6)排查计划任务

Windows:at(已弃用);schtasks

Linux:crontab -l

(7)排查用户

Windows:net user 或图形化查看(控制面板->用户账户)

Linux:who;last;cat /etc/passwd

(8)排查历史命令:在终端都是使用 history 命令

(9)结合安全设备的告警进行分析与排查

(10)使用一些专业工具协助峰分析

(11)对于 Windows 还可以分析 dll 调用链(攻击者通过白加黑的方法,劫持合法程序的 dll ,用带签名的合法程序加载 shellcode ,该方法可以绕过杀软)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!