viernes, 25 de diciembre de 2015

El misterio del canal 14 del WIFI

6:26 p.m. Posted by LanreB OgeiD , , 3 comments



Screen Shot 2014-01-06 at 16.50.26
Es una de las cosas más molestas relacionadas con la tecnología; despertar en la mañana para encontrar que tu conexión a Internet está funcionando dolorosamente lenta o no funciona en absoluto. Iniciar sesión en la cuenta que tienes con el proveedor de servicios (En el Router) puede ayudar a resolver el problema, se pueden ver todas las conexiones de área local y los canales que operan y elegir una de las opciones menos favorecidas.

Se te presentará con la posibilidad de elegir uno de los canales disponibles, 13 si vives en el Reino Unido o en Asia (excepto Japón y Taiwán). 11 canales están disponibles en América y Taiwán, pero Japón permite a la gente a usar el canal decimocuarto.


Screen Shot 2014-01-06 at 14.43.24 

El canal 14 opera en el extremo más alto del espectro de frecuencias Wi-Fi desde 2.472 GHz en adelante y sólo es compatible con equipos diseñados para trabajar con routers 802.11b, aunque en gran medida se han eliminado.

Todavía es posible acceder al canal Wi-Fi decimocuarto, a pesar de que sólo se puede hacer mediante la modificación del router y es cambiando la configuración del país a Japón. Incluso entonces no es siempre posible.

La Comisión Federal de Comunicaciones o FCC, en realidad ha prohibido el acceso al canal 14. La organización afirma en una presentación de 2005: "Independientemente de los niveles, un dispositivo no puede operar en una banda restringida". La presentación pasa luego a dictar "Operar en el canal 14 no está permitido."


¿Por qué se prohibió?

EL canal con una frecuencia central de 2.48GHz, es conocido como The Industrial Scientific and Medical, o ISM, el canal puede ser elegido en todo el mundo. El dispositivo más común que opera en la frecuencia es el horno de microondas, que supuestamente trabaja en 2.45GHz.
the Industrial Scientific and Medical


Screen Shot 2014-01-06 at 16.03.39 

No se sabe si la señal recibida del canal 14 afecta al microondas o viceversa. Partimos de que las fuertes restricciones en el uso de la gama son el resultado de su uso por los satélites militares y de comunicaciones para transmitir señales en todo el mundo. 

El uso del canal 14, o cualquiera de los otros canales para el caso, podría causar alguna interferencia con el equipo de rango moderado de vigilancia, control de tráfico aéreo, los satélites meteorológicos y el radar marino. El impacto no será devastador, ya que la intensidad de la señal no sería tan grande como para hacer ningún daño grave. De hecho, la mayor parte de la banda de frecuencia 'S' está fuera del alcance de los ordenadores portátiles.Sin embargo, con algunas modificaciones y mejoras en el rendimiento es muy posible poder ajustar las frecuencias disponibles para los routers inalámbricos y portátiles así que se puede acceder a las frecuencias más amplias. De hecho, con un poco de programación  y mejoras, el canal "X" no está fuera de su alcance. 

El canal "X", llamado así debido a su carácter secreto durante la 2da Guerra Mundial es utilizado por los sistemas de misiles de orientación, radar marino y el radar del aeropuerto, así como el seguimiento de corto alcance y de vigilancia terrestre. 

Aunque el canal se prohibió, las consecuencias del uso del canal restringido no se especifican. Se considera un delito grave debido a su ilegalidad, aunque parece poco probable que la FCC vendrá a llamar a tu puerta. 

Fabricantes como Apple han bloqueado a las personas poder acceder al canal ilegal limitando la tarjeta AirPort de las computadoras para el país de venta. Sólo cambiando la tarjeta AirPort o la estación base pueden los usuarios de de Apple acceder al canal.

Fuente: http://kernelmag.dailydot.com/
the Industrial Scientific and Medical




Es una de las cosas más molestas relacionadas con la tecnología; despertar en la mañana para encontrar su conexión a Internet está funcionando dolorosamente lento o no funciona en absoluto. Inicio de sesión en la cuenta que tiene con el proveedor de servicios puede ayudar a resolver el problema, se puede ver en todas las redes en su área local y los canales que operan en y elija una de las opciones menos favorecidas.

Se le presentará con la posibilidad de elegir uno de los canales disponibles, 13 si usted vive en el Reino Unido o en Asia (excepto Japón y Taiwán). 11 canales están disponibles en las Américas y Taiwán, pero Japón permite a la gente a usar el canal decimocuarto.


The mystery of WiFi channel 14
The mystery of WiFi channel 14Screen Shot 2014-01-06 at 16.50.26

jueves, 17 de diciembre de 2015

¡Hablemos de Honeypots!

4:27 p.m. Posted by LanreB OgeiD No comments

Concepto

Un honeypot es un recurso que simula ser un objetivo real, el cual se espera que sea atacado o comprometido en otras palabras es un "equipo trampa". Los principales objetivos son el atraer y distraer a los atacantes y obtener información sobre el ataque y el atacante.
Es una herramienta de seguridad informática cuyo valor se basa en ser escaneado, atacado y comprometido.

http://www.hackersenigma.com/wp-content/uploads/images/Honeypot-Detection-.jpg

Ventajas

  • No hay tráfico "normal",toda la actividad es sospechosa y petencialmente maliciosos
        - No hay falsas alarmas.
        - Menos datos a analizar comparado con los IDS (Sistema de detección de intrusos, por sus siglas en inglés, que después veremos en una nueva entrada).
  • Puede brindar información valiosa sobre los atacantes.
       - Nuevos tipos de malware
       - Herramientas de hacking utilizadas
       - Métodos usados por los atacantes
  • Detener o entretener al atacante con sistemas en los que no puede causar daño.

Desventajas

  • Hay riesgos potenciales sobre la red de datos y los sitemas de producción de la organización (dependiendo del tipo de honeypot usado).
  • El mantenimiento puede consumir mucho tiempo.
  • "narrow view" (Estrecha visión).
  • No es un mecanismo de defensa...

Usos

Investigación:

  • Detectar nuevo tipos de ataques y herramientas de hacking.
  • Obtener mayor conocimiento de los ataques (objetivos, actividades, etc.) y tendencias.
  • Desarrollar nuevas signatures de IDS's.

Producción:

  • Distraer al atacante del objetico real (ganar tiempo para proteger el ambiente de producción).
  • Recolectar suficiente evidencia contra un ataque.

Tipos

Nivel bajo de interacción:

  • Típicamente sólo proveen servicios falsos o emulados.
  • No hay un sistema operativo sobre el cual el atacante pueda interactuar.
  • Fáciles de instalar y mantener.
  • La información obtenida es muy limitada.
  • Minimizan el riesgo considerablemente.

Nivel medio de interacción:

  • Brinda mayor interacción pero sin llegar a proveer un sistema operativo sobre el cual interactuar.
  • Los demonios que emular los servicios son mas sofisticados y brinda mayores posibilidades de interactuar y escanear el sistema.
  • El desarrollo/implementación es más complejo y consume más tiempo.

Nivel alto de interacción:

  • Cuentan con un sistema operativo real.
  • Presentan un mayor nivel de riesgo y complejidad.
  • Son objetivos más "atractivos" a ser atacados.
  • Se obtiene mayor y mejor información de los atacantes.
  • Requiere de mucho tiempo para instalar y mantener.
https://baulderasec.files.wordpress.com/2013/11/sholcroft-4-2002-1.gif

Riesgos

  • Compromisos de seguridad del Sistema Operativo sobre el cual se ejecuta el honeypot.
  • Vulnerabilidades del software que implementa el honeypot.
  • Atrae intrusos/atacantes a la red de servicios o de producción asociada al honeypot (si es detectado).
  • A mayor nivel de interacción mayor riesgo.
  • Errores en los mecanismo de contención o en la configuración pueden:
        – La honeynet ser usada para atacar otras redes.
        – Abrir un puerto a la red de la organización.
  • Un incidente de seguridad asociada a la organización puede afectar la imagen de la misma.
  • Que la honeynet sea identificada. 





Fuente: http://www.fing.edu.uy/

miércoles, 16 de diciembre de 2015

DDoS Análisis de Ataques Distribuidos

4:50 p.m. Posted by LanreB OgeiD , No comments

