viernes, 22 de julio de 2011

Protegiendo con virtualización y sandboxes.

Estoy en LinkedIn. La verdad, ahora no me acuerdo muy bien si tengo el perfil totalmente público o no. Supongo que no, porque intento tener cuidado con todos esos temas. Que lo consiga... eso ya es otra historia.

Entre otros grupos, estoy dentro de uno que se llama... malware analysis. Hay un hilo en el que participé porque me interesaba aprender muy bien a analizar bichos. O, al menos, por analizar los cambios que producían en el sistema objetivo. Ya había jugado con bichos antes. Pero fue eso, jugar. No ver los cambios producidos en el sistema.

Así, algunos de los programas que tengo que probar un año de estos, y que me sugirieron,  sería InCtrl5. O RegShot. Que, según me cuentan, ambos hacen una comparación de dos snapshots del sistema. Un antes y un después. Así, te darán un informe sobre los cambios en el registro, o ficheros añadidos al sistema...

La otra cosa que sugerían, y que ya sabemos, es probar los bichos en una máquina virtual. Ya sea VMware, VirtualPC o VirtualBox, entre las famosas. Además, para mejorar el aislamiento, se podría ejecutar el programa de virtualización sobre una sandbox, como por ejemplo, Sandboxie. La sandbox, que no es algo muy común, permite aislar (en teoría) ese programa o bicho del resto del sistema. Si ya en teoría un proceso sólo puede acceder a su parte de memoria, esto lo que hace es... más o menos como si lo engañara para que en el caso de querer salir de su trozo de memoria asignado, no sea capaz de acceder.

Ahora bien, tal y como comentan en dicho hilo, una sandbox no tiene por qué ser 100% eficaz. En este tema no existe la seguridad absoluta. Del mismo modo que una máquina virtual te puede pasar un bicho sin necesidad de que tenga la red activada. Y sí, se puede hacer. A ver si lo escribo bien: Jhoanna  Rutcouska Joanna Rutkowska, de The invisible things, lo hizo. Es más, cuando dijo que no se podía las casas de software de virtualización dijeron que no lo era. Después de un "sí se puede", "no se puede".

- ¿Ah, no? Entonces ¿Y esto qué es?


Al menos, es tal y como me lo comentaron. La verdad, sólo me he leído un artículo suyo. Y estoy suscrito en los feeds. Pero así lo hizo. Consiguió pasar de una máquina virtual al equipo físico a través de la memoria. Siguiendo con LinkedIn. En dicho comentario han publicado un sitio en el que hablan de los rings del sistema operativo. Está muy bien explicado.

Luego, si nos hacemos la pregunta: ¿puedo usar la sandboxie con las máquinas virtuales? ¿O ambas por separado? Supongo que dependerá de para qué. Si vas a ejecutar un bicho, lo mejor es usar ambas. Al menos, mejor eso que nada. O, tener un equipo que sea exclusivo para esos menesteres y que esté bien aislado. No se. Creo que ahora mismo no me puedo posicionar al respecto. ¿Alguien quiere dar su opinión al respecto?

miércoles, 13 de julio de 2011

ifconfig = Linux. ¿Windows?

¿A que sí? ¿A que es muy críptico el asunto de este post? Creo que hace un tiempo ya publiqué algo sobre solucionar problemas de las conexiones en red de Windows. Además, ya dije que tendríamos más historia al respecto.

¿Cómo averiguas una dirección IP desde un linux? Muy sencillo, ¿verdad? Ejecutas:

ifconfig

y, de manera optativa, puedes poner la interfaz de red si te la sabes. Un ejemplo puede ser el de la imagen:

Resultado de ejecutar: ifconfig eth0

Y, ¿cómo hacemos esto en Windows? En Windows podemos ejecutar el comando

ipconfig

que nos devuelve todas las conexiones de red activas. ¿Cómo obtenemos sólo la información de la interfaz que queremos? Uno de los parámetros que permite obtener el de una de las conexiones en concreto es el comando:

