1. Nmap 이란?
- 고든 라이온(GordonLyon) 제작
- 보안 스캐너 (네트워크 “지도”), 네트워크 점검, OS검색, Version 점검 등
- 서비스 탐지 프로토콜 : 자신을 광고하지 않는 수동적인 서비스 발견
- 원격 컴퓨터들의 자세한 정보
- 예제 : nmap –T4 –A –v www.nmap.org
1) TCP 플래그 : 두 지점 간의 통신을 할 때 기능을 알려주는 flag
TCP Flag |
설명 |
SYN(Synchronization:동기화) |
TCP에서 세션 성립을 위해 가장 처음 보내는 패킷 |
ACK(Acknowledgement) |
상대방에게 패킷을 받았다는 걸 알려주는 패킷 |
RST(Reset) |
현재 접속하고 있는 곳과 연결을 끊기 위해 보내는 패킷 |
PSH(Push) |
버퍼가 채워지기를 기다리지 않고 바로 7계층의 응용프로그램에게 데이터를 전달 |
URG(Urgent) |
긴급하게 전송해야할 데이터를 위해 사용 |
FIN(Finish) |
더이상 전송할 데이터가 없을 때 세션 연결을 종료시키기 위해 사용 |
2) 스캔옵션
옵션 |
설명 |
-sT |
일반적인 TCP연결을 사용한 포트 스캔 (open) |
-sS |
SYN패킷을 이용한 포트스캔(half open) |
-sF |
FIN 패킷을 이용한 포트스캔 (stealth) |
-sN |
NULL패킷을 이용한 포트스캔 (stealth) |
-sX |
Xmax패킷을 이용한 포트스캔 (stealth) |
-sA |
ACK 패킷을 이용한 포트스캔 (stealth) |
-sW |
ACK패킷에 대한 윈도우 크기 분석 (stealth) |
-sR |
RPC 포트 스캔 |
-sP |
Ping을 이용한 호스트 활성화 여부 확인 (sweeps) |
-sU |
UDP 포트 스캔 (misc) |
-b |
FTP바운스 스캔 (misc) |
3) 실행 옵션
옵션 |
설명 |
-f |
스캔할 때 패킷을 조각냄 |
-v |
스캔 세부 사항을 표시 |
-P0 |
스캔 전 ping을 하지 않음 |
-PT |
TCP 패킷을 이용하여 해당 시스템이 작동 중인지 검사 |
-PS |
SYN 패킷만을 보내 시스템의 활성화 여부를 검사 |
-PI |
시스템의 활성화 여부를 ICMP로 검사 |
-PB |
TCP와 ICMP 둘 다 사용해서 호스트의 활성화 여부를 검사 |
-O |
시스템의 운영체제를 추정 |
-I |
Ident프로토콜을 사용해 열려 있는 프로세스가 어떤 사용자에 의한 것인지 검사 |
-n, -R |
DNS룩업 사용여부 결정 |
-T |
시간차를 이용한 스캔 |
4) nmap 스캔 구성도
2. Nmap Fragmentation Scan
Fragment 스캔 방식은 패킷을 분할 전송하여 방화벽이나 IDS를 통과한 후 대상 컴퓨터에서 패킷이 조합되도록 하는 스캔 방식을 말한다.
1) TCP Fragmenting
- TCP header을 잘게 쪼개서 스캔하는 과정을 모르게 하는 방법
- 서버에서 예측하기 힘든 비정상적인 결과를 얻을 수 있음
- 패킷을 검사하고 다시 모으기 힘듦
- 시스템 멈추거나 리붓
- 네트워크 모니터 다운
- 방화벽 룰셋에서 걸러짐
- 패킷 필터링과 감시를 무력화 시킴
- 장점: IDS 를 피할 수 있으며, 탐지되기 어려움
- 단점: 원격 호스트에서 네트워크 문제를 일으킬 수 있음
2) Nmap 패킷 파편화(Fragment) 기능
- Nmap에서 명령어 –f로 지정한 SYN 또는 FIN가 작은 조각난 패킷 스캔 가능
- 예제 : nmap –f www.nmap.org
- 때론 공격 타겟에 따라 조각난 패킷들이 필터링 되기도 함
3. Tiny Fragmentation Attack
- 최초의 단편을 아주 작게 만들어 NIDS나 패킷 필터링 장비를 우회하는 공격
- TCP헤더가 2개의 단편으로 나누어질 정도로 작게 쪼갬(두 개의 TCP Fragment 이용)
- TCP 헤더가 첫 번째 단편에 위치하지 않도록 함
- 첫 번째 단편만 필터링 규칙이 적용되고 나머지 단편은 통과
- 헤더의 최소 크기는 20바이트이다. 만약 옵션이 존재하는 경우 최대 60바이트의 크기를 가질 수 있다. 분할전 패킷의 헤더가 60바이트라고 가정하고 프래그먼트 단위를 68바이트로 할 경우 TCP 패킷은 첫번째 8바이트만 보유하게된다. 이렇게 전송할 경우 패킷필터링은 처음 패킷만 분석하고 나머지 패킷은 그냥 받아들이므로 패킷필터링을 통과할 수 있게 된다.
'보안 > 네트워크' 카테고리의 다른 글
파이어워킹 (Firewalking) (0) | 2015.08.29 |
---|---|
네트워크 보안 소개 (0) | 2015.08.17 |
IDS 설치 : 우분투에 수리카타(Suricata) 와 브로(Bro) 설치하기 (0) | 2015.03.17 |
DDNS 서비스 서베이 (DDNS Service Survey) (0) | 2015.03.16 |
공유기 (wireless router) (0) | 2015.03.09 |