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
exploit_playground — Analysis of public exploits or my 1day exploits | Kitploit
Herramientas/GitHubGitHub/externalist/exploit_playground
Android SecurityiOS SecurityVulnerability AnalysisExploitationReverse EngineeringWeb SecurityLearning & EducationCurated ResourcesBinary Exploitation
GitHubexternalist/exploit_playground

exploit_playground

Analysis of public exploits or my 1day exploits

61698hace 5 añosRevisado por Kitploit

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
Ver Repositorio

Acerca de

Aquí es donde publicaré análisis de exploits públicos, o algunos de mis exploits 1day.

[ Análisis de exploits públicos ]

  • Personalmente creo que la mejor manera de aprender un exploit público es entendiéndolo línea por línea hasta que pueda comprender el exploit al máximo. Publicaré algunos de estos exploits (excesivamente comentados ;) ) para que, con suerte, otros puedan aprender de ellos, y como un intento de devolver algo a la comunidad. También con fines de documentación, porque estas cosas se desvanecen de mi cabeza a medida que pasa el tiempo.

CVE-2016-8655

  • Este es un análisis detallado del exploit de rebel.
  • ¡Gracias rebel por el increíble exploit! :D

CVE-2016-5342

versión mp3

  • Esta es una versión comentada del exploit LPE de Android de freener
  • arm32
  • Desbordamiento de heap
  • Este exploit sobrescribe directamente un puntero a función de otro objeto

versión tty

  • Esta es una versión comentada del exploit LPE de Android de freener
  • arm32
  • Desbordamiento de heap
  • Este exploit sobrescribe un puntero a objeto en otro objeto. Utiliza el ataque ret2dir para hacer que el puntero corrupto apunte a una dirección fija predecible en el kernel que contiene la carga útil del exploit. Esta técnica de exploit evita PXN y PAN.

CVE-2016-2434

  • Esta es una versión comentada del exploit LPE de Android de Jianqiang Zhao
  • arm64
  • Pone a cero 16 bytes en una dirección arbitraria
  • Este exploit borra 16 bytes de un objeto global útil, que se encuentra en una dirección fija en el kernel.
  • Un puntero a objeto corrupto dentro del objeto global hace referencia a la carga útil del exploit desde userland. Este tipo de ataque no funcionará en dispositivos/kernels con PAN(o emulación de PAN).

extra_recipe

  • Mi intento de entender el jailbreak extra_recipe
  • Estaba especialmente interesado en la parte del bypass de kpp. Aunque había un par de diapositivas sobre el tema de las que podía obtener una imagen vaga del bypass, realmente quería profundizar en los detalles finos y ver qué está sucediendo realmente dentro del código
  • También quería entender los ingredientes finales para un jailbreak(Instalar Cydia, etc.)

yalu102 (ViewController.m)

  • Comenté la parte relevante al error real y cómo fue explotado.
  • La razón por la que investigué yalu102 en lugar del exploit original es porque la técnica de port-feng-shui parecía más limpia y directa de entender.
  • El análisis se detiene justo antes del bypass de kpp

extra_recipe-master de xerub (jailbreak.c, unjail.m, patchfinder64.c, pte_stuff.h)

  • Salté aquí porque tenía un poco más de información sobre los diversos offsets numéricos.
  • Además, el patchfinder.c está intacto, a diferencia de yalu102 del que solo hay un archivo objeto.
  • La parte de cydia está algo incompleta, así que salto a la rama cydia después de kpp

extra_recipe-cydia de xerub (unjail.m)

  • Tratando de entender los ingredientes para un jailbreak después de tfp0 y la post-explotación

empty_list (sploit.c)

  • Un desglose detallado del exploit de kernel empty_list de Ian Beer.
  • Utiliza técnicas asombrosas para comenzar desde primitivas realmente débiles, construir un AAR más fuerte y, finalmente, construir un task port completo. La magia de los puertos detrás del código del exploit es increíble. Todo esto con un desbordamiento de heap de 8 bytes NULL. Absolutamente alucinante.
  • He garabateado algunas ideas ingenuas para mejorar la fiabilidad. Esperemos que alguien publique una versión más fiable del exploit en el futuro. :)
  • ¡Gracias Ian Beer por el increíble exploit!

