跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

每周学习笔记第3期(使用odbcconf加载dll get-exports etw USB key logger)


尖REN

推荐的帖子

About:

使用odbcconf加载dll

使用powershell获取dll导出

使用Windows事件跟踪来记录USB键盘的击键

目录:

本文介绍了为什么通过odbcconf加载dll可以绕过regsvr32在命令行的拦截。

—— ExportsToC,一个比导出ToC更方便的dll导出函数批量输出的工具

通过ETW可以录制USB键盘的键盘,记录测试体验。

0x01 Use odbcconf to load dll

Reference:

https://twitter.com/subTee/status/789459826367606784

简介

1-1.png

如图,凯西史密斯在推特上分享了一个窍门。如果执行regsvr32以加载dll的代码是在。rsp文件,然后通过odbcconf.exe调用,它可以绕过regsvr32在命令行的拦截。本文将介绍为什么可以在命令行绕过regsvr32的拦截。

odbcconf:

用于配置ODBC驱动程序和数据源。

有关详细说明,请参见以下链接:

https://msdn . Microsoft . com/en-us/library/ee 388579(v=vs . 85)。aspx

用法如图所示

2-1.png

值得注意的是odbcconf包含了注册dll的功能。在之前的文章《Code Execution of Regsvr32.exe》中,我具体介绍了如何开发一个可以被regsvr32调用的dll,并编写一个测试DLL进行测试(此处省略,不重复)。

在cmd下运行:

odbcconf.exe/a { regsvr c:\ test \ odbcconf . dll }

如图,dll调用成功,弹出对话框。

2-2.png

站在防御者的角度,为了防止用regsvr32调用dll的方法被滥用,我们往往会选择监听命令行的输入(比如通过EMET创建规则),只要在命令行中发现包括regsvr在内的字符,就进行拦截。

当然,上面的操作包含字符regsvr,会被拦截。

使用进程资源管理器查看odbcconf进程的命令行,其中包含字符regsvr。

2-3.png

但是,使用odbcconf的另一个功能可以绕过,那就是/F参数。

用法:

odbcconf.exe/f我的答复

My.rsp是响应文件,它包含执行的操作:

REGSVR c:\test\odbcconf.dll

注:

你需要在这里填写dll的绝对路径。

如图,dll调用成功,弹出对话框。

2-4.png

使用Process Explorer再次查看不带字符regsvr的命令行。

2-5.png

NickTyrer按照这个方法分享了自己的代码,实现了在dll中运行powershell命令,地址如下:

https://gist . github . com/nick tyrer/6ef 02 ce 3 FD 623483137 b45 f 65017352 b

在编译项目之前,您需要进行以下设置:

将编译平台设置为x86或x64。

安装不受管理的导出和系统。管理。自动化

在Visual Studio控制面板中选择工具-库包管理器-包管理器控制台,然后输入:

安装包未管理导出

安装包系统。管理。自动化

0x02 Use powershell to get dll exports

Reference:

https://github . com/fuzzy security/PowerShell-Suite/blob/master/Get-exports . PS1

简介

《Study-Notes-Weekly-No.1(Monitor-WMI-ExportsToC++-Use-DiskCleanup-bypass-UAC)》中介绍了一个dll导出函数批量输出的工具——ExportsToC。它运作的前提是。应安装. NET Framework 2.0和Microsoft Visual Studio。

B33f@FuzzySecurity对此进行了改进,并开放了powershell下的Get-Exports。它的特点是不再需要微软Visual Studio的开发环境,更加简单快捷,同时支持32位和64位dll。

测试代码如下:

get-Exports-DllPath C:\ Windows \ system32 \ dims job . dll-ExportsToCpp C:\ test \ export . txt

运行后,导出功能的信息如图所示。

3-1.png

同时生成可用的C代码,保存在C:\test\export.txt下,如图。

3-2.png

0x03 Use Event Tracing for Windows to log keystrokes from USB keyboards

Reference:

https://www . cyberpointllc . com/SRT/posts/SRT-logging-keystrokes-with-event-tracing-for-windows-etw . html

简介

CyberPoint SRT公司在Ruxcon中介绍了他们的ETW新用法,实现了USB键盘的键盘录音,并发布了一个测试POC。本文将对其进行测试,并对测试体验进行分析。

ETW:

是Windows事件跟踪的缩写。

它为用户层应用程序和内核层驱动程序创建的事件对象提供了跟踪和记录机制。

通常用于帮助管理员和开发人员解决和测量系统和应用程序的性能。

公开信息显示,ETW没有办法实现键盘录音。

介绍一些ETW的学习资料:

https://randomascii.wordpress.com/2015/09/24/etw-central/

POC下载地址:

https://github . com/CyberPoint/ru xcon 2016 etw/tree/master/keylogerpoc

注:

此POC已被杀毒软件查杀,需要发布测试。

要求:

Windows 7 (USB 2.0)

Windows 8 (USB 2.0和USB 3.0)

运行的管理员权限

注:

不支持PS/2接口的键盘

测试环境:

Win8.1 x86

vs2013

安装。NET框架。净4.5.2

安装包微软。诊断。跟踪。跟踪事件

USB 2.0键盘

管理员权限运行exe,如图所示记录测试

4-1.png

POC的最大弱点:

存在录制延迟。

不稳定,经常报错[!]忽略非usb键盘设备:0xFFFFFFFF8CFF6070

从POC到工具还有很长的路要走,但这个思路值得借鉴,ETW的利用方法值得总结。我期待SRT数码港的后续文章。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...