🛡️
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
  • Importancia de Aprender sobre Malware en Windows
  • 1. Predominancia del Sistema Operativo
  • 2. Variedad de Amenazas
  • 3. Herramientas y Técnicas de Seguridad
  • APIs Esenciales para Desarrolladores de Malware en Windows
  • 1. CreateProcess
  • 2. VirtualAlloc
  • 3. WriteProcessMemory
  • 4. CreateRemoteThread
  • 5. LoadLibrary
  • 6. GetProcAddress
  • Shellcode
  • ¿Qué es un Shellcode?
  • Tipos de Shellcode
  • Ejemplo de Shellcode
  • Otros Conceptos Relacionados
  • 1. Payloads
  • 2. Exploits
  • 3. Persistence
  • 4. Obfuscation

¿Te fue útil?

  1. Malware For Junior

Malware for Windows

El malware en Windows es una de las amenazas más comunes y peligrosas en el ámbito de la ciberseguridad. Para los profesionales de red teaming y pentesting, comprender cómo funciona el malware en este sistema operativo es crucial para poder identificar, analizar y mitigar estas amenazas. Este capítulo se enfoca en las razones por las cuales es importante estudiar el malware en Windows, las APIs esenciales para los desarrolladores de malware, y conceptos fundamentales como el shellcode.

Importancia de Aprender sobre Malware en Windows

1. Predominancia del Sistema Operativo

  • Descripción: Windows es el sistema operativo más utilizado en el mundo, tanto en entornos empresariales como personales. Esto lo convierte en un objetivo principal para los atacantes.

  • Relevancia: Como red teamer o pentester, entender las técnicas de ataque y defensa en Windows es crucial para proteger a la mayoría de los usuarios y sistemas.

2. Variedad de Amenazas

  • Descripción: Windows es susceptible a una amplia gama de malware, incluyendo virus, troyanos, ransomware, rootkits y spyware.

  • Relevancia: Conocer estas amenazas y sus vectores de ataque ayuda a diseñar estrategias de mitigación y respuesta efectivas.

3. Herramientas y Técnicas de Seguridad

  • Descripción: Windows ofrece una variedad de herramientas y técnicas de seguridad, desde antivirus hasta políticas de grupo y control de acceso.

  • Relevancia: Los pentesters y red teamers deben estar familiarizados con estas herramientas para evaluar la eficacia de las medidas de seguridad implementadas y encontrar formas de evadirlas.

APIs Esenciales para Desarrolladores de Malware en Windows

Para desarrollar malware en Windows, es esencial conocer ciertas APIs que permiten manipular el sistema operativo a bajo nivel. A continuación, se presentan algunas de las APIs más importantes:

1. CreateProcess

  • Descripción: Crea un nuevo proceso y su hilo principal.

  • Uso en Malware: Utilizado para ejecutar comandos y scripts maliciosos en el sistema.

2. VirtualAlloc

  • Descripción: Reserva, compromete o cambia el estado de una región de memoria.

  • Uso en Malware: Utilizado para asignar memoria para el shellcode.

3. WriteProcessMemory

  • Descripción: Escribe datos en la memoria de un proceso especificado.

  • Uso en Malware: Inyecta código malicioso en un proceso legítimo.

4. CreateRemoteThread

  • Descripción: Crea un hilo en el espacio de direcciones de otro proceso.

  • Uso en Malware: Ejecuta shellcode dentro de un proceso remoto, facilitando la inyección de código.

5. LoadLibrary

  • Descripción: Carga una biblioteca de enlace dinámico (DLL) en el espacio de direcciones del proceso de llamada.

  • Uso en Malware: Carga DLLs maliciosas en procesos legítimos.

6. GetProcAddress

  • Descripción: Obtiene la dirección de una función exportada por una DLL.

  • Uso en Malware: Recupera las direcciones de funciones necesarias para ejecutar el shellcode o cargar módulos maliciosos.

Shellcode

¿Qué es un Shellcode?

  • Descripción: Un shellcode es una pequeña pieza de código utilizada como payload en la explotación de una vulnerabilidad de software. Su propósito es proporcionar control directo del sistema a un atacante.

  • Características: Compacto, autónomo y diseñado para ser inyectado en la memoria y ejecutado directamente.

Tipos de Shellcode

  • Bind Shell: Abre un puerto en la máquina víctima y espera una conexión entrante del atacante.

  • Reverse Shell: Conecta la máquina víctima a una máquina controlada por el atacante.

  • Staged Shellcode: Carga un segundo payload más grande una vez que el primer shellcode ha sido ejecutado.

  • Stageless Shellcode: Contiene todo el código malicioso en un solo payload.

Ejemplo de Shellcode

Un ejemplo simple de shellcode que ejecuta una shell de comandos podría ser:

assemblyCopiar códigoxor eax, eax
push eax
push 0x68732f2f ; //sh
push 0x6e69622f ; /bin
mov ebx, esp
push eax
push ebx
mov ecx, esp
mov al, 0xb
int 0x80

Otros Conceptos Relacionados

1. Payloads

  • Descripción: Carga útil que se entrega y ejecuta en el sistema objetivo después de explotar una vulnerabilidad.

  • Tipos de Payloads: Meterpreter, VNC, keyloggers, y otros.

2. Exploits

  • Descripción: Código que aprovecha una vulnerabilidad específica en un software o sistema para lograr la ejecución de código no autorizado.

  • Ejemplos: Exploits de desbordamiento de buffer, inyecciones de código, y escalación de privilegios.

3. Persistence

  • Descripción: Técnicas utilizadas para mantener el acceso a un sistema comprometido.

  • Métodos: Creación de tareas programadas, modificación de claves de registro, y inyección en procesos críticos.

4. Obfuscation

  • Descripción: Técnicas utilizadas para ocultar el código malicioso y evitar su detección.

  • Métodos: Cifrado, polimorfismo, y empaquetado.

AnteriorDesarrollo de MalwareSiguienteGolang

Última actualización hace 1 año

¿Te fue útil?