Metasploit-빠른 가이드

Metasploit은 침투 테스트에 사용되는 가장 강력한 도구 중 하나입니다. 대부분의 리소스는 www.metasploit.com 에서 찾을 수 있습니다 . 상업용 및 무료 버전의 두 가지 버전이 있습니다. 두 버전에는 큰 차이가 없으므로이 자습서에서는 대부분 Metasploit의 커뮤니티 버전 (무료)을 사용합니다.

윤리적 해커는 Metasploit 커뮤니티 버전이 다른 윤리적 해킹 도구와 함께 포함 된 "Kali Distribution"을 사용하게됩니다. 그러나 Metasploit을 별도의 도구로 설치하려는 경우 Linux, Windows 또는 Mac OS X에서 실행되는 시스템에서 쉽게 설치할 수 있습니다.

Metasploit을 설치하기위한 하드웨어 요구 사항은 다음과 같습니다.

  • 2GHz + 프로세서
  • 1GB RAM 사용 가능
  • 1GB + 사용 가능한 디스크 공간

Matasploit은 명령 프롬프트 또는 웹 UI와 함께 사용할 수 있습니다.

Metasploit의 권장 OS 버전은 다음과 같습니다.

  • Kali Linux 2.0 또는 상위 버전
  • Backtrack 3 및 상위 버전
  • Red Hat Enterprise Linux Server 5.10 이상
  • Red Hat Enterprise Linux Server 6.5 이상
  • Red Hat Enterprise Linux Server 7.1 이상
  • Ubuntu Linux 10.04 LTS
  • Ubuntu Linux 12.04 LTS
  • Ubuntu Linux 14.04 LTS
  • 윈도우 서버 2008 R2
  • 윈도우 서버 2012 R2
  • 윈도우 7
  • 윈도우 8.1

테스트 환경을 설정하기 위해 다음과 같은 조치를 취할 것입니다.

  • Virtual box를 다운로드하여 설치합니다.

  • 다운로드 및 설치 Kali 분포.

  • 다운로드 및 설치 Metasploitable 그것은 우리의 해킹 머신이 될 것입니다.

  • 또 다른 해킹 시스템이 될 Windows XP를 다운로드하여 설치하십시오.

총 3 개의 머신이 동일한 네트워크에 논리적으로 연결됩니다.

Virtual Box 설치

Virtual Box를 다운로드하려면 www.virtualbox.org/wiki/Downloads 로 이동하십시오.

OS 및 시스템의 하드웨어 구성에 따라 적절한 버전을 선택하십시오.

적절한 버전의 Virtual Box를 선택하면 다음 화면이 나타납니다. 딸깍 하는 소리Next.

다음 화면에서 애플리케이션을 설치할 위치를 설정하십시오.

설치를 계속하기 전에 경고 메시지가 표시됩니다.

위 화면에서 예를 클릭하면 다음 화면이 표시됩니다. 딸깍 하는 소리Install 설치를 시작합니다.

설치가 완료되면 다음 화면이 표시됩니다. 마침을 클릭하여 설치 마법사를 종료합니다.

이제 VirtualBox의 시작 화면이 나타납니다.

이제이 자습서를 위해 나머지 호스트를 설치할 준비가되었습니다.

Kali Linux 설치

공식 웹 사이트 www.kali.org/downloads/ 에서 Kali Linux를 다운로드 할 수 있습니다.

공식 웹 사이트로 이동하여 사전 빌드 된 Kali Linux VirtualBox 이미지를 다운로드하십시오.

다음으로 VirtualBox Manager를 열고 Machine → New로 이동합니다.

Kali Linux가 다운로드 된 위치로 이동하여 가상 하드 디스크 파일을 선택합니다.

다음 화면에서 가상 머신을 생성하라는 메시지가 표시됩니다. 클릭Create 다음 스크린 샷과 같이 버튼을 클릭합니다.

이제 Kali OS를 시작할 수 있습니다. 기본 사용자 이름은root 그리고 당신의 암호는 toor.

이 장에서는 Metasploit에서 자주 사용되는 몇 가지 기본 명령에 대해 설명합니다.

먼저 Kali에서 Metasploit 콘솔을 엽니 다. 응용 프로그램 → 악용 도구 → Metasploit 경로를 따라 수행 할 수 있습니다.

Metasploit 콘솔을 열면 다음 화면이 표시됩니다. 빨간색 밑줄로 강조 표시된 것은 Metasploit 버전입니다.

도움말 명령

입력하면 help 콘솔에서 명령을 실행하면 Metasploit의 핵심 명령 목록과 설명이 표시됩니다.

msfupdate 명령

msfupdate중요한 관리 명령입니다. 최신 취약점 악용으로 Metasploit을 업데이트하는 데 사용됩니다. 이 명령을 실행 한 후 업데이트가 완료 될 때까지 몇 분 정도 기다려야합니다.

검색 명령

SearchMetasploit의 강력한 명령으로 원하는 것을 찾는 데 사용할 수 있습니다. 예를 들어, Microsoft와 관련된 익스플로잇을 찾으려면 명령은 다음과 같습니다.

msf >search name:Microsoft type:exploit

여기, search 명령입니다. name 찾고있는 개체의 이름입니다. type 검색중인 스크립트의 종류입니다.

정보 명령

그만큼 info 명령은 사용되는 위치, 작성자, 취약성 참조 및 해당 페이로드 제한과 같은 모듈 또는 플랫폼에 관한 정보를 제공합니다.

