取证

取证(Forensic)

内存取证

  • volatility

    https://github.com/volatilityfoundation/volatility

    镜像基本信息(得到profile):

    volatility -f mem.data imageinfo

    搜索进程、导出内存块:

    volatility -f mem.data --profile=XXX pslist

    volatility -f mem.data --profile=XXX memdump -p 2768 -D ./

    查看命令行输入、命令行历史记录:

    volatility -f mem.data --profile=XXX cmdline

    volatility -f mem.data --profile=XXX cmdscan

    查看可疑文件、导出文件:

    volatility -f mem.data --profile=XXX filescan | grep "doc\|docx\|rtf"

    volatility -f mem.data --profile=XXX dumpfiles -D ./ -Q 0x000000001e85f430 -n

    无法导出.dat文件,加 -u 参数(-u = —unsafe relax safety constraints more data)
    volatility -f mem.data -r pdf$ -i --name -d dumpfiles/ -u

    dumpfiles 参数:

    参考:https://www.andreafortuna.org/2017/07/17/volatility-my-own-cheatsheet-part-4-kernel-memory-and-objects/

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    -r REGEX, --regex=REGEX
    Dump files matching REGEX
    -i, --ignore-case Ignore case in pattern match
    -o OFFSET, --offset=OFFSET
    Dump files for Process with physical address OFFSET
    -Q PHYSOFFSET, --physoffset=PHYSOFFSET
    Dump File Object at physical address PHYSOFFSET
    -D DUMP_DIR, --dump-dir=DUMP_DIR
    Directory in which to dump extracted files
    -S SUMMARY_FILE, --summary-file=SUMMARY_FILE
    File where to store summary information
    -p PID, --pid=PID Operate on these Process IDs (comma-separated)
    -n, --name Include extracted filename in output file path
    -u, --unsafe Relax safety constraints for more data
    -F FILTER, --filter=FILTER
    Filters to apply (comma-separated)

查看内存中记录的当时正在运行的程序、运行次数、最后运行时间:

volatility -f mem.data --profile=XXX userassist

查看截图:

volatility -f mem.data --profile=XXX screenshot --dump-dir=./

查看当前notepad文本:

volatility -f mem.data --profile=XXX notepad

查看系统用户名:

volatility -f mem.data --profile=XXX printkey -K "SAM\Domains\Account\Users\Names"

查看最后登录系统的账户:

volatility -f mem.data --profile=xxx printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

查看网络连接:

volatility -f mem.data --profile=XXX netscan

查看缓存在内存中的注册表:

volatility -f mem.data --profile=XXX hivelist

提取注册表system和SAM虚拟地址的hash内容:

volatility -f mem.data --profile=XXX hashdump -y 0xfffff8a000024010 -s 0xfffff8a00167a010 -D ./

提取内存中主文件表(MFT)记录信息(文件属性):

volatility -f mem.data --profile=XXX mftparser > mft.txt

提取Chrome历史记录(插件):

volatility --plugins=plugins/ -f mem.data chromehistory

volatility --plugins=plugins/ -f mem.data chromevisits -Q(visits – QUICK)

volatility --plugins=plugins/ -f mem.data chromevisits(visits – FULL)

volatility --plugins=plugins/ -f mem.data chromesearchterms

volatility --plugins=plugins/ -f mem.data chromedownloads(Standard Text Output)

volatility --plugins=plugins/ -f mem.data chromedownloads --output=csv(CSV Output)

volatility --plugins=plugins/ -f mem.data chromedownloads --output=body(Bodyfile Output)

volatility --plugins=plugins/ -f mem.data chromedownloadchains

volatility --plugins=plugins/ -f mem.data chromecookies | more(Cookies – Basic example)

volatility --plugins=plugins/ -f mem.data chromecookies(Cookies – No Decryption)

volatility --plugins=plugins/ -f mem.data chromecookies -K "rq2uadV+VvAD+IBiBeJ75a=="(Cookies – Decrypted)

社工(信息收集)

  • 用户名

    https://github.com/sherlock-project/sherlock

    Sherlock Project提供了一个非常强大的命令行工具Sherlock来查找社交网络(社交网络列表及规则可自定义扩展延伸)中的用户名,以方便您进行信息收集相关的安全保障工作。

    命令:python3 sherlock.py user1 user2 user3

WiFi

参考:How to decrypt stored Windows passwords using mimikatz and DAPA

工具:mimikatz

保存/使用主密钥(master keys):dpapi::cache /save /file:cache.bin

提取WiFi密码:dpapi::wifi /in:"{fullpath}\file.xml"