ITcomputer tu blog informático. Cursos, descargas, temas, prácticas. Ofimática, TICS, Soporte, Mantenimiento, Ciencias de la computación, programación, y mucho más!!

ITC - Tecnologías de la Información

Exploro el fascinante mundo de las tecnologías de la información en este espacio personal. Descubre conmigo las últimas tendencias, consejos prácticos y reflexiones sobre el impacto de la tecnología en nuestra vida cotidiana. ¡Acompáñame en este viaje digital!

ITC - Programación

Exploro las últimas novedades en el mundo de las tecnologías de la información y comparto insights sobre el fascinante universo de la programación.

ITC - Redes Informáticas

Aquí, exploraremos a fondo las complejidades y las últimas innovaciones en redes informáticas.

ITC - Redes, Programación, Ciberseguridad, Soporte Técnico y mucho más...

Exploro un amplio espectro que abarca desde redes y programación hasta ciberseguridad y soporte técnico.

Ciberseguridad, Seguridad Informática, Hacking

Ahora, además de abordar temas emocionantes de tecnología, nos aventuramos en el universo de la ciberseguridad.

sábado, 25 de noviembre de 2023

Explorando el Mundo del Hacking Ético: Herramientas Esenciales para Pentesting

 


En este artículo, exploraremos algunas de las herramientas básicas utilizadas en el campo del hacking ético y el pentesting, destacando su importancia para identificar y reforzar las vulnerabilidades de seguridad.

El hacking ético, o pentesting, traspasa los límites de la seguridad informática para identificar y corregir vulnerabilidades antes de que puedan ser explotadas maliciosamente. Aquí destacamos algunas herramientas clave que los profesionales de la seguridad utilizan en este apasionante campo.

1. Metasploit:

Descripción: Una herramienta integral para pruebas de penetración y desarrollo de exploits. Metasploit facilita la identificación de vulnerabilidades y la realización de ataques controlados.

Uso: Exploración, explotación y posterior explotación.

2. Wireshark:

Descripción: Un analizador de protocolos de red que permite examinar el tráfico en tiempo real. Ideal para detectar posibles brechas de seguridad y entender las comunicaciones en la red.

Uso: Análisis de tráfico de red.

3. Nmap:

Descripción: una herramienta de escaneo de red que ayuda a descubrir dispositivos y servicios en su red. Proporciona información valiosa sobre la topología de la red.

Uso: descubrimiento y evaluación de redes.

4. Burp Suite:

Descripción: Una suite completa para realizar pruebas de seguridad para aplicaciones web. Esto le permite identificar vulnerabilidades como inyecciones SQL y secuencias de comandos entre sitios (XSS).

Uso: Análisis de seguridad en aplicaciones web.

5. Aircrack-ng:

Descripción: Herramienta de auditoría de seguridad inalámbrica utilizada para analizar y romper claves de cifrado WEP y WPA.

Uso: Evaluación de la seguridad de redes inalámbricas.

6. OWASP Zap:

Descripción: Zap es una herramienta de seguridad de aplicaciones web de código abierto. Ayuda a encontrar vulnerabilidades de seguridad durante el desarrollo y las pruebas.

Uso: pruebas de seguridad en aplicaciones web.

7. John the Ripper:

Descripción: una herramienta de prueba de contraseñas que realiza ataques de fuerza bruta y ataques de diccionario para recuperar contraseñas.

Uso: Auditoría de contraseñas.

El hacking ético es esencial para fortalecer la ciberseguridad. Estas herramientas son valiosos aliados para los profesionales que desean identificar y corregir vulnerabilidades antes de que los ciberdelincuentes las exploten. Sin embargo, es importante recordar que estas herramientas deben usarse de manera ética y con los permisos adecuados para garantizar la integridad y legalidad de las pruebas de seguridad.

Share:

lunes, 6 de noviembre de 2023

Despliegue IPv6

 


La expansión del espacio de direcciones fue muy importante, pasando de utilizar un espacio de 32 bits (109 direcciones) a otro de 128 bits (3.4𝑥1038 direcciones), también se dio importancia a la forma de dividir dicho espacio para el mejor aprovechamiento y gestión del mismo. En este sentido, IPv6 anula la necesidad de usar NAT, facilita las tareas de configuración y re-numeración de direcciones, mejora la eficiencia del ruteo actual haciéndolo más flexible ante futuras posibilidades, incorpora la comunicación multicasting, que antes era opcional, provee mejor soporte en cuanto la seguridad y calidad de servicio y considera la posibilidad de movilidad desde el punto de vista de IP.

