보안/study
포트 스캔 공격 정리 및 공격툴(nmap,ncat,hping3)
iiliiiili
2021. 5. 15. 22:33
1. 포트 스캔 종류
스캔 종류 | 설명 | 공격 예시 |
TCP Connect(Open) 스캔 | 정상적인 TCP 연결 과정을 수행 | #nmap -sT |
TCP SYN(Half Open)스캔 | -닫힌 포트 -> RST + ACK -열린 포트 -> SYN + ACK |
#nmap -sS |
스텔스(Stelth)스캔 | 스캔 대상 호스트에 로그를 남기지 않는 기법 -닫힌 포트 -> RST + ACK -열린 포트 -> 응답X |
|
TCP FIN(스텔스) | -닫힌 포트 -> RST + ACK -열린 포트 -> 응답X |
#nmap -sF |
TCP NULL(스텔스) | -닫힌 포트 -> RST + ACK -열린 포트 -> 응답X |
#nmap -sN |
XMAS(스텔스) | -닫힌 포트 -> RST + ACK -열린 포트 -> 응답X |
#nmap -sX |
TCP ACK 스캔 | 타겟 호스트의 포트 오픈 여부x 방화벽 룰셋 확인 -방화벽 허용 -> 호스트의 포트 오픈여부와 상관없이 RST -방화벽 차단 -> 응답이 없거나, ICMP error(Destination Unreachable) |
#nmap -sA |
UDP 스캔 | UDP 포트 오픈여부 확인 | #nmap -sU |
ping 스캔 | Ping 을 이용해 호스트 활성화 확인 | #nmap -sP |
Decoy 스캔 | 타겟 호스트에서 스캐너 주소를 식별하기 어렵도록 실제 스캐너 주소 외에 다양한 위조된 주소로 스캔하는 방식 | #namp -D |
TCP FTP Bounce 스캔 | FTP 서버를 통해 FTP PORT 명령을 임의의 서버로 replay하여 포트의 open여부를 확인한다. | #nmap -b <FTP bounce proxy> |
1. 공격 툴
(1) nmap
종류 | 옵션 | 설명 및 사용 예 |
Port 지정 | -p | 포트번호, 포트번호 나열(22,23), 포트범위(1-1023) 서비스명: telnet, ssh 등 -pT:21,22,U:53 : TCP , UDP 분리하여 포트 스캔 |
Target Host 지정 | hostnmae 지정 : 도메인(ex tistory.com) ip address, network : CIDR,범위 지정(ex 192.168.200.1-10) |
|
스캔 옵션 | -sP | ping 스캔 |
-sT | TCP Connect(Open) 스캔 | |
-sS | TCP SYN(Half-Open) 스캔 | |
-sF | TCP FIN 스캔 | |
-sX | XMAS 스캔 | |
-sN | TCP NULL 스캔 | |
-sU | UDP 스캔 | |
-D | Decoy 스캔 | |
-b | FTP 바운스 공격 전용 포트스캔 | |
Output 옵션 | -oN | 스캔 결과 일반 파일 형식으로 출력 # nmap -T4 -sS -oN "/var/nmap.out" -p 23,80 192.168.200.1 |
-oX | 스캔 결과 xml 파일 형식으로 출력 # nmap -T4 -sS -oX "/var/xml.out" -p 23,80 192.168.200.1 |
|
-oG | 스캔 결과 Grepable(grep, awk 등으로 분석하기 편한) 파일 형식으로 출력 # nmap -T4 -sS -oN "/var/grepable.out" -p 23,80 192.168.200.1 |
|
기타 옵션 | -O | 타겟 호스트의 운영체제 정보 출력 # nmap -O 192.168.200.1 |
-F | 빠른 네트워크 스캐닝 | |
-T0 ~ T5 | T0 아주 느리게 ~ T5 아주 빠르게 |
+nmap scripting engine(nse)
(2) ncat(nc)
사용법: nc [옵션] [목적지 host] [목적지 port]
옵션 | 설명 |
-n | -n : 호스트 네임과 포트를 숫자로만 입력받는다. |
-o [filename] | 보내거나 받은 데이터를 헥스덤프하여 파일에 저장한다. |
-v | verbosity 를 증가 시킨다. 더 많은 정보를 얻을수 있다. |
-p | |
-l | |
(3) hping3
사용법: hping3 [목적지 host] [옵션] or hping3 [옵션] [목적지 host]
포트스캔, flooding 공격에 사용된다.
옵션 | 설명 |
-p, --destport | 목적지 포트 |
-S, --syn | syn 패킷을 보냄 |
-A, --ack | ack 패킷을 보냄 |
-F, --fin | fin 패킷을 보냄 |
-R, --rst | rst 패킷을 보냄 |
-D, --data | 데이터 크기 설정 |
-V, --verbose | 자세히 보기 |