elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Los antivirus analizan los nombres de las funciones de tu programa ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Los antivirus analizan los nombres de las funciones de tu programa ?  (Leído 4,832 veces)
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Los antivirus analizan los nombres de las funciones de tu programa ?
« en: 24 Enero 2015, 22:03 pm »

Hola estoy creando una especie de troyano keylogger y algo mas para probar y el antivirus me lo detecto en tiempo de ejecutacion antes de haber lo completado  :-X

Bueno tengo funciones que se llaman algo por el estilo de infect. No se si es algo estúpido pero no se como analizan los ejecutables. Analizan partes para ver si se parecen a otros virus o como ?

Alguien me puede orientar a cerca de como analizan los antivirus los ejecutables ?

Saludos

@Edit: Mi programa se autocopia, autoejecuta al inicio cambiando el registro, crea archivos de configuración con nombres codificados, se conecta con un servidor en modo de http con el puerto 80 para obtener información y recibir los comandos, captura la pantalla y las teclas con hook globales. Los dos últimos no están del todo listos y probé con quitar los para comprobar si es por esto pero no . Creo que es por la función infect.
En línea

r32
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.297



Ver Perfil WWW
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #1 en: 25 Enero 2015, 02:48 am »

El tema es bastanta amplio, va a depender de que dependécias y librerias uses, sin no cifras nada el antivirus, si se precia  un poco detectará todas esas modificaciones y lo enviará a cuarentena.
Da igual las veces que compiles, por si al hash te refieres, seguirá saltando.
Ofusca el código, usa códigos que no estén muy quemados, si lo creas tu de cero no he dicho nada, entonces te tocará combiar de estraégia y empaparte de que forma analizan los AV un fichero, cada cual a su forma, a parte de ejecución interna en sandox, depende del AV...

Saludos.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #2 en: 25 Enero 2015, 02:53 am »

los nombres de la funcion como tal en el codigo no... eso no queda al compilarse hasta donde se, si no la ing inversa de los programas sería mucho más facil, me parece...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Minusfour_cierralo_o_baneamefull


Desconectado Desconectado

Mensajes: 571


Ver Perfil
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #3 en: 25 Enero 2015, 08:55 am »

Antes usaban una lista de firmas pero creció tanto que se hizo inviable tener que pasar millones de firmas a cada archivo. Entonces hicieron una especie de imagen en función del comportamiento.

Lo que no tengo claro si ha quedado fifty-fifty un poco de aquí y de allá es decir firmas e imagenes.

Lo de ofuscar es buena idea.
En línea

patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #4 en: 25 Enero 2015, 13:15 pm »

los nombres de la funcion como tal en el codigo no... eso no queda al compilarse hasta donde se, si no la ing inversa de los programas sería mucho más facil, me parece...

Yo lo compilo con visual studio y si que quedan los nombres tal cual con sus argumentos.



entonces te tocará combiar de estraégia y empaparte de que forma analizan los AV un fichero, cada cual a su forma, a parte de ejecución interna en sandox, depende del AV...
Saludos.

Como consigo esta información, la manera que lo analizan.

He analizado mi archivo con virus total y no me lo detecto ninguna pero en tiempo de ejecutacion si.
Es bueno utilizar virus total ya que subes tu archivo a su base de datos y supongo que sera utilizado por algunos antivirus ?

Antes usaban una lista de firmas pero creció tanto que se hizo inviable tener que pasar millones de firmas a cada archivo. Entonces hicieron una especie de imagen en función del comportamiento.

Lo que no tengo claro si ha quedado fifty-fifty un poco de aquí y de allá es decir firmas e imagenes.

Lo de ofuscar es buena idea.

Ofuscar en plan de llamar a funciones a parte para realizar diferentes tareas, cambiar el lugar de las lineas de código ? A que te refieres?

Que es fifty-fifty  :)

Ahora voy a quitar partes del código, la función de inyecta para ver que es lo que hace que el antivirus salte a 20

@Edit: Vale ya tengo la parte del código que hace que el antivirus salte. Es la copia del archivo exe a la primera carpeta de appdata que encuentre y en la que se puede copiar. Ahora intentare cambiar partes a ver que tal y si no lo publico aquí.
« Última modificación: 25 Enero 2015, 14:20 pm por patilanz » En línea

Minusfour_cierralo_o_baneamefull


Desconectado Desconectado

Mensajes: 571


Ver Perfil
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #5 en: 25 Enero 2015, 16:35 pm »

Por ofuscar entiendo utilizar técnicas que permitan distorsionar el código de forma que una persona o antivirus no pueda comprenderlo. Puedes utlizar una o varias técnicas complejas para hacerlo.

Ofuscar código: http://wiki.killtrojan.net/tecnicas-viricas/ofuscacion


