정보보안(구버전)/공격툴&정보수집 2016. 5. 30. 11:58

공격툴&정보수집 - 19. nmap을 이용한 스캐닝

 

 

본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.

 

 

 - nmap : 서버의 작동 여부 및 서비스 포트를 확인할 수 있는 스캐닝 툴 (GUI 툴 : zenmap)

 - Stealth 스캔 : 타겟에게 로그를 남기지 않고 스캐닝 실시 (Ex : TCP Half Open/FIN/Xmas/Null 스캔)

 

 

Ex1) namp 명령어

 

root@kali:~# nmap -h
Nmap 6.49BETA4 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}

~ 중간 생략 ~

 

 옵션

내용 

 -sT

 TCP Open 스캔

 -sS

 TCP Half Open 스켄 (TCP 연결을 성립하지 않는 Syn 스캔)

 -sF

 TCP FIN 스캔 (FIN 세그먼트를 이용한 스캔)

 -sN

 TCP NULL (NULL 세그먼트를 이용한 스캔)

 -sX

 TCP Xmas 스캔(FIN, PSH. URG 세그먼트를 이용한 스캔)

 -sU

UDP 포트 스캔

 -sP

  Ping을 이용한 시스템 작동 여부 확인 스캔

 -O

 해당 시스템 운영 체제 확인 스캔

 -F

 패스트 스캔

 -sV

 서비스 버전 확인

 -n

IP 주소를 도메인으로 변경 않함 

 -oA

스캔 내용 xml 파일로 저장 

 -v

 상세 정보 스캔 (-v, -vv, -vvv)


 

 

 

Ex2) TCP Open 스캔

 

 - 공격자는 타겟에게 Syn 세그먼트 송신

 - 타겟 시스템 포트가 열려있으면, SYN & ACK 수신, 이후 ACK 송신, RST & ACK 송신

 - 타겟 시스템 포트가 닫혀있으면, RST & ACK 수신

 

 Port Open

Port Close 

 

공격자                     타겟

           SYN          

----------------------->

SYN & ACK

<-----------------------

Ack

----------------------->

RST & ACK

----------------------->

 

공격자                     타겟

           SYN          

----------------------->

RST & ACK

<-----------------------

 

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 TCP Open 스캔 실시

 

root@kali:~# nmap -sT -p 22 192.168.20.200

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30

12:05 KST
Nmap scan report for 192.168.20.200
Host is up (0.0011s latency).
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 1.34 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 서비스 비활성화 실시

 

[root@CentOS /root]# service sshd stop
Stopping sshd:                                             [  OK  ]

 

 

@ Kali Linux

 

 - CentOS로 TCP Open 스캔 실시

 

root@kali:~# nmap -sT -p 22 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:09 KST
Nmap scan report for 192.168.20.200
Host is up (0.00043s latency).
PORT   STATE  SERVICE
22/tcp closed ssh
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.96 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 SSH 서비스 활성화 실시

 

[root@CentOS /root]# service sshd start
Starting sshd:                                             [  OK  ]


 

 

 

Ex3) TCP Half Open 스캔

 

 - 공격자는 타겟에게 Syn 세그먼트 송신

 - 타겟 시스템 포트가 열려있으면, SYN & ACK 수신 이후, RST 송신

 - 타겟 시스템 포트가 닫혀있으면, RST & ACK 수신

 

 Port Open

Port Close 

 

공격자                     타겟

           SYN          

----------------------->

SYN & ACK

<-----------------------

RST

----------------------->

 

 

공격자                     타겟

           SYN          

----------------------->

RST & ACK

<-----------------------

 

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 TCP Half Open 스캔 실시

 

root@kali:~# nmap -sS -p 23 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:17 KST
Nmap scan report for 192.168.20.200
Host is up (0.00082s latency).
PORT   STATE SERVICE
23/tcp open  telnet
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.62 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 Telnet 서비스 비활성화 실시

 

[root@CentOS /root]# chkconfig krb5-telnet off
[root@CentOS /root]# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

 

 

@ Kali Linux

 

 - CentOS로 TCP Half Open 스캔 실시

 

root@kali:~# nmap -sS -p 23 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:24 KST
Nmap scan report for 192.168.20.200
Host is up (0.00050s latency).
PORT   STATE  SERVICE
23/tcp closed telnet
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 2.28 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 Telnet 서비스 활성화 실시

 

