본문 바로가기

정보보안/Kali-Linux

[정보보안][칼리리눅스] nmap을 통한 Scanning

728x90

1.  TCP헤더의 Flag

  • TCP의 속성을 나타냄
  • 순서: UAPRSF (6bit) ----> 사용하면 1, 사용 안하면 0으로 표시
  • URG (Urgent: 긴급)
  • ACK (Acknowledgement: 응답)
  • PSH (Push: 상위계층으로 밀어올림)
  • RST (Reset: 연결 강제 종료)
  • SYN (Syncronization: 동기화) : 연결 설정
  • FIN (Finish: 연결 종료)

ex) 000010 (SYN), 010010 (ACK/SYN)

       0x002                0x012

 

* wireshark에서도 16진수를 이용하여 TCP Flag 검색 가능

ex) tcp.flags == 0x012


2.  Nmap Scanning

1. Ping scan

 

-켜져있는 컴퓨터들의 IP를 조사하기 위해서

 

# nmap -sP [IP Address]   // 네트워크 지정
# nmap -sP [IP Address]   // 번호를 지정하는 방법

 

2. TCP scan

 

- 열린포트를 파악하기 위한 스캐닝

- 열린포트에서 ACK/SYN로 응답할 때 ACK를 보내기 떄문에 연결 완성

- 연결완성(3-Way Handshaking)을 하면 로그에 기록이 남음

 

# nmap -sT [IP Address]

 

3. Stealth scan

 

- ACK/SYN를 공격자가 받아도 ACK를 보내지 않고 RST를 보냄

- 로그에 안 남기기 위해서 사용 (결과는 TCP scan과 동일)

 

# nmap -sS [IP Address]

 

4. OS scan

 

- 운영체제(OS)를 파악하기 위해서 사용하는 스캔

 

# nmap -O [IP Address]
*참고) 리눅스 커널을 확인하는 명령은 uname -r

 

5. Version scan

 

- 설치된 모든 Application들의 버전을 조사하는 스캔

 

# nmap -sV [IP Address]

 

다음으로는 엉터리 스캔에 대해서 알아보자.

엉터리 스캔이란? ( FIN / Null / X-mas )
- TCP/IP 로직에 맞지 않는 스캐닝 방식
- 열린 포트는 응답하지 않음
- 닫힌 포트는 RST/ACK를 보냄
- 방화벽 유무를 파악하기 위해서 사용 ( 방화벽이 중간에서 RST/ACK를 차단 )

 

6. FIN scan

 

- FIN(종료 요청)을 보내는 스캐닝

- 열린 포트는 응답없음, 닫힌 포트는 RST/ACK로 응답

 

# nmap -sF [IP Address]

 

7. Null scan

 

- Flag 6bit 모두 0으로 만들어서 보내는 스캐닝

 

# nmap -sN [IP Address]

 

8. X-mas scan

 

- Flag 6bit 모두를 1로 만들거나 FIN / PSH / URG민 1로 만들어서 보냄

 

# nmap -sX [IP Address]

 

9. All scan

 

- OS + Version + Script + Traceroute를 결합한 방식

- 한번에 4가지 스캔을 해서 결과를 확인

 

# nmap -A [IP Address] -T4
-T는 timing을 나타냄, 숫자가 클수록 빨라짐 (0~6)

 

*특정 포트만 조사할 때

-p [port] 를 명령어 뒤에 붙인다.

-p 21-4000 처럼 범위를 지정할 수도 있다.


3. 자세한 Scanning

 

** 어떤 버전이고, 언제 발견되었고, 조치를 안하면 어떻게 되고, 출처, 참고사이트 등을

상세하게 작성하기 위해서 필요한 스캔 방식

 

다음의 명령어로 스크립트를 살펴보자

 

# cd /usr/share/nmap/scripts
# ls

 

총 몇개나 존재할까?

 

 

606개의 스크립트가 존재함을 알 수 있다.

 

 

CVE-2011-2523 번호를 가지고 있으며

 

VULNERABLE 하다고 적혀있는 것이 보인다.

 

CVE란? 

https://walk-cat-dev.tistory.com/109

 

[정보보안] 약점과 취약점, 해킹과 해커

1. 약점과 취약점 Weakness (약점) - 공식 약점 번호 체계: CWE-NNNNN (형식) - 공식 약점 관리 기구:https://cwe.mitre.org/ CWE - Common Weakness Enumeration CWE™ is a community-developed list of software and hardware weakness types.

walk-cat-dev.tistory.com

 

그럼 특정 IP주소에 이러한 취약점이 있는 지 어떻게 알아볼까?

 

# nmap --script=[script] [IP Address] -p [port]

 

이렇게 하면 해당 스크립트에 있는 취약점을 분석할 수 있다.

 

예를 들어 ftp-vsftpd-backdoor.nse를 [script] 자리에 넣어서 실행해보자.

vsftpd에 대한 취약점 정보가 나올 것이다.

 

참고) 국내 취약점 분석 및 모의 해킹 전문 회사

- A3 Security

- Tiger Team

- F1 Security

 

이제 취약점 분석의 단계를 정리해보자

 

기본 스캔 ( -sS ) -> 버전 확인 ( -sV ) -> 구글 검색 -> 스크립트 검색 ( find . -name ) -> 스크립트 실행 ( nmap --script )
728x90