Le labo R&D a désormais son Github
Durant bon nombre de formations dispensées à Sysdream, les consultants ont pu révéler l'existence d'outils internes divers et variés, employés lors de tests d'intrusion ou de tests d'applications, sans pouvoir (ou vouloir ?) les diffuser. Dans un souci d'ouverture à la communauté, le laboratoire R&D a décidé de publier les sources de certains des outils développés et employés en interne, pour des raisons évidentes:Durant bon nombre de formations dispensées à Sysdream, les consultants ont pu révéler l’existence d’outils internes divers et variés, employés lors de tests d’intrusion ou de tests d’applications, sans pouvoir (ou vouloir ?) les diffuser. Dans un souci d’ouverture à la communauté, le laboratoire R&D a décidé de publier les sources de certains des outils développés et employés en interne, pour des raisons évidentes:
- Ils contiennent encore des bugs, ou manquent de fonctionnalités, et nécessitent donc des tests à plus large échelle
- L’apport de la communauté de la sécurité informatique ne peut être que bénéfique, et faire en sorte que ces outils soient améliorés
- Github intègre un bug tracker qui permettra d’avoir un réel suivi des bugs ainsi que d’avoir une vision des fonctionnalités futures
L’ensemble des outils se trouvent donc sur notre Github. Nous allons ainsi publier durant les prochains mois différents outils sous licence GPL aggrémentés de leurs documentations respectives. Ces outils sont majoritairement développés en Python et en C, et certains même sont issus des recherches effectués au laboratoire. A l’heure actuelle, nous avons diffusé deux outils qu’il nous semble intéressant de partager:
Protod
Lorsque nous avions diffusé la première version de cet outil, ses capacités étaient somme toute relativement limitées. Nous avons profité d’un peu de temps disponible pour redévelopper intégralement cet outil, et améliorer la routine de localisation et d’extraction des méta-données. Protod supporte désormais aussi bien les exécutables Linux que Windows, ainsi que les fichiers Python compilés (pyc).
Comme nous le disions précédemment, cet outil fait aussi écho à un autre outil développé par Emilien Girault qui lui a permis de retrouver les fichiers de description des messages (.proto) employés par le Play Store de Google, basé sur micro-protobuf (une version allégée et sans méta-données de Protocol Buffers). Nous vous invitons bien sûr à consulter la méthode employée [1] ainsi que le code de son outil !
Socketjump
Un autre outil développé par nos soins, lors d’un test d’intrusion où socat ne convenait pas. Il s’agit d’un petit outil permettant de faire un pont entre deux sockets TCP, peu importe qu’elles soient en écoute ou en connexion sortante. Des options complémentaires comme la spécification du port source, ou le chiffrement (léger) de la communication sont aussi disponibles.
Le nom de cet outil est bien évidemment issu du célèbre « Rocket Jump » de Quake, son objectif premier étant de pouvoir faire du rebond vers un réseau interne à partir d’une machine compromise ouverte à un accès extérieur (Internet par exemple).
Nous espérons que ces différents outils seront utiles à la communauté de la sécurité informatique.
Références
[1] http://www.segmentationfault.fr/publications/reversing-google-play-and-micro-protobuf-applications/
[2] https://sysdream.com/reverse-engineering-of-protobuf-based/