domingo, 17 de noviembre de 2013

Estenografía


Estenografía


En este tema se propone un algoritmo esteganográfico que permite el envió de mensajes o datos ocultos en imágenes.

Del griego steganos (oculto) y graphos (escritura), la esteganografía se puede definir como la ocultación de información en un canal encubierto con el propósito de prevenir la detección de un mensaje oculto.
La esteganografía estudia el conjunto de técnicas cuyo fin es insertar información sensible dentro de otro fichero. A este fichero se le denomina fichero contenedor (gráficos, documentos, programas ejecutables, etc.). De esta forma, se consigue que la información pase inadvertida a terceros, de tal forma que sólo sea recuperada por un usuario legítimo que conozca un determinado algoritmo de extracción de la misma

En clase desarrollamos una práctica en la cual se debía ocultar un mensaje  y decifrar una imagen usando la herramienta ImageHide.exe la idea era ocultar un mensaje y utilizar esta herramienta para encriptar y descifrar el mensaje el éxito de la practica para ganar los puntos estaba en dar al adversario una clave difícil de digitar para que les tomara mas tiempo la descencriptación del mensaje.



Para ello utilizamos ImageHide, un programa que nos permite encriptar información por medio de una imagen, y tambien de desencriptar.




Instalamos el programa como primer paso.




Iniciamos cargando la imagen en Load Image, escogemos una imagen 






Aquí escogemos la imagen en la cual ocultamos el mensaje y la clave para que descifraran nuestro mensaje es: 

