miércoles, 29 de octubre de 2014

ZDI-14-071 - KingSCADA Stack Overflow - Tutorial sobre la realización del exploit.

Por fin tras más de 5 años, me animo a participar de nuevo en otro concurso de Exploiting de CrackSLatinoS. De esta forma también pongo mi granito de arena para que se sigan proponiendo y resolviendo estos retos tan interesantes y útiles.

Enunciado del reto:
Uno de los motivos que me ha impulsado a resolverlo precisamente es el atractivo de su enunciado:

http://www.zerodayinitiative.com/advisories/ZDI-14-071/

Simple, ¿verdad? También muy real.

Del advisory inicial se extrae la siguiente información:
This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of WellinTech KingScada. Authentication is not required to exploit this vulnerability. The specific flaw exists within the protocol parsing code contained in kxNetDispose.dll. The parent service is called AEserver.exe and listens on port 12401. The process performs arithmetic on an user-supplied value used to determine the size of a copy operation allowing a potential integer wrap to cause a stack buffer overflow. An unauthenticated attacker can leverage this vulnerability to execute code under the context of the SYSTEM user.

Y del CVE asignado, indicado en el mismo advisory, se indican los detalles de las versiones afectadas y no afectadas:

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0787

Stack-based buffer overflow in WellinTech KingSCADA before 3.1.2.13 allows remote attackers to execute arbitrary code via a crafted packet.

Tutorial:
El tutorial muestra todo el proceso desde la búsqueda de las versiones disponibles, el binary diffing de las mismas para analizar el parche y modificaciones realizadas en la versión vulnerable y la versión solucionada, análisis en dinámico para llevar el flujo a los bloques básicos objetivos, análisis del crash y finalmente la elaboración del exploit utilizando mona.py.

Podéis descargar el tutorial desde mi repositorio a la derecha del blog o directamente pinchando aquí

Espero que os guste y os animéis a practicar con este software.

2 comentarios:

Anónimo dijo...

Lectura finalizada.
Espectacular la claridad en el desarrollo de la explicación y el detalle con el que se trata cada punto. Queremos muchos más como éste!!!

SoyTuAno

Boken dijo...

Muchas gracias OGT!! ;P

Me alegro que te haya gustado. Yo también quiero hacer más. Votemos por días de 48 horas, o para avanzar en la investigación de pastillas para no necesitar dormir jejeje