Con fifty-fifty me referí a mitad y mitad. Pero no sé con exactitud si se han desechado las firmas o coexisten imagenes y firmas. Me imagino que cualquier técnica que les permita detectar mas y mas seguirá vigente.



 

En línea

patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #6 en: 25 Enero 2015, 22:05 pm »

Gracias por el link, lo vi pero voy a intentar lo en el siguiente malware, con este quiero algo mas simple.
Lo que hace que el antivirus salte es esta parte del código:

Código
  1. WIN32_FIND_DATA findData;
  2. HANDLE firstFile = FindFirstFile((string(getenv("programdata")) + "\\*").c_str(), &findData);
  3. while (FindNextFile(firstFile, &findData) != 0){
  4. c.setpPath("");
  5. if (strcmp(findData.cFileName, ".") == 0 || strcmp(findData.cFileName, "..") == 0)
  6. continue;
  7. if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
  8. c.setpPath(string(getenv("programdata")) + "\\" + findData.cFileName);
  9. string where = c.getpPath() + "\\" + findData.cFileName + ".exe";
  10. if (copyFile(fileName, where)){
  11. c.setpName(findData.cFileName);
  12. log << "\nExe copied to " << c.getpPath() + "\\" + findData.cFileName + ".exe";
  13. break;
  14. }
  15. else{
  16. log << "\nExe failed copy to " << c.getpPath() + "\\" + findData.cFileName + ".exe" << ". ";
  17. printError(log);
  18. }
  19. }
  20. }

Buscar una carpeta en la appdata en la que no hay archivo con el mismo nombre y se copia ahí. La funcion copyFile la escribí después de que me lo detectase con CopyFile de la api de windows.
Seguí intentando y cambia la función copyFile de modo que abro el archivo en binario pero luego cojo todo carácter por carácter y lo guardo en un string para escribir lo en el nuevo archivo.

Código
  1. if (ffile.good()){
  2. ofstream tfile(to, ofstream::binary);
  3. string strBuffer = "";
  4. streambuf * copyBuffer = ffile.rdbuf();
  5. while (copyBuffer->sgetc() != EOF){
  6. strBuffer += copyBuffer->sbumpc();
  7. }
  8. for (int i = 0; i < strBuffer.size(); i++){
  9. tfile.put(strBuffer[0]);
  10. }
  11.  
  12.  
  13. if (tfile.good())
  14. return true;
  15. return false;
  16. }
  17. else{
  18. return false;
  19. }

La copia es un poco rara pero me salta el antivirus justo en esta parte strBuffer += copyBuffer->sbumpc();
Es como si esta esperando que haga una acción de leer el ejecutable o algo así para detectar.


Seria una buena idea inyectar una dll por ejemplo a iexplorer que me copie el archivo ?


@Edit: Consegui hacer que no lo detecte y seguí con el programa pero en unos 3 o 4 "debuggings" al final volvió a detectarlo en casi el mismo sitio.
Mi conclusión: Creo que al auto copiarse muchas veces por las pruebas que hago con el antivirus activo al final lo detecta pero no la primera vez.


Que tal esta mi conclusión  ;D?
« Última modificación: 25 Enero 2015, 23:16 pm por patilanz » En línea

Rodri_GO

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Los antivirus analizan los nombres de las funciones de tu programa ?
« Respuesta #7 en: 28 Enero 2015, 23:40 pm »

Hola..

Sin ser un experto en el tema.. no creo que los antivirus se pongan a desensamblar ejecutables y ver si aparece alguna funcion con un nombre estrano. Con ese criterio saltarian como virus un monton de programas que no son malware por tener un nombre "sospechoso".

Sin ver tu codigo en profundidad creo que el antivirus esta haciendo una deteccion por heuristica o comportamiento. Debe haber alguna llamada a alguna api de tal forma que haga sospechar al antivirus que estas haciendo "mal uso" de tal api o bien como dices algun algoritmo en cuestion que levanta la alerta.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programa para ordenar nombres alfabeticamente
Programación Visual Basic
elcoc_o 2 5,908 Último mensaje 18 Octubre 2010, 19:04 pm
por Psyke1
TIPOS DE ANTIVIRUS Y SUS FUNCIONES
Seguridad
noelcj 1 5,802 Último mensaje 27 Julio 2013, 20:19 pm
por noelcj
Programa para separar nombres
Programación General
Jesuscc29 1 3,757 Último mensaje 28 Febrero 2014, 21:36 pm
por El Benjo
Avira añadirá 2 nuevas funciones a su antivirus gratuito
Noticias
wolfbcn 0 1,258 Último mensaje 7 Marzo 2014, 00:41 am
por wolfbcn
Programa para poner nombres
Java
supLord 1 1,437 Último mensaje 12 Julio 2014, 11:07 am
por Slider324
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines