-
nmap 사용
포트 스캔은 운영 중인 서버에서 열려 있는 TCP/UDP 포트를 검색하는 것을 의미한다.
칼리리눅스에 기본적으로 내장되어 있기에 칼리리눅스로 사용해보자.
스캔 대상: 윈도우 PC
포트스캔은 3-way-handshaking, 4-way-handshaking 을 이용하여 스캔한다.
TCP Open 스캔
설명
- 연결 스캔은 대부분의 다른 방법처럼 로우 패킷에 의존하기 보다는 장치를 스캔하는데 같은 이름의 시스템 콜을 사용한다. 이 스캔은 대부분 권한이 없는 유닉스 사용자들이 사용하며 그런 경우 SYN 스캔이 작동하지 않기 때문에 IPv6를 대상으로 사용된다.
- TCP connect() scan 이라고도 하며, TCP 스캐닝의 가장 기초적인 형태로 connect() 함수를 사용하여 모든 포트에 대해 스캔하는 방식이다.
만약 포트가 listen상태라면, connect()는 성공할 것이고, 그렇지 않으면 reachable 되지 않는다. 완전한 세션을 맺는 것이기 때문에 로그를 남긴다. 포트가 열려 있으면 TCP 3 Hand Shake를 한다.
TCP Half Open 스캔
설명
- 방화벽으로 차단한 영역을 검사하거나, IPS/IDS에서 탐지가 안되도록 진행할 때 유용하다.
- open 포트로 FIN 패킷을 보내면 이 패킷을 무시하고, closed 포트로 보내면 RST패킷이 온다. 이 스캔은 주로 UNIX계열 OS에서만 사용이 가능하며, 루트 권한이 필요하다. TCP Half(SYN) Open, Scan, FIN Scan, X-masScan, Null Scan이 대표적인 예이다.
- 프로토콜(TCP) 포트를 스캔하는데 가장 빠른 방법으로 지금까지 단연 인기 있는 스캔 방법이다. 이 스캔은 연결 스캔보다 더 비밀스러우며 모든 기능적인 TCP 스택에 대해 잘 작동한다.
TCP FIN 스캔
설명
- 공격자는 FIN 패킷을 보내 열린 포트를 알아낸다.
- RST 패킷이 돌아온 경우 포트 상태는 closed라고 간주하고, 재전송하여도 응답이 없는 경우는 open|filtered라고 간주한다. ICMP 도달 불능 오류메시지가 반환되는 경우는 filtered라고 간주한다.
TCP NULL 스캔
설명
- 공격자가 null 패킷을 보냈을 때, RST 패킷이 돌아온 경우의 포트 상태는 closed라고 간주하고, 재전송하여도 응답이 없는 경우는 open | filtered 라고 간주한다. ICMP 도달 불능 오류메시지가 반환되는 경우는 filterred라고 간주한다.
TCP Xmas스캔
설명
- 공격자는 FIN, PSH, URG 패킷을 보낸다.
- RST 패킷이 돌아온 경우의 포트 상태는 closed라고 간주하고, 재전송하여도 응답이 없는 경우는 open | filter
UDP Open 스캔
설명
- UDP 통신은 단방향 이기때문에 신뢰성이 떨어진다. 공격자가 UDP 패킷을 보내면 그 결과가 열린 포트이면 아무런 응답이 오지 않고, 닫힌 포트라면 ICMP Unreadchable 메시지가 온다.
TCP Ping 스캔
설명
- 핑 스캔(ICMP)사용, 내부단은 ARP 요청이 대신함
특정 포트를 스캔하고 싶다면 -p 옵션을 붙여서 스캔한다. (시간을 줄일수 있다.)
107-114 는 192.168.200.107부터 192.168.200.114 까지 스캔해달라는 거다.'자격증' 카테고리의 다른 글
버퍼, 힙 오버플로우 (정보보안기사) (0) 2022.02.22 댓글