Autoruns de Sysinternals

Cada vez que tengo que reinstalar un ordenador, ya sean los equipos que utilizo de forma habitual, o alguno que la familia bajo algún pretexto de invitación a grandes eventos, comidas formidables, y otras cosas que –no diré que mientan- tardan más de lo que esperaba tras reparar el ordenador. Hay una cosa que hago directamente tras actualizar todo el software.

¡Descargar el paquete de Sysinternals!

En general, mi deseo es no tener que llegar a utilizarle, y que los ordenadores funcionen con normalidad, pero… cuando se transforman en Hordenadores, que da miedo mirarles, lo primero que utilizaré será este paquete. Por eso poco a poco me gustaría ir desglosando algunas de las que más utilizo, y hoy le toca turno a AutoRuns.

Antes de entrar en detalles, estas herramientas son totalmente gratuitas, ayudan a tener un entorno controlado, correctamente gestionado, y como todo tiene un pero, su utilización a pesar de ser relativamente sencilla, tienen un perfil destinado a usuarios avanzados. Ya que podemos dejar el sistema bonito, perfecto, y con el ambientador de pino, o podremos hacer que no sea capaz de arrancar. ¡Así que cuidado!

El funcionamiento es revisar los lugares del registro en los que se podría alojar tanto software malicioso (los que ya conocemos, virus, trojanos, gusanos, la batamanta…), y aplicaciones legítimas (esas que vienen siempre comprimidas con un serial.txt, y un parche.exe, que al arrancar tiene los mejores éxitos de la música electrónica de los 70) .

Inicio de sistema antes de utilizar Autoruns

Una vez ejecutado “Autoruns.exe“, todas las aplicaciones que muestra, son las que se ejecutan de forma automática al iniciar el sistema. Será necesario tener un ojo entrenado, para determinar que aplicaciones deberían poder iniciar y aquellas que, bien preferimos sean ejecutadas a mano, o directamente hemos detectado como un posible malware. En caso de tener alguna duda sobre una aplicación, suelo posicionar el ratón sobre el nombre y utilizar la función “Jump to…”, se abrirá la carpeta en la que está alojado, y podremos utilizar la ruta para analizar con VirusTotal, hacer búsquedas en Internet del nombre del proceso, etc…

Otra de las configuraciones que suelo realizar es desde la ventana “Options” -> “Hide Windows Entries”, debido a que en un primer momento, voy a confiar en todo aquello que el proveedor sea Microsoft. Puede ser recomendable una vez limpio con esta opción habilitada, la de volver a ejecutar el programa, sin dicha opción.

Una garantía de que un proceso es quien dice ser, a pesar de hacer que la ejecución del programa sea levemente más lenta, es marcar la opción: “Verify Code Signatures”. De esta manera, serán comprobadas las firmas, y tendremos seguridad  de que la aplicación es quien dice ser. ¡Habrá que tener en cuenta, los falsos negativos!

La forma de permitir o denegar las aplicaciones, es con el check que se encuentra a la izquierda del todo, una vez desmarcado, estamos impidiendo la ejecución automática. Esto no impide que se pueda ejecutar en el sistema, ni que al reiniciar el equipo no vuelva a aparecer, para una correcta limpieza, implica revisarlo varias veces, si fuese un dentista, recomendaría si hay dudas, ejecutar la aplicación 3 veces al día.

***<TEXTO INVISIBLE>***
Este punto, lo negaré en todo momento, jamás lo he escrito, y no quedará constancia en ninguno de los buscadores, si alguien recuerda verlo en este blog, será una ilusión. Una posible recomendación, poco sana para el ordenador, es… una vez desmarcados los programas (y sólo en caso de infección), apagar el equipo con el mal llamado botonazo. Mejor inclusive utilizar el botón de reinicio.
Esta recomendación es cosa de cada uno, y si se puede evitar mucho mejor. La explicación reside, ya que en ocasiones me he encontrado con aplicaciones de los malos que detectan el apagado del equipo, y es en ese momento en el que se vuelven a asegurar el inicio automático en el sistema infectado.
***</TEXTO INVISIBLE>***

