Archivo de la categoría: Linux

Ataque HARVESTER – HACKING a GMAIL

Hola a todos, hoy vamos a enseñaros una técnica muy usada en España para saber nuestras contraseñas y usuarios. Es bueno conocerlas para no picar en el anzuelo, aunque muchos si fuéramos pez …

Siempre que rellenemos un campo en un formulario en una página web deberíamos fijarnos bien en el campo donde va la URL en nuestro navegador, podemos estar siendo víctimas de un ciber-ataque.

Este ataque se da por ingeniería social, se aprovechan de nuestra confianza para suplantar la página web original por un clon. A veces nos dan una IP, pero también se lo pueden trabajar más y darnos una dirección e una WEB. Yo mismo lo acabo de hacer con permiso de una amistad (victima).

Solo tienes que poner algo delicioso y la ingeniería social hace el resto. Lo habitual es recibir un correo (phishing) pero lo normal es alguien conocido por internet en la red social.

Yo a mi víctima le he dicho que gmail regalaba solo por hoy un espacio muy superior al servicio de pago de Dropbox de manera «»GRATIS»» y para toda la vida, como los premios del uno, dos, tres (lote jamón para toda la vida)

Hoy en día los gobiernos están gastando una gran cantidad de dinero intentando resolver el problema con las redes Bonets, las redes que forman los Ciber Activistas echar abajo los servicios Web de las empresas. Pero un atacante no necesita todo eso para hacer el mal, desde su silla lo puede hacer y quizás esa parte desconocedora de internet es la que un usuario de la calle necesita ver y quizás algún informático especializado en otra rama. (¿Benja aprendiste ya a formatear un PC? consultor 14años de experiencia)

El problema real es la posible creación de una CIBER GUERRA, anular todos los servicios en internet de ciertos países, robar documentación secreta, etc ..,.

La actividad criminal del ataque que presentamos hoy es muy alto pero el daño en números es mínimo comparado con otros y nos son estos los que preocupan a los ministerios de defensa.

Hagamos varias preguntas

Se me escapo la imagen anterior, vaya por dios Julian Muñoz y el amigo de los informáticos. La imagen que iba ahí:

En caso de una ciber-guerra quien sería el organismo encargado de …?, el gobierno?, el ejército?, una agencia libre y privada?, funciona el departamento de defensa?, que tareas se van a realizar, va ser detección?, investigación?, defensa?, ataque?. Como se van a coordinar los distintos grupos que participen?, va haber una respuesta al ataque?, quizás un ciber ataque militar mediante una BOOOOOOMMMMMBAAAAA cibernética?

 COÑO King Africa … no pronuncio más esa palabra.

Hay algún framework creado? como esta España de preparada?,   no hace falta que os responda verdad?.

Estados Unidos ya ha lanzado ataques contra países que poseían armas nucleares, una forma de conseguir información y anular sus sistemas, empieza esa guerra pero la rueda ya lleva tiempo girando, pero no hacía ruido.

Ante los nuevos acontecimientos nos surge una nueva y fuerte duda, ¿cómo es un guerrero de la red? Es una persona con habilidades especiales en una determinada área:

Ya no son necesarios guerreros físicamente bien preparados, al contrario ahora debemos producir especialistas de distintas áreas, pentester, informática forense, redes, etc.

En USA existe la directiva 8250 que especifica los distintos entrenamientos que tienen que seguir, siempre muy concretos para cada caso. Se entrenan en almacenamiento, en malwares, en … es un tema que tocaremos otro día, de momento sigamos con nuestro mini ataque sufrido en muchos hogares y dejemos los gobiernos a un lado.

Recursos necesarios:

  • Windows Instalado.
  • http://www.backtrack-linux.org/ (La imagen descargada de la aplicación Back Track). A partir de la versión 5 R1 se puede hacer, pero aconsejamos la R3.
  • Tener una cuenta gratuita de prueba en www.dyndns.com
  • Una víctima voluntaria.

Lo que vamos hacer es ir cargando en una máquina virtual con Vmware Workstation u otros la imagen del Back Track y arrancando de él. También os podéis hacer un Live con la distribución pero necesitareis entonces dos PC en la red.

Nos instalamos en el Windows PC la aplicación de dyn, se llama dyn updater, así cada vea que nos cambie la ip pública se nos actualizará con nuestro registro de host en www.Dyndns.com, esto ya sabéis como va. Lógicamente los que tengáis Ip fija no os hace falta hacerlo.

