🛡️
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
  • ¿Por qué se Utilizan Lenguajes de Programación de Bajo Nivel?
  • 1. Acceso Directo al Hardware y Sistema Operativo
  • 2. Eficiencia y Velocidad
  • 3. Tamaño Reducido del Código
  • 4. Capacidades de Ingeniería Inversa
  • 5. Control sobre la Memoria
  • Lenguajes de Programación Más Usados para el Desarrollo de Malware
  • 1. Assembly
  • 2. C
  • 3. C++
  • 4. Python
  • 5. Java
  • 6. JavaScript
  • Casos de Uso y Ejemplos
  • 1. Rootkits en C y Assembly
  • 2. Ransomware en C++
  • 3. Troyanos en Python

¿Te fue útil?

  1. Malware For Junior

Desarrollo de Malware

El desarrollo de malware requiere una combinación de habilidades técnicas avanzadas y un conocimiento profundo del funcionamiento de los sistemas operativos. Los lenguajes de programación de bajo nivel son preferidos para esta tarea debido a su capacidad para interactuar directamente con el hardware y el sistema operativo, ofreciendo un control granular sobre los recursos del sistema. Este capítulo explora las razones por las cuales se utilizan lenguajes de bajo nivel para desarrollar malware y cuáles son los lenguajes más comúnmente empleados en esta área.

¿Por qué se Utilizan Lenguajes de Programación de Bajo Nivel?

1. Acceso Directo al Hardware y Sistema Operativo

  • Descripción: Los lenguajes de bajo nivel, como Assembly y C, permiten a los desarrolladores interactuar directamente con el hardware y el sistema operativo. Esto es crucial para el desarrollo de malware que necesita manipular recursos del sistema, como la memoria, el procesador y los dispositivos de E/S.

  • Ejemplo: Manipulación de registros del CPU, control de la memoria del sistema y acceso a dispositivos de hardware específicos.

2. Eficiencia y Velocidad

  • Descripción: Los programas escritos en lenguajes de bajo nivel tienden a ser más eficientes y rápidos debido a su proximidad al código máquina. Esto es vital para malware que debe ejecutarse rápidamente y sin ser detectado.

  • Ejemplo: Malware que necesita realizar operaciones intensivas en CPU, como cifrado o cálculo de hashes.

3. Tamaño Reducido del Código

  • Descripción: El código de bajo nivel es generalmente más compacto, lo que facilita la creación de payloads pequeños y difíciles de detectar. Esto es importante para la distribución de malware a través de vectores como correos electrónicos o exploits en red.

  • Ejemplo: Creación de shellcodes compactos para exploits de desbordamiento de buffer.

4. Capacidades de Ingeniería Inversa

  • Descripción: Los desarrolladores de malware utilizan lenguajes de bajo nivel para complicar la ingeniería inversa del código. Las técnicas como la ofuscación y el empaquetado son más efectivas cuando se implementan en bajo nivel.

  • Ejemplo: Uso de instrucciones específicas de Assembly para ocultar la lógica del malware y dificultar el análisis.

5. Control sobre la Memoria

  • Descripción: Lenguajes como C y C++ ofrecen un control preciso sobre la asignación y liberación de memoria, lo cual es crucial para la manipulación de estructuras de datos y la explotación de vulnerabilidades.

  • Ejemplo: Manipulación de punteros para crear exploits de uso después de liberación (use-after-free) y desbordamientos de buffer.

Lenguajes de Programación Más Usados para el Desarrollo de Malware

1. Assembly

  • Descripción: Assembly es un lenguaje de bajo nivel que está estrechamente ligado al código máquina específico del procesador.

  • Usos en Malware: Creación de shellcodes, exploits de desbordamiento de buffer, y payloads compactos.

  • Ventajas: Control absoluto sobre el hardware y el sistema operativo, alta eficiencia, difícil de analizar.

2. C

  • Descripción: C es un lenguaje de programación de bajo nivel que ofrece un control preciso sobre la memoria y el hardware.

  • Usos en Malware: Creación de rootkits, troyanos, y exploits de vulnerabilidades.

  • Ventajas: Eficiencia, control sobre la memoria, compatibilidad con sistemas operativos de bajo nivel.

3. C++

  • Descripción: C++ es una extensión de C que incluye características de programación orientada a objetos.

  • Usos en Malware: Desarrollo de malware complejo como backdoors, ransomware, y spyware.

  • Ventajas: Control sobre la memoria, capacidad para crear estructuras de datos complejas, compatibilidad con bibliotecas de C.

4. Python

  • Descripción: Python es un lenguaje de alto nivel, pero es ampliamente utilizado en el desarrollo de malware debido a su simplicidad y la disponibilidad de bibliotecas poderosas.

  • Usos en Malware: Scripts de automatización, herramientas de pentesting, y malware modular.

  • Ventajas: Fácil de escribir y mantener, amplia gama de bibliotecas, buena para prototipado rápido.

5. Java

  • Descripción: Java es un lenguaje de programación orientado a objetos que se ejecuta en una máquina virtual (JVM).

  • Usos en Malware: Malware multiplataforma, applets maliciosos, y exploits de aplicaciones web.

  • Ventajas: Portabilidad, facilidad de desarrollo, amplio ecosistema.

6. JavaScript

  • Descripción: JavaScript es un lenguaje de scripting ampliamente utilizado en aplicaciones web.

  • Usos en Malware: Malware basado en web, exploits XSS, y scripts de inyección.

  • Ventajas: Ejecución en navegadores web, fácil de integrar en aplicaciones web, amplio uso en ataques de phishing y ingeniería social.

Casos de Uso y Ejemplos

1. Rootkits en C y Assembly

  • Descripción: Rootkits diseñados para esconderse dentro del sistema operativo, alterando funciones del kernel y escondiendo la presencia de otros malware.

  • Ejemplo: Rootkit capaz de interceptar llamadas al sistema y ocultar procesos, archivos y conexiones de red.

2. Ransomware en C++

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

  • Ejemplo: Ransomware que utiliza bibliotecas de cifrado avanzadas y técnicas de evasión para evitar la detección por software antivirus.

3. Troyanos en Python

  • Descripción: Malware que se disfraza de software legítimo y proporciona acceso remoto al atacante.

  • Ejemplo: Troyano escrito en Python que utiliza bibliotecas como socket y os para ejecutar comandos del sistema y exfiltrar datos.

AnteriorMejores EDRs actualesSiguienteMalware for Windows

Última actualización hace 11 meses

¿Te fue útil?