Cyberchef实用功能之-模拟沙箱的文件静态分析能力

news2024/9/20 5:44:29

本文将介绍如何使用cyberchef 提取文件的重要元数据的信息,根据自己的需求实现沙箱中的静态文件的分析能力。

在网络安全日常的运营,护网行动,重保活动的过程中,样本的分析是一个重要的过程,这些可疑或者恶意的样本的来源有如下几种:

  • 数据包流量中提取的样本
  • EMAIL邮件附件中提取的样本
  • EDR软件中发现的样本
  • 通过发现的C2等链接下载的样本

无论哪种方式,都需要对可疑或者恶意的样本进一步的分析以及确认。对于已知的样本,通过sha1等hash去到对应的威胁情报平台查询即可。对于未知的样本,往往需要在进行动态的分析以及静态的分析。动态的分析由于要实际的运行软件,因此常见的方法是在沙箱进行运行。而静态分析包括针对文件的格式信息以及可视字符串分析,这往往是针对可疑样本分析的第一步。常见的沙箱也是具备这样的静态分析功能,如下图恶意样本的沙箱分析,链接,这里:

在这里插入图片描述

可以看到沙箱针对文件的静态分析包括如下几个方面:

  • 基础信息,主要是文件大小,格式,以及各种hash。由于MD5,SHA1等各种hash是文件在网络中的唯一标识,这块对于文件的共享实际文件的识别非常的重要.
  • 元数据信息,主要是各种格式文件的头部信息,包括文件的类型,时间戳,软件版本,操作系统等。文件类型和操作系统对于识别影响的操作系统平台很重要。
  • 文件深度分析,主要是针对文件的签名,文件库以及dll 调用。
  • 字符串信息,样本中含有明文可读的字符串,例如IP地址,URL地址,命令行命令等,通过提取这些字符串,能够对于样本潜在的行为有一个初步的认识,都用于快速的判定样本是否恶意。

上述的几个方面个都是帮助分析人员从不同的角度认识文件,从而对于文件是否恶意,提取潜在的IOC,以及根据不同的信息进行关联等等。虽然沙箱是非常全面·的功能,但是具有如下的问题:

  • 对于外部的沙箱,样本数据都是需要上传到外部非互联网沙箱,样本存在泄露的风险。
  • 对于内部沙箱,需要购买,很多企业并没有自己的内部沙箱。
  • 沙箱的分析是一个比较通用的分析,如果想要提取分析者指定字段可能无法定制
  • 有的环境中不允许文件的拷贝,只能在本地进行分析。
  • 很多时候文件并不是以文件形态存在,需要现将文件从字符串等形态先进行还原

基于上述的一些问题,cyberchef能够帮助SOC或者安全分析师对于文件先进行基本的判断,确定文件的一些基本特征。

本文将介绍将使用cyberchef对文件进行静态分析的方法,作为我的专栏《Cyberchef 从入门到精通教程》中的一篇,详见这里。

样本

出于学习的目的,本文使用的样本为Wireshark中正常的可执行程序text2pcap.exe,是一个非恶意的文件,对应的连接,这里,如下图为沙箱所显示的文件静态信息:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
针对沙箱提供的基础信息,元数据信息,格式深度信息,明文字符串信息,则分别尝试使用对应的工具进行替换实现,

基础信息

可以看到上述的文件会计算文件的多种hash,在cyberchef中的hashing大类中的Generate all hashed提供了诸多的hash计算能力,如下图:
在这里插入图片描述
可以看到对于常见的hash包括MD5,sha1,sha256,SSDEEP Cyberchef都是支持的,对于模糊impfuzzy,TLSH并没有提供支持,这块是需要cyberchef加强的。可以自行编写这些Hash的js脚本,加入到cyberchef的功能中,并不是很复杂,详见的操作不走见这里,是这些常见的hash基本能够满足日常大部分的需求。

元数据信息

沙箱中对于元数据信息使用的工具名称为ExifTool,Cyberchef并没有实现了该tool的功能,如果想要使用exiftool工具中提取的文件信息,例如可以到对应的官网进行下载,离线使用。关于该工具的使用,详见我的专栏《安全分析师工具篇》,这里。

文件深度分析

Cyberchef暂时并没有实现PE的文件分析功能,实现了ELF info的展示,详见ELF info操作。关于PE文件的分析可以使用对应的工具,详见微软官方文档,这里。

字符串信息

