ch18 – 7. 패스워드 크래킹 - intruders -

42
충충충 충충충충 충충 충충충 [ jinmun @ gmail.com ] 충충 충충 충충 충충 충충 충충 ch18 ch18 7. 7. 충충충충 충충충 충충충충 충충충 - - Intruders - -

Upload: ingo

Post on 19-Jan-2016

242 views

Category:

Documents


0 download

DESCRIPTION

ch18 – 7. 패스워드 크래킹 - Intruders -. 패스워드. 잘못된 패스워드 설정 길이가 너무 짧거나 널 (Null) 인 패스워드 사전에 나오는 단어나 이들의 조합 키보드 자판의 일련 나열 사용자 계정 정보에서 유추 가능한 단어들 좋은 패스워드 설정 좋은 패스워드란 기억하기 쉽지만 크랙하기 어려운 패스워드로 영문과 숫자 그리고 특수문자를 적절히 조합하여 사용한다. 윈도우의 인증 구조 및 계정 관리. 윈도우 인증 구조. 윈도우의 인증 구조 및 계정 관리. 윈도우 인증 구조 LSA - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ch18 – 7.  패스워드 크래킹 -  Intruders -

충북대 네트워크 보안 연구실[ jinmun @ gmail.com ]

정보 보호 응용정보 보호 응용정보 보호 응용정보 보호 응용

ch18ch18 – – 7.7. 패스워드 크래킹패스워드 크래킹- - Intruders --

Page 2: ch18 – 7.  패스워드 크래킹 -  Intruders -

22007-01 정보보호응용

패스워드

잘못된 패스워드 설정 길이가 너무 짧거나 널 (Null) 인 패스워드 사전에 나오는 단어나 이들의 조합 키보드 자판의 일련 나열 사용자 계정 정보에서 유추 가능한 단어들

좋은 패스워드 설정 좋은 패스워드란 기억하기 쉽지만 크랙하기 어려운 패스워드로

영문과 숫자 그리고 특수문자를 적절히 조합하여 사용한다 .

Page 3: ch18 – 7.  패스워드 크래킹 -  Intruders -

32007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조

Page 4: ch18 – 7.  패스워드 크래킹 -  Intruders -

42007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조LSA

모든 계정의 로그인 검증 , 시스템 자원 및 파일 접근 권한 검사

SRM 이 생성한 감사 로그를 기록하는 역할도 한다 .

SAM (Security Account Manager)

사용자 /그룹 계정 정보에 대한 데이터베이스를 관리

사용자의 입력 정보와 SAM 정보를 비교하여 인증 여부를 확정 .

%systemroot%/system32/config/sam

LM(LAN Manager)

윈도우에서 가장 약한 인증 : 랜에서 파일공유를 위한 인증 방법

LM 을 이용한 공유 파일 패스워드 설정은 크랙하는데 10 여초 이상 소요되지 않는다 .

Page 5: ch18 – 7.  패스워드 크래킹 -  Intruders -

52007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조NTLM 버전 1

LM 보다는 안전하지만 취약점이 발견되어 오래 적용되지는 않았다 . 인증에 도전 /응답 (Challenge/Response) 방식을 사용한다 .

NTLM 버전 2

윈도우 XP 와 2000 의 시스템에 적용되어 있다 .

SRM (Security Reference Monitor)

SAM 이 사용자의 계정과 패스워드가 일치하는지를 확인하여 SRM(Security Reference Monitor) 에게 알려주면 , SRM 은 사용자에게 고유의 SID(Security Identifier) 를 부여한다 . SRM 은 SID 에 기반하여 파일이나 디렉토리에 접근 (access)

제어를 하게 되고 , 이에 대한 감사 메시지를 생성한다 .

Page 6: ch18 – 7.  패스워드 크래킹 -  Intruders -

62007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조SID

getsid

Page 7: ch18 – 7.  패스워드 크래킹 -  Intruders -

72007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조 SID 의 구조 The SID for account NEWGENERATION\administrator is                                     S-1-5-21-1801674531-839522115-1708537768-500                                      ①  ②                 ③                  ④ ① 해당 시스템이 윈도우 시스템임을 말한다 .

② 도메인 컨트롤러이거나 단독 시스템 (Stand alone system) 임을 표시 .

③ 시스템의 고유한 숫자다 . 이 고유한 숫자는 시스템을 설치할 때 시스템의 특성을 수집하여 생성된다 .

④ 각 사용자별 숫자로 표현되는 고유한 ID 다 . 관리자(Administrator) 는 500 번 , Guest 계정은 501 번 , 일반 사용자는 1000 번 이상의 숫자를 가지게 된다 .

Page 8: ch18 – 7.  패스워드 크래킹 -  Intruders -

82007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리 윈도우 인증 구조 기본 계정

계정 이름 설 명administrator

관리자 권한의 계정으로서 가장 강력한 권한을 가진다 .system 혹은 local system

로컬에서 관리자과 거의 대등한 강력한 권한을 가진다 .원격에서 접속이 불가능하다 .

guest매우 제한적인 권한을 가진 계정으로서 , 기본 설정으로는 사용 불능이다 .

기본 그룹그룹 이름 설 명

administrators

도메인 자원이나 로컬 컴퓨터에 대한 모든 권한이 존재하는 그룹

Account Operators

사용자나 그룹 계정을 관리하는 그룹

Backup Operators

시스템 백업을 위해서 모든 시스템의 파일과 디렉토리에 접근할 수 있는 그룹

Page 9: ch18 – 7.  패스워드 크래킹 -  Intruders -

92007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

윈도우 인증 구조 기본 그룹

그룹 이름 설 명

Guests 도메인을 사용할 수 있는 권한이 제한된 그룹으로서 시스템의 설정 변화 권한이 없도록 조치된 그룹

Print Operators 도메인 프린터에 접근할 수 있는 그룹

Power Users 디렉토리나 네트워크를 공유할 수 있고 공용 프로그램 그룹을 만들 수 있으며 컴퓨터의 시계를 맞출 수 있는 권한이 있는 그룹

Replicator 도메인에 있는 파일을 복제할 수 있는 권한을 가지고 있는 그룹이며 디렉토리 복사 서비스를 사용하는 데 이용된다 .

Server Operators

도메인의 서버를 관리할 수 있는 권한이 있는 그룹으로서 로컬 로그온과 시스템 재시작 , 시스템 종료 등을 할 수 있는 권한이 있다 .

Users 도메인과 로컬 컴퓨터를 일반적으로 사용하는 그룹 . 개개인에 할당된 사용자 환경을 직접 만들 수 있지만 설정할 수 있는 항목에는 한계가 있다 . 시스템 서비스를 시작하거나 종료할 수 있는 권한이 존재하지 않고 디렉토리 공유 설정을 할 수 없다 .

Page 10: ch18 – 7.  패스워드 크래킹 -  Intruders -

102007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

SID 를 이용한 윈도우 사용자 목록화 널 세션의 생성

User2sid 를 이용한 SID 추출

net use \\192.168.68.2\IPC$ "" /u:""

user2sid \\192.168.68.2 administrator

Page 11: ch18 – 7.  패스워드 크래킹 -  Intruders -

112007-01 정보보호응용

윈도우의 인증 구조 및 계정 관리

SID 를 이용한 윈도우 사용자 목록화 sid2user 를 이용한 계정 추출

sid2user \\192.168.68.2 5 21 448539723 573735546 725345543 1000

sid2user \\192.168.68.2 5 21 448539723 573735546 725345543 1003

Page 12: ch18 – 7.  패스워드 크래킹 -  Intruders -

122007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 /etc/passwd

/etc/passwd 파일은 644 권한으로 일반 계정의 권한으로도 패스워드 파일을 읽을 수 있다 . 따라서 시스템에 존재하는 계정을 확인이 쉽다 .

Page 13: ch18 – 7.  패스워드 크래킹 -  Intruders -

132007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 /etc/passwd

root : x : 0 : 0 : root : /root : /bin/bash     ①   ② ③  ④  ⑤     ⑥        ⑦

① 사용자 계정② 암호화된 패스워드 ③ 사용자 번호 : 관리자 0 번 , 일반 사용자 500 번부터의 번호 ④ 그룹 ID: 관리자 그룹이므로 0 번이다 . ⑤ 실제 이름 . 시스템 설정에 영향이 없고 자신의 이름을 입력가능 . ⑥ 사용자의 홈 디렉토리를 설정 : 관리자 홈 디렉토리가 /root다 . ⑦ 사용자의 셸을 정의한다 .

Page 14: ch18 – 7.  패스워드 크래킹 -  Intruders -

142007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 /etc/shadow

Shadow 파일에는 각 계정의 암호화된 패스워드가 저장되어 있으며 , 계정에 대한 몇 가지 보안 정책을 설정할 수 있다 .

Page 15: ch18 – 7.  패스워드 크래킹 -  Intruders -

152007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 /etc/shadow

root : $1$pS/cfFID$pzmD10T5rjrl8qnXiM5xr/ : 12364 : 0 : 99999 : 7 : : :      ①                 ②                         ③     ④    ⑤    ⑥⑦⑧⑨① 사용자 계정       

② 암호화된 사용자의 패스워드 : 레드햇에는 MD5 형식 ③ 1970 년 1 월 1 일부터 패스워드 바꾼 날까지의 값이다 . ④ 바꾸기 전에 패스워드를 사용한 기간 . 최초 설정 후 0 이다 . ⑤ 패스워드 바꾸지 않고 최대한 사용할 수 있는 기간이다 . ⑥ 패스워드 사용기한 며칠 전에 경고를 보낼 것인지 지정한다 . ⑦ 계정에 대한 완전히 사용 정지 기간  ⑧ 계정이 완전 사용 정지된 기간을 1970.1.1 부터 계산한 값 ⑨ 관리자가 임의로 사용할 수 있는 부분이다 .

Page 16: ch18 – 7.  패스워드 크래킹 -  Intruders -

162007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 암호화된 패스워드 저장 위치 변경

1. shadow 파일에서 passwd 파일로 암호화 내용 저장 변경하기pwunconv

Page 17: ch18 – 7.  패스워드 크래킹 -  Intruders -

172007-01 정보보호응용

리눅스 /유닉스의 인증 구조 및 계정 관리

리눅스 /유닉스 인증 구조 암호화된 패스워드 저장 위치 변경

2. passwd 파일에서 shadow 파일로 패스워드 암호화하여 저장하기 pwconv

Page 18: ch18 – 7.  패스워드 크래킹 -  Intruders -

182007-01 정보보호응용

패스워드 크래킹

패스워드 크랙 윈도우 패스워드 블록 구조

패스워드의 길이에 관계없이 8 바이트가 하나의 블록을 형성한다 . 이 중 1 바이트는 패스워드 블록에 대한 정보를 담고 있으며 , 실질적으로 패스워드 문자열을 저장하는 것은 7 바이트 , 즉 7 개의 문자다 . 패스워드가 ‘ qwer1234' 일 경우에는 모두 8 개의 문자이므로 2 개의 패스워드 블록을 형성하게 된다 .

Page 19: ch18 – 7.  패스워드 크래킹 -  Intruders -

192007-01 정보보호응용

패스워드 크래킹

패스워드 크랙

윈도우 95, 98 공유 폴더 패스워드 크랙

패스워드를 한 글자씩 추측하여 공격대상 시스템에 보내면 올바른 문자를 보냈을 때와 엉뚱한 문자를 보냈을 때의 반응이 다른 것이었다 . 결국 공격자는 패스워드를 맨 처음 글자부터 한 글자씩 맞추어 나가는 것이 가능했다 .

Page 20: ch18 – 7.  패스워드 크래킹 -  Intruders -

202007-01 정보보호응용

패스워드 크래킹

패스워드 크랙

DES 1977 년에 IBM 이 만든 암호화 알고리즘이다 . 56 비트의 키 값을 가지고

암호화를 실시하며 , 현재로서는 그다지 강한 암호화 알고리즘은 아니다 . 1997 년 DES 알고리즘은 약 3 일 정도에 해독되었다고 한다 .

AES(Advanced Encryption Standard) 라인델 (Rijndael) 알고리즘이 사용되고 있다 . 우리나라의 은행권 등에서 사용되고 있는 국산 알고리즘인 SEED 역시 AES

로 채택되기 위해 선별되었던 6 개의 암호화 알고리즘 중 하나였다 .

MD5 해시함수

유닉스 패스워드 암호화 /해시

Page 21: ch18 – 7.  패스워드 크래킹 -  Intruders -

212007-01 정보보호응용

패스워드 크래킹

패스워드 크랙 암호화와 해시의 차이

암호화 알고리즘은 암호화되지 않은 평문을 암호화한 뒤에 다시 이를 해독하는 것이 가능한데 , 해시 알고리즘은 이에 대한 해독이 불가능하다 .

Page 22: ch18 – 7.  패스워드 크래킹 -  Intruders -

222007-01 정보보호응용

패스워드 크래킹

패스워드 크랙 암호화 예제

abcde fghij  klmno pqrst  uvwxy z

xyzab cdefg hijkl  mnopq rstuv   w

Wish to be free from myself -> tfpk ql yb cobb colj jvpbic.

Page 23: ch18 – 7.  패스워드 크래킹 -  Intruders -

232007-01 정보보호응용

패스워드 크래킹

패스워드 크랙 해쉬의 예제

Page 24: ch18 – 7.  패스워드 크래킹 -  Intruders -

242007-01 정보보호응용

패스워드 크래킹

패스워드 크랙 운영체제별 Shadow 파일의 위치

운영체제 shadow 파일의 위치

IBM AIX /etc/security/passwdIBM A/ux 3.0.3 (RS-6000)

/tcb/file/auth/?/*

BSD 4.3 - Reno /etc/master.passwdDEC DG/ux (Digital Unix)

/etc/tcb/aa/user

DEC EP/ux /etc/shadow

HP/ux /.secure/etc/passwd

IRIX 5 /etc/shadow

Free BSD       /etc/shadow

SunOS 4.1 + C2/etc/security/passwd.adjunct

SunOS 5.x /etc/shadow, passwd

System V Release 4.0 /etc/shadow, passwd

Page 25: ch18 – 7.  패스워드 크래킹 -  Intruders -

252007-01 정보보호응용

NAT(NetBIOS Auditing Tool)

nat -u userlist.txt -p dic.txt 172.16.0.5

패스워드 크래킹

윈도우 패스워드 크랙킹

Page 26: ch18 – 7.  패스워드 크래킹 -  Intruders -

262007-01 정보보호응용

패스워드 크래킹

윈도우 패스워드 크랙킹 PWDUMP & LC4

1. pwdump3 를 이용한 SAM 파일의 덤프 획득

pwdump3 \\172.16.0.4 sam_file administrator

Page 27: ch18 – 7.  패스워드 크래킹 -  Intruders -

272007-01 정보보호응용

패스워드 크래킹

윈도우 패스워드 크랙킹 PWDUMP & LC4

2. 획득한 SAM 파일 내용

3. LC4 에 pwdump 로드

Page 28: ch18 – 7.  패스워드 크래킹 -  Intruders -

282007-01 정보보호응용

패스워드 크래킹

윈도우 패스워드 크랙킹 PWDUMP & LC4 5. 패스워드 크랙

Page 29: ch18 – 7.  패스워드 크래킹 -  Intruders -

292007-01 정보보호응용

패스워드 크래킹

리눅스 패스워드 크랙킹 John the ripper

1. John 의 실행

Page 30: ch18 – 7.  패스워드 크래킹 -  Intruders -

302007-01 정보보호응용

패스워드 크래킹

리눅스 패스워드 크랙킹 John the ripper

2. John 를 이용한 shadow 파일 크랙

john -wordfile:word.txt shadow

Page 31: ch18 – 7.  패스워드 크래킹 -  Intruders -

312007-01 정보보호응용

패스워드 크래킹

서비스 데몬 패스워드 크랙킹 UNS – FTP 계정 크랙

Page 32: ch18 – 7.  패스워드 크래킹 -  Intruders -

322007-01 정보보호응용

패스워드 크래킹

서비스 데몬 패스워드 크랙킹 BRUTUS AET 2 – Telnet 계정 크랙

Page 33: ch18 – 7.  패스워드 크래킹 -  Intruders -

332007-01 정보보호응용

패스워드 크래킹

서비스 데몬 패스워드 크랙킹 Telnet 인증 순서 확인

① 'login:' 뒤에 계정을 입력하고 , 엔터 (CR, Carriage Return) 를 한 뒤 , 줄이 바뀌어 (LF, Line Feed) ‘password:' 문자열을 만나게 된다 . 잘못된 패스워드를 입력한 경우에는 다시 ’ CR+LF‘ 과정을 거치고 'Login incorrect' 문자열을 만난다 . ② 로그인을 성공할 때도 비슷하다 . 정상적인 패스워드를 입력한 뒤 , ‘CR+LF’ 한 뒤 , 'Last login: Tue .... ' 만이 다르다 .

Page 34: ch18 – 7.  패스워드 크래킹 -  Intruders -

342007-01 정보보호응용

Telnet 인증 순서 BRUTUS AET2 에 입력

패스워드 크래킹

서비스 데몬 패스워드 크랙하기

Page 35: ch18 – 7.  패스워드 크래킹 -  Intruders -

352007-01 정보보호응용

Telnet 인증 순서 BRUTUS AET2 에서 확인

패스워드 크래킹

서비스 데몬 패스워드 크랙하기

Page 36: ch18 – 7.  패스워드 크래킹 -  Intruders -

362007-01 정보보호응용

운영체제별 패스워드 복구

윈도우 패스워드 복구 패스워드 복구용 시디를 이용한 부팅

Page 37: ch18 – 7.  패스워드 크래킹 -  Intruders -

372007-01 정보보호응용

운영체제별 패스워드 복구

윈도우 패스워드 복구 파티션 마운트

Page 38: ch18 – 7.  패스워드 크래킹 -  Intruders -

382007-01 정보보호응용

운영체제별 패스워드 복구

윈도우 패스워드 복구 SAM 파일 편집

Page 39: ch18 – 7.  패스워드 크래킹 -  Intruders -

392007-01 정보보호응용

운영체제별 패스워드 복구

윈도우 패스워드 복구 SAM 파일 편집 후 추출

패스워드 파일 변경

Page 40: ch18 – 7.  패스워드 크래킹 -  Intruders -

402007-01 정보보호응용

운영체제별 패스워드 복구

윈도우 패스워드 복구 변경 사항 저장 후 종료

Page 41: ch18 – 7.  패스워드 크래킹 -  Intruders -

412007-01 정보보호응용

운영체제별 패스워드 복구

리눅스 패스워드 복구 싱글모드로 부팅

kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi single

Page 42: ch18 – 7.  패스워드 크래킹 -  Intruders -

422007-01 정보보호응용

운영체제별 패스워드 복구

리눅스 패스워드 복구

싱글모드로 부팅후 패스워드 변경