Sunday, May 26, 2019

OEA CyberWomen Challenge

On 25th of May, the CyberWomen Challenge was held, sponsored by the OAS and TrendMicro.
For the activity, a series of challenges were designed on the FBCTF platform, the theme was based on an attack that was being carried out and different security mechanisms had to be planned and implemented to block different types of attacks.

Each challenges was divided by country, below you can see the solution to the last challenge:

ARGENTINA

Unfortunately none of us did kid...
This has to be confirmed, though, but if it turns out to be true, then we have a malicious insider and he or she may even be in this very war-room hearing everything we're doing to stop this.
Look... we had to bring back the guys from Trend Micro. They connected a device called Deep Discovery Inspector which can detect suspicious activity and this thing came up just in time. It is some kind of spam or phishing email that was tagged by this DDI. The weird thing is that the recipient is a user that left the company a couple of months ago.

The mail admin showed evidence that the mailbox was in fact disabled/deleted at that time, but somehow "someone" enabled the mailbox again from inside the company. I don't have to tell you that Karen, the mail admin has been isolated and is right now been investigated.
I've sent Carlos to give you a USB pendrive (he doesn't know what it contains). Copy the file in C:\Users\Administrator\VirtualBox\suspiciousEmail.d4a on your pivot machine.

I couldn't get a copy of the mail but I managed to get the SMTP conversation where the mail was transmitted, before access to the DDI console was closed (to only Trend and members of the Board).
I need you to get me as much information from that mail as you can. It is supposed to have some sort of Trojan or Rootkit attachment, you can use Deep Security again to see if it can detect it. It can also tell us who is behind this attack and what will be their next step...
This information is now Top Secret, call me when you're done and don´t tell anyone what you're doing.

::FLAG::USE THE FOLLOWING SYNTAX:
MALWARE DETECTION NAME FROM DEEP SECURITY:PASSWORD FOR THE ZIP FILE:NAME OF THE HACKERS OPERATION:NAME OF THE SUPPOSED TRAITOR


Solutión:

I took the copy of the email that was obtained from the pivot server (pivot7.cyberwomen.rootrenders.co) and analyzed it on a local machine: The first thing I tried to do was run the command strings to see what was obtained from the mail, the headers and an encrypted text are observed:





This address led us to pastebin where we found another encrypted text (Meeting information):


Converting characters from Base64 gives the following clear text:


In this case it is evident that probably it have a txt file, this file was exported to zip to try to crack the password:

Without satisfactory results, I analyzed the email headers again parsing the Message-ID parameter of suspicious.pd4 I could see a weird format, converting this text from hex I got:

Converting the hex text I got:


Now, from base64:


Finally, I got the zip's password:


Reading the appointment file I got another text with hex data:

Converting from hex file, It return another Base64 text:


Converting from Base64, I got another hex data:


Converting from hex data, I got another base64 data:


Converting from base64,  I got another hex data:
And finally I got the first part of the flag:


::FLAG::USE THE FOLLOWING SYNTAX:

MALWARE DETECTION NAME FROM DEEP SECURITY:PASSWORD FOR THE ZIP FILE:NAME OF THE HACKERS OPERATION:NAME OF THE SUPPOSED TRAITOR

Supposed traitor: Sophia

Operation name: OL****

Password for zip: Y0u***

To get the malware detection name I used VirusTotal in order to analized the malware sample:
and the name of the malware detected by TrendMicro is: R****A

So that I got the flag:

R****A:Y0u***:OL****:Sophia

And with this flag We won the CTF :)

Thanks to @TrendMicro and @OEA_Cyber

Monday, February 25, 2019

Pruebas de seguridad para minimizar amenazas en aplicaciones

