● TCP 연결 설정(3 way-handshaking) 및 TCP 연결 종료(4 way-handshaking)
: 공격자와 공격 대상 사이의 연결 상태를 통해 포트 스캐닝을 할 수 있는 기법
: wireshark를 이용해서 확인 가능
→ TCP 연결
: 공격자 → SYN → 공격 대상 → SYN + ACK → 공격자 → ACK(연결 성공) → 공격대상
→ TCP 종료
: 공격자 → FIN(연결 종료 요청) → 공격 대상 → ACK(연결 종료 승인) & FIN(연결 종료 요청) → 공격자 → ACK(연결 종료 성공) → 공격대상
● TCP Flag 용어
→ SYN(SYNchronize Sequence Numbers)
: 접속을 요청하는 패킷
→ ACK(ACKnowledgement)
: 응답 패킷
→ FIN(FINish)
: 연결 종료 요청
→ RST(Connection ReSeT)
: 다시 연결 종료
● 존재하지 않는 포트로 연결을 요청할 때(승인되지 않은 포트로 연결 시도)
→ 개요
: Target(Destination, Victim)의 TCP(신호) 연결을 파기하기 위해 RST 전송
→ 유형
: 공격자 → SYN → 공격 대상 → SYN + RST → 공격자
● 비정상적인 상황 일 때
→ 개요
: 정상적인 경로(승인된 경로)를 통한 통신이 아닌 상황
: 해킹을 종료한 후 이뤄진다
→ 유형
: 공격자 → SYN → 공격 대상
● Target이 장시간동안 유휴 상태 일 때
→ 개요
: 연결 종료 요청
→ 유형
: 공격대상 → 난 휴면 상태이다 → 공격자 → RST
TCP Scan(nmap)
● 개요
→ TCP를 이용한 포트 스캔을 말한다
→ 3 way handshaking 과정을 거친다
→ 빠른 포트 스캔을 할 수 있다
● 작업 환경
→ Kali(128) DNS 조회 되야됨
→ CentOS(130) DNS
● nmap
→ 포트를 스캔하기 전에 어떤 시스템이 동작 중인지를 먼저 확인한다
→ 응답하지 않는 시스템은 스캔을 하지 않는다
→ 가장 많이 사용하는 포트 스캔 명령
● 옵션
→ -s (스캔 타입을 정의)
→ -T (TCP 스캔)
→ -V (Print version number, Verbose, 진행 상태 화면에 출력)
→ -F (특정 포트를 스캔, Fast scan, 잘 알려진 포트만 검색)
→ --version-intensity <레벨> (스캔 강도 조절)
: 0(5분마다)
: 1(15초 마다)
: 2(0.4초마다)
: 3(1회, 기본 값)
: 4(5분 동안만)
: 5(75초 동안만)
→ 명령어 ex
: # nmap -sTV -F --version-intensity 3 www.gusiya.com