netsh

Ya lo usamos la anterior vez para resetear la pila de TCP/IP. En este caso he ejecutado:

netsh int ipv4 show addresses name="Local Area Connection"

que, si lo he transcrito bien, se debería de obtener un resultado como el de la imagen:

Resultado de ejecutar un: netsh int ipv4 show addresses

El resultado es similar a hacer el ipcofig, pero permite filtrar por los datos que queremos. 

¿Qué más podemos hacer? 

En linux, con ifconfig, se puede configurar una dirección IP con un script, o "a mano", con un comando parecido al siguiente:

ifconfig eth0 192.168.116.14 netmask 192.168.116.254 up

De hecho, ese "up" sólo sería necesario si la interfaz en cuestión no estuviera levantada. ¿Y si quisiéramos hacer lo mismo en Windows? Aaah, amigo. Ahí la cosa cambia. Y es donde quería llegar. El problema es que estamos acostumbrados a hacer esa configuración la bonita interfaz gráfica que nos trae el sistema operativo:

Interfaz gráfica para configurar TCP/IP en Windows

¿Y si quisiera configurarla con un fichero por lotes (léase, un batch)? Bueno. Pues volvemos al netsh. Podríamos ejecutar algo como esto:

netsh int ipv4 set address name="Local Area Connection" dynamic dhcp

para que la dirección IP se configure sola. ¡Y yo probando dynamic! La otra opción es especificarla estática:

netsh int ipv4 set address name="Local Area Connection" static 192.168.116.110 255.255.255.0 

¿Y para indicarle los DNSs? Si nos vamos a linux, tenemos un fichero de texto que se encuentra en /etc/resolv.conf

/etc/resolv.conf

Si nos metiésemos en Windows sería algo parecido a lo siguiente:

netsh int ipv4 set dnsserver name="Local Area Connection" static 123.45.67.190 

Si quisieramos un segundo DNS tendríamos que añadirlo

netsh int ipv4 add dnsserver "Local Area Connection" 234.56.78.91 

Lo de añadir más de un DNS no lo había hecho nunca. Por me ha costado ponerlo. De hecho, se puede poner un parametro más a esta última línea que es index=2. Si tuviéramos más servidores en la lista, podríamos indicar en qué posición colocarlo.

Tal y como hicimos antes, se pueden establecer con DHCP:

netsh int ipv4 set dnsserver "Local Area Connection" dhcp 

¿Qué más podemos configurar? Podríamos configurar la puerta de enlace. Muy importante si queremos salir al Interné. En linux, para recordar un poco cómo se hacía, se puede poner esto:

route add default gw 192.168.116.1

¿Y si queremos seguir el mismo sistema en Windows? Podemos hacer el siguiente comando:

netsh int ipv4 set address name="Local Area Connection" gateway=192.168.116.1

Así, podemos establecer estos valores automáticamente. 

No se si hace falta que ponga pantallazos de la ejecución de los otros comandos que no he incluido. Si hiciese falta, por favor, decirlo, y buscaré un hueco para montarlos. También, si queréis aportar algo sobre este tema, no os cortéis. Que para eso está la opción de los comentarios, ¿eh?

P.D: En la vista previa estoy viendo que aunque he cambiado la fuente para los comandos, parece que no se distingue mucho. ¿Qué creéis? Bueno. De momento le pongo este color anaranjado. Así resalta los comandos y no queda muy chillón. De todas formas, por favor, comentadme lo que opináis. Así puedo intentar utilizar siempre el mismo criterio. Muchas gracias.  



lunes, 4 de julio de 2011

Windows - Problemas con TCP/IP

Hace un tiempecillo estaba trabando con unas máquinas virtuales con Windows... ¿2008 puede ser? No me acuerdo muy bien. 2008, 7, Vista... Alguno de estos. Mi problema era que no conseguía que TCP/IP acabara de funcionar del todo bien. Había algún ping que no devolvía datos, otros sí. Haciendo memoria, creo que un

