[실습1] 패킷 분석을 통해 어떤 프로토콜 패킷인지 확인해 보자.(작업 시간: 5분)
분석 파일 : lawcode.txt
어떤 종류의 패킷인가? ping test
어떤 프로토콜 패킷인가? ICMP
이더넷 헤더 부분:
목적지 맥 어드레스 소스 맥어드레스 타입 IP
0000 00 50 56 e5 d1 c2 00 0c 29 50 9a f6 08 00 45 00 .PV.....)P....E. 0010 00 54 de 49 40 00 40 01 aa 05 c0 a8 0a 32 a8 7e .T.I@.@......2.~ 0020 3f 01 08 00 13 b9 2c e9 00 05 0b 2f 4c 56 6f d0 ?.....,..../LVo. 0030 05 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 ................ 0040 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 .......... !"#$% 0050 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 &'()*+,-./012345 0060 36 37 67
|
[실습2] 공격 패킷에 대해서 분석하여 보자.(작업 시간 10분)
분석파일 : attack1.pcap
----------------------------------------------
출발지 IP : 192.168.3.181 ~
출발지 Port : 1081, 1080
목적지 IP : 192.168.1.15
목적지 Port : 80
----------------------------------------------
출발지 IP는 계속 변화하는가 항상 일정한가? -> 출발지 IP는 계속 변화한다.
출발지 Port는 계속 변화하는가 항상 일정한가? -> 출발지 IP는 계속 변화한다.
목적지 IP는 계속 변화하는가 항상 일정한가? -> 목적지 IP는 192.168.1.15로 항상 일정하다.
목적지 Port는 계속 변화하는가 항상 일정한가? -> 목적지 Port는 80으로 항상 일정하다.
공격 패킷의 특성은?
-> 하나의 목적지에 1080번과 1081번 포트로 IP주소를 변화하면서 계속 SYN패킷을 보내는 것을 볼 수 있다.
결론적으로 어떤 공격이라고 판단할 수 있는가?
-> Syn flood attack으로 판단할 수 있다.
TCP 연결에서의 3 way handshake를 이용하여 연결 요청을 무수히 반복함으로써
Target PC에 대한 TCP connection 수를 꽉 채우는 것으로 TCP 통신을 마비시키는 공격
이런 패킷을 방어 하는 방법은?
-> 1. 백로그 큐를 늘려준다.
2. syncookies 기능을 켠다.
3. 기타 시스템의 네트워크 설정을 최적화한다.
(참고) http://agz.es/Network/TCP%20SYN_Flooding.pdf
[실습3] 공격 패킷에 대해서 분석하여 보자.(작업시간 10분)
분석파일 : attacker2.pcap
-> 3-Way Handshaking이 일어난 것을 보아 SYN을 보낸 172.16.0.131이 출발지IP인 것을 알 수 있다.
----------------------------------------------
출발지 IP : 172.16.0.131
출발지 Port : 43712
목적지 IP : 198.2.192.204
목적지 Port : 22
----------------------------------------------
출발지 IP는 계속 변화하는가 항상 일정한가? -> 출발지 IP는 172.16.0.131로 항상 일정하다.
출발지 Port는 계속 변화하는가 항상 일정한가? -> 출발지 Port는 43712로 항상 일정하다.
목적지 IP는 계속 변화하는가 항상 일정한가? -> 목적지 IP는 198.2.192.204로 항상 일정하다.
목적지 Port는 계속 변화하는가 항상 일정한가? -> 목적지 Port는 22번으로 항상 일정하다.
공격 패킷의 특성은?
-> 3-Way Handshaking이 일어난 후 출발지IP에서 계속 ACK를 보내는 것을 볼 수 있다.
결론적으로 어떤 공격이라고 판단할 수 있는가?
-> TCP ACK Flooding
다량의 TCP ACK Flooding이 발생하면서 Network Performance에 악영향을 끼쳐 시스템이 정지한다.
이런 패킷을 방어 하는 방법은?
1. 관리자는 공격한 클라이언트를 집중적으로 관찰하여 접근을 통제한다.
2. 방화벽과 라우터에서 유입되는 패킷을 필터링한다.
[실습4] 공격 패킷에 대해서 분석하여 보자.(작업시간 10분)
분석파일 : attacker3.pcap
----------------------------------------------
출발지 IP : 192.168.10.1
출발지 Port : 137
목적지 IP : 192.168.10.255
목적지 Port : 137
----------------------------------------------
출발지 IP는 계속 변화하는가 항상 일정한가? -> 출발지 IP는 192.168.10.1로 항상 일정하다.
목적지 IP는 계속 변화하는가 항상 일정한가?
-> 목적지 IP는 192.168.10.255로 항상 일정하다.
출발지 Port는 계속 변화하는가 항상 일정한가?
목적지 Port는 계속 변화하는가 항상 일정한가?
-> NBNS프로토콜에서 출발지 Port와 목적지 Port는 137로 항상 일정하다.
-> LLMNR프로토콜에서 출발지 Port와 목적지 Port는 계속 변화한다.
공격 패킷의 특성은?
공격자가 192.168.20.50 으로 생각
Target인 192.168.20.201의 80번 포트에 UDP프로토콜로 패킷을 보냄
결론적으로 어떤 공격이라고 판단할 수 있는가?
Target의 HTTP 포트(Welknown Port) 에 고의적으로 UDP패킷을 보냄
Target에서 ICMP를 만들어 주는 데 리소스를 자꾸 할당시킴
이런 패킷을 방어 하는 방법은?
Target에서 ICMP패킷을 만들어주지 않고 무시하도록 함
[실습5] 공격 패킷에 대해서 분석하여 보자.(작업시간 30분)
분석파일 : attacker4.pcap
----------------------------------------------
출발지 IP : 192.168.20.50
출발지 Port : 60878~
목적지 IP : 192.168.20.201
목적지 Port : 80
----------------------------------------------
출발지 IP는 계속 변화하는가 항상 일정한가? --> 192.168.20.50으로 일정하다
출발지 Port는 계속 변화하는가 항상 일정한가? --> 계속 변화한다.
목적지 IP는 계속 변화하는가 항상 일정한가? --> 192.168.20.201로 일정하다
목적지 Port는 계속 변화하는가 항상 일정한가? --> 80포트로 일정하다.
공격 패킷의 특성은?
-> 3-Way HandShaking이 성공했음에도 계속적으로 SYN을 보낸다.
격자 50이 Target 201로 HTTP 연결을 한 번에 많이 요청함
결론적으로 어떤 공격이라고 판단할 수 있는가?
실습 1에서와 비슷하게 HTTP연결 요청을 무수히 요청하여 Target서비스에 HTTP연결 수 포화 등의 과부하를 일으키는 공격
이런 패킷을 방어 하는 방법은?
HTTP연결 요청이 일정시간 내에 같은 IP로 많이 들어올 시 block하는 방법
[참고] wireshark 분석 통해 .pcap 파일을 분석하는 절차에 대해서
보고자에 의해서 보내진 파일을 분석하는 경우에는 다음과 같은 절차를 통해 분석 과정을 진행한다.
① 대략적인 Packet Flow 을 분석한다.
② Statistics > Comments Summary
③ Statistics > Protocol Hierarchy
④ Statistics > Conversation
⑤ Statistics > Conversation List > TCP (IPv4 & IPv6)
⑥ Statistics > Endpoint List > TCP (IPv4 & IPv6)
⑦ Statistics > Flow Graph ....
⑧ Display Filter(EX: ip.dst == IP) 규칙을 정하고 입력한다.
⑨ 다시 통계 정보를 확인 하는 절차를 거친다.
[참고] SSH 키 교환 절차에 대해서
-------------------------------------
Encrypted request packet len=41
Encrypted response packet len=39
Client: Key Exchange Init
Server: Key Exchange Init
Client: Diffie-Hellman Key Exchange Init
Server: New Keys
Client: New Keys
Encrypted request packet len=48
Encrypted response packet len=48
-------------------------------------
Simple example mutual authentication sequence
====================================================================
Server sends a unique challenge value sc to the client
Client generates unique challenge value cc
Client computes cr = hash(cc + sc + secret)
Client sends cr and cc to the server
Server calculates the expected value of cr and ensures the client responded correctly
Server computes sr = hash(sc + cc + secret)
Server sends sr
Client calculates the expected value of sr and ensures the server responded correctly
======================================================
where
sc is the server generated challenge
cc is the client generated challenge
cr is the client response
sr is the server response
'Learning > └◆Network Hacking' 카테고리의 다른 글
이더넷 프레임 구조확인 (0) | 2016.12.20 |
---|---|
MAC 주소(CID) 검색하기 (0) | 2016.12.20 |
TCP/IP 이해 (0) | 2016.12.19 |
네트워크 기초 복습 (0) | 2016.12.19 |