Entendiendo DDoS

Es muy probable que ud ya conozca el Ataque de Denegación de Servicio Distribuido (DDoS) el cual es una extensión del ya conocido DoS (Denial of Service) que sucede cuando el servidor objetivo se ve saturado de peticiones TCP o UDP a determinado servicio (por lo general, servicio web al puerto 80, pero esto depende de las intenciones del atacante, cualquier servicio puede ser vulnerable) dejando de responder incluso a peticiones genuinas.
El concepto de “Distribuido” es concerniente a que estas peticiones son realizadas desde cientos, miles de máquinas infectadas (comúnmente llamadas “zombies” ) las cuales son gobernadas a través de “Botnets” (http://en.wikipedia.org/wiki/Botnet) de manera coordinada al mismo tiempo, lo cual supone una sumatoria de ancho de banda, uso de memoria y procesamiento en el objetivo que, por lo general, ningún servidor podría soportar, terminando en un colapso del servicio atacado por no poder responder cada petición.
En este articulo haremos foco en dos tipos de ataques, los mismos son “SYN flood” y “Slow HTTP DDoS Attack”.
La clave del éxito para los ataques de DDoS es la cantidad de “zombies” con que cuenta cada Botnet. Podemos afirmar que mayor es el número de máquinas atacantes, mayor es la efectividad del ataque.
A modo de ejemplo, hagamos el siguiente cálculo rápido:
Una “botnet” tiene 3000 máquinas zombies listas para atacar. Cada máquina utiliza una conexión hogareña (generalmente xDSL) con un promedio de 128 Kib/s de ancho de banda de subida (upstream):

3000 hosts * 128 KiB/s (upstream) = 384000 KiB/s = 375,00 MiB/s

Es decir, se genera un tráfico resultante de 375,00 MiB/s, el cual es un ancho de banda mas que suficiente para colapsar prácticamente cualquier sistema (aún estando protegido) ya que
los vínculos que los ISP le otorgan a los servidores target son claramente inferiores a este valor.
Pero este no es el único factor que influye en el éxito de un ataque DDoS, también podemos mencionar la variante de ataque que se realizará (descriptos anteriormente), la buena o mala configuración de los servidores target, la duración del ataque, etc…

SYN Flood Attack

Este es uno de los dos tipos de ataques de DDoS que analizaremos en este artículo.
Como lector de este Magazine, usted probablemente sepa que los headers de un paquete TCP/IP contiene banderas (flags), las cuales tienen diferentes funciones, como por ejemplo marcar inicio, prioridad y fin de la conexión, reiniciarla, etc y que el “diálogo” entre las partes se inicia con el “saludo de las tres vías”. En este último punto está la clave de esta técnica.
Pues bien, el ataque de “SYN Flood” consiste en enviarle paquetes manipulados a la maquina target, activando el bit SYN (S flag) en la conexión TCP y alterando la IP origen (mediante técnica de spoofing), la víctima responde con un SYN/ACK (SA flags) considerando que se trata de una conexión legítima y espera por un ACK (A flag) por parte del cliente. Al tratarse de direcciones falsas, la respuesta nunca llegará y la secuencia no llega a completarse ocasionando que la víctima se sature de conexiones no dejando lugar a conexiones genuinas.
En el siguiente gráfico, se aprecia una secuencia normal del “saludo de las tres vías”

En tanto que, modificando los headers, la conexión se realizará del siguiente modo:

Este es sin dudas uno de los ataques mas conocidos por su simplicidad-efectividad y famoso dado que es la técnica principal utilizada por el ya mundialmente conocido grupo hacktivista “Anonymous” que si bien ellos mismos lo emplean como herramienta de “protesta”, está quedando en evidencia que esto no siempre se aplica para el común de los ciberdelincuentes que, en su mayoría, lo emplean como herramienta de extorsión en perjuicio de empresas o gobiernos y en otras ocasiones para obtener ganancias económicas.
Existe gran cantidad de herramientas para efectuar un SYN Flood Attack, entre ellos las armas principales de “Anonymous”, llamadas LOIC (Low Orbit Ion Cannon) y HOIC (High Orbit Ion Cannon). Estas herramientas pueden ser manejadas por el usuario o bien utilizando el modo “Hivemind”, a través de un canal de IRC en un ataque distribuido y coordinado. Son herramientas muy potentes y deben ser utilizadas responsablemente.
Pero en este artículo utilizaré otra herramienta que no tiene el ataque como propósito de uso, estoy hablando de HPING3, que es una grandiosa herramienta de pruebas a reglas de firewall, stress testing, manipulación de paquetes, entre otras utilidades, muy necesaria para todo sysadmin y profesional de la seguridad informática.

¿Cómo este ataque puede ser demostrado?

A los efectos ilustrativos de complementar este artículo y teniendo en cuenta la complejidad de contar con una botnet real, he montado un escenario en mi laboratorio interno en el cual emplearé tres maquinas que simularán ser muchas mas para atacar un servidor vulnerable y desprotegido (corriendo Fedora release 15 (Lovelock)).
La idea es inundar de paquetes manipulados (utilizando el flag SYN) a la víctima, simulando un ataque desde cientos de hosts diferentes.
El escenario podría ser graficado del siguiente modo:
Como ya dijimos, HPING3 es una excelente herramienta con la posibilidad de utilizarla en muchas situaciones, recomiendo ejecutar la ayuda (hping3 -h) para ver las diversas opciones.
Para el caso de esta demostración, desde cada una de las máquinas atacantes, ejecutamos HPING con los siguientes parámetros:

Parámetro
Función
-S seteamos el flag SYN
–flood Enviamos paquetes lo mas rápido posible. No se muestran respuestas.
–rand-source Simulamos diferentes orígenes aleatoriamente al enviar los paquetes.
-d Establecemos el tamaño del cuerpo del paquete (expresado en bytes). Este valor puede variar.
-p Indicamos el puerto de destino

Es importante contar con privilegios de superusuario, es por eso que utilizamos “sudo” para correr el comando.
Teniendo en cuenta que el target entonces es 192.168.1.109, que utilizaremos el flag SYN, que lo haremos en modo “flooding”, con cada request con un origen diferente y al puerto HTTP, el comando quedaría conformado así:
sudo hping3 -S 192.168.1.109 --flood --rand-source -d 5000 -p 80
Se podrían utilizar otras variantes y valores, pero a los efectos de la prueba, con estos parámetros es mas que suficiente para causar un DDoS.
Y lanzamos el ataque simultáneamente en las 3 maquinas atacantes !
:~$ sudo hping3 -S 192.168.1.109 --flood --rand-source -d 5000 -p 80
HPING 192.168.1.109 (eth0 192.168.1.109): S set, 40 headers + 5000 data bytes
hping in flood mode, no replies will be shown

Mientras tanto, veamos que ocurre en el servidor target. Para ello utilizaré el analizador de tráfico “IPTRAF”, pero bien usted puede utilizar el que desee (wireshark o tcpdump por ejemplo).
El flujo de tráfico se ve mas o menos así:
http://www.dragonjar.org/wp-content/uploads/2012/09/CAPTURED-TRAFFIC-SYN.png
Al cabo de unos pocos segundos, el sitio se volverá inaccesible dada la cantidad de requests que el servidor tiene que procesar.
Al intentar acceder al sitio atacado, en el puerto 80, se obtiene un timeout dado que el servidor no puede responder a peticiones genuinas por estar saturado de paquetes mal formados:
 http://www.dragonjar.org/wp-content/uploads/2012/09/Screenshot-Problem-loading-page-Mozilla-Firefox-1.png

Como hemos podido ver, un servidor que no está protegido adecuadamente puede ser fácilmente comprometido utilizando unos pocos recursos.
Sin embargo, esta prueba fue realizada en una red interna, simulando un ambiente similar a internet pero sin intermediarios (routers, proxies, etc) que puedan ayudar a mitigar el riesgo aplicando algunas contramedidas, pero si tenemos en cuenta lo mencionado en la primera parte (“Entendiendo DDoS”), ante un ataque masivo, coordinado a nivel mundial, sin dudas esos controles pueden verse desbordados o poco efectivos.

Slow HTTP DDoS Attacks

Este es el segundo ataque que desarrollaremos en este articulo y uno de mis predilectos en el sentido de admiración a como se logra comprometer un servidor web sin mayores recursos al alcance.
También es conocido como “Slowloris” por ser la primera herramienta liberada para explotar una falla de diseño en el manejo de conexiones concurrentes.
Se trata de una técnica que afecta a servidores web (en su mayoría Apache, pero otros también) que tiene la particularidad de provocar un gran impacto utilizando un mínimo de ancho de banda, incluso utilizando unas pocas conexiones hogareñas xDSL.
La idea principal esta basada en como Apache maneja los hilos de conexiones, y a diferencia de otros ataques (como por ejemplo el tratado anteriormente “SYN Flood”) en los cuales son necesarios cientos, miles de paquetes para saturar la víctima, se trata de mantener abiertas conexiones el mayor tiempo posible enviando una respuesta parcial al servidor.
Dado que el pool de hilos disponibles es finito, el colapso se produce cuando éste se ve saturado, ocasionando así una Denegación de Servicio.
Cabe aclarar que este ataque no afecta al servidor entero sino al servicio web solamente, y el servicio se restablece inmediatamente una vez finalizado el ataque.
Veamos en detalle el funcionamiento de este ataque:
Un cliente realiza una petición GET con una cabecera manipulada, la cual no se enviará por completo al servidor, quien, por diseño del protocolo HTTP, se quedará esperando por el resto de los datos. Para ello se suprime el envío del CRLF (señal de finalización) de la cabecera.
Si se producen muchas conexiones al mismo tiempo, el servidor mantendrá esos recursos ocupados hasta dejar de responder a nuevos requests, algunos posiblemente legítimos.

¿Cómo comprobarlo?

Para esta demostración no precisé de muchas maquinas atacantes, ya que, como explicamos antes, la clave está es comprometer a un servidor con pocos recursos al alcance.
Por lo tanto, utilizaré el siguiente escenario, suficiente para la prueba de concepto:

VICTIMA:
IP: 192.168.1.109
HTTP SERVER: Apache/2.2.22

ATACANTE:
IP: 192.168.1.104
SOFTWARE: slowhttptest-1.4

Existen algunas herramientas para hacer una prueba de concepto de este ataque.
Yo utilizaré una herramienta de capa siete desarrollada por Sergey Shekyan, llamada “Slowhttptest”, la cual es útil para simular (y hacer efectivos) ataques Slow HTTP DoS.
Recomiendo fuertemente esta herramienta dada su flexibilidad para realizar otros tipos de pruebas (como por ejemplo “Apache Range Header Attacks”), la posibilidad de generar gráficos y por ser la mas actualizada de las herramientas disponibles para ataques/tests de Slow HTTP DoS.
Queda fuera de este artículo el procedimiento de instalación, pero no se preocupen que está muy bien documentado en la página oficial del proyecto.
Utilizaré el módulo de monitoreo de Apache (server-status) en el servidor target para monitorear la actividad antes y durante un ataque.
En un estado normal, el servidor luce del siguiente modo:
http://www.dragonjar.org/wp-content/uploads/2012/09/Screenshot-Apache-Normal-Status-109-Mozilla-Firefox-1.png

En la máquina atacante, ejecutamos el siguiente comando (debajo explico las opciones y modificadores):
$ slowhttptest -c 1000 -H -g -o attack_stats -i 10 -r 200 -t GET -u http://192.168.1.109 -x 30 -p 3
  • -c number of connections (limited to 65539)
  • -H tipo de ataque que realizaremos (en este caso Slow Down en Headers)
  • -g genera estadistias en formato CSV y HTML
  • -o archivo de salida
  • -i Segundos. Interval between follow up data in seconds, per connection
  • -r Conexiones por segundo
  • -t header/verb to use
  • -u target URL, the same format you type in browser, e.g https://host[:port]/
  • -x max length of follow up data
  • -p timeout to wait for HTTP response on probe connection, after which server is considered inaccesible
Con este seteo, lanzaré un ataque de tipo “Slow Down Headers”, es decir, haremos los requests al servidor pero no completaremos los mismos, forzando al servidor mantener esas conexiones en estado de lectura generando hasta 1000 conexiones concurrentes.
Como se observa en las opciones, puse como opción generar un archivo HTML para posterior análisis del ataque.
Ahora, lancemos el ataque:
Using:
test type: SLOW HEADERS
number of connections: 1000
URL: http://192.168.1.109/
verb: GET
Content-Length header value: 4096
follow up data max size: 604
interval between follow up data: 10 seconds
connections per seconds: 200
probe connection timeout: 3 seconds
test duration: 240 seconds
Sat Jul 28 08:58:47 2012:slow HTTP test status on 0th second:
initializing: 0
pending: 1
connected: 0
error: 0
closed: 0
service available: YES

Sat Jul 28 08:58:52 2012:slow HTTP test status on 5th second:
initializing: 0
pending: 586
connected: 252
error: 0
closed: 0
service available: NO

Sat Jul 28 08:58:58 2012:slow HTTP test status on 10th second:
initializing: 0
pending: 573
connected: 427
error: 0
closed: 0
service available: NO
Desde el servidor target, capturé el estado de las conexiones:

http://www.dragonjar.org/wp-content/uploads/2012/09/reading_state_attack-.png


Como podemos observar en el proceso de ataque de slowhttptest, luego de 5 segundos de lanzado el mismo, el servicio ya no estaba mas disponible, lo cual es fácilmente comprobable al intentar navegar el sitio atacado y luego de unos minutos sin lograr acceder se obtendrá un timeout. (Ver PIC-03).
Luego de finalizado el ataque, la herramienta slowhttptest nos entrega el reporte del ataque:
http://www.dragonjar.org/wp-content/uploads/2012/09/Screenshot-SlowHTTPTesttm-Connection-Results-Mozilla-Firefox.png

Como se puede observar, es una herramienta muy potente la cual debe usarse con mucha responsabilidad. También es muy útil para realizar “Stress Testings” contra servidores propios y poder así testear la carga que soportan los mismos.
Como ya mencionamos antes, en este caso las pruebas son contra un servidor desprotegido, pero en un escenario real, de grandes infraestructuras protegidas, estos tipos de ataques mantienen su efectividad, mas aún si lo pensamos como una posibilidad de ataque distribuido.

Contramedidas

Ojalá pudiese escribir en esta sección una fórmula mágica para protegerse contra los DDoS, pero desafortunadamente no existe una manera de defenderse completamente contra miles y miles de máquinas atacando, lo que si puedo hacer es brindar algunos consejos para mitigar el riesgo y no estar tan expuestos.
Para no entrar en demasiados tecnicismos, ya que hay muchos productos y variedad de sistemas operativos, etc, daré algunos tips generalizados que los administradores de sistemas deberán tener en cuenta para defenderse de ataques DDoS.
Los tips que se muestran a continuación aplican para los dos tipos de ataque planteados en este artículo, y para otros mas también.

A tener en cuenta:

  • Desde ya, estar al día con las actualizaciones de software en uso que esté expuesto a internet.
  • Sin dudas una de las técnicas mas recomendadas es la implementación mixta de
    • Firewall
    • Balanceo de carga
    • Proxy reverso
  • Limitar la cantidad de conexiones permitidas por cada IP individual (100 estaría bien, una vez superado ese límite, las conexiones se rechazan)
  • Limitar el número de conexiones por segundo.
  • Limitar el tiempo en que cada cliente permanece conectado.
  • Teniendo que el servidor web Apache es uno de los mas usados en internet, seguir las recomendaciones de la documentación oficial: http://httpd.apache.org/docs/trunk/misc/security_tips.html
  • Si su aplicación tiene una audiencia específica, por ejemplo, si el servicio es solamente para personas residentes en Ecuador, las peticiones provenientes desde Rusia o China podrían ser blockeadas mediante uso de blacklists de rangos.
Fuente:  http://www.dragonjar.org/

miércoles, 9 de diciembre de 2015

Diferencias entre DoS y DDoS

5:08 p.m. Posted by LanreB OgeiD , No comments
DoS: Denial of Service (Denegación de servicio).

Un servidor web está preparado para soportar una cierta cantidad de peticiones o conexiones simultáneas. Si supera ese límite de conexiones, pueden pasar dos cosas:

1) La respuesta de las peticiones de los usuarios pueden ser lentas o nulas
2) El Servidor se desconecta de la red y queda sin conexión.







Satura el servidor por medio de muchas peticiones de una misma pc que poco a poco va consumiendo recursos hasta que comience a rechazar las peticiones y comenzara a denegar el servicio (DoS)
Como ventaja tiene que el administrador puede ver de dónde vienen todos esos ataques, banea la IP y el ataque cesa…

Este tipo de ataque se realiza con programas de estilo escritorio como este que se puede apreciar en la imagen:


En el cual se coloca una IP y la potencia del ataque y listo.
El uso de este tipo de programas en el hacking es muy mal visto, ya que solo le dan mal uso, es decir, lo utilizan para tirar sitios web.

Así como este, existen varios programas más y son pocos los que les dan buen uso a los programas de este tipo. Un buen uso seria realizar un test de carga o estrés, para saber cuánto trafico podría soportar un sitio web.

DDoS: Distributed Denial of service (Denegacion de servicio distribuida)

Esto es algo similar al ataque DoS, ya que este tipo de ataque también consiste en tirar el servidor. La diferencia está en que este ataque es distribuido. Esto quiere decir que no se ataca desde una sola PC como en el DoS, sino que son muchas PCs, haciendo peticiones al mismo servidor. El administrador de la web no podrá saber de dónde viene el ataque, por lo tanto cuesta más detenerlo. A esto se lo llama Denegación de Servicio Distribuida (DDoS)


