백박스 리눅스를 활용한 모의 침투 — 5장 (1)

Yu Jin Yang
Quantum Ant
Published in
8 min readAug 3, 2019

5장 다양한 정보 수집 도구 (1)하비스트

책 사진

INDEX

  1. 정보 수집 방법-(1)수동적인 정보 수집
  2. 파이썬 3.6 설치
  3. 하비스트 설치
  4. 하비스트 모듈 설치
  5. 하비스트 실행

5장에서는 다양한 정보 수집 도구에 대해 알아볼 것이다.

1.정보 수집 방법 — (1)수동적인 정보 수집

전쟁 중에 가장 중요한 임무가 사전 정찰이 듯, 본격적인 모의 침투를 위해서는 우선적으로 정보 수집이 필요하다.

정보 수집 방법은 공격 대상자에 대한 접근 유무에 따라 수동적인 정보 수집, 능동적인 정보 수집으로 나뉜다.

[그림5–1]

수동적인 정보 수집은 공격 대상자에게 직접적으로 접근하지 않고, 해당 사이트에 검색하여 필요한 정보를 수집하는 방식이다.

수동적인 정보 수집 방법은 공격 대상자에게 직접 접근하지 않기 때문에 부하를 주지 않고, 보안 장비에게 탐지당할 우려가 없다는 장점이 있다.

수동적인 정보 수집 방법에는 공격 대상자가 속한 조직에 대한 정보를 구글에서 검색하거나 IP 주소를 조회하는 방법이 있다.

이번 시간에는 수동적인 정보 수집 도구인 하비스트(The Harvester)를 실습해 볼 것이다.

[그림5–2]

책에는 theharvester -d naver.com -l 500 -b google이란 명령어를 입력하면 바로 하비스트를 사용할 수 있다고 쓰여 있다. 하지만 [그림5–2]에 나타난 것처럼 백박스 버전에서는 이 명령어가 먹히지 않는다.

이때부터 지옥의 구글링이 시작되었다.

2.파이썬 3.6 설치

[그림5–3]

최신 프로그램 목록이 있는지 확인한다.

설치 전에 update, upgrade 를 진행하는 습관을 들이기를 바란다.

[그림5–4]

apt-get install python3

python3를 설치하는 명령어를 입력한다.

[그림5–5]

apt-get upgrade python3

파이썬3를 최신버전으로 업그레이드 시켜준다.

[그림5–4]외 [그림5–5]의 경우 이미 설치외 업데이트가 끝난 상황에서 명령어를 입력한 상황이기 때문에, 실제로 첫설치를 진행할 때에는 [그림5–4],[그림5–5]처럼 나오지 않을 수도 있다는 점을 유념해주기 바란다.

[그림5–6]

python3 — version

업그레이드한 파이썬의 버전을 확인해준다.

[그림5–6]에서 파이썬 3.6.8 버전임을 확인할 수 있다.

[그림5–7]

파이썬 3.6버전을 설치한 이유는 앞으로 나올 실습에서 파이썬 3.6버전 이상이 아닐 경우 [그림5–7]처럼 에러가 뜨며 다음이 진행할 수 없기 때문이다.

3.하비스트 설치

[그림5–8]

apt-get install subversion

SVN 설치를 진행한다.

여기서, SVN이란?

SubVersion의 줄임말로 팀 단위의 프로젝트를 진행할 경우, 프로젝트의 버전 관리나 개인이 만든 소스 관리의 기능을 제공한다.

[그림5–9]

cd 명령어를 이용하여 opt 디렉토리에 이동한 후, svn 명령어 중 checkout을 이용하여 github에 있는 theHarvester 파일을 받아온다.

svn checkout [저장소]

저장소에 접근해서 소스 코드와 버전관리를 위한 파일을 복사해서 가져 오는 명령어이다.

cd 명령어를 이용하여 /opt/theHarvester/trunk 로 이동하고,

python3 theHarvester.py -d naver.com -l 500 -b google 명령어를 입력하면 google에서 naver 메일 주소를 500개 수집할 수 있다.

만약 위 명령어를 입력했을 때, 한 번에 설치가 된다면 본 글을 보는 것을 중단해도 좋다.

하지만 아마 꽤 높은 확률로 밑의 글을 더 보게 될 것이다.

4.하비스트 모듈 설치

[그림5–10]

하비스트를 실행하는 명령어를 입력하였을 때, [그림5–10]과 같은 명령어가 나타나는 것을 볼 수 있다. 모듈이 다 설치가 되지 않았기 때문에 에러가 발생하는 것이다. 그러므로 필요한 모듈들을 설치해주면 된다.

[그림5–11]

apt install python3-pip

모듈을 설치하기에 앞서 파이썬3의 pip 이용을 위해 pip를 설치해준다.

여기서, PIP란?

파이썬으로 작성된 패키지 소프트웨어를 설치 및 관리하는 패키지 관리 시스템을 말한다.

파이썬 3.4 이후로는 pip를 기본으로 포함하고 있지만, 혹시나 싶어서 설치하는 것이다.

[그림5–12]

apt-get install python3-bs4

bs4모듈을 설치하는 명령어이다.

[그림5–13]

이후, 또 하비스트를 실행하는 명령어를 실행해보았을 때 [그림5–13]과 같은 에러가 발생하는 것을 확인할 수 있다.

shodan 모듈이 없으니 shodan 모듈을 설치해주면 된다.

[그림5–14]

pip3 install shodan

pip를 이용하여 shodan 모듈을 설치해준다.

[그림5–15]

pip3 install chart_studio

chart_studio를 설치하는 명령어이다.

여기까지 진행하고 나면 하비스트 설치는 끝이 난다!

5.하비스트 실행

[그림5–16]

cd /opt/theHarvester/trunk

python3 theHarvester.py -d naver.com -l 500 -b google

[그림5–16]의 명령어를 입력하면, 하비스트가 무사히 실행되는 것을 볼 수 있다.

[그림5–17]

하비스트가 실행되면 [그림5–17]처럼 구글에서 네이버 메일 주소를 수집하여 보여준다. 수집된 메일 주소 리스트 이후에는 메일주소들이 어느 곳(예를 들면 blog.naver.com 210.89.1.2)에서 수집되었는지도 보여준다.

마치며..

이번 시간에는 정보 수집을 위한 첫번째 툴(tool)로 하비스트를 이용해보았습니다. 역시 본격적인 실습보다는 실습에 앞선 설치 및 설정이 더 오래 걸렸습니다. 다음에 실습할 툴은 이보다 더 쉽기를 바라며 글 마무리 짓겠습니다.

다음 시간에는 “다양한 정보 수집 도구 (2)”에 대해 글 올릴 것입니다.

[WARNING]

공부한 내용을 정리하는 글이라서 틀린 내용이 있을 수도 있습니다. 잘못된 내용이 있다면 망설이지 마시고 알려주세요!

읽어주셔서 감사합니다 :)

[참조]

파이썬3.6과 하비스트, PIP 설치 시 참조했던 글의 출처입니다. 위 글이 이해되지 않을 경우, 밑에 가셔서 확인해보는 것을 권장합니다.

http://hackingbylinux.blogspot.com/2016/06/install-theharvester-in-ubuntu-linux.html

--

--