🛡️
Hacking para Juniors - [CPPJ]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacker
    • ADVERTENCIA
    • Aprende GRATIS con El Curso De Junior a Senior en Hacking
    • Conoce tu Academia
    • Aprende con nuestro curso
    • Conoce a tu instructor
  • Fundamentos de la ciberseguridad ofensiva
    • ¿Que es el Ethical Hacking?
      • Tipos de Hackers
        • APTs (Advanced Persistent Threats)
    • ¿Que es el pentesting?
      • Tipos de Caja en Pentesting
      • Tipos de tecnologia
      • Etapas de un pentest
        • Escalacion de privilegios
    • ¿Qué es un CVE?
    • ¿Que es un escaneo de vulnerabilidades?
    • ¿Que es un Red Team?
      • Command and Control
    • ¿Que es la ingenieria social?
      • Kevin Mitnick
      • Libros Recomendados
    • El papel de los Juniors y la IA
  • OSINT for Juniors
    • Open-source intelligence (OSINT)
    • Tipos de fuentes OSINT
    • Herramientas para OSINT
    • Dorks de Google
  • OS for Juniors
    • Introduccion a Sistemas Operativos
    • Archivo y extensiones
    • Windows
      • Estructura del SO
        • Kernel De Windows
        • Servicios Importantes
        • Procesos en Windows
        • Registros en Windows
        • Gestion de archivos en Windows
      • Versiones relevantes
      • La importancia de identificar la version de windows durante una auditoria
      • Tips
    • Linux
      • Tips
    • Android
      • Versiones relevantes
      • Tips
    • IOS
      • Versiones Relevantes
      • Tips
    • macOS
      • Versiones Relevantes
      • Tips
    • Sistemas operativos para Hackers
    • Instalacion de Kali Linux
  • Networking for Juniors
    • ¿Que es el Networking?
    • Fundamentos de Redes
    • Estructura de Redes
    • Topologías de Red
    • Modelo OSI (Open Systems Interconnection)
    • Modelo TCP/IP
    • IP (Internet Protocol)
    • TCP (Transmission Control Protocol)
    • UDP (User Datagram Protocol)
    • Protocolos de red
      • Protocolos de la capa de acceso al medio
      • Protocolos de la capa de red
      • Protocolos de la capa de transporte
      • Protocolos de la capa de aplicación
      • Protocolos de aplicación en correo electrónico
    • Puertos y servicios
      • Puerto 21: FTP
      • Puerto 22: SSH
      • Puerto 23: Telnet
      • Puerto 25: - SMTP
      • Puerto 53: DNS
      • Puerto 80: HTTP
      • Puerto 443: HTTPS
      • Puerto 139 y 445: SMB - CIFS
      • Puerto 3389: RDP
      • Puerto 389: LDAP
      • Puerto 5000: Docker
      • Puerto 5900: VNC
  • Nmap for Juniors
    • ¿Que es Nmap?
    • Tu Primer Nmap
    • Parametros de Nmap
    • Comandos utiles
    • Scripts de Nmap
  • Wi-Fi y Radiofrecuencias
    • Fundamentos de Wireless
    • Fundamentos del Hacking de Wi-Fi
    • Fundamentos en Radiofrecuencias
    • RFID (Radio Frequency Identification)
    • Infrarrojo (IR)
    • Bluetooth
    • NFC (Near Field Communication)
    • Herramientas de un hacker
    • Fundamentos en Hardware Hacking
  • AppWeb For Juniors
    • ¿Porque deberia aprender hacking web?
    • Fundamentos de Aplicaciones Web
      • Códigos de estado HTTP
    • Fundamentos de APIs
      • Métodos HTTP
      • Practica Gratis
    • Cabeceras de seguridad
    • Analisis de certificados SSL
    • Mecanismos de autenticacion y autorizacion en AppWeb
    • Atacando CMS
    • La Seguridad en el Desarrollo de Aplicativos: Frameworks vs. Desarrollo Manual
    • OWASP Top Ten
  • Databases for Juniors
    • ¿Base de Datos?
      • SQL
      • NoSQL
    • Puerto 6379: Redis
    • Puerto 27017: MongoDB
    • Puerto 5432: PostgreSQL
    • Puerto 3306: MySQL
    • Puerto 1433: Microsoft SQL Server
    • Puerto 1521: - Oracle Database
  • Transferencia de Archivos
    • Introduccion a la Transferencia de archivos
    • Descargando desde Windows
      • Utilizando LOLBAS
    • Descargando desde Linux
    • Despliegue de servicio HTTP
    • Despliegue de servicio SMB
    • Despligue de servicio FTP
    • Utilizando Base64
  • Fundamentos en Vulnerabilidades
    • ¿Qué es una Vulnerabilidad?
    • ¿Qué es un 0day?
    • Common Vulnerabilities and Exposures - [CVE]
    • RCE (Remote Code Execution)
    • Buffer Overflow
  • Malware For Junior
    • ¿Que es Malware?
    • ¿Que es un AntiVirus?
      • Microsoft Defender
    • ¿Que es un EDR?
      • Mejores EDRs actuales
    • Desarrollo de Malware
    • Malware for Windows
      • Golang
      • Nim
      • C#
    • Ofuscacion de Malware
  • Shell
    • ¿Shell?
      • CMD (Command Prompt) en Windows
      • PowerShell en Windows
      • Bash en Unix/Linux
    • ¿Reverse Shell?
    • ¿Web Shell?
    • ¿Bind Shell?
    • Enumeracion de Windows
    • Enumeracion de Linux
  • Privilege Escalation for Juniors
    • ¿Que es la escalacion de privilegios?
    • PrivEsc For Windows
      • WinPEAS
    • PrivEsc For Linux
      • LinPEAS
    • PrivEsc For Active Directory
    • PrivEsc For Cloud Computing
  • Tecnicas de persistencia
    • Fundamentos de Persistencia
    • Persistencia en Windows
    • Persistencia en Linux
    • Persistencia Avanzada
  • Pivoting for Juniors
    • ¿Que es pivoting?
    • ¿Que es Socks?
    • Doble Pivoting y Triple Pivoting
    • RPivot y Chisel
  • Active Directory For Juniors
    • Fundamentos de Active Directory
    • Utilizando ADPeas para el reconocimiento
  • Cloud Computing For Juniors
    • Fundamentos de cloud computing
    • Amazon Web Services
    • Microsoft Azure
    • Google Cloud Platform
  • Introduccion a Blue Team
    • ¿Blue Team?
    • ¿SOC?
    • ¿Threat Hunting?
    • SIEM (Security Information and Event Management)
    • La fatiga del SOC
    • ¿SOAR?
  • Defensas y herramientas de seguridad perimetral
    • Soluciones de Seguridad Perimetral Esenciales
    • Firewall
    • IDS (Intrusion Detection System)
    • IPS (Intrusion Prevention System)
    • WAF (Web Application Firewall)
    • Firewalls de Próxima Generación (NGFW)
    • Gateways de Seguridad Web (SWG)
    • Gateways de Seguridad de Correo Electrónico (SEG)
    • Sistemas de Prevención de Fugas de Datos (DLP)
    • Network Access Control (NAC)
  • Muchas gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • ¿Qué es Go (Golang)?
  • Características de Go que Benefician el Desarrollo de Malware
  • 1. Compilación Estática
  • 2. Eficiencia y Rendimiento
  • 3. Facilidad de Concurrencia
  • 4. Compatibilidad Multiplataforma
  • 5. Facilidad de Desarrollo y Mantenimiento
  • Ejemplos de Malware en Go
  • 1. Ransomware
  • 2. Backdoors y RATs (Remote Access Trojans)
  • 3. Botnets
  • Casos de Uso y Técnicas
  • 1. Compilación Cruzada
  • 2. Ofuscación del Código
  • 3. Integración de Librerías Externas

