lunes, 8 de diciembre de 2008

Sobre Ciclos (I)

Tachi [tachi@dmegui.dpegr.rimed.cu]

ESTRUCTURAS DE REPETICIÓN FOR...NEXT

Comenzaré por decir que esto es más para iniciados que para “Expertos”, no sea que alguien diga “Mira para eso lo que publican en BlackHat”. Se sabe que la revista nos llega a más de 2000 (y aumentando) pero… ¿Cuántos son los que se están iniciando en la programación? Me imagino que entre los que estamos suscritos a la revista halla un gran número que estén cursando el 12 grado y que de seguro esto le será de ayuda.

Dejando a un lado la muela vamos a comenzar.

La mayor parte de los programas incluyen repeticiones o ciclos. Un ciclo es una estructura que ejecuta una o varias líneas de código repetidamente. ¿Que te dan ganas de cambiar este concepto? ¡¡¡¡Pues cámbialo!!!!

Estructura de repetición For...Next

La estructura de repetición For...Next maneja de manera automática todos los detalles de la repetición controlada por contador (conocido como ciclo determinado ya que se conoce de ante mano el número de repeticiones que realizará el ciclo). For utiliza una variable contador que incrementa o reduce su valor en cada repetición del ciclo la cual determina la continuación o no del ciclo.

Sintaxis:
For contador = inicio To fin [Step incremento]
<Instrucciones>
Next [contador]

Como primer parámetro la estructura espera al contador (un variable de tipo Interger) inicializado, Ej: i = 0
El segundo parámetro (fin) es el número de repeticiones que tendrá el bucle (ciclo), el cual debe ser también un entero. Como argumento opcional se le puede indicar a la instrucción un número de incremente ([Step incremento]) que será el que se aumente al contador de continuación de ciclo (también un entero). Prueba el ejemplo siguiente con el parámetro Step 2.

En el cuerpo de la estructura (<instrucciones>) se colocarán la o las instrucciones (acciones) que serán ejecutadas x cantidad de veces, Ej.: Print “Esto es un ciclo For...Next.”

El último parámetro es opcional, por mi parte lo pongo para no perder la costumbre y sobre todo para identificar a cuál estructura For pertenece cuando existe alguna que otra anidada.

A continuación les presento al programa hermano del clásico “Hola mundo”, “Imprimir los números del 0 al 9”:

Dim i as Integer
For i = 0 To 9
  Print i
Next i

En la primera línea de código se declara la variable “i” de tipo Integer la cual será el contador de la estructura. A diferencia de otros ciclos controlados por contador el contador en una estructura For...Next “no debe” de ser inicializado antes de la estructura ya que esto se hace en el inicio del ciclo y cualquier inicialización realizada antes sería en vano.

La línea For i = 0 To 9 le dice al programa que el bucle se repetirá x cantidad de veces (en este caso 10) desde 0 hasta 9. i = 0 es el contador inicializado.

El cuerpo de la estructura indica que se imprimirá en el formulario el valor del contador en cada repetición de la estructura (en este caso se imprimirán los números del 0 al 10).

¿Que cómo funciona este rollo?

Pues el programa el llegar a la línea donde se encuentra la estructura For...Next comprueba el valor del contador de continuación de ciclo con el número de repeticiones. En caso de que el contador sea menor (en este caso: i < 9) se ejecutarán las instrucciones que se encuentran en el cuerpo de la estructura, en caso de ser mayor (en este caso: i > 9) el programa terminará el ciclo y continuará con la ejecución de las instrucciones que se encuentren a continuación del Next.

Luego de que el programa comprueba que el valor del contador es menor que el número de repeticiones y de ejecutar las instrucciones que se encuentran en el cuerpo, aumenta en 1 (o el valor de Step) el valor del contador y vuelve a realizar el mismo proceso desde el principio saliendo del ciclo en caso de contador > número_repeticiones.

Algo sobre contadores:

Un contador es una variable Integer generalmente, que generalmente se utiliza para “contar” las veces que se repite una acción determinada. En un ejemplo donde se cuente la cantidad de estudiantes que se van introduciendo en una lista si el contador lo iniciamos a 1 por ejemplo, al introducir el primer estudiante y sumarlo al contador (contador = contador + 1) el contador indicará que se han introducido 2 estudiantes (un error) cuando solo se ha introducido uno. Es decir: un contador (siempre que sea para contar) siempre debe inicializarse a cero (Cont = 0).

Continuar leyendo

Tuto NLite (I)

NEO [enrique@expocuba.cu]

¿Hacia rato que no me veían verdad? El problema es que estaba para un cursito ahí y me perdí del mundo y de BlackHat pero here I am Again…
Esta vez les traigo un tuto bastante explicativo para aquellos que como yo, aman la plataforma NT y por nada del mundo se mudan de Windows a Linux por mucho que intenten demostrar lo contrario. Y es que una de las prerrogativas de El compañero Gates es que es un poco tacaño y no comparte el “source code” de su genial SO. No obstante (esta es la parte que más me gusta de la informática) nada es imposible y si te han gustado esas versiones desatendidas que andan por ahí:


Windows UE, AMSAVS, Fénix, Suricata, Ghost, Pirated Edition, Angelical, Dark, etc

¿Por qué acaso no hacer tu propia versión de Windows? ¿Por qué no ponerle tu nombre? ¿Por qué no agregarle los programas de tu preferencia para que se instales automáticamente? ¿Por qué no quemar todo eso en un sólo DVD y formatear solo tome una quizás dos horas?

Personalmente ya lo he hecho, con buena cantidad de trastazos, pero el resultado vale la pena y más vale compartir mis resultados con vosotros para que se salten la parte donde pasan trabajo y ahorran tiempo. (Y dinero porque la PC encendida hasta las tres de la mañana debe subir la cuenta de la Electricidad un mundo)
Bien, comencemos, el requisito indispensable para nuestro proyecto es el compañero “NLite” en mi caso el 1.4.9 no se si habrá alguna otra versión mejorcita por ahí (Se le paso a Alien con algo de trabajo, tal vez en 3 pedazos cabria por la revista). ¿Qué hace esto? Pues sencillamente permite personalizar, agregar, modificar, quitar e incluso ampliar las facultades de cualquier instalación “limpia” que tengamos por ahí quemada en un CD de Windows XP, 2003 lo mismo en versiones de 32 o 64 bits.

En mi caso he usado un Windows XP SP3 en español de 32 bits, el mejor candidato por el momento. (Tengo un XP 64bits pero es SP2)

Entonces manos a la Obra:
1. Copio todos los archivos y carpetas de la instalación en un directorio de mi disco duro, ejemplo: XPSP3

2. Abro el NLite (que por cierto ya lo hice portable), le pongo el idioma Spanish y GO!

3. En la próxima Pantalla busco donde es que se encuentra la carpeta que preparamos anteriormente “XPSP3”, esperan un poquito para que el compañero detecte el Service Pack, Idioma, etc.

4. Más adelante debemos seleccionar los pasos o procesos a realizar en dicha instalación, no es que seamos ahora ingenieros en NLite por lo que está de más explicar ahora paso por paso cada uno de dichos apartados pero esta claro que de poder se puede hasta agregar actualizaciones críticas, (las famosas KB9xxxxx) drivers actualizados (en mi caso le introduje los últimos de la ATI y NVidia para en caso de algún Board con estos Chipsets esta de más lo bueno que resultaría).

5. Dentro del apartado de eliminar componentes están todos elementos del sistema como Aplicaciones, Controladores, Idiomas, Multimedia, etc. (Ahí me doy gusto quitando cosas)

6. Luego viene la parte de Instalación Desatendida donde le ponemos elementos como el numero de serie, el modo de desatendido, y todos los ajustes que se hacen después de instalar el sistema los podemos hacer ahora de una vez y por todas.

7. Un apartado muy importante es el llamado “RunOnce “ <- What’s this? Bueno sencillamente van a ser los scripts que se ejecutaran inmediatamente que el sistema arranca por primera vez, ahí existen variables predefinidas como:
  a. %SOURCE%
  b. %SYSTEMROOT%
  c. %USERPROFILE%
  d. %PROGRAMFILES%

Es aquí donde en mi caso le pongo:
%SOURCE%\Install\WPI\start.cmd

Para que en cuanto arranque me ejecute un conjunto de acciones para lo que es la personalización automática de los estilos, el WindowsPostInstall, etc. Más adelante les hablaré de precisamente estos compañeros.

8. Luego se compila en una imagen ISO y a probar en la Virtual PC a ver como quedó.

La parte de las Instalaciones Desatendidas las explico más adelante.


Continuar leyendo

Compresión de audio

Alien [blackhat4all@gmail.com]

La compresión de archivos de audio puede ser algo muy útil en un momento determinado. Digamos que queremos enviarle un mensaje de felicitaciones a un familiar lejano y en lugar de escribir un frío correo queremos lucirnos y enviarle algo más personalizado y sin que se pierda la emoción de ese momento.

Una buena opción podría ser el envío de una postal o incluso si tenemos las herramientas, el conocimiento y el arte hasta podemos crear una postal propia donde se vean reflejados los rostros de alegría de nuestros familiares, pero igualmente sería algo frio y seco, aún estando acompañado de un texto.

Una solución podría ser el envío de un video, pero de eso mejor ni hablar por el momento, en cambio, podemos enviarle un correo de voz en el que le hablemos por un poco más de 10 minutos y sin que el servidor de correo nos rechace el mensaje.

Para esto no les hablaré de programas extraños ni desconocidos, u otros que tengan que descargar desde un server y ocupe más de 10 Mb, incluso no les hablo de una serie de software sino de uno solo en que se encuentran todas las opciones: Nero.

Para los que como yo odian los mini-programas o programas que suprimen gran parte de sus opciones para hacerse llamar desatendidos o portables, tendrán en inicio->programas->Nero->Audio un acceso directo con el nombre de Nero WaveEditor. Esto no es más que la aplicación que viene con en Nero y que se encarga del tratamiento de los archivos de audio.

Al abrirlo verán algo como:

Como ven en el panel inferior aparece un botón rojo, y no hay que ser un experto para darse cuenta que es el que se encarga de realizar las grabaciones. Cuando hagan clic en el se abrirá antes que nada una ventanita para configurar las opciones de grabación de voz. En la misma no es necesario modificar ninguna opción, simplemente hacemos clic en Ok y esto nos llevará a la ventana de grabación.

En el combo box Audio input line seleccionamos Micrófono, damos en Rec y Happy BrithDay to you. Cuando hayamos concluido el concierto marcamos en Aceptar y veremos como en la ventana principal nos aparece la representación sonora de lo que hemos grabado.

Nota: No es necesario un micrófono, con conectar a la entraba de micrófono un auricular y hablar por el mismo obtendremos un resultado similar aunque claro está, un micrófono real nos daría una mejor calidad de audio.

En caso que la grabación haya quedado un poco baja en volumen, podemos siempre subirle el volumen siempre y cuando antes hagamos una selección y luego activemos la opción correspondiente en Volume/Volume Change.

