nmap을 이용한 스캐닝 설명, 예시
nmap 을 사용한 스캐닝
스캐닝 방식
1. Connect Scan(Open Scan)
nmap -sT [CentOS IP] [포트]
nmap -sT 192.168.171.129 -p 1-100
=> 연결을 해 보고 연결되면 열려있음으로 확인
=> 연결이 안되면 닫혀있는것
2. Syn Scan (Half Open Scan, Stealth Scan)
nmap -sS 192.168.171.129 -p 20-30
=> 연결을 하는 Syn을 보내는 것은 동일하나 연결을 완료하지 않음 (중간에 차단)
=> Connect 스캔과 동일한 결과를 얻을수 있고, 연결 기록을 숨길 수 있음
3. Fin Scan
nmap -sF 192.168.171.129 -p 20-30
=> TCP/IP의 정상적인 동작을 벗어난 플래그를 설정한 패킷을 전송하고, 그 응답으로 포트의 상태를 확인
=> Fin 플래그를 설정하여 전송
4. Null Scan
nmap -sN 192.168.171.129 -p 20-30
=> TCP 플래그를 하나도 설정하지 않고 전송
5. X-Mas Scan
nmap -sX 192.168.171.129 -p 20-30
=> FIN, PSH, URG 플래그를 설정하여 전송
6. Ack Scan
nmap -sA 192.168.171.129 -p 20-30
=> 방화벽의 차단 여부를 확인하기 위해 ACK를 전송
=> 포트의 서비스 동작여부는 확인 불가
7. Decoy Scan
=> 스캐닝하고 있는 공격자의 정보를 숨기기 위한 방식
=> 정보를 속인 패킷을 함께 전송
nmap -sS 192.168.171.129 -p 20-25 -D 10.10.10.10,20.20.20.20,30.30.30.30
8. IDLE Scan
- 통신량이 거의 없는 경유지가 필요
hping3
- 다양한 형태로 패킷을 생성할 수 있는 도구
모드
-0 : IP
-1 : ICMP
-2 : UDP
IP관련
-a : IP정보를 조작하여 전송
--rand-source : 임의의 주소로 패킷을 생성
-t : TTL 값 변경
포트 주소
-s : 보내는 포트 주소를 변경 (--baseport)
-p : 받는 포트 주소 변경 (--destport)
-M (--setseq) : 보내는 패킷의 TCP Seq Num 변경
-L (--setack) : 보내는 패킷의 TCP ACK Num 변경
-F, -S, -A, -P, -U, -R : 각각 TCP 플래그
-X, -Y : X-Mas, Y-Mas 패킷 조합을 설정
실행간격
-i : 마이크로초 단위의 시간 지정
ex) -i u10000
--fast : 1초에 100패킷
--faster : 1초에 1000패킷
--flood : 최대한 빨리
IDLE 스캔 방법
1) Kali에서 윈도우 시스템으로 TCP SYN 플래그를 포함한 패킷 전송 (1개)
hping3 192.168.171.130 -p 445 -S -c 1
2) 1에서 전송한 패킷의 ID값을 확인
3) Kali에서 스캔 대상으로 패킷을 생성하여 전송
hping3 192.168.171.132 -p 23 -S -a 192.168.171.130 -c 1
4) 3을 전송한 후 다시 1의 명령을 실행하여 ID값이 어떻게 돌아오는지 확인
hping3 192.168.171.130 -p 445 -S -c 1
=> ID값이 1과 4에서 1이 차이날경우 : 3의 과정에서 패킷을 전송한 포트가 닫혀있거나 막혀있음
=> ID값이 1과 4에서 2가 차이날경우 : 3의 과정에서 패킷을 전송한 포트가 열려있어, XP쪽으로 SYN+ACK를 전송하였음
9. UDP Scan
=> UDP 포트가 열려있는지 확인
nmap -sU 192.168.171.129 -p 20-30
방화벽에 의해 차단 / 닫혀있는 포트 : ICMP Destination Unreachable
열려있는 포트 : 응답없음
10. 운영체제 정보 등을 확인할 수 있는 스캐닝
nmap -A 192.168.171.129 -p 20-30
11. 주요 포트를 위주로 빠른 스캔
nmap -F 192.168.171.129