渗入方法——从远程桌面手机客户端获取明文凭证

黑客信息网

在具体的渗入全过程中,假如发觉了远程桌面联接的历史数据,那麼下一步就必须想办法获得远程桌面联接应用的口令。

文中可能融合RdpThief详细介绍从远程桌面手机客户端获取明文凭证的方式,共享必须留意的关键点。

RdpThief详细地址:

0x01 介绍

文中即将详细介绍以下几点:

· 获得远程桌面联接口令的思路

· 应用Detours库hook系统API的方式

· 应用API monitor监管系统API启用的方式

· 应用RdpThief从远程桌面手机客户端获取明文凭证

0x02 获得远程桌面联接口令的思路

一般有下列二种:

1.应用键盘记录程序流程,纪录mstsc.exe在运行全过程中客户键入的口令。

2.在mstsc.exe启动,载入mstsc.exe的运行内存数据信息,获取出客户键入的口令。

RdpThief是第二种完成思路,应用Detours库hook系统API,应用API monitor监管系统的API启用,寻找mstsc.exe在运行内存中储存明文口令的部位,编码简约合理。

0x03 应用Detours库hook系统API的方式

RdpThief在完成上应用Detours库来hook系统API,因此这儿简略介绍一下Detours库的使用方法。

Detours库用以监控和检验Windows上的API启用,能够用于hook系统API。

这儿详细介绍应用Detours库hook系统API的二种方式。

1.编译Detours源代码并应用

(1)编译Detours源代码

免费下载Detours源代码,详细地址以下:

应用Visual Studio编译Detours源代码(这儿以VS2015为例子),必须区别32位系统和64位。

64位编译:

开启VS2015 x64 该设备专用工具命令提示符。

实行下列指令:

cd Detours-master\\src

nmake

指令实行后将在文件夹名称Detours-master下形成下列三个文件夹名称,包含Detours的头文件和库文件。

· bin.X64

· include

· lib.X64

32位系统编译:

开启VS2015该设备专用工具命令提示符。

实行下列指令:

cd Detours-master\\src

nmake

指令实行后将在文件夹名称Detours-master下形成下列三个文件夹名称,包含Detours的头文件和库文件。

· bin.X86

· include

· lib.X86

(2)导进Detours

在新创建的C 工程项目中加上相匹配版本号的头文件:

· detours.h

· detours.lib

编码以下:

#include "detours.h"

#pragma comment (lib,"detours.lib")

2.根据Install-Package自动安装

(1)安裝

在Visual Studio中挑选专用工具->NuGet包管理工具->软件包管理工具控制面板。

键入安裝指令:

Install-Package Detours

可能自动安装Detours库,如下图:

(2)导进Detours

编码以下:

#include

#pragma comment (lib,"detours.lib")

应用Detours库hook系统API时常见的好多个涵数:

· DetourTransactionBegin();

· DetourUpdateThread(GetCurrentThread());

· DetourAttach();

· DetourDetach();

· DetourTransactionCommit()

Hook系统API Messagebox()的案例编码以下:

#include

#include

#pragma comment (lib,"detours.lib")

static int(WINAPI *TrueMessageBox)(HWND, LPCTSTR, LPCTSTR, UINT)=MessageBox;

int WINAPI OurMessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType){

return TrueMessageBox(NULL, L"Hooked", lpCaption, 0);

}

int main()

{

DetourTransactionBegin();

DetourUpdateThread(GetCurrentThread());

DetourAttach(&(PVOID&)TrueMessageBox, OurMessageBox);

DetourTransactionCommit();

MessageBox(NULL, L"Hello", L"Hello", 0);

DetourTransactionBegin();

DetourUpdateThread(GetCurrentThread());

DetourDetach(&(PVOID&)TrueMessageBox, OurMessageBox);

DetourTransactionCommit();

}

0x04 应用API monitor监管系统API启用的方式

RdpThief应用API monitor监管系统的API启用,寻找mstsc.exe在运行内存中储存明文口令的部位,这儿简略介绍一下API monitor的用法。

API monitor的下载链接:

运作后必须挑选开展监管的控制模块,如下图:

然后挑选必须监管的过程,如下图:

API monitor可能监管过程运作时启用的API,如下图:

0x05 RdpThief检测

详细介绍RdpThief关键点的文章内容:

RdpThief的编码里包含三一部分內容:

1.C 工程项目,编译形成dll

编译形成的dll,必须引入到mstsc.exe过程中。

这儿能够应用我以前写的dll注入的编码,详细地址以下:

+ LdrLoadDll.cpp

可是必须把FreeDll()的作用除掉,dll必须一直在过程mstsc.exe的运行内存中,用于纪录客户键入的口令。

2.RdpThief_x64.tmp

标签:

发表评论 (已有条评论)

  • 评论列表