Todo lo que necesitas saber sobre Ransomware

El panorama del malware en la actualidad es enorme, y esta creciendo mas y se están poniendo mas sofisticados cada día. En la actualidad, hay una categoría de malware que se esta volviendo cada vez mas popular llamado “ransomware”. En este post, vamos a discutir que es el ransomware, que estrategias y técnicas se utilizan en la creación y propagación de esta nueva modalidad de ciberdelito en Internet.

ransomware-expert-tips-featured

¿Que es Ransomware y hace realmente?

El Ransomware es una categoría de software malicioso que básicamente deja sin funcionamiento una computadora mediante la restricción de acceso a la misma utilizando diferentes técnicas. A continuación se le exige un rescate (“ransom”) a pagar al autor del malware para recuperar el funcionamiento del sistema. Esta aplicación maliciosa normalmente bloquea la computadora y muestra varias imágenes de fuerzas del orden para intimidar y extorsionar a las victimas. Ademas de bloquear la computadoras algunos ransomware encriptarán y ocultaran los archivos personales de manera que la victima no pueda acceder nunca mas a ellos.

Un poco de historia…

El ransomware no es una novedad. La primer aparición de un ransomware fue en 1989 con un malware conocido como “Cyber Troya PC” (también conocido como Aids Info Disk (AIDS)). El infame troyano reemplazaba el archivo autoexec.bat por uno propio en la computadora infectada que contaba las veces que la maquina había sido booteada. Una vez que la cuenta llegaba a 90 el troyano ocultaba todos los directorios y encriptaba todos los nombres de los archivos en el Disco C: haciendo que el sistema sea inutilizable. Para restaurar la funcionalidad del sistema el troyano exigía a la victima el pago de u$s 189 a nombre de “PC Cyborg Corporation” en una casilla de correo en Panamá. Aunque los ataques de ransomware no son nuevos empezaron a aumentar drasticamente desde 2005. Los ataques de ransomware fueron inicialmente populares en Rusia, pero en los últimos años están creciendo de manera drástica en todo el mundo.

Continue reading

Como hacer un “host checker” en Python para Linux

pythonHoy vamos a hacer una pequeña tool en Python para chequear si los hosts están “vivos”. Algo a tener en cuenta es que la tool que desarrollaremos solamente funcionara en Linux

Que vamos a necesitar:

  • Python (funciona en 2.7, pero mejor en 3+)
  • Una conexión a una red (LAN o Internet)
  • Una Computadora corriendo Linux

Si no tenes instalado Python, algo muy difícil ya que la mayoría de las distros actuales lo traen pre-instalado, lo podes bajar de este link: Python

Porque funciona solamente en Linux?

Nunca recomiendo utilizar librerías de terceros, pero sin una librería no se puede utilizar el comando ping de la misma manera que en Linux. En linux cuando usas el comando ping recibís como respuesta un “0” si el host esta “vivo” y otros números si el host no responde. Esto significa que, en Linux, cuando el host responde el ping con éxito recibiremos como respuesta “0” (operation completed successfully), en el caso contrario responderá con un numero de error. En Windows esto es mas complicado. Cuando le hacemos ping a un host el comando devolverá como respuesta que la operación se completo indistintamente si el host vivo o no.

Código Fuente:

Modo de uso:

> $ python hostchecker.py -s xxx.xxx.xxx -r1 xxx -r2 xxx

Ejemplo

$ python hostchecker.py -s 10.0.0 -r1 1 -r2 150
[*] Host Scanner launched!
[+] 10.0.0.1 is up!
[+] 10.0.0.21 is up!
[+] 10.0.0.23 is up!
[+] 10.0.0.26 is up!
[+] 10.0.0.100 is up!

Como ven es una tool muy sencilla y fácil de usar!

Una introducción al mundo de Social-Engineering Toolkit (SET)

