|
401
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 20:39 pm
|
En los Antivirus que implementan una sandbox o más bien una VM el código es emulado y si llegasen a cargan algún modulo dentro de el espacio de memoria del proceso este no seria visible en la lista ya que seria sólo cargado en la emulación Pero que sea cargado solo en la emulación dice bastante! Dice todo lo que necesito saber para ser mas exacto,, si ese modulo esta cargado,, esta en sandbox y cierro la app.. no? De echo, noto la carga de un modulo cuando lo emula el sandbox, tendría que estar seguro para confirmar que sea por el sandbox, no he tenido tiempo aun.. pero si llega a ser eso pongo el modulo.. Tendras que depurar el nucleo del Antivirus que por lo general en un driver para kernel. No lo dudo.. técnicas avanzadas requieren métodos complejos , tendría que aprender a usar windbg.. Otros simplemente emulan el código y el entorno emulado es bien limitado y son bien faciles de saltarse. De saltarse en que sentido? Creo que hay una discusión importante por ahi en el foro sobre "saltarse" el sandbox,, creo que hasta donde se puede llegar es, detectar el sandbox y cerrarse.. o hay algo que me estoy perdiendo? Saludos!!
|
|
|
402
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 19:35 pm
|
Si, eso esta mas enfocado para las shellcode´s, ya que asi se "juega" mas con otros opcodes y no salta a la vista tan rapido, de poder puedes usar hasta la FPU.
Pero simplemente comente, porque no tiene ningun sentido hacer todo lo que te indique antes, es hasta estupido, sin ofender.
Un saludo.
P.D: Segun estoy viendo, estas enserio con el malware. No hay ofensa ninguna,, tranqui.. lo que estoy intentando hacer es detectar si el programa esta en la sandbox,, y que AV lo esta analizando.. hay otras formas si, pero por ahora son solo pruebas,, y de paso practico un poco ASM Con respecto al malware,, si, casi todo lo que hago esta orientado a eso.. aunque después no lo use para nada.. es la guerra constante que tengo con los AV jeje Tengo la ilusion de algun dia hacer un malware que se destaque.. Saludosss!!
|
|
|
403
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 06:23 am
|
¿RocketDock? No tengo eso, tal vez sea un software que instalaste: Ha,, sii.. es un dock que tengo instalado.. pero no se que hace metiendose en otros procesos.. Fijate con el Dependency Walker cuales tenes enlazadas estaticamente en tu ejecutable y en otras DLLs que se carguen. El subsystem de Windows necesita NTDLL.dll y con alguna funcion (ejemplo MessageBoxW que carga User32.dll y esta varias mas) casi seguro cargas Kernel32.dll y esta a su vez Kernelbase.dll. Es verdad,, estan esas librerias tambien que no tome en cuenta.. Gracias EI! Saludos!
|
|
|
404
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 05:42 am
|
Sera un problema con esas macros, proba con MessageBoxW. Si señor.. ahi si que funciona! invoke MessageBoxW, NULL, ebx, addr Titulo, MB_OK
El titulo sale mocho porque es W, pero no importa.. paso a explicar,, estoy viendo cual es, o son las librerias que inyecta el AV cuando pone un ejecutable en la SandBox,, o cuales le inyecta porque si nomas.. y ahora viendo eso justamente,, veo que me carga la libreria "RocketDock.dll", esto quiere decir que el dock hace su chanchada tambien?? Aparte hay un monton de librerias cargadas.. propio de Win7 quizas?? Saludos! Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje. ojo que nada te asegura que sean cadenas los Buffer, por eso UNICODE_STRING tiene campos de tamaño Habia leido algo de eso si.. entonces puedo tener caracteres extraños sin 0 al final.. nop?
|
|
|
405
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 05:29 am
|
Perfect! Si no me equivoco, el puntero esta en ebx,, no? Mas precisamente en esta linea: mov ebx, [eax + 30h]
Yo intente cambiar el valor por la direccion,, con "[]" que si no me equivoco es como decir "la direccion de" pero no me funciono,, se quedaba colgado Saludos! [Edit] Sera un problema con esas macros, proba con MessageBoxW. Opss.. hubo un cambiazo.. pruebo con eso a ver que panza.. Gracias! Saludos!
|
|
|
406
|
Programación / ASM / Re: Pregunta simple sobre registros
|
en: 24 Abril 2014, 05:22 am
|
¿Y los registros únicos (no simulados) para qué sería usado entonces, para el SO? En realidad, no hay "no simulados", se guarda el estado de los registros, se cargan los registros de otra tarea, el procesador hace la tarea por el tiempo que el SO considere necesario, se guardan los registros y se cambia de tarea.. lo demas es repetir el proceso hasta apagar la computadora... Saludos! PD: Espero no estar equivocado..
|
|
|
407
|
Programación / ASM / Re: Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 05:09 am
|
movl %fs:0x30, %eax ; supongo que en intel sera asi mov eax, fs:[30h]
Efectivamente, funciona perfecto en intel.. No es mejor cargar la direccion directamente? Y al parecer, tambien tenes razon.. La verdad es que a mi me queda mucho por aprender de ASM.. y habia entendido el codigo de la primer manera que lo vi.. ahora no entiendo porque encontre esa forma que es mas rebuscada,, supongo, quizas.. porque todos los ejemplos que vi son shellcodes y cosas por el estilo,, quizas sea una forma de "camuflar" la intencion... pero la verdad, tampoco estoy seguro... Gracias cpu2! Saludos!
|
|
|
408
|
Programación / ASM / Mostrar librerias cargadas en programa
|
en: 24 Abril 2014, 02:35 am
|
Hola! Estoy intentando mostrar todas las librerias que carga el ejecutable, pero no logro mostrar el nombre, muestra la direccion.. Que me esta faltando poner?? .386 .model flat, stdcall option casemap:none assume fs: nothing include windows.inc include masm32rt.inc includelib masm32rt.lib ObtenerModulos PROTO .code start: invoke ObtenerModulos inkey "pause" ObtenerModulos proc push 30h pop esi lodsd fs:[esi] mov eax, [eax + 0Ch] lea eax, [eax + 0Ch] NextModule: assume eax: ptr LIST_ENTRY mov eax, [eax].Flink assume eax: nothing mov ebx, [eax + 30h] cmp ebx, 0 je Exit push eax print str$(ebx),13,10 pop eax jmp NextModule Exit: ret ObtenerModulos endp end start
Saludos!!
|
|
|
410
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Que probabilidad de ser descubierto hay?
|
en: 21 Abril 2014, 20:59 pm
|
Gracias por sus respuestas!
En conclusión, la forma mas segura es usar una maquina virtual, con navegación segura, y no usar la conexión de uno mismo, ademas no dejar rastros como nombres ni datos personales en el servidor.. Con eso podríamos ahorrarnos un dolor de cabeza por una pavada.. para ahorrarse un dolor de cabeza por algo mas grande, simplemente no conviene andar metido en cosas raras..
Saludos!!! Gracias!
|
|
|
|
|
|
|