Security Dojo

Machancando AV’s

marzo 16th, 2009 por psymera

Bien ahora para iniciar en este blog

el log de una charla ke di en un canarl irc sobre las firmas de los av’s

y como kitarselas a nuestros juguetitos experimentales xP

<Psymera> ah si no les comente mi gato se llama antivirus
<Psymera> y es la onda xxD

<sdc> jajajaja
<rey_brujo> Juar!
<Etal> Llamaba….
<sdc> neta?
<Drackoz> ~
<sdc> que cool
<sdc> XD
<Etal> se murio
<Psymera> no ese es otro
<elprimodel5patas> ./cry
<sdc> lo compro symantec
<Psymera> era la particion ToT
<Psymera> XD
<elprimodel5patas> lol
<hkm> xD
<Drackoz> Xd
<Psymera> bueno ahora si me pondre serio ( aja xD)
<elprimodel5patas> no, ya enserio hablales chimero por que estamos perdiendo auditorio
<jimtronic> hablen
<Psymera> (es el chiste para no hacer ridiculo en grande)
<Links_Engel> jajaja
<Psymera> bueno ya xD
<Psymera> como todos sabemos hay tres metodos conocidos de detecion de virus XD
<Psymera> por Firmas
<Psymera> por heuristica
<Psymera> y la ahora tan famosa y sonada proactiva( como la bautiso el kaspersky)
<Psymera> bueno las Firmas son basico encontrar un archivo con siertos valores en ekis direccion
<Psymera> haci nos detecta faiclmente ke tenemos un mydoom.abx
<Psymera> o etc
<Psymera> la heuristica okupa tanto firmas muy comunes en offsets, como la tabla de importaciones del archivo
<Psymera> y la famosa proactiva (aja XD) ke no es mas ke hookear las apis del sistema
<Psymera> y haci cogernos de los eggs xP
<Psymera> en si nos enfocaremos ah la heuristica por ke es la divertida y facil de parchar XD
<Psymera> y con eso nos llevamos firmas entre las panteras xP
<Psymera> en si es una vercion modificada sobre las firmas clasicas las cuales tmb las cheka en memoria xP
<Psymera> por eso aun ke le pongamos upx o demaz compresores al cargarlo en memoria nos detectara facilmente
<Psymera> bueno para kitar firmas hay varias tecnicas
<Psymera> de las conocidas esta la  RIT, MEEPA y hex XD

<Psymera> hoenstamente de estas tres ke son als mas conocidas la hex es una ke se basa solamente en la suerte para ke sea funcional
<Psymera> y las otras dos es necesario conocimiento mas o menos decente de asm
<Psymera> bueno para poder hacer todo esti primero tenemos ke encontrar las firmas ke hay ke modificar
<Psymera> lo mas basico ke necesitamos, block de notas, hex editor y el AV del cual keremos sacar los offsets
<Psymera> primero una carpeta la excluimos del scaneo por parte de nuestro AV
<Psymera> ahi guardaremos nuestro kerido malware  ke no distribuiremos y solo lo haremos por experiementacion ( aja :p)
<Psymera> lo vamos abrir con nuestro hex editor y vamos ah rellenar la mitad de el con bytes nulos XD y guardamos esa copia modificada en una carpeta ke si sea escaneada por nuestro av residente
<Psymera> el chiste de esto
<Psymera> es ke nos lo detecte el av
<Psymera> y nos borre esa muestra
<Psymera> o la kite o grite o lo ke sea ke haga el Av xP
<Psymera> el chiste es buscar el lado donde no nos indike ke fue encotnrado
<Psymera> apartir de ello trataremos de redusir la buskeda
<Psymera> osea volvemos au nuestro hex editor y rellenamos denuevo pero en un espacio mas pekeño

<Psymera> haci ke con mucha pasiencia cafe y musica podemos sacarlo manualmente
<Psymera> muchas de las veces( por no decir ke todas) nuestro rat packer o lo ke sea es detectado por varias firmas
<Psymera> entonces tenemos ke ir haciendo pekeños rellenados con el hex editor
<Psymera> y para no perdernos okupamos nuestro notepad para guardar neustro avanze y no kedar dañados con tanto numero XD
<Psymera> bueno esta tarea se puede simplificar okupando herramientas espesificas como son
<Psymera> signature cero, AVDevil y varias mas
<Psymera> ke lo ke hacen es hacer este rellenado pero de una forma mas burda por llamarlo de una manera
<Psymera> ya ke van creando ejemplares con blokes de un taaño determinado
<Psymera> estas eran utiles o bueno lo son cuando nuestro AV es detectado por una sola firma
<Psymera> (bien ahroa el super comercial de mi tool xD)
<elprimodel5patas> go go go go!!
<Psymera> bueno por ese motivo yo cree la herramienta AAVTools (Anti AntiViral Tools) ke sirve para identificacion de multiples firmas
<Psymera> esta basada en la idea principal de signature cero de darnos una apariencia mas amigable en la deteccion de firmas
<Psymera> poniendonos una linda barrita la cual reprecentara el cuerpo de nuestro amado malware xP