Este tipo de ataque (DDoS) Se hace con una red Zombie. En otras palabras, se hace con una Botnet.
En ambos casos lo que se busca es consumir el ancho de banda del servidor para tirar la web.
Obviamente es mucho más potente un ataque con una Botnet ya que son varias PCs las que atacan a un solo sitio.

Este tipo de ataque se realiza con software de escritorio muy similares a los troyanos (tanto el cliente como el servidor son ejecutables), también están los de panel web y finalmente por IRC.
A continuación, algunas capturas de paneles de botnets:

IRC

Web:

En todos los casos, los métodos de propagación son iguales. Un caso muy visto, son los videos llamativos de facebook


Al ser infectados, luego nosotros infectaremos a nuestros contactos y asi sucesivamente hasta formar una cadena con una gran cantidad de infectados


Existen más formas de infección, como la web:


Al abrir o ejecutar cualquiera de estos, es muy probable que acabemos infectados por una botnet y nuestra conexión sería utilizada para atacar sitios.

¿Cómo prevenir ataques?

Como webmasters podemos instalar en nuestro servidor el famoso mod_evasive

Básicamente lo que hace es mantener una tabla dinámica con las URIs accedidas por las distintas IPs de los clientes del Apache, y permite ejecutar algunas acciones cuando una misma IP solicita un mismo recurso (una misma URI o elementos de un mismo sitio) más de n veces en m segundos. La acción por default que ejecuta el mod_evasive es, una vez superado el máximo de requests por segundo permitidos, bloquear durante una cantidad de segundos al cliente (la IP) devolviendo un error 403 (Forbidden) a la petición HTTP. Pero lo interesante es que también permite ejecutar un comando de sistema al registrarse un intento de ataque, con lo cual se puede agregar una regla al iptables para bloquear la IP del cliente.

Otra forma es utilizando Cloudflare que es un sistema gratuito que actua como un servidor "proxy" entre sus visitantes y nuestro servidor. Al actuar como un "proxy", CloudFlare cachea (almacena en memoría) el contenido estático de su web, lo que disminuye el número de peticiones a nuestros servidores, pero todavía permite a sus visitantes el acceso a su web. Existen varias ventajas del sistema CloudFlare.

Mejora del Rendimiento de la Web: CloudFlare tiene servidores "proxy" situados en todo el mundo. Los servidores "proxy" están situados cerca de sus visitantes, lo que significa que noten mejoras en el tiempo de carga de una página, ya que el contenido "cacheado" se entrega desde servidor "caché" más cercano en vez de directamente desde nuestro servidor. Muchos estudios demuestran que cuanto más rápida es una web más tiempo los visitantes permanecen en ella.

Protección contra Comentarios no Deseados (Spam): CloudFlare aprovecha datos de los recursos de terceros para reducir el número de comentarios "spam" en su web.

Alerta a los Visitantes de Ordenadores Infectados: CloudFlare alerta a los visitantes humanos de que tienen un ordenador infestado y que necesitan tomar las acciones apropiadas para limpiar el "malware" o los virus de su ordenador. Los visitantes deberan introducir un CAPTCHA (conjunto visual de números y letras) para acceder a su web.

Modo de Navegación Offline: El el caso de que nuestro servidor esté no disponible, los visitantes podrán aún acceder a su web ya que CloudFlare servirá a los visitantes las páginas desde su memoría caché. Entre otras ventajas más.

Fuente: https://underc0de.org/foro/

lunes, 2 de noviembre de 2015

Las diferencias entre WEP, WPA, WPA2, AES y TKIP

6:20 p.m. Posted by LanreB OgeiD , , , 1 comment
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKof7g33pQ6RrPvzWB_ehOSJvnLhrz98Tj-vcYxlQWtCkNDpcAuXo6wi9T7-fbdSmzJ59_6DNpAtN4cELQ-tHOlh1iy3xOsH3uNP5lzuN6fwKyoj_MWB2Qu9be06ZGcsKGzeZSDWXYOSeZ/s1600/tipos-cifrado-wifi.jpg
El configurar el tipo de cifrado en un router inalámbrico es una de las cosas más importantes que se puede hacer para brindar seguridad a una determinada red, sin embargo, su configuración ofrece posiblemente diferentes opciones como WEP, WPA, WPA2, AES, TKIP, en fin, toda una sopa de letras que nos confunde muchas veces.
Comprender el significado de cada una de estas siglas y su importancia al momento de elegir la una o la otra, radica en el nivel de seguridad que pueda llegar a tener nuestro router WiFi para estar protegido ante posibles hackeos y filtrados de información, y si ustedes son tan estrictos con la seguridad, es importante que tomen nota a este artículo que hoy les queremos compartir aclarando un poco los detalles sobre este tema.

 

¿Que diferencia hay entre WEP, WPA y WPA2?

WEP (Wired Equivalent Privacy) es un protocolo de seguridad de red utilizado con muy poca frecuencia, debido a su facilidad para ser vulnerado. Proporciona un cifrado a nivel 2, basado en el algoritmo de cifrado RC4 que utiliza claves de 64 bits o de 128 bits, este último, aunque cuente con un tamaño de clave de cifrado más grande, no es realmente lo mejor.
WPA (Wi-Fi Protected Access), a diferencia de WEP, utiliza un vector de inicialización de 48 bits y una clave de cifrado de 128 bits. Lo más importante, es que WPA, utiliza lo que se llama el Protocolo de integridad de clave temporal (TKIP). Considerando que WEP usa la misma clave para cifrar todos los paquetes que fluyen a través de la red, WPA con TKIP, cambia la clave de cifrado cada vez que un paquete se transmite. Lo anterior, combinado con el uso de claves más largas, impide que un router sea fácilmente accedido sólo a través de la observación de un conjunto de transmisión de paquetes.
WPA2 es simplemente la versión certificada del estándar de la IEEE de WPA con algunas actualizaciones como el uso de cifrado AES.

 

¿Que son TKIP y AES?

TKIP y AES son dos tipos diferentes de cifrado que pueden ser utilizados en una red WiFi.
TKIP significa “Protocolo de integridad de clave temporal”. Fue un protocolo de encriptación provisional introducido con WPA para reemplazar el cifrado WEP, el cuál se veía muy afectado por la inseguridad en el momento, aunque TKIP es en realidad muy similar a WEP.
AES (Advanced Encryption Standard) es un protocolo de cifrado más seguro introducido con WPA2, que reemplazó el estándar WPA. AES no es una norma creada específicamente para redes Wi-Fi, es un estándar de cifrado usado globalmente, incluso ha sido adoptado por el gobierno de Estados Unidos. AES se considera generalmente muy seguro, y la principal debilidad sería un ataque de fuerza bruta, el cuál se puede impedir usando una contraseña muy segura.
El “PSK”, en ambos casos, significa “llave pre-compartida”, que es generalmente la frase de cifrado. Esto lo distingue de WPA-Enterprise, que utiliza un servidor RADIUS, que crea de forma aleatoria claves únicas en redes corporativas o gubernamentales, WiFi más grandes.