ping localhost

me devolvía resultados de IPv6.

Un

ping 127.0.0.1

me daba... tiempo de espera superado. Puede ser. Vamos, que no había resultados.

Y, un

ping IP_ASIGNADA_AL_%COMPUTERNAME%

también me daba resultados satisfactorios.

Toltal, que buscando... buscando... buscando... Me dieron la solución. Se trata de reseetear la pila del protocolo TCP/IP. ¿Cómo se puede hacer eso? Es muy sencillo. En un símbolo del sistema / cmd, con privilegios de administración, se ejecuta:

netsh int ip reset c:\reset.log

Después, hay que reiniciar el equipo.

De hecho, en teoría, no debería de hacer falta poner la ruta a los logs. Mejor obviarla.

Una vez hayas reseteado, vuelve a intentar el ping otra vez. Debería de funcionar. Aún así, no te fíes si te responde a la primera. Inténtalo varias veces. Si, tienes la mala pata de que vuelve a hacerte lo mismo... Te estará pasando lo mismo que a mí. ¿Cómo lo solucioné? Eliminando el dispositivo de red en cuestión del sistema y permitiendo que volviera a instalarlo por su cuenta al reiniciar el sistema.

Desinstalando la tarjeta de red.

Una vez restaurado el dispositivo, toca volver a ponerle la configuración de red. Pero, eso, ya es otra historia.

lunes, 27 de junio de 2011

MS RSAT

Llevo tiempo queriendo instalar estas herramientas. Las RSATRemote Server Administration Tools. Pero entre que no tenía tiempo y me salían cosas raras...

Las RSAT, son unos complementos que se pueden instalar en los clientes Windows para administrar servidores remotamente. Así explicado, rápido y corriendo.

Lo del tiempo ya está. No tiene mayor explicación.

La siguiente explicación es que, en teoría, tenían que estar preparadas para el service pack te turno. Luego, si tienes la versión de Windows 7 SPx, no te sirve el paquete para Windows 7 SPx-1 (ó RTM si se da el caso).

La siguiente es que al ejecutar la instalación, hay un momento en el que te sale una imagen como esta, ofreciendo una actualización (¿?):

Oferta para actualizar ¿el qué?

Y entonces, extrañado, lo cancelaba.

Ahora, que me he puesto a buscar por qué me estaba ofreciendo la actualización KB958830. Y, resulta, que, aunque no estamos instalando una actualización, el fichero contiene esa cadena, y me he visto que puedo continuar sin problemas. Y, ahora mismo, me sale esta ventana:

Términos de licencia

Ahora, el resultado es...

Instalando actualizaciones

De hecho, le ha costado llegar a ese trocito verde. Aunque son 250MB, más o menos, ya están descargados en el disco. Vamos. Que esto va para rato.

Una vez acabado, tienes que "reiniciar el equipo", tal y como te solicitan. 

Al reiniciar, si vas a Todos los programas, no te encuentras con las herramientas. ¿Dónde estarán? Bueno. Sólo hay que leer un poco más las instrucciones de la página para saber que hay que activar esta característica recién instalada. 

Activando características desde Panel de Control

Se seleccionan las opciones deseadas. Y aceptamos. Mucho ojo, porque algunas de las opciones no se marcan con un tick, sino con un recuadro totalmente relleno. Para tener todo seleccionado, hay que abrir todo el árbol y marcar una a una cada opción.

Después de presionar Aceptar tenemos que esperar:

Esperando a activar los cambios...

Una vez se ha terminado de activar nos encontramos con que sigue sin salir. Al investigar, descubrimos que hay que hacer botón derecho sobre Inicio / Start, seleccionar la pestaña Menú Inicio y presionar el botón Personalizar. Una vez ahí, nos encontraremos en algún punto con lo siguiente:

