N?디스크 패스워드 취약점




얼마전에 자갈치군이 N?디스크 패스워드 취약점에 대한글을 파워해커본인 블로그에 올렸는데
소스도 같이 올려달라는 분들이 계셔서 간략히 공개합니다.
머 워낙 단순한 알고리즘이라 공개라고 말하기에도 쪽팔리군요.

일단 자갈치군이 블로그에 분석해둔 것처럼, 패스워드가 될 문자들은 특별한 숫자부터 시작을
합니다. 그리고 소문자, 대문자, 숫자 등의 적당한 집단이 존재하죠. 또 하나의 문자들은
0x11byte씩 크기가 커지면서 다음 문자로 변경 됩니다. 그러면 매우 간단합니다.

입력된 문자열을 4byte씩 끊으면서 이것이 소문자냐 대문자냐 등 어느 범주에 포함되는지
탐색을 하면 됩니다. 일치하는 넘이 나오면 break, 틀리면 계속 0x11byte씩 증가시킵니다.
BYTE형을 리턴하는 Decrypt4Byte()함수를 만들어 보았습니다.



너무 간단한 소스라 설명하기도 챙피하네요 ㅋㅋ
numeral은 숫자, lowercase는 소문자 uppercase는 대문자 입니다.

그리고 다음은 입력 루틴 입니다.
Len이 끝날때까지 입력된 문자열을 4byte씩 끊어서 위에서 만든 Decrypt4Byte()에 넘겨주고
한 글자씩 차곡차곡 쌓는 코드입니다.



따로 툴은 베포하지 않겠습니다. 어차피 위 초단순 코드를 봐도 충분히 다 만들 수 있으니까요.
어쨌든 암호화된 패스워드를 사용자 PC에 저장할 때는
반드시 해시를 사용하는 것을 잊지 않았으면 하네요.

window31. 2007년 10월.
Posted by window31


댓글을 달아주세요

BLOG main image
by window31

카테고리

분류 전체보기 (285)
Reverse Engineering (22)
C, C++ (20)
Kernel (8)
Guitar (19)
잡담 (79)
etc (8)
who am i (8)
보안 이야기 (89)
Tools (3)
월간 마이크로소프트웨어/그.. (28)

글 보관함