Este artículo presenta el sistema de archivos de Linux. Explica que los archivos permiten almacenar información con un nombre único y que existen diferentes tipos de archivos según su contenido, como datos de usuario, programas ejecutables, datos del sistema y archivos especiales. También describe la estructura jerárquica de directorios y cómo se usan las rutas de acceso para localizar archivos dentro de esta estructura.
1. HACK X CRACK: NMAP - EL MEJOR ESCANEADOR DE INTERNET
P Serie RAW: IRC
A I N T E R N E T R E L AY C H AT
S CHATEANDO
O MEDIANTE
TELNET
P A S Oa
a
a
a
a
a
a
aa
a
a
a
a
a
HACK X CRACK - HACK X CRACK - HACK X CRACK
G
N
U
Permisos de archivo
CAT y otros comandos
APACHE
Instalación
Modulos y
Interfaz Gráfica
Servidores Virtuales
Opciones de Uso
DESCUBRE LOS
PROTOCOLOS DE “LA
RED” CON NOSOTROS
VISUAL BASIC
Iniciación al PORT SCANNING
Creando Librerias Técnicas de “scaneo”
Acceso a datos
Nº 9 -- P.V.P. 4,5 EUROS
00009
8 414090 202756
Si no entiendes ni una palabra de esta portada, has llegado a
LA REVISTA DE INFORMÁTICA QUE ESTABAS ESPERANDO!!!
PC PASO A PASO: APRENDE A PROGRAMAR CON NOSOTROS
3. DECLARACION DE INTENCIONES
PARA "LOS OTROS":
1.- La intención de la presente publicación NO ES fomentar la piratería curiosidad deberéis ponerla VOSOTROS, porque los medios los facilitaremos
informática ni la “delincuencia” en la Red. NOSOTROS. En las siguientes líneas os descubrimos cómo podremos
2.- Cualquier texto publicado es VALIDADO por nuestra Asesoría Jurídica, conseguir nuestros objetivos y definimos algunas de las palabras que más
por lo que advertimos a cualquier persona, empresa u organización de la han sido violadas y retorcidas en su significado.
inutilidad de cualquier iniciativa jurídica en nuestra contra. Aun así, en caso
de cualquier iniciativa en contra de esta revista, deberá ser debidamente Hacker: Este término ha sufrido a lo largo de su corta historia una horrible
presentada y resuelta en la Razón Social que figura en nuestros documentos conspiración perpetrada por la ignorancia de los medios, eso que
de constitución. personalmente llamo "periodismo de telediario" (en clara alusión a los
3.- Esta publicación no se hace responsable del mal uso de los conocimientos ridículos artículos que no hacen mas que intoxicar nuestra percepción de
que se exponen. las cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a
4.- Esta publicación 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 demonológica) y los medios informativos
que por sus NICKS (alias). Por ello, correrá a cargo de los organismos "de masas".
pertinentes su “descubrimiento”.
5.- Esta publicación 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 tecnología 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, publicación, modificación o distribución funcionamiento de "las cosas" y no encuentran límites 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 están 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 jurídico, 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 compañías 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 podréis ver, esta no es una revista mas, por primera vez tenéis ante como Linus Torvalds (el papá Linux) o Grace Hooper (la Almirante,
vosotros una publicación 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 informáticos), Fred Cohen (el primer investigador y
Esta publicación 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 están ("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 páginas de revista solo Mitnick (el más buscado por el FBI), Phiber Optik (líder juvenil convertido
contiene 5 de "material utilizable" (si es que puede llamarse así). en símbolo de los hackers), Richard Stallman (impulsor del software
libre y GNU), Johan Helsingius (primer conductor de un Remailer
Pues NO, lo siento, vosotros seréis nuestros jueces y, llegado el caso, Anónimo), 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ó electrónicamente
Nuestro objetivo es: ACABAR CON LA BASURA DE LA RED (lamers y demás 10 millones de dólares al Citibank), y muchos mas. ¿Cómo? ¿Pero no hemos
"esencias") con el único método que conocemos: LA EDUCACIÓN 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 definición… pero claro, de todo hay en la viña del señor, 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 EDUCACIÓN Y EL CONOCIMIENTO Para ser
CONOCIMIENTO. Por supuesto, solo tienes que leerte su biografía. ¿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 comparación
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º 9 Página 3
4. EDITORIAL:
gracias a todos
Si eres lector habitual o miembro de EL
F O R O d e H a c k x C r a c k
INDICE
(www.hackxcrack.com) ya sabes que
debido a causas mayores AZIMUT me ha
sustituido como director durante los
números 7 y 8.
No tengo palabras para agradecerle el
gran trabajo que ha realizado sacando
adelante esta revista. Hace pocos días
AZIMUT me pidió que cuando escribiese 3 DECLARACION DE INTENCIONES
esta editorial no le mencionase a él
sino (en sus palabras) “a los verdaderos 4 EDITORIAL
a r t í f i c e s d e l m i l a g r o : l o s
c o l a b o r a d o r e s ”. E s c i e r t o , d e b e m o s 5 CURSO DE LINUX(II) SISTEMA DE ARCHIVOS
agradecerle que sigamos en la
“palestra” a muchas personas que han 13 GANADOR DEL CONCURSO SUSE LINUX
c o l a b o ra d o c o n H X C d e fo r m a
totalmente desinteresada, a los 14 SERVIDOR DE HXC. MODO DE EMPLEO
miembros del foro que nos ayudan con
sus críticas, a los moderadores que 15 APACHE: - CONFIGURACION.
mantienen un lugar donde hablar - COMPARTE ARCHIVOS MEDIANTE WEB
libremente, a los maquetadores que han
trabajado noches enteras y con prisas, 25 COLABORA CON NOSOTROS
y no hace falta seguir porque la lista
es muy larga y podría dejarme a 26 CURSO DE VISUAL BASIC: - MI PRIMERA DLL.
alguien. - ACCESO A DATOS
GRACIAS, GRACIAS y GRACIAS. 36 SUSCRIPCIONES
Espero que este número 9 os guste 37 TECNICAS DE PORT SCANNING. USO DEL NMAP
tanto como los dos anteriores y os
anuncio que se preparan cambios 45 PROTOCOLOS Y SU SEGURIDAD: IRC
importantes que ayudarán a que esta
revista llegue tan lejos como todos 65 BAJATE LOS LOGOS DE PC PASO A PASO (HXC)
deseamos: Ya sabes que en EL FORO
anunciamos las novedades, pásate de 66 CONCURSO DE SUSE LINUX 8.2
vez en cuando y lee la sección de
COMUNICADOS. 67 NUMEROS ATRASADOS
Un enorme saludo a todos y os dejo con
la revista.
Página 4 PC PASO A PASO Nº 9
5. gnu linux (II)
El Sistema de Archivos
1.- Introducción un determinado nombre. Esto quiere decir que si
hemos guardado nuestros datos en un archivo
Habiendo presentado en artículos anteriores el llamado ejemplo.txt y luego queremos guardar más
sistema GNU/LiNUX, vamos a ir profundizando poco datos en la misma ubicación, tendremos que
a poco en los aspectos que lo definen. En concreto guardarlos en un archivo con un nombre distinto
en el presente artículo se tratará el Sistema de como ejemplo2.txt.
Archivos de este Sistema Operativo (S.O.). En el
próximo artículo pasaremos a describir diversas 2.1.- Tipos de archivo
tareas administrativas como administración de
usuarios, dispositivos, etc... Los archivos pueden contener diversos tipos de
Aunque parece fuera de toda lógica, la razón de información. Básicamente podremos clasificar los
posponer estos temas a un tercer capítulo es la archivos conforme a su contenido de la siguiente
siguiente: Tanto la administración de usuarios, como manera:
la de servicios o la de dispositivos requiere de un
conocimiento al menos básico del Sistema de Archivos 1.- Datos de usuario: Información que crea y
dado que en este recaerán cosas tan importantes actualiza un usuario. Puede ir desde un simple
como permisos, cuotas, etc.... archivo de texto, hasta archivos más complicados
Centrándonos ya en el tema que hoy tratamos, no generados por aplicaciones de usuario tales como
cabe duda de que tratar con archivos y directorios aplicaciones CAD, procesadores de texto, etc....
así como comprender la estructura en la que estos
se distribuyen en el disco es algo de importancia 2.- Datos del sistema: Información, normalmente
vital. No ya para comprender GNU/LiNUX sino en formato de texto plano, que contienen información
cualquier S.O. sobre como está configurado nuestro sistema. Un
Tal como dijimos en pasados artículos, GNU/LiNUX ejemplo de este tipo de archivos será el archivo
es un S.O. deudor de UNiX y como veremos a lo /etc/passwd que contiene información relevante sobre
largo de este artículo, esto también se notará en las cuentas de usuario. Obviamente este tipo de
su Sistema de Archivos. Una vez más, el objetivo archivos es manejado habitualmente por el
es que lo que aprendamos en el siguiente artículo administrador del sistema, estando vedado su uso
no se limite a la distro XXXX... Es más, si después al resto de los usuarios.
de una lectura atenta del artículo hemos aprendido
algo, esto que hayamos aprendido será aplicable a 3.- Archivos ejecutables: Estos archivos contienen
cualquier sistema UNiX. instrucciones que el ordenador puede comprender
e interpretar. Son los llamados programas o
ejecutables.
2.- Archivos
4.- Archivos de dispositivo: Como se dijo en el
El concepto básico de un archivo, con el que casi
artículo anterior, una característica que determina
todos estamos probablemente familiarizados, define
el comportamiento de los sistemas UNiX-like, es que
a "archivo" como un conjunto de datos
incluso el acceso al hardware de nuestro ordenador
independientes que reside en nuestro disco duro.
se puede realizar mediante acceso a archivos. Estos
Con "independientes" queremos decir que podemos
archivos un tanto particulares requerirán de un
tener diversos archivos cuyos contenidos son
análisis en mayor profundidad que será abordado
distintos. Esto hará que sea necesaria la identificación
en breve.
de cada uno de estos archivos de manera que
podamos identificar el contenido del mismo frente
2.2.- Nombres de archivo
a los demás.
En GNU/LiNUX identificaremos un archivo por su En GNU/LiNUX podemos utilizar nombres de archivo
nombre y su ubicación. En cada ubicación o de hasta 256 caracteres. Estos caracteres pueden
"directorio" sólo podrá existir un único archivo con ser tanto letras mayúsculas como letras minúsculas,
PC PASO A PASO Nº 9 Página 5
6. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
números y otros caracteres especiales como el guión En GNU/LiNUX el directorio que contiene todos los
(-), el subrayado (_) o el punto (.). demás directorios es llamado "directorio raíz".
En este punto conviene llamar la atención sobre un Cualquier otro directorio será subdirectorio de este.
aspecto particular de los sistemas UNiX-like: Los A partir de este directorio raíz, tras poner un
nombres de archivos/directorios son case-sensitive; subdirectorio tras otro, formamos una estructura
es decir, nombres de archivo que son iguales en arborescente denominada "árbol de directorios” (ver
apariencia pero difieren en las mayúsculas y las fig 1 al final de este artículo)
minúsculas serán realmente dos nombres de archivo
distintos. Así por ejemplo los siguientes nombres de 3.3.- Nombres de directorio
archivos pueden coexistir en una misma ubicación Los directorios se nombran de la misma manera que
dado que son archivos distintos: ejemplo.txt, los archivos; es decir siguiendo la misma regla de
ejemplo.TXT, Ejemplo.txt, EJEMPLO.TXT, caracteres que se pueden utilizar y los que no y
EjEmPlO.txt, 3j3mp10_h4ch0r_d3_3s0s.txt.... observando el case-sensitive.
Quitando el último ejemplo que es una dedicación El carácter barra inclinada (/) es utilizado para
personal a las reinonas del glam que pululan por referirnos a directorios o archivos que están dentro
doquier, creo que queda bien reflejado el sentido de un directorio. Por ejemplo,
del párrafo anterior. artículoshxc/artículo2.abw, nos dice que el archivo
Existirán así mismo una serie de meta caracteres artículo2.abw se encuentra dentro del directorio
que no podrán formar parte del nombre de un artículoshxc. Así mismo con el siguiente ejemplo
archivo. Es el caso de los asteriscos (*), signo de artículoshxc/grafs nos estamos refiriendo a un
interrogación (?), barra invertida (), etc... Debido subdirectorio, grafs que se encuentra bajo el directorio
a que tendrán un significado concreto para la shell. artículoshxc.
Cuando se aborde en profundidad la shell y sus Nótese que a priori es difícil distinguir cuando nos
intríngulis veremos más de estos meta caracteres. estamos refiriendo a un archivo o a un directorio.
Más adelante veremos que mediante los comandos
3.- Directorios adecuados y parámetros no menos adecuados
podremos distinguir fácilmente cuando listamos
GNU/LiNUX, al igual que muchos SS.OO. organizan
archivos o directorios. Por ahora puede ser un
los archivos en directorios. Podemos pensar en los
ejercicio interesante observar las distintas salidas
directorios como en carpetas que contienen archivos
que provocan las siguientes invocaciones de comando:
o a su vez más carpetas.
3.1.- Directorios Padre y 00 $ ls
01 $ ls -F
Subdirectorios
02 $ ls --color
Imaginemos la siguiente situación: Un directorio A 03 $ ls --color -F
que contiene un directorio B. Llamaremos a B
subdirectorio del directorio A, y el directorio A será En cuanto a la salida es probable que muchos no
el directorio padre del directorio B. observéis diferencias. Esto es debido a que sobre
Esto que a algunos les parecerá una perogrullada todo las dos últimas opciones (02 y 03) vienen ya
(sobre todo a los que, como servidor, peinan canas) activadas "de serie". Por supuesto nosotros
he decidido ponerlo, no ya para rellenar espacio aprenderemos a "activar opciones de serie" cuando
como barruntan las mentes malpensantes, sino como nos enfrentemos al artículo "La shell y tú: una historia
una necesidad perentoria. ¿Lo qué? Pues eso; como de lujuria".
El directorio raíz será siempre mostrado con un
tengo la fortuna de dedicarme a esto de la enseñanza
carácter / en vez de referirnos a él con un nombre.
de rerum calculum machinae, puedo asegurar que
No debe causarnos confusión el distinguir cuando
de los nacidos en el 85 en adelante casi nadie ha
el carácter / se utiliza para separar nombres de
utilizado en su vida algo similar a una línea de directorios o cuando se utiliza para referirse al
comandos y que incluso pasar del concepto de directorio raíz. En este último caso jamás irá precedido
"carpeta" al de directorio a menudo trae problemas. de un nombre. Así al escribir /usr/bin nos estamos
refiriendo al directorio bin que cuelga del directorio
3.2.- El directorio raíz: La madre usr que a su vez cuelga del directorio / (raíz).
(¿padre?) de todos los directorios
Página 6 PC PASO A PASO Nº 9
7. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
3.4- El directorio Home de trabajo. Para ver las numerosas opciones que
soporta este comando podemos teclear ls --help |
GNU/LiNUX proporciona a cada usuario su propio more (¿quién no se estudió el capítulo de
directorio. Este es el llamado "directorio home" o fontanería....? ;o) )
"directorio casa". Dentro de este directorio cada
usuario puede guardar sus propios archivos y crear 4.2.- Nombres de archivo absolutos
sus propios subdirectorios.
y relativos
Dependiendo del sistema GNU/LiNUX que se utilice,
los demás usuarios podrán acceder o no a los
Cuando especificamos el nombre de un archivo,
archivos de un usuarios determinado.
GNU/LiNUX lo busca en el directorio de trabajo. Si
La localización del directorio home puede ser
el archivo no se encuentra en el directorio de trabajo
cambiada por el administrador, pero habitualmente
se nos mostrará un mensaje de error:
este tipo de directorios se encuentran bajo el
directorio /home.
00 luis@el_chaman ~ $ ls cosa
01 cosa
4.- Navegando por el Sistema de 02 luis@el_chaman ~ $ ls cosa2
Archivos de GNU/LiNUX 03 ls: cosa: No existe el archivo o directorio
Navegar por el sistema de archivos GNU/LiNUX es En algunas ocasiones nos interesará referirnos a un
una tarea harto sencilla: tan sólo tendremos que archivo que no se encuentre en el directorio de
aprender dos comandos y uno de ellos ni siquiera trabajo. Entonces nos tendremos que referir al
posee parámetros. archivo diciendo el directorio donde se encuentra
y el propio nombre del archivo.
4.1.- El comando pwd: ¿Dónde estoy?
00 luis@el_chaman ~ $ ls artículoshxc/artículo2.abw
Tecleemos el comando pwd. Observaremos algo 01 artículo2.abw
como: 02 luis@el_chaman ~ $
00 luis@el_chaman ~ $ pwd En el ejemplo vemos como si queremos listar el
01 /home/luis archivo artículo2.abw que se encuentra dentro del
02 luis@el_chaman ~ $ subdirectorio artículoshxc debemos de especificar
el nombre del subdirectorio y el nombre del archivo.
Esto quiere decir que nos encontramos en el directorio A esta manera de hacer las cosas se le denomina
/home/luis. Este directorio (en el que nos nombre de archivo relativo dado que la ruta (path)
encontremos en cada momento) será conocido como hacia el archivo que buscamos es relativa a nuestro
directorio de trabajo o directorio actual. Este es el directorio de trabajo; es decir, a donde nos
directorio home para el usuario luis. Por defecto, encontramos en un determinado momento. Si
cuando entramos en nuestro sistema, GNU/LiNUX cambiásemos de directorio de trabajo, este manera
nos deposita en nuestro directorio home. de referirnos al archivo artículo2.abw ya no nos
serviría.
El término pwd corresponde al acrónimo print working
directory. Esto nos muestra otra costumbre bastante Además, puede parecer que esto nos permite realizar
común en los entornos UNiX-like: la abreviación de llamadas relativas sobre subdirectorios (es decir,
comandos de manera que sean fáciles de teclear. directorios que se encuentran por debajo de donde
nos encontramos nosotros). Esto no es del todo
Una vez que estamos situados en un directorio,
cierto dado que existen dos directorios especiales
querremos saber que contiene. Para ello, se utiliza
que nos permitirán hacer cosas curiosas: . (directorio
el comando ls.
de trabajo) y .. (directorio padre del directorio de
00 luis@el_chaman ~ $ ls trabajo). Así por ejemplo todas las siguientes llamadas
01 artículoshxc cosa multimedia public_html son nombres de archivos relativos al directorio de
02 luis@el_chaman ~ $ trabajo actual:
El comando ls (list) nos lista el contenido del directorio 00 luis@el_chaman ~ $ ls ./artículoshxc/artículo2.abw
PC PASO A PASO Nº 9 Página 7
8. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
01 artículo2.abw 13 luis@el_chaman $ pwd
02 luis@el_chaman ~ $ ls ../tuxed/visio.iso 14 /
03 visio.iso
El directorio raíz no posee padre, así que si ahora
En el segundo comando .. significa que subimos un tecleásemos cd .. (obsérvese el espacio obligatorio
nivel, nos metemos dentro del directorio home del entre cd y los dos puntos) seguiríamos estando en
usuario tuxed y listamos el archivo visio.iso. Por el directorio raíz.
cierto, este archivo nada tiene que ver con cierta
aplicación comercial de la que no se puede realizar Si tecleamos simplemente cd sin pasarle argumentos,
copias sin el consentimiento expreso de MicroSoft. automáticamente nos lleva a nuestro directorio home:
La otra manera de referirnos a estos archivos sería 00 luis@el_chaman $ pwd
mediante el uso de la ruta que va desde el directorio 01 /usr/doc
raíz hasta donde se encuentra el archivo que 02 luis@el_chaman $ cd
queremos sin tener en cuenta para nada el directorio 03 luis@el_chaman $ pwd
de trabajo. A esta manera de hacer las cosas se le 04 /home/luis
denomina nombre de archivo absoluto. El ejemplo
arriba mostrado quedaría de la siguiente manera: Es bastante común en las últimas distribuciones que
el propio prompt (el texto que aparece a la derecha)
00 luis@el_chaman ~ $ ls nos diga en todo momento en que directorio nos
/home/luis/artículoshxc/artículo2.abw encontramos. Recordad que no todos los GNU/LiNUX
01 artículo2.abw y mucho menos todos los UNiX están configurados
02 luis@el_chaman ~ $ ls /home/tuxed/visio.iso de esta manera. Además, siempre es bueno conocer
03 visio.iso lo que funcionará en todos los sitios. Como
anecdotario particular, la salida real en mi sistema
4.3.- Nos vamos a hacer turismo por de los ejemplos anteriores tiene más bien el siguiente
aspecto:
el disco duro: El comando cd
00 luis@el_chaman ~ $ cd /home/luis
El comando cd (change directory) nos permitirá
01 luis@el_chaman ~ $ pwd
cambiar de directorio de trabajo. Es decir, nos
02 /home/luis
moveremos a otro directorio. La sintaxis de este
03 luis@el_chaman ~ $ cd ..
comando es la siguiente:
04 luis@el_chaman /home $ pwd
05 /home
00 cd <directorio_destino>
06 luis@el_chaman /home $ cd luis/artículoshxc
07 luis@el_chaman ~/artículoshxc $ pwd
El espacio entre cd y <directorio_destino> es
08 /home/artículoshxc/
obligatorio. El directorio de destino puede ser el
09 luis@el_chaman ~/artículoshxc $ cd /usr/doc
nombre absoluto o relativo de un directorio. Veamos
10 luis@el_chaman /usr/doc $ pwd
algunos ejemplos:
11 /usr/doc
12 luis@el_chaman /usr/doc $ cd /
00 luis@el_chaman $ cd /home/luis //Camino absoluto
13 luis@el_chaman / $ pwd
01 luis@el_chaman $ pwd
14 /
02 /home/luis
15 luis@el_chaman / $ cd
03 luis@el_chaman $ cd .. //Camino relativo
16 luis@el_chaman ~$ pwd
04 luis@el_chaman $ pwd
17 /home/luis
05 /home
06 luis@el_chaman $ cd luis/artículoshxc//Camino relativo
Obsérvese que por abreviar el directorio home se
07 luis@el_chaman $ pwd
escribe con el símbolo ~
08 /home/artículoshxc/
09 luis@el_chaman $ cd /usr/doc //Camino absoluto
10 luis@el_chaman $ pwd 5.- Creando y borrando archivos
11 /usr/doc
12 luis@el_chaman $ cd / //Camino absoluto GNU/LiNUX dispone de diversas maneras de crear
Página 8 PC PASO A PASO Nº 9
9. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
y eliminar archivos. De hecho, algunas de estas 00 luis@el_chaman ~ $ cat /dev/cdrom > imagenCD.iso
maneras son tan simples de realizar que muchas
veces tenemos que tener cuidado de no borrar o Pero antes de meternos en tamaños berenjenales,
sobrescribir accidentalmente archivos. vamos a hablar un poco sobre este gatito. El comando
cat funciona de la siguiente manera: toma como
Inicialmente vamos a crear un archivo utilizando las entrada el primer parámetro que le pasemos y nos
redirecciones de entrada/salida. Las redirecciones muestra su contenido.
funcionan de la siguiente manera: Una redirección Por defecto, si se invoca sin ningún parámetro, se
de salida (>) desvía el flujo de información generado toma como entrada la entrada estándar (es decir,
por un programa y que se destina a la salida estándar el teclado). Veamos un ejemplo:
hacia otra ubicación, normalmente un archivo. Una
redirección de entrada (<) desvía el flujo de datos 00 luis@el_chaman ~ $ cat
de entrada estándar, es decir el teclado, a otra 01 Hola, esto es una prueba. Ahora doy a ENTER
fuente de datos; normalmente un fichero. 02 Hola, esto es una prueba. Ahora doy a ENTER
03 y sigo en la siguiente línea.
Vamos a crear nuestro primer fichero mandando 04 y sigo en la siguiente línea.
todo aquello que debería de salir por pantalla a un 05 ¿Cómo salgo de aquí por Dios?
archivo. Para ello, vamos a teclear la siguiente 06 ¿Cómo salgo de aquí por Dios?
secuencia de comandos: 07 <Ctrl-D>
08 EOF
00 luis@el_chaman ~ $ cd
01 luis@el_chaman ~ $ ls -l /bin > ejecutables_en_bin.txt Parece que nos hemos atascado, compañeros
02 luis@el_chaman ~ $ ls ejecutables_en_bin.txt padawanes. Cada vez que le damos a ENTER el gatito
03 ejecutables_en_bin.txt este se empeña en repetir lo que hemos escrito.
04 luis@el_chaman ~ $ Muy bien. Para salir de esta pesadilla lo que tenemos
que hacer es presionar la combinación Ctrl-D (
Tras teclear lo arriba mostrado, habremos generado Control + D) si estamos al principio de una línea o
un archivo de texto que contiene un listado de los Ctrl-D, Ctrl-D (dos veces) si estamos al final. Esto
archivos contenidos en el directorio /bin. Para que insertará el carácter fin de archivo (EOF, end of file)
nos hagamos una idea de lo que contendrá ese con lo que habremos terminado.
archivo, basta con que volvamos a ejecutar el
comando pero sin redireccionar ahora la salida: Bueno, hemos visto que todo lo que escribíamos se
mandaba a la salida estándar. ¿Qué ocurriría si
00 luis@el_chaman ~ $ cd redireccionamos las salida estándar a un fichero?:
01 luis@el_chaman ~ $ ls -l /bin
00 luis@el_chaman ~ $ cat > nuevo_fichero.txt
Ahora bien; ¿cómo podemos ver el contenido del 01 Hola, esto es una prueba. Ahora doy a ENTER
archivo?. De nuevo existirán varias maneras; listo 02 y sigo en la siguiente línea.
algunas pero nos quedaremos con la última por ser 03 ¿Cómo salgo de aquí por Dios?
la más potente: 04 <Ctrl-D>
00 luis@el_chaman ~ $ more ejecutables_en_bin.txt Bueno, parece que el gato este ahora no es tan
01 luis@el_chaman ~ $ less ejecutables_en_bin.txt respondón. Pulsamos de nuevo Ctrl-D y veremos
03 luis@el_chaman ~ $ cat ejecutables_en_bin.txt que volvemos al prompt del sistema.
5.1.- cat: Sobre gatos y otros bichos 00 luis@el_chaman ~ $
01 luis@el_chaman ~ $ cat nuevo_fichero.txt
El comando cat es uno de los más simples, útiles y 02 Hola, esto es una prueba. Ahora doy a ENTER
versátiles comandos de los que disponemos en 03 y sigo en la siguiente línea.
GNU/LiNUX. Para que os hagáis una idea: ¿Cómo 04 ¿Cómo salgo de aquí por Dios?
creo una imagen ISO de un CDROM? ¿Nero? ¿Algo 05 luis@el_chaman ~ $
similar? Agárrense vuesas mercedes los machos y
dispongan a asombrarse: Bueno, lo que hemos hecho es utilizar ahora cat
PC PASO A PASO Nº 9 Página 9
10. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
como visualizador. Simplemente hemos tecleado cat 09 Este es un texto modosito que hacemos para
nuevo_fichero.txt y el gatito nos muestra el contenido probar una cosa. Versión dos.
de dicho fichero. Si quisiéramos añadir más texto 10 luis@el_chaman ~ $
teclearíamos:
Como vemos cat se ha encargado en la línea 06 los
00 luis@el_chaman ~ $ cat >> nuevo_fichero.txt archivos otro_fichero1.txt y otro_fichero2.txt mandando
01 Este es texto añadido el contenido al fichero otro_fichero3.txt.
02 <Ctrl-D>
03 luis@el_chaman ~ $ cat nuevo_fichero.txt 5.2.- Creando directorios
04 Hola, esto es una prueba. Ahora doy a ENTER
05 y sigo en la siguiente línea. Para crear un nuevo directorio tendremos que usar
06 ¿Cómo salgo de aquí por Dios? el comando mkdir. La sintaxis de este comando es
07 Este es texto añadido. mkdir <nombre> donde <nombre> es el nombre que
08 luis@el_chaman ~ $ queremos dar al directorio:
Es decir, un único comando de sistema nos puede 00 luis@el_chaman ~ $ ls
servir de editor de supervivencia. Eso sí, su uso 01 artículoshxc cosa multimedia
requiere de mucho cuidado. Fijémonos en la línea nuevo_fichero.txt otro_fichero1.txt
00. La redirección ha sido sustituida por unos >>. 02 otro_fichero2.txt otro_fichero3.txt
Esto quiere que la redirección se comporta como public_html
antes pero que añade texto al texto existente. Si 03 luis@el_chaman ~ $ mkdir ejercicios_hxc
sólo pusiéramos un único > sustituiría el antiguo 04 luis@el_chaman ~ $ ls
texto por el nuevo (se recomienda experimentar 05 artículoshxc cosa ejercicios_hxc
con esto). multimedia nuevo_fichero.txt otro_fichero1.txt
06 otro_fichero2.txt otro_fichero3.txt public_html
Bueno, y podríamos decir que ya hemos terminado
con el gatito. Bueno, alguien se preguntará el
5.3.- Moviendo y copiando archivos,
porqué de que me haya estado refiriendo
constantemente a este comando como el gatito. La mareando la perdiz
razón es que cat en inglés significa gato. Vale, la
tontería del número nueve. ¿Pero por qué demonios A menudo necesitaremos mover o copiar archivos.
llaman a un comando gato? ¿ Por qué no perro, Cabe destacar que el término mover en informática
asno,....? Bueno la razón de ello es que cat NO se refiere a realizar una copia de un elemento
significa gato. El significado de este comando es de borrando el original. Copiar, por el contrario, se
nuevo una abreviatura que corresponde a la palabra refiere a hacer una copia conservando el elemento
inglesa concatenate, concatenar. Y esto es porque original.
este comando se construyó para concatenar (unir)
Los comandos que tenemos para mover y copiar
archivos. Veamos a cat en acción en el terreno que
son respectivamente:
mejor domina: la concatenación:
mv <origen> <destino>
00 luis@el_chaman ~ $ cat > otro_fichero1.txt
cp <origen> <destino>
01 Este es un texto modosito que hacemos para
probar una cosa. Versión uno
Vamos a ver algunos ejemplos de uso:
02 <Ctrl-D>
03 luis@el_chaman ~ $ cat > otro_fichero2.txt
01 luis@el_chaman ~ $ ls
04 Este es un texto modosito que hacemos para
02 artículoshxc cosa ejercicios_hxc
probar una cosa. Versión dos.
multimedia nuevo_fichero.txt otro_fichero1.txt
05 <Ctrl-D>
03 otro_fichero2.txt otro_fichero3.txt
06 luis@el_chaman ~ $ cat otro_fichero1.txt
public_html
otro_fichero2.txt > otro_fichero3.txt
04 luis@el_chaman ~ $ mv ejercicios_hxc ejercicioshxc
07 luis@el_chaman ~ $ cat otro_fichero1.txt
05 luis@el_chaman ~ $ ls
08 Este es un texto modosito que hacemos para
06 atículoshxc cosa ejercicioshxc
probar una cosa. Versión uno
multimedia nuevo_fichero.txt otro_fichero1.txt
Página 10 PC PASO A PASO Nº 9
11. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
07 otro_fichero2.txt otro_fichero3.txt multimedia nuevo_fichero.bck public_html
public_html 09 luis@el_chaman ~ $ ls ejercicioshxc
08 luis@el_chaman ~ $ cp nuevo_fichero.txt 10 cosa multimedia nuevo_fichero.bck
nuevo_fichero.bck nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt
09 luis@el_chaman ~ $ ls otro_fichero3.txt
10 artículoshxc cosa ejercicioshxc 11 luis@el_chaman ~ $
multimedia nuevo_fichero.txt nuevo_fichero.bck
11 otro_fichero1.txt otro_fichero2.txt En la línea 01 movemos el directorio cosa (y todo lo
otro_fichero3.txt public_html que contenga) al directorio ejercicioshxc, quedando
dentro de este. En 06 sin embargo hacemos una
copia de multimedia y todo lo que contenga
En la línea 04 lo que hacemos es mover el directorio recursivamente y la situamos dentro de ejercicioshxc.
que creamos anteriormente; equivale a renombrarlo. Obsérvese el parámetro -R (de recursive, recursivo)
En la línea 08 realizamos una copia de que es el que indica que se debe de copiar el
nuevo_fichero.txt a nuevo_fichero.bck. directorio y todo sus contenidos (incluyendo posibles
subdirectorios). Podemos consultar más parámetros
El uso común de estos comandos suele ser utilizarlos de mv o cp tecleando man mv o man cp
junto con comodines. Los comodines son una serie
de caracteres especiales que sustituyen partes del 5.4.- Borrando archivos y directorios:
nombre de un archivo (*) o letras del mismo (?). Jugamos con fuego.
Así los siguientes comandos:
Antes de nada asegurémonos que no estamos como
01 luis@el_chaman ~ $ cp * /tmp usuario root (administrador) dado que si metemos
02 Omitiendo artículoshxc: Es un directorio la pata y borramos algo que no debemos la cosa
03 Omitiendo cosa: Es un directorio tendrá difícil solución. Sin embargo si un usuario
04 Omitiendo ejercicioshxc: Es un directorio normal intentase borrar archivos delicados para el
05 Omitiendo multimedia: Es un directorio sistema, éste no le dejaría. En próximos apartados
06 Omitiendo public_html: Es un directorio veremos la razón de esto.
07 luis@el_chaman ~ $ mv *.txt ejercicioshxc
08 luis@el_chaman ~ $ cp *.bc? ejercicioshxc El comando por antonomasia para el borrado es rm
(de remove, eliminar) cuya sintaxis es: rm <nombre>
En la línea 01, copiamos TODOS los archivos (no donde nombre es el nombre de archivo a borrar. Al
directorios) que hay en el directorio de trabajo al igual que cp y mv admite comodines lo cual puede
directorio /tmp. En la línea 07 movemos todos los resultar peligroso. Veamos algunos ejemplos:
archivos que terminen en .txt al directorio ejercicioshxc
y en la línea 08 copiamos todos los archivos que 01 luis@el_chaman ~ $ cd ejercicioshxc
terminen en .bc? siendo ? cualquier carácter (por 02 luis@el_chaman ~/ejercicioshxc $ ls
ejemplo nuevo_fichero.bck o mikasa.bcx). 03 cosa multimedia nuevo_fichero.txt
nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt
Podemos así mismo mover directorios a otra otro_fichero3.txt
ubicación o copiar estructuras enteras de directorios: 04 luis@el_chaman ~/ejercicioshxc $ rm
nuevo_fichero.txt
01 luis@el_chaman ~ $ mv cosa ejercicioshxc 05 luis@el_chaman ~/ejercicioshxc $ ls
02 luis@el_chaman ~ $ ls 06 cosa multimedia nuevo_fichero.bck
03 artículoshxc ejercicioshxc multimedia otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt
nuevo_fichero.bck public_html 07 luis@el_chaman ~/ejercicioshxc $ rm otro_*
04 luis@el_chaman ~ $ ls ejercicioshxc 08 luis@el_chaman ~/ejercicioshxc $ ls
05 cosa nuevo_fichero.bck nuevo_fichero.txt 09 cosa multimedia nuevo_fichero.bck
otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt 10 luis@el_chaman ~/ejercicioshxc $
06 luis@el_chaman ~ $ cp multimedia ejercicioshxc -
R Una manera segura de utilizar siempre el comando
07 luis@el_chaman ~ $ ls rm es añadirle el parámetro -i. Esto hará que cada
08 artículoshxc ejercicioshxc vez que queramos borrar un determinado archivo
PC PASO A PASO Nº 9 Página 11
12. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
nos pregunte si realmente queremos hacerlo o no: directorio (podría ser perfectamente un archivo
normal) multimedia. El primer luis significa el
01 luis@el_chaman ~/ejercicioshxc $ ls propietario del archivo/directorio y el segundo usr
02 cosa multimedia nuevo_fichero.bck representa al grupo de usuarios al que pertenece el
03 luis@el_chaman ~/ejercicioshxc $ rm -i archivo/directorio.
nuevo_fichero.bck
04 rm: ¿ borrar "nuevo_fichero.bck"? (s/n) n 6.1.- Cambiando propietarios.
05 luis@el_chaman ~/ejercicioshxc $
Imaginemos la siguiente situación: deseamos que
Esta opción viene en muchos sistemas activada por un archivo del ordenador pase a pertenecer a otra
defecto para el usuario root. persona:
Para eliminar directorios emplearemos el comando
rmdir cuya sintaxis es rmdir <nombre_directorio>. 01 luis@el_chaman ~/ejercicioshxc $ cd
Antes de poder eliminar un directorio nos debemos /usr/share/pixmaps
de asegurar de que este esté vacío: 02 luis@el_chaman /usr/share/pixmaps $ ls -l
03 -rw-r--r-- 1 pepe raros 4,0K 2003-04-15 23:00
01 luis@el_chaman ~/ejercicioshxc $ rmdir cosa logo.png
02 rmdir: cosa: El directorio no está vacío
03 luis@el_chaman ~/ejercicioshxc $ rm cosa/* En el directorio /usr/share/pixmaps tenemos un archivo
04 luis@el_chaman ~/ejercicioshxc $ rmdir cosa llamado logo.png que pertenece al usuario pepe y al
grupo raros. Queremos cambiar el propietario a luis
En ocasiones esta manera de borrar un directorio y el grupo a users. Lo tendremos que hacer como
puede resultar extremadamente tediosa, sobre todo root:
si el directorio a borrar contiene múltiples niveles
de subdirectorios. Para poderlo hacer con un único 01 luis@el_chaman ~/ejercicioshxc $ su --
comando emplearemos las opciones -r (recursive) 02 Password:
y -f (force) del comando rm: 03 root@el_chaman/usr/share/pixmaps $ chown
luis.users logo.png
01 luis@el_chaman ~/ejercicioshxc $ rm -rf cosa 04 root@el_chaman /usr/share/pixmaps $ ls -l
05 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00
Mucho cuidado con este comando. Imaginaos que logo.png
ocurre si como root ejecutamos
En el ejemplo se cambia a la vez el grupo y el
rm -rf /. No ejecutar directorio. Sería posible cambiar por separado el
usuario y el grupo. Ejemplos que hacen esto serían:
6.- Permisos y propietarios de los chown luis logo.png,
ficheros chown .users logo.png.
Todos y cada uno de los archivos y directorios de 6.2.- Permisos.
un sistema GNU/LiNUX poseen permisos. Podremos
cambiar los permisos y en ocasiones los propietarios Observemos un momento la siguiente tabla. En ella
de nuestros archivos con el fin de proporcionar se nos muestra la notación binaria denominada octal
mayor o menor grado de acceso a los mismos. Los debido a que puede mostrar ocho valores distintos.
permisos también determinan si los archivos pueden
ejecutarse como un comando o no.
Ahora analicemos un momento la salida que nos dio
Si tecleamos ls -l, veremos una salida similar a esta: la ejecución del comando ls -l anteriormente
ejecutado:
01 luis@el_chaman ~/ejercicioshxc $ ls -l
02 drw-r--r-- 1 luis usr 4,0K 2003-04-15 05 -rw-r--r-- 1 luis users...........
23:00 multimedia
Agrupemos ahora esa cadena de erres, guiones y
La cadena drw-r--r-- representa los permisos del uves doble en grupos de tres comenzando por la
Página 12 PC PASO A PASO Nº 9
13. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS
izquierda. Obtendremos algo parecido a: un significado muy distinto para un directorio. Os
rwx invito a que investiguéis qué sucede si damos permiso
rw- permisos para el propietario al que pertenece de ejecución o no a un directorio. Utilizad dos
el archivo usuarios distintos que pertenezcan a distintos grupos.
r-- permisos para el grupo al que pertenece el Ya me contaréis vuestras experiencias ;o)
archivo
r-- permisos para el resto de los usuarios 7.- Conclusiones
r: permiso de lectura Una vez más nos quedamos cortos de espacio y
w: permiso de escritura muchas cosas en el tintero. Aún así espero haber
x: permiso de ejecución sintetizado lo más importante de los sistemas de
-: sin permiso archivos bajo entornos UNíX.
Teniendo esta información en mente, veamos que
Quede como comentario final que debido al espacio
sucede cuando cambiamos los permisos de un
no se ha podido comentar en profundidad la finalidad
archivo:
de cada uno de los directorios. Afortunadamente
esta es una información bastante sencilla de
01 root@el_chaman /usr/share/pixmaps $ ls -l
encontrar: http://www.pathname.com/fhs/2.2/ En esta
02 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00
página se nos muestra el Filesystem Hierarchy
logo.png
Standard ( Jerarquía Estándar del Sistema de
03 root@el_chaman /usr/share/pixmaps $ exit
Archivos) o dicho de otra manera: Qué va en cada
04 luis@el_chaman /usr/share/pixmaps $ chmod 755
directorio, cuántos directorios puedo encontrarme
logo.png
en un sistema UNiX , qué puedo esperar encontrarme
05 luis@el_chaman /usr/share/pixmaps $ ls -l
en cada uno de ellos, etc.....
06 -rwxr-xr-x 1 luis users 4,0K 2003-04-15 23:00
logo.png
Una vez leáis esa página comprenderéis el porqué
Vemos como han cambiado los permisos del archivo, de la omisión de tan interesante apartado (y vital
ahora bien, ¿cómo lo hemos hecho? ¿Qué significa para el tema que tratamos).
ese extraño número que he puesto? Fijémonos ahora
en la tabla adjunta. Concretamente en los números Saludos.
binarios. Imaginemos que los 1s activan permisos
i los 0s los cancelan. Como tenemos que asignar a
cada grupo de permisos (propietario, grupo y resto
de usuarios) un valor para lectura, escritura y
ejecución, lo haremos aplicando a los tres posibles
p e r m i s o s u n a m á s c a ra . A s í t e n d r e m o s :
máscara
Inicial Dec Bin Resultado (Fig 1)
Propietario rwx 7 111 rwx
Grupo rwx 5 101 r-x
Resto rwx 5 101 r-x
Observamos que al escribir chmod 755 archivo, lo EL GANADOR DEL
que hacemos es pasar una máscara binaria a los SORTEO DE UN SUSE
posibles permisos activándolos o desactivándolos LINUX 8.2 DEL MES DE
para el archivo. Sólo podremos cambiar los permisos
FEBRERO ES:
de un archivo si poseemos permiso de escritura
sobre él. OSCAR PONS MARTI
MENORCA
Los permisos pueden ser modificados tanto en SEGUIR LLAMANDO, EL PROXIMO
archivos como en directorios teniendo en cuenta PODRIA SER PARA TI (PAG 66)
que el concepto de "permiso de ejecución" posee
PC PASO A PASO Nº 9 Página 13
14. 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 prácticas de hacking. servidor, verá el default.htm modificado para vergüenza
del “site” hacheado. Esto es muy genérico pero os dará
- Actualmente tiene el BUG del Code / Decode y lo una idea de cómo funciona esto de hackear Webs ;)
dejaremos así por un tiempo (bastante tiempo ;) Nuestra
intención es ir habilitando servidores a medida que os - Cuando accedas a nuestro servidor mediante el CODE /
enseñemos 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 economía 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 prácticas. 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 Raíz del Sistema idea es crearlo, por ejemplo, en
* La unidad e: --> CD-ROM d:winntsystem32defaultmellamojuan (ya irás
aprendiendo que cuanto mas oculto mejor :)
Nota: Raíz 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 raíz 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 años)
páginas Web y tiene su raíz en d:inetpub (el directorio
por defecto) - En este momento tenemos mas de 600 carpetas de peña
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.
extraño tanto el nombre de esta carpeta (d:inetpub) cómo
su contenido. Pero bueno, un día de estos os enseñaremos
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 estás haciendo realmente es ir al ! MUY IMPORTANTE...
directorio d:Inetpubwwwroot 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 páginas Web (seguro que has oído hablar de
él). Si tuviésemos instalado el apache, cuando pusieses del Servidor si no sabes exactamente lo que estás haciendo ni
nuestra IP en TU navegador, accederías a un directorio borres las carpetas de los demás usuarios. Si haces eso, lo único
raíz del Apache (donde se hubiese instalado) e intentarías
leer una página 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 mayoría, seguro que piensa en
un Servidor Web como en algo extraño que no saben ni Es una tontería 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
dónde se encuentran la mayoría de IIS (en Inetpub) y
cuál es la página por defecto el mundo pueda crearse su carpeta y practicar nuestros ejercicios.
(Inetpubwwwrootdefault.htm). Y ahora, piensa un poco…
En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada
… ¿Cuál 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 cuídalo un poquito y montaremos muchos más :)
y he hackeado esta Web” (eso si es un lamer ;)
Página 14 PC PASO A PASO Nº 9
15. APACHE Parte III :
Configuracion - Comparte
tus ficheros mediante web
Bienvenidos de nuevo. En el número anterior se explicó los comandos básicos de Apache,
se comentó con ejemplos las principales directivas que hacen funcionar el servidor Apache
y se aplicó todo lo aprendido para poder compartir ficheros mediante HTTP sin necesidad
de programas externos.
Este capítulo está dividido en dos partes, en la primera parte profundizaremos en algunos
módulos y en la segunda parte comenzaremos a crear servidores virtuales. ¿tienes
curiosidad de saber qué es todo esto?, ... ya verás.
1. Los módulos de Apache. qué hacen para luego entender la práctica que
vamos a realizar.
Un módulo de Apache es un componente que
añade funcionalidad al servidor. Existen mod_auth_anon: permite a usuarios
diferentes módulos y pueden ser configurables. anónimos acceder a áreas autentificadas.
Es necesario que sepas que puedes crear un
módulo programado en C y adaptar el servidor mod_auth_dbm: proporciona autentificación
Apache a tus necesidades. En la red encontrarás utilizando ficheros DBM.
infinidad de módulos realizados por
programadores independientes. mod_auth_digest: autentificación de usuario
utilizando MD5.
Los módulos se pueden clasificar en 3 mod_cern_meta: Semántica de etiquetas
categorías: meta del CERN.
1. Módulos base: Son los módulos con las mod_expires: Generación de las cabeceras
funcionas básicas de Apache. http Expires, de acuerdo de los criterios
especificados por el usuario.
2. Módulos multiproceso: son los responsables
de la unión con los puertos del ordenador. mod_headers: personalización de las
peticiones HTTP y las cabeceras de las
3. Módulos adicionales: cualquier otro módulo respuestas.
que añade funcionalidad pero no es
estrictamente necesario para el funcionamiento mod_info: proporciona una visión comprensiva
del Apache. de la configuración del servidor.
¿Dónde se encuentran los módulos adicionales?, mod_mime_magic: determina el tipo MIME
los localizarás en c:apachemodules de un fichero mirando unos pocos bytes del
contenido.
Apache instala por defecto los siguientes
módulos, es necesario que sepáis por lo menos mod_proxy: servidor HTTP/1.1 proxy/gateway.
PC PASO A PASO Nº 9 Página 15
16. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB
mod_rewrite: proporciona un motor de todas las instalaciones requieren de "Virtual
reescritura basado en reglas que rescribe las Hosting".
peticiones de URL's al vuelo.
Por lo tanto si fueran incluidas todas las
mod_speling: intenta corregir las URL funcionalidades posibles en una versión única
mal puestas por los usuarios, ignorando de Apache, lo haría sumamente pesado en
las mayúsculas y permitiendo hasta una cuanto a requerimientos de Memoria RAM y
falta. espacio en Disco Duro, por esto se opta por
"modularizar" e incluir solo lo necesario.
mod_status: proporciona información en la
actividad y rendimiento del servidor. De momento, simplemente vamos a quedarnos
con la idea de que estos módulos añaden
mod_unique_id: proporciona variables de funcionalidad al Servidor Web y que algunos
entorno y un identificador único para cada de ellos son instalados por defecto.
petición.
Ahora queremos averiguar cuales son los
mod_usertrack: registro de actividad de un módulos que están funcionando por defecto
usuario en el sitio. en nuestro Servidor Web. Abrimos una consola
MSDOS y ponemos el comando de sistema
mod_vhost_alias: Proporcionado para APACHE –l, y aparecerá un listado de los
configurar muchos servidores virtuales módulos que están funcionando. Lo que hace
dinámicamente. el parámetro –l es abrir el archivo de
configuración httpd.conf y busca los módulos
que debe cargar Apache al iniciarse.
! DMB, MD5...
DMB, MD5, CERN, Cabeceras HTTP Expires, MIME …
Si eres profano en la materia, seguro que todo eso te suena
a "Klingoniano". No te preocupes, ya sabes que cuando
necesitamos conocer un término/concepto para la
comprensión de un artículo siempre lo explicamos a lo
largo del mismo.
Algunos de estos términos abarcan temas bastante extensos
y no es necesario explicarlo en este momento puesto que
NO IMPIDEN la comprensión de este artículo, pero te
recomendamos que cuando tengas un par de horas libres
"curiosees" en el mejor buscador que existe actualmente
www.google.com y hagas una "toma de contacto" con ellos.
Por cierto, si quieres aprender klingon puedes acudir a The
Klingon Language Institute (http://www.kli.org/) ;p
Una de las principales razones de emplear
módulos en Apache, es que no toda instalación
requiere de las mismas funcionalidades, no
Página 16 PC PASO A PASO Nº 9
17. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB
2. Listar contenido de los estos módulos puede provocar que Apache
directorios liste el contenido de sus directorios.
Así de simple. Lógicamente los señores de
Apache está considerado como uno de los Apache solucionaron el problema cuando
servidores web más estables que existen e fue descubierto, pero aún quedan muchos
infinitamente más seguro que el servidor IIS servidores Apache con este problema.
de Microsoft. Aún así tiene algunos fallos, ¿no Las versiones hasta 1.3.19 inclusive son
te lo crees?. vulnerables a este ataque.
Apache necesita utilizar módulos adicionales
¿Es válida cualquier cadena?, no. Tiene que
para mostrar contenido dinámico, y en estos
ser una cadena de barras inclinadas y la
módulos es donde podemos encontrar los fallos,
longitud es variable. Así que no tenemos
recuerda que cuantos más módulos se instalen
más remedio que hacer pruebas hasta
más probabilidad hay de tener agujeros de
que Apache liste el directorio. Si consideramos
seguridad.
que Apache admite una URL de 8000
caracteres como máximo, podemos listar
En el número anterior se explico cómo Apache
el contenido en un par de minutos si nos
puede listar el contenido del directorio, siempre
creamos un programa que genere URLs con
que nosotros configuremos el archivo httpf.conf
barras inclinadas.
para ello. Aún configurando este archivo para
que no liste el contenido de los directorios
El código es muy sencillo y supongo que
podemos saber los archivos alojados en todos
estás aprendiendo Visual Basic gracias al
los directorios, incluso en aquellos directorios
curso de HackxCrack, en los números
que tienen una página Index.
anteriores del curso de Visual Basic encontrarás
Vamos a explicar dos formas de obtener el todo lo necesario para crear el programa.
contenido de los directorios, el primer método De todos modos, colocaremos un sencillo
será utilizando un gran número de barras programa que hemos realizado para
inclinadas y el segundo método utilizando un aquellos que no quieran calentarse la cabeza.
bug del módulo Multiview. Al finalizar cada No estaría mal que cada uno de vosotros
método daremos respuesta a como evitar que hiciera una versión y la publicara en el foro,
seamos víctimas de estos ataques. ¿os atrevéis?
Listado del directorio utilizando barras Un ejemplo de cadena válida si queremos
inclinadas. saber el contenido del directorio
http://www.hackxcrack.com/cgi-
Cuando realizamos una petición a un servidor bin//////////////////////////////////// (funcionaría en
Apache, la URL es procesada por varios el caso de que el servidor fuese la versión
módulos, entre ellos mod_negotiation.c, 1.3.19 o anterior)
mod_include.c, mod_autoindex.c, estos módulos
se encuentran compilados en la versión Pero antes de que os pongáis como locos a
predeterminada de Apache, es decir, que estos poner barras inclinadas es necesario
módulos están instalados y activos en la mayoría que averigüéis la versión de Apache. En
de los servidores Apache. el capítulo anterior se explicaron varias
formas de saber remotamente la versión de
Cuando se pasa una URL de gran longitud por Apache.
PC PASO A PASO Nº 9 Página 17
18. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB
! Hemos utilizado la ...
Hemos utilizado la IP 127.0.0.1 y puerto 80 porque se
Os vamos a explicar otra forma de identificar supone que has seguido nuestro curso y en este momento
el servidor web, a modo de culturilla el tienes corriendo el apache en tu sistema en el localhost
procedimiento de identificar el servidor se le (127.0.0.1) y puerto 80. Si no, ya sabes, al final de la revista
llama “captura de mensajes” o “banner tienes el índice de los números anteriores publicados y te
grabbing”. Recordar que no siempre vamos a indica cómo conseguirlos y, por si no lo sabes, tienes en
poder capturar esta información, el servidor la Web el Número 1 de Hack x Crack GRATIS en formato
web tiene que tener la especificación HTTP 1.1 PDF… ¿alguien da más? ;p
(RFC 2616), que envía la información que
buscamos en los encabezados. Solución al problema de las barras
invertidas
! En esta ocasión...
Tenemos dos soluciones: actualizar el servidor
En esta ocasión vamos a utilizar el todopoderoso programa web Apache a una versión mayor a 1.3.19 o
netcat, esta aplicación ya ha sido explicada y utilizada en modificar el fichero de configuración.
prácticas anteriores de otros artículos de HxC.
Solucionar el problema mediante el archivo de
configuración es muy sencillo, abrimos con el
Abre una venta de MSDOS y pon lo siguiente: bloc de notas el archivo httpd.conf y buscamos
nc –nvv 127.0.0.1 80 las siguientes líneas:
tras el mensaje que aparece escribe: AddModule mod_autoindex.c
HEAD / HTTP/1.0 AddModule mod_dir.c
[Pon dos retornos de carro, es decir, pulsa el
botón Return dos veces] Estas líneas son las encargadas de añadir
los módulos al iniciarse
Y verás la información del servidor. el Apache,
simplemente pon las
Lo importante es conocer distintas formas almohadillas delante y
de averiguar la información, si estás en un graba el archivo.
cibercafe y no dispones del netcat pues sabes que poniendo
utiliza el telnet o cualquier herramienta almohadillas delante
online como transformas la línea
dnsstuff.com o (instrucción/comando)
n e t c ra f t . c o m , en un simple texto
además estas (comentario), ya lo
herramientas explicamos en
online tienen una anteriores números.
ventaja y es que
el servidor #AddModule mod_autoindex.c
consultado no # A d d M o d u l e m o d _ d i r. c
registrará tu IP ;)
Página 18 PC PASO A PASO Nº 9
19. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB
Como podemos ver con AddModule un servidor con este error. Pero no está mal
configuramos el servidor para que cargue los saberlo, ¿no crees?
módulos y así obtener nuevas funcionalidades,
en este caso hemos quitado la funcionalidad Módulo de configuración
de mostrar el contenido de los directorios de “mod_info.c”
manera radical. Tienes que tener en cuenta
que ya no podremos compartir archivos si El módulo mod_info.c permite saber la
hemos anulado estos módulos. configuración del servidor Apache, es
información estática pero de gran valor para
! Siempre que ... consultar como está configurado de manera
remota. Lógicamente el módulo mod_info.c no
está activado de manera predeterminada. Los
Siempre que sea posible se recomienda actualizar la versión
grandes servidores web, empresas de hosting,
del programa afectado por un bug, cualquier otra solución
... suelen tener activado este módulo para
como la explicada es válida pero suele tener consecuencias:
conocer el estado de la configuración del servidor
una limitación en los accesos, anulación de funciones, etc.
y ya podemos suponer que a muchos
administrados se les olvida proteger o anular
el acceso a los usuarios no permitidos
Listado de directorios con
Multiview El módulo mod_info da una visión general de
la configuración del servidor bastante amplia,
Existe otro bugs que ya ha sido corregido pero incluyendo los módulos y directrices.
que aún nos lo podemos encontrar en algunos
servidor Apache, es un error del parámetro Vamos a realizar una práctica de cómo ponerlo
Multiview que permite negociar el contenido en marcha para nuestro uso personal.
basándose en el lenguaje del documento.
Lo primero que hacemos es abrir el fichero de
Este parámetro no está activo de manera configuración httpd.conf y buscamos la cadena
predeterminada así que es más difícil que lo #LoadModule info_module
encontremos en el servidor de la victima, pero modules/mod_info.so , esta cadena dice al
nunca se sabe, ¿verdad?. Apache que lea el módulo mod_info.so, le
quitamos la almohadilla (#) para que realmente
Este parámetro puede estar colocado de la sea leído. Ahora buscamos la cadena
siguiente forma: #AddModule mod_info.c y también le
quitamos la almohadilla (#), con addmodule
Options FollowSymLinks MultiViews le decimos a Apache que añada el módulo
mod_info.c
¿Cómo podemos listar el contenido del directorio
utilizando el bugs de MultiViews?, es tan sencillo
como colocar una URL en el navegador o en ! Como has ...
el netcat, por ejemplo:
http://127.0.0.1/mp3?M=D, fíjate que finaliza Como has podido comprobar para que Apache tenga en
con ?M=D. cuenta un módulo primero hay que indicarle que lea el
módulo para después sea añadido. Recuerda que son dos
Esta manera de ver el contenido del directorio pasos "LoadModule y AddModule".
no es muy eficaz y es raro de que encuentres
PC PASO A PASO Nº 9 Página 19
20. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB
Ya queda poco, ahora tenemos que abrir el * Para información de la configuración de los
archivo access.conf que lo encontrarás en el módulos pondremos una dirección tipo
mismo directorio que el archivo de configuración http://127.0.0.1/infoservidor?nombre_
httpd.conf. del_módulo, por ejemplo:
--->http://127.0.0.1/infoservidor?mod_info.c
Este archivo también de configuración se utiliza
para acceder a los permisos de los archivos, * Para obtener la información de los módulos
directorios y script del sitio creado. Es un que se están utilizando:
archivo de apoyo, el contenido de este archivo --->http://127.0.0.1/infoservidor?list
podría estar perfectamente en httpd.conf, pero
para no terminar teniendo un mega archivo
de configuración se divide la configuración
en otros dos archivos (access.conf y
srm.conf). De momento nos quedamos
con httpd.conf y access.conf, el primero
es el archivo principal de configuración y
el segundo sirve de apoyo cuyo contenido
es definir permisos.
Continuamos con la práctica, abrimos el
archivo access.conf (seguramente estará
vacío) y ponemos las siguientes líneas:
<location /infoservidor>
SetHandler server-info
</location>
Reiniciamos el
servidor Apache Por último decir que infoservidor puede ser
(Apache –k cambiado por cualquier otra palabra como info,
restart) y info-servidor, info-server, admin, configure...
ponemos en el No estaría mal crear un programa cuyo objetivo
navegador la sea buscar la url de acceso a la configuración
siguiente URL: del servidor Apache si es que tiene activado el
módulo mod_info.c, ¿alguien se atreve?, con
---> http:// lo aprendido aquí y en el curso de Visual Basic
1 2 7 . 0 . 0 . 1 sería suficiente para crear el programa, lo ideal
/infoservidor sería utilizar un diccionario, ¿algún valiente?
El resultado es una
página con toda la ! Pásate por el foro ...
información de la
configuración del Pásate por EL FORO de la revista (www.hackxcrack.com)
servidor Apache. y podrás conversar con los lectores y colaboradores de PC
Paso a Paso (Los Cuadernos de Hack x Crack). A estas
* Para acceder únicamente a la información alturas ya formamos una peña de más de 2000 "socios".
del servidor ponemos: Te estamos esperando!!! ;)
---> http://127.0.0.1/infoservidor?server
Página 20 PC PASO A PASO Nº 9