Clave:^{]*¨?¡()*~""¬¬|°ñongas;:,¡!{¿Ñ@=(%"!CarlosjaimeluissoniaHSLHCWPERDIERON
Mensaje: Perdieron.


En el siguiente video mostraremos lo fácil de utilizar esta herramienta para poder enviar y crear mensajes ocultos desde una imagen








sábado, 16 de noviembre de 2013

Filósofos Comensales

Este es un problema donde se representa la sincronización de los procesos en un sistema operativo. Cabe aclarar que la interpretación está basada en pensadores chinos, quienes comían con dos palillos, donde es más lógico que se necesite el del comensal que se siente al lado para poder comer.




Problema


Cinco filósofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada filósofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son necesarios dos tenedores y cada filósofo sólo puede tomar los que están a su izquierda y derecha. Si cualquier filósofo toma un tenedor y el otro está ocupado, se quedará esperando, con el tenedor en la mano, hasta que pueda tomar el otro tenedor, para luego empezar a comer.

Si dos filósofos adyacentes intentan tomar el mismo tenedor a una vez, se produce una condición de carrera; ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer.

Si todos los filósofos toman el tenedor que está a su derecha al mismo tiempo, entonces todos se quedarán esperando eternamente, porque alguien debe liberar el tenedor que les falta. Nadie lo hará porque todos se encuentran en la misma situación (esperando que alguno deje sus tenedores). Entonces los filósofos se morirán de hambre. Este bloqueo mutuo se denomina interbloqueo deadlock.
El problema consiste en encontrar un algoritmo que permita que los filósofos nunca se mueran de hambre.


Solución

Para el problema de los filosofos comensales, acudimos a crear un mecanismo de sincronización entre procesos y este macanismo lo llamamos SEMÁFORO.

Los pasos para la solución son los siguientes:

1. Inicialización: asignamos un valor inicial.

2. Espera: decremento de una unidad del valor del semáforo, puede dejar bloqueado al proceso que solicita la operación.

3. Señal: incremento de una unidad del valor del semáforo, puede desbloquear el primer proceso que está bloqueado en este semáforo.

Cada semáforo mantiene una cola de procesos bloqueados.

En este tema aprendimos en clase de como crear un programa que nos visualiza el funcionamiento del semáforo para la solución de los interbloqueos o deadlock que nos muestra el ejercicio de los filosofos comensales.




























Scanning


Angry IP Scanner


No abundan las utilidades de red gratuitas para Mac OS X, y si además pueden resultar útiles y son sencillas de utilizar merecen ser tenidas en cuenta. Este es el caso de Angry IP Scanner, que además tiene otra cosa interesante: existen versiones tanto para Windows, como para Mac OS X y Linux. Podemos descargarlas desde la página oficial.

Para Mac se facilita un archivo ZIP con la aplicación, que sólo hay que guardar en Aplicaciones, Utilidades o donde queramos. Los usuarios Windows pueden utilizar el correspondiente ejecutable sin necesidad de instalarlo, aunque la última Beta requiere de Java instalado. Para Linux existen diferentes paquetes, incluso en formato DEB para los usuarios de Ubuntu y Debian.




¿Para qué sirve Angry IP Scanner?


Angry IP Scanner nos permite monitorizar nuestra red interna o LAN, identifica los equipos (o "nodos") conectados a ella como ordenadores, discos de red, routers, impresoras de red, etc… Veremos las direcciones IP de red que utiliza cada uno de ellos, así como alguna información adicional, como el tiempo de respuesta a los ping, los puertos abiertos, el nombre NetBIOS, grupo de trabajo, etc… Es decir, es una sencilla herramienta para la "administración de redes". Y todo ello desde una interfaz gráfica más accesible y cómoda para aquellos usuarios no acostumbrados al uso de comandos en el Terminal de Mac OS X o Linux, o en la Consola de Windows.




Tenemos otro programa llamado NMAP. A continuación haremos una pequeña práctica de esta herramienta bastante útil para rastrar puertos desde la red.




Nmap 


Nmap, cuyo nombre significa mapeador de redes, es software libre y puede redistribuirse y/o modificarse bajo los términos de la Licencia Publica General GNU.


Es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich). Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática.



Características


  • Descubrimiento de servidores: Identifica computadoras en una red, por ejemplo listando aquellas que responden ping.

  • Identifica puertos abiertos en una computadora objetivo.

  • Determina qué servicios está ejecutando la misma.

  • Determinar qué sistema operativo y versión utiliza dicha computadora, (esta técnica es también conocida como fingerprinting).

  • Obtiene algunas características del hardware de red de la máquina objeto de la prueba.



En las siguientes imágenes mostraremos la práctica realizada en clase con los comandos de Nmap.









































Conclusión


Tanto NMAP como su interfaz gráfica Zenmap son herramientas muy útiles para los administradores de sistemas. Permiten hacer, de forma rápida, intuitiva y sencilla, una auditoría del sistema en el ámbito de su competencia, que es la exploración de puertos. Y no hace falta ser responsable de un gran sistema para verle la utilidad a NMAP. Cualquiera de nosotros, al fin y al cabo, somos administradores de nuestro propio sistema y debemos vigilar la integridad, disponibilidad y confidencialidad de nuestros datos. En definitiva, la seguridad.



miércoles, 9 de octubre de 2013

Footprinting


El proceso de Footprinting consiste en la búsqueda de toda la información pública, bien porque haya sido publicada a propósito o bien porque haya sido publicada por desconocimiento (abierta, y por tanto no estaremos incurriendo en ningún delito, además la entidad ni debería detectarlo) que pueda haber sobre el sistema que se va a auditar, es decir, buscaremos todas las huellas posibles, desde direcciones IP, servidores internos, cuentas de correo de los usuarios, nombres de máquinas, información del registrador del dominio, tipos de servidores, ficheros con cuentas y/o credenciales de usuarios, impresoras, cámaras IP, metadatos, etc. Cualquier dato que nos pueda ser de utilidad para lanzar distintos ataques en las fases posteriores de la auditoría.

Si enumeramos los pasos genéricos para realizar un Test de Intrusión, el proceso de Footprinting sería el primero de ellos:
  1. Footprinting.
  2. Fingerprinting.
  3. Análisis de vulnerabilidades.
  4. Explotación de vulnerabilidades.
  5. Generación de informes.

Paso 1. Visitar el sitio Web
El primer paso será evidentemente entrar en el sitio Web que vamos a auditar. Deberemos navegar por todas sus páginas y aplicaciones, ya que nunca sabemos que nos vamos a encontrar. Es habitual, sobretodo en sitios Web muy grandes, que se dejen olvidados enlaces a sitios que no deberían estar, o algún error en una llamada a BBDD (algo más común de lo que se piensa… ¿verdad? }=P). Tras hacernos una idea del estado de la web continuaremos con el siguiente paso.



