Una vulnerabilidad SQL consigue burlar la seguridad de los aeropuertos y acceder a las cabinas de los aviones
La ciberseguridad es un tema a tratar muy importante, pues cada vez tenemos más dispositivos electrónicos que pueden ser vulnerados, además de los ordenadores y móviles. Así es como hemos podido ver brechas de seguridad en sistemas como las cerraduras de puertas de hoteles, donde era bastante sencillo aprovecharse del exploit. También se ha encontrado una forma sencilla de acceder a cabinas de aviones tras un fallo de la TSA y la aparición de una vulnerabilidad SQL que permitía ignorar la seguridad.
Para poder viajar de un país a otro mediante avión, nos vamos a tener que asegurar que lo que llevemos en la maleta es totalmente legal y no solo eso, sino que tendremos que pasar varios controles para asegurarnos de que no cometemos ningún delito. Este sistema de seguridad se centra en las posesiones materiales principalmente, pero los aeropuertos también tienen una administración que se encarga de mantener la seguridad a nivel electrónico. En Estados Unidos esta sería la TSA (Transportation Security Administration), la misma que acaba de tener un fallo garrafal.
Unos investigadores encuentran una vulnerabilidad SQL que les permite ignorar la seguridad en los aeropuertos y acceder a los aviones
In April, @samwcyo and I discovered a way to bypass airport security via SQL injection in a database of crewmembers. Unfortunately, DHS ghosted us after we disclosed the issue, and the TSA attempted to cover up what we found.
Here is our writeup: https://t.co/g9orwwgoxt
— Ian Carroll (@iangcarroll) August 29, 2024
Ian Carroll ha publicado en X toda la historia de lo ocurrido, siendo este uno de los dos investigadores que encontraron una forma de saltarse la seguridad del aeropuerto usando SQL. En su blog podemos ver que su objetivo era el KCM (Known Crewmember), un sistema de la TSA que permite a los pilotos y auxiliares evadir los controles de seguridad mientras proporcionen su código de barras y/o número de empleado. Esto certificará que es un trabajador y podrá acceder sin tener que pasar por un sistema de seguridad.
Lo mismo ocurre en la cabina con CASS (Cockpit Access Security System) y permiten que pueda certificarse que es un piloto certificado y así usar un asiento auxiliar en vez del de pago habitual. Hay un total de 77 aerolíneas que usan KCM y CASS y para empezar este ataque han accedido a un proveedor de sistemas de autorización usando la web de terceros FlyCASS. Es en esta web donde encontraron que con poner una comilla en el nombre de usuario habían logrado una vulnerabilidad, saltando un error de MySQL y por tanto habían encontrado una inyección SQL.
Logran ser administradores del sistema con un nombre y contraseña de usuario sencillas de adivinar y tras esto podían asignar pilotos y autorizaciones
Utilizando un nombre de usuario ' o '1'='1 y la contraseña de ') o MD5('1')=MD5('1 consiguieron iniciar sesión en FlyCASS como administrador de Air Transport International. Algo aparentemente tan sencillo como esto había conseguido saltarse toda la seguridad y permitió que los investigadores pudieran hacerse pasar por administradores de dicha marca, pudiendo gestionar la lista de pilotos y asistentes de vuelo.
El sistema de seguridad era tan pobre que una vez dentro no había ningún tipo de verificación o autentificación para poder hacer cosas como agregar un nuevo empleado a la aerolínea. También se podía certificar que estos nuevos trabajadores estaban aprobados por la KCM y CASS. Con esto ya nos podemos hacer una idea de que era posible hacer esto para saltarse los controles seguridad y acceder a las cabinas de los aviones.