1 Machancando AV’s
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
si podes agregame al msn psymera
saludos