"Elevacion de privilegios Windows 7,8,10, Server 2008, Server 2012 con hot-potato."
estas herramientas hacen uso de algunas malas implementaciones en la gestion de los diversos protocolos que soporta windows, y no es posible su modificacion o parque ya que se podrian afectar las compatibilidades de los mismos protocolos asi como algunos antiguos.
Los ataques se basan en los siguientes metodos:
NBNS Spoofing (NetBios sobre TCP/IP o NetBios Name Service),
WPAP (Web Proxy Autodiscovery Protocol)
HTTP > SMB NTLM Relay (autenticación NTLM de HTTP a SMB).
Analizaremos el formato breve y simplificado del netbios, para saber mas sobre el netbios , consulte los rfc 1001 y 1002.
este es el paquete con todas sus caracteristicas especiales del ancestral protocolo NetBios.
ahora nos toca ir descargando nuestro querido toolkit de herramientas "magicas" para nuestra necesaria elevacion de privilegios.y como me sirve esto si necesito tener acceso fisico ala maquina o ala linea de comandos?, pues facil, puedes montar un backdoor en la maquina , un servidor ftp por ejemplo, y subirlo silenciosamente sin que la victima se de cuenta.
Las versiones afectadas ppor este exploit y sin una actualizacion previa sobre el fallo de seguridad, osease sistemas operativos windows no parcheados son los siguientes:
- Windows 7
- Windows 8
- Windows 10
- Windows Server 2008
- Windows Server 2012
Podremos analizar que casi todos los sistemas operativos windows comparten una simulitud y esa misma similitud es que utilizan el protcolo smb o de comparticion de recursos ren red, smb es una utilidad ojo no confundir con samba que es otro protocolo que funciona en una inter-comunicacion entre diferentes sistemas operativos, habiendo aclarado esto ultimo, entonces procedemos a investigar que lo que realiza este smb es permitir ciertos detalles dentro de los sistemas operativos de microsoft como por ejemplo para la autentificacion y el envio de mensajes entre estaciones cliente.
como funciona?
Spoofer NBNS local NBNS es un protocolo UDP de transmisión para la resolución de nombres que se usa comúnmente en entornos Windows. En las pruebas de penetración, a menudo rastreamos el tráfico de la red y respondemos a las consultas NBNS observadas en una red local. Para propósitos de escalada de privilegios, no podemos asumir que podemos rastrear el tráfico de red, entonces, ¿cómo podemos lograr la suplantación de NBNS?
Si podemos saber de antemano para qué host una máquina de destino (en este caso nuestro destino es 127.0.0.1) enviará una consulta NBNS, podemos crear una respuesta e inundar el host de destino con respuestas NBNS (ya que es un UDP protocolo). Una complicación es que un campo de 2 bytes en el paquete NBNS, el TXID, debe coincidir en la solicitud y la respuesta. Podemos superar esto inundando rápidamente e iterando sobre los 65536 valores posibles.
¿Qué pasa si el host que estamos intentando falsificar ya tiene un registro DNS? Bueno, podemos FORZAR que las búsquedas de DNS fallen de una manera divertida. Usando una técnica llamada "agotamiento de puertos", nos vinculamos a todos los puertos UDP. Cuando intente realizar una búsqueda de DNS, fallará porque no habrá ningún puerto de origen disponible para que llegue la respuesta de DNS.
En las pruebas, esto ha demostrado ser 100% efectivo.
##### 2. Servidor proxy WPAD falso Con la capacidad de falsificar respuestas NBNS, podemos apuntar a nuestro spoofer NBNS en 127.0.0.1. Inundamos la máquina de destino (nuestra propia máquina) con paquetes de respuesta NBNS para el host "WPAD" o "WPAD.DOMAIN.TLD", y decimos que el host WPAD tiene la dirección IP 127.0.0.1.
primeramente, vemos en la siguiente imagen el grupo de usuarios que podemos encontrar en nuestras maquinas con los siguientes comandos:
y ahora si nos metemos dentro del grupo de los administradores:
como no somos administradores dentro de la maquina local previamente escaneada, entonces nuesytro objetivo primordial aqui es convertirnos en usuario administrador ya sea con el mismo usuario o con los mismos privilegios que tiene este usuario que vemos en la imagen anterior.
para poder usar el exploit, tendremos primeramente que compilarlo ya que en el repositorio de las referencias el desarollador ha porteado este exploit a c# lo que consecuentemente podriamos compilar en un binario .exe de windows para su facilitacion dentro de la ejecucion en entornos windows.
Para explotar esa tecnica con las librerias dinamicas adecuadas DLL se tiene que subir al sistema para ejecutar el servicio NBNS y lograr espoofear el servicio para capturar las conexiones que tienen las credenciales correspondientes.
El comando siguiente ejecutara y levantara el servicio NBNS para tratar de spofear el servicio y capturar los procesos adecuados:
Potato.exe -ip -cmd [cmd to run] -disable_exhaust true -disable_defender true
Siendo -ip la direccion ip en donde nos encontramos osease la direccion ip de la maquina en donde queremos escalar privilegios, -cmd pondremos el comando adecuado que queremos por ejemplo si queremos ejecutar algun comando que necesite privilegios de administrador pues aqui es donde lo tendremos que ejecutar por ejemplo si queremos agregar un usuario o queremos agregar dicho usuario a un dominio local para que se agregue al dominio de los administradores.
Por eemplo un comando de ejemplo cmd seria el siguiente:
"C:\\Windows\\System32\\cmd.exe -k net localgroup administradores pentesterdiaries /ADD -disable exhaust true -disable_defender "
Lo que hace el comando anterior es lo siguiente:
agregamos mediante -k al grupo local de administradores al usuario pentesterdiaries y desactivamos el defender ademas
si quisiesemos por ejemplo agregar un comando mas para desactivar el firewall seria algo asi
netsh disable
el argumento -cmd puede ser cualquier comando cmd.
Podriamos ejecutar lo siguiente y vemos en las imagenes siguientes que se ha ejecutado con exito el exploit y se ha logrado elevar los privilegios correspondientes al grupo de administradores local en la maquina que estemos atacando.
podremos ver que se esta ejecutando el servicio NBNS y se esta suplantando o spoofeando como se menciono en la teoria correspondiente dentro de este mismo articulo, vemos que estamos obteniendo los hashes correspondientes de windows en este caso los NTLM que pasan en texto plano y agregamos al verdadero hash un 401 ademas de que agregamos nuestro hash propio para suplantar y agregar nuestro usuario al dominio local de administradores.
analizamos que el smb relay ha sido inicializado y que el servicio ha sido levantado para empezar a falsificar los paquetes smb como hemos comentadio anteriormente.
y vuala! Hack the planet
desde aqui ya el sistema atacado es todo nuestro, es decir ya estamos dentro y con privilegios de administrador incluidos.
solo faltaria verificar que se ha agregado el usuario que hemos mencionado dentro del argumento -cmd de la herramienta con el comando correspondiente como vimos en las primeras imagenes con el comando net localgroup administradores o administrators podemos verificar si se ha agregado el usuario que hemos decidido al dominio local de administradores evadiendo asi toda restriccion y seguridad de windows y convritiendonos en administadores pudiendo hacer todo lo que queramos dentro del sistema como ataques de post-explotacion.
REFERENCIAS Y ENLACES TECNICOS:
elevar privilegios
exploits
windows 10
windows 7
windows 8
0 comments:
Publicar un comentario