针对字符串信息的提取,这块是cyberchef的强项,可以看到Cyberchef的strings操作支持多种的编码,和指定长度字符串的提取,相对比较的灵活,如下:
在这里插入图片描述
如果被提取文件中的字符串较多,可以提取更加具体的内容。在网络安全领域,更加关注的是IP/URL/domain/email/file path等IOC的 信息,Cyberchef针对这些信息提供了单独的提取操作,如下图:
strings

因此,可以看到,通过cyberchef以及exiftool工具,能够完成本地绝大多数的恶意软件静态的初步分析,为后续逆向专家的深入分析提供参考依据。

定制分析

我原本的想法是构建一个cyberchef的脚本,将安全分析师最为常见关注的文件属性,例如MD5,sha1,sha256,文件大小,文件类型,文件格式,IP/URL/domain,明文字符串等形成脚本文件,这样每当需要分析静态特征的时候可以直接使用或者自动化。但是发现无法让cyberchef同时执行多个操作,让cyberchef同时执行多个操作在cyberchef的issue中被提及过,但是没有实现,详见这里,目前只能够通过Cyberchef的多个tab功能进行近似实现,但是这种方法无法做到完全脚本化。缺点是需要导入文件多次,期待cyberche后续f能够实现该项功能。

后续将会介绍利用cyberchef对文件进行yara以及sigma规则匹配的能力,见我的专栏文章《Cyberchef实用功能之-模拟沙箱的文件规则检测》详见这里,。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

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

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

相关文章

Beyond Compare忽略特定格式文本

1 问题背景: 文本对比时忽略某些文本。比如有些生成的文件需要做差异对比,除了内容有差异外,自动生成的ID也不同,想忽略这些ID。特别是文件内容比较多的时候。 如上图,其中UUID“*”的部分我想忽略。 方法&#xff1…

微信开放平台应用签名MD5

可以使用JS转换一下 一、在任一网页 右键 检查 打开调试 二、把字母转换成小写,去除(:) MD5 应用签名示例 "70:71:5F:CA:AE:E5:B1:01:30:11:8F".toLowerCase().replace(/:/g, "") 70715fcaaee5b10130118f 就是要填写…

我们为什么推出数据模型

调用接口之前,要写大量的字段校验代码? 需要关联读写多张表的数据,难以写出复杂的数据库语法? 不仅需要开发核心的业务逻辑,还需要加班搭建CMS和数据管理页面? 数据不止放在云开发,还需要查询…

ctfhub-web-基础认证

HTTP协议:什么是HTTP基本认证_网易订阅 https://zhuanlan.zhihu.com/p/64584734 弹框输入密码账号bp抓包,发现了Authorization:后面有一串BASE64的编码(输入的密码) 账号默认是admin,抓包后是basic 把抓到的包发送到爆破模块i…

MySql【约束】

约束 1.1 约束 是什么? 约束,即限制,就是通过设置约束,可以限制对数据表数据的插入,删除,更新 怎么做? 约束设置的语法,大部分是 create table 表名( 字段 数据类型(长度) 约束, 字段 数据类型(长度) 约束 ); 另外一种是建表后,使用alter语句修改表添加约束 1.1 数据类型 其实…

人社大赛算法赛题解题思路分享+第五名

关联比赛: [国家社保]全国社会保险大数据应用创新大赛 赛题背景分析及理解 本次比赛,“精准社保”的赛题为“基本医疗保险医疗服务智能监控”,由参赛队完成数据算法模型的开发设计,实现对各类医疗保险基金欺诈违规行为的准确识别。 在进行了…

AI工业ros机械臂

1、基本介绍 该产品是一款面向于人工智能、机器人工程等专业的实验平台,能够学习基于人工智能技术的智能机器臂相关知识。主要由工业六轴机械臂、机械臂控制器、边缘计算主机、安全防护工作台四部分构成。该产品可完成的课程:机器视觉、机器人操作系统RO…

Stable Diffusion 使用详解(10)--- 场景立体字

目录 背景 复刻立体雏形 Lora 模型 参数设置与controlnet 出图效果 融入图片 提取 合成 背景 虽然都是字,带场景的立体字和上一节讲的做法不太一样。一般来说,一般这种带字体的场景字现阶段都是Lora模型居多,Lora 属于轻量级模型&…

linux系统中USB模块基本原理分析