[[root@CentOS /root]# chkconfig krb5-telnet on
[root@CentOS /root]# service xinetd start
Starting xinetd:

 

 

 

 

Ex4) TCP FIN 스캔

 

 - 공격자는 타겟에게 FIN 세그먼트 송신

 - 타겟 시스템 포트가 열려있으면, 응답 없음

 - 타겟 시스템 포트가 닫혀있으면, RST 세그먼트 수신

 

 Port Open

Port Close 

 

공격자                     타겟

           FIN         

----------------------->

응답 X

<-----------------------

 

 

 

공격자                     타겟

           FIN         

----------------------->

RST & ACK

<-----------------------

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 FIN 스캔 실시

 

root@kali:~# nmap -sF -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:44 KST
Nmap scan report for 192.168.20.200
Host is up (0.0010s latency).
PORT   STATE         SERVICE
21/tcp open|filtered ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.73 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 비활성화 실시

 

[root@CentOS /root]# service vsftpd stop
Shutting down vsftpd:                                      [  OK  ]

 

@ Kali Linux

 

 - CentOS로 FIN 스캔 실시

 

root@kali:~# nmap -sF -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:46 KST
Nmap scan report for 192.168.20.200
Host is up (0.00068s latency).
PORT   STATE  SERVICE
21/tcp closed ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.63 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 활성화 실시

 

[root@CentOS /root]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

 

 

 

 

Ex5) TCP Null 스캔

 

 - 공격자는 타겟에게 Null 세그먼트 송신

 - 타겟 시스템 포트가 열려있으면, 응답 없음

 - 타겟 시스템 포트가 닫혀있으면, RST & ACK 세그먼트 수신

 

 Port Open

Port Close 

 

공격자                     타겟

       Null        

----------------------->

응답 X

<-----------------------

 

 

 

공격자                     타겟

       Null       

----------------------->

RST & ACK

<-----------------------

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentoS로 Null 스캔 실시

 

root@kali:~# nmap -sN -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:53 KST
Nmap scan report for 192.168.20.200
Host is up (0.0011s latency).
PORT   STATE         SERVICE
21/tcp open|filtered ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.78 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 비활성화 실시

 

[root@CentOS /root]# service vsftpd stop
Shutting down vsftpd:                                      [  OK  ]

 

@ Kali Linux

 

 - CentOS로 Null 스캔 실시

 

root@kali:~# nmap -sN -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:54 KST
Nmap scan report for 192.168.20.200
Host is up (0.00062s latency).
PORT   STATE  SERVICE
21/tcp closed ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.66 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 활성화 실시

 

[root@CentOS /root]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

 

 

 

 

Ex6) TCP Xmas 스캔

 

 - 공격자는 타겟에게 FIN & PSH & URG 세그먼트 송신

 - 타겟 시스템 포트가 열려있으면, 응답 없음

 - 타겟 시스템 포트가 닫혀있으면, RST & ACK 세그먼트 수신

 

 Port Open

Port Close 

 

공격자                     타겟

      FIN & PSH & URG        

----------------------->

응답 X

<-----------------------

 

 

 

공격자                     타겟

  FIN & PSH & URG  

----------------------->

RST & ACK

<-----------------------

 

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 Xmas 스캔 실시

 

root@kali:~# nmap -sX -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:57 KST
Nmap scan report for 192.168.20.200
Host is up (0.00038s latency).
PORT   STATE         SERVICE
21/tcp open|filtered ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.69 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 비활성화 실시

 

[root@CentOS /root]# service vsftpd stop
Shutting down vsftpd:                                      [  OK  ]

 

@ Kali Linux

 

 - CentOS로 Xmas 스캔 실시

 

root@kali:~# nmap -sX -p 21 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 12:58 KST
Nmap scan report for 192.168.20.200
Host is up (0.0034s latency).
PORT   STATE  SERVICE
21/tcp closed ftp
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.66 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 FTP 서비스 활성화 실시

 

[root@CentOS /root]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

 

 

 

 

Ex7) UDP Open 스캔

 

 - 공격자는 타겟에게 UDP 패켓 송신

 - 타겟 시스템 포트가 열려있으면, 응답 없음

 - 타겟 시스템 포트가 닫혀있으면, ICMP Unreachable 수신

 

 Port Open

Port Close 

 

공격자                     타겟

      UDP 패켓      

----------------------->

응답 X

<-----------------------

 

 

 

공격자                     타겟

 UDP 패켓  

----------------------->

ICMP Unreachable

<-----------------------

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 UDP Open 스캔 실시

 

root@kali:~# nmap -sU -p 53 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 13:02 KST
Nmap scan report for 192.168.20.200
Host is up (0.00045s latency).
PORT   STATE SERVICE
53/udp open  domain
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.65 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : ip.addr == 192.168.20.200)

 

 

 

@ CentOS

 

 - CentOS에서 DNS 서비스 비활성화 실시

 

[root@CentOS /root]# service named stop
Stopping named: .                                          [  OK  ]


 

@ Kali Linux

 

 - CentOS로 UDP Open 스캔 실시

 

root@kali:~# nmap -sU -p 53 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 13:05 KST
Nmap scan report for 192.168.20.200
Host is up (0.00050s latency).
PORT   STATE  SERVICE
53/udp closed domain
MAC Address: 00:0C:29:72:28:7C (VMware)

 

Nmap done: 1 IP address (1 host up) scanned in 0.67 seconds

 

 

 - 와이어샤크 캡처 내용 확인 및 캡처 중지 (Filter : ip.addr == 192.168.20.200)

 

 

 

 

@ CentOS

 

 - CentOS에서 DNS 서비스 활성화 실시

 

[root@CentOS /root]# service named start
Starting named:                                            [  OK  ]

 

 

 

 

Ex8) Ping 스캔

 

 - 공격자는 타겟 IP 주소에 대한 ARP 요청 송신

 - 타겟 시스템이 있으면, ARP 응답 수신

 - 타겟 시스템이 없으면, ARP 응답 없음

 

 Port Open

Port Close 

 

공격자                     타겟

      ARP 요청    

----------------------->

ARP 응답

<-----------------------

 

 

 

공격자                     타겟

 ARP 요청 

----------------------->

ARP 응답 X

<-----------------------

 

 

 

 

@ Kali Linux

 

 - 와이어샤크 실행 및 캡처 실시 (Capture -> Interfaces -> eth1 start 클릭)

 

root@kali:~# wireshark &

 

 

 - CentOS로 Ping 스캔 실시

 

root@kali:~# nmap -sP 192.168.20.200

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 13:12 KST
Nmap scan report for 192.168.20.200
Host is up (0.00048s latency).
MAC Address: 00:0C:29:72:28:7C (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : arp)

 

  

 

 - '192.168.20.203'으로 Ping 스캔 실시

 

root@kali:~# nmap -sP 192.168.20.203

 

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-05-30 13:13 KST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.51 seconds

 

 

 - 와이어샤크 캡처 내용 확인 (Filter : arp)

 

 

 

 

Ex8) WAF(웹-방화벽) 유무 스캔

 

root@kali:~# nmap -p 80,443 --script=http-waf-detect www.certcollection.org

 

Starting Nmap 7.60 ( https://nmap.org ) at 2019-02-21 21:05 KST
Nmap scan report for www.certcollection.org (104.24.123.31)
Host is up (0.011s latency).
Other addresses for www.certcollection.org (not scanned): 104.24.122.31 2606:4700:30::6818:7a1f 2606:4700:30::6818:7b1f

 

PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

 

Nmap done: 1 IP address (1 host up) scanned in 13.64 seconds


root@kali:~# nmap -p 80,443 --script=http-waf-fingerprint www.certcollection.org

 

Starting Nmap 7.60 ( https://nmap.org ) at 2019-02-21 21:05 KST
Nmap scan report for www.certcollection.org (104.24.123.31)
Host is up (0.014s latency).
Other addresses for www.certcollection.org (not scanned): 104.24.122.31 2606:4700:30::6818:7b1f 2606:4700:30::6818:7a1f

 

PORT    STATE SERVICE
80/tcp  open  http
| http-waf-fingerprint:
|   Detected WAF
|_    Cloudflare
443/tcp open  https

 

Nmap done: 1 IP address (1 host up) scanned in 1.23 seconds


 

 

Ex9) 취약점 진단 스캔


root@kali:~# nmap --script=vuln 192.168.20.200

~ 중간 생략 ~


 


 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)


공격툴&정보수집 - 제19장 nmap을 이용한 스캐닝   https://youtu.be/WCBfyTf3Y34

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q