이 장에서 우리는 ArmitageMetasploit 용 GUI. Armitage는 Metasploit의 보완 도구입니다. 대상을 시각화하고, 악용을 권장하며, 고급 악용 후 기능을 노출합니다. Armitage는 Kali 배포판과 통합됩니다. 침투 테스트를 수행해야하는 경우 두 도구를 함께 사용해야합니다.

Armitage GUI로 작업하는 방법을 알아 보겠습니다. 먼저 Metasploit 콘솔을 열고 Applications → Exploit Tools → Armitage로 이동하십시오.

다음 화면에서 필요한 세부 정보를 입력하고 Connect.

다음으로 다음 화면이 표시됩니다.

Armitage는 매우 사용자 친화적입니다. GUI에는 세 가지 영역이 있습니다.Targets, Console, 및 Modules.

  • 지역 Targets발견 한 모든 기계와 함께 작업중인 기계를 나열합니다. 해킹 된 표적은 뇌우와 함께 붉은 색을 띕니다. 대상을 해킹 한 후 해당 대상을 마우스 오른쪽 버튼으로 클릭하고 폴더 탐색 (찾아보기)과 같이 수행해야하는 작업을 계속 탐색 할 수 있습니다.

  • 지역 Console폴더에 대한보기를 제공합니다. 클릭하기 만하면 Metasploit 명령을 사용하지 않고 폴더로 직접 이동할 수 있습니다.

  • 지역 Modules 취약점 모듈을 나열하는 섹션입니다.

Pro Console은 Metasploit의 상용 콘솔 버전입니다. Linux, Microsoft OS 및 OSX에서 사용할 수 있습니다. Metasploit Pro는 침투 테스터에게 다음과 같은 도움을 줄 수 있습니다.

  • Metasploit 오픈 소스 프로젝트 및 주요 익스플로잇 라이브러리 활용

  • 대규모 평가에서 데이터 관리

  • 손상된 시스템을 제어하고 네트워크를 장악

  • 주요 결과를 포함하는 보고서 자동 생성

  • 악용 가능한 취약점의 우선 순위를 지정하여 보안 향상

  • 감사 자에 대한 수정 또는 보상 제어의 효율성 입증

  • Rapid7 UserInsight와 통합하여 사용자 위험에 대한 포괄적 인 가시성을 확보하십시오.

  • 보안 제어의 효과 테스트

  • 수천 명의 사용자를위한 피싱 캠페인 시뮬레이션

Metasploit Pro는 명령 프롬프트와 웹 UI를 제공합니다.

Metasploit Pro를 사용하려면 Rapid7에서 구입하여 시스템에 설치해야합니다. Windows 환경에서 Metasploit Pro를 시작하려면 시작 → 모든 프로그램 → Metasploit → Metasploit 콘솔로 이동하십시오.

Linux 환경에서 작업하는 경우 명령 줄 터미널을 열고 다음을 입력합니다. sudo msfpro.

취약한 대상은 패치되지 않은 보안 허점이있는 시스템 또는 장치입니다. 이 경우 호스트를 취약하게 만듭니다.이 경우 대상이됩니다.

테스트 목적으로 Rapid7은 많은 취약점이있는 VM 시스템을 만들었습니다. 허가 없이는 어떤 장치도 관통 할 수 없습니다. 따라서 다운로드해야합니다.metasploitable Linux 시스템입니다.

Metasploitable은 www.information.rapid7.com/ 에서 다운로드 할 수 있습니다.

등록하려면 양식을 작성하십시오. 다음으로 Metasploitable을 다운로드 할 수있는 직접 링크가있는 다음 화면이 표시됩니다.

다음으로 VirtualBox Manager를 열고 Machine → New로 이동합니다.

"기존 가상 하드 디스크 파일 사용"을 클릭하고 Metasploitable을 다운로드 한 위치를 찾습니다. Open.

다음 화면에서 Create.

이제 기본값을 사용하여 Metasploitable에 로그인 할 수 있습니다. username: msfadmin 및 암호 : msfadmin.

침투의 첫 번째 단계는 네트워크 또는 호스트를 스캔하여 정보를 수집하고 대상 컴퓨터의 개요를 만드는 것입니다.

Discovery Scan기본적으로 대상 네트워크에 IP 목록을 생성하여 머신에서 실행중인 서비스를 검색합니다. Metasploit에서이를 수행하기 위해 Metasploit에 통합 된 NMAP 명령 인 명령 프롬프트를 사용합니다. NMAP 및 해당 명령에 대한 자세한 내용은 다음을 참조하십시오.https://nmap.org/

이제 정확히 어떻게 작동하는지 실제로 살펴 보겠습니다. 대상 컴퓨터 (Metasploitable)와 IP를 사용하여 Windows Server 2003 컴퓨터를 시작했습니다.192.168.1.101.

다음으로 Metasploit을 시작합니다. 여기에서는 Kali Linux를 사용하고 있습니다. 따라서 명령은 항상 다음으로 시작합니다.nmap.

범위가 192.168.0.0/24 인 네트워크를 스캔하고 머신을 검색해 보겠습니다.

위의 스크린 샷에서 볼 수 있듯이 네트워크에는 세부 정보가있는 5 개의 호스트가 있습니다. 이제 살아있는 호스트를 찾았으므로 실행중인 OS와 백그라운드 서비스를 찾으려고합니다.

IP 192.168.1.101로 취약한 시스템을 공격하려고합니다. 이를 위해 다음 명령을 실행합니다.

Nmap –sV-O –T4 192.168.1.101
여기,
  • sV 매개 변수는 버전 세부 정보로 서비스를 감지합니다.

  • O 우리의 경우 Linux 2.6.X 인 OS 버전을 감지하는 것입니다.

  • T4 스캔을 완료 할 시간입니다.

위의 명령을 사용한 출력으로 다음 화면이 표시됩니다.

Task Chains는 Metasploit Pro 버전에있는 기능으로, 작업을 예약하고 실행하는 데 도움이됩니다. 일반적으로 네트워크 스캔과 같이 주기적으로 실행되는 프로세스에 사용됩니다.

작업을 구성하려면 작업 → 체인 → 새 작업 체인으로 이동합니다.

태스크 체인의 이름을 제공하십시오.

그런 다음 다음 스크린 샷에 표시된대로 '+'기호를 클릭합니다.

목록에서 선택하려는 작업을 선택합니다. SCAN을 선택하겠습니다.

다음으로 configuration task setting 아래와 같이 나타납니다.

첫 번째 작업을 완료 한 후 서버가해야하는 기능인 작업을 작업 체인에 추가해 보겠습니다. 작업을 예약하려면 "지금 예약"아이콘을 클릭합니다.

작업 실행 빈도를 선택할 수있는 다음 표가 표시됩니다.

마지막에 저장 버튼을 클릭하여 작업 체인을 예약합니다.

Metasploit은 다른 타사 도구에서 스캔 결과를 가져올 수있는 강력한 보안 프레임 워크입니다. 이전에 생성했을 수있는 XML 형식으로 NMAP 스캔 결과를 가져올 수 있습니다. Metasploit을 사용하면 다음에서 스캔 결과를 가져올 수도 있습니다.Nessus, 취약점 스캐너입니다.

어떻게 작동하는지 봅시다. 먼저 NMAP 스캔을 수행하고 다음 스크린 샷과 같이 결과를 데스크탑에 XML 형식으로 저장합니다.

다음으로 Metasploit 또는 Armitage를 열어 스캔 결과를 가져옵니다. 그런 다음 다음 명령을 사용하여 모든 호스트를 가져옵니다.

Msf > db_import "path of xml file"

다음 스크린 샷은 출력이 어떻게 표시되는지 보여줍니다.

가져 오기 파일이 올바른지 테스트하기 위해이 두 호스트에서 특정 명령을 실행하고 어떻게 응답하는지 확인할 수 있습니다. 예를 들어, 우리의 경우 포트 445가 실행중인 모든 호스트를 나열했습니다.

취약점은 system hole민감한 데이터에 무단 액세스하거나 악성 코드를 삽입하기 위해 악용 할 수 있습니다. Metasploit은 다른 모든 보안 응용 프로그램과 마찬가지로vulnerability scanner 상용 버전으로 제공됩니다.

취약성 스캐너의 도움으로 하나의 애플리케이션으로 거의 모든 작업을 수행 할 수 있습니다. 이 기능은 Metasploit의 무료 버전에는 없습니다. Metasploit의 무료 버전을 사용하는 경우 Nessus Vulnerability Scanner를 사용한 다음 거기에서 결과를 가져와야합니다. Metasploit 사용Nexpose 스캔을 수행합니다.

Pro 버전의 Metasploit에서 Nexpose로 스캔하는 방법을 살펴 보겠습니다.

먼저 Metasploit WEB UI에 Nexpose 콘솔을 추가합니다. 이렇게하려면 관리 → 전역 설정 → Nexpose 콘솔 → Nexpose 콘솔 구성으로 이동합니다.

Nexpose가 설치된 서버의 IP를 입력합니다. 다음으로 포트 번호, 사용자 이름 및 암호를 입력하십시오. 고르다enable.

다음으로 Netexpose 버튼을 클릭하고 → 검색 할 호스트 또는 네트워크의 IP 주소를 추가하고 → 스캔 템플릿을 선택합니다. 스캔 프로세스가 시작됩니다.

스캔 결과를 보려면 분석 → 호스트로 이동하십시오.

이 장에서는 Nexpose와 같은 취약성 스캐너에서 발견 한 취약성을 검증하는 방법을 배웁니다. 이 프로세스는vulnerability analysis.

다음 스크린 샷에 표시된 것처럼 취약성 스캐너는 때때로 수백 개의 취약성을 제공 할 수 있습니다. 이 경우 모든 취약점을 검증하는 데 상당한 시간이 소요될 수 있습니다.

Metasploit Pro에는 다음과 같은 기능이 있습니다. Vulnerability Validation취약성을 자동으로 검증하여 시간을 절약하고 시스템에 매우 해로울 수있는 가장 중요한 취약성에 대한 개요를 제공합니다. 또한 심각도에 따라 취약성을 분류하는 옵션도 있습니다.

이 옵션을 사용하는 방법을 살펴 보겠습니다. Metasploit Pro 웹 콘솔 → 프로젝트 → 취약점 확인을 엽니 다.

다음으로 프로젝트 이름을 입력하고 프로젝트에 대한 간단한 설명을 제공합니다. 그런 다음Start 단추.

"Nexpose에서 가져 오기"를 클릭합니다. 다음 스크린 샷과 같이 "기존 Nexpose 취약성 데이터 가져 오기"를 선택합니다.

Tag → Automatic Tag by OS를 클릭합니다. 취약성을 분리합니다.

다음으로 이동 Exploit → Sessions"완료되면 세션 정리"옵션을 선택하십시오. 이는 취약점이 확인 될 때 ​​Metasploit 시스템과 취약한 시스템간에 상호 작용이 있음을 의미합니다.

딸깍 하는 소리 Generate Report → Start.

다음으로 유효성 검사 마법사가 표시됩니다. 여기에서Push validations 단추.

모든 취약점 목록을 테스트 한 후 다음 화면이 표시됩니다.

테스트 된 취약점의 결과를 보려면 홈 → 프로젝트 이름 → 취약점으로 이동합니다.

취약성 스캔 및 취약성 검증 후에는 일부 스크립트 ( exploits) 기계에 대한 액세스 권한을 얻고 계획중인 작업을 수행하기 위해.

Armitage GUI를 사용하여 악용

익스플로잇을 사용하는 방법에는 여러 가지가 있습니다. 첫 번째이자 가장 중요한 방법은 Metasploit과 연결되는 Armitage GUI를 사용하여 HAIL MARY라는 자동화 된 공격 테스트를 수행하는 것입니다. 어떻게 작동하는지 봅시다.

Kali 배포 → 응용 프로그램 → Exploit Tools → Armitage를 엽니 다.

다음으로 이동 Attacks → Hail Mary 예를 클릭하십시오.

테스트중인 모든 익스플로잇을 보여주는 다음 화면이 표시됩니다.

다음으로, 익스플로잇 가능한 시스템 (즉, 익스플로잇이 작동 한 시스템)의 아이콘이 빨간색으로 바뀌고 그 위에 뇌우 패턴이 나타납니다. 콘솔에서 각각의 세션 ID와 함께 어떤 공격이 성공했는지 확인할 수 있습니다.

이제 기계와 상호 작용할 수 있습니다.

명령 프롬프트를 사용하여 악용

Exploit을 사용하는 두 번째 방법 (그리고 약간 전문적인 방법)은 명령 프롬프트를 사용하는 것입니다.

취약점 스캐너를 통해 테스트를 위해 보유한 Linux 시스템이 FTP 서비스에 취약하다는 사실을 발견했습니다. 이제 우리는exploit그것은 우리를 위해 일할 수 있습니다. 명령은-

msf > use “exploit path”

다음으로, 작동하도록 설정해야하는 매개 변수를 확인하려면 다음 명령을 사용하십시오.

msf > show options

이 익스플로잇은 RHOST "target IP"를 설정해야 함을 보여줍니다.

다음 명령을 사용하십시오-

msf > set RHOST 192.168.1.101   
msf > set RPORT 21

다음 명령을 사용하십시오-

msf > run

익스플로잇이 성공하면 다음 스크린 샷과 같이 하나의 세션이 열린 것을 볼 수 있습니다.

이제이 시스템과 상호 작용할 수 있습니다.

간단히 말해 페이로드는 해커가 해킹 된 시스템과 상호 작용하기 위해 사용하는 간단한 스크립트입니다. 페이로드를 사용하여 데이터를 피해자 시스템으로 전송할 수 있습니다.

Metasploit 페이로드는 세 가지 유형이 있습니다.

  • Singles− 싱글은 매우 작으며 일종의 커뮤니케이션을 생성 한 후 다음 단계로 이동하도록 설계되었습니다. 예를 들어, 사용자를 만드는 것입니다.

  • Staged − 공격자가 피해자 시스템에 더 큰 파일을 업로드하는 데 사용할 수있는 페이로드입니다.

  • Stages− Stage는 Stagers 모듈에 의해 다운로드되는 페이로드 구성 요소입니다. 다양한 페이로드 단계는 Meterpreter 및 VNC Injection과 같은 크기 제한이없는 고급 기능을 제공합니다.

Metasploit 페이로드의 사용을 이해하는 예를 들어 보겠습니다. DCOM MS03-026에 취약한 Windows Server 2003 시스템이 있다고 가정합니다.

처음에 우리는 exploit이 취약점과 함께 작동 할 수 있습니다. 우리는 최선을 다해 익스플로잇을 사용할 것입니다.RANK.

다음으로 다음 명령을 사용하여이 익스플로잇에 사용할 수있는 페이로드를 확인합니다.

msf > show payloads

파일을 업로드 / 실행하는 데 도움이되는 페이로드를 사용하여 피해자를 VNC 서버로 만들어보기를 제공 할 수 있습니다.

위의 명령은 피해자 시스템에 파일을 업로드 / 실행하는 데 도움이되는 페이로드를 보여줍니다.

원하는 페이로드를 설정하려면 다음 명령을 사용합니다.

set PAYLOAD payload/path

청취 호스트 및 청취 포트 (LHOST, LPORT)를 설정합니다. attacker IPport. 그런 다음 원격 호스트 및 포트 (RPORT, LHOST)를 설정합니다.victim IPport.

"exploit"를 입력합니다. 아래와 같이 세션이 생성됩니다.

이제이 페이로드가 제공하는 설정에 따라 기계를 사용할 수 있습니다.

컴퓨터에 액세스 한 후에는 사용자 이름 및 암호와 같은 모든 민감한 정보를 가져가는 것이 중요합니다. 감사 목적으로도이 작업을 수행하여 조직의 시스템이 강력한 암호를 사용하고 있는지 여부를 분석 할 수 있습니다.

Windows에서 암호는 암호화 된 형식으로 저장됩니다. NTLM hash. Windows OS에서는 항상 500 번의 사용자를 찾아야합니다. 이는 사용자가superuser.

무료 버전의 Metasploit에서는 해시 자격 증명을 텍스트 파일 또는 Metasploit 데이터베이스에 저장해야합니다.

이전 장에서 사용한 시나리오를 사용하겠습니다. DCOM MS03-026에 취약한 Windows Server 2003 시스템이 있다고 가정합니다. 이 시스템에 대한 액세스 권한을 얻고meterpreter 유효 탑재량.

meterpreter에서 일반적으로 사용되는 명령은 다음과 같습니다. hashdump 모든 사용자 이름과 암호가 나열됩니다.

당신은 또한 사용할 수 있습니다 Armitage 다음 스크린 샷과 같이이 정보를 검색합니다.

상용판 Metasploit에는 Credential자격 증명을 수집, 저장 및 재사용 할 수 있습니다. 그것에 대해 어떻게하는지 보자.

민감한 데이터를 수집하려면 먼저 홈 → 프로젝트 이름 → 세션으로 이동하십시오.

활성 세션을 클릭하십시오.

다음으로 Collect System Data. 모든 해시와 암호를 수집합니다.

다음과 같은 화면이 나타납니다.

수집 된 자격 증명을 보려면 홈 → 프로젝트 이름 → 자격 증명 → 관리로 이동합니다.

다음 스크린 샷에서 볼 수 있듯이 얻은 모든 암호와 크래킹 될 수있는 암호가 표시됩니다.

무차별 대입 공격에서 해커는 문자, 숫자, 특수 문자, 소문자 및 대문자의 가능한 모든 조합을 자동화 된 방식으로 사용하여 호스트 또는 서비스를 통해 액세스 권한을 얻습니다. 이러한 유형의 공격은 성공 확률이 높지만 모든 조합을 처리하는 데 엄청난 시간이 필요합니다.

무차별 대입 공격은 느리고 해커는 이러한 모든 순열과 조합을 더 빠르게 수행하기 위해 높은 처리 능력을 갖춘 시스템이 필요할 수 있습니다. 이 장에서는 Metasploit을 사용하여 무차별 대입 공격을 수행하는 방법에 대해 설명합니다.

NMAP로 Metasploitable 컴퓨터를 스캔 한 후 어떤 서비스가 실행되고 있는지 알 수 있습니다. 서비스는 FTP, SSH, mysql, http 및 Telnet입니다.

이러한 서비스에 대해 무차별 대입 공격을 수행하기 위해 auxiliaries각 서비스의. Auxiliaries는 Metasploit에서 사용되는 작은 스크립트로, 피해자 컴퓨터에 셸을 생성하지 않습니다. 무차별 대입 공격이 성공하면 시스템에 대한 액세스 만 제공합니다. 보조 장치를 사용하는 방법을 살펴 보겠습니다.

여기에서는 Kali 배포 시스템의 루트에 사전 목록을 만들었습니다.

FTP 서비스 공격

Metasploit을 엽니 다. 우리가 공격을 시도 할 첫 번째 서비스는 FTP이며이를 위해 우리를 돕는 보조 도구는auxiliary/scanner/ftp/ftp_login.

이 보조를 사용하려면 다음 명령을 입력하십시오-

msf > use auxiliary/scanner/ftp/ftp_login

사전을 포함하는 파일의 경로를 설정하십시오.

피해자 IP를 설정하고 실행하십시오.

다음과 같은 출력이 생성됩니다.

보시다시피 완료되었지만 세션이 생성되지 않았습니다. 이는 유용한 사용자 이름과 암호를 검색하지 못했음을 의미합니다.

SSH 서비스 공격

SSH 서비스를 공격하기 위해 보조 도구를 사용할 수 있습니다. auxiliary/scanner/ssh/ssh_login

다음 스크린 샷에서 볼 수 있듯이 RHOSTS를 192.168.1.101 (즉, 피해자 IP)로 설정하고 사용자 이름 목록과 암호 (즉 userpass.txt)를 설정했습니다. 그런 다음 우리는run 명령.

위의 스크린 샷에서 볼 수 있듯이 세 개의 세션이 생성되었습니다. 세 가지 조합이 성공했음을 의미합니다. 사용자 이름에 밑줄을 쳤습니다.

세 세션 중 하나와 상호 작용하려면 다음 명령을 사용합니다. msf > sessions –i 3 즉, 세션 번호 3으로 연결됩니다.

Telnet 서비스 공격

Telnet 서비스에 무차별 대입 공격을 적용하면 제공된 자격 증명과 IP 주소 범위를 가져 와서 Telnet 서버에 로그인을 시도합니다. 이를 위해 보조 장치를 사용합니다.auxiliary/scanner/telnet/telnet_login.

보조 장치를 사용하는 과정은 FTP 서비스 나 SSH 서비스를 공격하는 경우와 동일합니다. 보조 기능을 사용하고 RHOST를 설정 한 다음 암호 목록을 설정하고 실행해야합니다.

다음 스크린 샷을보십시오. 파란색 화살표로 강조 표시된 것은 보조자가 한 잘못된 시도입니다. 빨간색 화살표는 세션을 생성 한 성공적인 로그인을 보여줍니다.

무차별 대입 공격에 적용 할 수있는 다른 보조 장치는 다음과 같습니다.

  • SMB service − 보조 / 스캐너 / smb / smb_login

  • SNMP service − 보조 / 스캐너 / snmp / snmp_login

피벗은 Metasploit이 해킹 된 컴퓨터의 트래픽을 해커 컴퓨터가 액세스 할 수없는 다른 네트워크로 라우팅하는 데 사용하는 기술입니다.

피벗이 작동하는 방식을 이해하는 시나리오를 살펴 보겠습니다. 두 개의 네트워크가 있다고 가정합니다.

  • 해커 머신이 액세스 할 수있는 범위가 192.168.1.0/24 인 네트워크

  • 범위가 10.10.10.0/24 인 다른 네트워크입니다. 내부 네트워크이며 해커가 액세스 할 수 없습니다.

