日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅析内存取证

發布時間:2024/9/30 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析内存取证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

MISC經常遇到取證分析的,而且在實戰中取證也是非常重要的,學習一下。

什么是活取證

在主機存活時發現系統被入侵,然后直接把機器的運行內存dump下來,對運行內存進行分析,還原一些進程的中的信息。

主要工作便是

  • 抓取文件metadata
  • 創建時間線
  • 命令歷史
  • 分析日志文件
  • 哈希摘要
  • 轉存內存信息等

什么是死取證

對機器的磁盤做鏡像之后進行分析,在關機后制作硬盤鏡像,分析鏡像(MBR硬盤分區,GPT全局分區表,LVM邏輯卷)是否存在病毒,木馬等惡意程序。

不管是那種取證方式都應盡量避免破環犯罪現場,例如通過內存轉儲工具對內存進行快照,通過磁盤克隆工具對磁盤進行克隆,方便后期的分析工作。

Linux系統取證基礎命令

0x00:查看系統信息

uname -a #查看內核/操作系統/CPU head -n 1 /etc/issue #查看操作系統版本 cat /proc/cpuinfo #查看cpu信息 env #查看系統環境變量

0x01 用戶及組信息

w #查看活動用戶 cut -d: -f1 /etc/passwd #查看系統所有用戶 cut -d: -f1 /etc/group #查看系統所有組

0x02 查看網絡、端口信息

netstat -an #查看開放端口 netstat -lntp #查看所有監聽端口 netstat -antp #查看已經建立的連接

0x03 系統運行信息查看

cat /etc/crontab #系統cron任務查看 cd /var/spool/cron/crontabs #查看用戶的cron任務 ps -ef #查看所有進程 netstat -s #查看網絡統計信息進程 top #實時顯示進程的用戶信息

0x04 日志查看分析

cat /var/log/boot.log #查看Linux系統開機自檢過程顯示的信息 cat /var/log/lastlog #記錄最后一次用戶成功登陸的時間、登陸IP等信息 cat /var/log/messages #記錄Linux操作系統常見的系統和服務錯誤信息 cat /var/log/btmp #記錄Linux登陸失敗的用戶、時間以及遠程IP地址 cat /var/run/utmp #記錄有關當前登錄的每個用戶的信息 cat /var/log/wtmp #永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件

0x05:結束進程

linux下的kill命令可以結束相關進程

kill xxx #xxx進程PID號(PID就是各進程的身份標識 ) kill -9 xxx #kill -9代表的信號是SIGKILL,表示進程被終止,需要立即退出;

Volatility

Volatility是一款開源的,基于Python開發的內存取證工具集,可以分析內存中的各種數據。Volatility支持對32位或64位Wnidows、Linux、Mac、Android操作系統的RAM數據進行提取與分析。

這里列出一些常用命令,以方便之后自己查看

volatility -f xxx imageinfo #使用imageinfo插件來猜測dump文件的profile值 volatility -f xxx --profile=xxx pslist #指定profile值,使用pslist去列舉系統進程 volatility cmdscan -f xxx --profile=xxx #查看歷史命令 volatility iehistory -f xxx --profile=xxx #查看IE歷史信息 volatility -f mem.raw --profile=Win7SP0x86 screenshot --dump-dir=./ #查看截圖 命令功能
cmdline/cmdscan列出歷史cmd命令
filescan掃描文件,可配合grep使用
pslist/psscan列出進程列表
svcscan掃描windows服務列表
memdump從內存dump進程的內存
dumpfiles從內存dump文件

官方命令

了解幾個文件后綴

vmem文件 #表示虛擬內存文件,與pagefile.sys相同 raw文件 #raw文件是內存取證工具Dumpit提取內存生成的內存轉儲文件

除此之外,還需要了解一下profile(配置文件)

profile是特定操作系統版本以及硬件體系結構(x86,x64,ARM)中VTypes,共用體,對象類型的集合.除了這些組件以外,profile還包括:元數據:操作系統的名稱,內核版本,以及編譯號. 系統調用信息:索引以及系統調用的名稱 常量值:全局變量-在某些操作系統中能夠在硬編碼的地址處找到的全局變量 系統映射:關鍵全局變量和函數的地址(僅限Linux和Mac)

每個profile都有個一個唯一的名稱,通常是由操作系統的名稱,版本,服務包,系統結構等信息組成.

:Win7SP1x64是64位的Windows 7 SP1系統配置文件的名稱

實戰訓練

0x00:V&N 2020 公開賽-MISC內存取證

拿到文件,先來看一下文件的profile值,確定內存鏡像的版本

volatility -f mem.raw imageinfo


接下來搜索一下進程,看看出題人做了些什么操作

volatility -f mem.raw --profile=Win7SP0x86 pslist

發現了幾個關鍵進程,分別是

notepad.exe (pid 3552) #編輯器 TrueCrypt.exe (pid 3364) #TrueCrypt是一款免費開源的加密軟件 mspaint.exe (pid 2648) #畫圖工具 iexplore.exe (pid 3640\3696) #IE瀏覽器

先dump出來查看一下

volatility -f mem.raw --profile=Win7SP0x86 memdump -p 2648 --dump-dir=./volatility -f mem.raw --profile=Win7SP0x86 memdump -p 3364 --dump-dir=./volatility -f mem.raw --profile=Win7SP0x86 memdump -p 3552 --dump-dir=./

