얼마전 오픈소스 OSINT Tool SpiderFoot을 테스해본 결과를 리뷰해봅니다. OSINT 수집도구에 관심이 있다면 SpiderFoot에 대해서 본문 내용을 통해 자세하게 알아보시면 도움을 얻을수 있을것입니다. 실제 설치하여 다양한 테스트를 해본 결과에 대한 리뷰를 지금부터 함께 살펴보실까요?
SpiderFoot OSINT
SpiderFoot는 광범위한 데이터 소스와 통합하고 직관적인 웹 기반 인터페이스 또는 명령줄 옵션을 제공하여 데이터 분석을 단순화하는 오픈 소스 OSINT 자동화 도구입니다. SpiderFoot의 주요 기능 및 실제 사용 사례와 함께 어떤 DATA를 수집할수 있는지 지금부터 살펴보도록 하겠습니다.
먼저 어떤부분에 대해서 정보를 수집할것인지 대상을 먼저 선정해야합니다. 대상 선정시 다양한 형태로 입력 할수 있는데요 대표적으로 도메인명, IP주소, Email 주소, 전화번호, 서브넷 등 여러가지 형태로 정보 수집을 하고자하는 대상을 선정할수 있습니다.
또한, 대상 선정후 어떤 방식으로 수집할 것인지 다음과 같은 4가지 형태중 한가지를 선택 후 스캔을 진행하면 됩니다.
- All : 모든 SpiderFoot 모듈이 활성화되지만 속도는 좀 느린편입니다. 대상에 대한 가능한 모든 정보를 얻고 분석합니다.
- FootPrint : 수 많은 웹 크롤링 및 검색 엔진 사용을 통해 얻은 대상의 네트워크 경계, 관련 ID 및 기타 정보를 수집 분석합니다.
- Investigate: 대상의 악의적인 정보가 있을 수 있는 블랙리스트 및 기타 소스를 쿼리하는 것 외에도 몇 가지 FootPrint를 수행합니다.
- Passive: 대상이나 그 대상에 연결된 모든것들을 건드리지 않고도 많은 정보가 수집되므로 기본적인 모듈만 활성화되서 수집을 진행합니다.
SpiderFoot에서 사용되는 모듈은 약 200여개를 사용할수 있는데요. 대표적으로 우리들이 잘 알고있는 shodan이나 censys, IBM X-Force등의 위협 인텔리젼스 사이트의 정보도 수집할수 있습니다. 이와 같은 사이트에서 정보를 수집하기 위해서는 각 사이트에 회원가입후 API키를 생성하여 SpiderFoot 모듈에 연동 시켜줘야합니다. 모든 외부 사이트 API키가 다 필요한것은 아닙니다. API키 없이도 수집할수 있는 사이트들이 더 많습니다.
SpiderFoot 수집 결과
하기 내용들은 직접 SpiderFoot 구추후 대상을 선정하여 OSINT 정보를 수집해본 실제 결과입니다. 기본 footprint 정보 뿐만 아니라 현재 열려있는 Port 정보, 연결된 도메인과 IP정보, 웹 크롤링을 통해 웹 컨텐츠를 수집한 정보, 이메일 정보, 전화번호, 내부링크, 외부링크등 전반적인 모든 정보를 한눈에 쉽게 분석이 가능합니다.
그렇다면 SpiderFoot은 실무에서 어떻게 활용하면 될까요? 저희 회사의 경우 1달에 1회정도 정기적으로 회사내 중요 정보가 외부에 노출되어 있는지 사전 예방차원에서 SpiderFoot를 사용중에 있습니다. 예를들어 외부에 불필요하게 열려있는 포트, 공개되지 않아야할 도메인, 공개되지 않아야할 IP, 중요한 이메일 정보등 외부 노출이 불필요한 정보들을 정기적으로 분석하고 점검하고 있습니다.
실제로 이와같은 정기적인 SpiderFoot 점검 프로세스를 다양한 보안 위협에 도움이 되는 정보들을 발견하였으며, 예를들자면 웹페이지내에 불필요하게 노출되어 있는 중요 정보들을 모두 찾아내어 삭제하였습니다. 또한, 외부에 공개되어 있는 임원진 메일주소들이 발견되어 삭제 조치 했던 사례도 있습니다.
마지막으로, SpiderFoot OSINT 수집 도구를 자사 환경에 맞게 프로세스를 정립하고 정기적인 점검도구로 활용한다면 외부에 노출된 우리 회사의 중요 정보들을 미리 분석 수집하여 사전에 예방 조치를 취할수있고, 나아가 자사 서비스에 대한 보안 강화를 하는데 도움이 될것입니다.