¿Te fue útil?

  1. Malware For Junior
  2. Malware for Windows

Golang

En los últimos años, Go (Golang) ha ganado popularidad entre los desarrolladores de malware debido a sus características únicas que facilitan la creación de código malicioso eficaz y difícil de detectar. Este capítulo explora por qué se está utilizando Go para el desarrollo de malware enfocado en Windows y cómo sus características benefician a los creadores de malware.

¿Qué es Go (Golang)?

Go, también conocido como Golang, es un lenguaje de programación de código abierto desarrollado por Google. Combina la simplicidad y eficiencia de los lenguajes de programación tradicionales con características modernas que facilitan el desarrollo de aplicaciones concurrentes y escalables.

Características de Go que Benefician el Desarrollo de Malware

1. Compilación Estática

  • Descripción: Go compila binarios estáticos que no dependen de bibliotecas externas en tiempo de ejecución.

  • Ventaja para el Malware: Esto hace que los binarios sean portátiles y fáciles de ejecutar en diferentes sistemas sin necesidad de configuraciones adicionales, lo que facilita la distribución y ejecución del malware.

2. Eficiencia y Rendimiento

  • Descripción: Go es un lenguaje compilado que produce binarios altamente eficientes y rápidos.

  • Ventaja para el Malware: El malware escrito en Go puede ejecutarse rápidamente y con un menor uso de recursos, lo que lo hace más difícil de detectar por los sistemas de monitoreo de rendimiento.

