도메인 하나만 던지면 인터넷에 흩어진 조직의 흔적을 스스로 찾아내는 자동화
도메인이나 IP 주소 하나만 입력하면, 그 대상이 인터넷 어디에 노출되어 있는지 스스로 찾아내는 장면을 상상해 보세요. SpiderFoot은 공개 정보 수집(OSINT) 과정을 자동화하는 도구로, 위협 인텔리전스 분석과 공격 표면 매핑을 위해 설계되었습니다. 웹 인터페이스나 명령줄을 통해 200개 이상의 모듈을 활용해 데이터를 수집하고 분석합니다.
모듈이 서로 정보를 주고받는 구조
SpiderFoot은 200개 이상의 모듈을 활용해 데이터를 수집합니다. 각 모듈은 발행자/구독자 모델로 연결되어, 한 모듈이 찾은 정보를 다른 모듈이 입력값으로 받아 더 많은 데이터를 뽑아냅니다. 이를 통해 하위 도메인 열거, 이메일 주소 추출, 비트코인 주소 확인, DNS 영역 전송 시도, 위협 인텔리전스 조회, 소셜 미디어 계정 탐색, 클라우드 버킷 열거, IP 지리 위치 확인, 웹 스크래핑, 다크웹 검색, 포트 스캔, 데이터 유출 검색 등을 수행합니다. 대부분의 모듈은 API 키가 필요 없으며, 필요한 경우에도 무료 티어가 있는 경우가 많습니다.
스캔 대상과 결과 활용
IP 주소, 도메인, 호스트명, 네트워크 서브넷, ASN, 이메일, 전화번호, 사용자명, 사람 이름, 비트코인 주소까지 다양한 실체를 스캔 대상으로 삼을 수 있습니다. 수집된 데이터는 CSV, JSON, GEXF 형식으로 내보낼 수 있고, SQLite 백엔드를 통해 직접 쿼리할 수도 있습니다. 4.0 버전부터는 YAML로 설정 가능한 상관관계 엔진이 도입되어, 37개의 사전 정의된 규칙을 기반으로 데이터를 해석합니다. 또한 DNSTwist, Whatweb, Nmap, CMSeeK 같은 외부 도구를 호출해 기능을 확장할 수 있습니다.
설치와 실행 방법
Python 3.7 이상이 필요합니다. 안정성을 위해 패키징된 릴리스 버전을 사용하는 것이 권장되며, 마스터 브랜치는 테스트가 덜 된 최신 기능이 포함되어 있을 수 있습니다. 설치 시 pip으로 필요한 라이브러리를 설치한 뒤 python3 ./sf.py -l 127.0.0.1:5001 명령으로 실행하면 웹 서버가 시작됩니다. Dockerfile도 제공되어 컨테이너 환경에서 배포할 수 있습니다. TOR 통합을 통해 다크웹 검색도 지원합니다.
오픈소스 버전과 HX의 차이
SpiderFoot HX는 클라우드 기반 관리형 서비스로, 오픈소스 버전과 다른 기능을 제공합니다. HX는 공격 표면 모니터링 시 변경 사항을 이메일, REST, Slack으로 알림을 보내고, 여러 타겟을 한 번에 스캔하며, 다중 사용자 협업, 2FA 인증, 조사 기능, 고객 지원, 사전 설치된 서드파티 도구, 완전한 RESTful API, 스크린샷 기능, 자체 Python 모듈 가져오기, Splunk/ElasticSearch/REST 엔드포인트로 데이터 전송 등을 지원합니다. 오픈소스 버전은 이러한 클라우드 관리 기능이 없으며, 로컬에서 직접 운영해야 합니다.
사용 전 확인 사항
이 도구는 레드 팀 연습이나 침투 테스트처럼 공격적으로 사용할 수도 있고, 조직이 인터넷에 노출된 정보를 파악하는 방어적 목적으로도 사용할 수 있습니다. MIT 라이선스로 배포되며, 2012년부터 활발히 개발되어 왔습니다. 마스터 브랜치를 사용할 경우 기능이 불안정할 수 있으므로, 프로덕션 환경에서는 패키징된 릴리스 버전을 권장합니다.