Whois my IP


Cada dispositivo conectado a la Internet pública se le asigna un número único que se conoce como una dirección de Protocolo de Internet (IP ) . Direcciones IP consisten en cuatro números separados por puntos (también llamado " decimal con puntos ") y algo como 127.0.0.1.

Dado que estos números se asignan generalmente a los proveedores de servicios de Internet dentro de los bloques a base de región , una dirección IP a menudo se puede utilizar para identificar la región o el país en el que un ordenador se conecta a Internet . Una dirección IP a veces se puede utilizar para mostrar la ubicación general del usuario .

Debido a que los números pueden ser tedioso de manejar, una dirección IP puede ser asignado a un nombre de host , que a veces es más fácil de recordar . Nombres de host pueden ser consultados para encontrar las direcciones IP y viceversa . En un tiempo los ISP emitió una dirección IP a cada usuario. Estos se llaman direcciones IP estáticas. Debido a que hay un número limitado de direcciones IP y con un mayor uso de los ISP de Internet ahora emitir direcciones IP de forma dinámica de un conjunto de direcciones IP (usando DHCP) . Estos se conocen como direcciones IP dinámicas . Esto también limita la capacidad del usuario para alojar sitios web , servidores de correo , servidores FTP , etc Además de los usuarios que se conectan a Internet, con el hosting virtual, una sola máquina puede actuar como varios equipos (con varios nombres de dominio y direcciones IP ) .

miércoles, 4 de septiembre de 2013

Sam Spade


SAM SPADE


Es un conjunto de herramientas de red, con algunas características adicionales que te permitirán realizar un seguimiento del correo electrónico no solicitado.


Características


  • Cada herramienta muestra su salida en su propia ventana, y todo tiene subprocesamiento múltiple, para que no tengas que esperar la finalización de una consulta antes de iniciar la siguiente

  • Algunas funciones están enlazadas aún más para permitir búsquedas inversas perezosas de dns (ya nunca harás un traceroute)

  • El resultado de cada consulta tiene hipervínculo, por lo que puedes hacer clic derecho en una dirección de correo electrónico, dirección ip, nombre de host o etiqueta internic para ejecutar otra consulta sobre el mismo

  • Anexar los resultados de una consulta a la ventana de registro es una función de botón único

  • Existe un montón de ayuda en línea, en formatos winhelp y htmlhelp. Esto incluye tutoriales, información y enlaces a recursos en línea, así como el manual del propio programa

 Ingresamos cualquier pagina WEB



Ejecutamos y nos muestra en pantalla la fecha, la hora, la página y lo mas importante una direccion IP



Aquí nos muestra por milesimas de segundo el PING que hace en la dirección IP mostrada anteriormente































martes, 13 de agosto de 2013

Tienda Ubuntu BACTRACK

lunes, 12 de agosto de 2013

Cambio del Lenguaje de BACKTRACK

Cambio del Lenguaje de BACKTRACK 5


El cambio del idioma es bastante importante ya que podríamos utilizar con mayor facilidad las herramientas de nuestro Sistema Operativo, para ello el proceso de configuración es el siguiente:

1. Abrimos inicialmente la consola, y escribiremos el siguiente código:  

apt-get install language-selector