3. Facilidad de Concurrencia

  • Descripción: Go tiene soporte nativo para la concurrencia mediante goroutines y canales, lo que facilita la escritura de programas concurrentes.

  • Ventaja para el Malware: Permite crear malware que puede realizar múltiples operaciones simultáneamente, como escanear redes, comunicarse con servidores de comando y control, y exfiltrar datos al mismo tiempo.

4. Compatibilidad Multiplataforma

  • Descripción: Go permite la compilación cruzada, lo que significa que el código escrito en Go puede compilarse para múltiples plataformas desde una única máquina de desarrollo.

  • Ventaja para el Malware: Los desarrolladores de malware pueden crear binarios para Windows, Linux y macOS con facilidad, aumentando el alcance potencial del malware.

5. Facilidad de Desarrollo y Mantenimiento

  • Descripción: Go es conocido por su simplicidad y legibilidad, lo que facilita el desarrollo y mantenimiento del código.

  • Ventaja para el Malware: Los desarrolladores pueden escribir y mantener código malicioso más fácilmente, reduciendo el tiempo necesario para desarrollar y actualizar el malware.

Ejemplos de Malware en Go

1. Ransomware

  • Descripción: Malware que cifra los archivos del usuario y exige un rescate para su liberación.

  • Ventaja de Go: La capacidad de crear binarios eficientes y portátiles facilita la distribución del ransomware y su ejecución en diferentes sistemas sin problemas de compatibilidad.

2. Backdoors y RATs (Remote Access Trojans)

  • Descripción: Malware que proporciona acceso remoto a los sistemas comprometidos.

  • Ventaja de Go: Las goroutines permiten a los desarrolladores implementar funcionalidades de control remoto y monitoreo continuo de manera concurrente y eficiente.

3. Botnets

  • Descripción: Redes de dispositivos infectados que son controlados por un atacante.

  • Ventaja de Go: La facilidad de concurrencia y la compatibilidad multiplataforma facilitan la creación y gestión de botnets grandes y eficientes.

Casos de Uso y Técnicas

1. Compilación Cruzada

  • Descripción: Usar Go para compilar malware que pueda ejecutarse en múltiples plataformas.

  • Ejemplo:

    GOOS=windows GOARCH=amd64 go build -o malware.exe malware.go

2. Ofuscación del Código

  • Descripción: Uso de herramientas para ofuscar el código fuente de Go y dificultar el análisis de ingeniería inversa.

  • Ejemplo: Herramientas como garble pueden utilizarse para ofuscar el código Go.

3. Integración de Librerías Externas

  • Descripción: Uso de librerías externas para implementar funcionalidades avanzadas en el malware.

  • Ejemplo: Librerías de red y cifrado pueden integrarse fácilmente en el malware escrito en Go para mejorar sus capacidades.

AnteriorMalware for WindowsSiguienteNim

Última actualización hace 11 meses

¿Te fue útil?