OSINT 분석을 위한 도구, Maltego_ver1.0

YouTube: https://youtu.be/UV3o4QknCSE

I. About the Maltego

1-1. Maltego는 무엇인가?

Maltego는 Paterva사가 개발한 OSINT 도구입니다. Maltego는 조사에 필요한 다양한 OSINF를 수집하여 정보간 연관성을 분석합니다. 수집되는 정보는 주로 이름, 이메일 , 조직 구조, 도메인, 문서 등이며 수집된 정보 간의 관계를 찾기 위해 방향 그래프 라는 것을 활용합니다.

공식 홈페이지에서는 다음과 같이 Maltego를 정의하고 있습니다. Maltego is an open-source intelligence and graphical link analysis tool for gathering and connecting information for investigative tasks. (Maltego는 조사 작업을 위한 정보를 수집하고 연결하기위한 오픈 소스 인텔리전스 및 그래픽 링크 분석 도구입니다.)

1-2. Maltego를 무엇에 사용할까?

Maltego는 수집한 정보 간의 연결된 링크를 시각적으로 보여줌으로써 사고 과정에 도움을 줍니다. Maltego의 핵심은 인터넷에서 공개적으로 엑세스할 수 있는 정보 간의 실제 관계를 분석하는 것 입니다. 인터넷에서 공개적으로 엑세스 할 수 있는 정보라 함은 사용자가 인터넷에서 남겨놓은 발자취(footprint) 그리고 정보를 소유하고 있는 사람 및 조직에 대한 것을 의미합니다. 쉽게 말해 구글과 같은 검색 사이트나 페이스북과 같은 SNS 등 인터넷에서 공개적으로 존재하는 데이터를 수집하여 개체들 간의 관계를 시각화하여 한 눈에 보기 쉽게 보여줍니다.

Malergo는 아래 개체들간의 관계를 결정합니다.

  • People.

    • Names.
    • Email addresses.
    • Aliases.
  • Groups of people (social networks).

  • Companies.

  • Organizations.

  • Web sites.

  • Internet infrastructure such as:

    • Domains.
    • DNS names.
    • Netblocks.
    • IP addresses.
  • Affiliations.

  • Documents and files.

1-3. Which Maltego version is right for me?

현재 사용 가능한 Maltego Client는 4가지 버전이 있습니다. (2020년 06월 08일 기준 )

Maltego Classic, XL, CE의 주요 차이점은 단일 변환에서 반환할 수 있는 개체 수와 단일 그래프에 존재할 수 있는 최대 개체 수입니다.

그림1. Maltego 버전 별 특징 (출처: https://www.maltego.com/maltego-desktop-client-versions/)

버전비용사용 범위특징
Maltego XL유료상업용대용량 데이터용
Maltego Classic유료상업용모든 API 포함
Maltego CE무료비 상업용제한된 API 포함
Maltego CaseFile무료상업용오프라인에서 링크 검사 데이터

II. Install the maltego

2-1. Windows

1) 설치 환경

2) 설치 파일 다운로드

다음은 Windows에서 Maltego를 설치하는 과정입니다. Java 버전 11 이상이 설치되어 있는 경우에는 ".exe"만 설치하고 그렇지 않은 경우에는 ".exe + Java (x64)"를 선택하여 Java를 함께 설치합니다.

그림2. Windows 환경에서 Maltego 설치

3) 설치 과정

  • 과정 상세

    (1) 설치 파일을 클릭하면 다음과 같이 설치 마법사가 나옵니다.

    (2) Install for anyone using this computer 선택합니다.

    (3) 설치할 경로를 선택합니다. (default 경로로 선택해도 무관)

    (4) Start Menu 폴더를 지정합니다.

    (5) 설치가 완료되면 Maltego를 실행합니다.

    Maltego를 처음 실행 하면 다음과 같이 라이센스 유형을 선택할 수 있는 창이 나옵니다.

    사용하고자 하는 라이센스를 선택하며 사용중이 Maltego 버전은 언제든지 변경이 가능합니다.

    이번 포스팅에서는 제한된 API를 포함하고 있는 무료 버전 Maltego CE를 사용합니다.

    그림3. Maltego 실행 - 라이센스 유형 선택

    Liceense Agressment에서 accept를 선택합니다.

    그림4. Liceense Agressment

    해당 과정을 진행하기 위해서는 Maltego(https://www.maltego.com/ce-registration/)사이트로 이동 하여 계정을 만들어야합니다. 계정을 생성한 뒤 아래 단계에서 Login을 진행합니다.

    그림5. Login

    Login이 정상적으로 되면 다음과 같이 Login Resut가 출력됩니다.

    그림6. Login Result

    Transform의 설치가 진행됩니다. Maltego에서 언급하고 있는 Transform은 그래프에서 개체와 관련된 정보를 검색하는 코드입니다. Transform을 사용하면 API 또는 데이터베이스를 쿼리하여 관련 절보를 표시할 수 있습니다.

    그림7. Install Transforms

    Error 발생 시 리포트를 자동으로 보낼 지에 대한 여부를 선택합니다.

    그림8. Help Improve Maltego

    Open web links를 클릭할 때 사용할 브라우저를 선택합니다.

    그림9. Web Browser Options

    웹 요청을 제한 또는 허용을 위한 Privacy 모드를 선택합니다.

    그림10. Privacy Mode Options

    설치가 완료되어 사용할 준비가 되었습니다.

    그림11. Ready

    Maltego를 실행한 결과입니다.

    그림12. Maltego 실행 결과

III. Usage the maltego

3-1. 용어 정리

Maltego를 사용하기 전에 알아야 할 중요한 용어가 있습니다.

  • Entity

    Entity는 DNS, IP, 사람, 전화 번호 등과 같이 그래프에서 노드로 표시되는 정보입니다. Maltego 클라이언트에는 약 20 개의 entity가 제공되며 사용자 지정 entity도 만들 수 있습니다.

  • Transform

    Transform은 API 또는 데이터베이스를 쿼리하여 하나의 Entity를 다른 Entity로 변환하는 작업입니다. 예를 들어 웹 사이트 "www.paterva.com"을 IP주소 "104.200.18.205"로 변환할 수 있습니다.

  • Machine

    Machine은 여러 단계에 걸쳐 수행해야 할 Transform 과정을 자동화하는 것으로 매크로로 분류합니다.

  • Hub Item

    Hub Item을 통해 Maltego 사용자는 서버에서 Transform, Entity, Machine 등을 설치할 수 있습니다. 예를 들어 아래와 같이 Transform Hub의 각 transform 패키지를 Transform Hub Items이라고 합니다.

    그림13. Transform Hub Items

3-2. 사용자 인터페이스

1) Application Menu

Application Button에는 Import, Export Print 등 기능들이 존재합니다.

그림14. Application Button(1)

Application Button 우측에는 다양한 기능들이 단축키로 이루어져 있습니다.

그림15. Application Button(2)

2) Ribbon Menu

Maltego에서 사용할 수 있는 모든 기능이 있습니다.

그림16. Ribbon Menu

3) Entity Palette

Maltego에서 사용할 수 있는 모든 Entity를 모아둔 곳 입니다.

그림17. Entity Palette

4) Graph

수집된 데이터를 도식화하여 보여주는 공간입니다. 새로운 그래프 창을 생성하면 다음과 같이 New Graph(1)이라는 이름의 빈 창이 생성됩니다.

그림18. Graph

3-3. Maltego 기본 사용법

1) Graph 추가하기

Application Menu의 "Create a new graph"를 클릭하거나 Ctrl + T를 눌러 새로운 그래프 창을 생성합니다.

그림19. Graph 추가하기

2) Entity 추가하기

Entity Palette에서 추가하고자 하는 Entity를 빈 그래프 창에 Drag & Drop 합니다. 해당 예제에서는 Email Address를 추가합니다.

그림20. Entity 추가하기(1)

Entity의 텍스트를 두 번 클릭하면 값을 변경할 수 있습니다.

그림21. Entity 추가하기(2)

추가된 Entity를 더블 클릭하여 세부 정보를 확인합니다.

아래 이미지는 이메일 주소의 요약 페이지를 보여주고 있습니다. Email Address영역에는 수정한 값이 작성되어 있으며 Notes에는 해당 Entity에 대한 추가 설명을 작성 할 수 있습니다.

그림22. Entity 추가하기(3)

3) Transform 수행

Entity에서 마우스 오른쪽을 클릭하면 다음과 같이 사용 가능한 Transform 목록이 나옵니다. Entity 별로 사용가능한 Transform이 다릅니다.

그림23. Transform 수행

3-4. OSINT with Maltego

사용자 이름을 대상으로 Maltego에서는 다양한 entity로 변환할 수 있습니다. 예시로 작성자의 이름을 입력합니다.

그림24. 사용자 닉네임 입력

사용자 이름을 SNS 계정으로 변환합니다.

그림25. 닉네임을 SNS 계정으로 변환(1)

사용자 이름을 가진 SNS 계정이 나옵니다. 하지만 해당 결과가 정확한 결과라고 확신할 수 없습니다.

그림26. 닉네임을 SNS 계정으로 변환(2)

Maltego 좌측에 있는 Detail view에서 해당 계정의 Linkedin을 접속해보면 공개되어 있는 정보를 수집할 수 있습니다.

그림27. 링크된 SNS 계정을 통해 정보 수집

사용자의 이메일 계정으로 추측되는 것을 발견했다고 가정합니다. 이때는 이메일 개체를 직접 추가하여 관계를 그릴 수도 있습니다.

그림28. 직접 개체 추가

추가한 이메일을 다양한 entity로 변환합니다.

그림29. 다양한 entity로 변환

존재하는 이메일이라는 것을 확인할 수 있습니다.

그림30. Email exists

IV. 결론

Maltego는 정보 수집 활동을 통해 얻어진 정보들간의 연관성을 가시적으로 보기 위해 활용하는 것이 좋다고 생각합니다. 얻어진 정보에 대한 추가 정보를 알아내기 위해 Maltego를 활용하는 것도 좋은 방법입니다. 하지만 얻어진 정보가 정확한 정보일 것이라는 확신은 누구도 할 수 없습니다.

그렇다면 Maltego를 효율적으로 활용할 수 있는 방법은 무엇이 있을까요?

먼저, 조사하고자 하는 대상이 명확해야 합니다. 조사하고자 하는 대상을 중심으로 다양한 경로에서 많은 정보들을 수집합니다. 그다음 Maltego에 수집한 정보를 작성하고 이를 기반으로 불필요한 부분들은 그래프에서 제외하면서 조사를 진행해 나갑니다.

결국 도구의 사용법을 익히는 것보다는 OSINT라는 개념이 무엇인지 어떻게 접근해야 효율적이고 정확한 정보를 얻을 수 있는지에 대한 많은 고민과 시각이 필요할 것입니다.