En la web de dyndns configuramos el registro del host (nuestra ip pública) y el nombre que queremos darle. En mi caso la víctima sufrió un www.gmailGiga.dyndns.org, como no guarde las capturas ahora os lo hago con un nombre normal, pero puede haber mucha picaresca incluso publicar nosotros mismos el nombre de un dominio y no usar el dyndns.

En la imagen superior ya podemos ver el hostname configurado que será «el enlace» que le daremos a nuestra víctima.

Ahora tenemos que preparar nuestro Windows para que sepa resolver la url «en mi caso» www.cmdsistemas.dyndns.org

Vamos a C:\Windows\System32\drivers\etc y editamos el fichero host e incluimos la línea con la ip de la máquina virtual y el nombre web que nos hemos creado.

Si no te deja editar el fichero host es por no estar como administrador, puedes hacerlo desde línea de comandos ejecutándola en modo administrador:

Por fin el turno del Back track, igual te resulta un poco difícil que te reconozco la red, comprueba que puedes navegar desde el, tienes el Firefox como navegador. Si no lo haces tendras que editar el fichero /etc/resolv.conf y escribir una línea nameserver 8.8.8.8 es decir darle un DNS, vale cualquiera que resuelva internet.

También comprueba que tengas Ip con ifconfig, por defecto viene para DHCP.

En back track y en nuestra máquina virtual vamos a las siguientes opciones: Applications->BackTrack–>Exploitation Tool–>Social Engineering Tool–>Social Engineering Toolkit–>Set

Y nos aparece una ventana como la de captura, os voy poniendo en Amarillo las opciones a seleccionar.

Si podnemos la 1 nos saldrán plantillas que no aconsejo usar, se parecen bastante a las web originales pero no son iguales, son capturas ya algo viejas y en otros idiomas, pero podéis probar.

Ahora nos solicita decir nuestro interface Ip Adrress: Aquí ponemos el enlace que estuvimos preparando. En mi caso es www.cmdsistemas.dyndns.org

Y ahora nos pedirá la URL que vamos a clonar, yo probaré con www.gmail.com pero podría ser el intento con la de una entidad bancaria. Damos a enter y se pone en modo escucha por el puerto 80 :

Como podemos ver la web es igual, la vícitma acaba de introducir los datos de usuario y contraseña pero no ha mandado el logon todavía. Arriba en la barra de navegación podemos ver el nombre de la url que creamos para el mal cmdsistemas.dyndns.org , esta se la he enviado por el chat del facebook al pinin, digo a mi amigo.

Vemos también en la captura del backtrack, que ya se ha producido la llamada GET a nuestra URL y sabemos que es cierto por la captura anterior a esta.

Damos al sig in en gmail y esto es lo que sucede en el back track:

Ahí marcados podemos ver el usuario y la password. Automáticamente la web que le habíamos mandado le dirije a la real abriendose el correo y no se ha enterado de nada. Esa últimas captura no la pongo por temas de LOPD, ya que se ven direcciones de correo que no son nuestras.

Funcionó.

No nos podiamos despedir sin hacer el ataque contra un banco y aunque clona perfectamente la página, nos hace la redirección como dios manda, si os fijais en el enlace superior ha cambiado y es el real del banco en vez de aparece nuestra web de ataque www.cmdsistemas.dyndns.org, aparece https://bancoherrero.com, así que no debe cundir el pánico. Lo que no acabo de entender es que hace en la web del banco la foto de Julia Otero. 🙂

Para machacar a este banco se necesita tocar un poco más pero eso ya no es tema de este post, sin embargo algunas web de algunos bancos sobre todo por sudamerica si se pueden atacar con algo tan fácil como un pentester sin casi seleccionar opciones o utilizar medios intermedios.

CMDSISTEMAS 0 – 1 BANCO SABADELL

Volveremos a jugar e intentaremos un empate con otras técnicas.

Recordar, un hacker informa de las vulnerabilidades, un hacker ayuda a los internautas, un hacker lucha contra el crimen, un ciber ataque es delicuencia, por lo tanto un delito y es un considerado un hacker.

No ataques nunca, protejete e informa pero no te conviertas en un ciber criminal, nuestra comunidad siempre te pillara. Etica Hacker.

AGRADECIMIENTOS A: http://elinformatiku.es/ que nos ayudo con cierto programa a la publicación rápida de los post, sin él no me hubiera animando a poner tantas capturas ni hacer esta publicación.

Saludos.

Doom en Debian

