패스워드 크래킹
by #독개#해시와 암호화
운영체제에서 패스워드 숨기는 방법 : 해시 or 암호화
해시
암호화
▷복호화 가능
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 |
블로그의 정보
독한 개발자
#독개#