
이 실험은 에뮬레이션된 IoT에서 DNS 리바인딩 공격이 어떻게 작동하는지 시연하기 위한 것입니다. 이 설정에는 웹 인터페이스를 통해 제어할 수 있는 시뮬레이션된 IoT 기기가 있습니다(이는 많은 IoT 기기에서 일반적인 방식입니다).
Amine TITROFINE | 2023년 1월 21일
이 실험은 에뮬레이션된 IoT에서 DNS 리바인딩 공격이 어떻게 작동하는지 보여주기 위한 것입니다. 설정에는 웹 인터페이스를 통해 제어할 수 있는 시뮬레이션된 IoT 장치가 있습니다(이것은 많은 IoT 장치에서 일반적인 방식입니다). 많은 IoT 장치는 강력한 보호 메커니즘을 갖추고 있지 않으므로, 공격자가 이들 장치와 직접 상호작용할 수 있다면 이들을 쉽게 손상시킬 수 있습니다.
호스트 머신 : - 이 익스플로잇은 (Linux kali 6.0.0-kali5-amd64)에서 실험되었으며, (Ubuntu) 배포판에서도 테스트할 수 있습니다.
먼저, 이 프로젝트를 로컬 머신에 복제하십시오.
$ git clone https://gitlab.com/grenoble-inp-ensimag/Secu3A/Devoir2/CVE_2022_4096_amine_titrofine_farah_ben_youssef_walid_lanjri.git
저장소의 파일이 포함된 디렉터리로 이동합니다.
$ cd CVE_2022_4096_amine_titrofine_farah_ben_youssef_walid_lanjri
먼저 (docker-compose.yaml) 파일에 정의된 모든 서비스를 빌드합니다.
$ docker-compose build
그런 다음, 다양한 서비스를 시작하기 위해 다음 명령을 실행합니다.
$ docker-compose up
(1단계. Firefox의 DNS 캐싱 시간 줄이기:)
network.dnsCacheExpiration: change its value to 0 (default is 60)
(2단계. /etc/hosts 변경:)
192.168.60.80 www.seedIoT32.com
(3단계. 로컬 DNS 서버:) 리졸버 구성 파일에 nameserver 항목을 추가합니다 (/etc/resolv.conf).
nameserver 10.9.0.53
사용자 VM을 구성한 후, dig 명령을 사용하여 www.attacker32.com의 IP 주소를 확인하십시오. 10.9.0.180이 나와야 합니다. 이 값이 나오지 않으면 실험실 환경이 올바르게 설정되지 않은 것입니다.
$ dig http://www.attacker32.com
이 부분은 보고서에 잘 문서화되어 있습니다. (17) 페이지부터 참조하십시오.