해커는 다른 내부 시스템을 악용하고 해킹하기 위해 두 네트워크 모두에서 액세스 할 수있는이 시스템의 두 번째 네트워크를 해킹하려고합니다.

이 시나리오에서 해커는 먼저 첫 번째 네트워크에 침입 한 다음이를 스테이징 지점으로 사용하여 두 번째 네트워크의 내부 시스템을 악용하고 해킹합니다. 이 프로세스는pivoting 해커가 첫 번째 네트워크를 피벗으로 사용하여 두 번째 네트워크에 액세스하기 때문입니다.

그것이 어떻게 작동하는지 이해하려고 노력합시다. DCOM 취약점이있는 Windows Server 2003 시스템을 가져와이 취약점을 사용하여이 시스템을 해킹합니다.

이것에 대한 익스플로잇은 ms03_026_dcom 그리고 우리는 meterpreter 유효 탑재량.

이 시스템에 대한 액세스 권한을 얻었으므로 이제 다음 명령을 사용하여 세션과 상호 작용하겠습니다. session -i 1 여기서 "1"은 생성 된 세션의 번호입니다.

이제 명령을 사용하겠습니다. ipconfig이 호스트가 다른 네트워크에 액세스 할 수 있는지 확인합니다. 다음 스크린 샷은 출력을 보여줍니다. 이 호스트가 두 개의 다른 네트워크와 연결되어 있음을 알 수 있습니다.

  • 하나는 사용하지 않는 루프백 네트워크이고
  • 다른 네트워크는 10.10.10.0/24입니다.

Metasploit에는 첫 번째 손상된 시스템을 통해이 두 번째 네트워크를 공격 할 수있는 AutoRoute 미터 프리터 스크립트가 있지만 먼저 background 세션.

범위가 10.10.10.0/24 인 내부 네트워크를 향한 경로 추가

이제 트래픽을 라우팅 (피벗) 했으므로이 네트워크에서 찾은 호스트를 검색 할 수 있습니다.

호스트 10.10.10.102에서 포트 스캔을 수행했습니다. 다음 스크린 샷은 결과를 보여줍니다.

이제 우리는 내부 네트워크에 대한 액세스 권한을 얻었습니다. 그러나 해킹 된 컴퓨터의 세션이 손실되면 내부 네트워크에도 액세스 할 수 없게됩니다.

이 장에서는 액세스 권한을 얻은 시스템에서 액세스를 유지하는 방법에 대해 설명합니다. 액세스를 유지하지 않으면 해킹 된 시스템이 닫히거나 패치 된 경우 처음부터이를 악용해야하기 때문에 중요합니다.

가장 좋은 방법은 backdoor. 이전 장에서 악용 한 해킹 된 컴퓨터 Windows Server 2003에 대해 페이로드를 설정했습니다.meterpreter 이 페이로드에는라는 백도어 옵션이 있습니다. metsvc. 이 백도어 옵션을 사용하여 원할 때마다 피해자 컴퓨터에 액세스 할 수 있지만이 백도어에는 모든 사람이 인증없이이 세션에 연결할 수있는 위험이 따릅니다.

실제로 어떻게 작동하는지 자세히 이해합시다. 우리는 Windows Server 2003 시스템을 악용 한 단계에 있으며meterpreter유효 탑재량. 이제 우리는이 컴퓨터에서 실행되는 프로세스를보고 실제 프로세스 뒤에 프로세스를 숨기고 싶습니다.

미터 프리터 세션에 "ps"를 입력하여 피해자 프로세스를 확인합니다.

우리는 프로세스를 숨기고 싶습니다. explorer.exe시작시 실행되는 프로세스이고 항상 존재하기 때문입니다. 이렇게하려면 다음 스크린 샷과 같이 "migrate PID number"명령을 사용합니다.

백도어를 설치하려면 다음을 입력하십시오. run metsvc. 실행하는 동안 생성 된 포트와 파일이 업로드되는 디렉토리가 표시됩니다.

이 백도어와 연결하려면 multi/handler 페이로드 windows/metsvc_bind_tcp.

Metasploit − 권한 상승

피해자 시스템을 악용하여 액세스 한 후 다음 단계는 관리자 권한 또는 루트 권한을 얻는 것입니다. 이 권한을 얻으면 파일이나 프로세스를 설치, 삭제 또는 편집하는 것이 매우 간단 해집니다.

Windows Server 2003 시스템을 해킹하고 페이로드를 넣은 동일한 시나리오를 계속 진행하겠습니다. meterpreter.

Meterpreter는 "getsystem"명령을 사용하여 권한을 상승시킵니다. 그러나 먼저 "priv"명령을 사용하여 권한 상승을 위해 해킹 된 시스템을 준비해야합니다.

다음으로 "getsystem"명령을 실행하십시오.

보시다시피 우리는 실제로 관리자로 로그인했습니다.

MetaModules는 복잡하고 자동화 된 보안 작업으로, 보안 부서가 개방 및 폐쇄 된 방화벽 포트 테스트, 기본 자격 증명 테스트 등과 같이 작업을보다 효율적으로 수행 할 수 있도록 설계되었습니다.

MetaModules는 Metasploit Pro (상용 버전)에 도입 된 새로운 기능입니다. 최고의 별 등급을 가진 MetaModules는 최고의 결과를 제공 할 것임을 명심해야합니다.

