De-Ice I: Desarrollo práctico (III de III)

Anterior: De-Ice I: Desarrollo práctico (II de III)

Nos conectamos al sistema mediante SSH con la combinación de usuario y contraseña que hemos obtenido. Nuestro siguiente objetivo será la escalada de privilegios.

Para esto, algo muy interesante suele ser consultar estos tres ficheros, si se puede. En este caso si.

–       /etc/passwd -> Usuarios, grupos, …

–       /etc/shadow -> Usuarios y passwords cifrados

–       /etc/sudores -> Grupos y permisos

Aquí podemos observar que el usuario con el que hemos conseguido acceso, pertenece a un grupo “wheel” que tiene permiso para la ejecución de unos pocos comandos como “root”. Entre ellos el comando “cat”, con el que hemos podido leer los ficheros nombrados anteriormente.

A partir de aquí, la idea es escalar privilegios. En la página del proyecto Sec-track (2), explican un método en mi opinión algo complejo, aunque sin duda muy imaginativo he interesante de leer. Pero yo por mi parte me decante por intentar algo más simple. Para ello, ya que tenía en pantalla el contenido del fichero “/etc/shadow”, lo copie a mi ordenador y en él lance la herramienta “John The Ripper”, la cual en poco tiempo me sacó la contraseña de “root”. Con lo cual ya tenemos acceso completo al sistema.

Una de mis motivaciones para utilizar John en mi máquina, y que no me termine de convencer el método de Sec-track, es el tiempo de conexión al sistema remoto y el uso de CPU en el sistema remoto. Estás dos cosas son elementos que puede hacer que nos detecten. Cuanto más tiempo estemos conectados, es más fácil que alguien se de cuenta de que estamos ahí. Y cuanta más CPU o tiempo de CPU usemos igual. Así que yo me decanté por conectarme, sacar el contenido de fichero y crackearlo en mi máquina.

Finalmente, solo nos queda conservar el acceso, es decir, instalar una puerta trasera, para lo cual yo me he decantado, ya que hay un servidor web levantado, por instalar una shell remota al estilo de “c99” o algo similar.

Del mismo modo que antes, me he conectado al sistema, he ido a la ruta del servidor web, en este caso la por defecto, “/var/www/” y allí he copiado el script de PHP con la shell remota.

De nuevo, en el proyecto Sec-Track, porponen hacerlo con Nectcat, pero esto implica tener un proceso desplegado en la máquina que cualquier administrador puede encontrar, así que en este caso, y siempre en mi opinión, es preferible la shell remota mediante el uso del servidor web.

Ya solo nos faltaría eliminar todo nuestro rastro de logs de conexiones y similar, pero vamos, teniendo al usuario “root” a nuestra disposición esto no debería ser muy difícil.

Pues ya esta. Como podéis ver, métodos para hacer estos hay muchos, yo solo me he decantado por uno que dejara los menos rastros posibles en la máquina atacada, siempre en mi opinión (ni mucho menos soy un experto). Estar poco tiempo conectado al host remoto, usar lo menos posible su CPU, y las conexiones de Medusa, inevitables, eliminarlas una vez tengamos acceso como “root”.

Espero que os divirtáis con el entorno. Y si tenéis dudas, ya sabéis, dejad un comentario o poneros en contacto conmigo.

Se que quizás, para gente que no tenga mucha experiencia en esto o que este empezando, habrá cosas que no haya entendido. Estas personas, que no se preocupen ni desanimen. Les animo a buscar aquello que no han entendido por su cuenta, y después, la idea de estos artículos sobre prácticas y entornos, es describir a partir de ellos cosas más especificas. Por ejemplo, aquí se explica THC-Hydra y Medusa, y algo que se explicará en próximos artículos en “John The Ripper”. De esta forma, esperemos avanzar al siguiente entorno con todo bien aprendido.

Un saludo a todos. Nos vemos.

De-Ice I: Desarrollo práctico (III de III)

