sábado, 13 de febrero de 2021

Commando VM 2.0: máquina virtual en Windows para pentesting con contenedores Docker + Kali

La máquina virtual ofensiva completa de Mandiant ("Commando VM") tuvo éxito con la comunidad de pruebas de penetración cuando debutó a principios de 2019 en Black Hat Asia Arsenal. La versión 1.0 avanzó con más de 140 herramientas. Bueno, Para el siguiente lanzamiento en la Black Hat USA Arsenal 2019. En esta versión 2.0, han escuchado a la comunidad e implementado algunas características nuevas imprescindibles: Kali Linux, contenedores Docker y personalización de paquetes.



Acerca de Commando VM


Los probadores de penetración suelen utilizar sus propias variantes de máquinas con Windows al evaluar los entornos de Active Directory. Diseñamos específicamente Commando VM para que sea la plataforma de referencia para realizar pruebas de penetración internas. Los beneficios de usar Commando VM incluyen soporte nativo para Windows y Active Directory, usar su VM como un área de preparación para marcos de comando y control (C2), navegar de manera más fácil (e interactiva) en recursos compartidos de red y usar herramientas como PowerView y BloodHound sin cualquier preocupación por colocar archivos de salida en los activos del cliente.

Commando VM utiliza los paquetes Boxstarter, Chocolatey y MyGet para instalar software y ofrece muchas herramientas y utilidades para respaldar las pruebas de penetración. Con más de 170 herramientas y creciendo, Commando VM apunta a ser la máquina Windows de facto para cada tester de penetración y equipo rojo.

Desde su lanzamiento inicial en Black Hat Asia Arsenal en marzo de 2019, Commando VM ha recibido tres actualizaciones adicionales, incluidas nuevas herramientas y / o correcciones de errores. Cerramos 61 problemas en GitHub y agregamos 26 herramientas nuevas. La versión 2.0 trae tres nuevas características principales, más herramientas, corrección de errores y mucho más.


Herramientas disponibles

Active Directory Tools

  •     Remote Server Administration Tools (RSAT)
  •     SQL Server Command Line Utilities
  •     Sysinternals


Command & Control

  •     Covenant
  •     WMImplant
  •     WMIOps


Developer Tools

  •     Dep
  •     Git
  •     Go
  •     Java
  •     Python 2
  •     Python 3 (default)
  •     Ruby
  •     Ruby Devkit
  •     Visual Studio 2017 Build Tools (Windows 10)
  •     Visual Studio Code

Docker

  •     Amass
  •     SpiderFoot

Evasion

  •     CheckPlease
  •     Demiguise
  •     DefenderCheck
  •     DotNetToJScript
  •     Invoke-CradleCrafter
  •     Invoke-DOSfuscation
  •     Invoke-Obfuscation
  •     Invoke-Phant0m
  •     Not PowerShell (nps)
  •     PS>Attack
  •     PSAmsi
  •     Pafishmacro
  •     PowerLessShell
  •     PowerShdll
  •     StarFighters
  •     SysWhispers


Exploitation

  •     ADAPE-Script
  •     API Monitor
  •     CrackMapExec
  •     CrackMapExecWin
  •     DAMP
  •     Dumpert
  •     EvilClippy
  •     Exchange-AD-Privesc
  •     FuzzySec's PowerShell-Suite
  •     FuzzySec's Sharp-Suite
  •     GadgetToJScript
  •     Generate-Macro
  •     GhostPack
  •         Rubeus
  •         SafetyKatz
  •         Seatbelt
  •         SharpDPAPI
  •         SharpDump
  •         SharpRoast
  •         SharpUp
  •         SharpWMI
  •     GoFetch
  •     Impacket
  •     Invoke-ACLPwn
  •     Invoke-DCOM
  •     Invoke-PSImage
  •     Invoke-PowerThIEf
  •     Juicy Potato
  •     Kali Binaries for Windows
  •     LuckyStrike
  •     MetaTwin
  •     Metasploit
  •     Mr. Unikod3r's RedTeamPowershellScripts
  •     NetshHelperBeacon
  •     Nishang
  •     Orca
  •     PSBits
  •     PSReflect
  •     PowerLurk
  •     PowerPriv
  •     PowerSploit
  •     PowerUpSQL
  •     PrivExchange
  •     RottenPotatoNG
  •     Ruler
  •     SharpClipHistory
  •     SharpExchangePriv
  •     SharpExec
  •     SpoolSample
  •     SharpSploit
  •     ThreadContinue
  •     TikiTorch
  •     UACME
  •     impacket-examples-windows
  •     vssown
  •     Vulcan


