본문 바로가기
Security Project

10. 정보수집 - 포트 스캔 Nmap 기본

by 귀멸 2022. 8. 17.

포트(Port) : 서비스와 연결되어 있는 통로

 - 불필요한 포트가 열려 있으면 보안 위협이 높아짐

 - 포트 예시

443/TCP : https (네트워크 패킷 암호화 통신)

80/TCP : http

 

외부 서비스를 이용한 정보 수집

- Shodan, Censys, 구글 검색 서비스

 

서버 대상으로 직접 스캔을 통하여 정보를 수집 

- Nmap : 포트 스캔 + NSE를 이용한 취약점 분석 가능


Nmap 기본

환경 : 칼리리눅스2022 → Metasploitable2

Metasploitable에서 ifconfig로 IP 주소를 확인하고 칼리에서 nmap 사용

아무 옵션도 주지 않고 열려 있는 포트에 대해서 살펴보면

침투할 수 있도록 모든 포트를 오픈해 놓고 있다. 실제 대부분은 80, 443 포트 정보만 웹서버 운영을 위해 열려 있다.

 

-sV 옵션을 넣어주면 각 서비스들의 버전 정보와 unknown까지 서비스 이름을 찾아오는 것을 볼 수 있다.

버전 정보는 공격자 입장에서 중요한 정보

-p(번호-번호)(번호,번호)옵션은 확인하고 싶은 포트 번호를 지정해서 그것만 확인한다.

nmap은 기존에 서비스들이 기본적으로 사용하는 포트 번호 중심으로 저장해둔 것을 기반으로 스캔한다.

따라서 번호 대역을 지정해서 돌리면 숨겨둔 포트를 찾을 수도 있다. ex) -p1-1000

-A 옵션으로 기본적인 취약점 진단도 가능하다.

ftp 연결이 Anonymous를 허용하고 있음을 알 수 있다.

OS 정보등을 알 수 있다.

 

딜레이나 차단 정책을 회피하기 위해 -T(1~5) 옵션으로 포트 스캔을 위한 서버의 정보 요청 타이밍을 조정한다.

--source-port를 이용하여 포트 번호 스크리닝을 우회할 수 있다.

결과는 같아 보이지만 와이어 샤크로 패킷 정보를 확인해보면 요청하는 패킷의 포트 정보가 53으로 바뀐다.

스캔 중에 엔터를 눌러보면 스캔 진행상황을 확인할 수 있다.

-dd 옵션 포트 결과만이 아니라 스캐닝 과정 전체를 보여주면서 진행

--packet-trace 포트 스캔을 위해 패킷을 주고받는 정보들까지 보여주면서 진행

댓글