大家好,今天主要给大家分享一下,USB设备的发展历程。 第一:USB发展变化 随着时代的发展,USB模块也随之不断的升级。 USB1.1:规范了USB低全速传输; USB2.0:规范了USB高速传输,采用NRZI(反向不归零)编码(NRZI采用8bit编码方式),位填充(在数据进行NRZI编码前…

每日一练-threejs实现三维动态热力图

前言&#xff1a;学习自用Three.js搞个炫酷热力山丘图&#xff0c;作者讲解的十分详细&#xff0c;在这里不再过多赘述&#xff0c;直接上代码&#xff01; <template><div class"map" ref"map"></div> </template><script set…

亿发工单管理系统助力五金行业智造升级:高效生产新篇章

在五金制造行业&#xff0c;效率和质量决定了企业的竞争力。五金厂通过引入先进的工单管理系统&#xff0c;成功实现了从传统制造向智能制造的转型。今天&#xff0c;我们将带您深入了解这场变革背后的力量&#xff0c;揭示工单管理系统如何在五金工厂的各个环节中发挥重要作用…

Redis的哨兵(高可用)

实验环境&#xff1a;用一主两从来实现Redis的高可用架构。 一、Redis哨兵 Sentinel 进程是用于监控redis集群中Master主服务器工作的状态&#xff0c;在Master主服务器发生故障的时候&#xff0c; 可以实现Master和Slave服务器的切换&#xff0c;保证系统的高可用&#xff0c…

java一键生成数据库说明文档html格式

要验收项目了&#xff0c;要写数据库文档&#xff0c;一大堆表太费劲了&#xff0c;直接生成一个吧&#xff0c;本来想用个别人的轮子&#xff0c;网上看了几个&#xff0c;感觉效果不怎么好&#xff0c;自己动手写一个吧。抽空再把字典表补充进去就OK了 先看效果&#xff1a; …

找不到msvcp140.dll无法继续执行代码的基本解决策略,快速修复msvcp140.dll错误文件

在我们日常使用电脑的过程中&#xff0c;偶尔会遇到一些令人头疼的技术问题。其中&#xff0c;"找不到 msvcp140.dll 无法继续执行代码" 的错误提示便是许多 Windows 用户常见的难题之一。这条错误消息通常在尝试启动某些程序时出现&#xff0c;指出系统缺少一个关键…

SAP HR 逻辑数据库PNP简单说明

逻辑数据库是专门在逻辑数据库生成器中编辑的开发对象&#xff0c;其核心价值在于为其他ABAP程序提供来自分层树结构节点的数据访问能力。尽管在SAP的最新帮助文档中&#xff0c;逻辑数据库被标记为已过时的&#xff0c;但是在HR模块中仍然被广泛使用&#xff0c;提供读取和处理…

基于Echarts的大屏可视化

效果图 基于vue3echartsTailwind CSS技术实现 实现思路 新建一个新项目 找任一目录进行 pnpm create vitelatest选择vue和js开始项目 导入tailwindcss https://tailwindcss.com/ 选择vue按照里面的步骤一步一步完成即可 将事先准备好的资料导入到assets包中即可 写入项…

Android setText不生效问题(文字不显示)

1.直接说解决方案&#xff1a; 在代码没问题的情况下&#xff0c;将你的TextView的Id改一下&#xff0c;然后再重启编译器即可(注意&#xff0c;不修改TextView的ID&#xff0c;单独重启是没有作用的&#xff01;) 2.出现问题的过程&#xff1a; 新增的一个页面与之前做好的界…

“workon不是内部命令“/virtualenvwrapper-win安装配置

如果出现“workon不是内部命令”&#xff0c;先卸载 pip uninstall virtualenvwrapper-win -y 一&#xff0c;指定所有虚拟环境存放路径&#xff1a; # “E:/Python_Envs_List”换成自己想要的路径 setx WORKON_HOME "E:/Python_Envs_List"二&#xff0c;增加pytho…

【轻松掌握】Jenkins入门指南:构建高效的CI/CD Pipeline

文章目录 前言安装部署安装JDK安装Jenkins下载Jenkins运行Jenkins访问页面填写管理员密码安装推荐的插件 Maven安装下载上传到Linux解压配置镜像运行查看Maven使用的JDK版本 Jenkins安装Maven插件 创建Demo项目创建Jenkins任务填写代码仓库地址Linux安装GIT解决报错配置Maven版…

一文吃透SpringMVC

一、SpringMVC简介 1、什么是MVC MVC是一种软件架构模式&#xff08;是一种软件架构设计思想&#xff0c;不止Java开发中用到&#xff0c;其它语言也需要用到&#xff09;&#xff0c;它将应用分为三块&#xff1a; M&#xff1a;Model&#xff08;模型&#xff09;&#xf…