패스워드크래킹 2014 학년도 2 학기 프로젝트특강보고서 프로젝트명 : 패스워드크래킹 ( PASSWORD CRACKING ) 2014 년 11 월 28 일 지도교수 : 한성훈교수님 학과 : 컴퓨터공학과 1 팀제출자 : 역할성명학번 조장 윤지영 2010251069 조원 최용현 2010251068 박준호 2010251125 광운대학교정보과학교육원 컴퓨터공학과 59
윤지영 / 최용현 / 박준호 1. 프로젝트팀원소개 취미 : 맛집탐방 취미 : 음악감상 한마디 : 화이팅!! 한마디 : 열심히 하겠습니다. 조장 : 윤지영 팀원 : 최용현 취미 : 책읽기 한마디 : 아자아자!! 팀원 : 박준호팀원 : 팀원 : 팀원 : 팀원 : 팀원 : 60 광운대학교정보과학교육원
패스워드크래킹 2. 프로젝트개요 2.1 프로젝트내용소개 Password Cracking이란공격대상의 ID를알고있다는전제하에비밀번호를알아내는공격기법을말한다. 이러한패스워드크래킹공격은난이도는낮지만강력한공격중하나이다. 보통많이사용하는소문자 + 숫자의 8자리패스워드의경우최대 13일이면크래킹이가능하다. 최대물론, 개인이사용하는계정이라면 13일이라는긴시간을들여크래킹할가치가없겠지만, 회사나관공서의서버계정이라면이야기가달라진다. 컴퓨터의성능이점점향상됨에따라, 크래킹에걸리는시간또한급격히줄어들고있으므로, 많은주의가필요하다. 패스워드를크래킹에는다양한기법이존재한다. Dictionary Attack이라불리는사전대입공격이그것이다. 사전대입공격은사전파일에있는단어들을자동으로하나하나대입해보는것을말한다. 이보다한단계진화된기법이 Hybrid Attack이다. Hybrid Attack이란문자열에숫자나심볼을추가하여대입해보는공격기법이다. 시간이오래걸리지만, 가장확실한공격은 Brute Force Attack이다. 무작위공격이라불리며, 정확한패스워드를찾을때까지가능한모든키를시도한다. 시간이오래걸리는단점이있지만, 100% 에가까운확률로크래킹이가능하다. 2.2 프로젝트개발환경 (H/W, S/W) 및기대효과 - 하드웨어 CPU : Intel 코어 I-7 RAM : 8G - 소프트웨어운영체제 : 윈도우즈 XP, 리눅스프로그램 : 카인과아벨, 페도라 (John the ripper) 가상머신 : VMware - 기대효과윈도우즈와리눅스에서사용자의패스워드크래킹을통해해킹방법과해킹결과를보고추가적으로어떻게해야안전하게패스워드를설정하는지, 어떻게해야크래킹에대해보다보안을적절한패스워드를설정해야하는지를확인할수있다. 컴퓨터공학과 61
윤지영 / 최용현 / 박준호 3. 프로젝트설계 3.1 프로젝트설계세부설명 윈도우즈 - cain & abel - LM 해시 리눅스 John-the-ripper 1대문자변환 : 우선 LM방식은사용자가패스워드를입력하면모두대문자로바꾼다. 2패딩 : LM은기본적으로 14글자를하나의패스워드로인식한다. 3분리 : LM은패스워드길이에관계없이 8바이트가블록하나를형성한다. 4DES 암호화 : 두개의블록으로분리된패스워드는각 KGS!@#$% 라는문자열을암호화키로사용해암호화한다. 5결합 : KGS!@#$% 로각각암호화한두결과값을합하여 SAM 파일에저장한다. - 윈도우즈와리눅스의차이점 리눅스의인증방식은윈도우의인증방식과비교하면훨씬단순하지만더취약하지는않다. 리눅스와유닉스에서인증에가장중요한역할을하는것은패스워드파일과 shadow 파일이다. 패스워드파일에는계정목록과사용자번호, 그룹번호등과같은정보가존재하지만패스워드와직접관련된내용은없다고앞서언급했다. 패스워드는 shadow 파일에암호화되어저장되어있다. 해킹에관련된것들이리눅스자체가공개이다보니빠른속도로분석되어진다. 따라서공격코드가만들어지고, 확산되어진다고볼수있다. 윈도우해킹범주는윈도우실행파일특성에의해쉽게만들기가힘들다. 그러나윈도우는특성상코드가오픈되어있지않기때문에취약성분석을리버스또는디버깅에의존하고있다. 실행파일또는설치파일형태, 압축파일형태로확산된다. 취약점이분석되었을경우. 그파장을크게하기위해, 웜형태또는트로이, 바이러스등의형태로고의로만들어배포를한다. 또취약성은컴퓨터를이용하는어떤곳에서도생길수있어서원론적으로는윈도우 / 리눅스모두동일하다. 따라서리눅스가설치된컴퓨터만해킹이가능하다고보기어렵다. 62 광운대학교정보과학교육원
패스워드크래킹 3. 프로젝트설계 4.1 프로젝트실행화면 (1) 윈도우에새계정을생성을한다. 비밀번호크래킹을위해 cain & abal 프로그램을실행시킨다. 4.2 프로젝트실행화면 (2) 원하는계정의비밀번호를크래킹하기 위해모두선택후 Burte-force attack 에 LM Hashes 를선택한다. cain & abel 프로그램을이용하여크래킹탭에서오른쪽마우스클릭후 Add to list 을클릭한다. 컴퓨터공학과 63
윤지영 / 최용현 / 박준호 4. 프로젝트구현 4.3 프로젝트실행화면 (3) 비밀번호를찾기위해기본적인설정 을해준다. cain & abel 프로그램으로비밀번호크래킹후결과가나온상태이다. 4.4 프로젝트실행화면 (4) rpm 이라는명령어로 john 패키지가있는지확인 후 yum 이라는명령어로 john 패키지를설치. 패키지설치과정이다. 64 광운대학교정보과학교육원
패스워드크래킹 4. 프로젝트구현 4.5 프로젝트실행화면 (5) 설치후 john 이라는명령어를실행한다. ( 설치를확인하기위한작업 ) /etc/shadow 를 cat 명령어를사용하여사용자계 정과암호화된 password 를확인한다. 4.6 프로젝트실행화면 (6) john /etc/shadow 라는명령어를통해크래킹 을시도한다. john show /etc/shadow 라는명령어를통해 결과값을확인한다. 컴퓨터공학과 65
윤지영 / 최용현 / 박준호 5. 결론 결론및참고문헌 결론 간단하고쉬운공격같이보이지만상대방의 IP와 ID만알면누구나쉽게공격할수있는무서운공격이다. 직접실습해본결과사전파일의양보다는역시질이중요한것같다. 아무리많은경우의수를가지고있더라도모두다틀린답인경우결과는모르는상황과같다. 많은추리, 추측과경험이요구되는기법인것같다. 하지만이러한것이갖춰졌을때무엇보다도무서운공격이될것같다. 또다시비밀번호의중요성을느끼는시간이되었다. 참고문헌 양대일, " 정보보안개론과실습 - 시스템해킹과보안 ", 2014 한국인터넷진흥원, " 침해사고분석절차안내서, 2010 한국인터넷진흥원," 리눅스를이용한방화벽구축, 2005 김광진, " 해킹패턴과윈도우즈보안전략 ", 2003 [ 담당교수평가 ] 무심코만들어썼던패스워드의중요성을배우는계기가되었으며, 운영체제별로패스워드크래킹을하는방법을통해패스워드를조합할때, 1. 길이가너무짧거나아예패스워드를설정하지않은경우 2. 사전에나오는단어나이들의조합 3. 키보드자판의나열 4. 사용자계정정보에서유추가능한단어등을사용하지않아야함을학습할수있었다. 66 광운대학교정보과학교육원