今天给大家介绍的是一款名叫Fibratus的开源工具,广大研究人员可以使用这款功能强大的工具来进行Windows内核漏洞利用、挖掘与跟踪。

Fibratus这款工具能够捕捉到绝大多数的Windows内核活动-进程/线程创建和终止,上下文转换,文件系统I/O,寄存器,网络活动以及DLL加载/卸载等等。除此之外,所有的内核事件可以直接以AMQP消息、Elasticsearch簇或标准输出流的形式提供给用户。大家可以使用filaments(一款轻量级Python模块)来根据自己的需要去扩展Fibratus的功能,这也是Python生态系统给大家提供的便利之处。

工具安装

点击【这里】下载Fibratus的最新版本(Windows安装包)。工具的修改日志和旧版本可以点击【这里】获取。

安装依赖组件

1、 下载并安装Python 3.4【下载地址】;

2、 安装Visual Studio 2015(你只需要Visual C编译器来构建kstreamc扩展),确保环境变量VS100COMNTOOLS指向的是“%VS140COMNTOOLS%”。

3、 获取Cython:

pip install Cython >=0.23.4

通过pip包管理器安装fibratus:

pip install fibratus

工具运行

大家可以运行命令“fibratus –help”来获取使用帮助信息:

Usage:
    fibratus run ([--filament=<filament>]| [--filters <kevents>...]) [--no-enum-handles] [--cswitch]
    fibratus list-kevents
    fibratus list-filaments
    fibratus -h | --help
    fibratus --version
 
Options:
    -h --help                 Show this screen.
    --filament=<filament>     Specify the filament to execute.
    --no-enum-handles         Avoids enumerating the system handles.
    --cswitch                 Enables context switch kernelevents.
--version                 Show version.

运行命令fibratus run(无需任何参数),可直接捕捉到所有支持的内核事件,控制器初始化完成之后,捕捉到的内核事件会持续输出并呈现给用户:

555020:28:14.882000 3 cmd.exe (4396) - UnloadImage (base=0x77950000,checksum=1313154, image=ntdll.dll,path=\Device\HarddiskVolume2\Windows\SysWOW64\ntdll.dll, pid=4396, size=1536.0)
555120:28:14.882000 3 erl.exe (2756) - TerminateProcess(comm=C:\Windows\system32\cmd.exe /cdir /-C /Wc:/Users/Nedo/AppData/Roaming/RabbitMQ/db/rabbit@NEDOPC-mnesia,exe=C:\Windows\system32\cmd.exe, name=cmd.exe, pid=4396, ppid=2756)
555220:28:14.882000 3 erl.exe (2756) - CloseFile(file=\Device\HarddiskVolume2\Windows, tid=1672)
563120:28:17.286000 2 taskmgr.exe (3532) - RegQueryKey(hive=REGISTRY\MACHINE\SYSTEM, key=ControlSet001\Control\Nls\Locale, pid=3532,status=0, tid=4324)
563220:28:17.286000 2 taskmgr.exe (3532) - RegOpenKey(hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\Software\Microsoft\DirectUI, pid=3532,status=3221225524, tid=4324)
563320:28:17.288000 2 taskmgr.exe (3532) - CreateFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll,file_type=REPARSE_POINT, operation=OPEN, share_mask=rwd, tid=4324)
563420:28:17.288000 2 taskmgr.exe (3532) - CloseFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, tid=4324)
563520:28:17.288000 2 taskmgr.exe (3532) - CreateFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, file_type=FILE,operation=OPEN, share_mask=r-d, tid=4324)
563620:28:17.288000 2 taskmgr.exe (3531) - LoadImage (base=0x7fefab90000,checksum=204498, image=xmllite.dll, path=\Windows\System32\xmllite.dll,pid=3532, size=217088)
563720:28:17.288000 2 taskmgr.exe (3532) - CloseFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, tid=4324)
563820:28:17.300000 2 taskmgr.exe (3532) - RegQueryKey (hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\, pid=3532, status=0, tid=4324)
563920:28:17.300000 2 taskmgr.exe (3532) - RegOpenKey(hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\SOFTWARE\Microsoft\CTF\KnownClasses,pid=3532, status=3221225524, tid=4324)
564020:28:17.300000 3 taskmgr.exe (3532) - RegQueryKey(hive=REGISTRY\MACHINE\SYSTEM, key=ControlSet001\Control\Nls\Locale\, pid=3532,status=0, tid=4324)
564120:28:17.300000 3 taskmgr.exe (3532) - RegOpenKey (hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\SOFTWARE\Microsoft\CTF\KnownClasses,pid=3532, status=3221225524, tid=4324)
564220:28:17.302000 2 taskmgr.exe (3532) - UnloadImage (base=0x7fefab90000,checksum=204498, image=xmllite.dll, path=\Windows\System32\xmllite.dll,pid=3532, size=212.0)