En el mundo de la Seguridad IT no se puede dejar nunca de lado la ingeniería social.
La ingeniería social continúa siendo uno de los métodos de ataque más utilizados debido al alto nivel de eficacia logrado engañando al usuario.

Como dijo alguien “la cadena es tan fuerte como el eslabón mas débil que la componga” y, en más ocasiones de las que debiera, este eslabón no tiene nombre de hardware o software, si no el de alguna persona detrás de la PC o dispositivo.
Aunque no es nuevo y muchos ya lo conocemos, vamos a adentrarnos un poco en el mundo de SET (Social-Engineering Toolkit).

Que es SET?

De la manera mas resumida posible:

SET es un completo framework dedicado a la ingeniería social , que nos permite automatizar tareas que van desde el de envío de SMS (mensajes de texto) falsos, con los que podemos suplantar el numero telefónico que envía el mensaje, a clonar cualquier pagina web y poner en marcha un servidor para hacer phishing en cuestión de segundos.

El kit de herramientas SET está especialmente diseñado para realizar ataques avanzados contra el elemento humano. Originalmente, este instrumento fue diseñado para ser publicado con el lanzamiento de http://www.social-engineer.org y rápidamente se ha convertido en una herramienta estándar en el arsenal de los pentesters. SET fue escrito por David Kennedy (ReL1K) con un montón de ayuda de la comunidad en la incorporación de los ataques nunca antes vistos en un juego de herramientas de explotación.

SET integra muchas de las funciones de Metasploit, es más, muchas de las funciones de SET las saca de Metasploit, por tanto no se concibe SET sin previamente tener instalado Metasploit.

Quizás lo que mas nos ha llamado la atención de SET es su eficacia y agilidad a la hora de implementar su gran variedad de ataques.

Bueno basta de introducción, vamos a echar un vistazo rápido a SET y algunas de sus funciones. No podemos olvidar que tratar SET a fondo nos podría llevar mas de un post y por otra parte, no les quiero sacar la posibilidad de investigar por su cuenta sobre este increíble framework de ReL1k y su equipo.

Continue reading

Pentest Box, “distro” con herramientas de pentesting para entornos Windows

Captura de pantalla de 2015-09-16 16:30:34

Cuando hablamos sobre auditar un sistema o sistemas, una de las primeras cosas que quizás hagamos es iniciar Kali Linux, pero no sólo de Linux vive el pentester, de hecho un buen pentester debe ir más allá del simple uso de ciertas herramientas o sistema operativo.

Si te enfrentas a una auditoria y todo de lo que dispones es de un sistema MS Windows, quizás esta “distro” para Windows llamada Pentest Box te pueda solucionar muchos problemas.

Pentest Box, es una “distro” que corre bajo Windows con una gran colección de herramientas de pentesting y que además puedes llevar en un pendrive o algún otro tipo de almacenamiento portátil.

Las herramientas que contiene esta distro es bastante amplia y la mayoría de ellas son muy conocidas. Incluso empaqueta una gran cantidad de comandos básicos bien conocidos en sistemas Linux.

Las herramientas están agrupadas en las siguientes categorías:

Les dejo también un demo en video de Pentest Box:

Colección de Herramientas de Hacking (Python)

ninja-ideSi estas involucrado en el análisis de vulnerabilidades, ingeniería inversa, o pentesting, les sugiero probar con el lenguaje Python. Cuenta con un gran conjunto de bibliotecas y programas útiles. En este post se enumeran algunos de ellos.

La mayor parte de las herramientas enumeradas están desarrolladas en Python, otras son enlaces Python a librerías C existentes. es decir, que hacen que esas bibliotecas se puedan utilizar fácilmente a partir de programas escritos en Python.

.

.