10 thoughts on “De-Ice I: Desarrollo práctico (III de III)

  1. Largo00 says:

    Buenas!
    Muy bueno todo. Es de los que esta mejor explicado…

    Luego de ver este tuto me interesaría saber como es que copiaste el archivo “shadow” a tu pc, dado que al parecer el usuario aadams no tiene permisos para esto segun pude ver yo.
    Yo use el “mc” para conectarme via ssh y ver los archivos del host, pero no me dejo copiar el “shadow”, sí me dejo copiar el “passwd”.

    Podrías decirme con mas detalle como lo lograste?

    Muchas gracias.
    Saludos.

    Like

    1. svoboda says:

      Jeje, pues te vas a sentir defraudado ya que no es nada técnico o similar. Me limité a hacer un “cat” del fichero, y una vez que lo tenía en mi consola hacer un copy&paste a un archivo en mi ordenador.

      Se que no es nada elegante ni técnico, pero práctico y fácil si que es.

      Espero que te sirva, y me alegra que te gustase el tutorial.

      Un saludo.

      Like

  2. Largo00 says:

    Hola nuevamente!

    mmm… eso esta muy bien!
    Pero a mi no me deja jeje
    No soy muy duscho con todo esto y quizas este haciendo algo mal.
    Te comento:
    Esta vez accedi con el comando “ssh” en vez de con el “mc”..
    para hacer una conexion por consola ya que del otro modo no puedo ejecutar comandos, por lo que pude ver.
    Entonces hice lo siguiente..

    root@bt:~# ssh aadams@192.168.1.100
    aadams@192.168.1.100‘s password: *********** (jejeje)
    Linux 2.6.16.
    aadams@slax:~$ dir
    aadams@slax:~$ cd /etc

    aadams@slax:/etc$ cat shadow
    cat: shadow: Permission denied

    …????… realmente no se… he probado con varias opciones de “cat” pero siempre me da el mismo mensaje :s

    Espero no molestar con tanta consulta. jeje

    Gracias!!
    Saludos!

    Like

    1. svoboda says:

      Hola,

      No me molestan en absoluto las consultas, siempre es un placer ver que a alguien le sirve lo escrito, y aunque ahora tengo un poco abandonado por falta de tiempo el blog, lo sigo leyendo y contestando.

      Vamos a tu caso.

      Como se comenta en el post, el usuario “aadams” con el que hemos conseguido acceso, tiene privilegios de “root” para ciertas cosas, en este caso, usar la instrucción “cat”.

      Para usar dicha instrucción con permisos de “root” y con los suyos propios, debes ejecutarla de la siguiente forma:

      sudo cat shadow

      De esta forma te solicitara tu password de nuevo, ya sabes (***********) y te listará el contenido del fichero. Yo creo que es eso lo que te ha faltado. Lo acabo de probar y funciona correctamente, así que inténtalo de esta forma y me comentas el resultado. Y si no te funciona, buscamos alguna razón más de que no lo haga.

      Un saludo

      Like

  3. Largo00 says:

    Hola!

    Me sirvio mucho lo que me explicaste.
    Pude copiar el SHADOW y despues busque por ahi como usar el JOHN para sacar las claves.
    Hasta ahi todo bien, lo que no pude fue conectar via SSH con el usuario ROOT y su respectiva clave. No se si esto esta permitido o no por el sistema.
    Se que la clave esta bien porque pude loguearme directamente en la VM con ROOT.
    Despues tengo que ver como dejar la SHELL remota y borrar los rastros de los intentos de conexion.

    Pero bueno, veré luego como me las arreglo. Sino volveré a “molestar” por aqui!
    jeje

    Muchas gracias!!

    Saludos!!

    Like

    1. svoboda says:

      Me alegro que al final lo hayamos solucionado. Lo del root, ahora no me acuerdo muy bien, pero creo que no puede conectarse de forma remota.

      Para todo lo demás, aquí estamos. Un saludo

      Like

  4. peon83 says:

    Hola ya seque esun post un poco pasado pero con tu ayuda pude lograr en reto lo unico que estoy tratando de hacer es dejar webshell en el equipo como backdoor

    Like

    1. svoboda says:

      Hola, la parte de como dejar una puerta trasera (webshell) está explicada en la parte central del post. Una vez sacado el password del usuario root, solo debes copiar tu webshell, en mi caso c99, en el directorio /var/www/ que el el directorio principal del servidor (si no recuerdo mal). Si tienes algún problema más concreto con esto, desarrolla un poco más tu pregunta, y lo intentamos ver.
      Un saludo.

      Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.