Tiny Bunny

Rookies/시스템, 네트워크 보안 기술

[SK shieldus Rookies 19기] 08 - Scapy를 이용한 3-Way Handshking

bento 2024. 4. 24. 15:04
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

 


01. Scapy 사

kali에서 scapy 실행

ip 헤더 정보 출력

src = kali 가상머신의 ip 주소

dst = bee.box 가상머신의 ip 주소

 

임의 포트 설정(랜덤)

 

ip주소 변경

src = kali 가상머신의 ip 주소

dst = bee.box 가상머신의 ip 주소

tcp 세그먼트에 ip헤더를 붙여 SYN 패킷을 생성

 

sr1 

패킷을 보내고 첫 번째 응답이 올때까지 대기

 

 

 

02. VScode 활용

https://code.visualstudio.com/docs/setup/linux

 

Running Visual Studio Code on Linux

Get Visual Studio Code up and running on Linux.

code.visualstudio.com

문서 참조해서 순서대로 설치 (kali)

 

파이썬으로 구현해보자

from scapy.all import * 

# tcp = TCP()
# tcp.sport = RnadNum(1024, 65535)
# tcp.dport = "80"
# tcp.flags = "S"
tcp = TCP(sport=RandNum(1024, 65535), dport=80, flags='S')


# ip = IP()
# ip.src = "192.168.73.128"
# ip.dst = "192.168.45.13"
ip = IP(src="192.168.73.128", dst="192.168.45.13")

syn = ip / tcp 

syn_ack = sr1(syn)

ack = ip / TCP(sport=syn_ack[TCP].dport, dport=syn_ack[TCP].sport, flags="A", seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq+1)

send(ack)

 

03. Wireshark 활용

여기서 RST는?

 

이상한 패킷 → 운영체제 쪽에서 리셋

현재 연결을 종료하고 다시 시도해라~..

참고는 여기 

https://0xbharath.github.io/art-of-packet-crafting-with-scapy/network_recon/service_discovery/index.html

 

Service discovery - The Art of Packet Crafting with Scapy!

Service discovery(Port Scanning) TCP Three way handshake Three-way handshake captured using tcpdump 192.168.56.1.35555 > 192.168.56.102.4444: Flags [S] seq=12345 192.168.56.102.4444 > 192.168.56.1.35555: Flags [S.], seq=9998 ack=12346 192.168.56.1.35555 >

0xbharath.github.io

 

방화벽 룰 설정으로 없애주자!!

728x90