El protocolo SOCKS y su diferencia con HTTP

SOCKS es un protocolo que facilita la ruta de los paquetes que se envían entre un cliente y un servidor a través de un servidor proxy. Originalmente, Socks5 fue un sistema de protocolo que ofrecía mucha seguridad, puesto que creaba firewalls y otros métodos de seguridad fáciles de administrar.

La versión 5 de Socks, que es una exensión de Socks 4, y provee un poderoso sistema de autentificación e incluye UDP, mientras que Socks 4 sólo ofrece un sistema de firewall inseguro basado en aplicaciones cliente-servidor TCP, incluidos TELNET, FTP y protocolos como HTTP, WAIS y GOPHER.

Pero ¿cuál es exactamente la diferencia entre proxies SOCKS y HTTP?

SOCKS: Bill quiere comunicarse con Jane a través de Internet, pero un firewall de su propia conexión no está autorizado a comunicarse a través de él. Por tanto, se conecta a una proxy SOCKS de su red y envía información sobre la conexión que desea hacer con Jane. El proxy SOCKS abre una conexión a través del firewall y facilita la comunicación entre Bill y Jane.

HTTP: Bill quiere descargarse una página Web que hospeda Jane en un Servidor Web. Bill no puede conectarse directamente al servidor de Jane, porque un firewall en la red se lo impide. Para poder comunicarse con el servidor, Bill se conecta a su red proxy HTTP. Su navegador de Internet se comunica con el servidor proxy y envía una cabecera HTTP solicitando la conexión. El servidor proxy HTTP lee la petición y busca el host de la cabecera. Luego se conecta al servidor especificado en al cabecera y transmite datos a Bill.

Fuente: Internet Lab

Hackeando el reconocimiento por iris del #Samsung S8

La característica de reconocimiento de iris del nuevo smartphone Samsung Galaxy S8 ha sido superada por hackers alemanes de Chaos Computer Club (CCC), menos de un mes después de que comenzara su venta en todo el mundo.
En un video publicado por el CCC, el colectivo de hackers de larga trayectoria formado en Berlín en 1981, muestra cómo la seguridad del teléfono puede ser fácilmente salteada a través de la “creación” de un ojo falso. CCC es el mismo grupo que salteó los sensores de huellas dactilares TouchID de Apple, pocas semanas después de que el primer iPhone 5 llegara al mercado.

El ojo artificial es creado usando una impresora y una lente de contacto para emparejar la curvatura del ojo. El iris se crea usando una fotografía del iris de la víctima, tomadas con una cámara fotográfica digital en “modo noche”.

“El riesgo de seguridad en el reconocimiento del iris es mayor que el de las huellas dactilares, ya que exponemos mucho más nuestros iris”, dijo el portavoz del grupo, Dirk Engling. “Si usted valora los datos en su teléfono -y posiblemente incluso quiera usarlo para realizar pagos – usar la tradicional protección con PIN es un enfoque más seguro que usar características biométricas para la autenticación”.

Samsung dijo que “sería imposible usar una imagen normal de iris, por muy alta resolución que sea, para engañar la s característica de seguridad. Engling advierte que “en algunas circunstancias, una imagen de alta resolución de Internet es suficiente para capturar un iris”,

En el Galaxy S8 también viene con una función de reconocimiento facial, que fue hackeado antes de que el teléfono estuviera a la venta: se lo puede engañar con algo tan simple como una imagen impresa del propietario.

Este hack es aún más simple, y podría ser llevado a cabo con una foto levantada de Facebook, una impresora láser convencional y una lente de contacto. “De lejos, la parte más cara del hack de biometría del iris fue la compra del teléfono Galaxy S8”, dijeron los hackers. “Irónicamente, obtuvimos los mejores resultados con impresoras láser hechas por Samsung”.

Fuente: Segu Info

#Stalkscan: Una web para relevar información de perfiles de #Facebook

Facebook es una red social que te permite conocer a miles de personas y mucha información acerca de todas ellas, sobretodo de aquellos que son tus amigos. Si quieres conocer datos de tus contactos correctamente clasificada existe una herramienta llamada Stalkscan, una web para espiar perfiles en Facebook.

