로그인
Sign in
UNIX의 패스워드 파일은 해독할 수 없다. UNIX 패스워드는 단반향 함수(one way function)으로 암호화되어 있다. 로그인 프로그램은 "password:"라고 표시되는 프롬프트에서 입력되는 패스워드를 암호화하여 패스워드 파일에 암호화된 패스워드와 비교한다. 패스워드를 깨는 프로그램(password cracking program)은 단어장(wordlist)를 이용한다. 단어장에 있는 단어 하나씩을 암호화하여 패스워드 파일에 있는 암호와 비교한다. 지금까지 나와 있는 가장 좋은 패스워드 깨는 프로그램은 Alec Muffett이 작성한 Crack이다. DOS용 프로그램으로는 CrackJack이 가장 좋다. CrackJack은 ftp를 이용하여 clark.net의 /ub/jcase/ 디렉토리에서 구할 수 있다.


패스워드 새도우란 무엇인가?


패스워드 새도우란 보안 시스템으로서 암호화된 /etc/passwd의 패스워드 필드가 특별한 문자로 치환되어 있으며, 실제의 패스워드는 정상적인 사용자가 읽을 수 없는 파일에 저장되어 있다. 대부분(전부는 아니고)의 시스템에서 패스워드 새도우를 깨기 위해서 getpwent()함수를 연속적으로 부르는 프로그램을 작성하여 패스워드 파일을 만들 수 있다.


예:

#include

main()

{

struct passwd *p;

while(p=getpwent())

printf("%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,

p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);

}




새도우화 되어 있는 패스워드 파일은 어디서 찾나?


Unix Path(경로) Token

-----------------------------------------------------------------

AIX 3 /etc/security/passwd !

or /tcb/auth/files/
of username>/

A/UX 3.0s /tcb/files/auth/?/*

BSD4.3-Reno /etc/master.passwd *

ConvexOS 10 /etc/shadpw *

ConvexOS 11 /etc/shadow *

DG/UX /etc/tcb/aa/user/ *

EP/IX /etc/shadow x

HP-UX /.secure/etc/passwd *

IRIX 5 /etc/shadow x

Linux 1.1 /etc/shadow *

OSF/1 /etc/passwd[.dirchr(124)_pipe.pag] *

SCO Unix #.2.x /tcb/auth/files/
of username>/

SunOS4.1+c2 /etc/security/passwd.adjunct ##username

SunOS 5.0 /etc/shadow



System V Release 4.0 /etc/shadow x

System V Release 4.2 /etc/security/* database

Ultrix 4 /etc/auth[.dirchr(124)_pipe.pag] *

UNICOS /etc/udb *




NIS/yp란 무엇인가?


NIS(Network Information System)은 현재의 이름이고 예전에는 yp(Yellow Page)라고 불리웠다. NIS의 목적은 네트워크에서 여러 기계들이 패스워드와 같은 구성정보를 공유하기 위함이다. NIS는 시스템 보안을 위해서 설계되어 있지 않다. NIS를 이용하고 있다면 /etc/passwd 파일에 다음과 같은 것이 들어 있다.


+::0:0:::


실제 패스워드 파일을 보기 위해서 "ypcat passwd" 명령을 이용하면 된다.



패스워드 파일에서 쉽표뒤에 나오는 이상한 문자들은 무엇인가?


문자는 패스워드 수명(age)을 나타내는 것이다. 패스워드 수명은 관리자가 정한 기일 내에 패스워드 파일을 바꾸도록 한다. 패스워드 수명은 사용자가 패스워드를 바꾸기 전에 정해진 시간만큼은 사용하도록 하기도 한다.


]

] 패스워드 수명 기능이 들어 있는 /etc/passwd 파일의 일례

]

] will:5fg63fhD3d,M.z8:9406:12:Will Spencer:/home/fsg/will:/bin/bash

]


암호화된 패스워드 필드 뒤의 쉼표에 주의하자. 쉼표뒤에 나오는 문자는 모두 패스워드 수령기법을 위해서 사용된다.


]

] 위 예에서의 패스워드 수명 문자

]

] M.z8

]


4 개의 문자가 다음과 같이 번역된다.


1: 패스워드를 변경하지 않고 사용할 수 있는 최대 주(week)의 수

2: 패스워드를 변경하기 전까지 사용해야 할 최소 주(week)의 수

3&4: 1970년 이후로 주의 수로 마지막 패스워드가 바뀐 때


3가지 특별한 경우가 있다.


첫 번째와 두 번째 문자가 '..'로 설정되어 있을 때, 사용자는 다음에 로그인할 때 패스워드를 바꿔야만 한다. 그리고나서 패스워드 프로그램은 패스워드 수명 문자를 없애고, 사용자는 다시 새로운 패스워드 수명에 적용을 받게 된다.


세 번째와 네 번째 문자가 '..'로 설정되어 있을 때, 사용자는 다음에 로그인할 때 패스워드를 바꿔야 한다. 패스워드 프로그램은 첫 번째 두 번째의 경우와 같은 행동을 한다.


만일 첫 번째 문자(MAX)가 두 번째 문자(MIN) 보다 작을 경우, 사용자는 패스워드를 바굴 수 있는 허가가 박탈된다. root만이 이 사용자의 패스워드를 변경할 수 있다.


su 명령은 패스워드 수명 데이터를 검사하지 않는다는데 유의하기 바란다. 말소된 패스워드를 가진 계정으로 su를 행할 수 있다.



패스워드 수명 코드(Password Aging Codes)

+------------------------------------------------------------------------+

chr(124)_pipe chr(124)_pipe

chr(124)_pipe Character: . / 0 1 2 3 4 5 6 7 8 9 A B C D E F G H chr(124)_pipe

chr(124)_pipe Number: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 chr(124)_pipe

chr(124)_pipe chr(124)_pipe

chr(124)_pipe Character: I J K L M N O P Q R S T U V W X Y Z a b chr(124)_pipe

chr(124)_pipe Number: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 chr(124)_pipe

chr(124)_pipe chr(124)_pipe

chr(124)_pipe Character: c d e f g h i j k l m n o p q r s t u v chr(124)_pipe

chr(124)_pipe Number: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 chr(124)_pipe

chr(124)_pipe chr(124)_pipe

chr(124)_pipe Character: w x y z chr(124)_pipe

chr(124)_pipe Number: 60 61 62 63 chr(124)_pipe

chr(124)_pipe chr(124)_pipe

조회 수 :
1551
추천 수 :
39 / 0
등록일 :
2003.03.10
08:01:34 (*.233.250.108)
엮인글 :
http://bestceok.com/xe/index.php?mid=unix_com&document_srl=2667&act=trackback&key=10f
게시글 주소 :
http://bestceok.com/xe/index.php?mid=unix_com&document_srl=2667
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 자주 사용하는 명령어 제비게릴라 2019-06-27 179
12 GSP Mode 에서 CM Mode에서 빠져 나오는 방법 하록 2004-01-25 542
11 GSP 상에서 DUMP 받고 Rebooting 방법... 하록 2004-01-25 672
10 2G 이상의 파일 생성할 수 있는 파티션 설정 [1] 하록 2004-01-25 578
9 Telnet Session 늘려주기... [7] 하록 2004-01-25 4096
8 Mirroring 확인 법 하록 2004-01-25 616
7 아파치 환경 설정파일 가이드.... 하록 2003-03-11 1172
» UNIX 패스워드 해킹방법 관리자 2003-03-10 1551
5 SUID 의 위험성에 대해..... 관리자 2003-03-10 1033
4 크래킹의 "크"자도 모르고 크래킹하기- 2 탄 관리자 2003-03-10 1061
3 크래킹의 "크"자도 모르고 크래킹하기- 1 탄 [1] 관리자 2003-03-10 1073
2 유닉스 패스워드 크랙프로그램 과 패스워드 암호화의 원리[유닉스편] 관리자 2003-03-10 972
1 리눅스란 무엇인가?! 관리자 2003-03-10 669