Para los linuxeros que estais aprendiendo con nosotros, os dejo este enlace:
http://www.mediafire.com/?agw3ib63lyxnbpm
Debéis descargar el fichero, meterlo en un directorio en el que tengais una particion dedicada a el, aunque no os hace falta moverlo realmente a ese directorio, esto lo haríamos solo por seguridad.
Debeis decomprimirlo con tar. Despues ejecutarlo con ./lsdldoom
Todo vía terminal, no seais tramposos 😉

Al explorar la carpeta con un ls o dir, encontraran una carpeta llamada WADS. Estos son los archivos escenciales que contienen los episodios del DOOM 1 y 2. Hay 2 archivos wads, a continuación entrego una breve descripción:
doom.wad : es el equivalente al doom 1 que jugamos muchas veces, y que ademas contiene los sgtes episodios:
– Knee-deep in the dead
– The shores of hell
– Inferno
– Thy flesh consumed
doom2.wad : es el juego Doom II lanzado posterior a Doom I. Consta de 30 niveles.

6) Una vez escogido que wad quieren jugar, deben REEMPLAZAR el archivo .wad del directorio principal por el que prefiramos ubicado en el directorio WADS,(pasarlo a la carpeta legacy_142_linux), y el otro dejarlo en la carpeta WADS para evitar una perdida y poder jugar los 2.

Puede ser que os de errores sobre todo si estais con una máquina virtual hecha en vmware workstation, pero aún así funciona, debereis ir al synaptic e instalar esas librerias que os den error.
Esta probado en un Ubuntu 11 y en la versión actual de Debian con Gnome y corre perfectamente.
Saludos.

Herramientas de monitorización ARP ArpON

Estamos investigándola, mientras tanto:
http://arpon.sourceforge.net

Herramientas de monitorización ARP ARPWATCH

Es una herramienta de red muy simple utilizada para ver cambios sospechosos en las direcciones IP de una red.
Para instalar esta herramienta hacemos lo siguiente:

root@carafasiax:/home/miguel# aptitude install arpwatch
Se instalarán los siguiente paquetes NUEVOS:
arpwatch
Puede ser que necesitemos instalar la librería apt-get install libpcap0.8, pero si hacemos la instalacion con aptitude y arpwatch no os va hacer falta.

Una vez instalado se nos crea este fichero que debemos editar:
vi /etc/arpwatch.conf
Y dentro ponemos una línea que será la encargada de enviarnos las alertas al correo:
eth0 -a -n 192.168.0.22/24 -m alertas@midominio.com
Si lo hacemos en línea de bash podemos directamente poner la línea así:
arpwatch -i eth0 -m correo@midominio.com

Ahora resetemos la aplicación para que coja la nueva línea de configuración:
/etc/init.d/arpwatch restart
root@carafasiax:/# /etc/init.d/arpwatch restart
Starting Ethernet/FDDI station monitor daemon: (creating /var/lib/arpwatch/eth0.dat) (chown arpwatch /var/lib/arpwatch/eth0.dat) arpwatch-eth0.

Nos creamos un directorio vacio para almacenar el historico de información del host.
nano /var/lib/arpwatch/arp.dat

Para finalizar la instalación comprobamos que este corriendo el proceso:
root@carafasiax:/# ps -ef | grep arpwatch
root 4902 1 0 16:36 ? 00:00:00 arpwatch
arpwatch 5281 1 0 16:58 ? 00:00:00 /usr/sbin/arpwatch -i eth0 -f eth0.dat -a -n 192.168.1.22/24 -m miguel@localhost -u arpwatch -N -p
root 5322 4224 0 16:59 pts/1 00:00:00 grep arpwatch
root@carafasiax:/#

Si no lo está podemos poner el proceso en background iniciando el demonio de la siguiente manera:
#arpwatch -i eth0

Lo malo de esto es que si queremos recibir esas notificaciones por correo de parte de arpwatch necesitamos tener instalado un servidor de correo en nuestra máquina (postfix).

Si no configuramos un correo podemos verlo en los log que están en el siguiente directorio:
/var/log/syslog (o /var/log/message)
Cuando hay cambios en el interface ethernet MAC/IP:
# tail -f /var/log/syslog

La salida mostrará:
Nov 20 16:30:22 debian arpwatch: new station 192.168.1.2 0:18:9a:a:f7:24 eth0

Si se realizan cambios deberíamos ver algo de la siguiente manera:

Nov 20 16:31:44 debian arpwatch: changed station 192.168.1.2 0:15:7b:c:e2:e2
(0:18:9a:a:f7:24)

En windows es conocido: WinARP Watch
En Linux tenemos más como ACiD, por si queréis investigar más. La aplicaciónd e windows no envía correos por lo menos la versión que usamos.

Herramientas de monitorización ARP ARPING

Si estamos de administradores en una red relativamente grande o en una red vulnerable ataques, tenemos que tener en cuenta estas herramientas gratuitas de Linux, simplemente con una máquina virtual instalada y montada en un vmware, puede estar todo corriendo sobre una plataforma Windows, es decir una máquina virtual creada en vmware e instalado sobre un windows 7, por poner un ejemplo, auque lo ideal sería tener uno o varios linux corriendo en máquinas distintas en nuestra red.

Una herramienta sencilla es Arping
Es la más popular para buscar direcciones ARP duplicadas.
Su funcionalidad es muy parecida a la de un ping solo que se realiza sobre capa 2, preguntando a la MAC.

Por ejemplo desde modo superusuario:
#su root
root@carafasiax:/home/miguel# arping -I eth0 -c 3 192.168.1.1
ARPING 192.168.1.1
60 bytes from 64:68:0c:4c:28:a5 (192.168.1.1): index=0 time=338.078 usec
60 bytes from 64:68:0c:4c:28:a5 (192.168.1.1): index=1 time=334.024 usec
60 bytes from 64:68:0c:4c:28:a5 (192.168.1.1): index=2 time=352.144 usec

— 192.168.1.1 statistics —
3 packets transmitted, 3 packets received, 0% unanswered (0 extra)

Acabo de lanzar tres consultas a la ip del router ya que ahora mismo no tengo más activas en la red y me resuelve perfectamente (OJO) por MAC no por IP.
La «I» (no es una L es una i mayúscula) significa interface por eso luego le pasamos el interface de salida para la consulta, en mi caso es la tarjeta de red cableada 0, eth0.
-c 3 significa que pare al llevar 3 consultas arp.

Para buscar MAC duplicadas para una Ip en concreto lo podemos hacer de la siguiente manera:

root@carafasiax:/home/miguel# arping -D -I eth0 -c 2 192.168.1.1
!! 0% packet loss

La «D» activa el modo de detección de MAC duplicadas

Tambien puedo hacer un ARP(PING) a una máquina en concreto por su nombre:
arping -f servidor1
ARPING 192.168.1.22 from 192.168.10.13 eth0
Unicast reply from 192.168.1.254 [00:15:28:4B:EA:20]
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

Otro ejemplo, ahora tenemos dos equipos con la misma ip:
# arping -b 192.168.1.1 -c 3
ARPING 192.168.1.1 from 192.168.1.22 eth0
Unicast reply from 192.168.1.1 [64:68:0c:4c:28:a5]  0.720ms
Unicast reply from 192.168.1.1 [00:15:5D:78:47:10]  0.916ms
Unicast reply from 192.168.1.1 [64:68:0c:4c:28:a5]  0.679ms
Unicast reply from 192.168.1.1 [00:15:5D:78:47:10]  0.963ms
Unicast reply from 192.168.1.1 [64:68:0c:4c:28:a5]  0.745ms
Unicast reply from 192.168.1.1 [00:15:5D:78:47:10]  1.059ms
Sent 3 probes (3 broadcast(s))
Received 6 response(s)

Y por último hacer una consulta a una MAC viene muy bien en caso de las wifi, donde algun programa nos puede mostrar la mac de conexión pero no sabemos la IP del router que pone el SSID:
#arping -I eth0  00:26:55:2e:95:EE
 
ARPING 00:26:55:2e:95:EE
98 bytes from 192.168.0.1 (00:26:55:2e:95:EE): icmp_seq=2738 time=771.392 msec
98 bytes from 192.168.0.1 (00:26:55:2e:95:EE): icmp_seq=2740 time=770.830 msec

4.-Instalación de Linux y gestión de paquetes LPIC1 Peso 2

Esta parte tiene poco peso en la certificación, probablemente solo saldra en el exámen una pregunta.
Como siempre podéis ir a la sección Contenidos certificación y comprobar lo que nos van a pedir.

Para instalar windows como para instalar alguno de los sistemas de Linux, es necesario particionar un sistema operativo. El particionado guarda relación directa con los puntos de montaje de Linux.
Las ventajas de un particionado así como sus tipos la omito pero me centrare en la parte más desconocida que espero lso técnicos os veáis envueltos en su lectura. Doy por supuesto que si has llegado hasta aquí ya sabes de informática.