mspaint.exe (pid 2648)

先來看一下畫圖這個,看了大師傅的博客才知道這種畫圖進程應該利用volatility將進程內存dump下來,然后利用Gimp打開內存數據,最后查看鏡像中的系統界面。

先下載下Gimp工具,我這里用的是kail

apt-get install gimp

將上面dump下來的2648.dmp改后綴名為2648.data,再使用Gimp工具打開該文件

剛打開就是這個樣子,需要我們自己去調整一下位移、寬度和高度。

高度的話只要圖像覆蓋住畫面即可,之后就不用再進行調整了,如:

高度固定后,就需要調整一下寬度,覆蓋住整個頁面即可,最后就是調整位移,不斷調整只要圖像顯示清楚即可

拿到圖片在畫圖工具中垂直翻轉一下就可以了

得到一個信息,先記錄下來

IYxfCQ6goYBD6Q

notepad.exe (pid 3552)

在volatility命令中,有一個editbox插件可以顯示有關編輯控件的信息。命令如下:

volatility -f mem.raw --profile=Win7SP0x86 editbox


發現了百度網盤的鏈接就可以進行下一步了。

除此之外還有另外一個插件notepad,但是這個插件只是適用于windows xp的鏡像分析。

TrueCrypt.exe (pid 3364)

將TrueCrypt.exe進程(pid為3364)dump出來之后,利用工具Elcomsoft Forensic Disk Decryptor CracKed By Hmily進行破解Key值

按照這個順序進行操作即可,加載文件那里,上面那個加載的是從百度網盤下載的文件,下面加載的是3364.dmp,之后掛載即可。

打開得到key值

uOjFdKu1jsbWI8N51jsbWI8N5

既然拿到了Key值,接下來就對VOL文件進行正常的破解操作,工具為VeraCrypt,記得要勾選TrueCrypt模式

加載成功

打開F盤,里面有一個壓縮包,但需要密碼才能打開

這個密碼便是在上面通過畫圖進程得到的密碼,輸入便可以獲取到flag。

0x01:內存取證賽題

描述:

一天下午小白出去吃飯,臨走之前還不忘鎖了電腦,這時同寢室的小黑想搞點事情,懂點黑客和社工知識的小黑經過多次嘗試獲得了密碼成功進入電腦,于是便悄悄在電腦上動起手腳了,便在桌面上寫著什么,想給小白一個驚喜,同時還傳送著小白的機密文件,正巧這時小白剛好回來,兩人都嚇了一跳,小黑也不管自己在電腦上留下的操作急忙離開電腦,故作淡定的說:“我就是隨便看看”。

問題:

1.小黑寫的啥,據說是flag? 2.那么問題來了,小白的密碼是啥? 3.小黑發送的機密文件里面到底是什么?

先來看一下文件的profile值

volatility -f mem.raw imageinfo


然后第一個問題提示的是小黑寫的啥,據說是flag?,所有先查看一下進程

volatility -f mem.raw --profile=WinXPSP2x86 pslist

然后發現了notepad.exe進程,利用下editbox插件顯示下編輯控件的信息

volatility -f mem.raw --profile=WinXPSP2x86 editbox


因為這個是windows xp的鏡像,所以也可以用插件notepad

發現這一段有點不正常,感覺像是base16,解一下發現flag

接下來就看第二問題,小白的密碼是啥?

這個問題涉及到了密碼,他的系統是Windows,就先使用命令找一下注冊表,主要是為了找到SAM、system文件,得到其virtual 地址。

volatility -f mem.raw --profile=WinXPSP2x86 hivelist


接下來獲取內存中的系統密碼,使用 hashdump 將它提取出來

volatility -f mem.raw --profile=WinXPSP2x86 hashdump -y 0xe10182f8 -s 0xe1492b60

用戶名:RID:LM-HASH值:NT-HASH值

知道了NT-HASH的值,在線破解下

但沒破解成功,除下在線的還可以使用

Saminside字典破解 Ophcrack加載彩虹表破解

這兩個工具進行破解一下,這里就不在演示了,主要是為了學習取證分析。

最后看一下第三個問題,發送的機密文件里面到底是什么?

描述中說的是傳送著小白的機密文件,而且進程中有nc.exe、有cmd.exe,應該是使用cmd命令行的nc進行文件的傳輸。

既然有操作就肯定會留下痕跡,可以看一下歷史命令

volatility cmdscan -f mem.raw --profile=WinXPSP2x86


傳輸了一個zip文件,既然知道這個進程中做了這樣的操作,就先將nc.exe進程給dump下來

volatility -f mem.raw --profile=WinXPSP2x86 memdump -p 120 --dump-dir=./

然后再foremost一下,提取出來(binwalk提取出來會損壞文件)

需要輸入密碼,而密碼根據提示也很明顯了,就是第二問破解出來的密碼

最終得到flag

總結

感覺內存取證和流量分析一樣,都很有趣,目前接觸的還是比較少,繼續學習,沖沖沖!

參考博客

https://blog.xiafeng2333.top/ctf-25/
https://www.freebuf.com/news/145262.html

總結

以上是生活随笔為你收集整理的浅析内存取证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。