Esta página web es parecida al buscador que lanzó Facebook hace algún tiempo llamado “Graph Search”, un buscador que permite a cualquiera realizar una búsqueda exhaustiva todo tipo de detalles de cualquiera de sus amigos en la red social.

Solo necesitas la URL del contacto

Para poder empezar a conocer información sobre alguno de tus amigos o contactos de forma más clasificada a través de Stalkscan tan solo necesitas conocer la URL de esa persona concreta ya que del resto se encargará el servicio. Read More

#Ghostery: conociendo el rastro que dejamos en la web

Resultado de imagen para ghostery

Ghostery es un complemento para navegadores que nos ayuda a visualizar quién realiza un seguimiento de nuestra navegación por Internet.

DETECCIÓN

Ghostery ve las partes «invisibles» de la web. Detecta rastreadores, balizas web, píxeles especiales e indicadores incluidos en páginas web por Facebook, Google y más de 500 servicios de todo tipo, como redes publicitarias, agencias de datos de comportamiento y editores de contenidos: todas ellas empresas interesadas en la actividad de los usuarios.

APRENDIZAJE

Tras mostrar quién mueve los hilos, Ghostery también ofrece la posibilidad de obtener más información sobre cada una de las empresas que identifica, incluyendo enlaces a sus políticas de privacidad y opciones de autoexclusión.

CONTROL

Ghostery permite bloquear scripts, imágenes, objetos y documentos insertados en marcos procedentes de empresas en las que no confíe.

Read More

Usando #python para técnicas de #GoogleHacking

Internet tiene una gran cantidad de información que de ser recuperada puede ser valiosa para la toma de decisiones. Una alternativa para lograrlo es el uso de herramientas libres como Python junto con técnicas como el Google Hacking. Herramientas como Terrier IR para análisis seguro de logs o metodologías como OSINT para recuperar información pública son algunos ejemplos del tipo de tareas que se pueden llegar a hacer con la recuperación y el análisis de la información. Implementar una herramienta que permita capturar información relevante puede ser tan sencillo como utilizar scripts en Python.

A continuación mencionamos algunos puntos que podrían tenerse en cuenta para implementar un sistema que permita recopilar  información pública para su posterior análisis. El proceso se puede dividir en tres sencillas etapas: la configuración de las APIs, la optimización de las búsquedas y el desarrollo del script.

Configurar APIs

Para lograr obtener una serie de búsquedas sin restricciones por parte de los servicios que se quieren consultar, es necesario utilizar las APIs. La mayoría de servicios web, incluyendo buscadores y redes sociales, cuentan con alguna API para permitir que los desarrolladores interactúen a través de sus aplicaciones con la información pública.

En el caso de Google, cuenta con el servicio OAuth 2.0 Client ID que a través de dos códigos de validación, permite que el usuario realice una serie limitada de consultas con el motor de búsqueda de Google, y esta información recuperarla para luego ser procesada.

Google Hacking

Ya en un post anterior se pudo de manifiesto como existe información crítica expuesta utilizando Google Hacking. Lo valioso en este caso es que utilizando este tipo de sintaxis se pueden llegar a refinar las búsquedas de tal forma que se puede encontrar información bastante específica.

Etiquetas como intitle, inurl, site ayudan a especificar que la búsqueda se enfoque en lugares claves de las páginas de web. Otras etiquetas como filetype puede ayudar a identificar archivos específicos tales como fotografías, videos, audios o cualquier otro tipo de archivo que se desee recuperar.

Scripts en Python

Basándonos en una conferencia dictada por la gente de VULNEX en una universidad en España, podemos construir scripts en Python que permiten recuperar información pública utilizando la API de Google. Para lograr esto se hace necesario el uso de algunas librerías específicas:

Librerias a importar

Estas librerías van a permitir manejar las páginas web y los parámetros de búsqueda. Además de permitir exportar los resultados de la búsqueda en un formato que pueda ser analizable posteriormente, en este caso JSON.

Luego se definen los parámetros de la búsqueda que se desee realizar. Es en este punto donde la sintaxis de Google Hacking puede resultar bastante útil.

Parámetros de búsqueda

Ya solamente resta organizar todos los parámetros siguiendo el formato que utiliza la API de Google para poder realizar la búsqueda. Además la información recuperada se puede organizar en una estructura JSON, la cual podría ser exportada a otra herramienta o utilizar otros paquetes de este mismo lenguaje para su análisis.

Recuperar y organizar la información

¿En qué aplicarlo en Seguridad Informática?

Si llevamos estas herramientas al campo de la seguridad informática, se puede empezar a pensar en varias posibilidades. Por ejemplo, para un profesional que esté interesado en encontrar información sobre vulnerabilidades en aplicaciones o dispositivos para realizar algún tipo de Penetration Test, puede acondicionar algún tipo de búsqueda que le permita reunir información de un mismo tema y tenerla disponible para su uso.

O por ejemplo para alguien que esté auditando la seguridad de una empresa, puede ser útil determinar cual es el nivel de exposición de la información de la empresa en Internet lo cual puede llegar a obtenerse fácilmente con este tipo de scripts.

Fuente: We Live Security

Prevenir ataques en los formularios

Saneamiento de Inputs: Qué es y cómo implementarlo

El saneamiento de inputs es una manera de validar formularios que excluye de los mismos cualquier carácter que podamos considerar peligroso para la web y/o la base de datos.

A fin de cuentas, cualquier formulario de una web es un potencial vector de ataque que un cibercriminal puede aprovechar para comprometer el sitio, bien forzando el cierre de ese input acompañado de una petición a la base de datos (un SQL injection), bien de cara a ejecutar javascript o diversos scripts maliciosos en futuros clientes (ataques cross-site scripting).

