ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Linux /etc/shadow 구조 살펴보기
    Engineer information security 2022. 7. 9. 18:46
    반응형

    Linux는 passwd에 사용자 정보를 저장한다.

    여기에는 계정명과 패스워드, UID, GID, 홈 디렉터리 등등 기본적인 계정의 정보가 있다.

    그리고 패스워드의 경우 x로 나타나는데, x로 나타나는건 암호화되어 있다는 의미이다.

    암호화된 패스워드는 /etc/shadow에 별도로 저장되어 있다.

    shadow에서 나타난 암호화된 패스워드는 어떤 방식으로 저장되는 것인지 알아보자.

     

     

     

     

     

     

    cat /etc/shadow 를 실행하여 출력되는 계정에 대한 암호화된 정보를 볼 수 있다.

    그리고 이 정보들은 숫자와 대소문자의 영어로 이루어져 있다.

    cat /etc/shadow

     

     

     

     

     

     

     

     

     

     

     

    좀 더 자세하게 보면, $표시로 각 필드를 구분하고 있다. 필드마다 각각 의미하는 부분이 있다. 

    그렇다면, 구분된 필드는 각각 무엇인지를 알아야 한다.

    $표시로 필드를 구분하고 있다.

     

     

     

     

     

     

     

     

     

     

     

     

    각 필드는 $알고리즘ID$salt$암호화된패스워드 로 구성되어 있다. 

    알고리즘 ID에 있는 숫자 값이 의미하는 것은 아래와 같다. 

    1 -> MD5

    2-> BlowFish

    5 -> SHA-256

    6 -> SHA-512

     

     

     

    아래 이미지를 보면 6이라고 되어 있으므로 , 이것은 SHA-512 알고리즘을 사용한 것이다.

    6이라고 되어 있으므로 SHA-512 알고리즘을 사용중

     

     

     

     

     

     

     

     

     

     

     

     

     

    두 번째 필드에 있는 값은 salt 값이다.

    salt는 일반 암호화되어 있는 값의 강도를 올리는 역할을 한다. 

    패스워드에 난수값을 추가한 뒤 암호화된 패스워드를 생성한다. 

    salt의 경우 랜덤으로 생성되므로, 서로다른 여러 개의 계정이 같은 암호를 사용해도 salt값이 다름으로 인해 암호화 강도를 유지한다.

    계정을 두개 만들고 같은 암호로 지정한 뒤, /etc/shadow에서 salt 값을 확인해보면 알 수 있다. 

    salt는 랜덤한 값의 난수를 암호에 추가함으로써 암호화 강도를 올린다.

     

     

     

     

     

     

     

     

     

     

     

    세 번째 필드에 있는 값은 암호화된 패스워드(Encrypted Password)이다.

    이것은 알고리즘 + salt로 패스워드를 암호화한 것이다. 

    암호화된 패스워드는 알고리즘 + salt로 패스워드를 암호화 한것이다.

     

     

     

     

     

     

     

     

     

     

    정리하자면, 

    - 암호화된 패스워드는 /etc/shadow 에서 확인이 가능하다.

    - $로 필드가 구분되어 있고 알고리즘ID, salt, 암호화된 패스워드로 구성되어 있다.

    - salt는 랜덤 난수 값으로 구성되어 있고 암호화에 추가됨으로써 암호화 강도를 높여준다.

    - 추가적으로 패스워드 필드에 ! 가 있는 경우 패스워드가 잠기거나 암호 설정이 되어 있지 않는 상태이다.

    - 패스워드 필드에 * 이 설정된 경우 패스워드가 잠긴 상태이다.

     

    반응형

    'Engineer information security' 카테고리의 다른 글

    Linux Crontab의 용도 및 사용 방법  (0) 2022.07.16
    Linux /etc/passwd 살펴보기  (0) 2022.07.11
    TCP Null Scanning 알아보기  (0) 2021.06.16
    TCP Xmas Scanning 알아보기  (0) 2021.06.16
    TCP FIN Scanning 알아보기  (0) 2021.06.15

    댓글

Designed by Tistory.