Ciao a tutti,
provengo da inforge (xD) e volevo fare una domanda agli esperti di questo forum (non siate timidi xD).
Ho creato un mini backdoor, DietroLaPorta++, tanto per imparare un po' il c++, e mi sono trovato davanti un grosso problema: nascondere l'eseguibile dal task manager.
Ho letto su internet che posso creare una dll ed iniettarla dentro un processo, il che mi è riuscito...
Però (e purtroppo c'è sempre un però) mi scoccio a mettere le varie dll di dietrolaporta (keylogger, infezione sistema, e ricezione/esecuzione dei comandi) dentro un eseguibile con resource hacker e programmarlo per estrarle e iniettarle.
Però con la CreateRemoteThread al posto di iniettare il codice che manda in esecuzione le varie dll, posso direttamente iniettare del codice (il che è comodissimo!)
Il percorso da seguire se non erro è:
Trovare il pid
Aprire il processo con OpenProcess
Allocare della memoria con VirtualAllocEx
Scrivere il codice dentro la memoria del processo con WriteProcessMemory
Eseguire il codice con CreateRemoteThread
Quindi ho fatto un programma tanto per testarlo:
come compilatore uso MinGW, e per compilare va liscio, al massimo vuole il cast di qualche variabile, il problema si pone quando va in esecuzione il codice...
Se ci sono blasfemie vi prego non picchiatemi! xD
Scherzo, sono sicuro che per molti di voi sarà un gioco da ragazzi risolvere l'arcano mistero, ma io ho solo 17 anni e non ho ancorca avuto modo di approfondire questo "mondo"
Vi ringrazio tutti anticipatamente
provengo da inforge (xD) e volevo fare una domanda agli esperti di questo forum (non siate timidi xD).
Ho creato un mini backdoor, DietroLaPorta++, tanto per imparare un po' il c++, e mi sono trovato davanti un grosso problema: nascondere l'eseguibile dal task manager.
Ho letto su internet che posso creare una dll ed iniettarla dentro un processo, il che mi è riuscito...
Però (e purtroppo c'è sempre un però) mi scoccio a mettere le varie dll di dietrolaporta (keylogger, infezione sistema, e ricezione/esecuzione dei comandi) dentro un eseguibile con resource hacker e programmarlo per estrarle e iniettarle.
Però con la CreateRemoteThread al posto di iniettare il codice che manda in esecuzione le varie dll, posso direttamente iniettare del codice (il che è comodissimo!)
Il percorso da seguire se non erro è:
Trovare il pid
Aprire il processo con OpenProcess
Allocare della memoria con VirtualAllocEx
Scrivere il codice dentro la memoria del processo con WriteProcessMemory
Eseguire il codice con CreateRemoteThread
Quindi ho fatto un programma tanto per testarlo:
Codice:
DWORD WINAPI prova()
{
MessageBox (0, "lalalala!\n", "prova", MB_ICONINFORMATION);
}
int main()
{
DWORD size=//non ho idea di come calcolare il "peso" di una funzione ma ho messo 4096 tanto per provare
DWORD pid=funzionechetrovailpid("calc.exe");
HANDLE proc= OpenProcess( PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, FALSE, pid );
DWORD *pcode=(PDWORD) VirtualAllocEx(proc, 0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(proc, pcode, (void*)prova, size, NULL);
HANDLE thread = CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE)pcode, NULL, 0, NULL);
}
Se ci sono blasfemie vi prego non picchiatemi! xD
Scherzo, sono sicuro che per molti di voi sarà un gioco da ragazzi risolvere l'arcano mistero, ma io ho solo 17 anni e non ho ancorca avuto modo di approfondire questo "mondo"
Vi ringrazio tutti anticipatamente