Skip to content

maurozelenka/Portafolio-Seguridad

Repository files navigation

Portafolio de Seguridad en Sistemas Informáticos (SSI)

Java Linux Metasploit Wireshark Status

Este repositorio contiene una colección de prácticas y laboratorios realizados para la asignatura de Seguridad en Sistemas Informáticos (Curso 2025-2026). El proyecto abarca desde el desarrollo de software seguro utilizando criptografía aplicada hasta la auditoría ofensiva (Pentesting) y la implementación de defensas perimetrales (Firewalls, IDS/IPS).

📂 Estructura del Repositorio

El repositorio está organizado en módulos temáticos que cubren distintas áreas de la ciberseguridad:

Módulo Temática Principal Tecnologías y Herramientas Tipo
P1 - Criptografía Sistema de Facturación Segura Java (JCA), Bouncy Castle, AES/RSA Código
P2 - Pentesting Explotación de Vulnerabilidades Metasploit, Nmap, Nuclei Informe
P3 - Web Security Vulnerabilidades Web & WAF XSS, SQLi, ModSecurity (OWASP CRS) Informe
P4 - Análisis de Red Sniffing & Scanning Wireshark, Bettercap, Nmap Informe
P5 - Perímetro Diseño de DMZ & Firewalls Shorewall, Iptables, Linux Networking Informe
P6 - Detección NIDS & Análisis de Malware Suricata, Emerging Threats Rules Informe
Portafolio-SSI/
├── P1-Criptografia-Java/      # Código fuente del sistema de facturación
│   ├── src/                   # Clases Java (AES, RSA, Firmas)
│   ├── scripts/               # Automatización Bash (run.sh, cleanup.sh)
│   ├── lib/                   # Librerías (Bouncy Castle)
│   └── docs/                  # Memoria técnica P1
├── P2_Metasploit/
├── P3_VulnerabilidadesWeb/
├── P4_AnalisisTrafico/
├── P5_SeguridadPerimetral/
├── P6_NIDS_Suricata/
└── README.md

🛠️ Detalles de los Proyectos

1. Sistema de Facturación Electrónica Segura (Java)

Desarrollo de una aplicación en Java que implementa un ciclo completo de seguridad para documentos sensibles:

  • Confidencialidad: Cifrado híbrido (AES-256 + RSA-512).
  • Integridad y No Repudio: Firmas digitales y Hashing (SHA-256).
  • Sellado de Tiempo: Implementación de una Autoridad de Sellado simulada.
  • Automatización: Scripts en Bash para pruebas de integración y casos de fallo.

2. Test de Intrusión (Metasploit)

Auditoría ofensiva sobre un entorno Metasploitable2, logrando compromiso total del sistema mediante:

  • Explotación de Backdoors (VSFTPD).
  • Ataques a configuraciones por defecto (Tomcat, MySQL).
  • Ejecución remota de código (Samba, DistCC).

3. Seguridad Web & WAF

  • Ataque: Explotación manual de XSS (Stored/Reflected) y SQL Injection (Blind/Error-based) en DVWA.
  • Defensa: Implementación y configuración de ModSecurity con reglas OWASP CRS para detener los ataques en tiempo real.

4. Seguridad en Redes

Análisis profundo de protocolos seguros vs. inseguros:

  • Comparativa de tráfico cifrado (SSH/HTTPS) vs. texto plano (Telnet/HTTP).
  • Ataques de ARP Spoofing (Man-in-the-Middle).
  • Análisis de técnicas de escaneo de puertos (Stealth vs. Noisy).

5. Arquitectura DMZ con Shorewall

Diseño e implementación de un firewall de tres patas (Zona Interna, Externa y DMZ):

  • Políticas de filtrado por defecto (Default DROP).
  • Configuración de SNAT y DNAT para exposición segura de servicios.
  • Aislamiento estricto de la red interna ante compromisos en la DMZ.

6. NIDS con Suricata

Despliegue de un Sistema de Detección de Intrusiones:

  • Creación de reglas personalizadas para detección de firmas.
  • Análisis forense de capturas PCAP (detección de malware real FormBook).
  • Uso de reglas comunitarias (Emerging Threats).

🚀 Ejecución del Código (Práctica 1)

La Práctica 1 contiene código fuente ejecutable. Para probar el sistema criptográfico:

Requisitos

  • Java JDK 8 o superior.
  • Entorno Linux/Unix (para los scripts .sh).

Instrucciones Rápidas

# 1. Clonar el repositorio
git clone [https://github.com/TU_USUARIO/TU_REPO.git](https://github.com/TU_USUARIO/TU_REPO.git)
cd TU_REPO/P1-Criptografia-Java

# 2. Dar permisos de ejecución a los scripts
chmod +x scripts/*.sh

# 3. Ejecutar el flujo completo (Compilación, Generación de claves, Cifrado, Sellado, Validación)
./scripts/run.sh

# 4. Probar escenarios de fallo (Simulación de ataques/errores)
./scripts/run.sh fail

Este portafolio representa el trabajo práctico realizado para la titulación de Grado en Ingeniería Informática en la Escuela Superior de Ingeniería Informática (Universidad de Vigo).

Autores:

Mauro Zelenka Pedrosa

Luis Fernando Pérez Moure

Nota: Las claves privadas y archivos binarios generados durante la ejecución de la P1 son eliminados automáticamente por los scripts de limpieza y están ignorados en el repositorio por seguridad.

About

Cybersecurity Portfolio: Java Cryptography implementation, Pentesting labs (Metasploit), Network Forensics, and Perimeter Defense.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors