
Behave! 'bad boi'처럼 행동하는 페이지를 모니터링하는 브라우저 확장 프로그램
(아직 개발 중인) 악성 페이지를 모니터링하는 브라우저 확장 프로그램입니다.
참고: 이 프로젝트의 코드 저장소입니다. 패키징된 확장 프로그램을 찾고 있다면:
Firefox: https://addons.mozilla.org/en-US/firefox/addon/behave/
Chrome: https://chrome.google.com/webstore/detail/mppjbkhgconmemoeagfbgilblohhcica/
Behave! 는 웹 페이지가 다음 작업 중 하나를 수행하는지 모니터링하고 경고합니다:
다음은 Behave! 가 로그에서 at.tack.er 페이지를 지목한 모습입니다:

Behave! 는 브라우저 세션 중 사용된 포트 또는 프로토콜 수가 특정 제한을 초과하면 사용자에게 알립니다.
기본 제한은 20이지만, 사용자가 환경 설정을 통해 변경할 수 있습니다.
Behave는 DNS 요청을 수행하지 않기 때문에,
Behave! 는 웹 페이지가 다음 블록 중 하나에 속하는 IP에 직접 접근하려고 하면 경고합니다:
악성 스크립트가 브라우저에 권한 있는 DNS가 사설 IP로 확인되는 FQDN에 연결하도록 지시하면, Behave! 는 확인된 IP가 사설 IP인지 확인합니다. 단, 확인된 호스트명의 IP 정보는 포트가 열려 있는 경우에만 사용 가능합니다.
Behave! 는 TOCTOU 문제를 방지하기 위해 외부 DNS 요청을 수행하지 않으므로, 포트가 닫혀 있으면 IP 확인이 불가능하므로 경고가 발생하지 않습니다.
Behave! 는 직접적인 DNS 요청을 수행하지 않으며, IP는 가로채어진 응답에서 가져옵니다.
즉, DNS 리바인딩과 같은 TOCTOU 공격에 노출되지 않습니다.
Behave! 는 호스트명이 여러 IP로 확인되는지 추적하며, 공인 IP와 사설 IP가 혼합된 경우 경고합니다.
Behave! 는 패키징된 확장 프로그램으로 제공됩니다:
Firefox 확장 프로그램: https://addons.mozilla.org/en-US/firefox/addon/behave/
Chrome 확장 프로그램: https://chrome.google.com/webstore/detail/mppjbkhgconmemoeagfbgilblohhcica/
하지만 코드를 약간 가지고 놀고 싶다면 다음과 같이 할 수 있습니다:
다음 중 하나에 접속해보세요:
Singularity of Origin DNS 리바인딩 공격: http://rebind.it:8080/manager.html
JavaScript 포트 스캔: http://jsscan.sourceforge.net/jsscan2.html
참고사항: 현재로서는 다음과 같은 비사설 IP에 대해 DNS 리바인딩 공격이 수행될 경우 경고하지 않습니다: https://www.alf.nu/BrowserCacheAndDnsRebinding
도움은 언제나 환영합니다! Issue를 생성하거나 프로젝트를 포크하여 PR을 보내주세요.