독개

패스워드 크래킹

by #독개#

해시와 암호화

운영체제에서 패스워드 숨기는 방법 : 해시 or 암호화


해시

복호화 불가능

▷가장 많이 쓰임 (ex : md5, RIPEMD-160 ,SHA시리즈)

▷임의의 데이터로 부터 일종의 짧은 문자열로 만들어내는 방법이다.

▷해시함수는 데이터를 자르고 치환하거나 위치를 바꾸는 등의 방법을 사용해 결과를 만들어내며, 이 결과를 해시 값이라 한다.


암호화

복호화 가능

▷어떠한 알고리즘(규칙)을 이용해서 암호화시킴 , 이걸 알고있는 사람들은 재해석 해서 볼수있음

▷전쟁같은데서 막 A->C 로해석하고 이런느낌? 말이 알고리즘이지 약속같은 느낌


Salt

▷해시값이 같지 않기 위한 첨가물이며, 보안 강화 기법이다.

Salt쓰면 사실상 패스워드 크래킹은 불가능

 Salt미적용

계정 

패스워드

MD5 

root

1234 

E10ADC3949BA59ABBE56E

i2sec

1234

E10ADC3949BA59ABBE56E 


Salt적용

계정 

Salt 

패스워드 

Salt+MD5

root

J2

1234

ABE873F245EOJ1923$E55#2

i2sec

M4

1234

2CC6B7A83257D23AA#3834


패스워드 크래킹

사실 이런게 있다 정도로만 알고 필요할때 툴을 사용해서 하면된다. 그런데 오늘날에는 사실상 웹에서도 지속적인 로그인을 막아놧고

거의 불가능하다 보면된다. 그래서 자세히 기술은안하고 그냥 이런게 있다 정도로만 적을테니 필요할때 검색해서 하자


1. 사전 대입 공격(Dictionary Attack)

- 패스워드로 사용될만한 것들을 사전 파일로 만들어 두고(.txt) 컴퓨터가 쭉대입

- 공격 대상의 개인정보를 안다면 효율적


2. 무작위 대입 공격(Brute Force Attack) ex) unsecure v1.2

- 사전 공격 실패시 사용

- 어느정도 설정을 하면 그냥 컴퓨터가 무작위로 대입해서 찾아보는거

- 짧은 길이와 단순한 패턴에 효율적 (비번13자리에 특수문자 포함되면 무작위 하는데 수십년걸림)


3. 레인보우 테이블 공격(Rainbow Table Attack) ex) Cain&Abel

- Salt까지 포함되면 사실 불가능

- 패스워드 별로 해시 값을 미리 만들어 놓고 그 해시값을 검색해서 찾는거

R함수

- 해시 테이블에서 해시값으로 뭔가 검색하기에는 해시값의 길이가 너무 길잖아 그래서 임의의 함수(알고리즘)을 하나 만들어서

  짧게 만든다음에 검색하면 빠르겟지?

패스워드 

md5해시 

md5+R함수 해시 

123456

ABE873F245EOJ1923$E55#2

874866


패스워드 크래킹 시나리오

- DB해킹 성공후 해시값 가져와서 레인보우 어택

- 시스템 해킹 성공(shell 획득) 후 shadow파일에서 패스워드 크래킹 후 해시값 가져와서 레인보우 어택


'🧛‍♂️ 해킹 > 시스템해킹' 카테고리의 다른 글

가상메모리, 커널영역, 유저영역, 시스템콜함수  (0) 2020.06.25
쉘코드 제작  (0) 2020.06.24
쉘코드  (0) 2020.06.23
백도어 ,백도어 탐지, 백도어숨기기  (0) 2020.06.22
권한상승  (0) 2020.06.22

블로그의 정보

독한 개발자

#독개#

활동하기