Existen muchas maneras de validar un formulario.

  • Las nativas de los campos de un formulario: Las propias definiciones de inputs en HTML5 ofrecen validaciones que pueden ser interesantes para separar el grano (los usuarios) de la paja (ataques y/o spam). También, por cierto, tendríamos maneras de hacer esto mismo mediante javascript, PHP (if(empty($_POST[“nombre”]…)) o incluso CSS (input:required:valide….).
 <input type="email"> //pedirá al usuario una cadena de caracteres que tiene que tener sí o sí el formato loquesea@loquesea.loquesea
 <input type="password"> //todo lo que el usuario escriba en este input se mostrará por pantalla mediante asteriscos (*).
 <input type="text" required> //este campo es obligatorio rellenarlo para poder enviar el formulario...
 <input type="text" pattern="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" name="email" required/> //esta sería una manera de exigir que el contenido que el usuario incluya en el input tenga formato email, es decir, loquesea@loquesea.loquesea
  • Escape de caracteres: Sin embargo, de forma nativa no tenemos manera de controlar que, por ejemplo, cuando el usuario vaya a escribir contenido en un input, no incluya caracteres que el sistema reconoce como funcionales (como por ejemplo las dobles comillas o la comilla simple, que quizás sirva para cerrar el propio input), y esto le permita acceder a partes de la web privadas o a contenido de la base de datos. En estos casos se recurre a funciones que permiten sanear el contenido de un input o bien antes de enviarlo o bien justo antes de ejecutarlo en el servidor. Algunos ejemplos serían:
 $input1 = "coche"; //el usuario escribió "coche"
 $input2 = "'or '1'=1"; //el usuario escribió"'or '1'=1"
 select pass from usuarios where usuario=$input1; //devolvería en SQL la contraseña del usuario "coche", si es que existe
 select pass from usuarios where usuario=$input2; //devolvería en SQL la contraseña de cada usuario, ya que 1=1 siempre se cumple
 $peticion = mysqli_real_escape_string($link, $input2); //escapamos el contenido de $input2
 select pass from usuarios where usuario=$input2; //devolvería en SQL la contraseña del usuario "'or '1'=1", que seguramente no exista

Y lo mismo puede hacerse con htmlspecialchars (EN) o escapeshellarg (EN). Incluso mediante los propios filtros de PHP (EN).

En mi caso hago uso del plugin NinjaFirewall para WordPress (EN) que, entre otras cosas, permite de forma automática sanear cualquier petición GET y/o POST que se haga en la página.

Honeypots de formularios: Qué son y cómo implementarlos

Aledaño al problema de los XSS y los SQL injection está la proliferación de bots cuyo único cometido es buscar formularios en webs para publicar enlaces hacia páginas fraudulentas (viagra, malvertising y demás compañía). Y puede llegar a ser un verdadero problema, ya que además de gastar recursos del servidor (son peticiones automatizadas que ocupan ancho de banda), pueden llenar la web de contenido inapropiado y causar verdaderos dolores de muelas a los administradores del sitio.

Afortunadamente, hecha la ley hecha la trampa, y basta entender cómo se desarrollan este tipo de bots y qué es lo que buscan en un formulario para encontrar maneras de engañarlos y hacerles creer que o bien no existe tal formulario, o bien han publicado con éxito lo que querían publicar.

A estas técnicas se las llama honeypots, que en este caso están dirigidas al mundo de los formularios, pero que en la práctica competen a cualquier herramienta cuyo cometido sea engañar a los cibercriminales (la creación por ejemplo de ordenadores supuestamente vulnerables en una red corporativa para localizar ataques antes de que afecten al resto de la organización sería otro aplicativo de los honeypots, solo que enfocado a la seguridad de redes).

Y de nuevo, tenemos mil y un maneras de aplicarlos:

  • Captchas y listas negras: aunque no sean honeypots al uso, lo cierto es que la obligatoriedad de completar un captcha o el llevar en cuenta una lista negra de IPs con actividades curiosas (es normal que un bot intente realizar varias peticiones al mismo tiempo ahí donde un usuario normal claramente no puede) permite evitar la mayoría de spam en formularios web. En el primer caso, a cambio de molestar al usuario (que debe completar un dichoso captcha), y en el segundo, generalmente haciendo uso de servicios de terceros que son los encargados, en base a todas las páginas donde están instalados, de mantener actualizada la lista. En WordPress a mi me gusta especialmente Anti-spam (EN), que (ojo) solo funciona con los formularios de contacto, pero que elimina prácticamente todo el ruido que podría salpicarnos.
  • Honeypots de cliente: La idea pasaría por incluir inputs ocultos al usuario que, de ser completados, no enviasen al servidor la petición. Eso se consigue creando un input de tipo hidden (o bien un input cuyo CSS diga que no debe ser mostrado por pantalla) y cuya petición de envío esté condicionada a que ese input siga vacío. Cosa que ocurrirá con todos los usuarios que lo completen, y que no se cumplirá en el caso de los bots, que necesitan cumplimentar todos los campos para evitar dejarse alguno que sea obligatorio.
 <form action="submit.php" onsubmit="return validateMyForm();" method="post">
    <input type="email" name="email"> //el input verdadero
    <input type="text" id="input-totalmente-falso" style="display: none"> //el input falso que no se mostrará por pantalla
    <input type="submit" value="Submit">
 </form>

 type="text/javascript"> //creamos la función validateMyForm
    function validateMyForm() {
        if(!document.getElementById("input-totalmente-falso").value) {
            return true;
        } //si no existe nada de contenido en el input falso, entonces se envía
        else {
            return false;
       } //si existe, entonces es que es un bot quien intenta completarlo, por lo que no hacemos nada
   }
 
  • Honeypots de servidor: Tienen la ventaja de funcionar aún cuando JavaScript no está habilitado (puede que el bot esté operando en algún entorno más controlado), y la parte mala es que, como todo de cara al servidor, cada petición consume proceso. El procedimiento, no obstante, es semejante al anterior, creando un input falso, pero la validación la hacemos una vez llega la petición al servidor (si el input está vacío, se realiza exitosamente; si no, no). Esto puede hacerse directamente en el SQL o en el PHP.
 <?php
    if(!$input-totalmente-falso){
       mail("pepito@email.com","Nuevo contacto en la web",$cuerpo-del-email);
    }
 ?>

En otros casos lo que creamos son inputs ocultos con un código específico, de manera que si al llegar al servidor ese string ha cambiado, podemos estar seguros de que estamos ante una petición fail.

 <input type="hidden" id="input-de-control" value="0324655847"/>

 <?php
    if($input-de-control!="0324655847"){}
    else{
       mail("pepito@email.com","Nuevo contacto en la web",$cuerpo-del-email);
    }
 ?>

Existen, como decía, múltiples estrategias para controlar el spam que llega a nuestros servidores. Y como todo, hay que buscar el punto medio en el que lo reduzcamos a la mínima expresión sin molestar en demasía al usuario.

Fuente: PabloYglesias

“123456”, la peor contraseña del 2016 (por tercer año consecutivo)

Lo hemos vuelto a hacer. De acuerdo con el listado de las peores contraseñas de 2016 publicado recientemente por la desarrolladora de software de seguridad SplashData, hemos vuelto a colocar “123456” en el número 1 de las contraseñas más usadas, en una lista recopilada de entre más de dos millones de contraseñas.

A primera vista dan ganas de tomarse el listado a risa, porque realmente cuesta creer que a estas alturas todavía haya gente que usa “123456” o “password” como contraseña para proteger cosas tan importantes como su correo electrónico o el acceso online al banco. Pero si repasamos los informes de SplashData de otros años y analizamos un poco la tendencia, vemos el asunto es bastante serio.

Cómo se elabora el listado

SplashData, creadora del gestor de contraseñas SplashID, lleva cinco años elaborando este informe anual. Y no falla: cada año demuestra que la gente, a pesar de los peligros que ello conlleva, sigue usando contraseñas que comprometen su seguridad online.

Read More

Ejemplos para hacer #GoogleHacking

Para hacer Google Hacking, tienes que conocer los operadores avanzados de búsqueda de Google o comandos de búsqueda avanzada de Google, que se pueden incluír en el recuadro normal de búsquedas individualmente o combinados entre sí. Luego pondré ejemplos reales de esto, no te preocupes si no lo entiendes ahora. Además, tienes más información en la guía de Google sobre sus comandos de búsqueda avanzada de Google. Aquí van los principales comandos de búsqueda avanzada Google:

  • ” ” (comillas): buscar frase exacta
  • and or not: operadores lógicos “y” o “no”
  • + y -: incluír y excluír. Ej: jaguar -coches: busca la palabra “jaguar”, pero omite las webs con la palabra “coches”
  • * (asterisco): comodín, cualquier palabra, pero una sóla palabra
  • . (punto): comodín, cualquier palabra, una o muchas
  • intitle o allintitle: la expresión buscada está en el título
  • inurl o allinurl: la expresión buscada está en la url
  • site: sólo busca resultados dentro de la web que va detrás de “site:”
  • filetype: sólo busca archivos de un tipo (doc, xls, txt…)
  • link: sólo busca en páginas que tienen un link a una determinada web
  • inanchor: sólo busca en páginas que tienen en el texto de enlace la expresión buscada
  • cache: muestra el resultado en la cache de Google de una pagina web
  • related: busca webs relacionadas con una determinada

Read More

Webs y extensiones para mejorar tu seguridad online

En Internet nunca se está demasiado seguro. Cada día aparecen nuevas amenazas, ya sea atacando la seguridad de tus dispositivos conectados o intentando recolectar tus datos. Tiene sentido, por tanto, que como usuario hagas lo que esté en tu poder para seguir estando seguro.

Y lo que Internet te quita, Internet te lo da. Los desarrolladores han creado desde webs a extensiones pro-privacidad que impedirán que tus datos salten a quien no deben, a la par que monitorizarán el estado de tu seguridad. En este artículo te vamos a dar siete soluciones que puedes empezar a usar ya mismo.

Two Factor Auth

Two Factor Auth List

Read More