ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Metasploitable3 : FTP & SSH Vulnerability Attack (Exploit)
    공부합시다!/모의해킹 2022. 2. 16. 19:04
    728x90

    간만에 다시 모의해킹 쪽을 포스팅 하네요!

    이거 저것 하다보니 정신이 ㅎㅎ

    그래도 매일 하나의 포스팅을 할 수 있다는 사실에 감사할 따름입니다.

    오늘은 SSH와 FTP의 인증제한 관련 취약점 공격입니다.

    password를 틀리면 반드시 잠금 임계값등을 설정하셔야 안전합니다.

    capcha를 이용하는 것도 BurteForce Attack를 막는 한 방법입니다.

     

    1. Metasploitable3의 아름다운(?) 바탕화면 입니다.

     1.1. 이에 참 많은 Vulnerability 이 있다는 사실이 놀라울 따름입니다.

     

    2. SSH(Secure Shell)

     2.1. 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로

        파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 의미함.

     2.2. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한

        네트워크에서 안전하게 통신을 할 수 있는 기능을 제공.

     2.3. 기본적으로는 22번 포트를 사용.
     2.4. SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 식별됨.

    3. FTP(File Transfer Protocol)

     3.1. TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜.
     3.2. 파일 전송 프로토콜은 TCP/IP 프로토콜 테이블의 응용 계층에 속하며, 역사는 오래 되었지만

        지금도 인터넷에서 자주 사용.

     3.3. 최초의 FTP 클라이언트 애플리케이션들은 운영 체제가 그래픽 사용자 인터페이스를 갖추기

        이전에 개발된 명령 줄 프로그램

     3.4. 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 현재도 기본적으로 포함됨.

     

    4. crunch를 통한 패스워드 생성

     4.1. crunch 는 userlist와 password를 생성해 내는 tool

     4.2. # crunch 1 4 0123456789 > pass.txt

      4.2.1. crunch : 명령어

      4.2.2. 1 : 1글자

      4.2.3. 4 : 4글자 즉 1~4글자로 이루어진 패스워드 

      4.2.4. 0123456789 : 패스워드로 사용할 숫자

      4.2.5. > pass.txt : 결과값을 현재 디렉토리에 pass.txt 파일로 저장

    crunch

     4.3. 패스워드에 사용할 string 값 지정

      4.3.1. 패스워드로 사용할 스트링 값 지정을 위해 rainbowcrack이 charset.txt 참조

      4.3.2. /usr/share/rainbowcrack/chareset.txt 파일의 ascii-32-95는 모든 문자열을 보유하고 있음.

    rainbowcrack의 charset.txt

     4.4. crunch를 이용하여 패스워드 생성

      4.4.1.  crunch를 이용하여 3글자의 모든 string을 포함하는 패스워드 파일 생성

      4.4.2. password의 길이를 8글로만 하여도 무수히 많은 시간이 소요됨으로 test로 3글자 password만 생성 

      4.4.3. 이렇게만 진행해도 약 850,00 여개의 password 생성됨.

    ascii-32-95를 활용한 3글자 password 생성

     4.5. 편집기를 이용한 password 파일 생성

      4.5.1. 편집기를 활용하여 올바른 password가 포함된 작은 크기의 password 파일 생성

    password 파일

     

    728x90

     

    5. Hydra를 이용한 SSH Attack

     5.1. Hydra를 활용한 BruteForce Attack

      5.1.1. # hydra -L user.txt -P pass2.txt ssh://1.0.0.11 

       5.1.1.1. hydra : Brute Force Attack Tool

       5.1.1.2. -L : 사용자 ID 파일 

       5.1.1.3. -P : 사용자 password 파일 

       5.1.1.4. ssh://1.0.0.11 : 공격대상의 Service와 IP

     5.2. 정상적으로 공격이 성공하면 ssh에서 사용하는 password 확인

    hydra ssh attack

    6. Hydra를 이용한 FTP Attack

     6.1. Hydra를 활용한 BruteForce Attack

      6.1.1. # hydra -L user.txt -P pass2.txt ftp://1.0.0.11 

       6.1.1.1. hydra : Brute Force Attack Tool

       6.1.1.2. -L : 사용자 ID 파일 

       6.1.1.3. -P : 사용자 password 파일 

       6.1.1.4. ftp://1.0.0.11 : 공격대상의 Service와 IP

     6.2. 정상적으로 공격이 성공하면 ftp에서 사용하는 password 확인

    hydra ftp attack

    7. Medusa를 이용한 SSH Attack

     7.1. Medusa를 활용한 BruteForce Attack

      7.1.1. # medusa -U user.txt -P pass2.txt -h 1.0.0.11 -M ssh

       7.1.1.1. medusa : BruteForce Attack Tool

       7.1.1.2. -U : 사용자 ID 파일

       7.1.1.3. -P : 사용자 password 파일

       7.1.1.4. -h : 공격 대상 IP

       7.1.1.5. -M : 공격 대상 Service 혹은 Daemon

    mdeusa ssh attack

    공격이 성공했으면 해당 서비스로 ID와 Password를 이용한 꼭 접속해 보셔야 합니다.

    검증까지 끝내야 완벽하게 공격이 성공한 것이며 이후 권한 상승과 수평 이동까지 해보셔야 합니다. 

    다음 시간에은 어떻게 사용자 ID를 가져왔는지 확인해 보도록 하겠습니다.

     

    Have a nice day!

    728x90
Designed by Tistory.