Pero ¿Cuál Escoger?

En esencia, TKIP esta obsoleto y ya no se considera seguro, al igual que el cifrado WEP. Para una seguridad óptima, se debe elegir WPA2, el último estándar de encriptación, con el cifrado AES(Si el router no especifica TKIP o AES, la opción WPA2 probablemente utilizará AES). Sin embargo, si tiene equipos antiguos con Wi-Fi, que no sean compatibles con WPA2, se puede usar el TKIP + AES o la opción de modo “mixto”, si está disponible. Sin embargo, esto puede ralentizar el WiFi, ya que su router cambiará a un modo de compatibilidad de velocidad más baja (como Wireless G). Con todo lo anterior, WPA2 es ideal por seguridad y velocidad.

lunes, 26 de octubre de 2015

Conoce la diferencia entre virus, gusanos, ransomware, troyanos, bots, malware, spyware, entre otros

6:54 p.m. Posted by LanreB OgeiD , , , No comments
Estemos o no inmerso en el mundo informático hemos escuchado términos como malware, gusanos,  o virus,  y si piensas que es lo mismo, déjame decirte que estas equivocado, pero no te preocupes, en este articulo te decimos de manera clara y breve la diferencia entre estos.


Términos como troyanos, spyware, bots, gusanos, malware son generalmente confundidos con virus, pero esto no es así.  Antes de explicar las diferencias que existen entre los términos antes escritos, es necesario hacer un recorrido breve, a través de la historia informática para saber de dónde provienen.

La historia del malware se remonta a 1949 cuando  John von Neumann, desarrolló la base teórica para el primer “virus informático”, aunque el término no existía como tal en ese momento, dicho termino fue acuñado por primera vez por el profesor  Leonard M. Adleman en 1981; y el primer virus informático llamado 'Brain' fue programado por los hermanos Farooq de Pakistán, infectaba los medios de almacenamiento basados en sistemas de archivos FAT de MS-DOS, aunque se supone que lo hicieron para proteger sus creaciones de la piratería.


Volviendo a la esencia del pots, el Malware es un software malicioso diseñado para dañar una computadora que puede o no estar en una red. El Malware entra en acción cuando hay un equipo involucrado, de lo contrario el termino no tiene validez. 

Definición según wikipedia:
El malware (del inglés malicious software), también llamado badware, código maligno, software malicioso o software malintencionado, es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora o sistema de información sin el consentimiento de su propietario.



El malware tiene diferentes tipos:

* Gusanos (Worms). Estos programas tienen la capacidad de replicarse a sí mismos. Su único objetivo multiplicarse y transferirse a otros ordenadores a través de Internet o a través de los medios de almacenamiento. No causan ningún daño a la computadora, su naturaleza de replicarse hace que consuma espacio en el disco duro, por lo tanto reduce la velocidad de la máquina.

* Virus. También tienen la capacidad de replicarse a sí mismos, pero su objetivo es  dañar los archivos en el equipo que ataquen. Su principal debilidad reside en el hecho que para entrar en acción necesita el apoyo de un programa en donde residir, de lo contrario, es como un guerrero derrotado. Suelen adherirse a canciones, vídeos, archivos ejecutables y viajan por todo Internet buscando víctimas. 


* Troyanos: Básicamente,  los troyanos no son  virus y no pretenden dañar o borrar archivos en tu sistema. Su única tarea es servir de puente a un backdoor, programa malicioso o usuarios malintencionados para entrar en tu sistema y robar datos valiosos sin tu conocimiento y autorización. 
Su nombre proviene de la popular historia de la literatura griega del  'Caballo de Troya', en la que los griegos entraron en la ciudad de Troya con la ayuda de un caballo de madera que estaba destinado a ser un regalo, pero resultó ser una trampa.

* Adware.  El Adware se utiliza para mostrar anuncios en los programas. Por lo general vienen adjunto con programas gratuitos, ya que son la única fuente de ingresos para los desarrolladores de estos programas de software. El Adware no puede ser completamente llamado como malware, ya que no tienen ninguna intención de dañar tu máquina, sólo hacer un seguimiento de los anuncios en los que estás más interesado, a fin de mostrar anuncios relevantes en tu pantalla.

* Spyware.  Estos programas también vienen adjuntos con otros programas de tipo freeware, hacen un seguimiento de tu navegación y otros detalles personales y la envían a un usuario remoto. También pueden facilitar la instalación de software no deseado de internet. A diferencia de Adware, trabajan como un programa independiente y hacen sus operaciones en silencio.

* Spam. Cuando recibes molestos  correos electrónicos no deseados de remitentes desconocidos, eso se llama Spam o correo basura. El proceso de inundar Internet con el mismo mensaje también se llama spam, se realiza con el propósito de publicidad comercial. Estos correos basura a veces pueden contener virus o troyanos que entran en tu sistema tan pronto como se abra el correo.

* Bots.  Los bots o robots son procesos que están diseñados para interactuar en internet sin la necesidad de la interacción humana, es decir, automatizados. Pueden ser utilizados para buenas y malas acciones. Una persona de mente malévola puede crear un Bot malicioso que sea capaz de infectar un host por su cuenta. Después de transmitirse al dispositivo host, un Bot crea una conexión con los servidores centrales que actúan como los centros de mando para los host infectados conectados a esa red, llamados Botnet.
Entre sus propósitos están el robo de contraseñas, registrar las pulsaciones del teclado, el análisis de tráfico de red, enviar spam, lanzamiento de ataques DoS (denegación de servicio), entre otros. 

Ransomware: Este tipo de malware altera el funcionamiento normal de la máquina, hasta que “permite” que esta vuelva a la normalidad. A partir de que una maquina es infectada con este, estos programas muestran mensajes de advertencia pidiendo dinero para que tu dispositivo vuelva a condiciones normales de trabajo o pierdes todo. Normalmente la manera en que trabajo este tipo es cifrando tus archivos y pidiendo cierta cantidad de dinero para conseguir esta clave de "desbloqueo".

Otros tipos serian:
  • RootKit: usa técnicas para permanecer oculto en el sistema ante el usuario y las aplicaciones de seguridad.
  • Backdoor: función de puerta trasera, permite al atacante conectarse y controlar la máquina infectada.
  • Dialer: realiza llamadas de tarificación especial, incrementando la factura telefónica.
  • Rogueware: falso antivirus, te hacen creer que el sistema está infectado y cobran para la supuesta desinfección.
  • Crimeware: nueva denominación para el malware orientado al cibercrimen y fraude, con un claro interés de lucro.



https://concienciainformatica.files.wordpress.com/2014/10/malware.png


Después de haber leído un poco acerca de las diferencias de estos, surge la pregunta, ¿Qué motiva a diseñar estos programas? Aquí alguna razones: 

1. Tomar el control de la computadora de una persona por motivos personales o profesionales.
2. Para obtener beneficios financieros.
3. Para robar datos confidenciales
4. Para acabar con un equipo individual o una red completa, y muchas más.

Otra interrogante muy importante es, ¿Cómo podemos protegernos de estos programas maliciosos? 

* Mantén  actualizado  tu sistema operativo.
* Utiliza software original.
* Instala un antivirus y actualízalo periódicamente (aunque según lo visto últimamente está ya no puede ser una buena recomendación).
* Utiliza un firewall, puede ser personalizado o el que ofrecen algunos fabricantes de antivirus. Windows tiene una opción integrada en el servidor de seguridad en caso de que no desees utilizar uno personalizado.
* Nunca abras correos electrónicos desconocidos que generalmente están en la carpeta de spam.
* Nunca abras  enlaces desconocidos o sospechosos. 

Siguiendo estas recomendaciones no estas 100% seguro, pero si puedes estar un poco más tranquilo. 
Una última cosa que hay que aclarar es el hecho de que los antivirus no tienen una efectividad del 100% contra el malware ya que hasta que no sale las nuevas infecciones no inventan la “vacuna”, he ahí el porqué de la necesidad de tenerlo siempre con las últimas actualizaciones. Pero no sólo el antivirus, sino también los navegadores y todo programa que tenga contacto con la red.

