허니트랩(Honeytrap)은 TCP 및 UDP 서비스에 대한 공격을 포착하기 위해 작성된 상호 작용이 적은 허니팟 및 네트워크 보안 도구입니다. 기본 구성에서는 데몬으로 실행되며 포트에 연결을 시도할 때 요청 시 서버 프로세스를 시작합니다.
연결 처리 방법을 제어하는 다양한 작동 모드를 사용할 수 있습니다. 일반 모드 에서는 서버가 잘 알려진 프로토콜을 에뮬레이트하기 위한 기본 수단으로 템플릿 파일에 제공된 임의의 데이터를 보냅니다. 많은 자동화된 공격 도구는 속아서 공격 대화를 계속합니다. 널리 사용되는 모드는 들어오는 연결이 개시자에게 다시 프록시되는 소위 미러 모드 입니다. 이 트릭을 사용하면 많은 경우 프로토콜 에뮬레이션이 필요하지 않습니다. 세 번째 모드인 프록시 모드를 사용하면 특정 세션을 다른 시스템(예: 높은 상호 작용 허니팟)으로 전달할 수 있습니다.
모듈 API는 허니팟에 동적으로 로드되는 사용자 정의 확장을 작성하는 쉬운 방법을 제공합니다. 도착하는 공격 데이터는 수동 조사를 위해 파일이나 SQL 데이터베이스에 저장할 수 있는 소위 공격 문자열 로 수집됩니다. Honeytrap에는 이러한 공격 문자열에서 실행되어 추가 정보를 추출하거나 추가 작업을 에뮬레이트하는 다양한 플러그인이 함께 제공됩니다. 공격 데이터에서 URL 문자열을 추출하고 외부 도구를 호출하여 해당 리소스를 자동으로 다운로드하는 httpDownload
모듈이 그 예입니다.
허니트랩 설치는 매우 간단합니다. 소스 트리 루트 디렉터리에서 다음 명령을 실행하기만 하면 됩니다.
./configure --with-stream-mon=<type>
make
sudo make install
--with-stream-mon
매개변수는 허니트랩이 들어오는 연결 시도를 찾는 방법을 지정합니다. Linux에서 선호되는 선택은 --with-stream-mon=nfq
이며, 이는 honeytrap이 iptables NFQUEUE
기능을 사용하여 패킷을 캡처하도록 지시합니다. 이 기능을 사용할 때 다음과 같은 iptables 규칙은 들어오는 TCP-SYN 세그먼트를 허니트랩이 선택할 수 있는 대기열에 넣습니다.
sudo iptables -A INPUT -p tcp --syn --m state --state NEW --dport 445 -j NFQUEUE
패킷을 다른 중요한 서비스에 대기열에 넣지 않도록 하세요. 자세한 내용은 INSTALL 파일과 ./configure --help
출력을 참조하세요.
다음은 고전적인 MS04-011 LSASS 익스플로잇과 악성 코드에 내장된 기초적인 FTP 서비스를 통해 확산되는 구식 IRC 봇에 의해 포착된 공격입니다.