[Contribution] NASA sous-domaines : multiples vulnérabilités

nasa-logo
27
janv.
2015
  • Google Plus
  • LinkedIn
  • Viadeo
Posted by: Yann C.  /   Category: Contributions / SQLi / Vulnérabilités, exploits et PoC / XSS   /   Pas de commentaire

Plusieurs sous-domaines de la NASA présentent des vulnérabilités d’injection de code (JavaScript XSS / SQLi ColdFusion).

Introduction

Au cours de mes navigations dominicales sur la toile, j’ai atterri sur un portail gouvernemental de la NASA, la National Aeronautics and Space Administration, qui à titre de rappel,  est responsable du programme spatial civil des États-Unis.

En parcourant les pages du PDS, le portail des archives des données planétaires (Planetary Data System), j’ai rebondi sur d’autres projets de la NASA et j’ai pu y découvrir quelques vulnérabilités que je me suis empressé de signaler.

Le portail web de la NASA et ses nombreux projets / sous-domaines ont depuis tous temps été très prisés par les assaillants ; notamment dû à la renommée internationale de cette entité gouvernementale spécialisée dans la recherche spatiale. On recense plusieurs piratages et/ou découvertes de vulnérabilités dans les espaces de l’agence au cours des dernières années.

Dans le cadre de mes recherches, les vulnérabilités s’illustraient de manière canonique comme suit :

Vulnérabilités

Le Planetary Data System (PDS)

PoC

NASA PDS Reflected XSS

NASA PDS Reflected XSS

Simple RXSS au niveau du paramètre GET « INSTRUMENT_HOST_ID » de la page « viewHostProfile.jsp » qui n’était pas suffisamment traité / nettoyé avant d’être utilisé au sein de la page.

Syntaxe

http://pds.nasa.gov/ds-view/pds/viewHostProfile.jsp?INSTRUMENT_HOST_ID=NH<img src='x' onerror='alert(/Reflected XSS - Yann CAM @ASAfety/)' />

Le NASA’s Archive of Data on Energetic Phenomena (HEASARC)

PoC

NASA heasarc RXSS n°1

NASA heasarc RXSS n°1

NASA heasarc RXSS n°2

NASA heasarc RXSS n°2

Simple RXSS au niveau du paramètre GET « sid » de la page « vresults.pl » qui n’était pas suffisamment traité / nettoyé avant d’être utilisé au sein de la page.

Syntaxe

http://heasarc.gsfc.nasa.gov/vo/validation/vresults.pl?show=details&sid=1337<script>alert(/Reflected XSS - Yann CAM @ASAfety/)</script>&runid=539653&switch=no
 
http://heasarc.gsfc.nasa.gov/vo/validation/vresults.pl?show=oldtests&sid=1337'><script>alert(/Reflected XSS - Yann CAM @ASAfety/)</script>&runid=539653

Le Direct Readout Laboratory (directreadout) de la NASA

PoC

NASA directreadout RXSS/SQLi

NASA directreadout RXSS/SQLi

NASA directreadout RXSS/SQLi source code

NASA directreadout RXSS/SQLi source code

Simple RXSS et potentielle SQLi au niveau du paramètre GET « cid » de la page d’index qui n’était pas suffisamment traité / nettoyé avant d’être utilisé au sein de la page.

Au regard de l’erreur affichée en tant que commentaire dans le code source de la page, on remarque la présence d’une potentielle SQL injection suite à une erreur de transtypage / cast en integer de la variable :

Diagnostics:<br>
Invalid data 159---><img src=x onerror='alert(/Reflected XSS | SQLi - Yann CAM @ASAfety/);' /> for CFSQLTYPE CF_SQL_INTEGER. <br>The error occurred on line 13.

Je n’ai pas creusé cette SQL injection afin d’éviter de porter atteinte au système. Celle-ci portait sur des technologies ColdFusion.

Syntaxe

http://directreadout.sci.gsfc.nasa.gov/?id=dspContent&cid=159---><img src=x onerror='alert(/Reflected XSS | SQLi - Yann CAM @ASAfety/);' />

Corrections et patchs

Prise de contact

Le 31 octobre 2014, chaque responsable en « @nasa.gov » de chaque portail vulnérable a été contacté pour informer de ces vecteurs d’attaque.

Quelques heures plus tard, une réponse m’est parvenue concernant le portail PDS :

Hello,
Thank you for bringing the security issues to our attention.
We at PDS are looking into the issues related to PDS web site security and will address as quickly as possible.
Thank you,
Emily
PDS Operations
Le portail « PDS » ainsi que « heasarc » ont été corrigés très rapidement (semaines qui suivirent). Concernant le portail « directreadout », plusieurs relances ont dû être faites, jusqu’à une inscription au programme de collaboration de « directreadout » afin d’être sûr que le message atteignait les responsables. Celui-ci fut corrigé en ce début 2015.

Correction PDS

Validation et vérification du format et de la syntaxe de la variable « INSTRUMENT_HOST_ID ».

NASA PDS RXSS patch

NASA PDS RXSS patch

Correction HEASARC

Validation et vérification du format et de la syntaxe de la variable « sid ».

NASA HEASARC RXSS patch

NASA HEASARC RXSS patch

Correction DirectReadOut

Camouflage des erreurs et diagnostique au sein du code source, concernant les erreurs de la variable « cid ».

NASA DIRECTREADOUT RXSS/SQLi patch

NASA DIRECTREADOUT RXSS/SQLi patch

Conclusion

Les sous-domaines de « *.nasa.gov » correspondant à des projets spatiaux distincts sont gérés, administrés et maintenus par des équipes diverses et variées. Chaque équipe ne semble s’occuper que du projet auquel elle est affectée.

Lors de la détection de vulnérabilités au sein d’un portail de la NASA, la difficulté consiste à trouver et informer le bon interlocuteur du projet spatiale concerné, afin qu’une correction voit le jour.

Comme indiqué, cette étape peut être plus ou moins rapide, accompagnée d’un feedback ou non. En tout cas je remercie « Emily » pour son retour et sa prise d’action rapide concernant le portail PDS.

Le portail de la NASA et les sites dédiés aux divers projets ne sont pas dans l’ensemble des prouesses technologiques en termes de développement web et de design. La plupart disposent d’un graphisme succinct mais assurent pleinement leur partie fonctionnelle.

Les technologies employées sont très diverses, du Java/JSP au PERL en passant par le ColdFusion. Bon nombre de vulnérabilités bien plus critiques doivent subsister au sein de ces portails, c’est pourquoi je vous encourage à leur remonter si vous en décelez.

En attendant les prochaines découvertes, avancés et projets passionnant de la NASA, salutations à tous !

 

  • Google Plus
  • LinkedIn
  • Viadeo
Yann C.

About the Author : Yann C.

Consultant en sécurité informatique et s’exerçant dans ce domaine depuis le début des années 2000 en autodidacte par passion, plaisir et perspectives, il maintient le portail ASafety pour présenter des articles, des projets personnels, des recherches et développements, ainsi que des « advisory » de vulnérabilités décelées notamment au cours de pentest.