рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд╛рд╕рд╡рд░реНрдб рднрдВрдбрд╛рд░рдг рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд▓рд┐рдЦреЗ рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░, рдпрд╛ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдПрд▓рдПрдо рдФрд░ рдПрдирдЯреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ, рдФрд░ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд syskey рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдм рдЧрдП рдереЗред рдореИрдВ рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╣рд╛рдВ, рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рд╣реИрдВ, рдФрд░ рдХреИрд╕реЗ syskey рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдмрддрд╛рдХрд░ред

рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВ - рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдпрд╛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдлрд╝рд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрд╛ рдХрд╝реАрдорддреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЪреЛрд░реА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЕрдиреНрдп рдУрдПрд╕ рд╕реЗ рдмреВрдЯред рдпрд╣рд╛рдВ рдореИрдВ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛, рдпрд╣ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдмреБрд╢ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдФрд░ sysinternals рд╕реЗ psExec рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред рдмреЗрд╢рдХ, рд╡рд┐рдВрдбреЛрдЬрд╝ рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рд╡рд┐ рдмреНрд▓реЙрдХ



рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрдЯрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрд╢ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ - рдПрд▓рдПрдо рдФрд░ рдПрдирдЯреАред рд╕реАрдЯреА рдФрд░ рдКрдкрд░ рдореЗрдВ, рдПрд▓рдПрдо рд╣реИрд╢ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрди рд╣реИрд╢ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб, рд╕рд╛рде рд╣реА рдХрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА, рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ HKLM \ SAM \ SAM \ Domains \ Account \ users \ [RID] \ V рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
рд╡реА-рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрд╕рдПрдПрдо рдЕрдиреБрднрд╛рдЧ рд╕рдВрдЧрдд рдлрд╝рд╛рдЗрд▓ c: \ Windows \ System32 \ config \ SAM рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ ред RID - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЖрдк рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HKLM \ SAM \ SAM \ Domains \ Account \ Users \ name \ <рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо> рд╢рд╛рдЦрд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░, рдлрд╝реАрд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рд╣реИ) рдХреЛ рджреЗрдЦрдХрд░ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ" рдЦрд╛рддреЗ рдХреА RID рд╣рдореЗрд╢рд╛ 500 (0x1F4) рд╣реЛрддреА рд╣реИ, рдФрд░ "рдЕрддрд┐рдерд┐" рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 501 (0x1f5) рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрд╕рдПрдПрдо рдЕрдиреБрднрд╛рдЧ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде regedit рдЪрд▓рд╛рдПрдВ:

PsExec.exe -s -i -d regedit.

рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рд╡реА-рдмреНрд▓реЙрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ (рд░реАрдбрдЧрд┐рдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓-рдирд┐рд░реНрдпрд╛рдд) рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВрдЧреЗ

0x0 рд╕реЗ 0xCC рддрдХ рд╕рднреА рдбреЗрдЯрд╛ рдХреЗ рдкрддреЗ рд╣реИрдВ рдЬреЛ рд╡реА-рдмреНрд▓реЙрдХ рдореЗрдВ рд╣реИрдВ, рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реАред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕ рдкрддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо 0xCC рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдкрддреЗ рдФрд░ рдЖрдХрд╛рд░ BIG ENDIAN рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдЖрдкрдХреЛ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкрд▓рдЯрдирд╛ рд╣реЛрдЧрд╛ред 4 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдпрд╛ рджреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ:

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо - 0x
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреА рд▓рдВрдмрд╛рдИ - 0x10
рдПрд▓рдПрдо рд╣реИрд╢ рдХрд╛ рдкрддрд╛ - 0x9s
рдПрд▓рдПрдо рд╣реИрд╢ рд▓рдВрдмрд╛рдИ - 0xa0
NT рд╣реИрд╢ рдкрддрд╛ - 0xa8
NT рд╣реИрд╢ рдХреА рд▓рдВрдмрд╛рдИ - 0xac

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо 0xd4 + 0xcc рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 0xc рдмрд╛рдЗрдЯ рд╣реЛрдЧреАред
NT рд╣реИрд╢ рдСрдлрд╕реЗрдЯ 0x12c + 0xcc рдФрд░ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ (рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди) = 0x14 рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред

рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣рдореЗрд╢рд╛ NT рдФрд░ LM рд╣реИрд╢ рджреЛрдиреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд░рд╣рд╕реНрдп рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рднреА 4 рдмрд╛рдЗрдЯреНрд╕ рдореМрдЬреВрдж рд░рд╣реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдПрд▓рдПрдо рд╣реИрд╢ = 4 рдХреА рд▓рдВрдмрд╛рдИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдкрддреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрди 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрд▓рдПрдо рд╣реИрд╢ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣реИрд╢ рдСрдлрд╝рд╕реЗрдЯ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдкрддреЗ рдореЗрдВ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдЖрдХрд╛рд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдШрдЯрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рддреЛ рдкрддрд╛ рдЦреЛрдЬ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдЙрд▓рдЯрд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ рдСрдлрд╕реЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП 0xcc (C # рдХреЛрдб)

int lmhashOffset = userVblock[0x9c] + userVblock[0x9d] * 0x100 + 4 + 0xcc;
int nthashOffset = userVblock[0xa8] + userVblock[0xa9] * 0x100 + 4 + 0xcc;
int lmhashSize = userVblock[0xa0] + userVblock[0xa1] * 0x100 - 4;
int nthashSize = userVblock[0xac] + userVblock[0xad] * 0x100 - 4;
int usernameOffset = userVblock[0xc] + userVblock[0xd] * 0x100 + 0xcc;
int usernameLen = userVblock[0x10] + userVblock[0x1a] * 0x100;

userVblock - рдорд╛рди рдмрд╛рдЗрдЯ рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ HKLM \ SAM \ SAM \ Domains \ Account \ users \\ Vред
рдЖрдк рдпрд╣рд╛рдВ рд╡реА-рдмреНрд▓реЙрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдПрд▓реНрдЧреЛрд░рд┐рджрдо



рдЕрдм рд╣рдо рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдордЭреЗрдВрдЧреЗред
NT рд╣реИрд╢ рдкреАрдврд╝реА :
1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдПрдХ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
2. рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ MD4 рд╣реИрд╢ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
3. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реИрд╢ рдХреЛ рдбреАрдИрдПрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрд░рдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реИред
LM рд╣реИрд╢ рдЬреЗрдирд░реЗрд╢рди :
1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдКрдкрд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ 14 рдмрд╛рдЗрдЯреНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЧрджреНрджреЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
2. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ 7 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рджреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдбреЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рд▓рдВрдмрд╛рдИ рдореЗрдВ 16 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╣реИрд╢ (рд▓рдВрдмрд╛рдИ рдореЗрдВ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░) рдорд┐рд▓рддрд╛ рд╣реИред
3. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реИрд╢ рдХреЛ рдбреАрдИрдПрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрд░рдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реИред

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

рдореВрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдХреНрд░рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
1. рдмреВрдЯрдХреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд░рд╕реА 4 рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдЖрд░рд╕реА 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрд╢ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ
2. рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдбреЗрд╕ рд╕реЗ RID'ov рдХреЗ рд▓рд┐рдП рдЪрд╛рдмрд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдбреЗрд╕реЛрдо рд╣реИрд╢ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ
3. рдкрд░рд┐рдгрд╛рдореА рд╣реИрд╢ рдкрд░ рдмреНрд░реВрдЯ рдмрд▓ рджреНрд╡рд╛рд░рд╛ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Bootkey



рд╕рд┐рд╕реНрдЯрдо рдХреБрдВрдЬреА (рдмреВрдЯрдХреА) рдХреЛ 4 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ:

HKLM \ System \ CurrentControlSet \ Control \ Lsa \ JD
HKLM \ System \ CurrentControlSet \ Control \ Lsa \ Skew1
HKLM \ System \ CurrentControlSet \ Control \ Lsa \ GBG
HKLM \ System \ CurrentControlSet \ Control \ Lsa \ Data

рд╕рд┐рд╕реНрдЯрдо рдЕрдиреБрднрд╛рдЧ рдлрд╝рд╛рдЗрд▓ c: \ Windows \ System32 \ config \ system рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ CurrentControlSet рдЕрдиреБрднрд╛рдЧ рдХрдВрдЯреНрд░реЛрд▓рд╕реЗрдЯ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рд╣реЛрдиреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдВрдЬреА рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ HKLM \ SYSTEM \ Select \ default рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ ContolSet рдорд╛рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ HKLM \ System \ Select \ default = 1 - HKLM \ System \ CurrentControlSet \ рдХреЗ рдмрдЬрд╛рдп рд╣рдо HKLM \ System \ controlset001 рдореЗрдВ рджреЗрдЦреЗрдВ

рдкреНрд░рддреНрдпреЗрдХ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬреА рдореЗрдВ рдПрдХ рдЫрд┐рдкреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ "рдХреНрд▓рд╛рд╕" рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред Regedit рдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЗрди рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред Winapi рдореЗрдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ RegQueryInfoKey рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдЯреБрдХрдбрд╝реЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, BIG ENDIAN рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдпрд╛рдиреА, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреАрдЫреЗ рдХреА рдУрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рдВрдЦреНрдпрд╛)ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпреЗ рд░рд┐рдХреЙрд░реНрдб рдорд┐рд▓реЗ:

Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\JD
Class Name: 46003cdb = {0xdb,0x3c,0x00,0x46}
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Skew1
Class Name: e0387d24 = {0x24,0x7d,0x38,0xe0}
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\GBG
Class Name: 4d183449 = {0x49,0x34,0x18,0x4d}
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Data
Class Name: 0419ed03 = {0x03,0xed,0x19,0x04}


рдЪрд╛рд░ рднрд╛рдЧреЛрдВ рд╕реЗ рдПрдХрддреНрд░ рдХреА рдЧрдИ рдХреБрдВрдЬреА рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреА:

scrambled_key = {0xdb,0x3c,0x00,0x46,0x24,0x7d,0x38,0xe0,0x49,0x34,0x18,0x4d,0x03,0xed,0x19,0x04};

рдЕрдЧрд▓рд╛, рдЗрд╕ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреБрдЫ рдирд┐рд░рдВрддрд░ рд╕рд░рдгреА p рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

int[] p = { 0xb, 0x6, 0x7, 0x1, 0x8, 0xa, 0xe, 0x0, 0x3, 0x5, 0x2, 0xf, 0xd, 0x9, 0xc, 0x4 };
рдЗрд╕ рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдкрджреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд

key[i] = scrambled_key[p[i]];

рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдорд┐рд▓рддреА рд╣реИ:

key[] = {0x4d,0x38,0xe0,0x3c,0x49,0x18,0x19,0xdb,0x46,0x7d,0x00,0x04,0xed,0x34,0x03,0x24 };

рдпрд╣ рд╕рд░рдгреА рддрдерд╛рдХрдерд┐рдд рдмреВрдЯрдХреА рд╣реИ ред рдХреЗрд╡рд▓ рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдирд╣реАрдВ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмреВрдЯрдХреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИрд╢, рдПрдл-рдмреНрд▓реЙрдХ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдФрд░ рдХреБрдЫ рд╕реНрдерд┐рд░рд╛рдВрдХред рдЗрд╕реЗ рд╣рд╢реЗрдб рдмреВрдЯреАрдХ рдХрд╣рддреЗ рд╣реИрдВред

рд╣рд╢реЗрдб рдмреВрдЯреА


Hashed bootkey рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ 2 рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ (ASCII) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

string aqwerty = "!@#$%^&*()qwertyUIOPAzxcvbnmQQQQQQQQQQQQ)(*@&%\0";
string anum = "0123456789012345678901234567890123456789\0";

рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ F- рдмреНрд▓реЙрдХ (HKLM \ SAM \ SAM \ Domains \ Account \ users \\ F) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЕрд░реНрдерд╛рддреН рдЗрд╕рдХреЗ 16 рдмрд╛рдЗрдЯреНрд╕: F [0x70: 0x80]

рдПрдХ рдмрдбрд╝реЗ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдПрдХ MD5 рд╣реИрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ RC4 рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХреБрдВрдЬреА рд╣реЛрдЧреА

rc4_key = MD5(F[0x70:0x80] + aqwerty + bootkey + anum).

рд╣реИрд╢реЗрдб рдмреВрдЯрдХреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЪрд░рдг rc4 рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╣реИ (рдпрд╛ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди - rc4 рдореЗрдВ рдпрд╣ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рд╣реИ) F-block fragment F рдХреА рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ [0x80: 0xA0] ;

hashedBootkey = RC4(rc4_key,F[0x80:0xA0])

рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣рд╢реНрд░ рдмреВрдЯреАрдХ, рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред

рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣реЙрдиреНрдЯреЗрдб рдмреВрдЯрдХреА рд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ


LM рдФрд░ NT рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ 2 рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЪрд╛рд╣рд┐рдП -

string almpassword = "LMPASSWORD";
string antpassword = "NTPASSWORD";


4 рдмрд╛рдЗрдЯреНрд╕ (рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЧрджреНрджреЗрджрд╛рд░) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд░рдЖрдИрдбреА рдФрд░ рд╣рд╢реЗрдб рдмреВрдЯрдХреА рдХреА рдкрд╣рд▓реА рдЫрдорд╛рд╣реА ( рд╣реИрд╢рдбрдмреВрдЯреА [0x0: 0x10] );
рдпрд╣ рд╕рдм рдПрдХ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ MD5 рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
rc4_key_lm = MD5(hbootkey[0x0:0x10] +RID + almpassword);
rc4_key_nt = MD5(hbootkey[0x0:0x10] +RID + antpassword);


