No one expect command execution

Magazine
Marque
MISC
Numéro
83
Mois de parution
janvier 2016
Spécialité(s)


Résumé

Les termes « exécution arbitraire de code » font généralement rêver tout chercheur en sécurité. Parvenir à détourner le flot d'exécution d'un programme pour en démarrer un autre est rarement une tâche aisée. Toutefois, il arrive que des programmeurs implémentent des options tout à fait légitimes dans leurs programmes qui peuvent être détournées et abusées. Qui soupçonnerait tar, zip ou tcpdump de pouvoir démarrer un programme externe? C'est ce que cet article va présenter.


1. Les règles du jeu

Les règles du jeu sont simples. Le but est d'exécuter un script appelé runme.sh sans l'appeler depuis le shell, en utilisant un effet de bord ou une option d'une commande standard que l'on trouve généralement sur un linux. Le script est le suivant :

mitsurugi@mitsu:~/tmp$ cat runme.sh

#! /bin/bash

echo "The name's 0xMitsurugi!"

echo "Remember it!"

mitsurugi@mitsu:~/tmp$

2. Exécution de commande

2.1. tcpdump

$ tcpdump -n -i lo -G1 -w /dev/null -z ./runme.sh

tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes

The name's 0xMitsurugi!

Remember it!

The name's 0xMitsurugi!

Remember it!

^C6 packets captured

12 packets received by filter

0 packets dropped by kernel

$

tcpdump est un sniffeur réseau qui permet de sauvegarder les paquets dans un...

Cet article est réservé aux abonnés. Il vous reste 90% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous