User-Profile-Image
hankin
  • 5
请到[后台->外观->菜单]中设置菜单。
  • 分类
    • 靶机渗透
    • 计算机小技巧
    • 未分类
    • 数据结构
    • 内网渗透
    • 代码审计
    • XSS
    • WEB安全漏洞学习
    • Web
    • python
    • PHP
    • NodeJS
    • MYSQL
    • Misc
    • JavaScript
    • Docker
    • CTF相关知识点
    • CTFWP
    • Crypto
    • Cobalt Strike
  • 页面
  • 友链
    • 三哥的博客
    • Root师傅的博客
    • EDS师傅的博客
    • 天正哥的博客
    • 天尘翼师傅的博客
    • 熵增师傅的github
    • 信仰的博客
    • Jadore的博客
Help?

Please contact us on our email for need any support

Support
    首页   ›   CTFWP   ›   正文
CTFWP

内存取证与USB流量分析总结

2020-04-26 00:44:58
262  0 0

Contents

  • 1 0x00 前言
  • 2 0x01 Volatility
  • 3 0x02 USB流量分析
  • 4 0x03 网络安全与执法专业比赛取证10题
  • 5 0x04 最后

0x00 前言

本文对我曾接触到过的CTF中的内存取证类题目与USB流量分析类题目进行一个总结类梳理。其中kali里集成了取证神器volatility与流量分析神器tshark

0x01 Volatility

第一步提取内容镜像信息

常用命令volatility -f <xxx.vmem>(或xx.raw) imageinfo

使用imageinfo插件获取到基本信息,特别是内存数据是什么操作系统下生成的,这点尤为重要 (如图的WinXPSP2x86) 因为在接下来每一步都要命令“–profile”指定操作系统的属性。

第二步列取文件中曾使用的进程信息

常用命令: pslist/pstree/psscan

1)pslist无法显示隐藏/终止进程。
2)解决这个问题的插件是psscan,这个插件输出的内容会比pslist多得多。(所以全面信息获取用psscan)
3)pstree同样也是扫描进程的,但是是以进程树的形式出现的。

同时可以搭配grep命令进行对可疑进程(cmd.exe、notepad.exe等)的快速筛选

第三步根据进程中使用的工具对应查看

常用命令:cmdscan notepad

cmdscan 可以用来查看受害者系统上攻击者操作的最强大的命令之一,无论他们是否打开cmd.exe。简单地说,可以看到攻击者在命令提示符中键入的内容。

当进程中存在notepad.exe时,可用notepad插件查看文本中所写内容

第四步文件探测

常用命令:filescan

该命令通常结合grep命令对所需要文件进行筛选,以下我已在CTF中遇到的两道内存取证的文件隐藏做出结论:大概率搜索桌面即可。

第五步提取文件

常用命令:dumpfiles memdump

volatility -f [imgfile] –profile=[imgversion] dumpfiles -Q [file_offset] –dump-dir [outdir]

注意红框所示需要对应,–dump-dir指定下载到本地的什么位置(这里是当前目录),注:下载下来的文件如果是普通文件(图片,文本)会直接以dat结尾,如果是压缩包,则会在前面加上一个.zip(蓝箭头所指)后续的使用修改为对应文件名及其后缀即可。

dump画图进程: dump 出来的进程文件,可以使用 foremost 来分离里面的文件。332是对应进程的pid 。不进行分离的题型参看https://shawroot.hatenablog.com/entry/2019/11/12/%E8%AE%B0%E4%B8%80%E9%81%93%E7%BA%A2%E5%B8%BD%E6%9D%AFCTF%E9%9A%90%E5%86%99%E9%A2%98%E6%B5%85%E5%AD%A6Volatility

0x02 USB流量分析

这里以XMAN2018挑战赛的AutoKey进行学习

题目下载

pcapng文件用wireshark打开出现如下信息,这里是经典的提取usb流量问题

tshark -r attachment.pcapng -T fields -e usb.capdata > usbdata.txt

-r: 读取本地文件,可以先抓包存下来之后再进行分析;
-T,-e: 指的是打印这两个字段;

结果会保存到usbdata.txt中。

用脚本对USB信息进行翻译

#!usr/bin/env python
#-*- coding:utf-8 -*-
mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
nums = []
keys = open('usbdata.txt')
for line in keys:
    if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':
         continue
    nums.append(int(line[6:8],16))
keys.close()
output = ""
for n in nums:
    if n == 0 :
        continue
    if n in mappings:
        output += mappings[n]
    else:
        output += '[unknown]'
print 'output :\n' + output

还有一种USB信息转换为轨迹坐标的方式。文章参看Root师傅的博客文章https://shawroot.cc/archives/580

0x03 网络安全与执法专业比赛取证10题

考点:volatilty内存取证,USB流量分析,希尔密码

进程中没有看到notepad,但是又cmd进程,利用cmdscan插件查看得到希尔密码的矩阵,还缺少一个密文。

进行文件搜索,最后将zip文件提取出

修改后缀后打开压缩包发现是一个img文件。考虑linux磁盘挂载。

可以看到有一个usb.pcapng文件,考虑USB流量分析,这里直接用tshark命令搭配上面的脚本获取隐藏信息

得到写入密码的密文,利用在线网站进行解密:https://www.dcode.fr/hill-cipher

如上所选修改成对应的3×3矩阵。得到最终的结果

最后注意要取消磁盘挂载:umount ./guazai(挂载文件夹)

文章参考:https://shawroot.cc/archives/673

0x04 最后

感谢Root师傅的带飞,这次比赛跟Root师傅学到了好多。

评论 (0)

点击这里取消回复。

欢迎您 游客  

近期文章
  • SUCTF 2019 Guess_game
  • Python pickle反序列化
  • [安洵杯 2019]easy_serialize_php
  • Session反序列化
  • 原生类序列化
近期评论
    文章归档
    • 2021年1月
    • 2020年12月
    • 2020年11月
    • 2020年9月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年2月
    • 2020年1月
    分类目录
    • Cobalt Strike
    • Crypto
    • CTFWP
    • CTF相关知识点
    • Docker
    • JavaScript
    • Misc
    • MYSQL
    • NodeJS
    • PHP
    • python
    • Web
    • WEB安全漏洞学习
    • XSS
    • 代码审计
    • 内网渗透
    • 数据结构
    • 未分类
    • 计算机小技巧
    • 靶机渗透
    功能
    • 登录
    • 项目feed
    • 评论feed
    • WordPress.org
    分类目录
    Copyright © 2021 网站备案号: 蒙ICP备20000552号-1
    smarty_hankin 主题. Designed by hankin
    主页
    页面
    博主
    purplet 管理员
    努力并有所方向
    157 文章 0 评论 21065 浏览
    测试
    测试