注意:按下Ctrl+C即可停止Fibratus运行。

项目地址

Fibratus:【GitHub传送门

参考文档

Wiki传送门

Fibratus:一款功能强大的Windows内核漏洞利用和跟踪工具的更多相关文章

  1. Enumy:一款功能强大的Linux后渗透提权枚举工具

    Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ...

  2. [推荐] kylinPET是一款功能强大的性能测试工具

    [推荐] kylinPET是一款功能强大的性能测试工具 官方网站: http://www.kylinpet.com/

  3. 一款功能强大的iphone购物应用源码

    一款功能强大的iphone购物应用源码,这款应用源码比较完整的,并且还支持信用卡支付服务等功能的,基本实现了我们常用的购物应用功能了,实现商品的基本展示功能,还具有完整的用户管理,以及完整的购物流程等 ...

  4. Lingoes 一款功能强大、简明易用的多语言词典和文本翻译软件

    Lingoes 软件自述 Lingoes 是一款功能强大.简明易用的多语言词典和文本翻译软件,支持多达80种语言互查互译,这些语言包括 英.法.德.意.俄.中.日.韩.西.葡.阿拉伯语 及更多... ...

  5. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

  6. 【翻译】 Windows 内核漏洞学习—空指针解引用

    Windows Kernel Exploitation – NullPointer Dereference 原文地址:https://osandamalith.com/2017/06/22/windo ...

  7. Windows 内核漏洞学习—空指针解引用

    原标题:Windows Kernel Exploitation – NullPointer Dereference 原文地址:https://osandamalith.com/2017/06/22/w ...

  8. Linux kernel pwn notes(内核漏洞利用学习)

    前言 对这段时间学习的 linux 内核中的一些简单的利用技术做一个记录,如有差错,请见谅. 相关的文件 https://gitee.com/hac425/kernel_ctf 相关引用已在文中进行了 ...

  9. 初识linux内核漏洞利用

    0x00 简介 之前只接触过应用层的漏洞利用, 这次第一次接触到内核层次的,小结一下. 0x01 概况 这次接触到的,是吾爱破解挑战赛里的一个题,给了一个有问题的驱动程序,要求在ubuntu 14.0 ...

随机推荐

  1. 线段树解LIS

    先是nlogn的LIS解法 /* LIS nlogn解法 */ #include<iostream> #include<cstring> #include<cstdio& ...

  2. selenium自动化测试多条数据选择第一条

    如果我们测试时在一个页面中存在多条数据元素名称一致但是我们要选择第一条? 示意图: 方法一 driver.find_element_by_css_selector('.article-list/div ...

  3. Nginx部署多个网站

    为节省资源,通常一个服务器会运行多个网站,通常一个服务一个IP,多个域名共用一个IP,多个域名共用一个端口(通常是80端口). 这时候需要一台服务器部署多个网站,多个网站共用一个IP,共用一个80端口 ...

  4. Webpack安装和命令

    1.定位到创建的目录 cd H:\webpacktest 2.初始化: npm init 3.一路回车 4.执行(安装到项目的依赖项中) npm install webpack --save-dev ...

  5. Entity Framework解决sql 条件拼接,完美解决 解决 不支持 LINQ 表达式节点类型“Invoke”【转】

    传统的操作数据库方式,筛选数据需要用StringBuilder拼接一大堆的WHERE子句. 在Entity Framework中,代码稍有不慎就会造成巨大性能消耗,如: using(var db=ne ...

  6. Spring的核心之IoC容器创建对象

    Spring的Ioc容器,是Spring的核心内容: 作用:对象的创建和处理对象的依赖关系. Spring容器创建对象有以下几种方式: 1:调用无参数的构造器 <!-- 默认无参的构造器 --& ...

  7. 为什么要编译Linux内核?

    新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核. 通常,更新的内核会支持更多的硬件,具 ...

  8. hdu1269 有向图强连通 【Tarjan】(模板)

    <题目链接> 题目大意: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称 ...

  9. python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

    python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_usera ...

  10. C++泛型线性查找算法——find

    C++泛型线性查找算法--find <泛型编程和STL>笔记及思考. 线性查找可能是最为简单的一类查找算法了.他所作用的数据结构为一维线性的空间.这篇文章主要介绍使用 C++ 实现泛型算法 ...