Después de hacer el paso anterior y esperar a que cargue el comando, digitamos el siguiente comando "gnome-language-selector"  tal cual como se señala con una l{inea amarilla y nos aparecerá una ventana de advertencia a la que daremos click en  "Install", tal cual como se señala con un círculo amarillo. 



El siguiente paso es solo seleccionar el idioma como se señala con la flecha amarilla, y listo..!!




domingo, 11 de agosto de 2013

Comandos BACKTRACK

Comandos Básicos para BACKTRACK 5


Debemos tener en cuenta que para digitar los comandos en la consola de BACKTRACK 5, estos siempre deben ir siempre en minúscula, a continuación presentamos una imagen de la consola en donde podemos practicar los comandos básicos de nuestro Sistema Operativo:







1. arch: muestra la arquitectura del equipo.

2. uname -m: al igual que el comando arch muestra la arquitectura del equipo.



3. uname -r: muestra el release de nuestro kernel.

4. dmidecode -q: mostrar los componentes de hardware del sistema - (SMBIOS / DMI).
5. hdparm -i /dev/hda: despliega las caracteristicas de un disco duro.

6. hdparm -tT / dev / sda: ejecutar prueba de lectura en un disco duro.

7. cat /proc/cpuinfo: mostrar información del CPU.

8. cat /proc/interrupts: mostrar interrupciones.

9. cat /proc/meminfo: verificar el uso de la memoria.

10. cat /proc/swaps: muestra el uso del espacio swap.

11. cat /proc/version: mostrar la versión del kernel.

12. cat /proc/net/dev: mostrar los adaptadores de red y estadisticas.

13. cat /proc/mounts: muestra los filesystems que se encuentran montados.



-A
Mostrar todo.
-b
Omitir los números de línea para los espacios en blanco en el salida.
-e
Un caracter $ se mostrará al final de cada línea anterior a una nueva línea.
-E
Muestra un $ (símbolo del dolar) al final de cada línea.
-n
Numera todas las líneas en el salida.
-s
Si el salida tiene múltiples líneas vacías las sustituye con una única línea vacía.
-T
Muestra los caracteres de tabulación en el salida.
-v
Los caracteres no mostrados (con la excepción de tabuladores, nuevas líneas y saltos de página) se muestran.



Para crear un archivo nuevo:   
cat >> file1.txt 

Para concatenar varios archivos y mostrarlos:   
cat > file1.txt

Para añadir información al archivo:   
cat >> file1.txt 
cat file1.txt file2.txt
cat file1.txt file2.txt

14. lspci-tv: mostrar los dispositivos PCI.


15. lsusb-tv: mostrar los dispositivos USB.
16. date: muestra la hora y la fecha.
17. cal2011: El comando cal se utiliza para mostrar el calendario.





-1
Muestra un sólo mes como salida.
-3
Muestra el mes previo/actual/siguiente como salida.
-s
Muestra el domingo como primer día de la semana.
-m
Muestra el lunes como primer día de la semana.
-j
Muestra fechas julianas (días ordenados, numerados desde el 1 de Enero).
-y
Muestra un calendario para el año actual.

18. cal 07 2011: muestra la tabla de todo el mes de julio del año 2011


19. date041217002011.00: establecer fecha y hora MesDiaHoraMinutoAño.Segundos

20. clock -w: guardar cambio de fecha al BIOS.



21. shutdown -h now: apaga el pc  para con – h reiniciarlo.

22. init 0: Detener o apagar el sistema .Este comando  permite cambiar el nivel de ejecución actual por otro.


23. telinit 0: apagar el equipo.


24. halt: se utiliza para apagar el ordenador.




- d
No escribir registro wtmp (en el archivo /var/log/wtmp) El flag -n implica -d
- h
Poner todos los discos duros del sistema en modo de espera antes de que el sistema se detenga o apague
- n
No sincronizar antes de reiniciar o detener
- i
Apagar todas las interfaces de red.
- p
Cuando detenga el sistema, lo apaga también. Esto es por defecto cuando el halt se llama como poweroff.
- w
No reiniciar o detener, sólo escribir el registro wtmp (en el archivo /var/log/wtmp)





Para detener el sistema: halt

Para apagar el sistema: poweroff

Para reiniciar el sistema: reboot


25. shutdown-h hours:minutes &: Esta es la forma de usar l gatillo delreloj para programar el apagado del equipo. Reemplazar "hhmmss" con el tiempo en horas (HH), minutos (mm)y segundos (ss) que desea el ccierre para comenzaro Reiniciar el equipo.



26. shutdown-c: cancelar apagado programado del equipo.


27. shutdown-r now: Para apagar el sistema desde una sesión de terminal


28. reboot: reiniciar el equipo.


29. logout: Sele cierra la sesión de shell Linux es un sistema multiusuario, cuando terminas una sesión no se apaga elordenador, sino que vuelve a mostrarse la pantalla de entrada al sistema, paraque otro usuario entre.

30. cd/home: cambiar al directorio '/ home'.

31. cd ..: regresar un nivel.

32. cd ../..: regresar dos niveles.


33. cd: cambiar al directorio home.

34. ls: ver archivos del directorio,lista los archivos y directorios en el directorio de trabajo actual.

35. ls-F: ver archivos del directorio.

36. ls-l: mostrar detalles de archivos y directorios.

37. ls-a: mostrar archivos ocultos.

38. ls*[0-9]*: mostrar archivos y directorios cuyo nombre contenga números.

l
Lista todos los archivos, directorios y su modo, número de enlaces, propietario del archivo, tamaño del archivo, fecha y hora de modificación y nombre de archivo.
-t
Ordena por fecha de última modificación.
-a
Lista todas las entradas incluyendo archivos ocultos.
-d
Lista archivos del directorio en vez de contenidos.
-p
Pone una barra al final de cada directorio.
-u
Ordena por fecha de último acceso.
-i
Muestra información de inodo.
-ltr
Ordena archivos por fecha.
-lSr
Ordena archivos por tamaño.


39. tree: mostrar archivos y directorios en forma de árbol empezando desde root. 



40. mkdir dir1: crear un directorio llamado 'dir1' Cree una carpeta con el nombre que usted indica.Podemos usar rutas absolutas y relativas. Podemos decirle todo el camino que precede al directorio que queremos crear, o si estamos en la carpeta que contendrá lo justo para poner el nombre.


41. rm -f file1: borrar archivo con nombre 'file1'.


42. rmdir dir1: crear un directorio llamado 'dir1'.


43. df-h:   se usa para informar de cuánto espacio libre en disco está disponible para cada partición que tengas. La primera columna muestra el nombre de la partición tal como aparece en el directorio /dev. Las columnas siguientes muestran el espacio total, bloques asignados y bloques disponibles.




-a
Incluye sistemas de archivos falsos.
-h
Mostrar los tamaños en formato legible por humanos (1K 234M 2G)
 -H
Muestra tamaños en formato legible por humanos, pero utiliza potencias de 1000, no de 1024.
-i
Listar información de inodos en vez de uso de bloques.
-l
Limitar el listado a sistemas de archivos locales.
-P
Usar el formato de salida POSIX.
-T
Mostrar el tipo de sistema de archivos.



44. ls-lSr |more: mostrar el tamaño de los archios y directorios ordenados por tamaño.

45. groupadd: crear un grupo nuevo.

46. groupdel: elimina un grupo.

47. useradd user1: crear un usuario nuevo, Añade nuevo usuario al sistema linux, con el nombre de usuario especificado. Cuando se añade un nuevo usuario una entrada correspondiente se crea en los archivos.

48. ls–lh: mostrar permisos.

49. apt-get install : instalación/actualización de un paquete.

50. ifconfig: Nos muestra datos de nuestra interface de  red.


51. hostname: especifica el nombre del host.


52. netstat –tup: mostrar todas las conexiones de red activas y el PID del programa al cual le corresponde el socket.