[SOLUCIONADO] Recoger sesión meterpreter en Servidor

Iniciado por nikolai47, Agosto 21, 2015, 06:11:24 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 21, 2015, 06:11:24 PM Ultima modificación: Agosto 25, 2015, 11:57:13 AM por EPSILON
Antes que nada agradecer a todos los que aportan sin ánimo de lucro a este foro.

Al lío. Tengo pensado usar el famoso payload Meterpreter (Bendito seas) de forma permanente, es decir, a modo típico troyano pero usando meterpreter, a lo que se salen varias dudas.
La idea sería instalar en varias máquinas virtuales con diferentes AV's el payload oculto en un exe  cualquiera e indetectable. Una vez ejecutado, el handler configurado con ExitOnFalse recogería las diferentes sesiones y las dejaría en background. Posteriormente al recoger cada sesión, se ejecutaría un script para realizar la persistencia y aquí viene la primera duda:

1. ¿Es mejor la persistencia del meterpreter o subir algún troyano en cuestión con un rootkit para ocultarlo?

2. Otra duda que siempre he tenido es, la víctima podría hacer un netstat y fácilmente sabrá a donde apunta y podría denunciar o intentar hacer un poco de fingerprinting para posteriormente atacar.

3. Otra cuestión es que el servidor escuchando en teoría tiene un puerto abierto a la espera de una shell sin cifrar, ¿alguna idea?

4. Y la última, sería saber si ando equivocado con que reverse_https lo único que hace es sacar la shell por 443 cifrada y así evitar cortafuegos y comportamientos anómalos. Vamos que en teoría resulta mejor que reverse_tcp

La verdad es que lo del servidor escucha me tiene hablando solo porque no creo que los delincuentes pongan su dirección IP. Lo del NO-IP y cosas así creo que es lo mismo ya que con una orden judicial estaríamos en las mismas.

Por supuesto se trata de una investigación personal y estudio usando máquinas virtuales para coger práctica para OSCP y CTF's

Un saludo y gracias de antemano.

Nikola1


Hola @nikolkai47 , es un honor poder resolverte las dudas y sin buscarle los 3 pies al gato comenzaré.

  • Según mis experiencias en el mundo del malware, la persistencia, la backdoorización y todo ese proceso de post-explotación sin lugar a dudas te recomendaría la persistencia de un rootkit obviamente la persistencia del rootkit al payload del meterpreter varía en los anillos. En el rootkit serás ring0 y en el payload del meterpreter serás ring3 la detección de ambos no tiene comparación pues uno lo estás ejecutando a nivel aplicación y el otro al nivel del núcleo.
    ¿Cual es el problema?
    Si no eres root o no tienes acceso a la raíz ¿cómo vas a instalar un rootkit?, obviamente tienes que haber elevado privilegios de alguna manera para poder garantizar el exitoso funcionamiento de tu rootkit,
  • Volvemos a lo de antes todo dependerá si has instalado un rootkit o no, si has instalado un rootkit la detección va ser muy tediosa y la eliminación puede ser imposible. Si por contrario has iniciado un modulo de persistencia, no será muy difícil su visualización, como tu dices con listar las conexiones activas del sistema ya se ve si hay un bichito corriendo.
    En temas legales obviamente que tendrá libertad para denunciarte, ha no ser que se haya realizado en un sistema aislado y controlado o tengas un papelito autorizando esas acciones malévolas.
  • No entiendo la pregunta "el servidor escuchando en teoría tiene un puerto abierto a la espera de una shell sin cifrar" más o menos intenté traducirla, prueba a conectar con una herramienta de red tipo netcat al puerto a lo mejor te devuelve la shell, pero no entiendo la pregunta.
  • El reverse_https como tu dices te permite conectarte dentro de una conexión SSL auténtica. Si te preguntas como detectar dicho payload por eso que mencionaste de confundir o evadir los antivirus puedes hacerlo siguiendo estos patrones:

    • El certificado no está firmado por trusted CA
    • Los nombres de dominio son ficticios
    • Los nombres de dominio terminan con .com, .gov o .net
    • El periodo de validación es de 1 mes exacto
Espero poder haber solucionado tus dudas, cualquier problema que tengas siéntete libre de contactarme!
Saludos
Lo que sabemos es una gota de agua; lo que ignoramos es el océano.

Antes que nada agradecerte la detallada respuesta a mis dudas.
He decidido montar un VPS con el handler pero no hay manera de instalar metasploit por medio de SSH. Después de instalar todas las dependencias e iniciar el .run de metasploit, cuando llega el paso donde indica que me aconseja desactivar el posible firewall, simplemente me imprime "killed" y termina la instalación. Revisando la carpeta y demás veo que solo ha creado la carpeta y puesto un archivo vacio. Es decir que no ha instalado absolutamente nada.
La verdad es que no sé cual puede ser el error.
Quizás alguien lo haya intentado antes y me pueda echar un cable.
¿Alguna otra idea como alternativa al VPS, de manera que siempre esté a la escucha de un meterpreter?
Un saludo y muchas gracias.

Nikola1

Me autorespondo.
Después de muchos dolores de cabeza y una gran cantidad de insistencia, he descubierto varios errores en la instalación de metasploit framework en un VPS.
Un primer error se trataba de la instalación de ruby on rails, donde al final tuve que usar RVM.
El segundo "error" fue mucho más doloroso, ya que después de instalar correctamente todo, no terminaba de iniciar msfconsole. Dando muchas vueltas pude comprobar que la RAM que tenía mi VPS era insuficiente para soportar msfconsole, ya que éste carga todo en RAM. Para curiosos mi VPS tiene 128 MB de RAM y ahora con un 1 GB de RAM va perfecto. Fallo mio al no mirar los requerimientos de metasploit.
Si alguien ve oportuno hacer un tutorial completo de una instalación del framework metasploit y demás solo tiene que decirlo.
Se puede dar por solucionado este post y muchas gracias a todos por colaborar.

Nikola1