1. 간단한 이론
실습환경 구성 - 메모리는 8G 이상
2. 네트워크 공격
- 정보수집 : 포트스캔
- dos, ddos 공격 실습
3. 공격에 대한 탐지/방어시스템 구축
4. 네트워크 포렌식
- 네트워크 패킷 분석 = 악성코드 추출, 통신경로 추적
TCP/ IP
TCP: 4계층(전송 계층)- 포트번호
IP : 3계층(네트워크 계층)
ex) 31.45.76.34 IP와 통신을 하고싶다.
IP/port 번호가 있어야 내가 원하는 프로그램과 통신 가능
A : 10.10.10.1/24
B : 10.10.10.3/24
C : 10.10.10.200/26
10.
01111111
255.1.1.2
2^8 = 0 ~ 255
192.168.0.10/ 24
192.168.0.10 255.255.255.0
IP주소 = 네트워크주소(ID) + 호스트주소(ID)
네트워크 주소 = IP주소의 첫번째 부터 몇번째의 비트까지
192.168.0.10
11000000.10101000.00000000.00001010
111111111111111111111111
192.168.10.1 = 라우터(방화벽)
192.168.10.2~254 / 24(255.255.255.0)
네트워크 ID(192.168.10.0)은 192.168.10.1~255사이의 호스트ID를 가질 수 있다.
아파트 : 10개 동이 있고, 각 동은 10층이다.
너 몇동 몇호 사니?
너 몇호 사니?
1개 동에는 40가구(101호 1004)
10개의 동이 있으므로 1004호도 10개가 있다.
아파트 단지를 전체 네트워크로 가정(스위치 장비)
동을 네트워크ID
호를 호스트ID
===================================
회사 전체 네트워크는 백본스위치에 연결 되어있고
부서별로 네트워크를 구분해서 쓴다.
인사부 네트워크 = 192.168.1.0/24
호스트(PC, 서버) = 192.168.1.1~255(총 255대)
회계부 네트워크 = 192.168.2.0/24
호스트(PC, 서버) = 192.168.2.1~255(총 255대)
통신불가. 네트워크ID가 다르기 때문에 라우터(라우팅) 필요
인사부 PC에서 다음 명령어를 입력 : ping 192.168.2.10
스위치 - 수많은 네트워크가 있고 그 네트워크에 속한 호스트(PC, 서버)
192.168.10.1/24 = 최대 255대의 장비가 하나의 네트워크 상에 소속되며 자유롭게 통신 가능
192.168.10.1/16 = 최대 65536대의 PC(서버)가 하나의 네트워크 상에서 자유롭게 통신 가능
네트워크ID = 192.168.0.0
호스트ID = 192.168.0.1 ~ 192.168.255.255
최대 100대의 장비만 사용 가능한 네트워크를 구성하고 싶다. 서브넷 비트를 25개로 부여(255.255.255.128)
255 = 2^8
128 = 2^7
64 = 2^6
192.168.0.1/25
11111111.1111111.1111111.1=2^25=> 네트워크 주소
= 2^7 =>호스트 주소
10.20.1.10
A : 00000000 ~ 01111111.= 0 ~ 127 / 8
호스트ID가 최대 2^24개 할당할 수 있는 네트워크
B : 10000000 ~ 10111111 = 128 ~ 191 / 16
호스트ID가 최대 2^16개 할당할 수 있는 네트워크
C : 11000000 ~ 11011111 = 192 ~ 223 / 24
호스트ID가 최대 255개 할당할 수 있는 네트워크
인터넷이 처음 등장했을때는 ABC클래스 개념을 사용하여 통신했으나, 지금은 사용하지 않는다.
만약에 300명이 동시에 사용해야 되는 네트워크 를 구축하려면 ? B클래스 대역을 사용해야 함.
ex) 150.100.0.0/16 300명이 사용할 수 있는 네트워크를 구성하면 되는데 불필요하게 65535개의 호스트가 통신이 가능한 거대한 네트워크를 구성해야 된다.
즉 한정된 네트워크 주소의 낭비가 발생한다.
외워야하는 포트번호
20번대
53,80,123,139,443
외워야한다.
지금까지 했던 통신 = 유니캐스트(unicast)
유니 = 단일
옆사람이랑 통신할때 IP = 무조건 1:1 통신이 기본
브로드캐스트(broadcast) = 방송 = 1:N 통신
네트워크ID에는 수많은 호스트(PC, 서버)가 소속됨
모든 호스트에게 한번에 데이터를 전달하고 싶다.
네트워크ID(192.168.0.0/24)에 속한 모든 호스트에게 데이터를 전달하고 싶다. 목적지 주소를 어떻게 설정해야 할까?
네트워크ID에 속한 호스트의 가장 마지막 주소로 데이터를 보내면 된다. 즉 목적지 주소를 192.168.0.255로 하면
192.168.0.1~254 사이의 모든 호스트가 데이터를 받게 됨.
내 아이피를 192.168.0.255/24로 지정 불가
172.20.100.52/26
네트워크 ID는? = 172.20.100.0/26
172.20.100.00110100
위 네트워크에서 사용가능한 호스트의 개수는? 2^6=64개의 IP를 할당 가능
디스플레이 필터에서
출발지 또는 목적지가 구글미팅 서버(142.250.82.120)인 것은 제외
출발지 IP 가 142.250.82.120이고
목적지 IP 가 142.250.82.120인 것을
차단
ip.src != 142.250.82.120 and ip.dst != 142.250.82.120
567 : 데이터
4 : 전송계층 = 포트번호, 제어 플래그
TCP = 신뢰성 있는 1:1 통신
UDP = 브로드캐스트 , 1:N 통신, 192.168.0.255
3 : 네트워크 계층 = IP, fragmentation ID
(파편화 된 패킷의 조립 순서)
2 : 데이터링크 계층 = mac
udp flooding = 1대의 PC에서 출발지 IP와 port를 랜덤으로 생성하여 목적지(192.168.100.50, 80port)서버에 udp 패킷을 전송
동일한 출발지에서 초당 패킷이 10000개 이상 발생시, 네트워크 공격 시도로 판단하여, 출발지 IP 차단
nslookup
set type=ANY
www.google.co.kr
DNS요청/응답은 UDP(53) 통신이다. 하지만
응답값이 512byte를 초과하면 TCP로 응답을 보낸다.
slowloris
모든 요청(패킷)은 시작과 끝을 구분하는 시그니처가 존재
A) B야! 이것 좀 부
B) ??????
정상적인 GET 요청은 항상 요청의 끝을 뜻하는 시그니처
(0d 0a 0d 0a)가 존재한다.
하지만 샘플파일은 0d 0a 가 1번만 존재한다. 따라서 서버는 GET요청이 종료되지 않은것으로 판단하여, 클라이언트의 마지막 요청인 0d 0a가 한번 더 올 것을 무한히 기다리는 상태
slow read dos
서버에 접속 후 초기 네트워크 상황이 변동될 수 있다
(500Mbps -> 1Mbps)
TCP접속은 window size 헤더를 통해 데이터를 보내고 받는 속도(크기)를 동적으로 조절
'공격기법 및 탐지' 카테고리의 다른 글
tcp half open scan (0) | 2021.01.04 |
---|---|
tcp syn(full. open. connect) scan (0) | 2021.01.04 |
네트워크 해킹 dos기법 (0) | 2020.11.30 |
네트워크 arp 스푸핑 (0) | 2020.11.30 |
네트워크 dns 스푸핑 (0) | 2020.11.30 |