Técnicas de abuso de Win32 y Kernel para pentesters
Técnicas de abuso de Win32 y Kernel para pentesters y red-teamers creadas por @UVision y @RistBS
Modo dev activado, abierto a cualquier ayuda :)
DOS_HEADER : Primera cabecera del PE, contiene el mensaje de MS DOS ("This programm cannot be run in DOS mode...."), la cabecera MZ (bytes mágicos para identificar PE) y algo de contenido stub.IMAGE_NT_HEADER : Contiene la firma del archivo PE, la cabecera de archivo y la cabecera opcional.SECTION_TABLE : Contiene las cabeceras de las secciones.SECTIONS : No es una cabecera pero es útil saberlo: estas son las secciones del PE.Detalles : https://www.researchgate.net/figure/PE-structure-of-normal-executable_fig1_259647266
Análisis simple del PE para obtener la dirección absoluta de IAT e ILT:
GetModuleHandleA(NULL);BaseAddress+PIMAGE_DOS_HEADER.e_lfnanew (RVA NT_HEADER)OptionnalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT] de PIMAGE_NT_HEADERIMAGE_DATA_DIRECTORY.VirtualAddress (RVA de IMAGE_IMPORT_DIRECTORY)BaseAddress + IMAGE_IMPORT_DIRECTORY.VirtualAddress (RVA de IMAGE_IMPORT_DESCRIPTOR)La EAT resuelve todas las funciones que exporta el PE y también resuelve DLLs. Está definida en la estructura IMAGE_EXPORT_DIRECTORY:```c
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Name; // name of DLL
DWORD Base; // first ordinal number
DWORD NumberOfFunctions; // number of entries in EAT
DWORD NumberOfNames; // number of entries in (1) (2)
DWORD AddressOfFunctions; // RVA EAT and contains also RVA of exported functions
DWORD AddressOfNames; // Pointer array contains address of function names
DWORD AddressOfNameOrdinals; // Pointer array contains address of ordinal number of functions (index in AddressOfFunctions)
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
Tenga en cuenta que la EAT está definida en una DLL, no en un PE "real" (un PE utilizará la EAT de una DLL cargada para resolver punteros a funciones que desea usar).
### Resolver dirección de función