TCP stealth scan이란?
네트워크 인터페이스(interface) 들을 검색하고 싶을 때 nmap을 통해 쉽게 찾을 수 있다. 우선 nmap 설치는 아래 포스트에서 설명하였으니 혹시 모른다면 참조 하길 바란다. https://scribblinganything.tistory.com/235
앞서 IP 범위를 정해 놓고 해당 IP 중에 살아있는 IP들을 검색할 때 nmap -sT -p 80,443 192.168.0.0/24 를 사용해서 검색하였다. 이때 -sT는 TCP 3핸드쉐이크(3 way hand shake) 방식을 사용하는 데 방법은 아래와 같다
- Client -> Sever : TCP SYN 보냄
- Client <- Sever : TCP SYN-ACK 보냄 (SYN 받았다는 의미)
- Client -> Sever : TCP ACK 보냄 (SYN ACK 받았다는 의미)
위 3단계로 연결이 수립되기 때문에 3 hand shake라고 한다.
여기서 만일 연결이 되면 서버측 파이어월(Firewall) 과 같은 곧에서 외부에서 들어온 IP를 기록한다. 그래서 서버측은 어떤 아이피가 들어왔는지 알게 된다.
스텔스 스캔이란 위 3단계 중에 2단계 까지만 진행되는 것이다. 즉 연결을 완료하지 않고 끝내버리는 것이다. 그래서 half scan이라고도 한다. 연결이 되지 않았으므로 파이어월에서는 외부 IP를 기록하지 않는 것이다.
TCP stealth scan 실습
nmap을 설치하였다면 cmd 창에서 쉽게 검색할 수 있다. 윈도우 검색창에 cmd라고 입력하면 cmd 프롬프트가 열린다. 아래 그림처럼 입력한다.
C:\Users\forgo>nmap -sS -p 80 192.168.0.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-30 17:30
Nmap scan report for 192.168.0.1
Host is up (0.0020s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 70:**:**:**:**:08 (EFM Networks)
Nmap scan report for 192.168.0.10
Host is up (0.013s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 70:**:**:**:**:3E (EFM Networks)
Nmap scan report for 192.168.0.20
Host is up (0.0020s latency).
PORT STATE SERVICE
80/tcp filtered http
MAC Address: B4:**:**:**:**:73 (Giga-byte Technology)
Nmap done: 256 IP addresses (27 hosts up) scanned in 6.90 seconds
nmap -sS -p 80 192.168.0.0/24
명령을 통해 검색하였다.
-sS가 스텔스 방식으로 검색하라는 의미이다. -p 는 포트 80번에 대해 스캔하는 것이다. 만일 포트를 설정하지 않으면 1000번 이하 모든 포트를 검색한다.
약 7초만에 256개의 IP에 대한 검색을 완료 했다.
Wireshark에서 검증하기
아래 그림처럼 SYN 보내고 SYNACK를 다시 보내고 그뒤에 ACK를 보내지 않으니 검은색 줄과 같이 왜 안보내냐고 요청이 들어오는 것이다.
'파이썬(Python) > 화이트해킹,침투테스트(Hack,Penetration)' 카테고리의 다른 글
(nmap) filtered 의미와 와이어샤크로 filtered 결과 차이 확인해보기 (0) | 2021.09.01 |
---|---|
IP 검색으로 상세 정보 가져오기 (nmap) (0) | 2021.08.31 |
동일 네트워크에 연결된 IP와 Port 찾기 (nmap) (0) | 2021.08.28 |
Python NMAP 포트스캐너 만들기(wireshark로 결과 확인하기) (0) | 2021.08.15 |
Python Socket 만으로 포트 스캐너 만들기(Port Scanner) (0) | 2021.08.13 |