Network

  • Scapy: envía, rastrea y analiza y crea paquetes de red. Se puede usar de forma interactiva o como una librería
  • pypcap, Pcapy y pylibpcap: varios enlaces Python para libpcap
  • libdnet: rutinas de red de bajo nivel, incluyendo la interfaz de búsqueda y transmisión de tramas Ethernet
  • dpkt: rápida y simple creación de paquetes y análisis, con las definiciones básicas de los protocolos TCP/IP
  • Impacket: modifica y decodifica paquetes de red. Incluye soporte para los protocolos de más alto nivel, tales como NMB y SMB
  • pynids: wrapper de libnids que incluye sniffing, IP defragmentation, reensamblado de streams TCP y detección de escaneos de puertos
  • Dirtbags py-pcap: lee ficheros pcap sin libpcap
  • flowgrep: grep a través de payloads de paquetes utilizando expresiones regulares
  • Knock Subdomain Scan: enumera los subdominios de un dominio de destino a través de una lista de palabras
  • SubBrute: Herramienta de enumeración rápida de subdominios
  • Mallory: proxy man-in-the-middle extensible TCP/UDP, soporta la modificación de protocolos no estándar al vuelo
  • Pytbull: framework de pruebas de IDS/IPS muy flexible (incluye más de 300 tests)

Debugging and Reverse Engineering

  • Paimei: framework de ingeniería inversa, incluye PyDBG, PIDA, pGRAPH
  • Immunity Debugger: GUI programable y debugger en linea de comandos
  • mona.py: PyCommand para Immunity Debugger que reemplaza y mejora pvefindaddr
  • IDAPython: plugin de IDA Pro que integra Python, permitiendo ejecutar scripts en IDA Pro
  • PyEMU: emulador IA-32 completamente programable, útil para análisis de malware
  • pefile: permite leer y trabajar con archivos Portable Executable (PE)
  • pydasm: interfaz en Python para la librería libdasm de desensamblado x86
  • PyDbgEng: wrapper en Python para el motor de depuración de Microsoft Windows
  • uhooker: intercepta llamadas a llamadas a la API dentro de DLLs , así como las direcciones arbitrarias en el archivo ejecutable en la memoria
  • diStorm: biblioteca de desensamblador para AMD64, bajo licencia BSD
  • python-ptrace: depurador usando ptrace (Linux, BSD y Darwin system call para trazar procesos) escrito en Python
  • vdb / vtrace: API de depuración de procesos multi-plataforma implementado en python, y vdb es un depurador que lo utiliza
  • Androguard: ingeniería inversa y análisis de aplicaciones de Android
  • Capstone: Framework desensamblador ligero multi-plataforma, multi-arquitectura con enlaces Python
  • PyBFD: Interfase Python para la libreria GNU Binary File Descriptor (BFD)

Fuzzing

  • Sulley: framework de desarrollo fuzzer y pruebas que consiste en varios componentes extensibles
  • Peach Fuzzing Platform: framework de fuzzing extensible para la generación y la mutación basada en fuzzing (la v2 fue escrita en Python)
  • antiparser: fuzz testing y API de inyección de fallos
  • TAOF: (el Arte del Fuzzing) incluye ProxyFuzz, un fuzzer man-in -the-middle de red no determinista
  • untidy: fuzzer XML de propósito general
  • Powerfuzzer: fuzzer web altamente automatizado y totalmente personalizable (protocolo HTTP basado en fuzzer de aplicación)
  • SMUDGE
  • Mistress: genera formatos de archivos al vuelo y protocolos con datos malformados, basados en patrones predefinidos
  • Fuzzbox: multi-codec media fuzzer
  • Forensic Fuzzing Tools: genera ficheros fuzzeados, sistemas de ficheros, y sistemas de ficheros con ficheros fuzzeados para probar la robustez de herramientas forenses y sistemas de análisis
  • Windows IPC Fuzzing Tools: herramientas para fuzzear aplicaciones que usan mecanismos Windows Interprocess Communication
  • WSBang: ejecuta pruebas automáticas contra servicios web SOAP
  • Construct: librería para parsear y construir estructuras de datos (binario o texto).
  • fuzzer.py (feliam): fuzzer sencillo de Felipe Andres Manzano
  • Fusil: librería en Python usada para escribir programas de fuzzing