MetaModules를 열려면 Home → Project Name → Modules → MetaModules로 이동하십시오.

보시다시피, 우리는 서로 다른 요구 사항을 제공하는 6 개의 메타 모듈이 있습니다.

세분화 및 방화벽 테스트

이 MetaModule은 송신 스캔 대상 역할을하는 Rapid7에서 호스팅하는 외부 서버에 대해 전체 Nmap SYN 스캔을 실행합니다. 이 MetaModule을 사용하여 공격자가 정보를 필터링하는 데 사용할 수있는 방화벽의 아웃 바운드 포트를 검색합니다. 감사 할 포트와 프로토콜을 지정해야합니다.

이 MetaModule을 실행하려면 Launch버튼을 클릭하고 거기에있는 지침을 따릅니다. 다음 스크린 샷과 같이 개방, 폐쇄 및 필터링 된 포트에 대한 보고서가 표시됩니다.

자격 증명 Domino

이 MetaModule은 유효한 로그인 또는 활성 세션을 사용하여 손상된 호스트에서 자격 증명을 수집하는 반복 자격 증명 공격을 수행합니다. 수집 된 자격 증명을 재사용하여 다른 가능한 공격 경로를 식별합니다. 이 MetaModule은 모든 자격 증명을 시도하거나 종료 조건에 도달 할 때까지 실행됩니다.

이 MetaModule을 실행하려면 Launch시작 화면의 버튼. 테스트 할 HOST IP 및 로그인 자격 증명을 선택해야하는 다음 스크린 샷이 생성됩니다.

입력 한 자격 증명이 정확하면 다음 결과가 생성됩니다.

SSH 키 테스트

이 MetaModule은 복구 된 SSH 키를 사용하여 시스템에 로그인을 시도합니다. 각 서비스의 성공 및 실패 결과를 기록합니다. 사용자 이름, SSH 키 파일 이름 및 원하는 호스트 범위를 지정해야합니다.

이 MetaModule을 실행하려면 Launch시작 화면에서. 다음 화면이 표시됩니다.

시작하다 Credentials 그리고 Launch 단추.

패시브 네트워크 검색

이 MetaModule은 트래픽을 스니핑하여 로컬 네트워크에서 호스트 및 서비스를 검색하도록 설계되었습니다. 패킷을 전송하지 않기 때문에이 앱을 실행하여 은밀한 네트워크 검색 스캔을 수행하고 호스트, 서비스 및 일반 텍스트 자격 증명을 식별 할 수 있습니다.

이 MetaModule을 실행하려면 Launch시작 화면의 버튼. 다음 화면이 표시됩니다.

선택 Network interface(일반적으로 자동으로 검색됩니다). 딸깍 하는 소리Filters. 그런 다음 모니터링 할 모든 프로토콜을 확인하십시오. 이 경우 HTTP 만 확인했습니다.

캡처 된 데이터와 패킷이있는 다음 화면이 표시됩니다. IP 또는 자격 증명이 발견 된 경우에도 표시됩니다.

사회 공학은 트릭으로 민감한 정보 (예 : 사용자 이름 및 암호)를 추출하는 프로세스로 광범위하게 정의 할 수 있습니다. 해커는 때때로 이러한 목적으로 가짜 웹 사이트와 피싱 공격을 사용합니다. 몇 가지 예를 통해 사회 공학 공격의 개념을 이해해 보겠습니다.

예 1

오래된 회사 문서가 쓰레기로 쓰레기통에 버려지는 것을 보셨을 것입니다. 이러한 문서에는 이름, 전화 번호, 계좌 번호, 주민등록번호, 주소 등과 같은 민감한 정보가 포함될 수 있습니다. 많은 회사에서 여전히 팩스 기계에 카본지를 사용하고 롤이 끝나면 탄소가 흔적이있을 수있는 쓰레기통에 들어갑니다. 민감한 데이터의. 불가능 해 보이지만 공격자는 쓰레기를 훔쳐서 회사 쓰레기통에서 정보를 쉽게 검색 할 수 있습니다.

예 2

공격자는 회사 직원과 친구가되어 일정 기간 동안 그와 좋은 관계를 맺을 수 있습니다. 이 관계는 소셜 네트워크, 채팅방을 통해 온라인으로 설정하거나 커피 테이블, 놀이터에서 또는 다른 수단을 통해 오프라인으로 설정할 수 있습니다. 공격자는 사무실 직원을 비밀로하고 마지막으로 단서없이 필요한 민감한 정보를 파헤칩니다.

예제 3

소셜 엔지니어는 신분증을 위조하거나 단순히 회사에서 자신의 위치를 ​​직원에게 설득하여 직원이나 유효한 사용자 또는 VIP로 가장 할 수 있습니다. 이러한 공격자는 제한된 영역에 물리적으로 액세스 할 수 있으므로 공격에 대한 추가 기회를 제공합니다.

예 4

대부분의 경우 공격자가 주변에 있고 할 수있는 일이 발생합니다. shoulder surfing 사용자 ID 및 비밀번호, 계정 PIN 등과 같은 민감한 정보를 입력하는 동안

Metasploit의 사회 공학 공격

이 섹션에서는 Metasploit을 사용하여 사회 공학 공격을 시작하는 방법에 대해 설명합니다.

먼저 Metasploit 홈페이지로 이동하여 Phishing Campaign, 다음 스크린 샷에 표시된대로.

프로젝트 이름을 입력하고 다음을 클릭합니다.

캠페인 이름을 입력하십시오. 우리의 경우에는Lab. 다음으로E-mail 아래 아이콘 Campaign Components.

