개발/보안

ARP Spoofing

SiJun-Park 2024. 10. 2. 01:07

환경은 토폴로지와 같이 설정을 해줍니다.

사전 준비사항으로는 동일한 네트워크 대역에서 진행을 하여야 하기 때문에 가상 OS 네트워크

설정에서 어댑터에 브리즈로 변경을 해주었습니다.

OS 2개가 동일한 네트워크 대역으로 설정이 되었습니다.

희생자 pc에서 arp-a를 검색해 게이트 웨이 IP에 해당하는 MAC주소를 확인 해줍니다.(70-5d-cc92-3a-d0)

공격자 pc에서 arpspoof를 사용해서 희생자 pc를 공격 합니다.

이때 옵션으로는 -I 네트워크인터페이스(eth0) -t target ip(192.168.0.55) sender ip(192.168.0.1)로 설 정을 해주었습니다.

희생자 pc에서 arp 테이블을 조회해서 mac주소가 변경이 됐는지 확인해본 결과 바뀐 것이 확인

이 가능 합니다(70-5d-cc-92-3a-d0 -> 08-00-27-c7-e1-36)

그 다음에 공격자 pc에서 희생자 패킷을 라우팅을 하기 위해서 fragrouter를 설치 후

공격자 pc에서 fragrouter를 실행하여 희생자 pc로 받은 패킷을 게이트웨이로 전송을 합니다.

●Fragrouter 사용하는 이유는

사용하지 않는다면 희생자는 패킷이 게이트웨이를 나가지 못해서 외부와 통신이 불가능하기 때문

입니다.

그 다음으로는 공격자 pc에서 패킷 스니핑을 위해 wireshark를 실행해주고

희생자 pc에서는 웹서버(168.188.129.161)로 접속을 한 후 로그인을 시도해줍니다

공격자 pc에서 캡처한 패킷을 분석을 하는데, 필터링으로 ip addr이 168.188.129.161인걸로 필터 를 해줍니다.

HTTP stream을 조회를 해줍니다

그러면 희생자가 입력한 ID, PASSWD가 조회가 가능합니다.

●실습에서 진행한 공격에 미흡한점

실습을 통해서 직접 분석을 해보니 여러 가지 패킷이 많고, HTTP stream을 조회를 하여도 안되는

경우가 있었습니다. 방화벽을 종료하거나, 크롬에서 edge로 바꾸었더니 HTTP stream을 조회 하였

을 때 ID와 PASSWD가 확인이 가능한 것을 보아, 특정 환경에서는 안보이는 것 같습니다. 그리고

공격자 pc에서 스니핑하여 패킷 조회할 때 암호화가 된 상태면 확인이 어렵습니다.

●ARP spoofing과 패킷 sniffing에 대한 개인적인 의견

Packet sniffing은 데이터 패킷을 가로채어 엿보고, 개인 정보 등을 탈취를 하는 소극적인 방법인

것 같지만 ARP spoofing 같은 경우는 다른 컴퓨터의 MAC 주소를 위조하는 공격 방법으로 중간

자가 통신을 가로채고 조작이 가능하고 데이터를 탈취하거나 변조를 할 수 있는 좀 더 넓은 공격

범위를 가지고 있는 것 같습니다. 그래서 ARP spoofing은 통신을 가로채고, 조작하는 데에 중점을

둔 것 같고, Packet sniffing은 네트워크 상의 모든 패킷을 감청하고, 분석하는 데 사용되는 차이가

있는 것 같습니다