국내 리버스엔지니어링 관련 문서들을 모은 Archive 입니다.

author : 지현석 
aka : binish 
WebSite : http://binish.or.kr 
Source : http://binish.or.kr/_zb/zboard.php?id=_binishpaper&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=9 

 심심해서 네이트온 로그인 과정을 함 봤다.

일단 명령어(?)를 주고 받는 서버 IP를(포트는 5004 고정) 얻어오는 과정은 같다.

PVER 1 3.966 3.0
PVER 1 N
AUTH 2 DES
AUTH 2 DES
REQS 3 DES jdoryung@nate.com
REQS 3 dpc025:95992 211.234.240.159 5004

이렇게 알아낸 다음에 159번 서버로 명령어를 날려주는데 이게 예전 버전과 틀려졌다 -_-)a
어떻게 틀려졌냐면 예전버전에서는 LSIN으로 패스워드를 md5 해쉬해서 그냥 보내주면 되었는데,
이제는 base64 인증 과정이 1번 필요하고 이후에 LSIN으로 로그인을 해줘야 한다.

문제는 이런 2번의 인증과정에 사용되는 값들이 랜덤이란거다.
아마도 무슨 규칙이 있을 법한데 이 규칙을 알아내는건 개노가다라는 생각이 들어 난 포기했다 -_-
분명 이 귀찮은 짓을 누군가는 하고 있지 않을까? -_-

일단 보자.

NCPT 1 jdoryung@nate.com PWD

명령어로 내 패스워드를 BASE64 형태(복호화 안됨)로 뿌려준다.

AAAAAgAAAC4ABwAAZhAAAGYPAABmDgAAZgMAAGYJAABmAQAAaAHLDf+9JzQ0XSB65LS+fJG0MIIDQjCC
AqugAwIBAgIBADANBgkqhkiG9w0BAQQFADB6MQswCQYDVQQGEwJLUjEOMAwGA1UEBxMFU2VvdWwxGjAY
BgNVBAoTEVNLIENvbW11bmljYXRpb25zMRkwFwYDVQQDExBOYXRlT24gTWVzc2VuZ2VyMSQwIgYJKoZI
hvcNAQkBFhVuYXRlb25tYXN0ZXJAbmF0ZS5jb20wHhcNMDUxMTI3MTgwNTAyWhcNMTUxMTI3MTgwNTAy
WjB6MQswCQYDVQQGEwJLUjEOMAwGA1UEBxMFU2VvdWwxGjAYBgNVBAoTEVNLIENvbW11bmljYXRpb25z
MRkwFwYDVQQDExBOYXRlT24gTWVzc2VuZ2VyMSQwIgYJKoZIhvcNAQkBFhVuYXRlb25tYXN0ZXJAbmF0
ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALnEwmkoyTudUt8xkBCVbvL51ipoEGx4o6VB
cqyuiJo/nIjcg72whFEVy3HD7uBGjqh3Yep+WaXNocK7e26dNfezP/X4BPrix14H4C0dY2vLbArkNdP3
C1FQtcCckv6D/KGluzomOYtYrzxR+s1YGlUauuCyIIAjTC5paOParvWBAgMBAAGjgdcwgdQwHQYDVR0O
BBYEFNCEKDbtrUbyM83QFTHM/L6u0F5pMIGkBgNVHSMEgZwwgZmAFNCEKDbtrUbyM83QFTHM/L6u0F5p
oX6kfDB6MQswCQYDVQQGEwJLUjEOMAwGA1UEBxMFU2VvdWwxGjAYBgNVBAoTEVNLIENvbW11bmljYXRp
b25zMRkwFwYDVQQDExBOYXRlT24gTWVzc2VuZ2VyMSQwIgYJKoZIhvcNAQkBFhVuYXRlb25tYXN0ZXJA
bmF0ZS5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAZwMdED0xpOFtSki4H6XQh
9X16hHG+/ca2h+3nHlq1FuQGGWvWafuYSztPD0tw3wh6xh7Cw2pHaQ64OLmrYfFtI41Le4TN1WARG+Qr
7aX1vgCNoP3h2M+rFLuJfqcr3lEwwcp9WXQMcYXpcD3z2IhnL08yLC3Ecoi/q/JKD49TTw==

