Last Update 2009.02.06

예전에 SQL Server 2000 패스워드의 Hash Crack 방법에 대해서 설명하였다. 최근에 들어서는 SQL Server 2005를 사용하는 사이트가 점차 늘어감에 따라서 SQL Injection 공격과 관련 기법도 2000에서 2005로 변화되어 가고 있는 거 같다.

이번에는 SQL Server 2005의 Hash 값을 획득하였을 경우 평문 패스워드 획득 방법에 대해서 설명한다.

1. Hash 획득 방법

select name,password_hash from sys.sql_logins

※ hash 획득 예시

사용자 삽입 이미지
  Hash가 sql server 2000에 비해서 많이 짧아 진 것을 볼 수 있다.


2. Hash의 구조

Hash값의 주로를 확인하기 위하여 다음과 같이 테스트를 수행하였다.

select pwdencrypt('n3015m') 

수행 결과 :
0x0100AD53DAA203A57B04AAA812E13DB316D5692F13B9394DC919

위의  Hash 구조는 다음과 같다.

         타입 명  길이                                  hash 값
 정적 헤더    6  0x0100
 Salt    8  AD53DAA2
 Sensitive SHA hash   40  03A57B04AAA812E13DB316D5692F13B9394DC919

해쉬 값의 구조를 보면 SQL Server 2000과 매우 유사하다. SQL Server 2000에서는 hash 값을 Uppercase SHA Hash와 Sensitive SHA Hash 두가지를 사용하였으나 2005에서는 Sensitivie SHA Hash만을 사용한다. Uppercase SHA Hash가 없어진거 빼고는 모두 동일한 알고리즘을 사용하고 있음을 알 수 있다.


3. Hash Crack 방법

크랙 방법은 SQL Server 2000에서 했던 방법과 동일하게 Cain을 통해서 Crack 가능하다.

Cain → Cracker → MSSQL Hashes 에서 Add MSSQL Hashes

SQL Server 2005에서는 Uppercase Hash가 없으므로 Salt와 Mixcase Hash 값만 입력하면 된다.

사용자 삽입 이미지


■ Brute Force를 이용한 방법
  SQL Server 2005의 Hash 값을 Crack할 경우는 Brute-Force Attack에서
  MixCASE Hahses로 지정해야 한다.  
사용자 삽입 이미지

  평문 패스워드가 획득된 화면
사용자 삽입 이미지

위와 같은 방법으로 SQL Server 2005에서도 패스워드 점검이 가능하다. 필요하신 분들은 참고하시길 바랍니다.
Posted by n3015m
:
BLOG main image
'네오이즘'의 보안LAB 블로그입니다........... n3oism@gmail.com by n3015m

카테고리

분류 전체보기 (228)
[ HappyDevTool ] (29)
[ HappyToolRelease ] (4)
[Book] (6)
[ Security Studies ] (0)
- CII (2)
- BigData (2)
- Web Hacking (10)
- SQL Injection (25)
- Mobile Security (9)
- Network (6)
- OperatingSystem (4)
- Malware & Reversing (4)
- Phishing (5)
- Compliance (0)
- Programming (13)
- Tools (13)
- IoT (6)
- etc (21)
[Pentration Testing] (3)
[OS X] (4)
[ Security Trends ] (16)
[ Fixing Guideline ] (7)
My Way, My Life (34)
About Me (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :