目录
2.1.1 Magnet RAM Capture获取内存镜像
2.1.2 AccessData FTK Imager软件获取内存镜像
内存取证是对传统磁盘取证的补充,攻击者通过隐藏或删除攻击痕迹 的手段, 使得传统的对硬盘的取证获得的信息变得越来 越困难。同时,磁盘中的数据加密技术也越来 越普及,比如 EFS、Bitlocker 和 TrueCrypt 加密等等,此 时就涉及到了内存取证,内存取证是指从计算机物理内存和页面交换文件中查找、 提取、分析易失性证据,是对传统基于硬盘中数据取证的重要补充,也是对抗网 络攻击或网络犯罪的有力武器。内存取证有着速度快,镜像占用空间小等优势。
内存取证的优势
- 符合传统物证技术的要求
- 内存取证能够评估计算在线证据的可信性
- 内存取证最大限度地减少对目标系统的影响
注意:
内存镜像和磁盘分区镜像是不一样的。计算机内主要的存储部件是内存和磁盘,磁盘中存储着各种数据,而存储的程序是必须加载到内存中才能运行(即程序在内存中运行)。
- 磁盘分区镜像文件后缀有*.dd、*.E01、*. qcow2等。
- 内存镜像文件后缀有*.raw、*.mem、*.dd等。
当拿到嫌疑人电脑后,有以下常见的获取物理内存的方法:
(1)内存获取软件获取
(2)直接内存访问(DMA)方式获取.
在Windows电脑处于可进入系统桌面下,可以使用内存获取软件获取内存镜像,常见的内存获取软件有Dumplt、Magnet RAM Capture、AccessData FTK Image等。
运行软件后,可选择分段大小,之后选内存镜像保存路径,点击“start”后,软件自动获取物理内存镜像。

点击工具栏获取内存图标或选择“File”->“Capture Memory”。点击“Browse”选择内存镜像保存路径,可自行修改内存镜像文件名称,默认名称为“memdump.mem”。点击“Capture Memory”开始制作镜像,制作完成后可在相应路径中找到制作的内存镜像文件。


双击软件即可运行,输入“y”,即开始制作当前机器的内存镜像。内存镜像默认保存在“DumpIt软件所在的目录”,镜像名格式默认为“主机名+当前时间”。

- 断电情况下:Windows还使用页交换文件(Pagefile.sys)来协助内存的工作,当内存不满足系统所需的情况下,会释放部分内存数据到Pagefile.sys文件中,因此,当设备断电后,若无法拿到内存镜像,可以通过分析Pagefile.sys文件获取有价值的内存数据。
- 休眠情况下:当Windows系统处于休眠状态下,系统会在磁盘中生成一个休眠文件(Hiberfil.sys)用于存放内存中的数据,当计算机重新加电时,又将休眠文件中的数据重新写到物理内存中 ,这个文件也会包含很多价值的内存数据。
- powercfg -a查询是否支持休眠,
- powercfg -h off,即可关闭休眠功能,
- powercfg -h on,就能开启休眠功能。

lmg-master:GitHub - halpomeranz/lmg: Script for automating Linux memory capture and analysis (配合LiME获取镜像,简化操作)
将lmg-master内文件放入LiME的src文件夹,运行sudo ./lmg 搞定。
Volatility Framework 是一个完全开放的内存分析工具集,基于GNU GPL2 许可,以python 语言进行编写。由于Volatility 是一款开源免费的工具,无需花任何钱即可进行内存数据的高级分析,此外代码开源的特点,遇到一些无法解决的问题时,还可以对源代码进行修改或扩展功能。Volatility官网https://www.volatilityfoundation.org/
直接官网安装:Volatility 2.6 Release

解压后如下:

命令行打开,进入到该目录,运行volatility.exe(命令格式请往下看)

