Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Email Gateway
El correo electrónico es una de las formas más efectivas de entregar malware. Una vez instalado,
es posible que un adversario se establezca en la red y se dirija a los Endpoints, llegando
finalmente a recursos protegidos como bases de datos, archivos compartidos y correos
electrónicos confidenciales.
Todo el correo electrónico se recibe primero en una puerta de enlace de correo electrónico para
su inspección y posible entrega posteriormente.
Se puede implementar una puerta de enlace de correo electrónico en línea para que todos los
correos se analicen y se determine que sean seguros antes de enviarlos a las bandejas de entrada
de los empleados. También se pueden analizar archivos adjuntos, de forma similar a como un
MPS (Malware Prevention System) ejecutando binarios en un contenedor dedicado. Algunas
versiones de Gateway también pueden analizar y desinfectar cualquier enlace contenido en el
cuerpo del correo.
Dado que el correo electrónico es la forma más popular para que los atacantes instalen malware
en una red, una puerta de enlace de correo electrónico puede considerarse una parte fundamental
del programa de seguridad de la información de una organización. Sin embargo, dada su
complejidad y la dependencia de un administrador de correo electrónico experimentado para
implementarlo y operarlo correctamente, se considera un objetivo de seguridad de nivel 2.
Encriptación de Email
Todos sabemos que los emails que enviamos por el internet sin encriptar pueden ser leídos en el
camino. Desde el punto de vista práctico, es muy difícil encriptar todos nuestros emails, porque
para esto tendríamos que tener la llave publica del destinatario, y son pocas las personas que se
toman el trabajo de generar una llave pública. Por esto, aunque nosotros tengamos la intención
de encriptar nuestros mails, si los demás no cooperan, no funciona. Esto explica por qué casi no
se usa la encriptación de email. En lugar de tratar de encriptar el mail, debemos asegurarnos de
que cuando tengamos que comunicar datos clasificados, lo hagamos por medio de un memo,
encriptarlo, y enviarlo como un adjunto en el email, o a través de un servicio de transmisión
segura de archivos.
Por otro lado, lo que si debemos encriptar es la comunicación entre la computadora y el servidor
de correo, en casos de que se usen redes inalámbricas. Si un usuario está conectado a la red local
vía Ethernet, es poco probable que la comunicación sea interceptada. Sin embargo, si el usuario
se encuentra en un punto de acceso de WIFI público, y se conecta con su cliente de email al
servidor de correo sin encriptar, el username y password de su cuenta será muy fácil de
interceptar. Una táctica común durante pruebas de penetración es sentarse en un café cercano a la
compañía objetivo, conectarse al servicio gratuito de internet inalámbrico, activar un sniffer, y
esperar a que los empleados entren y se conecten. Es por esto que es importante que si se usa un
cliente de email web, nos aseguremos que use HTTPS, y si es un cliente tipo Microsoft Outlook,
este configurado para encriptar la comunicación entre el cliente y el servidor. De igual forma, se
puede utilizar una VPN.
Ataque Webshell
El webshell es una puerta trasera que permite a los atacantes volver al sitio web del servidor y
ejecutar comandos directamente en el servidor.
Un shell web es un script que se puede cargar en un servidor web para habilitar la administración
remota de la máquina. Los servidores web infectados pueden estar orientados a Internet o
internos a la red, donde el webshell se usa para pivotar más hacia los hosts internos.
Un webshell se puede escribir en cualquier idioma compatible con el servidor web de destino.
Los webshell más comúnmente observados están escritos en idiomas que son ampliamente
compatibles, como PHP y ASP. Los guiones de shell Perl, Ruby, Python y Unix también se usan.
Usando herramientas de reconocimiento de redes, un atacante puede identificar vulnerabilidades
que pueden ser explotadas y resultar en la instalación de un webshell. Por ejemplo, estas
vulnerabilidades pueden existir en sistemas de gestión de contenido (CMS) o software de
servidor web.
Una vez cargado con éxito, un adversario puede usar el shell web para aprovechar otras técnicas
de explotación para escalar privilegios y emitir comandos de forma remota. Estos comandos
están directamente relacionados con el privilegio y la funcionalidad disponibles para el servidor
web y pueden incluir la capacidad de agregar, eliminar y ejecutar archivos, así como la capacidad
de ejecutar comandos de shell, más ejecutables o scripts.
Detección
Debido a la simplicidad potencial y la facilidad de modificación de las cubiertas de la web,
pueden ser difíciles de detectar. Por ejemplo, se sabe que los productos antivirus producen malos
resultados en la detección de webshell.
Los siguientes pueden ser indicadores de que su sistema ha sido infectado por un webshell.
Tenga en cuenta que varios de estos indicadores son comunes a los archivos legítimos. Cualquier
sospechoso de archivos maliciosos debe considerarse en el contexto de otros indicadores y debe
analizarse para determinar si se requiere una inspección o validación adicional.
Períodos anormales de uso elevado del sitio (debido a la posible actividad de carga y
descarga);
Archivos con una marca de tiempo inusual (por ejemplo, más reciente que la última
actualización de las aplicaciones web instaladas);
Archivos sospechosos en ubicaciones accesibles por Internet (raíz web);
Archivos que contienen referencias a palabras clave sospechosas como cmd.exe o eval;
Conexiones inesperadas en los registros. Por ejemplo:
Un tipo de archivo que genera tráfico de red inesperado o anómalo (por ejemplo, un
archivo JPG que realiza solicitudes con parámetros POST);
Log inicios de sesión sospechosos que se originan desde subredes internas a servidores
DMZ y viceversa.
Cualquier evidencia de comandos de shell sospechosos, Como el recorrido Del directorio,
por el proceso Del servidor web.
Posible defensa
Para evitar vulnerabilidades de carga de shell, busque en el código de su aplicación las llamadas
a move_uploaded_files () y refuerce cada fragmento de código que use esa función. Recomiendo
crear una hoja de cálculo que enumere todo el código que se puede usar para cargar archivos en
la aplicación para hacer un seguimiento del proceso de fortalecimiento de la aplicación. Las
siguientes defensas se pueden usar para defenderse de vulnerabilidades de carga de shell:
Requiera autenticación para subir archivos
Almacenar archivos cargados en una ubicación no accesible desde la web
No evalúar ni incluir datos cargados
Codificar los nombres y extensiones de archivos cargados
Definir tipos válidos de archivos que los usuarios deberían poder cargar.
El análisis del código fuente generalmente se llama análisis estático del código fuente también.
El análisis del código fuente se clasifica en dos tipos principales: