You are on page 1of 11
Capitulo IV. PowerShell y otras herramientas: Pentesting sin limites Eg r Funeién Deseripcién Esta funcion permite ejecutar un modulo pasandole la configuracién a través del parémeiro Options. Un ejemplo seria Invoke-MSFModlule Id -Type exploit -Name “multifhandler””-Options @ {PAYLOAD "="wwindows/meterpreter/reverse top": "LH OST"="192.168.56.101"; "LPORT”'=4444 } Yorbose Tabla 4.042 Funciones de Module en Posh-Metasploit. Plugin Esta categoria 0 m6dulo de Posh-Metasploit permite gestionar e interactuar con diferentes plugins desarrollados para mejorar la experiencia de Metasploit durante un test de intrusién, Por ejemplo, se pueden utilizar plugins que integren herramientas como Nessus, con el fin de aprovechar los resultados obtenidos en la fase de explotacién. A contin Jas funciones que aporta ef médulo: Nmap 0 Nexpose uacién se detallan Funeién Deseripeién Esta funcién proporeiona un listado de todos los pligiay cargados en Metasploit. Un ejemplo seria Get-MSFLoadedPlugin Id Esta funcién permite registrar un plugin y de este modo disponer de los eomandos que el piugin aporta. Su comando equivalente en Metasploit seria load . Un ejemplo seria Register. Register-MSEPbigin MSFPlugin -Id -Name nessus, y Posteriormente para ver si el plugin se ha cargado correctamente se lanzaria Get- MSF LoadedPlugin —ld Esta funcién permite descargar o eliminar un plugin ya cargado, , ae Su comando equivalente en Metasplot sera unload -Name nessus Get-MSFLoadedPlugin Tabla 4.05: Fumeiones le Plugin en Posh-AMetasploit. Posh Este médulo lleva el nombre idéntico. del framework, Permite la gestiGn de las sesiones con el servidor remoto de Metasploit via XMLRPC, desde la creacién de dichas sesiones hasta la desconexién y climinacién. A continuacién se describen las diferentes funciones que forman parte del médulo: Pentesting con PowerShell Funcién Descripeién New-MSFServerSession Set-MSFAuthToken Genera una nueva sesién dado un MSFRPCD. Un ejemplo seria ‘New-MSFServerSession -ComputerName 192.168.1.104 -Port i 55553 -Credentials (Get-Credential msf) Configura sobre una sesidn existente un daithentication Token Get-MSFServerSession Remove-MSFServerSession | debe indicarse a través del parimetro Id, por ejemplo Remove- Esta funcién devuelve un listado de las sesiones que hay abiertas con el servidor remoto n existente en el servidor. La sesion Esta funcidn elimina una sesi MSFServerSession -Id 2—Verbose Get-MSFCoreInfo Get-MSFAuthToken Esta fincion devuelve informacién sobre la versién Core de una sesién de Metasploit Esta fimciéa devuelve informacion sobre el soken de autenticacién de una sesion New-MSFauthToken Esta funcion genera un nuevo y permanente foken de autenticacion en Metasploit Remove-MSFAuthToken Esta funcién elimina un soken de autenticacién conocido. indicandole a través del parametro ~Token Get-MSFThread Esta funcién devuelve un listado de hilos que se ejecutan en el servidor Remove-MSFThread Esta funcién detiene el hilo en ejecucién Get-PoshMSPersion Esta funcién devuelve la version actual de Posh-Metasploit Tabla 4.06: Fimotones det médulo Pash-Metasploit en Posh-Metasploit Session Este médulo proporciona las funciones que permiten gestionar las sesiones, tras una explotacién exitosa, que se tiene en Metasploit. La enumeracién de sesiones 0 como interactuar con ellas son las funciones interesantes del médulo Session de Posh- fetasploit. A continuacién se detallan las funciones que forman parte del médulo: Funcién Deseripcion | Get-MSFSession Esta funcion devuelve un listado de las sesiones que se encuentran abiertas tras una explotacién, Dentro de los valores que devuelve la funcién se encuentran algunos interesantes como SessionID, via_exploit, session_host, via_pavload, platform o type entre otros. Un ejemplo seria Get-MSFSession -Id Capitulo IV. PawerShell y otras herramientas: Pentesting sin limites Funci6n Deseripcién USF MeterpreterConsole Esta funcién permite escribir texto a través de la sesion de Meverpreter obtenida tras la explotacion de una vulnerabilidad. Un ejemplo seria Write- MSF MeterpreterConsole -Index 0 -Sessionld -Text “sysinfo'n" Read-MSF MeterpreterConsole Esta funcién permite leer resultados obtenidos tras la escritura con Write-MSFMeterpreterConsole. Es decir, con una funcién se escribe a través de la sesién para ejecutar una orden y con la otra funcién se recupera la salida de lo escrito en consola. Un ejemplo seria Read- MSF MeterpreterConsole -Id ~Sessionld Ger- MSF SessionCompatPostModule Esta funcién devuelve un listado de médulos de tipo ‘post que son compatibles con la sesién que el usuario tiene en la maquina comprometida. Un ejemplo seria Get-MSFSessionCompaiPostModule -Id -Sessionld Invoke-MSF MeterpreterCommand Esta funcién ejecuta un comando a través de la consola sobre una sesién de Meterpreter. El comando debe ser propio de Meterpreter. Un ejemplo valido es Invoke- MSFMMeterpreterCommand —Id -Sessionld -Command “‘getuiel” Write-MSFShellConsole Esta funcién eseribe un texto a través de una sesién de shell, Un ejemplo seria Write-MSFShellConsale -Id -Sessiontd -Text “ping -c 2 127.0.0.0'n" Read-MSF'ShellConsole ==. Esta funcién permite leer la salida de los comandos ejecutados a través de Write-MSFShellConsole. Un ejemplo seria Read-MSF ShellConsole -Id -Sessionld Remove-MSFSession Esta funcién finaliza la sesién del payload que se indica a través del parémetro Sessionid Tabla 4.07: Funciones de Variables en Pash-Metasploit, A continuacién se puede visualizar la ejecueién de la funcién Invoke-MSFMeterpreterCommand, con la que se consigue ejecutar un comando a través de una sesién de Meterpreter. La salida se muestra automdticamente, por lo que se puede decir que esta funcién automatiza el proceso de entrada y salida de datos, es decir, una sesién més interactiva. El ejemplo puede encontrarse en la documentacién de Posh-Metasploit. Era Pentesting con PowerShell Fig. 4.11; Ejecuciin de comanilos de Meterpreter a través de Invoke-MS¥ MeterpreterCommand, Variables ‘ste médulo se encarga de interactuar con las variables, sobretodo globales, del Framework. \demés, permite gestionar el almacenamiento de las configuraciones que el usuario haya hecho obre el entorno, lo cual equipara a la ejecucién del comando save en Metasploit. A continuacién se escriben las funciones del médulo: Funcién Deseripeién ; Esta funci6n permite interactuar con el Datastore global de variables. Set- Equivale a la utilizacién del comando sedg en sFCtobatVariabte | Metasploit. Un ejemplo seria Ser-MSFGlobalVariable -Id -Name LHOST -Value 192.168.56.101 Remave- Esta funcién permite desasignar una variable global. Un ejemplo seria MSFGlobalVariable Remove-MSFGlobalVariable -Id -Name LHOST Esta fancion almacena en la carpeta personal del usuario la configuracién de Metasploit en ese instante. Es decir, todas las variables Save-MSF Config asignadas en los médulos, todos los cambios realizados, el médulo activo, etcétera. Un ejemplo seria Save-MSFConfig -Id Tabla 4.08: Finciones dle Variables en Pash-Metasplot Indice alfabético 207 Indice alfabético A G Antak 11,170,171, 172, 207, 213 Get-Help 26, 27, 207 ASLR 88, 184, 207 H B Handler 207 Background 207 Hardeodeado 207 Base64 10, 141, 142, 143, 144, 145, 156, 189, Hash 131, 147,207 207 Help 7, 26, 27, 173, 207 Black Hat 18, 207 Hijacking 117, 119, 207, 212 Bot 207 Hyper-V 59, 207 € I Cain & Abel 207 IDS 18, 207 Check 175,207 Invoke-Mimikatz 157, 166, 167, 168, 194, 195, Command Injection 192, 207 CurrentUser 29, 207 D DEP 88, 184, 207 E Encodear 30, 207 EncodedCommand 30, 141, 142, 143, 145, 146, 148, 156, 170, 178, 179, 189, 193, 207 Ethical 3 Exifitration 207 Exploit 202, 207 F Facebook 85, 207 Find-MsfPSExec 11, 186, 207 Fingerprinting 207 Flujos de trabajo 20, 207 Foca 84,207 196, 207, 211 Invoke-WebRequest 81, 82, 85, 86, 145, 207 IPS 18, 207 J Jobs 11, 196. 198, 200, 201, 207, 213 L LocalMachine 30, 207 M Metasploit 11, 14, 59, 82, 84, 88, 109, 110, 112, 122, 123, 134, 146, 148, 164, 166, 186, 187, 189, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,202, 203. 204, 205, 206, 207, 210, 211, 213 Microsoft 13, 14, 15, 16, 17, 18, 19, 21, 25, 26, 29, 36, 38, 39, 46, 48, 57. 65, 68, 74, 75, 84, 88, 89, 92, 102, 109, 110, 117, 124, 125, 169, 189, 193, 207. 209 Msfpayload 207 feteat 110, 207 lishang 11, 18, 109, 170, 171, 172, 173, 174, 175, 176, 178, 179, 181, 182, 195, 207, 213 Imap 134, 136, 197, 203, 207 ) Jut-File $7, 170, 207 Jut-Minidump 158, 166, 168, 207 dut-Printer 57, 207 > tass the hash 31,207 rastebin 85, 86, 178, 207 "EChecker 207 rersistence 10, 11, 154, 156, 166, 169, 178, 207,213 "ESecurity 11, 184, 185, 207 ripeline 207 Posh-SecMod 10, 18, 88, 109, 133, 134, 135, 136, 137, 138, 141, 142, 144, 145, 148, 207,2 owercat 10, 13, 110, 111, 113, 114, 115, 177, 207,210 owerpreter 171, 207 Powershell Arsenal 207 PowerShell Arsenal 154, 155, 159, 160, 161, 213 Powershell ISE 47, 48, 49, 50, 207, 209 PowerShell ISE_ 19, 20,47, 48, 49 Powersploit 18, 87, 88, 109, 154, 195, 156. 158, 161, 194, 195, 207, 213 PowerTools $8, 109, 116, 117, 207, 212 PowerUp 10,88, 117, 119, 120, 121, 123, 124, 207, 210, 212 PowerView 10, 116, 117, 125, 126, 127, 128, 129, 130, 131, 207, 208, 212 Python 11, 14, 189, 192, 207 Q QEmu 59,207 Qurtuba 18, 84, 207 Pentesting con PowerShell R Recon 10, 11, 155, 158, 161, 163, 207 8 SafeSEH 88, 184, 207 ScriptBlock 33, 34, 79, 169, 170, 207 Session , 33, 34, 197, 204, 207 SET 14, 189, 190, 191, 207, 211 Shellshock 9, 79, 80, 81, 82, 83, 207, 210 Shmoocon 18, 207 SSID 173, 178, 180, 181, 207, 211 System32 46, 207 Syswow64 46, 207 T Twitter 85, 86, 208 U Unicorn.py 208 ¥ Veil-Evasion 116, 208 Veil-Framework 10, 88, 109, 116, 117, 208, 212 Veil-PowerView 116, 208 Virtual Box 59, 60, 208 w Windows Remote Management 31, 185. 208 WMI 9, 67, 72, 73, 74, 75, 76, 78, 133, 134, 142, 177, 208 x XMLRPC 134, 196, 203, 208 Indice de imagenes y tablas Eg Indice de imagenes Fig. 1.01: Fig. 1.0; Linea de comandos de PowerShell. Eleccién de idioma en la descarga de PowerShell Fig. jecucién del cmidet get-alias y obtencidn de los alias disponibles. Fig, 1.04: Ejecucién de un proveedor que permite gestionar el registro en la ruta HKCU. Fig. 1.05: Obtencién de los alias de set-location. Fig, 1.06: Ejecucién de get-alias con el parimetro name para el filtrado de la salia Fig. 1.07: Ejecucién en un pipeline Fig, 1.08: Error sobre equipo remoto de no confianza. Fig. 1.09: Correccién del error de equipos de confianza..... Fig. 1.10: Creacién de sesién remota con otras credenciales. Fig, |. 1: Eleccién de la sesién y ejecueién de una instruccién remota. Pig. 1.12: Ejecucién de un script remoto....... Fig. 1.13: Lanzar una PowerShell en remoto. . Fig. 1.14: Creacién de una cadena segura obtenida por teclado.... Fig. 1.15: 2 Cadenas seguras con el mismo texto son distintas. Fig. 1.16: Recuperacién de una clave segura a plano. Captura de credenciales con Get-Credential... : Mietosoft Windows SDK v7.0... Z : Creacién de la entidad certificadora de confianza. ): Emisién del certificado con propésito de firma de cédigo. Firma del sri sire : Listado de informacién de Get-Command. .. : : Propiedades para la personalizacién del entorno de PowerShell. : Personalizacién de colores en Powershell Powershell ISE .. 5: Fichas en Powershell ISE. : Ejecueién de un script con Powershell ISE.... ;cucién selectiva de lineas o instrucciones en Powershell ISE. : Puntos de ruptura o breakpoint en Powershell ISE. : Paginacidn de salida con el cmdlet Out-Host . Obtencién de pistas en binarios de servicios sin comillas. 2 Creacién de objeto. : Creacién de un objeto COM en Powershell... : Utilizacion de filtros de objetos con Powershell... Obtencidn de métodos estiticos en clases de NET Framework..... Pentesting con PowerShell Fig, 2.15: Lectura de propiedades estaticas de clases NET Framework, Fig. 2.16: Listado del proveedor de funciones, Fig. 2.17: Captura de cédigo de una funcién implementad: Fig, 2.18: Obtencién de aplicaciones instaladas con Windows Installer Fig. 2.19: Nombres de las aplicaciones con los desinstaladores de Windows ‘Install Fig, 2.20: Obtencién de la capacidad y espacio libre de las unidades de la maquina, Fig. 2.21: Obtencién del estado de los servicios... . Fig, 222: Ejecueién del soript que explota la vulnerabilidad de Shellshock. . Fig, 2.23: Configuracién del médulo exploit/multi/handler de Metasploit para recibir conexién. Fig. 2.24: Cédigo en un fichero TXT de una funcién que se puede cargar con el bot. Fig, 2.25: Ejecucién de la funcién de Mimikatz.a través de PSBo . Fig. 2.26: Ejecucién de un workflow basico, Fig. 2.27: Ejecucién en paralelo. Fig. 2.28: Bjecucién en paralelo con tareas secuenciales, Fig, 2.29 : Ejecucién de InlineScript. Fig. 2.30: Aproximacién a la estructura WinNT:. Fig. 2.31: Acceso y listado de recursos en el proveedor deuctive Directory. Fig, 2.32: Cambio de contenedor y listado de objetos.... Fig. Instalaci6n del médulo en la version Windows Server 2008 Ro Fig. Importacién del médulo de IS (1* parte). Fig. : Importacién del médulo de IIS (2* parte)... Fig. 2.35: Acceso y listado de recursos en el proveedor de IIS. Fig. 2.36: Creacién de un pool de aplicaciones. Fig. 2.37: Creacién de una aplicacién web. Fig, 2.38: Creacién de un sitio web. Fig. 2.39: Creaci6n de un sitio FTP en Powershell. Fig. 2.40: Creacién del backup de la configuracién de un Fig. 3.01: Conexién a Metasploit a través del cliente powereat. .... Fig. 3.02: Conexi6n a una powercat a la escucha que sitve una Pow! exShell Fig. 3.03: Envio de una PowerShell a una maquina Linux a la escucha con neteat, Fig. 3.04: Envio del contenido de un fichero a través de powercat. “ Fig, 3.05: Escaneo basico al puerto 80 de una maquina remota con powercat.. Fig, 3.06: Powercat sirve un fichero con Ia instruccién para ejecutar Meterpreter.. Fig. 3.07: Obtencién de shellcade creando conexidn con el servidor.. Fig. 3.08: Obteneién del control remoto de una maquina a través de PowerShell. Fig. 3.09: Reporte de resultados de las funciones de escalada de PowerUp. Fig. 3.10: Deteccién de un servicio sin comillas en [a ruta del binatio. Fig. 3.11: Creacién del binario malicioso. ' Fig, 3.12: Obtencién del méximo privilegio en remoto a través de Meterpret Fig, 3.13: Deteccion de binario con permisos mal configurados. Fig, 3.14: Creacién de binario personalizado con instruccién maliciosa. ... Fig, 3.15: Creacién de usuario y adicién al grupo administradores... Fig, 3.16: Deteccién de configuracién errénea de AlwaysinstallElevated indice de imagenes y tablas Fig. 3.17: Creacién de usuario a través de aplicacién lanzada con un paquete MSI. Fig. 3.18: Conversién de SID a nombre de usuario y viceversa. Fig. 3.19: Recoleccién de informacisn con Invoke-Netview. . . Fig. 3.20: Encontrando méquinas dénde el usuario tiene acceso de administrador, Fig. 3.21: Descubrimiento de maquinas a nivel de enlace con ARP Scan...... sjecuci6n de un escaneo a través de ICMP en una red : Ejecucion de un escaneo de puertos TCP... : Seleccionando un rango de puertos TCP con Invoke-Poriscan, Resolucién inversa de direcciones IP obtenidas a través de fichero personalizado, ‘ompresién de un fichero de PowerShell para su posterior ejecucién, . Descarga en base64 de psexec y transformacién a binario. . : Creacién de cédigo de la shell inversa. Configuracién de exploit/multi/handler. |: Decodificacidn de base64 a String, ..... : Generacién de cédigo para realizar el hashdumy : Obtencién de usuarios y hashes. : Recuperacién de informacién de un host conereta en Shodan. Buisqueda de exploits a través de Shodan... . Medicién de hosts encontrados en Shodan con una condicién determinada Subida de muestra para andlisis y recuperacién de informacién de VirusTotal.. : Descubrimiento de maquinas en una red a través de ICMP... : Descubrimiento de puertos abiertos con Invoke-Portscan. : Obtencién de direeciones URL de un servidor. : Obtencidn de sesién de Meterpreter con reverse_https... : Enumeracién de tokens en el sistema. : Dumpeo de credenciales con Mimika Fi Obtencién de un volcado de memoria de un proceso..... Visualizacién del yolcado de memoria... Obtencién de instruccién encodeada para almacenarla en un registro TXT. : Configuracién del servidor DNS. . : Ejecucién del script recuperado a través del DNS. : Ejecucién de comandos a través de la red WiFi... : Descarga de script y ejecucidn a través de SSID de red WiFi Obtencién de PowerShell inversa interactiva en remoto... Captura de challenge/response en hashes NTLM. .. ' Obtencién de mecanismos de seguridad en los binarios de un directorio, : Deteccién de Meterpreter con PowerShell. : Meni de SET con distintos veetores de ataque. Fig, 4.02: Opciones que proporciona SET sobre PowerShe' Fig, 4.03: Configuracién de Alphanumeric Shellcode Injector Fig. 4.04; Instruccién generada con SET para PowerShell... Fig. 4.05: Toma de control en remoto de la maquina con acceso fisico. Fig. 4.06: Obtencién de una PowerShell interactiva con Metasploit... Ea Pentesting con PowerShell Fig. 4.07: Carga de scripts en la sesion de PowerShell interactiva en Metasploit... 195 Fig. 4.08: Ejec. de la funcién Invoke-Mimikatz a través de la PowerShell interactiva |* parte.... 195 Fig. 4.08: Ejec. de la funcién Invoke-Mimikatz a través de la PowerShell interactiva 2* parte.... 196 Fig, 4.09: Ejemplo de ejecucién de comandos a través de Invoke-MSFConsoleCommand, ....« 198 Fig, 4.10: Recuperacién de informacién de los job que ejecutan en Metasploit. 201 Fig. 4.11: Ejec. de comandos de Meterpreter a través de Invoke-MSFMeterpreterCommand. ....206 Indice de imagenes y tablas - Eg Indice de tablas Tabla 1.01: Ejemplo de alias UNIX y su emdlet equivalent... Tabla 1.02: Definiciones de los proveedores por defecto...... Tabla 1,03; Parémetros importantes para la creacién de sesiones. Tabla 1.04: Propiedades de las cadenas seguras en PowerShel Tabla 1.05: Métodos de los objetos SecureSiring, Tabla 1.06: Parametros del comando makecert, Tabla 2.01: Tipos de perfiles y rutas en Powershell. Tabla 2.02: Ejemplos de variables predefinidas. Tabla 2.03: Operadores aritméticos. am Tabla 2.04: Operadores de comparacién. 3 Tabla 2.05: Operadores légicos.. 53 Tabla 2.06: Elementos de comparacién para FilterScrip 66 Tabla 2.07: Comandos para tratamiento de procesos y servicios. 72 Tabla 2.08: Recopilando informacion con Get-WmiObject. . 4 Tabla 2.09: Parametros de Register-WmiE vent. 8 ‘Tabla 2.10: Pardmetros LDAP. rd Tabla 2.11: Cmdlet de creacién de objetos. 100 Tabla 2.12: Pardmetros de New-ADUser 100 Tabla 2.13: Parametros de New-ADGroup.... oe 101 Tabla 2.14: Cmdlets para la gestién del pool de aplicaciones. .. 105 Tabla 2.15: Cmdlets para la gestién de aplicaciones web. .. 106 Tabla 2.16: Cmdlets para la gestion de sitios web. 107 Tabla 3.01: Algunos parametros de netcat. 110 Tabla 3.02: Parimetros de powereat..... 112 ‘Tabla 3.03: Elementos que forman PowerTools de Veil-Framework 17 Tabla 3.04: Funciones para la enumeracién de servicios y debilidades... 117 Tabla 3.05: Funciones para el aprovechamiento de debilidades en servicios. 118 Tabla 3.06: Funciones para realizar DLL Hijacking... . 119 Tabla 3.07: Funciones para realizar el chequeo de configuraciones en el registro. 119 Tabla 3.08: Funciones Helpers de PowerUp. 120 Tabla 3.09: Funciones de la categoria otros de PowerUp. 121 Tabla 3.10: Funcionalidades de red de PowerView.... 127 Tabla 3.11: Funcionalidades de user-hunting de PowerView. . Tabla 3.12: Funcionalidades de domain trust de PowerView. Tabla 3.13: Metafunciones y otras funciones de PowerView....... 128 130

You might also like