2024. 1. 28. 15:34ㆍInformation Security 정보보안/Network Security 네트워크 보안
배울 내용:
ARP Spoofing
ARP 스푸핑 공격
패킷 Forwarding
패킷 포워딩
fragrouter -B1
arpspoof
MITM 공격
중간자 공격
MAC 주소 변경
웹페이지 파싱공격
네트워크 공격
네트워킹 해킹
이번시간에는 ARP Spoofing (ARP 스푸핑을 공부할것이다)
Spoofing 에도 여러 종류가 있는데
대표적으로 4개의 스푸핑이 있다
1)IP spoofing
2)DNS Spoofing
3)ARP Spoofing
4)mail Spoofing
IP 나 DNS 는 아래의 링크에서 공부했다
https://sarimus.tistory.com/56
이번시간에는
ARP Spoofing
을 볼것인다
ARP Request(요청) 는 , IP 주소와 실제 네트워크 장치의 MAC 주소를 매핑하는 데 사용된다
여기에서 허점을 이용해서 MITM 공격을 한다
그럼 허점이 무엇일까?
허점이라고 하기에도 애매하다
MAC 에는 2가지의 방식의 주소가 있다
1, Dynamic 방식
2, Static 방식
이중 동적으로 설정으로 된방식에서 허점이 드러나는데
IP 주소도 DHCP로 동적으로 할당방식이 있는데
Dynamic IP 방식이 리부팅하면 바뀔수가 있는데
만약에 다른사람이 그 ip 를 들고있으면 Dynamic 방식으로
다른 IP 로 바뀔수가 있다
(원래는 Cache가 잡고있으면 기존 IP 로 하지만 그게 아닐경우 바뀔가능성있음)
이러한 방식으로 ARP 도
Dynamic 방식때문에 MAC Address 를 공격자가 변조할수있다
(Static은 고정이기 때문에 공격불가)
그래서 ARP Spoofing 을 방어하려면
Static 으로 바꿔주면 된다.
중간자 공격
위와 같은 공격을 MITM 공격이라고도 한다
공격자의 MAC주소를 Gateway 에다 변조해주면 위와 같이 공격자가
공격대상자에게도 드나드는 것들을 Sniffing 할수있다
(공격자 자신이 Gateway 인것처럼 속여서 기존 Gateway 와 공격자에게 보내진다)
스니핑(Sniffing)은 네트워크 상에서 데이터를 가로채어 읽거나 모니터링하는 행위를 나타냅니다.
누가 ARP Spoofing 이 뭐냐고물으면
로컬네트워크(LAN)에서 사용하는 ARP프로토콜의 허점을 이용하여 자신의 MAC주소를
다른 사용자의 MAC주소 인 것 처럼 속이는 공격
이라고 볼수있다
필자는 이제 허점이 뭐냐고 누군가 물었을때도
잘 대답할수 있을 것이라 믿어 의심치 않는다
조금더 자세히 과정을 보자
이 ARP 스푸핑 공격은 ARP Redirect 공격이라고도 불리는데
공격자의 MAC 을 보면 맨위에 A 인걸알수있다
그런데 PC A 와 PC B 의 ARP Cache 에다가 공격자의 MAC 을 쓰는것이다
그러다보니 MAC 주소가 A 로 바꾸고 (공격자와 같아짐)
PC B 가 PC A 에 Frame을 전송했을때도 공격자의 MAC 같기떄문에
공격자에게도 정보가 전송이 되게 된다
[ ARP Spoofing Attack ]
ARP Table 확인
# arp -a (windows)
(여기에 정적으로 되어있는게 multicast -> D class(224~239)
E class 240~255 , ff-ff-ff-ff-ff-ff는 broadcast )
Kali 에서 Ping 192.168.10.100(window IP) 한뒤에
윈도우에서 arp -a 하면
이래와 같이 보이는걸 볼수있다
윈도우의 MAC 을 보려면
ipconfig /all 로 하면된다
그러면 71-33 으로 끝나는 MAC 이 보이고
DNS 서버도 8.8.8.8 에
ip정보까지 다나오는걸 볼수있다
ARP Spoofing 공격
Kali에서 arpspoof 해서 설치해주고
아래와 같이 명령어를 칠수있다
# arpspoof -i eth0 -t 192.168.10.243 192.168.10.2(kali)
이렇게 입력한것이랑 같다 (-i eth0 은 default 값)
window arp -a 해보면 게이트웨이 MAC이 kali MAC이랑 동일한걸볼수잇음
A의 컴터 MAC을 공격자의 MAC으로 변조함 (linux도 같은방법으로가능)
그전에 먼저 Kali의 ifconfig 로 MAC 주소를 확인한뒤에
맨뒤에가 be:f4 인걸알수있다
기존의 Window 의 DNS 는 42 39 로 끝나는데
arpspoof -t 192.168.10.200 192.168.10.2
로 한뒤에 확인해보면
아래처럼 이렇게 계속 보낸다
그러면 아래처럼
공격 전과 공격후에 window의 DNS 가 공격자의 MAC 주소 바뀐걸 볼수있다
arp 공격이성공하면 2차로 sniffing , DNS 공격이가능
그러나 sniffing은 arp공격안해도 sniffing 가능 ,(DNS는 arp성공해야함)
이렇게 공격이 되면
MAC 충돌되면 충돌되는 것들이 영향을받는데 , 이떄 인터넷 사용하면 안된다
(Dos공격이라고 볼수도있음 )
그러면 공격 대상자가 이를 알아차릴수있다
그러나 이걸 못알아차리게 인터넷을 연결 해주자
IP Forwarding (패킷 재전송)
Kali 에서 프롬프트 창을 하나 더열어서 아래처럼 입력해주면 위와 같이 IP forwarding 하는걸 볼수있다
(아까 arpspoof 계속켜논상태에서해야함)
#fragrouter -B1
그러면
(2번하는중에 쓰면 인터넷은 연결하게됨(그러나 느림))
이렇게 조금 느리지만 연결이 되는걸 볼수있다
이러면 공격대상자는 본인이 공격을 당하고 있는지도 인식 못한다
[ DNS Spoofing Attack ]
(!! ARP Spoofing 이 된상태에서 사용가능 !! )
도메인을 이용해서 가짜 사이트로 유인하는 피싱,파싱을 하는 것이다
http://www.google.com
DNS Cache를 먼저 찾아가서 접속기록있는지 보고 없으면 그다음
c:\\windows\system32\drivers\etc\hosts 여기에서 찾는다
(Cache 가 없다고 칠때 ( 접속기록이 없을때) )
먼저 Kali 에서 service apache2 restart 해준다
그다음에 c:\\windows\system32\drivers\etc\hosts 이경로에서
hosts 를 관리자 권한으로 txt 로 열어본다
그리고 아래와 같이 추가해준다
192.168.10.100 ( Kali 주소) (탭) www.google.com 으로 저장하고
window에 dns 기록을 삭제해준다
ipconfig /flushdns 로 플로시 해줄수있다
그리고 기존에 웹페이지에 구글 접속 기록 없애준뒤에
접속을 시도해보면
우리가 알던 google.com 이 아닌 apache2 Debian 이 뜨는걸 볼수있다
이는 아까 service start apache2 로 Apache 서버를 만들어 줬기때문에 이런창이
들어왔다
다음시간에는 이를 이용해서 진짜 google 처럼 꾸며놓은뒤에 ID 와 PW 를 파싱하는걸 해볼것이다
(여기까지 실행할때 기존의 arpspoof , fragrouter -B1 이 실행되있는상태 이여야한다)
요약
arpspoof , fragrouter -B1 실행후
c:\\windows\system32\drivers\etc\hosts -> (관리자권한 실행후 ) 공격자 ip주소 http://www.google.com
그뒤 ipconfig /flushdns 한뒤에 쿠키삭제하고 하면 됨.
그럼 20000 ~