运用PoolTag辨认主机指纹

访客6年前黑客资讯1064

写在前面的话
一般情况下,歹意软件会对它地点的主机进行指纹识别,以便发现更多的信息。这个进程会剖析一些特定的数据,用来判别歹意软件是否在VM中运转,除此之外,还会检测其他软件的存在。例如,歹意软件常常企图找出体系监控东西是否在运转(procmon, sy *** on等)和安装了哪些AV软件。在本文中,咱们将介绍另一种被歹意软件乱用的主机进行指纹识别的办法。
指纹识别的常用办法
首要,咱们介绍几种歹意软件检测VM环境的常见办法:
1.枚举进程
2.枚举加载的模块
3.枚举文件
4.从Windows注册表中提取的数据(硬盘,BIOS等)
5.枚举加载的驱动程序
6.翻开特定设备目标的句柄
7.枚举体系资源(CPU内核,RAM,屏幕分辨率等)
PoolTag了解一下
假如您对Windows内核驱动程序的开发和剖析有必定的经历,那么我想您应该了解ExAllocatePoolWithTag函数,该函数用于在内核等级上分配内存块。这儿的要害部分是Tag'参数,用于为特定的分配供给某种标识。假如呈现过错,例如因为内存损坏这种问题,咱们能够运用指定的符号(最多4个字符)来将缓冲区与分配内存块的内核驱动程序中的代码途径相关起来。这种办法能够检测内核驱动程序的存在,因而,在内核中加载模块的软件或许会绕过上面说到的指纹办法,这些办法依赖于驱动程序或许更改的信息。换句话说,从歹意软件作者的视点来看,它是用来检测某些真实重要的东西很好挑选。例如,安全或监控软件或许企图经过在内核等级注册回调过滤器来躲藏其进程和文件。剖析师或许会企图经过从注册表中删去歹意软件一般搜索的东西来强化虚拟机环境。可是,安全软件供货商或剖析人员或许并不会修正他们自己的程序或体系中VM环境运用的特定内核驱动程序,然后修正内核池分配的符号。
获取PoolTag信息
能够经过调用NtQuerySystemInformation函数并为SysteminformationClass参数挑选SystemPoolTagInformation (0x16 )来获取此信息  。MSDN上记录了部分上述功用和相关的SysteminformationClass或许值,走运的是,经过一些研讨,咱们找到研讨人员完结的一些文档。Alex Ionescu在他的NDK项目中记录了许多关于Windows内容。为了证明这个,咱们编写了一个能够自己的获取和解析PoolTag信息的小东西,可是假如你想用GUI *** ,引荐运用PoolMonEx这个东西。源代码如下:

您能够将其与Nbtk符号的PoolMonEx分配成果进行比较,如下所示。

QueryPoolTagInfo.cpp
#include "Defs.h"
#include
 
using namespace std;
 
int main()
{
    NTSTATUS NtStatus = STATUS_SUCCESS;
    BYTE * InfoBuf = nullptr;
    ULONG ReturnLength = 0;
   
    _ZwQuerySystemInformation ZwQuerySystemInformation = (_ZwQuerySystemInformation)GetProcAddress(GetModuleHandleA("ntdll.dll"), "ZwQuerySystemInformation");
 
    do{
        NtStatus = ZwQuerySystemInformation(SystemPoolTagInformation, InfoBuf, ReturnLength, &ReturnLength);
 
        if (NtStatus == STATUS_INFO_LENGTH_MI *** ATCH)
        {
            if (InfoBuf != nullptr)
            {
                delete[] InfoBuf;
                InfoBuf = nullptr;
            }
 
            InfoBuf = new (nothrow) BYTE[ReturnLength];
 
            if (InfoBuf != nullptr)
                memset(InfoBuf, 0, ReturnLength);
            else
                goto Exit;
        }
 
    } while (NtStatus != STATUS_SUCCESS);
 
 
    PSYSTEM_POOLTAG_INFORMATION pSysPoolTagInfo = (PSYSTEM_POOLTAG_INFORMATION)InfoBuf;
    PSYSTEM_POOLTAG psysPoolTag = (PSYSTEM_POOLTAG)&pSysPoolTagInfo->TagInfo->Tag;
 
    ULONG count = pSysPoolTagInfo->Count;
    cout "Count: " endl endl;
 
    for (ULONG i = 0; i cout "PoolTag: ";
 
        for (int k = 0; k sizeof(ULONG); k++)
            cout Tag[k];
 
        cout endl;

[1] [2]  黑客接单网

相关文章

吾爱破解网官网

· 开发商 Arnau 发布了一个名为 CoffeeMiner 的PoC项目,证明进犯者能够在未经用户同一的情况下使用连接到公共 Wi-Fi 网络的设备进行加密钱银挖矿活动。 剖析发现123456和p...

黑客高手接单 黑客高手联系方式,怎么在qq上找黑客盗号,找黑客改银行余额

二、查找看看有没有邮件系统,一般的邮件系统许多都是在内部,没有经过CDN的解析,这样经过检查原始的邮件头部,能够看到实在的IP。 第三便是经过查询域名前史信息,一般的域名的前史信息,仍是能够查询到实在...

兽兽,中国的黑客联系方式,老师找黑客盗学生QQ看记录

怎么抓HTTPS数据包?方针:经过ROP的办法长途进犯某个使用程序,绑架该使用程序的操控流。 咱们能够不需求知道该使用程序的源代码或许任何二进制代码,该使用程序能够被现有的一些维护机制如NX, ASL...

中国黑客,网络赌债能找黑客追回来吗,qq黑客找号

Google搜索要害字 “关于本站 – 网站协助 – 广告协作 – 下载声明 – 友谊衔接 – 网站地图 – 办理登录”在admin/plugin.php插件上传处存在上传缝隙,经过上传zip紧缩的文...

破解网站_微信内容删除后找黑客能查出来吗-黑客接单平台

0×00概述http://1.acfun.tv现在许多网站都运用CloudFlare供给的服务,咱们或许以往也都遇到过,怎么绕过CloudFlare的防护,找到真是的网站IP,估量咱们都比较蛋疼,必定...

约单有黑客接单的平台_能在淘宝找黑客办事吗6

例如,当你在JS中创立变量时,引擎有必要判别这是什么样的变量,以及怎么在内存中进行表明。 由于引擎是处于判别的状况,所以JS引擎一般会需求的空间比实践的处理变量的空间更多一些。 依据变量的不同,内存插...