¿Qué hace NetSS de Thinkcore?
Si, así me quedé pensando hoy a la tarde, cuando vi lo que hacía este programita…. me quedé pensando, algo tan simple debe venir con código fuente….
Lo bajo de la web de thinkcore: http://www.thinkcore.com/utilities/networking/NetSS-v1.0.zip
Lo abro… y nada :O no había código, un EXE y un readme.txt…. ¿es justo?
Este programita, es muy simple, envía mensajes anónimos por net send, el famoso mensajero de windows XP… el truco, es muy fácil y simple, por eso no me gustó que no pusieran el código fuente, de algo tan simple, para mostrar a la gente como se puede hacer…
Me dije, ¿ es necesario debuggear y analizar lo que hace ? me dije, si… y aquí estamos
Abrí el ejecutable y me encontré con esto en Olly:
Como veremos para ojos entrenados, esta empacado… es simple de ver… no es un entrypoint “normal”. Si corremos el Peid no nos dará nada, y el rdg tampoco dará nada, así que no importa, lo cargamos en el Olly como vemos y debuggeamos un poco….
Dará vueltas, miles, armando todo nuestro ejecutable final… al final, damos F9 y lo ejecutamos del todo… lo veremos abierto….
Pondremos un breakpoint de acceso en la sección de código de nuestro proceso netss.exe de esta forma:
Ahora hacemos un click en la aplicación y Olly saltará, permitiéndonos volver al proceso principal, y mirar nuestro desempacado en memoria 100% libre de ataduras.
Veremos el código así:
Veremos que necesitamos sacar el análisis ya que Olly no lo interpretó bien….
Ahora si nuestro “EP” tiene más color ¿no amigos?, ahora haremos el volcado con el ollydump, si lo ejecutamos se romperá… ¿ qué está mal?
Si hacemos scroll veremos algo más que puede ser un entrypoint más posible que ese…
Nuestro dump se rompe porque hace un cmp con un valor específico… calculo que lo hace para ver que botón se ha presionado en el formulario, típico de aplicaciones en win32asm, como dicen los autores que lo hicieron.
He aquí más arriba algo más normal del principio de un programa en win32asm, todo definido, el querido GetModuleHandleA, hasta ExitProccess, está todo listo.
¿Cuál es la definición final? Deberemos modificar el Entrypoint, ya que si cargamos el dump con Olly, empezará en la dirección 40102B y no en 401000 que es donde debería empezar…
Para eso abrimos un editor PE cualquiera, probé uno nuevo llamado PEiT (Pe Insight, desde rusia).
Modificamos el valor del Entrypoint y quedará así finalmente:
Finalmente el EP quedará apuntando a 401000, grabamos los cambios, lo probamos y voilá! lo hemos hecho.
Bien, pero el tema era ver como enviamos esos mensajes anónimos, y si miramos un poco el código fuente, nos daremos cuenta que una de las API’s usadas son para enviar con a través del servicio mensajero.
NetMessageBufferSend
Ahora veamos como carga los parámetros cuales son cada uno, y listo, ya sabemos el secreto…
Está todo dicho amigos, la magia, el misterio se terminó… ya sabemos que parámetros y que API del sistema deberemos llamar….
La información debe conocerse, coincido que NO toda a veces, pero este tipo de información ocultarla no tiene sentido amigos… tarde o temprano… se sabe.
Google nos da pocos resultados sobre esta API, encima eso… it’s is a must dar a conocerlo a la gente…
Gracias a todos por leerme, saludos a z0mbie, GriYo, kaze, la gente de indetectables, al hispano #crackers, #Disidents, #hackers, #virus, la gente de crackslatinos, y muchos más, aún seguimos vivos.
Saludos,
SparK.-






