Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: null2304 en 12 Febrero 2011, 23:22 pm



Título: Ayuda para entender este virus
Publicado por: null2304 en 12 Febrero 2011, 23:22 pm
Bueno, he leído por toda la red y he revisado el foro.
Aún así no logro resolver mis dudas.
Verán, intento hacer un virus para archivos ELF, la idea es que no haga nada malo, simplemente se adhiera al final del host y deje un mensaje, un padding inocente
El asunto es que no hay encuentro documentación. En este foro alguien dejó hace un par de años un código que hace exactamente lo que deseo hacer (http://foro.elhacker.net/analisis_y_diseno_de_malware/virus_para_linux-t200087.0.html ), pero hay varias partes del mismo que no comprendo porque el autor no puso ni un comentario (al menos no en las partes "raras")
El problema es que el autor nunca volvió al foro y su mail ya ni existe. No comprendo lo que hizo.
Alguien me podría ayudar a explicar el funcionamiento del programa? o indicarme alguna guía que pueda guiarme para hacer exactamente un virus como ese?

Saludos y desde ya muchas gracias


Título: Re: Ayuda para entender este virus
Publicado por: YST en 13 Febrero 2011, 00:45 am
Creo que esto te ayudara un poco

http://sourceforge.net/project/downloading.php?group_id=173983&filename=lscr-160307.tar.gz&a=60287788


Título: Re: Ayuda para entender este virus
Publicado por: null2304 en 14 Febrero 2011, 08:42 am
Perdón por no responder, creí que me llegaría un mail avisándome de las respuestas pero se ve que no.
Ahora leeré el archivo. Ya entendí casi todo el virus salvo un detalle. Leeré lo que me diste y cualquier cosa preguntaré

Saludos

Null


Título: Re: Ayuda para entender este virus
Publicado por: null2304 en 15 Febrero 2011, 00:44 am
Me qedan exactamente dos duas. La primera, no entiendo estas restas

Código:
mov eax, [ebp - 16]
sub eax, 0x2000000E
sub eax, [ebp - 24]
mov [ebp - 28], eax

caen por la linea 175 del código en la sección Unused_ph. Esperaba que reescriba la etiqueta Host por e entry point original pero la reemplaza por esa cuenta entry point original - 0x2000000E - tamaño del host en bytes
Si alguien lo entiende agradezco una indicación

Mi otra duda es más general. Si cambio o creo un program header table nuevo de p_type = 1 o sea de tipo LOAD. Como le digo al SO qué debe cargar allí. O sea, si creo un LOAD  nuevo, y mando al entry point a que apunte a una dirección que está ese nuevo segmento, carga el text segment ahí? (suponiendo que el espacio es suficiente)
Alguien sabe cómo funciona el asunto o dónde leer esos temas?

Saludos