Information Gathering


  •     ADACLScanner
  •     ADExplorer
  •     ADOffline
  •     ADRecon
  •     BeRoot
  •     BloodHound
  •     BloodHound-Custom-Queries (Hausec)
  •     dnsrecon
  •     FOCA
  •     Get-ReconInfo
  •     GoBuster
  •     GoWitness
  •     Net-GPPPassword
  •     NetRipper
  •     Nmap
  •     PowerView
  •         Dev branch included
  •     Privesc (enjoiz)
  •     Recon-AD
  •     SharpHound
  •     SharpView
  •     SpoolerScanner
  •     Watson


Kali Linux

  •     kali-linux-default
  •     kali-linux-xfce
  •     VcXsrv

Networking Tools

  •     Citrix Receiver
  •     OpenVPN
  •     Powercat
  •     Proxycap
  •     PuTTY
  •     Telnet
  •     VMWare Horizon Client
  •     VMWare vSphere Client
  •     VNC-Viewer
  •     WinSCP
  •     Windump
  •     Wireshark


Password Attacks


  •     ASREPRoast
  •     CredNinja
  •     DomainPasswordSpray
  •     DSInternals
  •     Get-LAPSPasswords
  •     Hashcat
  •     Internal-Monologue
  •     Inveigh
  •     Invoke-TheHash
  •     KeeFarce
  •     KeeThief
  •     LAPSToolkit
  •     MailSniper
  •     Mimikatz
  •     Mimikittenz
  •     RiskySPN
  •     SessionGopher


Reverse Engineering

  •     DNSpy
  •     Flare-Floss
  •     ILSpy
  •     PEview
  •     Windbg
  •     x64dbg

Utilities

  •     7zip
  •     Adobe Reader
  •     AutoIT
  •     Cmder
  •     CyberChef
  •     Explorer Suite
  •     Gimp
  •     Greenshot
  •     Hashcheck
  •     HeidiSQL
  •     Hexchat
  •     HTTP File Server (hfs)
  •     HxD
  •     Keepass
  •     MobaXterm
  •     Mozilla Thunderbird
  •     Neo4j Community Edition
  •     NirLauncher
  •     Notepad++
  •     Pidgin
  •     Process Hacker 2
  •     qBittorrent
  •     SQLite DB Browser
  •     Screentogif
  •     Shellcode Launcher
  •     SimpleDNSCrypt
  •     SQLite DB Browser
  •     Sublime Text 3
  •     Tor Browser
  •     TortoiseSVN
  •     VLC Media Player
  •     yEd Graph Tool


Vulnerability Analysis

  •     AD Control Paths
  •     Egress-Assess
  •     Grouper2
  •     NtdsAudit
  •     PwnedPasswordsNTLM
  •     zBang

Web Applications

  •     Burp Suite
  •     Fiddler
  •     Firefox
  •     OWASP Zap
  •     Subdomain-Bruteforce
  •     Wfuzz

Wordlists

  •     FuzzDB
  •     PayloadsAllTheThings
  •     SecLists
  •     Probable-Wordlists
  •     RobotsDisallowed


Incluye Kali Linux

En 2016, Microsoft lanzó el Subsistema de Windows para Linux (WSL). Desde entonces, los pentesters han estado tratando de aprovechar esta capacidad para obtener más productividad de sus sistemas Windows. Cuantas menos máquinas virtuales necesite ejecutar, mejor. Con WSL, puede instalar distribuciones de Linux desde la Tienda Windows y ejecutar comandos comunes de Linux en una terminal, como iniciar un servidor SSH, MySQL o Apache, automatizar tareas mundanas con lenguajes de programación comunes y utilizar muchas otras aplicaciones de Linux dentro del mismo sistema Windows. .

En enero de 2018, Offensive Security anunció la compatibilidad con Kali Linux en WSL. Con nuestra versión 2.0, Commando VM es oficialmente compatible con Kali Linux en WSL. Para aprovechar al máximo Kali, también hemos incluido VcXsrv, un servidor X que nos permite mostrar toda la GUI de Linux en el escritorio de Windows (Figura 1). Offensive Security y otros profesionales habían documentado previamente la visualización de la GUI de Linux y el paso de ventanas a Windows, y los hemos combinado para incluir la GUI y los accesos directos para aprovechar programas populares como Terminator (Figura 2) y DirBuster (Figura 3).


