Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

/* joinc서버에 취약점/문제 가 있을시 mail&msn: hkpco@korea.com 으로 알려주세요 ^^ */

"bruteforce"(여기에선 ssh), 한글로 풀어쓰면 `무차별 대입`이라 불리는 공격은 무식한게 최고(?)라는 말을 증명해 주듯 시스템에 남는 엄청난 로그에도 불구하고

몇몇 공격자에 입장에서는 애용되는, 그리고 성공적인 방법입니다.

시스템의 권한을 획득하기 위해 web에서 nobody등의 권한을 얻으려고 노력하는데, bruceforce는 다소 어려울수도 있는 웹공격을 거칠 필요없이

해당 시스템계정에 대한 사전조사와 약간의 시간적 여유만 있다면 쉽게 성공 할 수 있는 방법으로 어찌보면 매우 위험 할 수 있습니다.

그래서 여기에 대한 사전 예방을 위하여 /etc/shadow파일을 "john the ripper"라는 프로그램을 이용하여 크랙하여보고,

쉬운 패스워드에 대해서는 해당 사용자에게 알리어 공격자가 쉽게 추측 혹은 무차별대입 할 수 있는 가능성을 최대한으로 줄이는게 목적입니다.

여기서 사용되는 "john the ripper" 프로그램은 /etc/shadow파일에 사용되는 암호화 방식을 이용하여 사전파일(passwordl.lst)에 있는 단어들을 하나씩 암호화하여

해당 계정들의 암호(암호화 되어있는)와 비교하여 일치한다면 그 패스워드를 출력하는 원리입니다.

간단한 몇가지의 작업만 거치면 됩니다.

우선 john the ripper(이하 john)의 설치과정을 간략히 살펴보겠습니다.

john프로그램은 아래 링크에서 받으실 수 있습니다.

http://www.openwall.com/john/

john은 예전에 설치를 해 두었기 때문에 번거로움을 없애기 위해 설치과정을 다음 링크에서 퍼왔습니다.
http://kwon.itmaker.net/v3/kwon_board/view.php?id=66&code=profesor_1

john the ripper 설치

   [root@soma]# tar xvfz john-1.6.tar.gz  

   [root@soma]# cd john-1.6  
   
   [root@soma john-1.6]# cd src  

   [root@soma src]# make  

   To build John the Ripper, type:  
   make SYSTEM  
   where SYSTEM can be one of the following:  
   linux-x86-any-elf        Linux, x86, ELF binaries  
   linux-x86-mmx-elf        Linux, x86 with MMX, ELF binaries  
   linux-x86-k6-elf         Linux, AMD K6, ELF binaries  
   linux-x86-any-a.out      Linux, x86, a.out binaries  
   linux-alpha              Linux, Alpha  
   linux-sparc              Linux, SPARC  
   freebsd-x86-any-a.out    FreeBSD, x86, a.out binaries  
   freebsd-x86-k6-a.out     FreeBSD, AMD K6, a.out binaries  
   freebsd-x86-any-elf      FreeBSD, x86, ELF binaries  
   freebsd-x86-mmx-elf      FreeBSD, x86 with MMX, ELF binaries  
   freebsd-x86-k6-elf       FreeBSD, AMD K6, ELF binaries  
   openbsd-x86-any          OpenBSD, x86  
   openbsd-x86-k6           OpenBSD, AMD K6  
   solaris-sparc-gcc        Solaris, SPARC, gcc  
   solaris-sparc-v8-cc      Solaris, SPARC V8, cc  
   solaris-sparc-v9-cc      Solaris, SPARC V9, cc  
   solaris-x86-any          Solaris, x86, gcc  
   solaris-x86-k6           Solaris, AMD K6, gcc  
   digital-alpha-cc         Digital UNIX, Alpha, cc  
   aix-ppc-cc               AIX, PowerPC, cc  
   hpux-pa-risc-gcc         HP-UX, PA-RISC, gcc  
   hpux-pa-risc-cc          HP-UX, PA-RISC, cc  
   irix-mips32-cc           IRIX, MIPS 32-bit, cc  
   irix-mips64-cc           IRIX, MIPS 64-bit, cc  
   dos-djgpp-x86-any        DOS, DJGPP 2.x, x86  
   dos-djgpp-x86-mmx        DOS, DJGPP 2.x, x86 with MMX  
   dos-djgpp-x86-k6         DOS, DJGPP 2.x, AMD K6  
   win32-cygwin-x86-any     Win32, Cygwin, x86  
   win32-cygwin-x86-mmx     Win32, Cygwin, x86 with MMX  
   win32-cygwin-x86-k6      Win32, Cygwin, AMD K6  
   generic                  Any other UNIX system with gcc  

   [설명] make 를 하게되면 지원시스템의 리스트를 위의 내용처럼 출력하게된다.  
          여기서 자기 시스템에맞는 정보를 선택하고 아래의 명령을 실행하면된다.  
          만약 자기 시스템정보의 내용이 make 후의 리스트에 없다면 make generic 명령어를   
          실행하면 된다.  

   [root@soma src]# make linux-x86-mmx-elf  -> 정보가 있을시 해당시스템 정보 입력  

   [root@soma src]# make generic -> 정보가 없을시 generic 입력  
          
   위의 설치과정에 아무런 ERROR 가 발생하지 않았다면 john 디렉토리 밑에 RUN 이란 디렉토  
   리가 생기게된다.  

아래는 john을 이용한 패스워드 크랙을 한 결과입니다.

'''/etc/shadow''' password crack

[root@ns run]# cp /etc/shadow joinc_shadow
// /etc/shadow파일을 현재 디렉토리에 joinc_shadow라는 파일 이름으로 복사합니다.

[root@ns run]# ./john joinc_shadow
Loaded 19 passwords with 19 different salts (FreeBSD MD5 [32/32])
****             (******)
*****            (*****)
******           (****)
*******          (***)

7시간 이상을 돌린 결과 다음 세개의 패스워드가 나왔습니다.

  • john을 이용하여 취약한 패스워드로 나온 해당 사용자들에게 통보하여 어려운(?)패스워드를 사용 할 것을 통보하였습니다.

유저정보 얻기

사전공격과 관련된 정보입니다. 참고하세요 유저 정보 얻기