일단 테크블로그😊

[Network/네트워크 해킹] MITM 공격 - ARP Spoofing 실습 - bettercap 사용법 본문

Security/Network

[Network/네트워크 해킹] MITM 공격 - ARP Spoofing 실습 - bettercap 사용법

^__^/ 2023. 3. 13. 00:16

 지난 이론에 이어 실습을 진행해 보았다.  Bettercap이라는 프로그램을 사용했고, kali 에 기본적으로 깔려있는 프로그램이다. 간단한 명령어를 통해 어떤 방식으로 MITM 공격이 이루어지는지 알아보자. 

 

(**본 실습은 가상머신(VMWare)의 네트워크 어댑터 설정을 bridged wifi로 설정하여 진행되었다. Default 네트워크 어댑터인 NAT방식으로 진행할 경우 HostPC (가상머신을 실행하는 내 PC)를 통해 통신하며 자신의 가상머신끼리만 내부에서통신이 가능한데, bridge 방식으로 네트워크 어댑터를 설정할 경우, 가상머신도 하나의 PC로써 공유기로부터 ip를 할당받게 된다. 본 방식으로 Kali(가상머신) --> Windows(HostPC) 로 MITM 실습을 진행하였다.)

 

 

1. net.probe on

처음에는 kali의 Ip (~~.106) 밖에 보이지 않으나, 이 네트워크에 속해 있는( = 같은 게이트웨이로부터 사설 IP를 할당받은) 모든 기기를 탐색하고자 net.probe on을 입력하고 net.show로 확인한다. 참고로 on, off 가능하다.

.

wireshark(네트워크 트래킹 프로그램 정도)로 net.probe 과정을 트래킹 한 모습이다. kali (~~.106)에서 모든 ip에게 "who has ~~~?"하면서 전부 물어보는 것을 알 수 있다. (진짜 일일이 물어보고 있다..귀엽군)

wireshark로 net.probe 과정 살펴보는중

 

 다시 net.show 를 입력하자, 전과는 달리 여러 디바이스가 탐지된 것을 알 수 있다.

다음은 피해자PC가 될 windows hostPC의 Ip이다. (~~.108) 이고, net.probe에 의해 탐지된 것을 알 수 있다.

 

 

2. 이제 공격을 감행하자. set arp.spoof.fullduplex true를 선언하면, spoof 과정에서 공유기와 대상 PC를 동시에 공격하게 된다. Arp Spoofing의 기본 원리상 양쪽을 다 속여야 한다!

set arp.spoof.targets (공격대상IP) 를 입력하여 공격 타겟을 정해주자.

arp.spoof on 으로 공격을 시작하면 된다. "라우터가 ARP 스푸핑 메커니즘을 가지고 있으면, 공격이 실패할 것"이라고 알려준다.(KT공유기의 경우 자체적으로 ARP 스푸핑을 막는다고 한다.)

이후 net.sniff on으로 엿보기를 시작하면 된다.

성공적으로 피해자 PC의 인터넷 접속 현황이 실시간 중계되는 것을 확인할 수 있다.

windows에서 이 블로그와 네이버를 접속해본 모습

 

공격을 마친 뒤에는 sniff를  off하면 된다.

참고로 help를 입력하게 되면, 현재 어떤 모듈이 작동하고 있는지 알 수 있다.

이렇게 간단하게 MITM 공격을 실습해 보았다.

 

당연하게도 같은 공유기를 쓰는 디바이스라면  전부 탐지할 수 있기에, Windows, Linux, Mac, Android끼리 모두 상호 해킹을 시도해 보았다. 그러나 생각보다 디바이스별 차이가 있었다. 가령 Macbook의 VMWare Fusion Kali를 통해 Windows나 Android를 공격하면 접속하고자 하는 주소는 잘 spoofing되지만 피해자 디바이스의 인터넷이 매우 느려지거나 끊기는 현상이 발생했으나, Windows의 VMWare Workstation 17을 통해 동일 대상을 공격하면 전혀 문제없이 공격이 가능했다 (Kali나 Bettercap version은 Mac쪽 Kali가 앞섰다.). 그래도 공유기를 사용하는 디바이스를 해킹하고자 이것저것 많이 시도해보면서, 그리고 특히 NAT방식에서 Bridge 방식으로 전환하려고 이 부분을 공부하면서 상당히 애를 많이 먹은 만큼 네트워크쪽으로 많은 공부가 된 것 같았다. (그리고 나름 인생 처음 해킹다운 해킹을 해보았다.. 기념비적인 날이다!)

 

 

 

ps) https는 데이터가 암호화되어서 갑니다! ssl strip으로 암호화를 벗길 수 있으나 요즘은 잘 안통한다고 하네요. 실제로 spoof당한 상태에서 http인 사이트들(chrome에서도 주소창 옆에 '안전하지 않음'이라고 뜹니다)은 조금 더 취약한 모습을 확인할 수 있었습니다.