ch10_Password

Download Report

Transcript ch10_Password

10. 패스워드 크래킹
패스워드
 잘못된 패스워드 설정
 길이가
너무 짧거나 널(Null)인 패스워드
 사전에
나오는 단어나 이들의 조합
 키보드
자판의 일련 나열
 사용자
계정 정보에서 유추 가능한 단어들
 좋은 패스워드 설정
 좋은
패스워드란 기억하기 쉽지만 크랙하기 어려운
패스워드로 영문과 숫자 그리고 특수문자를 적절히
조합하여 사용한다.
2
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조
3
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조

LSA
모든 계정의 로그인 검증, 시스템 자원 및 파일 접근 권한 검사
SRM이 생성한 감사 로그를 기록하는 역할도 한다.

SAM (Security Account Manager)
사용자/그룹 계정 정보에 대한 데이터베이스를 관리
사용자의 입력 정보와 SAM 정보를 비교하여 인증 여부를 확정.
%systemroot%/system32/config/sam

LM(LAN Manager)
윈도우에서 가장 약한 인증: 랜에서 파일공유를 위한 인증 방
법
LM을 이용한 공유 파일 패스워드 설정은 크랙하는데 10여초
이상 소요되지 않는다.
4
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조

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)
제어를 하게 되고, 이에 대한 감사 메시지를 생성한다.
5
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조

SID
getsid
6
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조
 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번 이상의 숫자를 가지
게 된다.
7
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조
 기본 계정
계정 이름
설
명
administrator
관리자 권한의 계정으로서 가장 강력한 권한을 가진다.
system 혹은
local system
로컬에서 관리자과 거의 대등한 강력한 권한을 가진다.
원격에서 접속이 불가능하다.
guest
매우 제한적인 권한을 가진 계정으로서, 기본 설정으로
는 사용 불능이다.
 기본 그룹
그룹 이름
설
명
administrator
s
도메인 자원이나 로컬 컴퓨터에 대한 모든 권한
이 존재하는 그룹
Account
Operators
사용자나 그룹 계정을 관리하는 그룹
Backup
Operators
시스템 백업을 위해서 모든 시스템의 파일과 디
렉토리에 접근할 수 있는 그룹
8
윈도우의 인증 구조 및 계정 관리
 윈도우 인증 구조
 기본 그룹
그룹 이름
설
명
Guests
도메인을 사용할 수 있는 권한이 제한된 그룹으로서 시스템의
설정 변화 권한이 없도록 조치된 그룹
Print Operators
도메인 프린터에 접근할 수 있는 그룹
Power Users
디렉토리나 네트워크를 공유할 수 있고 공용 프로그램 그룹을
만들 수 있으며 컴퓨터의 시계를 맞출 수 있는 권한이 있는 그룹
Replicator
도메인에 있는 파일을 복제할 수 있는 권한을 가지고 있는 그룹
이며 디렉토리 복사 서비스를 사용하는 데 이용된다.
Server
Operators
도메인의 서버를 관리할 수 있는 권한이 있는 그룹으로서 로컬
로그온과 시스템 재시작, 시스템 종료 등을 할 수 있는 권한이
있다.
Users
도메인과 로컬 컴퓨터를 일반적으로 사용하는 그룹. 개개인에
할당된 사용자 환경을 직접 만들 수 있지만 설정할 수 있는 항목
에는 한계가 있다. 시스템 서비스를 시작하거나 종료할 수 있는
권한이 존재하지 않고 디렉토리 공유 설정을 할 수 없다.
9
윈도우의 인증 구조 및 계정 관리
 SID를 이용한 윈도우 사용자 목록화
 널 세션의 생성
net use \\192.168.68.2\IPC$ "" /u:""
 User2sid 를 이용한 SID 추출
user2sid \\192.168.68.2 administrator
10
윈도우의 인증 구조 및 계정 관리
 SID를 이용한 윈도우 사용자 목록화
 sid2user를 이용한 계정 추출
sid2user \\192.168.68.2 5 21 448539723 573735546 725345543 1000
sid2user \\192.168.68.2 5 21 448539723 573735546 725345543 1003
11
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 /etc/passwd
/etc/passwd 파일은 644 권한으로 일반 계정의 권한으로도 패스워드
파일을 읽을 수 있다. 따라서 시스템에 존재하는 계정을 확인이 쉽다.
12
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 /etc/passwd
root : x : 0 : 0 : root : /root : /bin/bash
① ② ③ ④ ⑤
⑥
⑦
① 사용자 계정
② 암호화된 패스워드
③ 사용자 번호: 관리자 0번, 일반 사용자 500번부터의 번호
④ 그룹 ID: 관리자 그룹이므로 0번이다.
⑤ 실제 이름. 시스템 설정에 영향이 없고 자신의 이름을 입력가능.
⑥ 사용자의 홈 디렉토리를 설정: 관리자 홈 디렉토리가 /root다.
⑦ 사용자의 셸을 정의한다.
13
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 /etc/shadow
Shadow 파일에는 각 계정의 암호화된 패스워드가 저장되어 있으며,
계정에 대한 몇 가지 보안 정책을 설정할 수 있다.
14
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 /etc/shadow
root : $1$pS/cfFID$pzmD10T5rjrl8qnXiM5xr/ : 12364 : 0 : 99999 : 7 : : :
①
②
③
④
⑤ ⑥⑦⑧
⑨
① 사용자 계정
② 암호화된 사용자의 패스워드: 레드햇에는 MD5 형식
③ 1970년 1월 1일부터 패스워드 바꾼 날까지의 값이다.
④ 바꾸기 전에 패스워드를 사용한 기간. 최초 설정 후 0이다.
⑤ 패스워드 바꾸지 않고 최대한 사용할 수 있는 기간이다.
⑥ 패스워드 사용기한 며칠 전에 경고를 보낼 것인지 지정한다.
⑦ 계정에 대한 완전히 사용 정지 기간
⑧ 계정이 완전 사용 정지된 기간을 1970.1.1부터 계산한 값
⑨ 관리자가 임의로 사용할 수 있는 부분이다.
15
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 암호화된 패스워드 저장 위치 변경
1. shadow 파일에서 passwd 파일로 암호화 내용 저장 변경하기
pwunconv
16
리눅스/유닉스의 인증 구조 및 계정 관리
 리눅스/유닉스 인증 구조
 암호화된 패스워드 저장 위치 변경
2. passwd 파일에서 shadow 파일로 패스워드 암호화하여 저장하기
pwconv
17
패스워드 크래킹
 패스워드 크랙
 윈도우 패스워드 블록 구조
패스워드의 길이에 관계없이 8바이트가 하나의 블록을 형성한다. 이 중 1
바이트는 패스워드 블록에 대한 정보를 담고 있으며, 실질적으로 패스워드
문자열을 저장하는 것은 7바이트, 즉 7개의 문자다.
패스워드가 ‘qwer1234'일 경우에는 모두 8개의 문자이므로 2개의 패스워
드 블록을 형성하게 된다.
18
패스워드 크래킹
 패스워드 크랙
 윈도우 95, 98 공유 폴더 패스워드 크랙
패스워드를 한 글자씩 추측하여 공격대상 시스템에 보내면 올바
른 문자를 보냈을 때와 엉뚱한 문자를 보냈을 때의 반응이 다른
것이었다. 결국 공격자는 패스워드를 맨 처음 글자부터 한 글자씩
맞추어 나가는 것이 가능했다.
19
패스워드 크래킹
 패스워드 크랙
 유닉스 패스워드 암호화/해시

DES
 1977년에 IBM이 만든 암호화 알고리즘이다. 56비트의 키 값
을 가지고 암호화를 실시하며, 현재로서는 그다지 강한 암호
화 알고리즘은 아니다.
 1997년 DES 알고리즘은 약 3일 정도에 해독되었다고 한다.

AES(Advanced Encryption Standard)
 라인델(Rijndael) 알고리즘이 사용되고 있다.
 우리나라의 은행권 등에서 사용되고 있는 국산 알고리즘인
SEED 역시 AES로 채택되기 위해 선별되었던 6개의 암호화
알고리즘 중 하나였다.

MD5
 해시함수
20
패스워드 크래킹
 패스워드 크랙
 암호화와 해시의 차이
 암호화 알고리즘은 암호화되지 않은 평문을 암호화한 뒤에 다시 이를 해독하는 것
이 가능한데, 해시 알고리즘은 이에 대한 해독이 불가능하다.
21
패스워드 크래킹
 패스워드 크랙
 암호화 예제
abcde fghij klmno pqrst uvwxy z
xyzab cdefg hijkl mnopq rstuv w
Wish to be free from myself -> tfpk ql yb cobb colj jvpbic.
22
패스워드 크래킹
 패스워드 크랙
 해쉬의 예제
23
패스워드 크래킹
 패스워드 크랙
 운영체제별 Shadow 파일의 위치
운영체제
shadow 파일의 위치
IBM AIX
/etc/security/passwd
IBM A/ux 3.0.3 (RS-6000)
/tcb/file/auth/?/*
BSD 4.3 - Reno
/etc/master.passwd
DEC 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
24
패스워드 크래킹
 윈도우 패스워드 크랙킹
 PWDUMP & LC4
1. pwdump3를 이용한 SAM 파일의 덤프 획득
pwdump3 \\172.16.0.4 sam_file administrator
25
패스워드 크래킹
 윈도우 패스워드 크랙킹
 PWDUMP & LC4
2. 획득한 SAM 파일 내용
3. LC4 에 pwdump 로드
26
패스워드 크래킹
 윈도우 패스워드 크랙킹
 PWDUMP & LC4
5. 패스워드 크랙
27
패스워드 크래킹
 리눅스 패스워드 크랙킹
 John the ripper
1. John 의 실행
28
패스워드 크래킹
 리눅스 패스워드 크랙킹
2. John 를 이용한 shadow 파일 크랙
john -wordfile:word.txt shadow
29
패스워드 크래킹
 서비스 데몬 패스워드 크랙킹
 Unsecure – FTP 계정 크랙
30
패스워드 크래킹
 서비스 데몬 패스워드 크랙킹
 Brutus AET 2 – Telnet 계정 크랙
31
패스워드 크래킹
 서비스 데몬 패스워드 크랙킹
 Telnet 인증 순서 확인
① 'login:' 뒤에 계정을 입력하고, 엔터(CR, Carriage Return)를 한 뒤, 줄이
바뀌어(LF, Line Feed) ‘password:' 문자열을 만나게 된다. 잘못된 패스워드
를 입력한 경우에는 다시 ’CR+LF‘ 과정을 거치고 'Login incorrect' 문자열을
만난다.
② 로그인을 성공할 때도 비슷하다. 정상적인 패스워드를 입력한 뒤, ‘CR+LF’
한 뒤, 'Last login: Tue .... '만이 다르다.
32
패스워드 크래킹
 서비스 데몬 패스워드 크랙하기
 Telnet 인증 순서 BRUTUS AET2 에 입력
33
패스워드 크래킹
 서비스 데몬 패스워드 크랙하기
 Telnet 인증 순서 BRUTUS AET2에서 확인
34
운영체제별 패스워드 복구
 윈도우 패스워드 복구
 패스워드 복구용 시디를 이용한 부팅
35
운영체제별 패스워드 복구
 윈도우 패스워드 복구
 파티션 마운트
36
운영체제별 패스워드 복구
 윈도우 패스워드 복구
 SAM 파일 편집
37
운영체제별 패스워드 복구
 윈도우 패스워드 복구
 SAM 파일 편집 후 추출
 패스워드 파일 변경
38
운영체제별 패스워드 복구
 윈도우 패스워드 복구
 변경 사항 저장 후 종료
39
운영체제별 패스워드 복구
 리눅스 패스워드 복구
 싱글모드로 부팅
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi single
40
운영체제별 패스워드 복구
 리눅스 패스워드 복구
 싱글모드로 부팅 후 패스워드 변경
41