<Psymera> (termina comercial, al final sabran como cosnegirlo con faciles pagos de 9.95 xD)
<Psymera> bueno suponiendo ke ya tenemos nuestra lista de firmas
<Psymera> okuparemos la tecnica ke mas nos guste o acomode
<Psymera> (bueno primero para tirarle tierra a la hex XD)
<Psymera> se trata de teniendo nuestra firma okuparemos un hex editor para ver su valor y sumarle o restarle un valor para ke no sea detectado
<Psymera> oviamente esto kitara la firma detectada pero lo ams provable es ke mate el flujo del programa
<Psymera> ya ke estamos moviendo valores ah ciegas
<Psymera> la tecnica rit se basa en mover un bloke de instrucciones ah otra parte del programa y volver al flujo normal
<Psymera> y la meepa es una vercion modificada de la rit
<Psymera> pero podriamos decir ke mas practica
<Psymera> se trata de modificar los valores con un hex editor ah nuestro programa original y ponerle una rutina al principio del mismo ke nos vuelva a poner los valores originales pero en memoria

<Psymera> bueno para cualkiera de estas dos tecnicas necesitamos encontrar caverns en nuestro programa
<hkm> asi es como se ve el tool de psymera (bueno la version anterior): http://img264.imageshack.us/img264/8896/screenshotpq6.jpg
<Psymera> ke no son mas ke huecos ke deja el compilador ah la hora de crearlo para mantener alineadas las direcciones en memoria o demaz xP
<Psymera> para ello hay varias tool;  PEID, un script de ollydbg, topo(herramienta especialisada en ello) y otras mas
<Psymera> (cof cof la nueva vercion de mi tool ya hace tmb esa funcion)
<Psymera> pero bueno la mas okupada es el topo

<Psymera> esta herramienta nos da la opcion de buscar un tamaño minimo de la caverna o de no ayarlo aumentar el tamaño de alguna seccion o añadir una nueva para tenerlo
<Psymera> la mayoria de las veces no necesitamos okupar esas dos ultimas opciones
<Psymera> pero bueno volviendo ah la rit
<Psymera> abriremos ahora nuestro malware a modificar en en ollydbg
<Psymera> y buscaremos nuestra offset
<Psymera> bueno para ayarla se me olvido decirles tmb xP
<Psymera> ke okuparemos saber el valor de la imagebase del programa
<Psymera> para sumarlo ah nuestro offset y tener nuestra direccion como RVA XD
<Psymera> bueno teniendo la RVA del offset la buscaremos en el olly
<Psymera> bueno primero buscamos nuestra firma ke es detectada
<Psymera> como es un solo byte generalmente okupara parte de intruccioens mas grandes
<Psymera> por ejemplo supongamos ke nuestra firma tiene un valor f6
<Psymera> y la encontramos en estea instruccion
<Psymera> 00403505   31F6             XOR ESI,ESI
<Psymera> bueno copiaremos esta intruccion ah nuestro block de notas xP
<Psymera> ademas de las siguientes tres
<Psymera> 00403505   31F6             XOR ESI,ESI
<Psymera> 00403507   8932             MOV DWORD PTR DS:[EDX],ESI
<Psymera> 00403509   5F               POP EDI
<Psymera> 0040350A   5E               POP ESI
<Psymera> esto es por ponerles un ejemplo
<Psymera> y guardamos la direcciond e la siguiente instruccion
<Psymera> bien ya teniendo nuestro bloke de instrucciones okuparemos nuestra caverna
<Psymera> de igual forma ke sacamos la RVA de la firma
<Psymera> sacamos la caverna y nos dirigimos ah ella
<Psymera> y copiaremos nuestro bloke de instrucciones ke copiamos ah ella
<Psymera> al terminal el bloke le añadiremos un JMP 0040350B ke es en nuestro caso la siguient insutrccion ke se ejecutaria en el programa
<Psymera> y volvemos denuevo a la direccion de nuestra firma
<Psymera> y ah la intruccion la sobreescribiremos con un JMP direccion_de_la_cave
<Psymera> y ya guardamos nuestro ejecutable modificado y lo corremos para provarlo
<Psymera> el AV no nos lo deve de tomar como espesimen o en todo caso ke aun nos detecte lo hara como una variante diferente o como otro malware, por las firmas detectadas
<sdc> que pasa si el programa hace referencia a la memoria que desplazamos? por ejemplo si es un for que tiene como marcador de inicio la instruccion 403509 o algo asi..
<sdc> se muere el programa supongo, no seria mas eficiente colocar instrucciones equivalentes?
<Psymera> para eso existe la tecnica meepa xP
<sdc> como en ese xor esi esi, un mov esi 0
<Psymera> ke es una vercion refinada de la rit o pordriamos buscar otras firmas mas sencilla ke sean detectadas
<Psymera> aun ke si es valido como lo dices pero el problema es ke igual no son del mismo tamaño las intrcciones
<sdc> ah sisi
<sdc> eso es verdad
<Psymera> entocnes tendriamos ke mover mucho las direccion y demaz
<sdc> pero la de meepa recrea el virus en memoria no?
<Psymera> haci es
<sdc> muchos antivirus checan tambien la memoria no?
<sdc> no solo el archivo
<Psymera> en parte
<Psymera> hacen un chekeo en memoria pero solo X instricciones o tiempo al principio
<sdc> ah vaya
<Psymera> bueno deja explico mepa xP rapido para regrear ah esto
<Psymera> bueno tal como sdc comento mepa se trata de recostruir el programa en memoria
<Psymera> esto se hace teniendo las offsets y sus valores originales
<Psymera> al principio del programa antes de cualkier instruccion crea un salto a una cave
<Psymera> la cual contiene un codigo ke regenera los valores en memoria ah su estado original
<Psymera> y despues regresa al flujo normal del programa

<Psymera> por lo cual muchas firmas dificiles de modificar o sencibles ya no lo son
<Psymera> pero bueno aki encotnramos el problema del analizis en memoria
<Psymera> los antivirus igual nos buscan las firmas una vez cargado en memoria y durante los primeros X ciclos de ejeccion
<Psymera> entre ello va la simulacion de ejecuccion para buscar firmas o rutinas sospechosas
<Psymera> pero bueno esto no es una labor infinita o ke se mantenga ah lo largo de toda la ejecucion
Psymera> por lo mismo ke es demaciado costoso en recursos
<Psymera> y gracias ah ello podemos evitar mucha deteccion cuando somos geniales en asm y sabemos meter unas buenas rutinas haci en bruto en las cavernas o teniendo el codigo fuente
<sdc> jajaja..
<Psymera> por ejemplo karsperky es muy facil de saltar su heuristica por ello mismo
<Psymera> por poner un ejemplo comunmente okupado en malware echo en vb
<Psymera> es el de poner un timer ah X cantidad de mili segundos y ese a su vez active otro timer y haci ssesivamente XD
<Psymera> aun ke bueno se puede hacer on uno solo y solo okupar un bloke
<Psymera> o okpar un hilo
<Psymera> el chiste es ke okupemos esa cantidad de chekeos ke tiene permitido hacer

Psymera> y con ello saltarnos su heuristica
<Psymera> esto de igual forma podemos implementarlos con las tecnicas ke comente anteriormente para introduccion de codigo
<Psymera> bien bueno
<Psymera> preguntas comentarios
<Psymera> mentadas? XD
<Psymera> me falto algo? xP
<hkm> tu tool lo pondre en el log de la platica
<hkm> attacheado al post
<Psymera> vap xP
<elprimodel5patas> esta muy chinga la tool
<Psymera> bien de perdida refreskenmela XD
<Drackoz> no pues estuvo buena la exposicion del meepa
<hkm> Se me hizo interesante todas las formas diferentes de brincar las firmas, y es lo mismo para packers y crypters y demas?
<Psymera> haci es
<SAKIA> eip!! meepa rulez!! or algun killav
<Psymera> no me gustan en lo personal los killav
<elprimodel5patas> por?
<SAKIA> no son etikos jajajaja
<Psymera> son poko artisticos y chillan mucho
<Psymera> cuando vez ke el iconito del AV ya noe sta en el task
<Psymera> te espantas
<elprimodel5patas> lol
<elprimodel5patas> verga que le hice!
<elprimodel5patas> te paniqueas tu
<Psymera> esactamente eso ,xd
<elprimodel5patas> en ves de la compu
<elprimodel5patas> si me ah pasdo jeejejej
<elprimodel5patas> que eliminas cosas que no querias
<SAKIA> tienen su chiste pero si hicieras tu colecc de icons
<SAKIA> asi nomas cuelgas un icono basura pa que no se den cuenta jajaja y hasta los procesos fakeaz
<Psymera> esta bien eso
<Psymera> pero honestamente ah mi me gusta mas la parte romantica de uno contra la compañia completa del AV XD
<SAKIA> pues tambien es jocoso uno contra el av
<hkm> muy bien pues con eso terminamos las platicas
<sdc> deberias hacer un killav que ponga un icono que sea iwal al antivirus que usas
<jimtronic> pos aprendimos mucho ahora
<sdc> y no haga nada, nomas este ahi
<SAKIA> sdc es lo que io decia
<sdc> seh buena idea
<Psymera> xD
<sdc> jajajaja
<Drackoz> valio la pena la espera
<Drackoz> y la desvelada

Tags: 1 Comentario

Dejar un comentario

1 respuesta hasta ahora ↓

  • 1 fernando jul 6, 2009 at 4:18 pm

    si podes agregame al msn psymera
    saludos