La mejor forma de prevenirse es el puro sentido común, fijarse a qué páginas nos conectamos, qué archivos y de donde los descargamos y mucho cuidado con los links de las redes sociales, mensajería instantánea y email.

Está claro que las mafias cada vez están más avanzadas y usan métodos de engaño cada vez más sofisticados, pero la coherencia te hará librarte de más de un mal trago.

domingo, 25 de octubre de 2015

Dorks para buscar... ¡De todo!

10:47 p.m. Posted by LanreB OgeiD No comments
Google hoy en día se ha convertido en el buscador más usado y en la forma más fácil de encontrar lo que estemos buscando en Internet, encuentras casi de todo. Pero hay veces que no encontramos lo que buscamos o simplemente encontramos de más.
Hay forma de usar Google y sacarle mucho provecho al realizar búsquedas aunque muy pocos conozcan y son “palabras clave“ que nos ayudan para tener un mejor resultado realizando esa búsqueda y se llaman ¡Dorks!
Explicaré un poco estos “comandos” o palabra clave que se pueden utilizar al realizar una búsqueda sobre Internet:
cache:
Google resaltará aquellos contenidos de los documentos “cacheados”.
uso:–>cache:www.google.com web
link:
Listará los sitios que contengan links que apunten al sitio o contenido que buscas.
uso:–>link:www.google.com
related:
Listará las páginas web que son similares a la página especificada.
uso:–>related:www.google.com
info:
Presentará información acerca del sitio web que estás buscando.
uso:–>info:www.google.com
define:
Proveerá una definición de las palabras que escribas, recogidas de varias fuentes en línea.
site:
Google restringirá los resultados de la búsqueda al dominio dado.
uso:–>help site:www.google.com
allintitle:
Google restringirá los resultados de la búsqueda a aquellos con las palabras específicas que buscas.
uso:–>allintitle: google search
intitle:
Google restringirá los resultados de la búsqueda a aquellos documentos que contienen las palabras a buscar en el título. Busca la palabra “google” en el título y la palabra “search” en el contenido del documento.
uso:–>intitle:google search
inurl:
Dork usado para encontrar texto dentro de una URL.
uso:–>inurl:google search
intext:
Dork usado para encontrar texto dentro de una URL y su descripción, como por ejemplo: welcome admin user name. Este ejemplo buscará cada para en el contenido y en la URL también.
inall:
Dork usado para encontrar texto. Es la combinación de los dos anteriores Dorks.
ext:
Dork usado para encontrar extensiones de archivos:
ext:ppt hacking - retornará presentaciones powerpoint (ppt) del tópico ‘hacking’.
ext:doc hacking - retornará archivos de word (doc) del tópico 'hacking’.
Extensiones que google soporta buscar: pdf, swf, rtf, doc, ppt, dwf, ps, kml, kmz, xls.
Ejemplos
Archivos que podrían contener passwords:
  • filetype:sql insite:pass && user
  • ext:sql intext:@hotmail.com intext :password
  • filetype:sql inurl:wp-content/backup-*(Search for WordPress MySQL database backup.)
  • filetype:sql “phpmyAdmin SQL Dump” (pass|password|passwd|pwd)
  • inurl:ftp “password” filetype:xls
  • filetype:sql “PostgreSQL database dump” (pass|password|passwd|pwd)
  • filetype:ini “[FFFTP]” (pass|passwd|password|pwd)
  • filetype:ini “FtpInBackground” (pass|passwd|password|pwd)
  • filetype:ini “precurio” (pass|passwd|password|pwd)
  • filetype:ini “SavedPasswords” (pass|passwd|password|pwd)
  • filetype:ini “pdo_mysql” (pass|passwd|password|pwd)
  • inurl:config/databases.yml -trac -trunk -“Google Code” -source -repository “login: *” “password= *” filetype:xls
  • ext:php intext:“$dbms”“$dbhost”“$dbuser”“$dbpasswd”“$table_prefix”“phpbb_installed”
  • filetype:sql “insert into” (pass|passwd|password)
  • inurl:“editor/list.asp” | inurl:“database_editor.asp” | inurl:“login.asa” “are set”
  • ext:yml database inurl:config
  • inurl:“Sites.dat”+“PASS=”
Cómo encontrar upload paths:
  • inurl:.co.in & inurl:upload.php & intext:browse
Cómo encontrar sitios con posibles vulnerabilidades de sql injection:
  • intext:SQL syntax & inurl:index.php?=id
Archivos que contienen nombres de usuario:
  • filetype:conf inurl:proftpd.conf -sample
  • finding admin panel examples:
  • inurl:/admin/index.php & intext:/welcome admin user name pass
  • inurl:admin/login.asp
  • inurl:admin/login.php
Ejemplos de páneles de control inseguros:
  • inurl:.php? intext:CHARACTER_SETS, COLLATIONS, ?intitle:phpmyadmin
  • inurl:phpmyadmin/index.php
La siguiente lista de Google-Dorks es para revisar sistemas de vigilancia con IP’s públicas.
Más allá de solamente revisar (voyerismo), recuerde que si está pensando en una solución de vigilancia estilo CCTV, configure bien sus accesos remotos.
Sin más preámbulo, los Dorks:
  1. inurl:“ViewerFrame?Mode=”
  2. intitle:Axis 2400 video server
  3. inurl:/view.shtml
  4. intitle:“Live View / - AXIS” | inurl:view/view.shtml
  5. inurl:ViewerFrame?Mode=
  6. inurl:ViewerFrame?Mode=Refresh
  7. inurl:axis-cgi/jpg
  8. inurl:axis-cgi/mjpg (motion-JPEG)
  9. inurl:view/indexFrame.shtml
  10. inurl:view/index.shtml
  11. inurl:view/view.shtml
  12. liveapplet
  13. intitle:“live view” intitle:axis
  14. intitle:liveapplet
  15. allintitle:“Network Camera NetworkCamera”
  16. intitle:axis intitle:“video server”
  17. intitle:liveapplet inurl:LvAppl
  18. intitle:“EvoCam” inurl:“webcam.html”
  19. intitle:“Live NetSnap Cam-Server feed”
  20. intitle:“Live View / - AXIS”
  21. intitle:“Live View / - AXIS 206M”
  22. intitle:“Live View / - AXIS 206W”
  23. intitle:“Live View / - AXIS 210”
  24. inurl:indexFrame.shtml Axis
  25. inurl:“MultiCameraFrame?Mode=Motion”
  26. intitle:start inurl:cgistart
  27. intitle:“WJ-NT104 Main Page”
  28. intext:“MOBOTIX M1” intext:“Open Menu”
  29. intext:“MOBOTIX M10” intext:“Open Menu”
  30. intext:“MOBOTIX D10” intext:“Open Menu”
  31. intitle:snc-z20 inurl:home/
  32. intitle:snc-cs3 inurl:home/
  33. intitle:snc-rz30 inurl:home/
  34. intitle:“sony network camera snc-p1”
  35. intitle:“sony network camera snc-m1”
  36. intitle:“Toshiba Network Camera” user login
  37. intitle:“netcam live image”
  38. intitle:“i-Catcher Console - Web Monitor”
  39. intitle :flexwatch intext :“Copyright by Seyeon TECH Co”
  40. inurl:/control/userimage.html
Los dorks para encontrar cámaras de vigilancia siempre van saliendo más por el hecho de que cada fabricante de cámaras tiene su forma de configurar las cámaras pero los ya mencionados anteriormente son los más conocidos desde hace años.

Tipos de ataque: XSS. ¿Qué es y como funciona?

10:40 p.m. Posted by LanreB OgeiD , , , No comments
Todo sitio web lleva detrás de sí miles de líneas de código que se encargan de mostrar todo tal cual lo ves y su funcionamiento.
Cuando se escribes todas esas líneas de código, es muy importante que no dejemos ninguna ‘puerta abierta’ por la cual no arrepintamos cuando suframos algún tipo de ataque, problema que puede provocar desde cambiar la información de la web, el envío continuo de mensajes molestos (spam) o incluso lo peor, el que obtengan datos críticos que puedan poner en peligro la página, o incluso la empresa y a los clientes.
Hoy en día son muy comunes los ataques a páginas web por descuidos, hay varios tipos de vulnerabilidades que se pueden encontrar al pasar desapercibidas en el momento de programar nuestra página web, pero en este articulo nos centraremos especialmente en al ataque XSS, es decir, Cross Site Scripting.