El kit de la cosa está a la hora de guardar. Para esto debemos escoger el formato Windows Media Audio (wma) en el cuadro de dialogo de guardar como y luego ir a las opciones. Allí nos aparecerán varias opciones ordenadas por calidad de sonido (las peores arriba). Siendo así seleccionamos entonces Audio para contenido orientado a voz con baja velocidad de bits (a 6,5 Kbps)(6 KBits) y listo, como por arte de magia un archivos que superaría los 5 Mb lo veremos reducido a unos 500 Kb.

Continuar leyendo

Manual de Soporte Técnico (I)

Bill WHG [michel.grc1@gmail.com]

Un mundo es mejor es posible, pero si no hacemos nada para
que eso suceda, entonces estamos a siglos de dicha evolución...

Ningún objeto, aparato hecho por el hombre dura para siempre, todo sufre algún tipo de desgaste o avería, es decir que tiene un índice de fallos que es proporcional a su uso, el método de fabricación, los materiales empleados en su elaboración, etc.

En otras palabras, todos los artículos hechos por el hombre fallarán tarde o temprano. Y los ordenadores no son la excepción. Durante el manejo regular de una computadora con frecuencia surgen diversos problemas, estas dificultades se deben a dos aspectos fundamentales el "hardware" y el "software". Sin embargo, al igual que casi con cualquier cosa podemos mantener nuestro ordenador trabajando razonablemente bien y a veces hasta podemos mejorar su desempeño haciéndole pequeños ajustes.

El propósito de éste manual es precisamente el de ayudarnos a seguir trabajando con el ordenador resolviendo algunas situaciones comunes que en otros casos impiden que continuemos con nuestro trabajo.

Índice del Articulo

1. Introducción
2. Tipos de mantenimiento
3. Seguridad
4. Cómo instalar una computadora
5. Cómo crear un disco de inicio
6. Cómo instalar una impresora
7. Cómo instalar un programa
8. Mantenimiento del Sistema
9. Otras instalaciones
10. Preparación y formateado del disco duro
11. Instalación del sistema operativo
12. Añadir componentes de Windows
13. Cómo instalar un CD-W o DVD
14. Cómo instalar más memoria en la computadora
15. Cómo instalar una tarjeta de video
16. Cómo instalar un módem, tarjeta de sonido o tarjeta de red
17. Componentes principales de una computadora
18. Las partes del procesador
19. Memoria
20. Tarjetas
21. El Sistema Bus
22. BIOS
23. Batería
24. Conexiones para periféricos
25. Dispositivos de Almacenamiento
26. Disco Duro (Hard Drive)
27. Disco Flexible (Floppy Disk)
28. Disco Compacto (Compact Disk, CD)
29. Fuente de Poder
30. Teclado
31. Ratón
32. Monitor
33. Impresora
34. Módem
35. BIOS
36. Arranque de la computadora
37. Dispositivos de Entrada y Salida
38. Evitando Virus
39. El Registro de Windows

2: Tipos de mantenimiento

Una descripción de mantenimiento es: Tener y conservar en condiciones seguras de uso cualquier utensilio, dispositivo, herramienta, sistema, equipo o maquinaria. ¿Cómo sabemos cuando algún objeto reúne estas condiciones? Mediante:

1.- El Mantenimiento Predictivo.
Consiste en hacer revisiones periódicas (usualmente programadas) para detectar cualquier condición (presente o futura) que pudiera impedir el uso apropiado y seguro del dispositivo y poder corregirla, manteniendo de ésta manera cualquier herramienta o equipo en optimas condiciones de uso.

2. El Mantenimiento Preventivo.
Es hacer los ajustes, modificaciones, cambios, limpieza y reparaciones (generalmente sencillos) necesarios para mantener cualquier herramienta o equipo en condiciones seguras de uso, con el fin de evitar posibles daños al operador o al equipo mismo.

3. El Mantenimiento Correctivo.
Es reparar, cambiar o modificar cualquier herramienta, maquinaria o equipo cuando se ha detectado alguna falla o posible falla que pudiera poner en riesgo el funcionamiento seguro de la herramienta o equipo y de la persona que lo utiliza.

3: Seguridad

Una computadora es un equipo que funciona con corriente eléctrica por lo que obviamente habrá que tener los mismos cuidados y consideraciones que se tienen al trabajar con cualquier artículo eléctrico. Pongamos atención a las siguientes reglas básicas de seguridad:

1.- Siempre y antes de abrir el gabinete, Apaga y Desconecta la computadora. Usa el procedimiento usual para salir de Windows y desconecta la computadora.

2.- Nunca muevas la computadora cuando esté funcionado. El disco duro puede dañarse al mover la computadora cuando está funcionado.

3.- Nunca conectes ningún dispositivo (ratón, teclado, etc.) cuando la computadora esté prendida. Se puede dañar la tarjeta madre.

4.- Cuando hayas abierto la computadora, toca cualquier parte metálica del gabinete para descargar la electricidad estática que hay en tu cuerpo. Hasta la corriente más baja puede dañar los chips de memoria o el procesador.

5.- Nunca abras un monitor, aún apagado y desconectado almacena corriente eléctrica por periodos prolongados de tiempo y puedes recibir una muy fuerte descarga eléctrica. Herramientas
Para trabajar con una computadora no es necesario tener herramientas especiales, bastará con:
1.- Destornillador de punta plana
2.- Destornillador de punta de cruz
3.- Destornillador tenacillas.
4.- Una aspiradora portátil puede ser útil.

4: Cómo instalar una computadora

Ya sea que compremos una computadora de marca o una computadora ensamblada (la única y gran diferencia es el precio), una adecuada y correcta instalación es básica para su buen funcionamiento, para una buena instalación hay que seguir los siguientes pasos:

Desempaca con mucho cuidado los componentes del sistema, asegurándote de que el paquete (monitor, gabinete, teclado, ratón, bocinas, etc.) esté completo. Coloca el monitor y el gabinete (CPU) en una superficie firme, plana y nivelada. En donde no esté expuesta a temperaturas extremas de calor o frío y cuidando de no obstruir las entradas de aire de la computadora, recuerda dejar por lo menos tres pulgadas de espacio en la parte trasera y superior del monitor para una buena y continua circulación del aire. Coloca el teclado, el ratón y las bocinas en una superficie firme, plana y nivelada.

Con los cables provistos (extiéndelos completamente) haz las conexiones monitor-cpu, teclado-cpu, ratón-cpu y bocinas-cpu, asegurándote de que hayan quedado bien firmes. Por lo general es casi imposible el equivocarse al hacer las conexiones por el tamaño, tipo y hasta el color de los conectores, que facilitan efectuar bien las conexiones fácilmente. Conecta los cables de corriente del monitor, el gabinete (CPU) y las bocinas al regulador de voltaje o al toma corriente más conveniente. Antes de prender la computadora, asegúrate de seleccionar el tipo de corriente eléctrica correcta (115 v) en la parte posterior del CPU.

5: Cómo crear un disco de inicio

Ocasionalmente nuestro sistema fallará es decir no arrancará la computadora, o tal vez sea necesario formatear el disco duro e instalar nuevamente el sistema operativo, es esos casos es muy necesario contar con un disco de arranque que corresponda con el sistema operativo que tengamos instalado en la computadora. Un disco de inicio de Windows 98 sólo será útil para una computadora que tenga instalado Windows 98, así mismo será para Windows XP.

Para hacer un disco de inicio, sigue estos pasos:


Prepara un disco formateado de 3.5'' y le pones una etiqueta que lo identifique como Disco de Inicio de Windows o Disco de Arranque. Haz clic en el botón Inicio, señala Configuración y haz clic en Panel de Control. Ahora haz doble clic sobre el icono Agregar o Quitar Programas. En Propiedades de Agregar o quitar programas, haz clic en la pestaña Disco de inicio y sigue las instrucciones en pantalla. Introduce el disco en la disquetera y haz clic en el botón Crear disco.

A continuación Windows copiará del disco duro al disco de 3.5'' los archivos necesarios para arrancar la computadora y que funcione como disco de inicio de Windows. Una vez que termine lo retiras de la disquetera y lo guardas muy bien (ojalá nunca lo uses).

Continuar leyendo

Haciendo Hacking con USB

Thunder [yuniet02015@hab.jovenclub.cu]

PRESENTACION

Un saludo nuevamente a todos los lectores seguidores de la zine BlackHat. Ya estamos de vuelta con “otra”, esta vez con un pequeño vistazo a nuestras Flash Memories. Este artículo presenta un análisis de mecanismos de acceso a través de dispositivos USB, siendo éstos destinados principalmente a quebrantar la seguridad de sistemas basados en Windows. Igualmente, el escrito presenta una aplicación de “Hackblade” la cual es una de las técnicas que pueden ser utilizadas para realizar un ataque a través de un dispositivo USB; Por último, se discuten algunas medidas de detección y prevención recomendables para evitar un ataque realizado con un dispositivo USB.

INTRODUCCION

USB son las siglas de Universal Serial Bus. En ordenadores, un bus es un subsistema que transfiere datos o electricidad entre componentes del ordenador dentro de un ordenador o entre ordenadores. La tecnología USB ha sido promovida principalmente por Intel, aunque le han seguido todos los grandes fabricantes, de forma que se ha convertido en un estándar importante En la actualidad los dispositivos de almacenamiento USB son muy populares, debido a su facilidad de uso y relativamente bajo costo. Además de su gran capacidad, algunos de estos dispositivos cuentan además con reproductores multimedia, haciéndolos aun más atractivos al público. Unas de las líneas de estos dispositivos multimedia son los iPods, Sansa, MP4, etc. A quien no le gusta ir con un “yerrito” de estos por la calle oyendo los gigas y gigas de música que les caben. Sin duda, los dispositivos de almacenamiento USB han revolucionado desde hace algunos años la manera en que las personas manejan sus archivos.

No obstante, pese a su gran utilidad, estos dispositivos ofrecen diferentes mecanismos para romper la seguridad de un sistema. Dichos mecanismos son, en su mayor parte, desconocidos por los administradores de PC’s en las organizaciones, por lo cual en la mayoría de los centros no se toman medidas de control sobre estos dispositivos. El presente escrito describe algunas técnicas de acceso y control usando dispositivos USB que pueden ser usadas con facilidad. Además se dan medidas de prevención ante un ataque basado en dispositivos USB.

ANTES DE CONTINUAR

Dentro del marco de dispositivos de almacenamiento USB, es necesario ver algunos conceptos, entenderlos nos va a permitir comprender las técnicas usadas para romper la seguridad de los PC.

HARDWARE USB

Los dispositivos USB adoptan una topología de estrella y se organiza por niveles a partir de un controlador host instalado en la placa base, que actúa de interfaz entre el bus de ésta (generalmente a la interfaz PCI) y el primer dispositivo USB, el denominado concentrador raíz ("Root hub"), instalado también en la placa. Dada la proliferación de este tipo de dispositivos, las placas modernas pueden disponer de varias concentradoras raíces, cada uno con su propia salida. El bus USB soporta intercambio simultáneo de datos entre un ordenador anfitrión y un amplio conjunto de periféricos. Todos los periféricos conectados comparten el ancho de banda del bus. El bus permite conexión y desconexión dinámica, es decir, que los periféricos se conecten, configuren, manipulen y desconecten mientras el sistema anfitrión y otros periféricos permanecen en funcionamiento, cuando se detecta un nuevo dispositivo es el host el encargado de cargar los drivers oportunos sin necesidad de intervención por el usuario.

CABLES Y CONECTORES USB

El cable de bus USB es de 4 hilos, y comprende líneas de señal (datos) y alimentación, con lo que las funciones pueden utilizar un único cable. Se usan dos tipos de conectores, A y B. Ambos son polarizados (solo pueden insertarse en una posición) y utilizan sistemas de presión para sujetarse. Los de tipo A utilizan la hembra en el sistema anfitrión, y suelen usarse en dispositivos en los que la conexión es permanente (por ejemplo, ratones y teclados). Los de tipo B utilizan la hembra en el dispositivo USB, y se utilizan en sistemas móviles (por ejemplo, cámaras fotográficas o altavoces).

SISTEMA U3

De acuerdo a su sitio oficial [http://www.u3.com/smart/default.aspx], U3 es una tecnología para dispositivos de almacenamiento USB que permite tener sobre éste un conjunto de aplicaciones, tal que éstas se puedan usar en cualquier PC tan sólo con conectar el dispositivo. Ésta tecnología sólo funciona sobre Windows, específicamente Windows 2000 SP4, Windows XP, Windows 2003 Server o Windows Vista (todas las ediciones). U3 permite acceder a las aplicaciones y los datos a través de una utilidad llamada Launchpad. Ésta utilidad abre un menú similar al mostrado por Windows XP tan pronto se conecta la memoria al PC. Es precisamente esta utilidad lo que convierte a U3 en un problema de seguridad; la ejecución automática del Launchpad permite integrar código malicioso dentro de la aplicación. El mecanismo a través del cual U3 abre automáticamente el Launchpad puede ser considerada como una solución torpe a la falta de arranque automático en los dispositivos de almacenamiento USB. Usualmente, cuando se conecta un dispositivo USB con reproducción automática activada, Windows muestra un diálogo en el cual pregunta al usuario que acción debe tomar, lo cual permite impedir hasta cierto punto la ejecución de código sin consentimiento del usuario. Sin embargo, U3 emula una unidad de CDROM en la cual se encuentra el Launchpad; así, cuando se conecta el dispositivo, el Launchpad corre automáticamente (claro está, asumiendo que el usuario tiene activado en su sistema la reproducción automática para CD), sin preguntar al usuario que acción debería se realizada. El experimento descrito en este documento se basa en U3 para recolectar información de un computador sin que el usuario lo perciba.

METODOS Y HERRAMIENTAS DE ATAQUE

Existen diversos mecanismos para tomar control sobre una máquina, o bien acceder a información contenida en ésta. Todos los ataques informáticos requieren de un medio a través del cual se realicen las acciones relativas al ataque; por tanto, se deben considerar a los dispositivos USB simplemente como un medio más, así como Internet es considerado como tal. Por tanto, muchos de los mecanismos usados a través de una red pueden ser aplicables a un dispositivo USB con sus modificaciones correspondientes.

Podslurping: El termino “Slurping” hace referencia a chupar o sorber. En este sentido, el podslurping consiste en usar un dispositivo USB con el fin de “sorber” información de una maquina sin que el usuario lo note (el término nació particularmente con el uso de iPods para realizar este ataque). El ataque típico se realiza usando ingeniería social; Se solicita a la víctima conectar el dispositivo a su maquina, con la excusa de recargar la batería del iPod, o bien copiar algún archivo. Una vez se conecta el dispositivo y se abre el explorador de archivos, el dispositivo corre un script que copia en modo silencioso todos los archivos que encuentre en carpetas específicas, tales como la carpeta de documentos, sin que la víctima del ataque lo pueda notar. Un ejemplo simple de un script en batch para podsulrping seria el siguiente:

@echo off
mkdir %~d0\%computername%
xcopy “C:\Documents and Settings\%username%\Mis Documentos\*.doc” %~d0\%computername% /s/c/q/r/h
@cls
@exit


Este script crea una carpeta en la memoria flash con el nombre de la maquina atacada, y copia los contenidos de la carpeta de Mis Documentos. Aunque pequeño y simple, este script es bastante efectivo. En realidad, el éxito de la técnica se basa en la velocidad de transferencia y la capacidad de dispositivos como el iPod.

USB Dumper: Dumper es una pequeña utilidad capaz de correr en cualquier PC bajo Windows y que realiza una copia del contenido de cualquier dispositivo de almacenamiento USB que se inserte en el sistema. Es muy sencilla de utilizar y su operación es totalmente silenciosa. Incluso existe ya una versión mejorada (Usbdump2) que dispone de un interfaz gráfico y algunas funcionalidades extras aún más peligrosa que aquellas presentes en la primera versión (inyección de macros en documentos Word y Excel, selección de extensiones a copiar y posibilidad de arrancar automáticamente un ejecutable dado tras la inserción de un dispositivo, lo cual generalmente no se puede realizar). Solo se debe indicar en qué directorio desea que Dumper ponga los contenidos capturados de los dispositivos USB que se inserten. Después de iniciada, se arranca un proceso que, cuando se inserte un dispositivo USB, copia todo su contenido al directorio indicado. El funcionamiento es silencioso, aunque no oculta su presencia al administrador de tareas. Además de este soft, existen otros con los mismos fines.

USB Hacksaw: Hacksaw utiliza una versión modificada del Dumper que se instala una vez en el sistema víctima para que funcione como proceso en segundo plano siempre que esa PC inicie, esperando a que un dispositivo USB sea instalado. El funcionamiento de Hacksaw es simple; Una vez que un dispositivo USB se inserte en un sistema, copia la carga útil a la PC y empieza a funcionar silenciosamente el archivo de recolección y envío de datos. Éste último archiva la información obtenida usando el formato RAR, establece una conexión SSL a un servidor de correo SMTP y envía los datos descargados a una dirección de correo de Gmail; posteriormente, elimina los documentos y archivos. La herramienta se ha modificado rápidamente para incluir otros propósitos malévolos, incluyendo el funcionamiento de una versión especial de Nmap y de otras exploraciones de vulnerabilidad y de envío de datos a las posiciones remotas. Una versión más peligrosa lanzada recientemente incluye la capacidad de instalar la carga útil sobre cualquier drive instalado, permitiéndole infectar otros sistemas. Éste es el primer caso reportado de un gusano real del USB flash drive.

USB Switchblade: Básicamente, Switchblade es una técnica que recupera información silenciosamente de equipos con Windows 2000 o posterior. Dicha información incluye (aunque no solamente) información de IP del computador, hashes de contraseñas, y passwords LSA. Aunque la técnica inicialmente fue creada para ser usada con dispositivos de almacenamiento convencionales, la tecnología U3 permite realizar ataques Switchblade de manera mas silenciosa y totalmente automatizada (no se debe abrir el explorador de archivos, tan solo se debe conectar el dispositivo a la maquina), y por eso es la mas preferible. Se debe modificar la unidad de CDROM emulada por el dispositivo, tal que se ejecuten los scripts de Switchblade al iniciar automáticamente el Launchpad.

SISTEMAS OPERATIVOS

Existe una manera de controlar por completo una máquina a través de USB, y esto se logra a través de un Sistema Operativo. Debido a su gran capacidad, los dispositivos de almacenamiento USB actuales permiten incluso instalar Sistemas Operativos completos dentro de ellos. Realizar un ataque basándose en un sistema operativo instalado sobre una memoria USB puede ser considerada como la mejor forma de realizar actividades ilícitas sobre un computador. Al no utilizar el sistema de archivos del disco duro, no se dejan rastros sobre éste, dificultando en gran manera la obtención de “rastros”. La única manera conocida (por lo menos que yo sepa) de recolectar evidencias en caso de haberse usado esta técnica es obtener el dispositivo como tal. Existen métodos para instalar Windows en un dispositivo USB; Sin embargo, se considera que es más útil instalar alguna distribución Linux, dado que este Sistema Operativo es más ligero que Windows (existe una distribución de Linux especializada en memorias USB llamada “damn small Linux” que requiere tan solo 64 MB de espacio libre en el dispositivo...jeje). Existen distribuciones Linux especializadas en técnicas de hacking que pueden instalarse dentro de un dispositivo USB; tal es el caso de Backtrack y Nubuntu.[http://articles.techrepublic.com.com/5100-6346-5928902.html], [http://www.pendrivelinux.com/2007/01/02/all-in-one-usb-dsl]

Ésta técnica no es aplicable en todos las PC, ya que no todos cuentan con la capacidad de arrancar la máquina sobre un dispositivo USB. Sin embargo, la mayoría de Los ordenadores modernos cuentan con dicha capacidad, convirtiendo a esta técnica en un importante riesgo de seguridad.

EXPERIMENTANDO

Vamos a ver ahora una de las técnicas mencionadas en acción, me refiero al “Hackblade”. Esta técnica funciona sobre U3, y es capaz de obtener información de IP del computador, contraseñas de Windows Messenger y MSN Messenger, contraseñas de los usuarios de Windows, e incluso la clave de producto de Microsoft Office y Windows. Además, del mismo modo que Hacksaw, deja un programa residente en la PC que se encarga de enviar la información recopilada a una cuenta de correo. Una de las grandes ventajas de usar esta implementación en particular es que un programa antivirus que detecte el programa, no podrá eliminar el archivo del sistema, dado que se instala todo sobre la unidad de CD emulada. Al igual que con algunas implementaciones de Switchblade, para instalarlo apropiadamente en la memoria se debe modificar la unidad de CD-ROM emulada Una vez se ha modificado la unidad emulada, se procede a configurar la herramienta; ésta tiene una utilidad gráfica que permite configurar muy fácilmente las opciones con las que se va a realizar el ataque.

Finalmente, se utiliza la herramienta sobre la máquina deseada; no todas las opciones son veloces (tal es el caso de la enumeración de puertos), por tanto se debe dejar conectado el dispositivo un rato lo suficientemente largo para que pueda realizar

Todas sus actividades cómodamente. En primer lugar, la herramienta puede identificar las contraseñas del sistema; éstas se obtienen desde el la base de datos SAM (Security Account Manager), en la cual están todos los hashes de las contraseñas; para obtener las contraseñas efectivas:

Administrador:500:6BCC84******23682E9FB2*******DA516C7B2
29E0822*********A:::
Invitado:501:NO PASSWORD*********************:NO
PASSWORD*********************:::


A su vez, en SAM se pueden obtener las contraseñas de varios programas de Microsoft. Tal es el caso de MSN Messenger, que también guarda los hashes de las cuentas guardadas:

Item Name: WindowsLive
name=usuario@hotmail.com
Type: Generic
User: usuario@hotmail.com
Password: ***9***ld
Last Written: 10/11/2008 12:07:06 p.m.


También se obtuvieron las claves de producto de Windows; éstas se obtuvieron a partir del registro de Windows, leyendo la llave HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/ProductId

Product Name: Microsoft Windows XP
Product ID: 55**0-*****-791*-230***
Product Key: PQ**M-*****-3B**W-*****-V**XQ
Computer Name: DESKTOP


La información de las cuentas de correo de la víctima también puede ser obtenida, en caso de que las registre en programas como Outlook o ThunderBird.

Name: Usuario Apellidos
Application: MS Outlook 2002/2003/2007
Email: usuario@gmail.com
Server: pop. gmail.com
Type: POP3
User: usuario
Password: ***v******l******e
Profile: Outlook


Por último, se presentan los procesos activos al momento de realizar el ataque. Ésta información se obtiene ejecutando comandos de sistema como tasklist.

Process ID: 1944 (Apache.exe)
Service Name: Apache2
Display Name: Apache2
Service Type: runs in its own process
PID Port Local IP State Remote
IP: Port
1944 TCP 80 0.0.0.0 LISTENING 0.0.0.0:2128
Process ID: 1968 (AdskScSrv.exe)
Service Name: Autodesk Licensing Service


DETECCIÓN Y PREVENCIÓN

Es importante saber que el objetivo de usar herramientas basadas en dispositivos USB es el de dificultar el seguimiento de “rastros” por el usuario. Esto se puede lograr debido al poco uso que se le da al disco duro donde se encuentra el Sistema Operativo y otros archivos al momento de realizar acciones ilícitas. En estos casos no se encuentran tantos rastros como se encontrarían en caso de usar mecanismos para obtener los mismos resultados a través de una red. Además, también existe la posibilidad de instalar un S.O totalmente funcional sobre un dispositivo USB, como comente anteriormente; si se utiliza dicho S.O, usando el sistema de archivos instalado sobre el dispositivo, no se deja rastro alguno de las actividades realizadas. A pesar de todas estas razones, se puede detectar el uso de las herramientas mencionadas si se conocen los mecanismos utilizados por ellas; Para poder realizar el seguimiento del uso de estas herramientas hacia un dispositivo USB específico, en Windows se puede revisar el registro de dispositivos a través del comando regedit. En la llave KEY_LOCAL_MACHINE/system/CurrentControlSet/Enum/USB se encuentran llaves para cada uno de los dispositivos que se conectaron al equipo. Para cada uno, existe un identificador único, permitiendo así relacionar un dispositivo en particular con un equipo. Así, si se tiene la certeza de que se realizó un ataque con un dispositivo determinado y se tiene acceso a ese dispositivo, es posible comprobar que en efecto dicho dispositivo estuvo conectado al equipo. Sin embargo, este es un mecanismo muy rudimentario para identificar dispositivos o ataques hechos con éstos. Windows no provee por defecto un mecanismo para registrar las acciones realizadas a través de un dispositivo USB; sin embargo, existen herramientas como DeviceLock Plug And Play Auditor, que permiten llevar un registro de las acciones realizadas a través de dispositivos USB.
[http://www.protectme.com/devicelock_plug_and_play_auditor.html]

Para implementar un sistema de auditoria sobre dispositivos USB, se deben tener en cuenta los aspectos de identificación de éstos.

Según [http://www.networksecurityarchive.org/html/Computer-Forensics/2005-02/index.html#00006] los dispositivos de almacenamiento USB poseen un descriptor, en el cual se encuentran entre otros campos, un numero serial (iSerialNumber), un identificador del fabricante (idVendor), y un identificador del producto (idProduct). A través de estas estructuras de datos, se pueden identificar los dispositivos. El paso siguiente es registrar los accesos de lectura y escritura sobre el dispositivo; esto se puede lograr monitoreando (sniffing) la conexión con los dispositivos USB. Para lograr esto, se pueden emplear utilidades como usbsnoop, un sniffer de USB para Windows.

En cuanto a la prevención, es algo que tiene que ver mas con la “persona” que con el manejo técnico de los dispositivos, dado que la mayor parte de las técnicas descritas requieren en mayor o menor medida el uso de ingeniería social para ser aplicadas. A su vez, existen herramientas que bloquean completamente el acceso de dispositivos de almacenamiento USB; tal es el caso de USB Lock AP, que además impide el uso de disquetes y CDs.

PALABRAS FINALES

En este articulo fueron descritas varias herramientas que pueden ser utilizadas con dispositivos USB se considera muy fácil realizar un ataque a través de estos dispositivos, dada las características que posee y que son mencionadas, es muy importante conocer estas técnicas, y crear técnicas que permitan detectar y prevenir en una mejor manera ataques de esta naturaleza. Bueno...nos vemos en otra.

Continuar leyendo

Fake flash

NEO [enrique@expocuba.cu]

Queridos BlackHateros, como ya había visto hace poco en uno de sus artículos es verdad que por ahí andan disimiles cantidades de no solo MP4’s sino flashes, DVD’s e incluso hasta televisores falsos. (Estos chinos son la mata de la estafa) Resulta que leía en el articulo de los MP4’s falsos y resulta que yo personalmente fui victima de la estafa, por suerte fue regalado pero de pronto comenzó a ser de 512Mb cuando se me dio como de 2Gb. También escuchaba de boca de un pariente como en China, Vietnam, Korea, etc. te venden en los “merolicos internacionales” televisores de Plasma con marca Sony, Panasonic, Philips y que lo único que tienen que lo demuestren es la chapilla externa que lo identifica, una vez que lo abres no te empatas con un LG o Daewood más nunca.

Por lo tanto se ha realizado una campaña de información en todos los sectores tanto nacional como internacional para frenar el exuberante y alarmante auge de la falsedad y estafa digital.

Aquí les van unas imágenes que demuestran los indicios y los síntomas:

 
 
 

¿Qué pasa? Pues después que las insertas en el puerto USB el Sistema Operativo las detecta sin problemas, incluso, si le das a las propiedades del dispositivo te dirá sin problemas que es de 8, 4, 2 o 1Gb respectivamente. Pero el problema surge después que les comenzamos a copiar cositas, es decir cuando copiamos archivos que exceden la capacidad real del módulo de memoria es cuando comienzan los bateos, copia lenta, error de dispositivo E/S, o se marea y luego te dice “Por favor inserte un disco en la unidad G:”.

También se ponen pesadas a la hora de revisar, modificar o eliminar archivos desde la propia flash, ¿Solución? Sencillo, le pasas un formateo de bajo nivel y en algunas ocasiones te da el palo y detectas que tu flash es realmente de 512, 256 e incluso hasta 64 megas. Nada que para el facho hay que tener don…. Salu2 y Suerte.

Continuar leyendo

Winrar: La reconquista

Alien [blackhat4all@gmail.com]

En la edición anterior publiqué un artículo de nombre “Winrar: I give up”, en el mismo exponía todo lo que había encontrado de curioso con los archivos .rar a la vez que hacía pública mi retirada del tema. No obstante, mientras cerraba y guardaba las conclusiones finales en un txt (mejor formato de texto del mundo!!) me acordé de algunas cosas y…

Una vez un profesor de física del preuniversitario me dijo que quizás la pregunta más importante que podría hacerse una persona y que es también quizás la base de todos los adelantos científicos de los que hoy disfrutamos es “¿Por qué?”

¿Por qué llueve?
¿Por qué el día tiene 24 horas?
¿Por qué el cielo es azul?

¿Por qué funciona solo con el primer archivo y no con todos?

Si, claro que funciona con todos. El caso es que después de tomarme un TIEMPO para leerme en hexadecimal todo el contenido de un .rar de solo 94 kb (y créanme que es bastante código) me percaté que todos los archivos tienen una entrada similar, me explico.

Winrar, como todos saben, dividen los archivos para que sea viable poder extraer uno solo en lugar de descompactar todo el paquete. Pero para esto tiene que definir cada uno de los archivos, asociarlos con una imagen, identificar el tamaño, el nombre, y demás parámetros que son para Winrar imprescindibles.

Producto de esto, cada archivo debe que tener una entrada en la que se definan todas estas cosas; por lo tanto cada archivo tienen una “cabecera” independiente y debe ser similar a la del primero. (al menos en teoría)

En hexadecimal, cada entrada de archivo se representa con 30 bites, los cuales describo a continuación:
74 80 80 3c 00 a6 06 00 00 6e 17 00 00 02 19 bd 2c a5 d5 7c 70 39 1d 35 1c 00 20 00 00 00 (File Name)
74 90 80 41 00 a9 04 00 00 89 0f 00 00 02 b9 8c 02 40 21 77 70 39 1d 35 21 00 20 00 00 00 (File Name)
74 90 80 41 00 f5 06 00 00 73 1e 00 00 02 0e 77 2a 16 56 8c 6c 39 1d 35 21 00 20 00 00 00 (File Name)
74 90 80 41 00 6c 06 00 00 bc 19 00 00 02 d9 35 60 e8 c7 7c 70 39 1d 35 21 00 20 00 00 00 (File Name)
...

Haciendo una representación un poco más general y fácil de entender veríamos algo como:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, Ñ, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, A2, A3

Donde cada letra representa un valor en hexadecimal.

A – Vendría siendo el valor 74, que no es más que la entrada oficial al archivo.
B, C, D, E – Son valores que, a excepción del primer archivo, se mantienen iguales para el resto. Aún no se con seguridad que significa, pero podría estar más relacionado con el compactado de forma general que con las características de un solo archivo en específico.
F, G, H, I – Serial el tamaño del archivo comprimido y escritos al revés, o sea, si el tamaño del archivo comprimido es 3.832 bytes (0EF8 en hex) se vería representado como F8 0E 00 00, si es 37.312.000 bytes (35,5 Mb) en el archivo diría 00 56 39 02.
J, K, L, M – Sería el tamaño del archivo sin comprimir y escrito igualmente al revés.
N – Al parecer este valor es fijo y siempre está asignado a 2 (02 en el archivo)
Ñ, O, P, Q – Estos valores representan el valor CRC32.
R – Sin datos
S – Sin datos
T – Sin datos
U – Sin datos
V – Sin datos
W – Sin datos
X – Representa la longitud del nombre del archivo, incluyendo las subcarpetas en las que se encuentre en caso que así sea.
Y, Z, A1, A2, A3 – Estos valores no los he logrado entender aún, pero por el momento pienso que solo sirven para delimitar los datos del archivo del archivo como tal, pues sin importar extensión tamaño u otros datos, estos valores se mantienen invariables. Podría parecer un poco ilógico que se tomen seleccionen 5 bites solo para esto, pero teniendo en cuenta la cantidad de caracteres que se repiten en un compactado, de escoger solo uno podría haber cierto margen de error a la hora de ser leído el archivo. (Nota del autor: Aunque igual podría yo estar hablando tremenda … y ser la parte más importante del archivo compactado)

Y bueno, aquí tenemos ante nosotros una parte del cifrado de los archivos Winrar, parte esta bastante pequeña, pero quizás de mucho interés.

Conclusiones

Como ven es fácil hacer un programa para burlar, en parte, al Winrar. De esta forma, ya no será necesario tener que esconder las cosas y ocultarlas con un password que, como quiera que sea no está exento de que se nos olvide.

He aquí una nueva forma de ocultar información a la vista y sin tener que recurrir a programas extraños o extranjeros, una nueva vulnerabilidad del Winrar salida de las páginas de BlackHat.

Pero eso no es todo, sin restarle importancia al programa como tal, lo que realmente considero significativo es que solo me quedan 3 metas, así que… Objetivo 4, voy a por ti!! . [Cuando las cumpla todas voy a dormir 3 días seguidos ;)]

Continuar leyendo