Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-65400 — Apple MacOS Screen Sharing: lectura/escritura arbitraria de archivos -> RCE | Kitploit
Herramientas/GitHubGitHub/acheong08/cve-2026-65400
Escalada de PrivilegiosMecanismos de PersistenciaExplotaciónExfiltración de DatosPost-ExplotaciónPruebas de Penetración
GitHubacheong08/cve-2026-65400

CVE-2026-65400

Apple MacOS Screen Sharing: lectura/escritura arbitraria de archivos -> RCE

Ver Repositorio
2hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-65400

Por primera vez en mucho tiempo, tenemos un RCE en MacOS.

Descubierto originalmente por @osxreverser, y posteriormente ampliado por bynar.io. Ver https://blog.calif.io/p/no-country-for-old-passwords para más información.

Esto se deriva principalmente del trabajo de @panchocosil (bueno, de Claude...), que publicó un PoC de solo lectura. El repositorio de @HORKimhab parece ser un poco falso, especialmente porque get-svn.sh parece un intento de ataque a la cadena de suministro posterior.

De todos modos, logré que la escritura funcionara y, a partir de eso, RCE.

Inicio rápido

root@kitploit:~
usage: exploit.py [-h] [-w LOCAL] [-m MODE] [-p PORT] [-u USER] [-r RETRIES] [-t TIMEOUT] [-o FILE] ip [path]
  • Modo: cuando se escribe en un archivo, los permisos que tiene. Así como 0644 y cosas así (cosas de unix)
  • Usuario: por defecto es root. Obviamente quieres root
  • Los fallos son esperables. El bug es un poco propenso a condiciones de carrera. Puedes aumentar los reintentos, pero generalmente funciona en 20.
  • Usa -o para escribir el archivo leído en un archivo local. Útil para binarios
  • El puerto por defecto es 5900. Ese es el puerto estándar para VNC.
  • -w para escribir un archivo local en [path].

¿RCE desde lectura?

Algo posible. En MacOS, ejecutar read sobre un directorio (en lugar de un archivo), vuelca el contenido crudo del directorio (todos los archivos que contiene). Así que no poder listar archivos no es un problema.

Así que primero un poco de reconocimiento. python3 exploit.py <ip_addr> /Library/Preferences/com.apple.loginwindow.plist te da el nombre de usuario de los usuarios con sesión iniciada. Luego, puedes leer /User/<username>/.ssh/ y esperar que quizás ssh también esté habilitado (normalmente cuando VNC lo está, SSH también).

Dado que la lectura se hace desde root e ignora TCC (por lo que tengo entendido), puedes directamente volcar los historiales del navegador y (¿quizás?) las cookies. Normalmente eso es suficiente.

RCE desde escritura.

En todos los casos, puedes escribir en /Library/LaunchDaemons/ y esperar a un reinicio. Entonces tendrás persistencia. Pero, por supuesto, somos impacientes, así que hay mejores formas.

A menudo habrá registros existentes que puedes sobrescribir. Por ejemplo, /Library/PrivilegedHelperTools/com.microsoft.autoupdate.helper, us.zoom.ZoomDaemon y com.microsoft.teams.TeamsUpdaterDaemon se ven comúnmente instalados.

root@kitploit:~
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>AbandonProcessGroup</key>
	<true/>
	<key>Label</key>
	<string>com.microsoft.EdgeUpdater.wake.system</string>
	<key>LimitLoadToSessionType</key>
	<string>System</string>
	<key>ProgramArguments</key>
	<array>
		<string>/Library/Application Support/Microsoft/EdgeUpdater/Current/EdgeUpdater.app/Contents/MacOS/EdgeUpdater</string>
		<string>--wake-all</string>
		<string>--enable-logging</string>
		<string>--vmodule=*/components/update_client/*=2,*/chrome/updater/*=2</string>
		<string>--system</string>
	</array>
	<key>StartInterval</key>
	<integer>3600</integer>
</dict>
</plist>

Mirando esto, podemos ver que el binario en /Library/Application Support/Microsoft/EdgeUpdater/Current/EdgeUpdater.app/Contents/MacOS/EdgeUpdater se ejecuta en un intervalo determinado.

Entonces podemos reemplazar ese binario y, incluso sin tener que lidiar con launchctl, ¡tenemos RCE!

Cosas divertidas.

Descargar herramienta