본문 바로가기

HOW TO HACK/Information Gathering

OSINT(Open Source Intelligence) 정보 수집-3 : Maltego를 통한 네트워크 정보 수집


이번 포스팅에서는 지난 포스팅(바로가기)에서 말씀드렸듯이 OSINT 툴인 Maltego를 사용하여 특정 조직(법인,단체 등)의 네트워크 인프라 정보를 수집해보도록 하겠습니다. 타겟은 Maltego 제작사인 Paterva입니다. 

그럼 바로 시작하겠습니다.

독학한 내용을 바탕으로 정리한 포스팅이므로 혹시 내용상의 오류가 있을 수 있습니다.

오류를 발견하신 분은 지적해주세요. 겸허히 그리고 감사히 받아들이고 더 연구해보겠습니다.



Hands-On



* 본 글은 칼리리눅스 2016.2 및 Maltego Kali Linux 4.0.18 버전 환경에서 작성되었습니다.


Step 1. Maltego 실행


칼리리눅스에서 Maltegoce를 실행합니다.

터미널에서 아래 명령어를 실행하여 Maltego를 시작할 수 있습니다.


kali> maltegoce



혹은 아래 메뉴를 통해 Maltego를 실행하세요.





Step 2. 새 그래프 생성 및 Domain 엔티티 추가


Maltego에서 새 그래프를 만듭니다. 

새 그래프는 아래 스크린샷의 빨간 박스처리되어있는 버튼 혹은 단축키 Ctrl + t 를 통해 만들면 됩니다.



새 그래프를 생성하면 아래 스크린샷과 같이 그래프 영역에 New Graph 탭이 생성됩니다.


이제 Paterva라는 회사에 대한 정보수집을 하기로 했으니 Maltego 왼쪽의 Entity PaletteInfrastructure에서 Domain을 선택하여 New Graph 탭으로 드래그&드롭합니다. 정상적으로 실행되면 아래처럼 그래프 영역에 엔티티가 생성됩니다. paterva.com 이라는 값은 기본입력값이며, 다른 타겟을 대상으로 할 경우에는 이 값을 마우스로 더블클릭하여 수정하시면 됩니다.



Step 3. Transform 수행을 통한 정보 수집


이제 본격적으로 정보수집을 위한 Transform 작업을 수행해볼까요?

추가된 paterva.com 이라는 Domain 엔티티에서 마우스 우클릭을 하여 Run Transform(s) 메뉴를 띄우고, To Website DNS [using Search Engine] 을 찾아 실행합니다. 실행은 오른쪽의 삼각형 모양의 버튼을 클릭하면 됩니다.  To Website DNS [using Search Engine] Transform은 구글, 빙과 같은 검색엔진을 통해 해당 도메인(paterva.com) 사이트를 찾아 웹사이트 엔티티로 반환합니다.

참고로 Run Transform(s) 메뉴에는 All Transforms 라는 모든 Transform을 실행할 수 있는 메뉴가 있는데, 이건 성능 부하 문제로 가급적 사용을 하지 말고, 적절한 Transform을 찾아 선택적으로 실행하는 습관을 들이는 것이 좋다고 합니다.

Transform에 대한 자세한 정보는 Maltego Docs(바로가기) 에서 찾아보실 수 있습니다. 필요시 방문하셔서 참고하시길 바랍니다.



Transform이 성공적으로 수행되면 아래 스크린샷처럼 paterva.com 도메인이 사용된 7개의 웹사이트들이 나옵니다.



7개의 모든 웹사이트를 대상으로 각 사이트들의 IP주소를 추출해봅시다.

마우스 드래그로 웹사이트 엔티티를 모두 선택하고, To IP Address [DNS] Transform을 찾아 실행해줍니다.



아래와 같이 각 웹사이트들의 IP주소를 알아냈고, 각 웹사이트들은 두 개의 IP주소로 서비스가 되고 있음을 확인할 수 있습니다.



IP주소를 찾아낸 후에는 NetBlock을 알아내야 합니다.

역시 각 IP주소 엔티티의 Run Transform(s) 메뉴 중에 To NetBlock [using natural boundaries] 를 찾아 실행해줍니다.



NetBlock 변환 작업시 Block의 크기를 적절히 설정하는 것이 중요한데, Block 크기는 아래 스크린샷에 나온 경로에서 확인하고 수정할 수 있습니다.

아래 보시는 바와 같이 To NetBlock [using natural boundaries]는 기본적으로 256으로 설정되어 있으며, 따라서 C클래스의 IP주소 범위를 반환합니다. Block 크기는 1, 2, 4, 8 ... 128, 256 과 같이 2의 제곱수로 직접 설정할 수 있습니다.



아래는 To NetBlock [using natural boundaries] 작업이 수행된 화면입니다. 각 해당 IP주소의 C클래스 IP주소 범위(0-255)를 반환했음을 알 수 있습니다.

 


이제 NetBlock을 통해 AS Number(ASN)를 알아낼 차례입니다.

ASN은 AS(Autonomous System)라는 회사나 단체에서 독립적으로 관리하는 라우터 도메인에 전 세계적으로 유일하게 부여된 2byte 체계의 번호입니다.

아마.. 이 번호도 고갈 위기에 처해 4byte로 변경했다죠.. 

어쨋든 ASN 엔티티에서 To AS Number Transform을 실행해줍니다.



ASN은 63949로 단일 ASN이네요. 



이 ASN의 소유주 확인을 하면 모의침투 수행시 대상에 포함할지 판단하는데 도움이 됩니다.

ASN 엔티티에서 To Company [Owner] Transform을 실행하여 이 ASN을 소유한 회사를 확인해보도록 합시다.



아래 스크린샷처럼 소유주는 LINODE로 나오네요. 

LINODE는 찾아보니 호스팅 업체더군요. 즉, paterva.com 도메인을 갖는 사이트들은 LINODE라는 호스팅 업체를 통해 서비스되고 있으므로, 모의침투 대상에 포함할지, 제외해야 할지를 협의하여 결정해야 할 것입니다. (거의 제외겠죠?)

근데 보시다시피 REACH (Customer Route)이라는 게 하나 더 나왔습니다.

REACH (Customer Route)... 이게 뭘까요? 구글링을 해봐도 알 수 없는 저 녀석의 정체는...

나름 구글링을 해본 결과 Route Record Desc 항목에 저 문구가 많이 표현되던데 솔직히 저는 그 의미를 정확히 알아낼 수가 없었습니다. 아시는 분 있으면 저 좀 알려주세요... ^^



참고로, 위에서 NetBlock을 알아낸 단계 이후부터는 사용자가 원하는 방향으로 정보를 수집해나갈 수 있어야 합니다.

NetBlock 엔티티에서 Reverse DNS를 통해 NetBlock 안의 다른 DNS 이름을 알아내고, 이를 통해 추가적으로 IP주소 및 NetBlock을 알아내는 등 Transform의 반복, 연계작업을 통해 훨씬 많은 정보를 수집하는 식으로 사용자 재량껏 각 엔티티에서 정보를 파생시켜 유의미한 정보를 얻을 수 있도록 해야 합니다.

아래는 64.5.53.0-255 범위의 NetBlock 엔티티에서 Reverse DNS를 통해 추가적인 DNS 이름을 알아내고 이에 대한 IP주소, NetBlock을 추가로 수집하는 작업을 순서대로 나열한 스크린샷입니다.


(1) 알아낸 NetBlock에서 To DNS Names in netblock [Reverse DNS] Transform 작업 수행


(2) 해당 NetBlock에 속하는 다른 DNS 이름을 알아냈고, 여기서 다시 To IP Address [DNS] 수행


(3) 알아낸 IP주소에서 To NetBlock [using natural boundaries]을 통해 추가적인 NetBlock을 추출한 결과 

    (Transform 선택 화면은 캡쳐 못함.. 귀차니즘 발동!!)


이와 같이 각 엔티티에서 적절한 Transform의 수행을 통해 사용자의 의도대로 정보를 수집해나갈 수 있습니다. 이메일 주소, 전화번호, 물리적 위치 등도 알아낼 수 있겠죠. 지금까지 특정 조직의 네트워크 인프라에 대한 정보를 간단히 수집해봤습니다. 다음 포스팅에서는 특정 인물을 중심으로 정보를 수집해보도록 하겠습니다.



Reference


1) Maltego Docs : https://docs.paterva.com/en/maltego-transform-guide/paterva-ctas-transforms/

2) KISA 한국인터넷정보센터 : https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/asInfo.jsp

3) 네이버 지식백과 : http://terms.naver.com/