- 10.2.0.4 (1)
- 11g (5)
- Allgemein (27)
- Auditing (1)
- Backdoor (2)
- Bücher (1)
- checkpwd (2)
- CPUApr2007 (1)
- CPUApr2008 (1)
- CPUJan2008 (3)
- CPUJul2007 (3)
- CPUJul2008 (1)
- CPUOct2007 (3)
- Database Vault (3)
- DOAG (1)
- Exploit (4)
- Forensik (1)
- Hedgehog (2)
- Inguma (1)
- Oracle (2)
- Oracle Security (22)
- Präsentation (2)
- rootkit (1)
- Security (6)
- Sentrigo (3)
- software (3)
- 9 Apr 2010: DOAG Berliner Expertenseminare: Oracle Hardening & Patching / Auditing & Co.
- 1 Mrz 2010: Sentrigo stellt den neuen Security Scanner Repscan 3.0 vor
- 21 Jan 2009: Webinar - Best Practices for Database Security
- 15 Jan 2009: Buchvorstellung: Oracle Survival Guide
- 24 Dez 2008: Frohe Weihnachten & ein gutes neues Jahr
- 14 Dez 2008: Datenklau bei Berliner Landesbank
- 3 Dez 2008: DOAG 2008
- 5 Sep 2008: Studie: 88% der IT Professionals würden bei Ihrer Entlassung Daten stehlen
- 9 Aug 2008: Oracle veröffentlicht Update für Oracle CPU July 2008
- 16 Apr 2008: Oracle Critical Patch Update - CPU April 2008
Oracle Password Algorithmus 11g - PoC Code
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()
—
1 Antwort auf “Oracle Password Algorithmus 11g - PoC Code”
Antwort schreiben
Sie müssen als angemeldet sein, um einen Kommentar schreiben zu können.
21 Sep 2007 bei 22:24
[…] Hashing Algorithmus von Oracle 11g ist von den Jungs von Recurity Labs geknackt worden, wie Alex Kornbrust schreibt. Nun ist es also Zeit, die Passwort-Cracker zu aktualisieren. Wohlgemerkt: das ist keine Gefahr […]