El manual de buenas prácticas, indica que tras un periodo prudencial, estabilizado el equipo y bajo nuestro control, se debería a eliminar completamente las entradas desmarcadas, salvo que por alguna razón pensemos que podríamos necesitar volver a habilitarlas en algún momento, si esto no es así, botón derecho sobre la entrada, y “delete”.

Para finalizar a modo indicativo, la aplicación nos dejará salvar la configuración y en caso de necesidad, realizar una comparativa del estado actual del sistema, frente a la versión anterior. Las líneas que aparecen en verde clarito reseñadas, son las que se encuentran invertidas. (Si está habilitado, antes estaba deshabilitado, y viceversa).

Una aplicación genial, que me ha salvado en más de una ocasión, y nos simplifica el trabajo de buscar manualmente aquellos programas que tratan de iniciar solos. Por otra parte, tenemos garantía, debido a que el proveedor de la herramienta es Microsoft.

WiNSoCk

 Enlaces de interés:
Documentación Sysinternals
Documentación Autoruns
Otra guia muy interesante de leer
Video [En ingles] Utilización de Autoruns 

Fin de una conexión – RST (TCPGUN 1.0)

Tras hacer pruebas con ICMP, ahora le toca sufrir al protocolo TCP. Quería probar la herramienta: TcpGun 1.0. El problema es que esta herramienta sólo funciona en sistemas Windows 7. Y algunos utilizamos versiones anteriores –sobre todo en equipos de pruebas- por lo que no me servia.

Como tenía algo de tiempo, quise hacer una herramienta en python que sí estuviera funcionando en Windows XP –ergo allí dónde tengas python y scapy-, aprovechando que podía hacerla a mi gusto, he preferido no limitar los ataques que puede realizar.

Una conexión TCP ya establecida nos facilitaría los siguientes datos:
Dirección ip local < – > Puerto local < – > Dirección ip remota <-> Puerto remoto

El problema es que no siempre podemos estar obteniendo manualmente esos datos, y mucho peor, podríamos querer bloquear las conexiones sólo de Telnet, con cualquier destino. Es inviable que conozcamos todos los destinos. Pero sí que podemos conocer el puerto -si no sabes que es el 23 ¡Tienes que ponerte a estudiar! (por si acaso no le preguntes a madrikeka!!! jijiji)-

¿Cómo utilizar la herramienta?

TcpGun.py “Filtro local” “Filtro Remoto” (Sólo es obligatorio 1 de ellos, permite usar ambos)

TcpGun

¿Por qué 2 filtros?
La idea es diferenciar los paquetes que van desde el equipo local, y los paquetes que vienen desde el equipo remoto. Hacerlo de esta manera permite mayor velocidad. Debido a que cada filtro será ejecutado en un hilo independiente.

¿Y si sólo quiero utilizar un filtro?
Ya sea en origen o en destino, simplemente hay que poner: 0.

TcpGun.py “filtro 1” 0
TcpGun.py 0 “filtro2”

 ¿Algún ejemplo de uso?
-Impedir todas las conexiones a Telnet
TcpGun.py “tcp dst port 23” 0
*El Segundo filtro está vacio, debido a que la conexión es desde nuestro equipo local hacía el puerto 23 remoto. –de todos modos, funcionaria en ambos sitios”

-Impedir las conexiones Telnet contra el router
TcpGun.py “tcp dst port 23 and ip dst 192.168.1.1” 0
*En el Segundo filtro, se podría poner los paquetes de vuelta con el filtro: “tcp src port 23 and ip src 192.168.1.1”

-Impedir TODOS los puertos del router
TcpGun.py “ip dst 192.168.1.1” “ip src 192.168.1.1”
*Esto podría funcionar con solo uno de los filtros.

 ¿Algunos comandos?
Ip dst <dirección ip>
Ip src <dirección ip>
Ip <dirección ip>

tcp dst port <puerto>
tcp src port <puerto>
tcp <port>

Descargar TcpGun 1.0

Nota: Aplicación realizada en Python. Requiere Scapy, para poder operar en el manejo de los paquetes.