2019. 11. 27.

[네트워크] MITM 공격

참고)와이어샤크 유용한 명령어

tcp.port == 80 
http // http 프로토콜 만 출력
ip.addr == 192.168.0.1 // 특정 ip와의 통신만 출력

ARP 스푸핑
상대방 IP 주소로 접속하는 명령을 내리면 호스트는 네트워크 전체에 ARP 요청을 보내어 누가 그 IP를 가지고 있는지 물어보게 된다. 이때 요청하는 IP가 맞는 호스트가 응답해야하는데 해커가 ARP 요청을 중간에서 가로채어 응답을 하는 것이다. 그러면 해커쪽으로 접속하게 만들 수 있다.

이는 칼리리눅스에 arpspoof 프로그램으로 공격을 시연 할 수 있다.

ip forward 란 값을 1로 변경해야 한다. 
echo 1 > /proc/sys/net/ipv4/ip_forward
(지속적으로 설정되게 하려면 /edit/sysctl.conf 에서 ipv4.ip_forward =1 로 설정해야 한다. )

이 설정은 자기한테 오는 설정이 아닌 경우에 라우터처럼 트래픽을 전달해주는 설정이다. 
라우터가 요청을 받으면 ip 포워딩 하듯이 요청을 받으면 트래픽을 다른쪽으로 전달하기 위함이다. 즉 통신의 중간에 끼어들어서 중간에 거쳐가게 만들어도 다른 호스트들끼리 통신이 가능한 것이다.

arpspoof -i eth1 -t 192.168.56.107(칼리) 192.168.70.108(윈도우)
arpspoof -i eth1 -t 192.168.56.108(윈도우) 192.168.70.107 (칼리)

이렇게 되면 칼리 메타스플로잇과 윈도우 서로가 통신하는 사람이 나(칼리 리눅스) 라고 생각하기 때문에 통신이 칼리 리눅스로 들어옥 된다.


132번은 메타스플로잇의 데이터인데 131 인 칼리리눅스와 물리주소가 동일하게 설정되어 있는 것을 알 수 있다. 따라서 윈도우에서 메타 쪽으로 요청을 하게되면 그 트래픽이 칼리 리눅스로 거쳐간다.

윈도우에서 메타스플로잇터블로 접속해보면 다음과 같이 칼리에서 트래픽을 확인 할 수 있다.

메타스플로이터블/phpMyAdmin 으로 접속해서 아이디 패스워드를 입력하면 다음과 같이 post 데이터 역시 캡처 할 수 있다.



윈도우에서 메타로 접속하는 ftp 역시 다음과 같이 칼리 리눅스에서 스니핑 할 수 있다.