¿Qué es Cross Site Scripting?

Los ataques por secuencias de comandos entre páginas web (o XSS) son ataques dirigidos a las páginas web con ciertas fallas al momento de programarlas, es decir, estas fallas ocurre al momento de no verificar o ‘filtrar’ la información que ingresa el usuario común, ya sea mediante un formulario o en una URL o de algún otra forma. Este tipo de ataque obliga a la página web mostrar el texto ingresado tal cual se envió, por lo tanto al momento de mostrarlo lo hará como sólo de una forma y es en código HTML.
El código “inyectado” en una página web vulnerable se considera malintencionado o código malisioso.



image
El código malicioso utilizado en este tipo de ataque está compuesto por cadena de datos: scripts completos contenidos en enlaces o ejecutados desde formularios vulnerables.
Por ejemplo, si un usuario escribiera en una caja de texto el siguiente script, donde no se controle o filtre la entrada de los datos, estaríamos consiguiendo que se mostrara una pequeña ventana con un mensaje.


image

La forma de aprovechar esta vulnerabilidad es sabiendo de Javascript, ya que es el lenguaje de programación web útil, es decir, también se puede ingresar código html, pero no serviría de mucho, por las limitaciones que tiene, por no ser un lenguaje de programación sino de maquetado.
Javascript es el lenguaje que se encarga de hacer más dinámica la página, aunque ahora con HTML5 su uso se disminuyo en ciertas cosas, pero aun se sigue usando mucho por su utilidad al hacer dinámicas las paginas web.

Clasificación de los ataques Cross Site Scripting

Los tipos de ataque de Cross Site scripting que nos podemos encontrar son catalogado en dos grandes grupos: XSS persistente o directo, y XSS reflejado o indirecto.

1.- XSS persistente o directo

Este tipo de ataque consiste en inyectar (o embeber) codigo HTML en sitio que lo permita por medio de etiquetas <script> o <iframe>. Es el tipo más grave ya que el código se queda implantado en la web de manera interna y se ejecuta una y otra vez al abrir la página web hasta no ser “reseteada” la página o eliminado ese código en concreto del sitio.
Local. Es una de las variantes del XSS directo, uno de sus objetivos consiste en explotar las vulnerabilidades del mismo código fuente o página web. Esas vulnerabilidades son resultado del uso indebido del DOM (Modelo de Objetos del Documento, es un conjunto estandarizado de objetos para representar páginas web) con JavaScript, lo cual permite abrir otra página web con código malicioso JavaScript incrustado, afectando el código de la primera página en el sistema local.

2.- XSS reflejado o indirecto

Es el tipo de ataque XSS más habitual y consiste solo en editar los valores que pasan mediante URL, ingresando el código malicioso haciendo que se ejecute en dicho sitio. En otras palabras, sucede cuando se envía un mensaje o ruta en una URL, una cookie o en la cabecera HTTP.

Métodos de inyección de código utilizado en los ataques.

A la hora de lanzar un ataque de este tipo, los atacantes pueden utilizar varios tipos de inyección de código distinto. Veamos a continuación cuáles son los más utilizados.
1.- Inyección en un formulario
Se trata del ataque más sencillo. Consiste en inyectar código en un formulario que después al enviarlo al servidor, será incluido en el código fuente de alguna página. Una vez insertado en el código fuente, cada vez que se cargue la página se ejecutará el código insertado en ella.

2.- Inyección por medio de elementos
En este tipo de sistema de inyección de código se utiliza cualquier elemento que viaje entre el navegador y la aplicación, como pueden ser los atributos usados en las etiquetas HTML utilizadas en el diseño de la página.

3.- Inyección por medio de recursos
Aparte de los elementos en la url y los formularios, hay otras formas en la que se puede actuar como son las cabeceras HTTP. Estas cabeceras son mensajes con los que se comunican el navegador y el servidor.
Aquí entran en juego las cookies, las sesiones, campo referer…

Operación de un ataque XSS

Maneras de evitar los ataques

Por suerte, prevenir estos ataques es sencillo, y una vez que aprendamos cómo hacerlo es algo que siempre deberíamos tener presente para evitarlos.
A continuación veremos algunos consejos prácticos que podemos llevar a cabo para proteger nuestras aplicaciones web mediante la validación de entrada de datos, asegurándonos que cada uno de los campos que utilicemos no contengan código que pueda afectar nuestra aplicación o a nuestros usuarios.

1.- Limitar los caracteres de entrada
Lo primero que debemos hacer es limitar los caracteres que un usuario puede introducir en los campos de texto. Por ejemplo, si tenemos un campo para introducir el nombre del usuario, no vamos a dejarlo abierto para que se puedan introducir un número indefinido de caracteres, sino que lo vamos a limitar por ejemplo a 20 o 30 caracteres. Para limitar el número de caracteres, podemos utilizar la variable “maxlength” que nos proporciona el estándar HTML.
2.- Sanear los datosCuando hablamos de sanear los datos, nos estamos refiriendo a quedarnos únicamente con la información que nos interesa, eliminando las etiquetas HTML que pueden ser incluidas en una caja de texto. Por ejemplo, si estamos almacenando el nombre de una persona, de poco nos sirve que el usuario lo introduzca en negrita, ya que lo único que nos interesa es su nombre.
Para lograr esta limpieza, podemos utilizar la función “strip_tags”. Por ejemplo:
$comentario = strip_tags($_POST[‘comentario’]);

