Search

MALTEGO (One License)

MALTEGO

실시간 데이터 마이닝 및 정보수집하는 세계적으로 활용되는 OSINT 도구다.
수집 정보를 노드 기반 그래프에 표시하여 정보 간의 다중 상관 관계를 쉽게 식별 가능
다양한 데이터 소스, 100만 개의 데이터 확인 가능
자체 공용 DB에 연결 및 수동 업로드 가능

Install

다음 사이트에서 다운이 가능하며 윈도우는 JDK 설치가 우선돼야 한다.
무료는 CE를, 키가 있다면 해당 키에 알맞은 라이센스를 선택한다.
여기서는 다양한 유료 Transform을 활용해보기 위해 Maltego One을 설치하여 진행하였다. CE로도 다양한 기능을 수행 가능하나 제한사항이 존재한다.
라이센스 키를 입력 후 모든 설정을 default로 진행하고 Home으로 돌아오면 다음과 같은 창을 마주하게 된다.

Transform Hub

허브 파트너에서 쇼단, 바이러스토탈은 물론 카스퍼스키나 맨디언트 등을 마주할 수 있으며 다양한 API를 연동할 수 있다.
데이터 유출에 관련된 DB를 보고 싶다면 위와 같이 필터링을 통해 확인해볼 수 있고, 각각을 클릭하면 상세한 기능 설명과 더불어 필요한 요소를 안내한다.
Shodan을 예시로 보면 수행하는 기능과 더불어 사용을 위해서 Maltego One 라이선스와 쇼단 라이선스를 통한 API Subscription을 요구하고 있다.

주요 Transforms

Maltego를 통한 조사를 수행할 때 기본적으로 사용되는 기본 Hub들로 설치를 수행하고 시작하는 것을 추천한다.
Standard Transforms에 사용되는 주요 데이터 세트는 위와 같으며 관련 정보는 위 링크에서 찾아볼 수 있다.
이외 다양한 Transform들을 활용하여 조사가 가능하지만 대부분 API Key를 요구하거나 계정 정보를 요구한다.
하나씩 수행하기 어렵다면 아래와 같은 API 판매 사이트들을 통해 한번에 해결 가능하다 (수수료로 가격을 더 받는 경우가 있는가 하면 더 값싼 경우도 있어 사용하고자 하는 서비스 가격과 규모에 따라 선별적으로 사용하자.)

Wayback Machine

웹 아카이브에 저장돼있는 웹사이트 조회
IBM Watson 기능을 활용한 추가적인 분석 활용
IoC 정보를 추출 (DNS Name, IP, E-mail 등)
악성코드(해시), URL, IP, Domain 분석
CVE 정보 및 Comment 조회
구글 검색 기반으로 SNS 정보 획득
Facebook / GitHub / Instagram / Twitter / Tiktok / Youtube
SNS 관련 프로필 정보 조회
검색을 통한 가명 또는 별칭 정보 획득
암호화폐 주소 입력 후 트랜잭션 확인 및 지갑(CypherTrace) 확인
트랜잭션 ID, BTH Address 등 획득
여권번호, 생년월일, 문서 등 인물&단체 등에 대한 다양한 제제 정보 확인
가짜 전화번호 감지 및 관련 메타데이터 확인
번호 일회용 유무, 번호 소스코드 도메인, 번호 위혐여부
E-mail 추적 및 진위여부 확인
도메인, 회사명을 통한 메일 검색
회사명을 알고 있을 때 인물에 대한 이름 또는 닉네임을 통한 검색 지원
Shdoan DB를 기반으로 취약점 확인
IP기반으로 사용중인 port, 서비스, 인증서 정보 획득
키워드 기반으로 관련 정보 획득
IP를 통한 서비스, ASN, Country, Domain 등 표면 정보 획득
실시간 스캔 정보를 반환
DNS, IP 등 네트워크 정보 및 사이트 리다이렉션 조회
피싱 도메인을 신속하게 식별
악성 도메인 판단 및 관련 태그 등록
관련 뉴스 정보 제공 (날짜, 도메인 등 지정 가능)

Investigate

Entity palette : 검색할 개체를 선정하여 데이터 입력
Overview : 전체 그래프
Detail View : 각각 객체에 대한 세부 정보 표시

Entity Palette

다양한 entity를 제공하고 있으며 이를 기반으로 그래프를 구성할 수 있다.
하나씩 드래그 앤 드롭으로 개체를 추가할 수 있으며 더블 클릭을 통해 내용을 변경할 수 있다.

Run Transforms

각각의 객체에 대해 주어진 DB를 기반으로 한 명령을 통해 다양한 조사를 수행 가능하다.
Phrase 개체에 malware라는 텍스트 문구를 넣고 오른쪽클릭을 수행하면 실행 가능한 명령어가 발생하고 여기서는 search engine을 이용해 malware문자를 포함한 사이트들을 리스트할 수 있다.
기본적으로 bing search engine을 사용하고 있으므로 bing 검색결과를 기반으로 보여주며 현재는 12개의 결과만 보이지만 좌상단 Number of Results를 통해 볼 수 있는 개수를 늘릴 수 있다. (라이센스에 영향을 주므로 불필요한 상황에 늘릴 필요는 없다)
Bing Dork 방식으로 사이트나 IP, 파일 등 일반적인 검색으로는 나오지 않는 결과도 추출 가능하다.
참조 : Bing Dork

Machines