GitHub下载项目包:
GitHub - volatilityfoundation/volatility: An advanced memory forensics framework解压项目包:
unzip volatility-master.zip安装crypto依赖包:
pip install pycrypto安装失败参考:python2安装pycrypto_python2 pycrypto_xxL7-的博客-CSDN博客
安装distorm3依赖包:
pip install distorm3
命令格式
vol.py -f [镜像] --profile=[操作系统] [插件]
- windows中把
vol.py换成volatility.exe即可- windows中配合
find命令来匹配关键字- Linux中配合
grep命令来匹配关键字
vol.py -f Win7x64.vmem imageinfo
这一步主要是为了获取操作系统信息,在Suggested Profile(s)参数处会给出可能的操作系统,一般第一个就是正确的操作系统。

vol.py -f Win7x64.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
通过注册表项中的SAM键查看该计算机创建的用户信息

volatility.exe -f 镜像 --profile=操作系统 getsids | find "用户名"Windows中使用volatility配合find命令使用来匹配关键字

vol.py -f Win7x64.vmem --profile=Win7SP1x64 hashdump- 显示的格式是:用户名:RID:LM hash:NTLM hash:::

vol.py -f Win7x64.vmem --profile=Win7SP1x64 lsadump

vol.py -f Win7x64.vmem --profile=Win7SP1x64 iehistory

vol.py -f Win7x64.vmem --profile=Win7SP1x64 netscan也可能是connscanconnections

vol.py -f Win7x64.vmem --profile=Win7SP1x64 svcscan

vol.py -f Win7x64.vmem --profile=Win7SP1x64 pslist

vol.py -f Win7x64.vmem --profile=Win7SP1x64 psscan可以找到已经终止/不活动的进程以及杯rootkit隐藏或解链的进程

vol.py -f Win7x64.vmem --profile=Win7SP1x64 pstree

vol.py -f Win7x64.vmem --profile=Win7SP1x64 cmdscan

vol.py -f Win7x64.vmem --profile=Win7SP1x64 filescan
vol.py -f Win7x64.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
vol.py -f 镜像 --profile=操作系统 hivelist可以查看道注册表信息及其虚拟地址和物理地址

vol.py -f Win7x64.vmem --profile=Win7SP1x64 timeliner

vol.py -f Win7x64.vmem --profile=Win7SP1x64 clipboard

vol.py -f Win7x64.vmem --profile=Win7SP1x64 shutdowntime


作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代
ruby如何管理内存。例如:如果我们在执行过程中采用C程序,则以下是内存模型。类似于这个ruby如何处理内存。C:__________________|||stack|||------------------||||------------------|||||Heap|||||__________________|||data|__________________|text|__________________Ruby:? 最佳答案 Ruby中没有“内存”这样的东西。Class#allocate分配一个对象并返回该对象。这就是程序
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
你好,我无法成功如何在散列中删除key后释放内存。当我从哈希中删除键时,内存不会释放,也不会在手动调用GC.start后释放。当从Hash中删除键并且这些对象在某处泄漏时,这是预期的行为还是GC不释放内存?如何在Ruby中删除Hash中的键并在内存中取消分配它?例子:irb(main):001:0>`ps-orss=-p#{Process.pid}`.to_i=>4748irb(main):002:0>a={}=>{}irb(main):003:0>1000000.times{|i|a[i]="test#{i}"}=>1000000irb(main):004:0>`ps-orss=-p
这会导致Ruby出现内存问题吗?我知道如果大小超过10KB,Open-URI会写入TempFile。但是HTTParty会在写入TempFile之前尝试将整个PDF保存到内存吗?src=Tempfile.new("file.pdf")src.binmodesrc.writeHTTParty.get("large_file.pdf").parsed_response 最佳答案 您可以使用Net::HTTP。参见thedocumentation(特别是标题为“流媒体响应机构”的部分)。这是文档中的示例:uri=URI('http://e
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
在部署在heroku上的Rails应用程序(v:3.1)中,我在内存中获得了更多具有相同ID的对象。我的heroku控制台日志:>>Project.find_all_by_id(92).size=>2>>ActiveRecord::Base.connection.execute('select*fromprojectswhereid=92').to_a.size=>1这怎么可能?可能是什么问题? 最佳答案 解决方案根据您的SQL查询,您的数据库中显然没有重复条目。也许您的类项目中的size或length方法已被覆盖。我试过find_