Los sistemas operativos estaban basados en un esquema X86, este admitía solo 4 particiones de las cuáles solo una de las 4 podía ser extendida, pero esa extendida podía albergar particiones lógicas, por eso las lógicas son continuas unas de otras pero pueden estar separadas por primarias.
Ejemplo: pprimaria1, pextendida(logica1,logica2,logica3,logica4,logica5),pprimaria2,pprimaria3

En linux se les asigna a las particiones primarias números del 1 al 4 y a las extendidas del 5 en adelante.

Discos duros (en general: /dev/hdx#, donde x es el disco y # es la partición)

Primer disco duro: (todo el disco) /dev/hda
Particiones primarias
Primera partición primaria: /dev/hda1
Segunda partición primaria: /dev/hda2
Tercera partición primaria: /dev/hda3
Cuarta partición primaria: /dev/hda4
Particiones lógicas
Primera partición lógica: /dev/hda5
Sucesivamente: /dev/hda#
Segundo disco duro: (todo el disco) /dev/hdb
Particiones primarias
Primera partición primaria: /dev/hdb1
Segunda partición primaria: /dev/hdb2
Tercera partición primaria: /dev/hdb3
Cuarta partición primaria: /dev/hdb4
Particiones lógicas
Primera partición lógica: /dev/hdb5
Sucesivamente: /dev/hdb#

Discos SCSI y SATA (los sata son reconocidos como si fueran SCSI)

Primer disco SCSI: /dev/sda
Segundo disco SCSI: /dev/sdb

En el caso expuesto anteriormente no podrá haber hda2 (en su lugar esta la extendida con varias lógicas) ni la hda4 por que no existe.
La primera lógica la lógica1 sera igual a /dev/hda5

En linux podemos utilizar solo particiones lógicas pero por no limitarnos en el arranque debemos usar particion primaria para el montaje de alguno de nuestros fichero, más adelante lo explicaremos.

Los sistemas operativos se basan en unos códigos(hexadecimales) para saber a que tipo de partición es la que pueden acceder y los de linux ni los tocan 🙂 Linux utiliza 0x82(marca particion de intercambio) y 0x83 (marca particion de sistema de ficheros). Sin embargo Linux puede intentar montar cualquiera, pasa olimpicamente de estos códigos.
Como en todo hay excepciones pero en este caso son positivas, miran estos códigos para ver como esta montado el sistema y facilitarnos las instalaciones sin macharnos a Windows cuando por ejemplo hacemos una instalación en un disco duro que ya contiene al señor ventanas y también busca los códigos 0x05 y 0x0f que son los que se asignan a particiones extendidas.

(continuará …)

Enlaces duros y enlaces simbólicos LPIC-1

No son otra cosa que enlaces a ficheros.
Con ellos podemos llamar a un mismo fichero usando varios nombres, los identificará el sistema operativo por su numero de inodo generado de forma semialeatoria.

Un inodo es un enlace identificador único para el sistema de ficheros.
En un directorio, hay múltiples números de inodo correspondientes cada uno de ellos con un nombre de fichero.

La estructura de linux de ficheros se basa en que cada nombre de fichero en un directorio(comunmente llamado en windows carpeta) es un enlace a un inodo concreto.

Enlaces Duros o hard links:
La herramienta para crearlos es «ln».

ln mienlace prueba1 creará un enlace llamado mienlace que será como el si fuera el mismo fichero prueba1.

ls -i, muestra el inodo de un fichero.

Utilizando ls -i veremos que los dos ficheros tienen el mismo inodo.
# ls -i mienlace prueba1

Se crea directamente un enlace al inodo. Solamente podremos crear enlaces duros entre ficheros del mismo sistema de ficheros.
Cuando eliminamos un mienlace con rm, solamente estamos eliminando un enlace a prueba1 y prueba1 seguirá existiendo.
Un fichero estará definitivamente eliminado del sistema cuando no queden enlaces a el. En realidad, la norma es que los ficheros tengan solamente un enlace duro, que es el nombre propio del fichero apuntando al inodo.

Un modo de saber cuantos enlaces tiene un fichero es con la orden ls -l. En la salida estándar por pantalla, la primera columna indica los permisos y una segunda columna con un número te indicará el número de enlaces del fichero y si es un directorio el número de directorios que contiene.
Por ejemplo:

ls -l mienlace prueba1

-rw-r-r- 2 root root 29 Dic 5 16:00 mienlace

-rw-r-r- 2 root root 29 Dic 5 15:59 prueba12

Por lo tanto acabamos de descrubir que un directorio en linux en realidad es un fichero que contiene información sobre la dirección del enlace a un inodo.
Para complicar la cosa y pensando pensando, descubrimos que cada directorio tiene al menos dos enlaces duros en el:
. (punto) enlace que apunta a si mismo
.. (punto punto) enlace que apunta al directorio padre.
En el directorio raíz (/), el enlace .. (punto punto) simplemente apunta a /. es decir así mismo.

Buscar todos los enlaces duros a un fichero.

En ciertas ocasiones puede resultar difícil localizar en que partes del árbol de directorio existen enlaces a determinados archivos. Para encontrarlos lo podemos hacer con la orden find:

find / -inum número

Enlaces Simbólicos

Un enlace simbólico permite dar a un fichero el nombre de otro, pero no enlaza el fichero con un inodo, es decir, en realidad lo que hacemos es enlazar directamente al nombre del fichero. Esto podría parecerse bastante a lo que Windows nos tiene acostumbrados.

Con la orden ln -s creamos un enlace simbólico a un fichero. Por ejemplo:
ln -s archivosimbolico prueba2

Hay que tener en cuenta que el nombre del enlace simbólico no soporta rutas completas, por lo que para crearlo, será imprescindible situarse dentro del directorio en el que queramos que quede colocado dicho enlace.

Si lo verificamos de nuevo con la orden ls -l vemos que el fichero archivosimbolico es un enlace simbólico apuntando a prueba2

ls -l archivosimbolico prueba2

Los bits de permisos en un enlace simbólico no se usan (siempre aparecen como (rwxrwxrwx), son determinados por los permisos del fichero al que apuntas.
Si el fichero apuntado es eliminado, los enlaces simbólicos permanecen, pero ya no serán válidos y carecen de sentido.

Diferencias entre enlaces duros y simbólicos.
Pueden crearse enlaces simbólicos a un fichero que no esté en el mismo dispositivo de almacenamiento. Los enlaces simbólicos son procesados por el núcleo de forma diferente a los duros.
Los enlaces simbólicos son de ayuda puesto que identifican al fichero al que apuntan; con enlaces duros no es tan fácil saber que fichero esta enlazado al mismo inodo.
El sistema operativo los usa muy a menudo, Los enlaces simbólicos son importantes para las imágenes de las librerías compartidas en /lib, lo que facilita mucho la conexión de los diferentes programas con esas librerías. Nosotros mismos si queremos instalar el firefox a mano, debemos usar un enlace simbólico.
Os dejo un tutorial de youtube hecho por http://www.nicklabs.com.ar: http://www.youtube.com/watch?v=kokyJwCMdrQ&feature=player_embedded –> podréis ver un buen ejemplo de como se usa un enlace simbólico.

16.-Realizar operaciones básicas de edición de archivos usando vi LPIC-1

Nos hemos saltado unos cuantos temas de la certificacion 101, pero vovleremos sobre ellos, creemos que es importante hablar sobre este editor antes de seguir.

Vi el primer editor de texto creado para Unix y hoy en día se sigue usando según los expertos por ser sencillo y ser capaz de entrar en un disquete de emergencia.
Yo casi no lo uso y me parece rarísimo de usar, ya me parecía en el año 1998, cuando en clase nuestro profesor de Sistemas Operativos nos lo explicaba y le mirabamos todos como dienciendo ehhh!! que es la hora del pincho, dejame salir a por el bocata de mortadela !!!, bueno otros iban a fumar un cigarrillo de la alegría !! o a ligar con la compañera. En fin, era un poco pingüinoX X-)

Vi, tiene tres modos de ejecución, modo 1, modo 2 y modo 3, na es broma …, tiene tres modos:
Comando
Ex
Inserción

El modo comando donde acepta comandos, en este caso letras sueltas, por ejemplo «i» o «a» pasan al modo inserción, aunque de maneras muy distintas.
El modo ex Permite manipular ficheros incluso ejecutar programas externos, se llega a este modo poniendo los dos puntos «:» seguido del nombre del comando.
El modo inserción Lo típico para poder escribir, menos la tecla escape que nos saca de este modo y regresamos al modo comando.

Como lleva tanto tiempo usandose el vi, pues estos modos han sufrido cambios a la hora de decirlos y en documentacion en internet o libros podemos leer como al modo comando lo llaman modo normal o al modo inserción lo llaman modo edición o modo de entrada y al modo ex pues como línea de comandos.

Por ejemplo, vamos a copiar el fichero interfaces de /etc/network/interfaces a nuestra carpeta de Documentos:
lacemi@debianMich:/etc/network$ cp ./interfaces /home/lacemi/Documentos (usamos ./ para decir que esta en el directorio actual)
acemi@debianMich:/etc/network$ cd ~ (sacamos la virgulilla con alt+4 para volver de un tirón a nuestro directorio home)
lacemi@debianMich:~$ cd documentos (metemos la pezuña no poniendo la mayúscula y como linux distingue pues error)
bash: cd: documentos: No existe el fichero o el directorio

lacemi@debianMich:~$ cd Documentos
lacemi@debianMich:~/Documentos$ ls (listamos para comprobar que copio el fichero)
interfaces Música numbersaa
lacemi@debianMich:~/Documentos$ vi interfaces (editamos con vi el fichero)
ahora nos aparece el fichero, estamos en el modo comando.
Podemos usar el teclado hasta posicionarnos sobre una línea que queramos copiar.
Ahora tecleamos 4yy y sin pulsar intro nos aparecerá abajo 4 líneas copiadas:
# The primary network interface
allow-hotplug eth0
iface eth0 inet static–> copiamos a partir de aquí.
address 192.168.1.22
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.100.1
~
~
4 lines yanked

También podemos usar dd en vez de yy, dd nos copia en el buffer pero nos borra las líneas.
Podéis investigar con d o con y o con dw, hay muchas posibilidades 🙂 cuidado con dw que borra la última palabra.

Con la p minúscula pegamos el contenido del buffer y si la usamos en mayúsculas la pega en la línea previa al cursor. Podemos hacer las pruebas.No pego los logs por no hacer un pergamino del post.

R–> pasa al modo inserción, recordemos que estamos en el modo comando. El modo insserción remplaza texto en vez de insertarlo.
i o a–>Inserta texto en vez de sobreescribir. a lo hace dejando un espacio en blanco al avanzar el cursor, por ejemplo útil al final de una línea.
Para nuestro ejemplo ponemos:
R
Ahora nos sale abajo –REPLACE– en la línea de estado, y escribimos el nombre para un nuevo fichero interfaces.
Tambien podemos si esto no funciona usar la tecla de insertar para pasar a este modo y para volver a modo comando vale con presionar la tecla escape.

Pero hay mucha documentación en internet, os dejo dos enlaces para que practiquéis, a mi me salieron unas 3 preguntas sobre el editor Vi en la exámen de certificación.
http://www.educacioninformatica.com/modules/tutorials/tutoriales/como_usar_vi/usar_vi_como.html
http://iie.fing.edu.uy/~vagonbar/unixbas/editorvi.htm

El primer paso es dominar los modos en los que estamos dentro del editor y despues ya es pegarse con los comando un poco.
Como consejo rápido, sería no utilizar VI y utilizar nano o pico como simples editores o incluso gedit.

Comandos más usados:
A continuación se listan los comandos más comúnmente utilizados:

i

Ingresar al modo inserción.
r

Ingresar al modo inserción (reemplazo).
cw

Reemplazar hasta el final de palabra.
D

Borrar desde el cursos hasta el final de la línea.
ZZ

Salir de vi grabando los cambios.
$

Ir al fin de línea. Es equivalente a la tecla Fin.
^

Ir al comienzo de línea. Es equivalente a la tecla Inicio.
dd

Cortar línea al portapapeles (también se usa para borrar).
Y

Copiar la línea actual al portapapeles.
p

Pegar el contenido del portapapeles a la derecha del cursor.
P

Pegar el contenido del portapapeles a la izquiera del cursor.
o

Comenzar la edición abajo del cursor.
O

Comenzar la edición arriba del cursor.
a

Comenzar la edición a la derecha del cursor.

Además, los comandos de ex más comúnmente utilizados son:

:wq

Salir de vi grabando los cambios.
:w

Grabar los cambios sin salir.
:n,m s/cadena1/cadena2/g

Buscar “cadena1” y reemplazarla por “cadena2” desde la línea número “n” hasta la línea número “m” (se puede escribir “$” para hacer referencia al final del archivo).
:q!

Salir sin grabar los cambios.

Podemos hacer búsquedas presionando la tecla / seguida de la cadena de texto a buscar, y Enter para confirmar. El cursor se posicionará en la primera ocurrencia de la cadena a buscar. Presionando n se buscará la siguiente ocurrencia de la búsqueda.

3.-Los niveles de ejecución y el cierre o cambio de reiniciar el sistema LPIC-1

Descrita en la unidad 2.
Podemos dejaros un ejercicio rápido que consitiría en escribir por ejemplo #telinit 3 para pasar a este modo de ejecución sin ventana y nuestro servidor X dejaría de funcionar. Si damos a alt+f7 en vez de mostrarnos o abrirnos una ventana nos tendría logicamente que salir un consola de texto vacía, para pasar al modo en que estabamos #telinit 5 o #telinit 2, anteriormente deberíamos haber hecho un #runlevel

2.-B) Arranque del sistema Linux LPIC-1 Peso 3