다음 화면에서 캠페인에 따라 요청 된 데이터를 제공해야합니다.

다음으로 Content이메일 내용을 변경하려면 아이콘 (2 번)을 누르십시오. 내용을 변경 한 후Save.

다음으로 Landing Page 아이콘을 클릭하여 속인 사용자를 리디렉션 할 URL을 설정합니다.

다음 스크린 샷에 표시된대로 URL을 Path 클릭 Next.

다음 화면에서 버튼을 클릭하십시오. Clone Website다른 창이 열립니다. 여기에서 복제하려는 웹 사이트를 입력해야합니다. 다음 스크린 샷에서 볼 수 있듯이tutorialpoint.com이 분야에서. 다음으로Clone 버튼을 누르고 변경 사항을 저장하십시오.

다음으로 Redirect Page 단추.

딸깍 하는 소리 Next 다음 화면이 표시됩니다.

클릭 할 수 있습니다 Clone Website 버튼을 눌러 리디렉션 된 웹 사이트를 다시 복제합니다.

다음으로 Server Configuration 섹션에서 E-mail Server 단추.

다음 화면에서 mailserver settings이 피싱 이메일을 보내기위한 릴레이로 사용됩니다. 그런 다음Save.

에서 Notifications 섹션, 옵션이 있습니다 Notify others before launching the campaign. 이 옵션을 사용하여 다른 사람에게 알리도록 선택할 수 있습니다. 그런 다음Save.

다음으로 새 창이 나타납니다. 여기에서Start 버튼을 눌러 피싱 메일 전송 프로세스를 시작합니다.

Metasploit에는 피싱 캠페인에 대한 통계 보고서를 생성하는 옵션이 있습니다. 다음 스크린 샷과 같이 나타납니다.

이 장에서는 프로젝트의 백업 인 데이터를 내보내는 방법을 알아 봅니다. 나중에이 백업을 다른 Metasploit 프로젝트로 가져올 수 있습니다.

이 기능 "데이터 내보내기"는 Metasploit의 무료 버전과 상용 버전 모두에서 사용할 수 있습니다.

Metasploit Pro에서 데이터를 내보내려면 "/ path / to / Metasploit / apps / pro / exports"위치에 파일 사본을 저장합니다.

이 디렉토리에 저장된 파일은 웹 인터페이스에 표시된 내보내기 목록과 일치합니다. 다음 디렉토리에서 내보내기 로그를 찾아 볼 수 있습니다. "/ path / to / Metasploit / apps / pro / ui / log". 내보내기 로그의 이름은 "exports.log"입니다.

내보내기 로그를 지우려면 "/ path / to / Metasploit / apps / pro / ui / log"에있는 로그 디렉토리에서 제거해야합니다.

Metasploit Pro에서 데이터 내보내기

데이터를 내보내려면 go to Home → Project Name → Exports → Export Data.

다음 화면에서 다음을 선택할 수 있습니다. file format 내보내기 데이터를 저장할 위치입니다.

  • PWDump− 일반 텍스트 암호, SMB 해시 및 SSH 키를 포함하여 프로젝트에 대한 모든 자격 증명이 포함 된 텍스트 파일. 사용자 이름 만 열거하도록 자격 증명을 마스킹 할 수 있습니다.

  • Replay script− 대상 호스트에서 세션을 연 작업을 다시 실행하는 배치 파일. 재생 스크립트는 여러 리소스 파일 (.rc)로 구성됩니다.

  • XML − 프로젝트에있는 대부분의 객체에 대한 속성을 포함하고 다른 프로젝트로 가져올 수있는 XML 파일.

  • ZIP Workplace − XML 내보내기 및 모든 전리품 파일, 보고서 파일 및 작업 로그가 포함 된 zip.

에서 Export Type, 내보내기 데이터의 파일 이름을 입력합니다. 다음으로Address Settings, 호스트의 IP를 입력하십시오.

다음으로 Options 섹션에서 확인란을 클릭하여 자격 증명을 숨기도록 선택할 수 있습니다. Mask Credentials. 그런 다음 버튼을 클릭하십시오.Export Data.

내 보낸 파일을 볼 수있는 다음 화면이 표시됩니다.

딸깍 하는 소리 Download 내 보낸 파일을 검색합니다.

Metasploit에는 모든 활동과 결과를 요약하는 보고서를 생성하는 데 사용할 수있는 내장 옵션이 있습니다. 이 장에서는 Metasploit에서 보고서를 생성하는 방법에 대해 설명합니다.

Metasploit에서 보고서를 작성하려면 아래 단계를 따르십시오.

Step 1 − 홈 → 보고서 → 새 보고서로 이동합니다.

Step 2− 필요에 따라 보고서 유형을 선택합니다. "?"를 클릭하면 아이콘을 클릭하면 모든 유형의 보고서에 대한 정보가 표시됩니다.

Step 3 −에서 Name 필드에 파일 이름을 제공하십시오.

Step 4 −에서 Sections 필드에서 요구 사항에 따라 옵션을 확인하십시오.

Step 5 − 마찬가지로 옵션 필드에서 요구 사항에 따라 옵션을 확인합니다.

Step 6 −에서 Email Report 섹션에서 보고서를 직접 보내려는 수신자의 이메일 ID를 입력 할 수 있습니다.

Step 7 − 다음으로 Generate Report 단추.

이제 보고서가 생성되었습니다. 다음으로 귀하의 모든 보고서를 보려면Reports → Show Reports.

클릭하여 보고서를 볼 수 있습니다. View 아래에 Actions.