0. 왜 궁금했을까?
앞으로 모의 침투테스트를 하면서 꽤나 유용하게 쓰일 것 같아서 정리해봤다.
Nmap
Gorden Lyon이 작성한 강력한 포트 스캐너이다. 스탤스 스케닝, 광역 스캐닝 등의 여러 스캐닝 기능을 지원하고,
finger-printing (OS추측기능)도 지원한다.
윈도우,UNIX 등의 OS에서 동작하는데 Kali에는 기본적으로 깔려있기 때문에 따로 설치하는 법은 구글링하는게 빠르다.
원래 포트 스캐너는 포트의 OPEN 유무만을 표시하는 것이 대부분이었으나,
Nmap에서는 자세하게 확인할 수 있다는 점이 강력함을 어필한다.
[포트 상태]
open - open 상태의 포트는 TCP연결 및 UDP 패킷을 액티브한다. 포트스캐닝의 최대의 목적이 바로 open을 찾아내는 것이다.
closed - closed 상태의 포트는 접속 가능하나, listen하고 있는 애플리케이션은 아니다.
closed상태라고 해도 probe 패킷을 수신한다거나, 응답이 가능하고 추후에 애플리케이션이 가동될수도 있고,
Ping sweep, OS 검출로 도움이 되는 경우가 있기 때문에
admin은 포트를 closed 상태로 방치할 바에 패킷 필터링을 통해 걸러야 안전하다.
filtered - closed 상태의 포트와 거의 유사하지만, filtered 상태의 포트는 open의 유무를 알 수 없다.
probe 패킷을 수신 하지 못하기 때문이다.
보통 패킷 필터링은 라우터 및 방화벽 규칙, 호스트베이스의 방화벽 S/W등이 실행된다.
unfiltered - unfiltered 상태의 포트는 접근 까진 가능하나, filtered와 마찬가지로 Nmap으로는 open의 유무를 알 수는 없다.
unfiltered 상태의 포트로 공격자가 할 행동은 방화벽 규칙을 해독하기 위한 ACK 스캐닝 뿐이다.
하지만 윈도우 스캔 / SYN 스캔 / FIN 스캔을 사용하면 포트의 open 유무를 판단할 수 있다.
open|filtered - open|filtered 상태라고 판단할 수 있는것은 대상 포트가 열려 있는지 필터링 되어있는지 판단할 수 없는 경우이다.
예를 들어 스캐닝을 실행했는데 open 포트로부터 응답이 되돌아 오지않을 때가 여기에 해당된다.
방화벽에의해 nmap의 probe가 폐기됬다던지 아니면 응답이 돌아오는 도중 폐기 된다던지 하는 경우,
Nmap은 대상 포트가 열려있는지 필터링인지 판단할 수 없게 된다. 이 상태가 바로 open|filtered 상태 이다.
UDP스캐닝 IP스캐닝 프로토콜스캐닝 FIN스캐닝 Full스캐닝 Xmas스캐닝 등이 응답을 돌려주지 않는 유형의 스캐닝이다.
closed|filtered - closed|filtered 상태는 포트가 닫혀있는지, 필터링 되는지 판단할 수 없는 경우다.
IPID Idle 스캐닝시 이상태가 나타날 가능성이 있다.
[Scan 옵션]
-sS : TCP SYN 스캔
-sT : TCP연결을 이용한 포트스캔
-sA : ACK패킷에 대한 TTL값을 분석한다.(방화벽 규칙의 상태 확인)
-sP : ping을 이용한 스캔
-sR : RPC를 이용하여 포트를 스캔
-sW : 윈도우 스캔은 ACK스캔과 동일하지만, 특정 장치에 대해 open,closed 포트를 구별한다.
-sU : UDP 포트 스캔
[port 옵션]
-p 22 : 22번 포트 스캔
-p (service) : 서비스 명으로 포트 스캔
-p 22,443,80 : 22번 443번 80번 포트 스캔 (지정 스캔)
-p 22-443 : 22~443번 포트 스캔 (범위 스캔)
[output 옵션]
-v : 자세히 출력하기
-vv : 좀 더 세밀하게 출력하기
-oN <파일명> : 일반 파일 형식으로 출력
-oX <파일명> : XML 파일 형식으로 출력
더 많은 옵션이 있지만, 구글링하면 좋은 자료가 많으니 전부 기재 하지 않았음.
ex ) TCP 포트스캔 방식으로 상대의 OS를 추측하고 상세정보를 확인
스캔할 IP 대역
192.168.14.0 255.255.255.0
결과,
'예전 포스팅 (~2018)' 카테고리의 다른 글
FreeNAS 11 설치 및 설정 / 마운팅 (0) | 2021.09.23 |
---|---|
ELK STACK (ElasticSearch, Logstash, Kibana) 란? (0) | 2021.09.23 |
MsfVenom을 사용하여 backdoor 생성하기 (0) | 2021.09.23 |
Metasploit의 구조 (0) | 2021.09.23 |
MBR과 boot loader (0) | 2021.09.23 |
댓글