Maltego Machine을 기반으로 조사를 자동화하는 기능이다.
상단 리본 탭에서 Machiens를 통해 설정이 가능하며 여러 기능을 제공하고 있다.
Footprint L1 자동화된 작동으로 IP, DNS, NS, MX Servers, Netblocks, AS Numbers 등을 수집
Footprint L2 L1을 모두 포함, IP주소에서 동일하게 호스팅되고 있는 다른 웹사이트 서칭 및 수동 조사
Footprint L3 L2를 모두 포함, 디테일한 추가적인 분석을 진행
Find Wikipedia Edits 도메인 관련된 위키피디아를 수집
Company Stalker 도메인에 연결된 모든 이메일 주소 검색, 소셜 네트워크 연결 이메일 확인, 관련 문서 및 메타데이터 추출
추가로 New Machine을 통해 커스텀된 자동화 과정을 생성 가능하다.

Machine - Company Stalker 예시

Machine - Footprint L1 예시

축소하면 전체적인 형태를 쉽게 확인 가능하다.

Investigate Example

단순히 하나에서 끝나는 것이 아니라 발생한 결과 노드에 대해서 각각 명령 수행이 가능하다.
아무래도 제대로 사용하고자한다면 다양한 Machine과 Transform들이 필요한데 우선 간단한 예를 들어본다.

① SNS 계정 추적

사용 사례 중 하나는 프로필을 추적하고 영향력, 관심사 및 그룹의 소셜 네트워크를 이해하기 위해 소셜 미디어 계정을 분석하는 일이다.
우선 위 2개 트랜스폼이 추가로 필요하다.
Social Links CE
Google Social Network Transform
예를 들어 테슬라 CEO의 소셜네트워크 계정을 알아보고 싶다 가정하자.
1) Bing에 검색하듯 그대로 “tesla ceo”를 입력하고 To Website [using Search Engine]을 실행한다.
2) 여러 사이트 중 위키피디아가 있어 해당 내용에 관련 정보가 있을 것으로 사료돼 To URLs를 실행해 관련 주소들을 획득한다.
3) 해당 URL에 대해 IBM Watson을 실행하게 되면 웹 페이지 내 조직, 사람, 위치, 이메일, 이미지 등의 엔티티를 추출하게 된다.
4) 관련하여 여러 회사들의 연관성과 더불어 MUSK라는 인물에 대한 Person 정보를 획득했다.
해당 인물에 대해 트위터 아이디가 존재하는지를 살펴보기 위해 To Twitter Profiles 을 실행하면 관련 트위터 검색 결과를 보여주게 된다.
5) 실제 일론 머스크의 트위터 정보를 다음과 같이 획득하게 된다.

② Phishing Domain 확인

특정 도메인에 관련된 정보를 수집해보고 확인해보자.
1) To Domains [DNS] 로 실제 DNS주소을 확인하고 관련하여 언급된 링크들을 서칭해본다.
2) 관련하여 Detail View를 통해 링크로 들어가보면 실제로 피싱 사이트 중 하나임을 쉽게 확인할 수 있다. 물론 이외에도 다양한 방법으로 조회가 가능하다.
3) To DNS Name [Find common DNS names]를 통해 DNS Name들을 확보하고,
4) 해당 DNS에 대해 IP 정보를 To IP Address[DNS]로 해당 IP를 획득할 수 있다.
5) IP 정보를 기반으로 위와 같은 Transform들을 통해 악성 유무 판단 수행이 가능하다. (DNSTwist 등을 통해 DNS 정보만으로도 악성 판단 수행이 가능하다.)

Machine 생성

위에서 수행한 과정들을 Machine 을 통해 자동화하여 하나의 프로세스로 만들 수 있다. 일종의 템플릿이라고 생각하면 된다.

New Machine

Display name이 실제로 실행에 나타날 이름이기에 해당 부분만 구분할 수 있게 설정하면 된다. (해당 내역을 공유하게 된다면 당연히 나머지 부분도 신경써야 한다.)
다음과 같은 기본 구조가 주어지고 오른쪽에서 현재 수행 가능한 Transforms 목록을 제시한다.
machine("hello", displayName:"Test", author:"absolroot", description: "Test") { //A macro machine has a start function like this start { paths { run("paterva.v2.DomainToWebsite_SE") //mail server run("paterva.v2.DomainToWebsiteDNS_SE") //website using domain run("paterva.v2.DomainToMXrecord_DNS") //find common dns names run("paterva.v2.DomainToDNSName_DNSBrute") } //Get IPS run("paterva.v2.DNSNameToIPAddress_DNS") } }
PHP
복사
위는 예시2번을 매크로 코드로 구현한 사례다.
paths{}와 run으로 구성되는데 paths{}로 묶게 되면 실행한 Entity 밑에 동위로 나타나고 이후 실행된 runs는 paths 결과 밑으로 나타나게 된다.

Custom Machine 실행

그림과 같이 동일한 형태로 나타난 것을 확인할 수 있다.
이외에도 검색을 통해 다양한 Machine을 획득할 수 있다.
MaltegoTelegramScraper
Ost4r4

✓ 다른 [정리] 포스트

베트남 환전 왜 한국에서 하면 안될까? (한국 vs 공항 vs 금은방)
Travel
베트남 환전 왜 한국에서 하면 안될까? (한국 vs 공항 vs 금은방)
Travel
Load more
︎ 더 많은 게시물을 보려면
︎ 작성자가 궁금하면?
 2023. Absolroot all rights reserved.