Figura 1: Kali XFCE en WSL con VcXsrv




Figura 2: Terminator en Commando VM - Kali WSL con VcXsrv




Figura 3: DirBuster en Commando VM - Kali WSL con VcXsrv



Docker


Docker se está volviendo cada vez más popular dentro de la comunidad de pruebas de penetración. Existen varias publicaciones de blog que detallan una funcionalidad interesante que usa Docker para pentesting. Basado en su popularidad, Docker ha estado en nuestra hoja de ruta desde el lanzamiento 1.0 en marzo de 2019, y ahora lo apoyamos con nuestro lanzamiento de Commando VM 2.0. Extraemos herramientas como Amass y SpiderFoot y proporcionamos scripts para lanzar los contenedores para cada herramienta. La Figura 4 muestra un ejemplo de SpiderFoot ejecutándose dentro de Docker.

Figura 4: Contenedor Impacket ejecutándose en Docker



Para los contenedores de la ventana acoplable de línea de comandos, como Amass, creamos un script de PowerShell para ejecutar automáticamente los comandos de Amass a través de la ventana acoplable. Este script también se agrega al PATH, por lo que los usuarios pueden llamar a amass desde cualquier lugar. Este script se muestra en la Figura 5. Animamos a los usuarios a crear sus propios scripts para hacer cosas más creativas con Docker.

Este script también se ejecuta cuando se abre el acceso directo.


Figura 6: contenedor de Amass Docker ejecutado a través del script de PowerShell



Personalización

No todo el mundo necesita todas las herramientas todo el tiempo. Algunas herramientas pueden extender el proceso de instalación en horas, ocupar muchos gigabytes de espacio en el disco duro o incluir licencias y acuerdos de usuario inadecuados. Por otro lado, tal vez le gustaría instalar herramientas de inversión adicionales disponibles dentro de nuestra popular máquina virtual FLARE; o prefiere uno de los muchos editores de texto alternativos o navegadores disponibles en el feed de la comunidad chocolatey. De cualquier manera, nos gustaría brindarle la opción de instalar selectivamente solo los paquetes que desee. Mediante la personalización, usted y su organización también pueden compartir o distribuir el perfil para asegurarse de que todo su equipo tenga el mismo entorno de VM. Para proporcionar estos escenarios, el último gran cambio para Commando 2.0 es el soporte para la instalación customización. Recomendamos usar nuestro perfil predeterminado y eliminar o agregar herramientas como mejor le parezca. Lea la siguiente sección para ver cómo.

Cómo crear una instalación personalizada

Antes de comenzar, tenga en cuenta que después de personalizar su propia edición de Commando VM, el comando cup all solo actualizará los paquetes preinstalados dentro de su distribución personalizada. Los nuevos paquetes lanzados por nuestro equipo en el futuro no se instalarán ni actualizarán automáticamente con cup all. Cuando sea necesario, estos nuevos paquetes siempre se pueden instalar manualmente usando el comando cinst o choco install, o agregándolos a su perfil antes de una nueva instalación.

Instrucciones sencillas


  •     Descargue el zip de https://github.com/fireeye/commando-vm en su carpeta de Descargas.
  •     Descomprima el zip y edite el archivo $ {Env: UserProfile} \ Downloads \ commando-vm-master \ commando-vm-master \ profile.json quitando herramientas o agregando herramientas en la sección "paquetes". Las herramientas están disponibles en nuestra lista de paquetes o en el repositorio chocolatey.

    Abra una ventana administrativa de PowerShell y habilite la ejecución del script.

        Set-ExecutionPolicy Unrestricted -f

    Cambie al directorio del proyecto descomprimido.

        cd $ {Env: UserProfile} \ Downloads \ commando-vm-master \ commando-vm-master \

    Ejecute la instalación con el argumento -profile_file.

        . \ install.ps1 -profile_file. \ profile.json

Fuentes:
https://www.fireeye.com/blog/threat-research/2019/08/commando-vm-customization-containers-kali.html

No hay comentarios:

Publicar un comentario