Packet 3

다원·2022년 12월 26일
0

3-way handshake

TCP 연결을 위한 통신

주의 할 점은 SYN 0 으로 요청을 보내면, 응답은 SYN 0, ACK 1 이여야 되고
이후 SYN 1, ACK 1 으로 두 호스트가 통신함
이후 중간에 패킷이 오가면서 순서가 벌어질 수 있음

  • Bonk, Boink 공격
    3-way handshake 과정에서 패킷 번호가 벌어지면서 연결될 경우 Bonk, Boink 공격
    정상적인 패킷인 척 시퀀스 번호를 속여서 침투하는 공격

  • 와이어 샤크에서 시퀀스번호는 임의적인 숫자(상대적인 숫자)
    실제 일련 번호를 확인 하고자 할 경우 edit > reference > protocol

    Relative sequence numbers가 확인 되어있기에 일련번호가 와이어샤크에서 정리되어 나옴

    시퀀스 번호가 변경된 것을 확인 할 수 있음

4-way handshake

TCP 연결 종료를 위한 통신

  • RESET: 연결을 갑자기 종료하거나, 연결을 거부할 때 사용
    갑작스러운 종료는 잠재적 공격자가 포트 스캔을 수행하거나, 단순히 잘못 설정된 호스트 때문에 야기 될 수 있음
  • Transmission
  • RST가 발생한 이유
    : http 80번 포트로 연결을 요청했는데 요청 받은 IP주소가 웹서버가 아님
  • challenge meta에서도 4-way handshake 방식을 사용할 수 있음
    :

2-way handshake

무선일 경우 사용하는 통신

UDP


비연결지향적 프로토콜로 빠른전송을 위해서 설계됨
3-way handshake 를 갖고 있지 않고, 전송을 위해 ping 처럼 연결 Request 와 Reply ICMP를 사용해서 안정성을 가짐
DNS 와 DHCP 와 같은 응용층 프로토콜을 사용해서 전송하면서 자첵적인 오류 점검과 재전송 타이머를 가짐
원격화상회의, 원격 진료 등에서 사용

53port: UDP 순수한 이름 풀이 TCP ZONE TRANCFER 영역전송
프라이머리 DNS 와 BACK UP DNS 서버 간의 공유 현상 발생
PUSH기법과 PULL 기법
연결되어있는 DNS
윈도우즈 서버에서 Active 디렉토리를 만들 때 DNS 설정 필수
정방향 이름풀이 /역방향 이름 풀이
정보를 공유할 땐
PUSH/ PULL: 방식을 사용
TCP 일 때는 영역 전송이라고 하고, DNS 해킹의 90 프로는 영역전송 부분임
내부의 모든 컴퓨터는 DNS 게이트웨이를 통해 외부로 접속하기 때문에
내부의 네트워크 구성을 한번에 확인 할 수 있음
UDP 이름 풀이, TCP 프로토콜은 영역전송임을 잊지 말자

DNS 서버

  • 로컬 DNS 서버

    클라이언트가 내부 DNS(동일한 네트워크)서버에 접속하여 IP 주소를 받음

  • 글로벌 DNS 서버

    클라이언트가 외부 DNS(205...)서버에 접속하여 IP 주소를 받음

  • 로컬 DNS 접속 후 글로벌 DNS 서버 접속

    내부 DNS서버로 접속하여 IP주소를 찾을려고 했으나, 내부에 해당 캐시정보를 보유하지 않음, 내부 DNS 서버가 외부 DNS 서버로부터 요청 한 후 정보를 공유 받은 후 클라이언트에게 전송
    (클라이언트가 접속하는 것이 아닌 내부 DNS 서버가 외부로 요청한 부분을 확인)
    => DNS_recursivequery

  • DNS 영역전송(ZONE Transfer)
    AXFR:전체 정보를 공유시키는 것, 누구에게나 DNS정보를 주었으나, 현재는 보안상 영역전송을 받을 수 있는 클라이언트나 DNS 서버를 별도로 지정해서 보안 증진

  • push: 몇 건이 변경이 있으면 바로 영역 전송
  • pull: 일정 시간이 되면 영역 전송
    IXFR:변경된 일부만 공유시키는 방식
  • AXFR

인터넷 제어 메시지 ICMP

PING과 TRACERT가 대표적
타겟 호스트의 alive/dead 상태를 진단할 때 먼저 icmp 사용
∎ ICMP 오류 메세지(Error Reporting Message)
패킷이 루프를 돌거나, 과밀 발생, 타이머 값이 너무 낮게 설정된 경우

  • 목적지 도달 불가(Destination Unreachable) : Type 3
    . Network Unreachable : Code 0
    . Host Unreachable : Code 1
    . Protocol Unreachable : Code 2
    . Port Unreachable : Code 3
  • 발신 억제(Source Quench) : Type 4(표준에서 제외됨)
  • 재지정(Redirect) : Type 5
  • 시간 초과(Time Exceeded) : Type 11
  • 매개변수 문제(Parameter Problem) : Type 12
    ∎ ICMP 정보 메시지(Informational Message) / 질의 메시지(Query Message)
    . 호스트 간에 연결성 검사 확인(Ping 명령어 등)
    ->에코 응답(Echo Reply) : Type 0 =>hello packet(‘Hi’)
    ->에코 요청(Echo Request) : Type 8 =>hello packet(‘Hi’)
    ->라우터 알림(Router Advertisement) : Type 9
    ->라우터 요청(Router Solicitation) : Type 10 등으로 분류
    실제 데이터 전송이 아닌 확인을 위한 시그널을 heart beat라고 함
    참고로 프로토콜이 숫자로 표시될 수 있는데
    ICMP(1), IP(4), TCP(6), UDP(17), IPv6(41) 등

    data는 32바이트를 기본 전송 값
    padding이 위험할 수 있는 이유: 버퍼 오버 플로우 공격을 이를 킬 수 있음
    버퍼 오버 플로우 공격:
    메모리가 32바이트보다 많은 데이터의 양으로 system 부분을 침범하여 command(명령어)가 실행되게 함


Time=to=live exceeded 할 때 응답 주소가 지속적으로 바뀌는데,
이는 클라이언트와 서버 사이의 라우터를 지나가는 것을 확인 할 수 있음
라우터인 이유: TTL 증가로 알 수 있음
TTL이 증가하다 9번째 지나갈 때 reply 받음

DHCP

src:0.0.0.0 네트워크 설정도 안된 클라이언트, MAC주소를 찾기 위해 브로드캐스트를 DHCP하여 DHCP 서버를 찾는 것, DHCP 서버가 192.168.0.1
src 에게 192.168.0.10의 IP 주소를 제공, 이후 ACK 응답

  • BOOTSTRAP
    관리자가 수동으로 설정해 줄 것: 호스트 네임, 작업 그룹

Lease Time

profile
공부일지,

0개의 댓글

관련 채용 정보