Archive for the ‘11g’ Category

Oracle CPU January 2007 Pre-Release Announcement

Freitag, Januar 11th, 2008

Etwas verspätet hat Oracle gestern das Pre-Release Announcement für den Oracle Critical Patch Update veröffentlicht, der nächste Woche Dienstag (15. Januar 2008) veröffentlicht wird.

Insgesamt sollen 27 Fehler in Oracle Produkten korrigiert werden. Es sind die großen Oracle Produkte betroffen (Datenbank, Application Server, Collaboration Suite, E-Business-Suite). Erstmals werden auch Fehlerkorrekturen für Oracle 11g veröffentlicht.

In der Oracle Datenbank werden diesmal „nur“ 8 Fehler korrigiert , von denen keiner remote ausnutzbar ist. Der höchste CVSS Wert in der Datenbank ist diesmal 6.5. Korrigiert werden die Komponente  Advanced Queuing, Core RDBMS, Oracle Agent, Oracle Spatial und XML DB.

Wegen des Fehlers in der Core RDBMS und Advanced Queuing sind alle Datenbanken (sofern die Version betroffen ist).

Mehr zu dem Oracle CPU gibt es nächste Woche bzw. über den Oracle CPU-Review, eine detaillierte Fehleranalyse des Oracle CPUs, den Red-Database-Security zusammen mit Opitz Consulting erstellt.

Sicherheitslücken in Oracle Database Vault

Donnerstag, Oktober 4th, 2007

Sven Vetter schreibt in seinem Technik-Blog, dass es per dynamischen SQL sehr einfach möglich sei, Database Vault auszutricksen. Das wundert mich nicht, da wir schon vor Monaten Sicherheitslücken in Database Vault an Oracle secalert gemeldet haben. Nachträglich solch ein Konzept einzuführen, ist natürlich nicht einfach und vor allem nie fehlerfrei. Die aktuelle Version dient wohl eher dazu, Know-How aufzubauen und vor allem die internen Prozesse, wie z.B. die DBAs arbeiten, an das Produkt anzupassen.

Vielleicht erfahren wir von Sven seinem Vortrag auf der DOAG mehr über diese Lücken.

Weiterhin schreibt Sven, dass „Es sind zu viele Security Lücken vorhanden, die das Lesen und Ändern von vertraulichen Daten als Datenbank- oder Betriebssystemadministrator zulassen – genau das aber verspricht dieses Produkt zu unterbinden„.
Dies ist so nicht richtig. Oracle schreibt dazu: „Oracle Database Vault can prevent highly privileged users, including powerful application DBAs and others, from accessing sensitive applications and data in Oracle databases outside their authorized responsibilities„. Oracle spricht nicht von Betriebssystemadministratoren.

Database Vault wurde NUR dazu entworfen, einen Benutzer mit DBA Berechtigungen OHNE Betriebssystemzugriff (direkt bzw. indirekt (z.B. dbms_scheduler)) einzuschränken (z.B. select any table oder Passwort Änderungen). Sobald man Betriebssystemzugriff (erlangt) hat, ist es trivial, Database Vault auszutricksen/ zu umgehen, da man beispielsweise als Betriebssystembenutzer Database Vault einfach ausschalten kann (wird für das Einspielen der CPUs benötigt). Dies ist aber keine Lücke, sondern Teil der Architektur von Database Vault.

THC veröffentlicht den Passwort Cracker „OrakelCrackert“ für Oracle 11g

Dienstag, Oktober 2nd, 2007

Van Hauser von THC hat mich heute bei einer Tasse Tee darauf aufmerksam gemacht, dass vonjeek/THC am 26. September einen Password Cracker für Oracle 11g auf der THC Webseite namens OrakelCrackert veröffentlicht hat. OrakelCrackert überprüft ungefähr 400.000 SHA-1 Passworte/Seckunde auf meinem 2 GHz Core2Duo und ist damit genauso schnell wie checkpwd 2.0, das nächste Woche veröffentlicht wird.

THC Orakelcrackert 1.00


An dieser Stelle stand bis vor kurzem, dass THCGuesser die Passwortliste von checkpwd verwendet. Dies ist nicht richtig. An dieser Stelle nochmal Entschuldigung für diese falsche Behauptung.

Weiterhin richtig ist und bleibt, dass das „Ausleihen“ von Textdateien öfters praktiziert wird, z.B. bei der von mir zusammengestellten Liste von Standard SIDs (z.B. von sidguesser von Cqure bzw. ora-getsid von NGS Software oder dem russischen Tool coss). Diese Tools verwenden meine Liste, die auch meine privaten SIDs meiner Testsysteme enthalten ….

Oracle Password Algorithmus 11g – PoC Code

Freitag, September 21st, 2007

Mit Oracle 11g hat Oracle einen neuen Algorithmus zum Hashen der Oracle-Passworte gewählt. Anstatt des alten Hash-Verfahrens, das auf DES basiert, verwendet der neue Algorithmus SHA-1. Weiterhin ist neu, dass nun auch Groß- und Kleinbuchstaben unterstützt werden.

Unser Partner, Recurity Labs GmbH, einer der führenden Experten für reverse Engineering, hat sich den neuen Oracle Passwort Algorithmus angesehen. Ein Blog-Eintrag mit der Analyse des Oracle Password Algorithmus von Recurity GmbH findet sich hier.

Thorsten Schröder von Recurity Labs GmbH (die vor kurzem umbenannte S*bre Labs GmbH) hat auch ein kleines Python Script geschrieben. Die an Oracle 11g angepasste checkpwd Version 2.0 und Performance-Werte gibt es am Montag.

Die Veröffentlichung des Oracle Passwort Algorithmus ist kein Security Problem, sondern hilft, auch 11g Datenbanken auf schwache Passworte zu überprüfen.

#!python

# „PoC“ Oracle 11g Database password-hash cracker
# This program uses the password hash value „spare4“ from the internal
# oracle user-database and a list of passwords via stdin to calculate a new
# hash value of the plaintext password. The new generated hash value is subsequently
# compared against the hash-value from sys.user, the internal oracle user-database.

# Author: Thorsten Schroeder <ths „theAthing“ recurity-labs.com>
# Berlin, 19. Sep. 2007

# TODO:
# cut passwords at length 30

import hashlib
import binascii
import sys

def main():

if( len(sys.argv[1]) != 60 ):
usage()
sys.exit(1)

try:
oraHash = sys.argv[1]
oraSalt = oraHash[40:60]
oraSha1 = oraHash[:40]
oraSha1 = oraSha1.upper()

print „[+] using salt: 0x%s“ % oraSalt
print „[+] using hash: 0x%s“ % oraSha1

for passwd in sys.stdin:
passwd = passwd.rstrip()
#print „[*] trying password „%s““ % passwd

s = hashlib.sha1()
s.update(passwd)
s.update(binascii.a2b_hex(oraSalt))
if( s.hexdigest().upper() == oraSha1 ):
print „[*] MATCH! -> %s“ % passwd
sys.exit(0)

except Exception, e:
print „[!] Error: „, e
usage()
raise

sys.exit(0)

def usage():
print „[+] usage: ./ora11gPWCrack.py <hex-value> < wordlist.txt“
return

if __name__ == ‚__main__‘:
main()

Oracle 11g ist verfügbar

Freitag, August 10th, 2007

Oracle 11g ist zum download verfügbar (bisher nur Linux).