내꺼다 -_- 이건 고정이다. 즉 내 계정에 대한 패스워드 암호화한 BASE64 인코딩 형태의 값은 고정값이다.
그리고 나서 1차 인증을 요청한다.

PRVK 2 BASE64 212
AAAAAgAAABYAAQAAZhA8/gkqhNnbuxag7xs8oSuaDvNOF76Fcva7Etk14D8WXhVjkhpTen3T2eeYpodlRL/pkvuejCuVEzHhUeSb+NTObOlH9jLyh6YVl6PnpGtnLOeAUYR+Vo+yiHSiZLUL62F+Z6VRsd+0AcGX2QpGXCcA1sv+gjwa6jpGSeGe1TuqhWmZVaFaRPHWOFVEUevhHcs=

PRVK에 대해서는 제대로 나온게 없지만 대충 때려맞추면,
212바이트 만큼의 BASE64 인코딩 된 값을 서버측에 보내겠다는 의미이다.
여기서 이 값이 유효해야 하는데 어떻게 생성되는지는 모르겠다 =)

PRVK가 잘되면 PRVK 2를 서버에서 응답해주고,

LSIN 3 jdoryung@nate.com AAAAAgAAAADwzNgPy5F/XIV4+nBu604bTqFEBr0sUAmy8UbN0U36CuvZyJLAj2H3+rQ48Hl7xeI= NE2 3.966 UTF8

이와 같은 LSIN으로 로긴을 한다.
여기서 AAAAAgAAAADwzNgPy5F/XIV4+nBu604bTqFEBr0sUAmy8UbN0U36CuvZyJLAj2H3+rQ48Hl7xeI= 가 역시 랜덤값이다.
두번째에는 AAAAAgAAAADwzNgPy5F/XIV4+nBu604bTqFEBr0sUAmy8UbN0U36CuvZyJLAj2H3+rQ48Hl7xeI= 이런값이 된다.
세번째에는 -_- 안한다; 안해;

만약 LSIN까지 잘되면,

LSIN 3 107509928 ......... .........@binish.or.kr$%20break%20something! 0164278217 %00 917C4E8818D35906ABDEC52B60B9B4D664B6A61586FF84A9169D5F27D0FD03433A3660D4BE3D3EA8E5BC42FBDE0410254DA7891BF47C712138BC37EE93D8BEE016D3B7B34FEAC6B032440A0DAF62677FBA8B2F9B96D98A9C0967FD29C6B953C10E8C84BA6E7B9F548EF8B7ED84D689A4E877D1B0677D08CDE80B558B055A315FC2405BF335FB24FFC762228808E7D127A33296E39F7A5D2F3D578FECC95D4661DB249F481BB2C80F788F6BBD34676DD70CAB089486E5DC5294CD49372FDE499986980085BF543514047834D7410BFB190A15E3E499372DC7 16345862 1 %00 20080527 N 107509928 jdoryung@nate.com jdoryung@hanmail.net N N KR %00 %00

이런 서버로부터의 응답을 볼 수 있다.
대충 보면 알다시피 내가 정해놓은 문구들이 보인다.
이후에 전화번호 보이고 그다음에 어쩌구저쩌구가 보인다 ㅎㅎ

LSIN 까지 거치고 난다음에,

DRMK 4 AAAAKAAAAAIAAAAAGtMzRypYy2SUk6zXLvCneGoWt9CT2lB4UzK/GCZ6GKAAAAA07FtpH97iteYEXQ5ckrZyu+GGoEtx8wmyrUvfM+WM+zP+pKIvz7U0bPmoC5++fkFy2KQ0Dw==

이런 명령어를 최종적으로 날려서 인증을 마무리 짓는데,
여기서 사용되는 값 또한 모르겠다 -_- 어떻게 생겨먹는건지..

CONF 5 4049 0
GLST 6 679
LIST 7

