LINUX 해커시스템 에서의 DNS 스푸핑 공격
지난 시간에 DNS스푸핑 공격을 윈도우 시스템 기반으로 사용 했었습니다.
이번에는 리눅스(LINUX) 에서 명령어를 통한 DNS스푸핑 가상실습을 진행 해 보겠습니다.
*주의: 이 포스팅은 상세한 기법 설명을 다루지 않으며, 자료공유는 하지 않습니다. 또한 가상머신으로
진행하는 해킹&보안 실습이며, 본 내용을 악용하면 책임은 당사자에게 있습니다.
리눅스를 제대로 사용하는 사람들을 가르켜서 '리눅서' 라고 부릅니다.
사실 해커들은 거의 리눅서들인 경우가 많습니다.
왜냐하면, 시스템에 대한 뛰어난 이해가 해킹공부에 많은 도움이 되기 떄문 입니다.
그래서 의도적으로 리눅스를 많이 사용해보고 친해지도록 노력해 보아야 합니다.
'재밌다' 라고 느낄정도가 되면 실력은 금세 따라옵니다.
DNS스푸핑 공격을 하려면 먼저 ARP 스푸핑 공격이 전제 되어야 합니다.
CAIN툴로 이용해서 먼저 ARP Spoofing 공격을 감행 합니다.
(본 툴은 이미 백신에 막혀 있습니다. 악용하시면 안됩니다. 학습용으로만 구현 하시길 바랍니다.)
케인툴에서 스캐닝을 통해 타켓 IP 대역대를 추출하고 좀더 범위를 좁혀서 타켓시스템의 IP주소와 MAC주소를 선택한후에 경유할 경로의 IP를 선택하여 줍니다.
케인툴에서는 바로 이 두버튼이 공격을 해주는 버튼 입니다.
사실 리눅스 기반이기 떄문에 리눅스용 ARP스푸핑툴을 이용해서 공격 하시는것이 공부하기에
좋습니다. 저는 메커니즘 공부를 위해 빠른 실습을 위해 케인툴을 이용 했습니다.
해커의 리눅스 시스템에서 dniff 설치후에 현대 경로로 이동 합니다.
해커 본인의 아이피와 맥주소를 확인 합니다.
타겟 시스템의 아이피와 맥주소를 확인 합니다.
케인툴이 아닌 리눅스에서 ARP Spoofing 공격을 할떄에는 쉘스크립트를 작성해서 날려 주면 됩니다.
자, dsniff를 이용해서 DNS 스푸핑을 감행 하겠습니다.
#mv /usr/local/lib/dnsspoof.hosts /usr/local/lib/dnsspoof.hosts.old
명령어로 먼저 백업을 해줍니다.
#vi /usr/local/lib/dnsspoof.hosts
로 VI에디터를 열어서 바꿔치기할 DNS 아이피를 작성 해줍니다.
네이버의 경우에는 nslookup 으로 www.naver.com 을 입력해서 아이피를 알아 낼 수 있습니다.
아까 VI에디터로 작성한 파일을 실행 시켜줍니다.
#dnsspoof -i eth0 -f /usr/local/lib/dnsspoof.hosts 라고 입력 합니다.
타겟이 네이버에 접속 할 경우 미리 준비한 가짜 웹사이트로 접속하게 만들수 있습니다.
가령 이렇게 네이버를 입력 했는데 '짝퉁 구글'로 접속이 가능하게 할 수 있습니다.
DNS스푸핑 방어는 ARP스푸핑을 차단 하면 막을 수 있기 때문에 먼저 본인의 정상 MAC주소를 알 고 있어야 하며
바꿔치기 당하지 않기 위해 arp -s 로 맥주소를 시스템에 고정 시켜주는 방법이 도움이 됩니다.