рдкреНрд░рд╛рдкреНрдд md5 рд╣реИрд╢ rc4 рдХреА рдХреБрдВрдЬреА рд╣реИ, рдЬрд┐рд╕рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ V- рдмреНрд▓реЙрдХ рдореЗрдВ LM рдФрд░ NT рд╣реИрд╢ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рд╣реИ

userLMpass = RC4(rc4_key_lm,userSyskeyLMpass);
userNTpass = RC4(rc4_key_lm,userSyskeyNTpass);

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

рдбреЗрд╕


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрд░рдЖрдИрдбреА рдХреЗ рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреБрдЫ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо 2 рдбреЗрд╕ рдХреБрдВрдЬреА рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдЖрдкрддреНрддрд┐ (C #) рдХрд░рддреЗ рд╣реИрдВ:
private byte[] str_to_key(byte[] str) {
byte[] key = new byte[8];
key[0] = (byte)(str[0] >> 1);
key[1] = (byte)(((str[0] & 0x01) << 6) | (str[1] >> 2));
key[2] = (byte)(((str[1] & 0x03) << 5) | (str[2] >> 3));
key[3] = (byte)(((str[2] & 0x07) << 4) | (str[3] >> 4));
key[4] = (byte)(((str[3] & 0x0F) << 3) | (str[4] >> 5));
key[5] = (byte)(((str[4] & 0x1F) << 2) | (str[5] >> 6));
key[6] = (byte)(((str[5] & 0x3F) << 1) | (str[6] >> 7));
key[7] = (byte)(str[6] & 0x7F);
for (int i = 0; i < 8; i++) {
key[i] = (byte)(key[i] << 1);
}
des_set_odd_parity(ref key);
return key;
}

private byte[] sid_to_key1(byte[] rid) {
byte[] s = new byte[7];
s[0] = (byte)(rid[0] & 0xFF);
s[1] = (byte)(rid[1] & 0xFF);
s[2] = (byte)(rid[2] & 0xFF);
s[3] = (byte)(rid[3] & 0xFF);
s[4] = s[0];
s[5] = s[1];
s[6] = s[2];

return str_to_key(s);
}

private byte[] sid_to_key2(byte[] rid) {
byte[] s = new byte[7];
s[0] = (byte)((rid[3]) & 0xFF);
s[1] = (byte)(rid[0] & 0xFF);
s[2] = (byte)((rid[1]) & 0xFF);
s[3] = (byte)((rid[2]) & 0xFF);
s[4] = s[0];
s[5] = s[1];
s[6] = s[2];

return str_to_key(s);
}


рдЦреИрд░, des_set_odd_parity (рд░реЗрдл рдХреБрдВрдЬреА) рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдУрдкрдирд╕реН рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдп рдХреБрдЫ "рд╡рд┐рд╖рдо рдмрд┐рдЯреНрд╕" рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рддрд┐рд░реЛрдз рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо NT (рдпрд╛ LM) рд╣реИрд╢ рдХреЛ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ DES рдХреЗ рд╕рд╛рде рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЖрдзрд╛ рдХреЛ sid_to_key1 рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ sid_to_key2 рд╣реИред
obfskey_l = userNTpass[0x0:0x7]
obfskey_r = userNTpass[0x8:0xF]
byte[] deskey1 = sid_to_key1(RID);
byte[] deskey2 = sid_to_key2(RID);
byte[] md4hash_l = DES(obfskey_l, deskey1);
byte[] md4hash_r = DES(obfskey_r, deskey2);


рджреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЪрдордХрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо LM рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ NT, рдпрд╛ LanMan (DES) рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ md4 рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдореА рд╣реИрд╢ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирд╡рд░ рдмрд▓ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рд╡реИрд╕реЗ, рдЦрд╛рд▓реА рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ md4 рд╣реИрд╢ 31d6cfe0d16ae931b73c59d7e0c089c0 рд╣реИ

рдЕрдзреНрдпрдпрди рд╕реНрд░реЛрдд рдХреЛрдб ophcrack-3.3.1 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓реЗрдЦ рд▓рд╛рд▓ рдмрдЯрди рдкреБрд╢ рдХрд░реЗрдВ: SysKey рдФрд░ SAM

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


All Articles