[SK shieldus Rookies 16기][Linux] 패스워드 크래킹 공격

Jina·2023년 11월 22일
0

SK shieldus Rookies 16기

목록 보기
22/59
post-custom-banner

How Secure Is My Password?

현재 내 패스워드가 안전한지 알려주는 사이트

암호화 vs 해쉬

구분특징
암호화양방향성(복호화 가능)
해쉬단방향성(복호화 불가능)

패스워드 크래킹

패스워드 크래킹이란?

공격대상의 ID를 알고 있다는 전제 하에 비밀번호를 알아내는 공격 기법

패스워드 크래킹 공격 종류

종류설명
사전 대입 공격
(Dictionary attack)
패스워드로 사용할 만한 사전 파일을 미리 만들어 놓고 하나씩 대입하여 패스워드 일치 여부를 확인
무차별 대입 공격
(Brute-force attack)
가능한 모든 경우의 수를 모두 대입
레인보우 테이블 공격
(Rainbow table attack)
패스워드와 해시로 이루어진 체인을 무수히 만들어 테이블에 저장 → 암호화 값을 테이블에서 찾는 방법
사회공학 기법
(Social Engineering)
개인 정보가 들어 있는 비밀번호 사용
자신의 이름을 사용 또는 생년월일, 전화번호 등
상대방을 속여 비밀번호 획득
대화내용을 엿들어서 수집

해쉬값 기반의 패스워드 크래킹

  1. 해쉬값 생성
  2. 해쉬값을 저장 할 파일 생성
    pword에 생성해놓은 해쉬값 복사 붙여넣기
$ vi pword
  1. John the ripper
$ john --format=raw-md5 /usr/share/wordlists/rockyou.txt.gz /TEST/pword

패스워드 파일의 패스워드 크래킹

Kali Linux
sudo su 명령어로 관리자 모드

  1. 크랙 파일 만들기
$ cd /TEST
$ cp /etc/passwd passwd 
$cp /etc/shadow shadow

$ unshadow passwd shadow |grep '\$y'| tee passcrack
# unshadow passwd shadow : 계정정보 파일과 패스워드 파일을 결합 
# |grep '\$y'| : 결합된 파일에서 암호화된 패스워드 찾기
# tee passcrack : passcrack 파일에 grep 명령어로 필터링된 결과를 파일로 저장 후 터미널에 출력

  1. 패스워드 크래킹
$ john passcrack --wordlist /usr/share/wordlists/fasttrack.txt --format=crypt

  1. 결과확인
$ john -show passcrack

계정관련 대응방안

[CentOS 7]

$ su
$ cd /etc/security
$ ls
access.conf  
console.perms    
limits.d        
opasswd         
time.conf
chroot.conf       
console.perms.d  
namespace.conf  
pam_env.conf
console.apps      
group.conf       
namespace.d     
pwquality.conf
console.handlers  
limits.conf      
namespace.init  
sepermit.conf

패스워드 복잡도 설정 파일 - pwquality.conf


Defaults:

difok = 5

minlen = 9

dcredit = 1

ucredit = 1

lcredit = 1

ocredit = 1

minclass = 0

maxrepeat = 0

maxclassrepeat = 0

# 주석 필드에 유사하게 지정 불가
gecoscheck = 0


dictpath =
profile
공부 기록
post-custom-banner

0개의 댓글