En el artículo anterior 1.-
Hablamos de inittab pero mencionamos el event.d
Por ejemplo /etc/event.d/rc3 controla el paso de ejecución 3, es igual que el 6explicado en el post anterior pero solo sin interface gráfico. Después se ejecuta Sysv que es un script de inicio.
En debian no existe event.d por lo tanto ahora mismo no os puedo poner ejemplos pues es la versiónq que tengo instalada en la oficina.
En casa estoy probando el nuevo fedora 16 y la verdad que de momento me está encantando aunque tengo problemas con el audio de momento.
Los script están en /etc/init.d/rc o /etc/rc.d/rc y los específicos estarían en /etc/init.d/rc?.d o /etc/rc?.d
El programa rc ejecuta los scritp en orden numérico.

Para gestionar los servicios de los nodos de ejecución tenemos varias herramientas:
Tenemos que saber que los script de sysv son enlaces simbólicos al original.
chkconfig, ntsysv, update-rc.d y rc-update.
Por ejemplo aquellos que tengais este sistema podéis probar chkconfig –list

Este sistema suele estar ya implementado en Mandriva, Red Hat y Fedora. Teneis la utilidad ntsysv, si no la tenéis podéis bajarla del repositorio, que os gestiona los servicios de modo gráfico facilitandonos el trabajo.

Comprobar y cambiar el modo de ejecución por defecto:
Lo primero sería ver cuál se esta ejecutando:
debian: (grep busca una cadena de texto dentro de un fichero especificado)
root@debianMich:/home/lacemi# grep :initdefault: /etc/inittab
id:2:initdefault:

o inspenccionando el fichero: /etc/inittab
Otra manera que no veo en la certificación pero que es muy efectiva y nos da ese mismo resultado es ejecutar:
#runlevel
root@debianMich:/home/lacemi# runlevel
N 2

Como vemos nos devuelve tambien 2.

Recordamos que el 2 es en debian y sus derivados, un modo multiusuario completo con la X en ejecución y un acceso gráfico. La mayoría del resto de distribuciones dejan este modo de ejecución sin definir.

Para tener un modo de ejecución distinto por ejemplo sin entorno gráfico tendremos que modificar la línea correspondiente en /etc/inittab editando la línea initdefault y cambiándo el modo ejecución por el valor 3. Al reiniciar cogería este modo.

Para hacerlo en sistemas funcionando podemos pensar un ejemplo real, que sería que estamos en un linux por consola pero queremos tener funcionalidad de ventanas o acceso gráfico para lo que sea como tener mas funcionalidad o mejor comodidad, se hace con los comandos:
init o telinit
Otros comandos que afectan a los procesos en ejecución son shutdown, halt, reboot y poweroff.

Para cambiar de un modo a otro sería así:
#init 1
Lo pondríamos en modo monousuario por ejemplo para tareas de mantenimiento.
tambien como dijimos modificando /etc/inittab y haciendo que vuelva a leer este fichero sin reiniciar:
#telinit q
Ver la ayuda de man para mas opciones.
Para apagar el pc podemos usar:
#init 6
6–> modo de ejecución para reiniciar, pero lo mejor es usar otro programa:
#shutdown now
Pudiendo sustituir now por un tiempo en concreto.
#shutdown -r +20 (reinicia el sistema en 20 minutos)
#shutdown -h +20 «el sistema va ser apagado en 20 minutos» (avisa a los usuarios mediante ese mensaje de que van ser desconectados, la -h es para apagar el ordenador)
#shutdown -c –> cancela el apagado.

Fin de la unidad arranque del sistema Linux.