3.- Escapar los datos
Para proteger los datos y mostrarlos tal y como el usuario los introdujo, deberíamos “escapar” los datos al presentarlos al usuario. Es decir, caracteres que deben ser representados por entidades HTML si se desea preservar su significado (por ejemplo las comillas dobles hay que transformarlas en &quot; que es como se representa en HTML). Con esto evitamos que el navegador lo ejecute y evalúe el código.
Para lograr esto, podemos utilizar la función “htmlspecialchars”. Por ejemplo:
echo “Mostrando resultados de: ”.htmlspecialchars($_GET['busqueda’]);
Pero aparte de tomar medidas de seguridad para impedir ataques XSS en nuestros sitios, debemos evitar almacenar información relevante de nuestros visitantes en las Cookies, y además encriptar las sesiones de usuario para que en caso de que las capturen no puedan acceder a la información almacenada en ella.

Esto ha sido todo por el momento, más adelante veremos como realizar estos ataques con facilidad.

PGP para novatos. ¿Qué es, cómo se usa y para qué sirve?

10:14 p.m. Posted by LanreB OgeiD , , No comments



El cifrado PGP es uno de los más extendidos del mundo, pero no todo el mundo lo conoce o sabe en qué consiste, cómo funciona y mucho menos de cómo se usa. Aquí intentaré resolver las dudas que pueden surgir con el título y qué te quede más claro que es esto del PGP.

PGP o Pretty Good Privacy es posiblemente el software de cifrado de datos más extendido del mundo para las comunicaciones de datos a través de Internet. Tiene muchos usos, por ejemplo se suele emplear para cifrar y descifrar las comunicaciones por email, otro uso es el de garantizar la seguridad de ficheros, directorios y hasta particiones enteras del disco.

image
Phill zimmerman

Para los que tengan mínimas nociones del inglés, podrán ya saber que el nombre del programa se llama Protección bastante buena. Podría haberse llamado VGP Very Good Privacy, ya que en el fondo se trata de uno de los métodos más seguros para enviar información de manera segura, valga la redundancia, sin que posibles espías, por ejemplo NSA o cualquier otra agencia gubernamental (o quizás hasta hackers), puedan enterarse de los mensajes que estamos mandando o recibiendo.

Facebook anunció hace varios meses que ahora esta red social ya era compatible con este tipo de cifrado.

Lamentablemente, a pesar de vivir su segunda juventud y de llevar por bandera la bastante buena protección este cifrado, su funcionamiento también es bastante complejo de entender para el usuario normal, al que poco le importa la criptografía o la que eso de las claves públicas y privadas le suena a chino, así que se explicará de la manera más simple posible.


Facebook anunció hace varios meses que ahora esta red social ya era compatible con este tipo de cifrado.

Lamentablemente, a pesar de vivir su segunda juventud y de llevar por bandera la bastante buena protección este cifrado, su funcionamiento también es bastante complejo de entender para el usuario normal, al que poco le importa la criptografía o la que eso de las claves públicas y privadas le suena a chino, así que se explicará de la manera más simple posible.

¿Qué es cifrar un mensaje?

En primer lugar explicaré lo que es cifrar un mensaje, básicamente consiste en coger un texto perfectamente legible y entendible por todo el mundo y convertirlo en algo incomprensible para cualquier persona que intente ver indebidamente ese mensaje y que no va dirigido hacia ella. De esta manera, el mensaje cifrado se envía a través de Internet, donde todo el mundo lo puede leer, pero nadie es capaz de descifrarlo, hasta llegar a su destino, donde el receptor es capaz de volver a obtener el mensaje original. ¿Y cómo lograr hacer eso el receptor? Empleando una clave de descifrado que sólo él conoce. El problema reside en cómo transmitirle a este receptor la clave a usar. Obviamente no se puede enviar la clave en este mismo mensaje, ya que perdería todo el sentido enviar un mensaje cifrado, así que de alguna manera debe de conocer la clave de antemano, Y lógicamente si tuviéramos alguna manera ultra-secreta de hacerle llegar la clave, ¿por qué no enviar el mensaje directamente a través de ese canal y dejarnos de cifrados?


image
 Aquí es donde entra en juego lo que se conoce como criptografía asimétrica, de clave pública o de dos claves, que es el método en el que se basa PGP. Cada una de las partes de una conversación tiene la posibilidad de crear dos claves, una privada que sólo es conocida por la persona a la que pertenece y otra pública que se proporciona a cualquier persona con la que uno quiera comunicarse de manera segura. No pasa absolutamente nada si la clave pública está a la vista de todo.

Si quiero escribir un mensaje cifrado a Pepito, busco su clave pública que seguramente muestre en la firma de su correo electrónico, en su web personal o incluso en su perfil de Facebook, la descargo y cifro mi mensaje usando esa clave con cualquiera de los muchos clientes disponibles. El mensaje se envía a Pepito a través de Internet. Puede que alguien espíe la conversación, pero como resultado sólo obtendrá una ristra de números incomprensibles e imposibles de descifrar.
Cuando el mensaje le llega a Pepito, se lo descargará y mediante su clave privada, que sólo él y nadie más que él conoce, podrá descifrar el mensaje que le he enviado. Es importante recalcar la importancia de proteger muy bien nuestra clave privada, ya que es el núcleo en el que se basa la seguridad de este método.

¿Cómo se hace el cifrado con PGP?

Todos hemos cifrado algún mensaje en algún momento de nuestras vidas, desde hablar medio en clave para que sólo nos entendiera la persona que nos interesaba, hasta enviar mensajes cambiando letras por números, por ejemplo, como si fuésemos espías.

Obviamente, el algoritmo que usa PGP para cifrar textos es bastante más complejo que simplemente cambiar letras por números. Cuando un usuario emplea PGP para cifrar un texto, éste se comprime para ahorrar espacio, tiempo de transmisión y fortalecer la seguridad, ya que será más difícil de encontrar patrones en el texto para romper el cifrado.
Posteriormente, se crea una clave de sesión secreta que solo se empleará una vez. Esta clave es un número aleatorio generado a partir de los movimientos del ratón y las teclas que se pulsen durante unos segundos con el propósito específico de generar esta, también puede combinarlo con la clave anteriormente generada.
Una vez que los datos se encuentran cifrados, la clave de sesión se cifra con la clave pública del receptor, como ya hemos explicado anteriormente, resultando en un mensaje completamente ilegible como el siguiente:


image
 Éste sería el mensaje que enviaremos a nuestro contacto, quién al recibirlo lo descifraría utilizando su clave privada, recorriendo el camino inverso al explicado anteriormente. Y si todo ha salido como toca, leería un escueto mensaje del tipo Hola, esto es una prueba PGP.

¿Cómo puedo crear mis claves y usar PGP?

Hay un sinfín de posibilidades para crear claves PGP, la mayoría de ellas basadas en el estándar OpenPGP derivado del PGP original creado por Phil Zimmermann en su momento. Las hay más intuitivas o menos, y por supuesto su facilidad de uso ha evolucionado muchísimo desde la aparición del PGP.

Hay varias herramientas online con el que puede generar tu clave pública y privada de manera muy sencilla, además de una utilidad para cifrar y descifrar cualquier mensaje. Con estas herramientas, crear una pareja de claves es muy fácil. Uno sólo tiene que introducir su dirección de correo electrónico al que irán asociadas las claves y una contraseña maestra para ellas. El programa genera las claves automáticamente, ofreciendo tanto la pública como la privada.

La contraseña pública la podremos mostrar donde queramos (firma de correo electrónico, páginas personales, etc.), pero lo más recomendable es subirla a un servidor de claves públicas, en palabras llanas, un especie de páginas amarillas de claves PGP públicas donde cualquier podrá encontrar nuestra clave si lo desea.

De la misma manera, también existen complementos para navegadores con los que realizar el proceso, siendo uno de los más populares la extensión de Chrome, Mailvelope, o programas descargables para las plataformas más usadas. En Windows podemos usar Gpg4win, por ejemplo, y en Mac, GPG Suite, por sólo citar algunos ejemplos.
Pero uno de los programas por excelencia para la generación de claves PGP en Linux es elGnuPG, un programa que viene instalado por defecto en Ubuntu y que resulta bastante sencillo instalar, si no lo tuviéramos, y de utilizar.

image
Los comandos necesarios para generar claves con GnuPG



Si abrimos el terminal de nuestra distro e introducimos el comando ~$ gpg –gen-key comenzaremos a generar nuestras claves. Tan sólo tendremos que elegir el tipo de clave deseado, su longitud en bits, el tiempo de validez e introducir nuestro nombre y correo electrónico.

Posteriormente, podremos crear una clave de revocación por si en algún momento nuestra clave PGP estuviese comprometida. Ya sólo queda hacer llegar nuestra clave pública a nuestros contactos y poner la privada a buen recaudo.

Pero, ¡OJO! También funciona a la inversa

image
PGP también sirve para ‘firmar’ mensajes.
Hasta ahora hemos explicado el concepto de PGP para enviar mensajes cifrados mediante claves públicas que sólo puede leer el receptor adecuado. Pero este programa también puede usarse al revés: un mensaje cifrado con la clave privada puede ser descifrado por cualquiera que tenga la clave pública.

Algunos os preguntaréis que dónde está la gracia cifrar un mensaje que
puede descifrar cualquier persona que tenga acceso a mi clave pública. Obviamente no es demasiado indicado para enviar un mensaje ‘secreto’ ni evitar la vigilancia de la NSA, pero sí tiene un propósito: autenticar el origen del mensaje y decir esto sólo lo he podido escribir yo y nadie más que yo.

¿Dónde puedo usar PGP?

PGP se puede usar en cualquier servicio de correo electrónico, aplicación de mensajería instantánea o cualquier otro método para comunicarse por Internet. Al fin y al cabo, como habréis visto más arriba, es simplemente un troncho de caracteres alfanuméricos que copiaremos y pegaremos en nuestros emails o mensajes.
 
De esta manera, puedes enviar un mensaje cifrado con PGP por Gmail, Yahoo! Mail, Hotmail, Outlook o cualquier otro cliente de correo que suelas usar. Incluso clientes de mensajería tipo Facebook Messenger, WhatsApp o Telegram. No hay ningún tipo de restricción. Ya será el destinatario del mensaje el que se encargue de buscarse las castañas para copiar el mensaje cifrado y acometer su descifrado.

image
Email a enviar con mensaje cifrado con PGP


Obviamente el PGP no es infalible. Como muy bien explica la Electronic Frontier Foundation, utilizando un símil comprensible para todos, usar PGP es como instalar en la puerta de casa una cerradura completamente imposible de forzar, pero eso no quita que andando por la calle alguien pueda robarte tu llave y acceder a tu hogar. Lo mismo pasa con PGP, nadie podrá romper el cifrado de tus claves PGP, pero eso no significa que algún ente malintencionado no pueda acceder directamente a tu ordenador, malware mediante, robarte esas claves y descifrar tus comunicaciones.

 Fuente: http://noticiasseguridad.com/