포트 (port)는 논리적인 접속 장소라는 뜻으로 운영하는 서비스들의 데이터 연결 통로의 존재이다.
어느 한 서버에 웹 서버(포트:80번) 와 이메일 서버 (포트:25번)를 동시 실행중이라고 예를 들어보자
클라이언트는 해당 서버로 웹 페이지 데이터 또는 이메일 데이터를 요청하거나 받을 텐데
서버는 클라이언트가 어떤 포트를 통해 데이터 요청하는지에 따라 데이터를 주고 받는 것이다.
보통 포트들은 약속해 둔 포트번호 와 역할이 있긴 하다
번호 | 프로토콜 | 설명 |
80 | HTTP | 웹 서버 접속 |
443 | HTTPS | 보안 웹 서버 접속(SSL) |
110 | POP3 | 메일 읽기 |
25 | SMTP | 메일 서버간 메일 전송 |
22 | SSH | 컴퓨터 원격 로그인 접속 |
53 | DNS | DNS 질의 |
123 | NTP | 시간 동기화 |
20 | FTP | 데이터 전송 |
21 | FTP | FTP 제어 |
하지만 사용자의 설정에 따라 포트 번호는 언제든 바뀔수 있고 추가될수도 있다.
이런 포트들이 관리가 잘되야하는 이유는
개발자들이 열어놓은 불필요한 서비스 포트를 통해 침해사고가 일어나곤 하기 때문이다.
이런 포트 점검은 보통 nmap을 통해서 많이 점검을 한다
tcp port 점검
nmap -sT 192.168.180.149
장점 : 빠름
단점: 디테일이 떨어짐 (unkown 포트이름이라고 뜨는게 있음 )
서비스 버전 정보까지 확인
nmap -sV 192.168.180.149
장점: -sT 옵션에서 안나온 정보들 디테일하게 확인 가능
단점: -sT에 비하면 느림
특정 포트만 지정
nmap -sV 192.168.180.149 -p1-1000
80은 http 이런것처럼 저장 되어있는 포트들을 점검을 하지 모든 숫자들의 포트를 확인 하는 것이 아니기 때문에
nmap 툴 내에서 등록되지 않은 포트 번호들은 결과물로 안나올수도 있음
실제로 이런식으로 포트를 숨겨놓은 CTF 문제들도 많이 있음
해당 예시는 1에서부터 1000까지 포트 번호를 확인 하는 예시이다.
상단노출되는 포트 대표적인거
nmap -sT 192.168.180.149 -top-port 5
방화벽에 따라 오탐이 뜰수도 있는 옵션 (물론 다른 옵션들도 그럴수 있음)
nmap 스크립트 이용 여부
nmap -A 192.168.180.149 -p21,80
버전 정보, os 정보 ( -O 옵션) , 스크립트 진단을 실시 한다. 여기서 스크립트 진단이란 해당 포트에 버전을 조사하고 그 버전에 맞는
스크립트를 실행을 시켜서 취약점 까지 조사를 하는 것이다.
해당 예시는 모든 포트를 검색하면 오래 걸릴것 같아서 21번80번 포트만 검색했다
우회 기법1
nmap -T4 192.168.180.149 -p80
보통 ips,ids 같은 방화벽은 반복적인 공격이지 않는 이상 nmap 같은 스캔이 감지가 되면 무조건 차단 하기보단
딜레이를 발생시키게 한다. 생각보다 '차단'을 하는 것은 굉장히 많은 것을 고려하고 실행을 해야기에 무조건 차단은 쉽지 않다 .
옵션을 통해 딜레이(혹은 시간차) 를 줘서 블루팀에서 눈치를 채지 못하도록 하는 것이다.
-T 옵션은 0~5까지 설정을 할 수 있다. 보통 디폴트 값은 -T3 옵션이다.
숫자가 높을수록 빠르게 우회를 한다
t2 랑 t4 의 결과물 속도가 다른것을 확인 할수 있다.
진행사항 확인 1
실제 모의해킹 환경에서는 때에 따라 결과물이 나오는데 굉장히 오래 걸릴 수 있다.
그럴 때 내가 블루팀에 의해 차단 혹은 딜레이 되는지 확인 할때 쓰는 기능이라고 볼수 있다.
엔터키
스캔중 엔터를 누를 때마다 퍼센테이지로 진행 사항을 알 수 있다.
진행사항 확인2
-dd
디버그 옵션으로 현 상황을 알수 있다
진행사항확인3
--packet-trace
좀더 패킷 단위에서 확인을 할수 있다
어느 한 CTF 풀이 문제이다 해당 영상에서 사실상 nmap 하나로 문제해결에 큰 역활을 했던 문제이다.
해당 영상에 나온 nmap 명령문들을 그대로 블로그에 적어볼까 한다
nmap -p- --max-retries 1 -Pn -n --open --min-rate 3000 -T4 -oA ~/agentt/recon/tcpAll 10.10.36.133
-p- --max-retries: 모든 포트를 한번씩 두들긴다
-Pn : ping scan을 하지 말 것
-n :DNS resolution 하지 말 것
--open: open 된 포트만 보여 달라
--min-rate 3000 :초당 패킷을 3000만 줘서 그보다 느리지 않도록 빨리 결과물이 나오도록 할 것
-T4 : 우회 겸 최대한 빨리 결과물
-oA (저장 위치): 3개의 파일 형태(.nmap, .xml, .gnmap)로 명령어 결과물 저장
nmap -p 80 -sV -sC -Pn -n --open --min-rate 3000 -oA ~/agentt/recon/tcp80Detailed 10.10.36.133
-sV: open 된 포트의 서비스 정보와 버전 정보
-sC: nmap에 기본 스크립트 이용
'보안 > 칼리 리눅스' 카테고리의 다른 글
Nessus 와 Metasploitable로 실습! / VNC 인증 정보 디폴트 취약점 (0) | 2023.10.22 |
---|---|
Nmap을 개조해보자! NMAP NSE / 취약점 분석 nse 활용하기 (2) | 2023.10.14 |
다양한 버전의 언어들로 구성된 툴을 사용할땐 가상환경을 만들어 사용하자 - virtualenv (0) | 2023.09.05 |
웹사이트 crawl러 httrack (0) | 2023.09.02 |
익명의 ftp 연결 설정 (0) | 2023.08.05 |