본문 바로가기
시스템 해킹/FTZ

trainer6

by sonysame 2016. 9. 2.
패스워드 파일 분석 방법

*cat : 리눅스 기본 명령

cat "파일이름" 이라고 입력하면 파일의 속내용을 확면으로 뿌려주는 역할을 한다.


cat /etc/passwd 입력! trainer5에서 했던 것 처럼 

이 입력은  서버에 어떤 어떤 사람들이 계정을 얻어서 사용하고 있는지 알아보자.을 의미한다. 



root:x:0:0:Admin:/root:/bin/bash

을 분석해보자.

일단 패스워드 파일이란 한 서버를 사용하는 사용자들의 모든 정보를 기록에 놓은 파일을 말한다. 

: 은 필드를 구분해주는 문자이다.

즉, 여기에선 7개의 필드로 나뉘어져있다.

첫번째 필드 root 이것은 서버에 로그인 할 때 사용되는 아이디(계정)을 말해준다.

지금은 trainer6라는 아이디로 로그인을 했으니, 패스워드 파일에서 정보를 찾아보면 trainer6: ~~~라고 나와 있다. 

두번째 필드는 패스워드가 적혀있는 부분이다.

리눅스 버전 5.0까지는 이곳에 암호화된 문자열이 들어가 있었고, 다른 사람들이 이 패스워드를 보아도 알아보기 힘든 글씨로 암호화가 되어있기 때문에 위험하지 않았다.

하지만, 해커들이 해독하였다. 

후에 리눅스를 제작하는 사람들은 훨씬 복잡한 방법으로 패스워드를 암호화 시켰다.

그럼에도 해커들이 해독하였고, 

결국 두번째 필드의 패스워드를 싹 없애버리고 x라는 문자만 달랑 보여주었다.

그리고 사용자들의 패스워드만 모아서 새로운 파일을 만드렁ㅆ다.

그것이 바로 /etc/shadow라는 파일이다.

그 다음 그 쉐도우 파일을 관리자 권한을 가진 사람이 아니면 펼쳐 볼 수 조차 없도록 만들어 버렸다.

이 방법은 패스워드의 크랙을 피하는 가장 완벽한 방법으로 채택되어 리눅스 6.0이후 지금까지 계속 사용되어지고 있다.

만약 그 쉐도우 파일을 열어보려고 한다면 에러 메세지가 출력될 것이다.



세번째와 네번째 필드!

위의 사용자는 로그인을 할 때 root라는 이름을 사용한다.

이 root라는 단어는 인간들이 사용하기 쉬운 단어이다.

하지만 컴퓨터는 영어보단 숫자를 더 좋아해서 이런 단어가 아닌 숫자를 사용하여 사용자를 판단한다.

따라서 우리가 root라고 입력하면 컴퓨터는 패스워드 파일을 열어보고서, 지금 들어오는 녀석은 0이란 녀석이다 라고 생각해 버린다.

또한 세 번쨰에 이어 네번째에도 0이란 숫자가 있는데, 이것은 해당 사용자가 속해있는 그룹을 말해준다.


다섯번째 필드는 사용자의 이름을 말해주는 부분이다. 위의 Admin은 관리자라는 뜻이다.

대학의 서버들은 모든 학생들에게 리눅스 계정을 주기 때문에 저 다섯번째 필드에 그 학생의 실명이 들어가 있다.


여섯번째 필드는 해당 사용자가 로그인에 성공 했을때 기본으로 위치하게 되는 디렉토리를 말해준다.(위에선 root)

따라서 root라는 아이디로 로그인에 성공하면 /root로 자동으로 들어가게 된다. 


지금과 같은 경우 /home/trainer6에 들어가게 된다.


이제 마지막 7번째 필드는 사용자가 처음 로그인 했을 때 실행되게 할 프로그램이다. 


위처럼 처음 로그인 하였을 때 쉘이 실행되는 것이 보통이다.

지금까지 패스워드 파일에 대해 분석해 보았다.







'시스템 해킹 > FTZ' 카테고리의 다른 글

trainer8  (0) 2016.09.05
trainer7  (0) 2016.09.02
trainer 5  (0) 2016.09.01
trainer4  (0) 2016.09.01
trainer 3  (0) 2016.09.01