磁盘取证,内存取证和日志取证。 波动率框架和尸检。 用r0ot-mi解决问题。 第一部分

图片

本文包含针对内存,RAM和Web服务器日志取证的任务的解决方案。 以及使用波动率框架和验尸程序的示例。

组织信息
特别是对于那些想要学习新知识并在信息和计算机安全性的任何领域中发展的人们,我将撰写和讨论以下类别:

  • PWN;
  • 密码学(加密);
  • 网络技术(网络);
  • 反向(反向工程);
  • 隐写术(Stegano);
  • 搜索和利用Web漏洞。

除此之外,我将分享我在计算机取证,恶意软件和固件分析,对无线网络和局域网的攻击,进行笔测试和编写漏洞利用程序方面的经验。

为了使您可以查找有关新文章,软件和其他信息的信息,我在Telegram中创建了一个频道,并创建了一个小组来讨论 ICD领域中的所有问题 。 另外,我会亲自考虑您的个人要求,问题,建议和建议, 并会回答所有人

提供所有信息仅出于教育目的。 对于由于使用本文档而获得的知识和方法对某人造成的任何损害,本文档的作者不承担任何责任。

内存取证-2级


图片

在此任务中,我们获得了一张RAM映像,并被要求查找计算机的名称。 为了解决这类任务,我们将使用波动率框架。 我们使用以下命令加载图像,并指定图像的路径作为参数。 首先,我们找到有关图像的信息。

volatility -f ch2.dmp imageinfo 

图片

因此,我们了解到这是Windows操作系统的内存映像。 也就是说,我们可以从注册表中找到计算机的名称。 现在,我们必须将概要文件指定为参数。 注册表中的键值可以通过以下方式显示。

 volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName" 

图片

现在我们找出计算机的名称。

 volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName\ActiveComputerName" 

图片

我们看到计算机的名称。 交出分数。

图片

日志取证-网络攻击


图片

在此任务中,他们向我们提供了Web服务器日志,并说已对其进行了攻击,我们需要了解攻击者了解了哪些数据。 让我们打开日志。

图片

我们看到base64编码的数据作为顺序参数。 我们将编写代码对它们进行解码。

 from re import * from base64 import * f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) [print(str(b64decode(i.replace("%3D", "=")), "utf-8")) for i in k] 

图片

稍微转换一下就可以理解了。

图片

因此,我们将密码的第一个字母的前两位与00、01、10、11进行比较,并进行相应的暂停-0、2、4和6秒。 第二个和第三个两位也发生。 之后,检查第七位,并根据0或1的相等性,进行2到4秒的暂停。

因此,通过延迟,我们可以确定服务器返回的位。

图片

例如:第一个请求之间的时间差为6秒,即,这些是位11,等等。 自动执行此过程。

 from re import * from base64 import * import binascii f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) dec_k = [str(b64decode(i.replace("%3D", "=")), "utf-8") for i in k] t = findall("2015:12:1(.*?) \+0200]", log) tim = [int(i.split(':')[0])*60 + int(i.split(':')[1]) for i in t] tim = [tim[i+1] - tim[i] for i in range(len(tim)-1)] + [0] password = "" for i in range(0, len(tim), 4): c = '' for sec in tim[i:i+3]: if sec == 0: c += '00' elif sec == 2: c += '01' elif sec == 4: c += '10' elif sec == 6: c += '11' if tim[i+3] == 2: c += '0' elif tim[i+3] == 4: c += '1' password += chr(int(c,2)) print(password) 

我们提供密码。

图片

内存取证-5级


图片

我们被要求找到约翰的密码并提供RAM转储。 与上次一样,我们找出使用了哪个操作系统。

图片

这是Windows。 波动率具有哈希转储选项。

图片

现在我们找到了用户密码。

图片

我们发送密码并获得积分。

图片

磁盘取证-寻找猫


图片

我们得到了一张磁盘映像,并被要求找到猫所在的地方。 对于此类任务,您可以使用FTK Imager。 我将使用AutoPsy解决它。 运行程序。

图片

我们被告知在浏览器中打开页面。 我们打开。 现在创建一个新案例并添加一个主机。 接下来,您需要添加图像。

图片
图片

图片

图片

图片

图片

图片

图片

创建环境后,我们将获得以下内容。

图片

选择分析选项。

图片

我们显示以下部分结构。 “文档”文件夹中没有任何有趣的东西。 让我们转到文件。

图片

有一个有趣的odt文件。 我们选择它。

图片

内容显示在下面-有某种图像。 选择提取以提取文件。 从下载的文件中,我们提取图像。

图片

这很可能是我们需要找到的猫。 让我们看看exif信息。

图片

很好,有位置坐标。 我们在卡片中找到它。

图片

我们发送答案并获得积分。

图片

越来越复杂...您可以加入Telegram 。 在这里,您可以提出自己的主题,并为以下文章的主题选择投票。

Source: https://habr.com/ru/post/zh-CN469577/


All Articles