Post Dominguero: Si es que van provocando…
Vamos con otro post de tarde dominguera…
Hoy vamos a hacer algo rapidito y para toda la familia. Seguro que todos hemos oído aquello de que hay que cambiar las claves por defecto y tal. Bueno, pues hoy vamos a ver por qué…
Ante la dura imagen de otro lunes que se acerca, a uno le entran unas ganas locas de darse al noble arte de la cata de licores variados, o de, directamente, putear a alguien. Lanzamos nuestro dado de 20 caras para buscar un objetivo aleatorio y, zas!, aparece el término “webcam”…
Y es que no sólo de bases de datos vive el cracker (si no que se lo digan a los de Inteco), sino que cualquier dispositivo conectado a una red es susceptible de estar expuesto a miradas indiscretas…
Sí amiguitos, hoy día casi todo está conectado a la red (he visto hasta cafeteras que twittean los cafés que sirven), por lo que no está demás tener un poco de
cuidado. Una sencilla búsqueda en Google nos puede proporcionar numerosos modelos de webcams que incorporan un simple servidor web para mostrar al mundo su particular visión del ídem. Cogeremos un modelo al azar, por ejemplo, el modelo “Wit-Eye” de Softwell Technology. ¿Por qué no? Buscando una imagen de la cámara, encontramos que este modelo en concreto no se trata de una webcam como tal, sino de una controladora con varias entradas de señal que se usa para administrar varias cámaras a la vez.
Ahora buscaremos lo que los que saben de esto llaman “vector de ataque”, que básicamente viene a ser por dónde le vamos a meter mano al tema. ¿Buscaremos un exploit conocido para el servidor web? ¿Buscaremos datos para un ataque de ingeniería social? ¿Intentaremos romper la clave de acceso por fuerza bruta, diccionario,etc? ¿O por el contrario utilizaremos una complicada pero brillante inyección SQL?
Bueno, no sé si he dicho que es domingo, estoy vago y en Ferrari la han vuelto a liar… Pues no, nada de complicaciones. Lo primero es probar lo más fácil, que en este caso es usar las credenciales por defecto de este dispositivo (ah… pensamiento lateral, lo llaman). Otra búsqueda en Google y, vaya…, debería haberlo supuesto, admin:admin… ¡glorioso!
¿Qué nos queda? Pues un conejillo de indias con el que comprobar el nivel de seguridad medio de un usuario de este tipo de cámaras. ¿Cómo lo encontramos? Bueno, pues creo que este tema lo iba a tratar uno de los compañeros del blog, pero ya que estamos, este post os puede servir de introducción de lo que se llama “Google Hacking” (mola el término, eh?). Todos los buscadores permiten afinar sus búsquedas mediante el uso de ciertas palabras clave. ¿Nunca habéis visto en el cine cómo desde el navegador sacan hasta las multas de tráfico de alguien? Pues no es tan complicado, creedme… En este ejemplo voy a usar la siguiente búsqueda en Google:
allintitle:”dvr login”
¿Qué creéis que me devolverá? Exacto, todas las páginas que tengan en su título la cadena exacta “DVR Login”, que viene a ser el panel de acceso. Ahora simplemente iremos cogiendo los resultados y meteremos las credenciales por defecto… A mí me ha costado exactamente cuatro intentos (no es coña) encontrar un resultado en el que no las haya cambiado, lo que significa, según este riguroso estudio, que al 25% de los usuarios de estas webcams les importa bastante poco su privacidad.
Una vez dentro, ¡¡¡ que empiece la fiesta !!! A ver qué tenemos…
Este es el panel de control del dispositivo. Desde él podemos controlar hasta 16 cámaras al mismo tiempo (ideal para negocios, empresas, bancos, jeje)… Una de las primeras cosas que se me ocurren es cambiar el pass del dispositivo, pero como eso está muy mal visto hoy en día, podría crearme una nueva cuenta de administrador, por ejemplo.
Como podéis ver, tengo acceso a todo el sistema, puedo ver todo lo que las cámaras muestran, podría activarlas y desactivarlas a mi antojo, etc… Vamos, una maravilla…
Hay un apartado muy interesante que es “Alarm Log”. En él se guarda un registro de ciertos eventos que han sucedido, como cambios de configuración, determinados fallos, etc… Como podemos observar, parece ser que la configuración ha sido modificada el pasado 01/06/2011, tras varios fallos de disco.
Cómo no, el apartado “Login Logs” nos mostrará todos los accesos al sistema e incluso podremos exportar estos datos. Esto es interesante si quisiéramos continuar realizando otro tipo de ataques. Por ejemplo, aparecen numerosos accesos como admin desde las mismas IPs, lo cual significa que esas son las IPs desde las que se administra este sistema (¿y quizás otros?). La opción de “Exportar” es especialmente útil en este caso, jeje… Además, desde aquí podremos borrar nuestras huellas eliminando aquellas entradas en las que aparecemos. No nos gustaría recibir la visita del cartero con un sobre certificado…
Por último, y por mera curiosidad, vamos a ver a dónde nos estamos conectando. Una visita a GeoIP, metemos la IP del sitio y …
Bueno, por lo visto se trata de una empresa de comunicaciones de EE.UU, con sede en Virginia… Con todos estos datos casi podríamos meternos hasta la cocina, pero creo que ya es suficiente por hoy, ¿no?. La moraleja de todo esto es que SIEMPRE debemos cambiar las contraseñas que vienen por defecto.
Como dije en el título de la entrada, es que hay algunos que van provocando…
Post Dominguero: Haciéndonos un crawler básico
Inauguramos una nueva sección llamada “Post Dominguero”, donde recogeremos esas cosillas que puedes hacer una tarde de domingo sin partidos de liga, después de ver ganar a Nadal (otra vez) Rolland Garros…
wget -r -m -nv http://www.unawebcualquiera.com
- Comentarios: Os sorprendería ver lo que nos podemos encontrar comentado en cualquier código, desde credenciales de acceso, hasta referencias a ficheros de configuración, logs, etc, que nos pueden ayudar muchísimo a la hora de buscarle las cosquillas al asunto. Los comentarios en html empiezan con la misma cadena, así que ya sabemos cómo sacarlos…
- Enlaces: Por supuesto, cualquier link que venga en el código. Podemos encontrar referencias a scripts, ficheros, carpetas, etc. Yo buscaré cadenas HREF (podemos buscar también por ACTION, pero estoy vago…).
- Direcciones de correo: Fundamental. Tanto para hacer ingeniería social como para su posible uso como usuario, ¿Cuántas webs conoces en las que el usuario es una dirección de correo? Pues eso, a buscar @…
- Campos ocultos: ¿Por qué se oculta un campo en una web? Porque seguro que es importante. Así que, al saco todo aquello que ponga type=hidden
- Meta Tags: Estas etiquetas que se añaden al código pueden contener direcciones, teléfonos, nombres, etc. Son una buena fuente de información para ataques de ingeniería social, así que, si pone meta…
- Scripts: Por supuesto, si hay algún script, lo quiero ver.
cat ./www.unawebcualquiera.com/index.html | grep -i -F ‘href’
#!/bin/bash#para cada fichero de la carpeta de entrada, lo parseamos…for i in $(find $1/)doecho “Parseando ” $iif [ -f $i ];thenecho “[" $i "]” >> $2#Buscamos comentarios “<–”echo “Comments” >> $2echo “” >> $2cat $i | grep -i -F ‘<– ‘ >> $2echo “—————————————————————–” >> $2#Buscamos correos “@”echo “Emails” >> $2echo “” >> $2cat $i | grep -i -F ‘@’ >> $2echo “—————————————————————–” >> $2#Buscamos campos ocultos “hidden”echo “Hidden Fields” >> $2echo “” >> $2cat $i | grep -i -F ‘type=hidden’ >> $2echo “—————————————————————–” >> $2#Buscamos Links “href”echo “Links” >> $2echo “” >> crawlcat $i | grep -i -F ‘href=’ >> $2echo “—————————————————————–” >> $2#Buscamos Meta “Meta”echo “Meta Tags” >> $2echo “” >> $2cat $i | grep -i -F ‘meta’ >> $2echo “—————————————————————–” >> $2echo “” >> $2echo “—————————————————————–” >> $2#Buscamos scripts “script”echo “SCRIPTS” >> $2echo “” >> $2cat $i | grep -i -F ‘script’ >> $2echo “—————————————————————–” >> $2echo “” >> $2echo “********************************************************” >> $2echo “********************************************************” >> $2echo “” >> $2fidoneecho “FIN!”
grep -o -e “[A-Za-z0-9\._-]*@[A-Za-z0-9\._-]*\.[a-zA-Z]\{2,4\}” $i >> $2
Si el sector de la construcción tuviese que trabajar como los informáticos
Manifiesto por una Red Neutral
Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:
- Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.
- Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.
- Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.
- Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.
- Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.
- Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.
- Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.
- Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.
- Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.
- Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.
- Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas.
Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.
La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.
Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.
Cómo restaurar los paneles de GNOME en Ubuntu
El otro día se me fue la mano y, sin querer, me cargué uno de los paneles de mi escritorio de Gnome. Concretamente, el panel superior, en el que aparecen las aplicaciones, y los applets de cierre de sesión, estado de red, etc…
Aunque intenté crear un panel de nuevo, añadiendo los elementos que quería, el resultado no me acababa de satisfacer del todo, y por ello empecé a buscar por la red a ver si alguien había conseguido restaurar los paneles que vienen por defecto.
Y he aquí que en una de las entradas de OMG! Ubuntu! tenían la solución definitiva: un script que no sólo es capaz de restaurar la configuración de paneles por defecto, sino que además es capaz de hacer una copia de seguridad de nuestra configuración de paneles, y de posteriormente restaurarla si así fuera necesario.
Al lanzar el script, se nos presentará el siguiente menú, con las opciones del mismo. De manera rápida y sencilla podremos guardar nuestra configuración, restaurar una configuración previamente guardada o restaurar los valores por defecto de los paneles.
El script sería el siguiente:
#!/bin/sh## GNOME Panel Save / Restore#DIR=$(pwd)TITLE=”PanelRestore”Main () {CHOICE=$(zenity –list –title “$TITLE” –hide-column 1 –text “What do you want to do?” –column “” –column “” \“0″ “Save Panel Settings” \“1″ “Restore Panel Settings” \“2″ “Restore Default Panel Settings”)if [ $CHOICE = 0 ]; thenPanel_Savefiif [ $CHOICE = 1 ]; thenPanel_Restorefiif [ $CHOICE = 2 ]; thenPanel_Defaultsfi}Panel_Restore () {FILE=$(zenity –title “$TITLE: Open File” –file-selection –file-filter “*.xml” )if [ -n "$FILE" ]; thengconftool-2 –load “$FILE”killall gnome-panelfiMain}Panel_Save () {FILE=$(zenity –title “$TITLE: Save File” –file-selection –save –confirm-overwrite –filename “Gnome_Panel.xml” –file-filter “*.xml” )if [ -n "$FILE" ]; thenEXT=$(echo “$FILE” | grep “xml”)if [ "$EXT" = "" ]; thenFILE=”$FILE.xml”figconftool-2 –dump /apps/panel > $FILEzenity –info –title “$TITLE: File Saved” –text “File saved as: \n $FILE”fiMain}Panel_Defaults () {zenity –question –text=”Are you sure you want to restore the default top and bottom panels?”gconftool-2 –recursive-unset /apps/panelrm -rf ~/.gconf/apps/panelpkill gnome-panelexit}Main# END OF Script#!/bin/sh## GNOME Panel Save / Restore# Writen by PhrankDaChicken## http://ubuntu.online02.com### Updated to add restore defaults by jimjimovich# http://www.starryhope.com##
DIR=$(pwd)TITLE=”PanelRestore”
Main () { CHOICE=$(zenity –list –title “$TITLE” –hide-column 1 –text “What do you want to do?” –column “” –column “” \”0″ “Save Panel Settings” \”1″ “Restore Panel Settings” \”2″ “Restore Default Panel Settings”) if [ $CHOICE = 0 ]; then Panel_Save fi if [ $CHOICE = 1 ]; then Panel_Restore fi if [ $CHOICE = 2 ]; then Panel_Defaults fi }
Panel_Restore () { FILE=$(zenity –title “$TITLE: Open File” –file-selection –file-filter “*.xml” ) if [ -n "$FILE" ]; then gconftool-2 –load “$FILE” killall gnome-panel fi Main}
Panel_Save () { FILE=$(zenity –title “$TITLE: Save File” –file-selection –save –confirm-overwrite –filename “Gnome_Panel.xml” –file-filter “*.xml” ) if [ -n "$FILE" ]; then EXT=$(echo “$FILE” | grep “xml”) if [ "$EXT" = "" ]; then FILE=”$FILE.xml” fi gconftool-2 –dump /apps/panel > $FILE zenity –info –title “$TITLE: File Saved” –text “File saved as: \n $FILE” fi Main}
Panel_Defaults () { zenity –question –text=”Are you sure you want to restore the default top and bottom panels?” gconftool-2 –recursive-unset /apps/panel rm -rf ~/.gconf/apps/panel pkill gnome-panel exit}
Main
# END OF Script
Para ejecutarlo, lo copiamos en un fichero de texto, le damos permisos de ejecución, y listo.
Saludos!!!