CVE-2018-4233

  • Esta es una versión comentada del exploit de iOS Webkit de @niklas_b.
  • ¡Un enorme agradecimiento a kudima(@begger_dd) por el writeup muy claro y conciso, minuciosamente anotado! :)
  • El writeup explica el bug de confusión de tipos en JIT, algunas limitaciones en las conversiones de boxing/unboxing(que podrían introducir falta de fiabilidad), y un recorrido detallado de cómo se construyen las primitivas AAR/AAW tempranas/tardías. También proporciona información sobre los cambios en las técnicas de explotación después de la reciente ronda de mitigaciones(index masking, envenenamiento del backing store de ArrayBuffer, algunos cambios en el mecanismo de W^X JIT, cambios en la estructura de JSObject, etc.)

jsc_ConcatMemcpy_infoleak

  • Esta es una versión comentada del exploit de infoleak de WebKit de kudima(corregido en 2018.8.27).
  • Se origina de un arreglo incompleto de uno de los bugs reportados por lokihardt. El parche del informe de lokihardt corrigió la primitiva de confusión de tipos Double -> Object, pero no la corrigió al revés; Object -> Double.
  • Rocía el heap de webkit con butterflies que contienen un solo objeto y un marcador, y más tarde activa el bug de concat y llena una gran porción de varios double arrays con datos de heap no inicializados. Itera a través de los double arrays no inicializados producidos por el concat con bug hasta que encuentra la dirección del objeto previamente rociado y la filtra.
  • Gracias de nuevo a kudima(@begger_dd) por el buen exploit y el writeup. :)

jsc_prop_enum_uaf

  • Esta es otra contribución de kudima. Es una versión comentada del exploit de ejecución remota de código en WebKit de kudima(corregido en este commit). Está corregido en iOS 12.1 y funciona hasta iOS 12.0.1.
  • El problema es que mientras se ejecuta código en bucles forin con baseline-jitted, se puede introducir código que libera el objeto StructureID que respalda el JSOBject y activa el recolector de basura, pero el recolector de basura no marca el miembro "JSPropertyNameEnumerator->m_cachedStructureID", y el objeto StructureID al que apunta "JSPropertyNameEnumerator->m_cachedStructureID" se libera durante la fase de barrido, lo que resulta en un puntero colgante.
  • Después de que el objeto StructureID se libera con GC, puedes introducir código que crea un nuevo objeto StructureID, que ocupa la ranura del "objeto StructureID" previamente liberado.
  • Al liberar el StructureID del objeto A, y luego hacer que el objeto B cree un nuevo StructureID que ocupe su lugar, es posible crear una situación de confusión de tipos porque "JSPropertyNameEnumerator->m_cachedInlineCapacity" se establece al tamaño de propiedad inline del objeto A, mientras que "JSPropertyNameEnumerator->m_cachedStructureID" apunta al nuevo objeto Structure ID que representa al objeto B. Esto hace que una verificación en 'op_get_direct_pname' pase y permite que el objeto B acceda a propiedades inline fuera de sus límites.
  • Esto puede ser abusado para construir primitivas más fuertes como AAR/AAW, y luego usarlo para ejecutar código arbitrario.
  • Gracias a kudima(@begger_dd) por el genial exploit y el writeup muy detallado. :)

[ 1Day ]

CVE-2017-2547

  • Un día miré el exploit de singi después de que se presentara en Zer0con 2018 y decidí mejorarlo.
  • Esta es una versión independiente del exploit, antes de integrarlo en pwnjs.
  • Las mejoras incluyen
    • Mayor fiabilidad(funciona perfectamente después de extensas sesiones de navegación con memoria contaminada)
    • Eliminados todos los offsets hardcodeados para hacerlo compatible con varias versiones del navegador
    • Usé una técnica de explotación diferente(la técnica estándar de desalineación)
    • Finalmente lo integré en el framework pwnjs creando un prototipo de webkit
    • Hice el código mucho más legible y agregué muchos comentarios
  • Agradecimientos especiales
    • qwertyoruiop y Samuel Grob por el increíble artículo de phrack y los exploits públicos
    • Brian Pak y Andrew Wesie por el increíble framework pwnjs!
Descargar herramienta