WEB

  • Requests: librería HTTP sencilla y elegante, hecha para seres humanos
  • HTTPie: cliente http similar a cURL pero más intuitivo.
  • ProxMon: procesa logs de proxy y crea informes con los resultados
  • WSMap: encuentra servicios web y descubre ficheros
  • Twill: navega por Internet mediante un interface en línea de comandos. Soporta web testing automatizado
  • Ghost.py: cliente webkit escrito en Python
  • Windmill: herramienta de pruebas creada para automatizar y depurar aplicaciones web
  • FunkLoad: medidor de carga web funcional
  • spynner: módulo de navegación web programable para Python con soporte Javascript/AJAX
  • python-spidermonkey: binding para el motor JavaScript de Mozilla SpiderMonkey; permite llamar y evaluar scripts y funciones Javascript
  • mitmproxy: proxy HTTP de interceptación con soporte SSL. Permite inspeccionar y editar tráfico al vuelo.
  • pathod / pathoc: demonio/cliente para saturar clientes y servidores HTTP

Forensics

  • Volatility: extrae y analiza artefactos digitales de la memoria volátil (RAM)
  • Rekall: Framework de análisis de memoria desarrollado por Google
  • LibForensics: librería para desarrollar aplicaciones forenses digitales
  • TrIDLib: identifica los tipos de archivo de sus firmas binarias. Ahora incluye Python binding
  • aft: Android forensic toolkit

Malware Analysis

  • pyew: editor hexadecimal y desensamblador en línea de comandos, principalmente usado para analizar malware
  • Exefilter: filtra formatos de archivo en mensajes de correo electrónico, páginas web o archivos. Detecta muchos formatos de archivo comunes y puede eliminar contenido.
  • pyClamAV: añade capacidades de detección de virus para tu software Python
  • jsunpack-n: unpacker de JavaScript genérico: emula la funcionalidad del navegador para detectar exploits dirigidos a explotar vulnerabilidades en navegadores y plugins
  • yara-python: identifica y clasifica muestras de malware
  • phoneyc: implementación de honeyclient totalmente escrito en python
  • CapTipper: analiza, explora y reactiva trafico HTTP malicioso desde un archivo PCAP

PDF

  • peepdf: Herramienta de Python para analizar y explorar los archivos PDF para saber si pueden ser dañinos
  • Didier Stevens’ PDF tools: analiza, identifica y crea ficheros PDF (incluye PDFiD, pdf-parser, make-pdf y mPDF)
  • Opaf: Open Framework Analysis PDF . Convierte PDF a un árbol XML que puede ser analizado y modificado.
  • Origapy: wrapper de Python para el módulo de Ruby Origami que desinfecta archivos PDF
  • pyPDF2: Python PDF toolkit, extrae info, corta, une, cifra, descifra…
  • PDFMiner: extrae texto de ficheros PDF
  • python-poppler-qt4: une Python con la librería Poppler PDF, incluyendo soporte Qt4

MISC

  • InlineEgg: toolbox de clases para escribir pequeños programas en Python
  • Exomind: para la creación de gráficos y el desarrollo de módulos de inteligencia de código abierto, centrada en servicios de redes sociales, motores de búsqueda y mensajería instantánea
  • RevHosts: enumera los virtual hosts de una dirección IP dada
  • simplejson: JSON encoder/decoder, para por ej. usar Google’s AJAX API
  • PyMangle: herramienta de línea de comandos y una biblioteca de Python utilizada para crear listas de palabras para su uso con otras herramientas de pruebas de intrusión
  • Hachoir: permite ver y editar un stream binario campo por campo
  • py-mangle: Herramienta de linea de comandos y biblioteca de Python que se utiliza para crear listas de palabras para su uso con otras herramientas de pentesting

En el link también van a encontrar otras herramientas y scripts desarrolladas en Python como así también mucha documentación acorde.

Python tools for penetration testers

.