Mostrando Herramientas Administrativas

Así, acabamos mostrando las herramientas administrativas o también conocidas como admin tools

Admin tools

De momento esto es todo. Ahora sólo hay que acceder al servidor deseado con las herramientas y... ¡ya está!

Espero que os sean de utilidad. De todas formas, si hubiera alguna otra herramienta que permita hacer estas cosas, por favor, avisad. 









domingo, 29 de mayo de 2011

SbD: FAQs a la Guardia Civil

Leyendo SbD, los posts atrasados que he ido acumulando, una serie de FAQs (o PUFs: Frequently Asqued Questions o Preguntas Usualmente Frecuentes) que la gente les ha hecho a Security by Default. Ellos se las han remitido al Grupo de Delitos Telemáticos de la guardia civil.

Es bueno saberlas o, al menos, entenderlas.

viernes, 27 de mayo de 2011

HTML5

Durante mucho tiempo me interé por el HTML. La verdad, ahora no le doy tanta importancia. Eso sí, hace unos días me enviaron esta chorradita muy (como dijo un amigo) 'simpática'.

http://balldroppings.com/js/?2

No me voy a molestar en mirar el código fuente. Pero, aún así, mirad lo que me ha salido:

Ejemplo de la página HTML5

No se... ¿Qué os ha salido a vosotros?

jueves, 26 de mayo de 2011

Instalando una impresora en red

Este es uno de esos posts que tenía hecho desde hace muuuuuuuchoooos meses. De hecho, lo único nuevo que hay es la imagen de la estructura de red y algún que otro comentario más con respecto a la misma. Esto es un simple ejemplo. No hice capturas en su momento y, me temo que para este post en concreto no voy a hacer más. Nada. Espero que lo disfrutéis.

Imagínate que estás instalando una impresora de red. De esas corporativas que tienen una NIC. La enchufas, y le configuras una diercción IP estática cualquiera para que los equipos puedan acceder a ella. Digamos.... Una 172.16.3.33/16. Así, tendríamos un entorno parecido a este:

Impresora de red

Luego, intentas imprimir, y no te deja. Haces ping a esa dirección IP y responde. Compruebas los drivers y sigue sin imprimir. Incluso el propio driver te suelta un error tipo "Error de entrada / salida. Compruebe que la impresora tenga el cable de red conectado, que esté encendida y que tenga corriente".

¿Cómo es posible que un ping responda pero no imprima por red? ¡¡Ah!! Va a ser el firewall, que está filtrando el protocolo de impresión por red. Entonces, quitas el firewall de turno y vuelves a probar. Peeerooooo... Nada. Nada de ná. ¿Qué hago? ¡Ya está!. El mensaje me está pidiendo datos de direccionamiento IP: dirección IP de la impresora, máscara, MAC, gateway. Es raro, porque ya tiene la dirección IP. Para obtener la dirección MAC ejecutamos

arp -a

y obtenemos un listado con las direcciones IPs recientes con su correspondiente MAC. La introduces... Y tira. Imprime. Muy, muy raro.

Total. Que después de hacer más pruebas, añadiendo un nuevo puerto de red para la impresora, poniendo un driver parecido al de ese modelo.... Nada.

Luego. Se te ocurre. ¿Qué veré si intento mirar a nivel de SMB/Samba en esa direccion? Entonces haces

\\172.16.33.16

y te sale un elemento compartido en esa ruta. Te sale una impresora compartida. Pero no es la que estás buscando... Así, acabas descubriendo que esa dirección IP ya se estaba usando. Luego, la conclusión a la que se llega es:

"Manda huevos atinar con una dirección IP de las cientos o miles que puede haber libres. ".

Las cosas raras dejaron de suceder al poner otra dirección IP. Sí, soy consciente de que la captura la he puesto bien. Pero ahí estaba la gracias.