A pesar de tantos cambios, la filosofía de diseño de IPv6 todavía mantiene mucho de su antecesor IPv4, ya que la idea que lo originó era más cercana a la de una actualización que a la de un reemplazo.

La implementación de IPv6 comenzó con el desarrollo de redes experimentales para pruebas de la operación del protocolo. Luego, en 1996, estas redes se conectaron en una inter-red, también de carácter experimental, conocida como 6BONE. El gran problema de la migración es que los esquemas de direccionamiento de IPv4 e IPv6 no son compatibles, como tampoco lo es el formato de los paquetes. En este sentido, la transición exige, de todas maneras, alguna forma de inter-operatividad.

La IETF ha trabajado mucho en cuestiones específicas para asegurar una transición no traumática entre versiones del protocolo. Los métodos más importantes que consideran una compatibilidad hacia atrás, permitiendo la convivencia de ambos protocolos son:

·       Dispositivos Doble Pila o Dual Stack: se trata de routers que se pueden programar para funcionar tanto en IPv4 como en IPv6, permitiendo de este modo la comunicación con ambos tipos de hosts.

·       Traductores IPv4/IPv6: se trata de dispositivos dual stack que pueden aceptar requerimientos de hosts IPv6, convertirlos a paquetes tipo IPv4, transmitirlos a destinos IPv4 y luego manejar de manera inversa las respuestas.

·       Túnel IPv4 de IPv6: en el caso de dispositivos IPv6 que están separados por routers IPv4, se propone una solución que consiste en el encapsulado de los datagramas IPv6 dentro de paquetes IPv4, para que estos últimos puedan ser interpretados por routers convencionales.

En la actualidad, muchos ISP, fabricantes de equipamiento de red y compañías web han adherido al nuevo protocolo, habilitando IPv6 en sus productos y servicios. El lanzamiento formal de IPv6, en junio de 2012, duplicó el uso global del protocolo, cuestión que se repitió al año siguiente.

La adopción de IPv6 ha estado en constante crecimiento a lo largo de los años, ya que IPv4 ha agotado su espacio de direcciones IP disponibles. En 2022, IPv6 ya había sido ampliamente implementado en muchas partes del mundo, pero la adopción variaba según la región y el proveedor de servicios de Internet.

En la actualidad, hoy 04 de noviembre de 2023 según estadísticas globales de Google el 45.17% de los usuarios a nivel mundial ya acceden a internet a través de IPV6. En México la disponibilidad representa un 46.86% de adopción y en Estados Unidos un 48.49%.

Estadísticas de adopción IPV6:

- https://www.google.com/intl/es/ipv6/statistics.html#tab=ipv6-adoption


Share:

Rootkit y botnet.


Rootkit es una pieza de software instalada y escondida en la computadora de un usuario sin que éste sepa de su existencia. El rootkit puede estar incluido en un paquete de software o haber sido instalado en forma personal por el atacante, aprovechando los puntos vulnerables de una computadora, sobre todo si el usuario “baja” información muy voluminosa de Internet. Un rootkit esconde actividades maliciosas, ya que una vez que está instalado, el atacante puede tener acceso a la información de la computadora, monitorear las actividades del propietario de la computadora, modificar programas y otras actividades sin que nadie lo note.

Además de los rootkit, los atacantes también hacen uso de botnet, un programa que se ejecuta de modo automático en la computadora, el cual tiene su origen en la palabra bot, que proviene de robot. Los botnets se refieren a computadoras que se controlan por una o más fuentes externas.

Durante el ataque con los botnet, el atacante toma el control de una computadora infectándola con un virus u otro intruso maligno, lo que le permite tener acceso a la computadora. Una vez que el atacante ha tomado el control de una computadora, ésta trabaja de manera normal, con lo cual al atacante se le facilitan ciertas operaciones, como la distribución de correos spam, infectar con virus a otras computadoras o realizar ataques de negación de servicio.

Estos ataques son muy difíciles de detectar, tanto el rootkit como el botnet, debido a que los atacantes suelen esconderse muy bien, por lo que pueden pasar inadvertidos para el usuario de la computadora, a menos de que éste busque ciertas actividades; incluso, un buen antivirus no puede detectar, y menos eliminar, estos programas malignos, los cuales son utilizados, entre otras cosas, para modificar información personal del propietario de la computadora, con el fin de dañarlo seriamente, sobre todo en sus cuentas bancarias. Si se considera que un atacante puede tomar el control de una computadora, también puede controlar muchas otras, lo que le permite cometer los mismos delitos (robar y alterar información) con muchos usuarios e incluso vigilar sus actividades en línea.

La mejor forma de evitar convertirse en víctima de alguno de estos tipos de ataque es tener buenos hábitos en lo que se refiere a seguridad informática, ya sea que se trate de una computadora personal o una red; en el caso específico de redes de cómputo, por política de las empresas (para mayor detalle véase capítulo 4, La seguridad física y lógica en redes), corresponde al administrador de la red mantener dichos hábitos. La instalación de un firewall previene esos riesgos de infección, bloqueando el tránsito de información maliciosa antes de que entre a la computadora y limitando la cantidad de información que se envía. También es importante utilizar buenos antivirus y mantenerlos actualizados, pues hay que recordar que los atacantes también actualizan sus virus para facilitar sus ataques.

Por desgracia, es muy difícil que un usuario detecte que ha sido atacado por un rootkit; y aunque logre detectarlo, es muy difícil que consiga eliminar dicha infección, pues una vez que el atacante ha logrado modificar algunos archivos en la computadora del usuario, la eliminación de estos archivos no basta para acabar con el problema y, de hecho, todas las versiones anteriores de ese archivo serán sospechosas de haber sufrido un ataque similar. Una alternativa para solucionar el problema es formatear toda la computadora y reinstalar desde el sistema operativo con un software nuevo. Es tan difícil eliminar una infección de este tipo, que en ocasiones el rootkit se aloja en niveles muy profundos que no se eliminan formateando ni reinstalando el sistema operativo.



Share:

sábado, 26 de agosto de 2023

SNMP PROTOCOL

 


Simple Network Management Protocol se utiliza, habitualmente, para consultar o modificar información en los dispositivos de telecomunicaciones, como routers, switches y firewalls, aunque también existen versiones disponibles para UNIX y Windows. Ofrece una manera fácil de acceder a la información del equipo y a cada una de sus interfaces. La mayoria de las herramientas de monitoreo lo utilizan en mayor o menor medida.

Como el requerimiento principal fue la simplicidad, con el paso de los años fue necesario hacer modificaciones que respondieran a los requerimientos de seguridad actuales.

Las versiones más populares disponibles en varios dispositivos y sistemas son la 1, 2c y 3. Las versiones 1 y 2c utilizan como único método de seguridad el concepto de comunidades, que son algo así como contraseñas, que definen si se tiene permisos de lectura o lectura/escritura. Como el tráfico viaja en texto plano a través de la red, existen grandes posibilidades de que nuestras credenciales sean vistas por alguien que esté capturando paquetes en ella.

La versión 3 del protocolo agrega varias capacidades de seguridad, entre ellas, encripta el tráfico, utiliza credenciales del tipo usuario/contraseña y permite la definición de distintas vistas por usuario. Es evidente que sólo esta versión cumple con los requerimientos de seguridad actuales, de modo que debemos tenerlo en cuenta al seleccionar los equipos de telecomunicaciones que vamos adquirir.


Con el comando de arriba hacemos lo siguiente:

Creamos la vista denominada ReadView, que solamente puede leer los atributos dentro de system.

Creamos el grupo ReadOnly, de SNMPv3, con la vista ReadView.

Creamos el usuario fabian, del grupo ReadOnly, de SNMPv3, con la contraseña mipassword, encriptado con MD5 y el tráfico encriptado con DES56, utilizando la clave pfpfpf.

Para verificar nuestra configuración, podemos utilizar los comandos que mostramos a continuación:

show snmp view
show snmp group
show snmp user


Share:

viernes, 7 de julio de 2023

Inyección SQL

 


El método de inyección SQL permite que un código intruso entre a una aplicación en el nivel de validación de las entradas, para realizar operaciones sobre una base de datos. El lenguaje estructurado para consulta (SQL, por sus siglas en inglés; Structured Query Language) es un lenguaje basado en el desarrollo de programas que especifican o declaran un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y presentan la solución. Permite el manejo del álgebra y el cálculo relacional, lo cual admite consultar las bases de datos para recuperar información de manera sencilla y hacer cambios en la información que poseen las bases de datos.


El origen de la vulnerabilidad radica en que no se verifican de manera correcta las variables utilizadas en un programa que contiene o genera un código SQL, esto es un error que sucede en cualquier lenguaje de programación que está incorporado a otro lenguaje, y por eso es posible incrustar un código intruso dentro del código SQL programado, con lo cual se altera el funcionamiento normal del programa, pues éste ya contiene un código adicional en la base de datos.


Cuando alguien, por lo común un hacker o un cracker, logra “agregar” ese código extra a la base de datos, lo hace para dañar o espiar la información de la base de datos, lo cual se logra más fácilmente cuando el programa se desarrolló con descuido o con ignorancia del problema, exponiendo a un riesgo la seguridad del sistema; por ejemplo, si al programar hay un simple olvido de anotar comillas en el programa, esto puede ser suficiente para volver vulnerable a ese programa, ya que una inyección de código SQL se aprovecha de la sintaxis en este lenguaje para introducir comandos de manera ilícita que permitan leer o modificar la base de datos, comprometiendo el contenido de la consulta original. Una vez que el intruso ha logrado entrar mediante la inyección o adición de este código, éste puede modificar valores en la base de datos en forma arbitraria, instalar cualquier tipo de malware, tener privilegios extras con el uso de las vulnerabilidades del sistema operativo o atacar usuarios de páginas web con inyecciones de código HTML o scripts.

Cuando se ejecuta un programa vulnerable es posible “agregar o inyectar” el nuevo código. Si esta acción se ejecuta en un sitio web, tiene lugar en el servidor huésped. Una inyección de código puede resultar en la pérdida o la corrupción de datos, falta de responsabilidad en acciones o denegación de acceso. Una inyección es capaz, incluso, de tomar control total de un nodo.



Pero el sistema se vuelve más vulnerable cuando en un programa se arma una sentencia SQL en forma descuidada en el intervalo de tiempo en que un programa de la computadora se ejecuta en un sistema operativo, que inicia al poner en la memoria principal el programa, por lo que el sistema operativo empieza a ejecutar sus instrucciones, y concluye al enviar al sistema operativo la indicación de terminación. Otro momento de vulnerabilidad se produce durante la fase de desarrollo, cuando el programador indica directamente la sentencia que se debe ejecutar, pero lo hace de manera desprotegida. Cuando el programador va a hacer una consulta en la base de datos, y hace uso de los parámetros a ingresar por parte del usuario, es dentro de esos parámetros en que se puede “agregar o inyectar” un código adicional malintencionado. En el tiempo en que el programador hace la consulta, el código maligno, que ya forma parte de la base de datos, también se ejecuta y pone en práctica cualquiera de los comandos que se han señalado (insert, update, delete y select).

La inyección de encabezado HTTP es un área relativamente nueva para los ataques basados en la Web, que se produce cuando los encabezados del protocolo de transferencia de hipertexto (HTTP) se generan dinámicamente en función de la entrada del usuario. La inyección de cabeceras en las respuestas HTTP puede permitir la división de respuestas HTTP en la falsificación de solicitudes en un sitio de cruce de información (CSRF, por sus siglas en inglés; Cross Site Request Forgery) y los ataques de redireccionamiento maliciosos a través de la cabecera de ubicación del HTTP.



Existe otra forma de ataque mediante la inyección de comandos, por lo que es importante que los administradores de red conozcan que cualquier dato es factible de ser modificado, ya sea que vaya hacia un buscador o salga de éste, por lo que se recomienda que cada dato de entrada sea validado en el mismo servidor y que el usuario no pueda controlarlo. Esto significa que el administrador de la red deberá configurar el servidor para que haga una autenticación en el directorio de cada archivo que éste contenga.

Un atacante con cierta experiencia logra modificar los parámetros accountnumber y debitamount, con el fin de obtener un beneficio monetario de esta acción, ya que en general estos parámetros están asociados a cuentas y operaciones bancarias. Asimismo, también pueden ser modificados los pará- metros de atributos que tienen datos únicos y que caracterizan el comportamiento de la página que se envía. En la actualidad, hay aplicaciones web para compartir contenidos que sólo permiten que el creador del contenido pueda modificar la información, ya que ésta verifica que el usuario que solicita acceso es el verdadero autor del contenido. Pero, si es un atacante quien solicita el acceso y le es negado, al modificar el parámetro mode readwrite, él podría obtener el permiso para entrar al contenido. Cualquier mecanismo de validación que no sea suficientemente robusto, siempre será una debilidad del sistema que permita ataques maliciosos.




Share:

Blogroll

FacebookTwitterYoutubeVimeoTumblrPinterest

Translate

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *