domingo, 30 de marzo de 2014

Encontrar un equipo infectado en una red utilizando Cain & Abel para ello

Entre las varias formas de encontrar un host que está bloqueando al router, tales como apagar todos los host e ir encendiendo de a uno hasta dar con el culpable, o reemplazar la puerta de enlace con un equipo configurado como router y luego analizar el trafico en este equipo, el método que utilicé por ultima vez y me dio resultado fue utilizar Cain & Abel para aplicar "Envenenamiento ARP". De este modo no es necesario estar manipulando cables de red.
Ese método engaña a los hosts de la red (llamados víctimas), haciéndoles creer que cierto equipo es la puerta de enlace, con lo que todos los paquetes son enviados a ese equipo "intruso".
El equipo intruso se encarga de solicitar al router verdadero los paquetes que le solicitan los hosts y les envia lo que el router respondería normalmente. Lo que hace básicamente es NAT, del mismo modo en que lo hace el router, con la diferencia que envenena la tabla ARP del switch para lograr que cada host vea al intruso como la puerta de enlace.
Conceptos tales como envenenamiento ARP, NAT, etc son extensos para desarrollarlos en este post por lo que sugiero revisar fuentes como:
http://es.wikipedia.org/wiki/Network_Address_Translation
http://es.wikipedia.org/wiki/ARP
http://es.wikipedia.org/wiki/Ataque_Man-in-the-middle
http://es.wikipedia.org/wiki/ARP_Spoofing

El programa Cain & Abel puede ser descargado de http://www.oxid.it/cain.html

Para instalar el programa es muy simple, solo hay que descargar el instalador y ejecutarlo en una pc confiable de la red. Al final de la instalación, el programa sugiere instalar WinPcap, el cual es necesario para poder configurar la placa de red en modo promiscuo (escucha todo el trafico de la red, no solo el que le corresponde según su ip)

Una vez instalado lo ejecutamos:
Hacemos clic en el botón con forma de placa de red para iniciar el sniffer y luego en la pestaña Sniffer
Nos aseguramos de que la pestaña inferior "Hosts" esté en el foco y luego clicamos el signo +
En la ventana que se abre, clicamos en "All hosts in my subnet" y luego OK
Con lo que aparecen listados todos los equipos de la red.
Para implementar el envenenamiento (APR), ponemos el foco en la pestaña APR y luego clic en +. Podría ocurrir que el signo + no esté activo. Eso se resuelve haciendo clic en dentro de la tabla aún vacía de los hosts (encabezada por Status, IP address, MAC Address, etc)
No confundir APR con ARP. APR es ARP Poison Routing
En el sector izquierdo aparecen todos los host para seleccionar el host a suplantar. Generalmente ese host es la puerta de enlace. En el caso que analizamos (una red infectada con internet bloqueado) mi intención es suplantar la puerta de enlace, asi que hago clic sobre la ip 192.168.1.1
Una vez seleccionado el host a suplantar, se despliega el resto de la red en la parte derecha, en cuyo área puedo seleccionar uno o mas hosts "víctimas".
Una vez seleccionados los hosts "víctimas" hacemos clic en el botón amarillo para iniciar el envenenamiento ARP.
Ahora puede verse el tráfico de cada host (dos en este ejemplo). Es simple detectar un host infectado comparando el tráfico. Quien más tráfico tiene es el culpable. Con respecto a este punto, es importante, en lo posible, detener en los hosts de la red, todo programa que se conecte a internet, como navegadores, antivirus, clientes de correo, etc, a fin de minimizar el tráfico y detectar al culpable más rapidamente.
Finalmente, en mi caso, resultó ser que no había máquina infectada sino un DVR con un servicio bloqueado que inundaba de paquetes la red y bloqueaba la puerta de enlace.

sábado, 21 de septiembre de 2013

Editar archivos con extension *.iaf (exportaciones de cuentas de Outlook Express, Windows Live Mail)

Guardo las cuentas de varios clientes en archivos iaf. Muchas veces me llaman porque se olvidaron la contraseña. Y es en esas circunstancias en las que es necesario editar un archivo iaf.
La verdad es que no encontré nada que sirva específicamente para eso, pero lo que hago es importar los archivos iaf (uno o varios) con Outlook Express, o Windows Live Mail y luego con el programa Mailpv.exe (de Nirsoft) obtengo un listado con la configuracion, incluida la contraseña, de todas las cuentas.
El programa de Nirsoft está aca:
http://www.nirsoft.net/utils/mailpv.zip

Descubrir la IP de un dispositivo o host

Una forma es arrancar Wireshark en un equipo conectado unicamente al dispositivo. Iniciar la captura y encender el dispositivo.
Wireshark comenzará a mostrar paquetes. Solo es cuestion de un poco de intuicion para descubrir la ip.
Por ejemplo:
En wireshark aparece who has 192.168.1.1 ask 192.168.1.252. De ahi se desprende que el dispositivo tiene la ip 192.168.1.252

En el caso especial de que el dispositivo fuera un router configurado como gateway, no es necesario Wireshark, suponiendo que el dispositivo tenga activado DHCP. En ese caso la solucion es bastante simple: configurar la red de la pc en automatico y esperar que el servidor DHCP del router asigne una ip.

domingo, 5 de agosto de 2012

Otro caso de "brujería"

Creo que debería abrir un blog especial de brujeria porque a raiz de mi ultima entrada comencé a acordarme de varios casos "sin solución"

Escenario:
Una empresa con cuatro sucursales.
En cada sucursal hay una impresora fiscal marca Hasar y un programa escrito en Visual Basic corriendo bajo windows xp en un caso y vista en el resto. Ese programa se conecta con la impresora fiscal para emitir las facturas.

El problema:
En dos de las sucursales el texto correspondiente a la razón social sale truncado.
La providencia quiso que se pueda descartar el sistema operativo pues la version y service pack de aquel en el que sí funciona (windows vista) es la misma que en donde funciona mal. Ademas tampoco funciona en un terminal con windows xp.
El programador le atribuye el problema a la impresora.
Los de la impresora, a su vez, le atribuyen el problema al programa.

Las pruebas:
Los de la impresora hicieron "enroque" de impresoras y verificaron que el corte de texto se produce exclusivamente en la sucursal, por lo tanto no es problema de la impresora.
El programador dice que la version del programa es exactamente la misma en todas las sucursales. Por lo tanto tampoco es el programa.
Me contratan para que encuentre la causa del problema.

Mis pruebas:
Los sospechosos son: el puerto serie y el driver.
Me enfoco en el driver de la impresora fiscal.
Se llama fiscal.ocx.
Tomo nota de la versión del ocx en una sucursal y la comparo con el homonimo de la otra sucursal. Son la misma versión: 1.0.0.1

La solución:
Sospechando de la veracidad del informe de versión, hago una copia del fiscal.ocx de la sucursal en la que sí funciona.
Me voy a una sucursal con problemas y comparo ambos archivos con el comando fc. A pesar de que MS informa que ambos tienen la misma versión, son distintos. Lo reemplazo. Problema resuelto.

Conclusión:
La brujería no existe. No crean en todo lo que dice MS. No es necesario tener grandes conocimientos para resolver problemas complejos.




La brujeria no existe en computación

El escenario es el siguiente:

Una red de siete terminales, todos con windows xp, más un servidor windows 2000, más un NAS-235 Airlive.
Los terminales utilizan sin problemas archivos word, excel, etc., almacenados en el nas, del mismo modo que los almacenados en el servidor windows.
Los terminales ejecutan un programa compilado en Visual Basic que accede a una base de datos access.

El problema:
Si la base de datos access se aloja en el nas, el programa conecta algunas veces y otras no. Sin embargo conecta sin problemas cuando la base de datos reside en el servidor Windows.

Los antecedentes:
El administrador de la red informa que el problema ocurre en todas las pc de la red.
De esto hace ya mas de un año. El tecnico le pateó el problema al programador y se cruzó de brazos.
Entonces el programador me contrata para resolver el problema.

Las pruebas:
Hago las pruebas en cuatro pc de la red y efectivamente el comportamiento es como se describe en "el problema"
Instalo el nas en mi propia red y funciona perfecto.
Pienso: no habrá sido cuestion de reiniciar el nas????
Lo llevo nuevamente al lugar y sigue con el mismo problema.
Para aislar el problema de la red, conecto el nas directamente a una pc y el problema se repite. Ergo: la red no es
Pienso será la version del programa? Bueno eso es fácil: me llevo el ejecutable junto con el nas de nuevo para probar en mi red: funciona perfecto.
La conclusión es clara: no hay brujería, todas las pc de la red tienen un problema.
Yo había probado con cuatro, pero serían todas?
Comienzo a probar de a una. La prueba es muy simple: solo redireccionar el programa para que lea una base de datos de prueba alojada en el nas. Son cinco minutos por maquina.
Mientras hago las pruebas tomo nota del sistema operativo. Todas tienen Windows XP sp2.
A partir de ahi comienzo a sospechar del service pack. Sigo haciendo pruebas y ya hasta me animo a predecir el resultado segun el SP. En las pruebas que habia hecho en mi red era SP3 y si no encontraba un sp3 en esa otra red, no lograría hacer funcionar el programa. Esa era mi predicción.
Llego a la quinta pc y leo antes el SP: tiene sp3!! y pienso aca va a funcionar...Efectivamente, funcionó.

Conclusión:
No existe la brujería. El nas andaba perfecto, el programa tambien.
No hacen falta grandes conocimientos para resolver muchos de los problemas, solo intuición y ganas.
Alguien con grandes (o al menos medianos) conocimientos, tal vez hubiese instalado un analizador de protocolo para examinar cada paquete transmitido y llegar, luego de tal vez horas de análisis, que el problema estaba en el service pack por la falta de un parche.
La verdad, sería muy interesante analizar qué parche de todos los que contiene el sp3 es el que resuelve el problema, pero a mí me bastó encontrar la solución.
El tecnico se comprometió a actualizar el SO en todas las maquinas y problema resuelto.