Para la mayoría de las compañías, el momento de realizar o contratar pruebas de seguridad de la información asociados al análisis de aplicaciones (DAST) y/o evaluación de código (SAST) es cuando se produce un incidente de seguridad; esto se debe a que en la mayoría de casos no existe un apoyo técnico entre las áreas de seguridad y el equipo de desarrollo durante las fases del ciclo de vida del desarrollo de software (SDLC).
En la academia, generalmente  las materias de programación están enfocadas en el desarrollo funcional y poco se tienen en cuenta los aspectos de seguridad en el ciclo de vida del desarrollo,  este problema es evidenciado con frecuencia en entornos productivos. ¿Alguna vez se han preocupado en revisar si el desarrollo realizado puede comprometer los datos de la compañía, sus clientes o empleados?
De acuerdo con el reporte “Web Application Vulnerability 2019” de Acunetix, las vulnerabilidades en las aplicaciones web se convierten en amenazas críticas para una compañía.
De un escaneo realizado sobre 10.000 sitios web se encontró que el 46% de estos contienen vulnerabilidades de severidad alta y el 87% contienen vulnerabilidades de severidad media.
A continuación se ilustra los tipos de vulnerabilidad encontrados en la categoría de severidad alta:
Fuente: Acunetix
Por esta razón y preocupados por la seguridad en las aplicaciones web, a continuación, mencionamos puntos básicos o controles de seguridad que deberían estar implementados junto con las pruebas de software ya conocidas en la industria (unitarias, integración, funcionales, rendimiento):
1. Validación de datos de entrada y salida:
La incorrecta validación de datos es la principal causa de las vulnerabilidades en aplicaciones web (OWASP Top 10 2017-A1). Todas las entradas de datos en las aplicaciones deben ser inspeccionadas, el objetivo de estas pruebas es conocer si existe un punto de entrada para la ejecución de ataques como XSS, inyección SQL, direccionamiento abierto y manipulación de parámetros.
2. Identificación, autenticación y control de acceso
Falencias en la configuración del proceso de autenticación y gestión de sesión permite a un atacante comprometer usuarios, contraseñas o explotar fallas de implementación para asumir otra identidad.
En este punto se recomienda revisar el cumplimiento de la política de contraseña segura, el uso del doble factor de autenticación (si se requiere) y el acceso a cada uno de las opciones de la aplicación con y sin autorización.
Más información:
3. Métodos de Cifrado
El objetivo es proteger información confidencial o sensible, por lo cual, se debe identificar la necesidad de proteger los datos en tránsito y almacenamiento.
• ¿Hay datos que se transmiten en texto claro?
• ¿Se utiliza un algoritmo criptográfico obsoleto o débil?
• ¿Es necesario que todos los datos sensibles sean almacenados? ¿Están cifrados?
4. Uso de componentes externos
Todas las aplicaciones y servicios web que utilizan componentes externos (API, librerías, entre otros) heredan las vulnerabilidades que pueda tener dicho componente. Por esta razón, se recomienda verificar que estos componentes se carguen de fuentes confiables y que cuente con mecanismos de verificación de integridad.
5. Aseguramiento de bases de datos
Para que exista un correcta administración de la base de datos, en términos seguridad, se debe mantener la integridad evitando datos duplicados, faltantes, alterados o incorrectos, para ello se debe contar con:
• Triggers (disparadores) y procedimientos almacenados
• Gestión de perfiles y acceso de usuarios
• Consultas parametrizadas
• Validación de datos y caracteres nulos
6. Protección de datos personales y sensibles
Los datos personales hace referencia a toda aquella información asociada a una persona y que permite su identificación.
Se debe verificar el acceso a la aplicación y que el dueño de la información sea el único que pueda ver, actualizar y/o eliminar sus propios datos.
Conclusiones:
• La implementación de pruebas de seguridad desde la fase del desarrollo, aseguran que el producto final resulte seguro para los clientes y gran parte de los costos se reducen al evitar múltiples ciclos de pruebas y parches.
• Para la ejecución de las pruebas se requieren de conocimientos en seguridad por esta razón, se recomienda contar con el apoyo de un profesional en el tema.
Glosario: