본문 바로가기

보안 프로젝트

공공 와이파이에서 칼리 리눅스(Kali Linux)에서 ARP Spoofing 공격 구현

반응형

이번 시나리오는 공공장소에서의 와이파이(공유기)를 이용한 해킹법을 소개하겠습니다.

 

1. 가상의 상황을 모방한 테스트 환경 구축

1) 와이파이 연결

일단 칼리 리눅스와 공격할 대상인 윈도우 pc를 같은 와이파이에 연결합니다.

저같은 경우 현재 맥북에서 칼리 리눅스를 사용하는데

맥북에서 arp -a 명령어를 수행하면

xxx.xxx.xxx.xxx와 같은 형식으로 현재 공유기에 연결되어 있는 기기들의 ip주소들이 나오게 됩니다.

여기서 중요한점은 

xxx.xxx.xxx.1 이 있는데 이는 라우터 주소입니다.

여기서 라우터란 라우터는 한 개 이상의 근거리 통신망(LAN) 간에 데이터를 전달하는 게이트웨이입니다.

결론적으로 라우터 주소를 공유기 주소로 생각하시면 쉽게 이해하실 수 있습니다.

 

또한 en0이라는 정보가 나오게 됩니다.

이는 이더넷으로 추후 다룰 interface 카테고리에 포함됩니다.

이더넷은 하드웨어와 소프트웨어를 함께 사용하여 LAN(근거리 통신망)을 구축하기 위해 장치를 연결하는 네트워킹 기술입니다.

이더넷의 작동원리는 다양하지만 우리가 초점을 맞춰야 하는 것은 MAC주소 입니다.

 

일단 MAC 주소란 네트워크 세그먼트 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자입니다.

MAC주소는 ip주소와 다르게 각각의 랜카드가 가지는 고유한 주소입니다.

 

이더넷에서의 경우 장치에서 데이터 패킷을 수신하면 대상 MAC 주소가 자체 MAC 주소와 일치하는지 확인합니다. MAC 주소가 일치하면 데이터 패킷을 허용하고 데이터를 가져옵니다. MAC 주소가 일치하지 않을 경우 데이터 패킷은 거부됩니다.

이러한 특징을 이용하여 ARP Spoofing을 구현하게 됩니다.

 

이제 우리는 위에 있는 다양한 주소들중 xxx.xxx.xxx.106을 공격해보겠습니다. 

이는 저의 윈도우 pc로 제가 임의로 선택한 피해자 pc입니다.

 

피해자 pc인 윈도우에서 ipconfig를 이용하여 확인해 보시면 맥에서 수집한 정보와 일치하는 것을 알 수 있습니다.

 

2. ARP Spoofing 구현

이제부터는 본격적인 구현을 해볼 차례입니다.

구현에 앞서 방식을 ARP Spoofing 공격 방식을 설명드리겠습니다.

 

1) ARP Spoofing 원리

가정)

kali -> kali linux(공격자 pc)

window -> window (피해자 pc)

router -> 라우터(공유기)

 

공유기는 MAC주소를 이용하여 각 컴퓨터에게 데이터 패킷을 보내게 됩니다.

window가 인터넷을 사용하기 위해 r에 패킷을 보내게 됩니다.

이때, kali가 router인척 해서 window가 kali에게 패킷을 보내 정보를 습득하고

kali가 해당 패킷을 router에게 보내 중간에서 정보를 탈취해오는 원리입니다.

 

2) ARP Spoofing 구현

우선 kali linux에서 fragrouter를 이용해 sniffing을 해줄 겁니다.

 

 

kali linux에서 커맨드로 sudo fragrouter -B1을 입력합니다.

 

 

 

다음에는 kali linux에서 새로운 터미널을 열고

 

sudo arpspoof -i [인터페이스] -t [피해자 ip] [게이트웨이]  라는 커맨드를 입력해줍니다.

위와 같은 방식으로 window pc에게 kali 가 라우터인척 속일 수 있습니다.

 

이 다음에는 

sudo arpspoof -i [인터페이스] -t [게이트웨이] [피해자 ip]  라는 커맨드를 입력해줍니다.

위와 같은 방식으로 라우터에게 kali가 linux pc인척 속일 수 있습니다.

 

이제 연결은 끝났습니다.

정상적으로 연결이 끝났다면 window의 MAC주소가 kali의 MAC주소로 바뀌어 있음을 확인하실 수 있습니다.

 

허나 연결을 해줬다면 이제 우리는 데이터 패킷을 탈취해와야 합니다.

 

3. wireshark를 이용한 데이터 패킷 분석

우선 kali linux에서 wireshark를 켜줍니다.

여기서 우리는 인터페이스로 en0을 사용했으므로 en0을 선택해줍니다.

 

선택을하게 되면 아래의 사진처럼 피해자 pc의 패킷을 뜯어 볼 수 있게 됩니다.

 

wireshark를 통해 피해자 pc의 인터넷 사용 기록을 뒤져볼 수 있게 됩니다.

이후 여기서 apply a display filter라 써져 있는 부분에 http를 입력하여 http 관련 프로토콜만 볼 수있게 필터링하고

edit에서 packet 검색을 String을 선택하여 POST하게 된다면,

보안에 취약한 웹사이트의 경우 아이디와 비밀번호 패킷을 얻어 올 수 있습니다.

 

4. 주의사항

1.  무선 랜카드

저의 경우 Mac에서 VMWare를 통해 Kali Linux를 사용했는데 이 경우 무선 랜카드를 kali에 연결을 해줘야만

윈도우의 MAC주소를 kali의 MAC주소로 정상적으로 바꿀 수 있습니다.

 

2. 인터넷 속도

spoofing을 당한 윈도우pc의 경우 인터넷 속도가 급격히 느려짐을 알 수 있게 됩니다.

ARP Spoofing의 당연한 현상으로 평소에 공유 와이파이를 사용하던 중 급격한 속도 느려짐을 느끼게 된다면

해당 와이파이의 사용을 중지할 필요가 있습니다.

 

3. 보안대책

우선적으로 공유 와이파이를 안사용하는게 좋습니다만

위에서 말한 급격한 속도 느려짐이 느껴지면 

cmd 혹은 terminal에서 arp -a명령어를 통해 동일한 MAC주소가 2개 있으면 의심해보시면 됩니다.

 

만약 공격받고 있다면 중간에 해당 와이파이 연결을 해제하는 것만으로도 공격을 중단시킬 수 있습니다.

 

 

반응형

'보안 프로젝트' 카테고리의 다른 글

리버스 쉘을 이용한 악성메일 구현  (0) 2024.05.02