domingo, 11 de septiembre de 2011

Compartir carpetas en discos extraibles

Lo que ocurre normalmente es lo siguiente:
Si el disco extraible tiene formato ntfs, windows recuerda siempre la configuracion de las carpetas compartidas.
Si el disco extraible tiene formato fat32, windows se olvida de los recursos compartidos luego de un reinicio.

O sea que, en los casos en que el disco es extraido periodicamente, es conveniente que el formato sea ntfs.
Sin embargo ocurre un segundo problema y es el cambio de letra. Si windows cambiara la letra del dispositivo, entonces el recurso deja de estar compartido.
Una solucion a ambos problemas y que sirve para cualquiera de los dos sistemas (ntfs, fat32) es el siguiente script o archivo batch (extension bat):

El que sigue es un ejemplo para el caso de un pendrive cuyo nombre de volumen (1) es Sistemas y la carpeta a compartir se llama Ventas y está en el raiz del disco extraible, por ejemplo: C:\Ventas

echo ESTE SCRIPT REQUIERE QUE EXISTA UN DIRECTORIO C:\Compartir !!!!!!
cd c:\compartir
echo list volume | diskpart | find /i "Sistemas" > prueba.txt
for /f "tokens=3" %%i in (prueba.txt) do net share Ventas=%%i:\Ventas /unlimited

Podria utilizarse la carpeta de sistema Temp, en lugar c:\Compartir y de ese modo se evita tener que crear dicha carpeta. Cuestion de gustos.
La necesidad del comando cd c:\compartir ocurre porque no logré que el comando "for" interprete c:\compartir\prueba.txt. Y como al ejecutar el script dentro del directorio puede usarse una referencia relativa (y no absoluta) al archivo prueba.txt, ya no se presenta el problema (2)

El parametro tokens=3 hace que "for" lea la tercer palaba de la primera linea del archivo prueba.txt. Y como la cantidad de lineas que contiene el archivo es una sola, el for se ejecuta una sola vez, obteniendo asi la letra de la unidad extraible (3)
El parametro /i permite olvidarse de si el nombre del volumen esta en mayusculas o minusculas.
Notas:
(1) para cambiar el nombre de volumen de un disco hay que hacer clic con botón derecho sobre el disco (en Mi Pc), luego propiedades y luego en la pestaña general, en el cuadro de texto que aparece arriba del todo (ver el cursor) se puede escribir el nombre de volumen.

(2) Es muy probable que un parámetro resuelva este comportamiento. La verdad es que hice un par de pruebas con parametros y simbolos, pero, antes que lidiar con las mañas de los comandos, es mas simple el corte por lo sano, siempre que funcione :-D

(3) Eso es asi siempre y cuando no haya mas de un dispositivo con el mismo nombre de volumen. Es esperable el buen criterio del tecnico al poner nombres de volumen a las unidades extraibles.

sábado, 16 de abril de 2011

Cambiar directorio de almacenamiento de correo electronico a un pendrive o disco remoto

En Outlook:
Primero obtener la ruta del arhivo pst:
Herramientas, Opciones, Configuracion de correo, Archivos de datos.
Suele estar en C:\Users\USUARIO\AppData\Local\Microsoft\Outlook\Outlook1.pst
Mover Outlook1.pst a un directorio distinto, que tambien puede ser remoto. Iniciar Outlook. Al no encontrar Outlook1.pst, pues fue movido, pide la nueva ruta. Se la indica y listo. Ya queda funcionando en la nueva ruta. Lo bueno del programa es que no hace como Outlook Express que, al no encontrar la ruta, automaticamente se configura en la ruta por defecto.
En Outlook Express:
Desde las opciones de configuracion no permite indicar un directorio de almacenamiento remoto o un pendrive.
Para forzarlo hay que modificar el registro:
HKEY_CURRENT_USER\Identities\{Identidad}\Software \Microsoft\Outlook
express\5.0" y modificar la clave "Store root"
En esa clave se indica la ruta local, remota, pendrive, etc. Simplemente se hace doble clic en dicha clave y se modifica la ruta actual por la deseada.
Luego se puede copiar el contenido (correos) desde la ruta original en la nueva ruta.

Si la ruta no esta disponible momento de iniciar el programa, este se configura en los valores por defecto y queda asi aunque luego se restaure la ruta.
Por eso conviene exportar la clave anterior para incorporarla cada vez que ocurra eso. Tambien se puede armar un script para iniciar el programa que incorpore automaticamente la entrada del registro.
En Mozilla Thunderbird:
Herramientas, Configuracion de las cuentas, Configuracion del servidor, Directorio local:
Primero tomar nota de la ruta actual
Modificar la ruta, que puede ser local o remota.
Cerrar el programa y mover el contenido del directorio original al nuevo directorio.
Windows Mail:
No encontré como hacerlo. Creo que tiene que ver el hecho de que este programa guarda archivos del tipo eml, los cuales tienen propiedades especiales ntfs que no pueden guardarse en sistemas fat32, por ejemplo.