위의 3 명령어를 거치면 이제 내 네이트온에 등록된 사용자가 주루룩 리스트가 뜬다.
679는 내 그룹 ID라고 하는데,
GroupCache.nch
파일에 저장되어 있는 값은 736인데 이건 뭥미? 몰라 -ㅠ-

결론은,
인증에 사용되는 BASE64 인코딩 되는 값의 규칙을 알아내기 위해서는,
네이트온을 리버싱하면 된다 ^^

이 귀찮은 짓을 하기에는 시간소요가 너무 클 것 같고,
누군가가 해주길 바라면서..

ps. 심심하면 내가 할지도 모르지-ㅠ-;; 원래 불씨를 땡긴 사람이 불내는 법이라..

ps2. 명령어에 대한 소개 사이트
http://dev.haz3.com/trac/nateon/wiki/Protocol

  1. [2009/09/14] SetWindowsHookEx 후킹 제거
  2. [2009/09/14] Keylogging Analysis (using polling interrupt)
  3. [2009/09/14] Keyboard Security
  4. [2009/09/14] Advanced BufferOverflow Attack Skill
List of Articles
번호 author aka 제목
37 김범연  ccibomb  Hooking SSDT 후킹 탐지기법 imagefile
36 이동수  alonglog  Hooking SSDT Hooking을 이용한 프로세스와 파일 숨기기 imagefile
35 장상근  Maxoverpro  Network SSH Brute-Force Login Attack 분석과 대응 imagefile
34 정지훈  binoopang  Binary Analysis Manual Binary Mangling with Radare imagefile
33 심준보  passket  PPT A Practice of Remote Code excution using cpu bug imagefile
32 정의진  eureka386  PPT Break the secure USB imagefile
31 김경수  kaspyxx  PPT The Way of Inject code to Process imagefile
30 crattack  crattack  Hooking detours와 iat hooking 사용하기 imagefile
29 이구호  lucid7  Operating System SEH Overflow imagefile
28 이용일  foryou2008  Binary Analysis Design and Implementation of Virtualized Code Protection For Anti-Reverse Engineering imagefile
27 박천성  ashine  UnPacking The Art of Unpacking (원저자: Mark Vincent Yason) imagefile
26 정혜성  정혜성  Manual ProcessExplorer Manual imagefile
25 정혜성  정혜성  Manual IceSword Manual imagefile
24 정혜성  정혜성  Manual TCPView Manual imagefile
23 정혜성  정혜성  Manual Autoruns Manual imagefile
22 김범연  ccibomb  Operating System DKOM 탐지기법 imagefile
21 안기찬  Externalist  Basic Reversing MFC Applications file
20 이강석  Certlab  Basic 인텔 메뉴얼을 이용하여 OPCODE를 어셈블리어 명령으로 변환하기 file
19 박찬암  hkpco  Binary Analysis DEFCON 2009 Capture The Flag 본선 문제 풀이 - tucod
18 박찬암  hkpco  Malware Analysis 777 DDoS 악성코드 분석 file
17 박찬암  hkpco  Basic Mem Jacking
16 안기찬  Externalist  Binary Analysis Reversing Binary500 (Defcon 2007) file
15 지현석  binish  Buffer Overflow Advanced BufferOverflow Attack Skill
» 지현석  binish  Network 네이트온(NateOn) 3.7.10.3(966) 로그인 과정 분석
13 지현석  binish  Hooking SetWindowsHookEx 후킹 제거
12 박찬암  hkpco  Basic Linux Kernel Memory Disclosure 취약성의 기초
11 박찬암  hkpco  Binary Analysis ActiveX 취약성 공격시의 Unicode Shellcode file
10 김연재  bl4ck3y3  Binary Analysis DEFCON 2009 Binary L33tness 100, EDB로 풀어보자 imagefile
9 박찬암  hkpco  Binary Analysis DEFCON 2008 Capture The Flag 본선 문제 풀이 - bakalakadakaChat_d
8 박찬암  hkpco  Basic Core Rootkit Technology for Linux Kernel 2.6

XE Login

OpenID Login