[MAD-METASPLOIT] 0x10 - Port scanning

nmap scan

Metasploit Database 사용 하도록 설정하였다면 Msf 내부에서 DB와 연결되는 nmap을 사용할 수 있습니다. nmap에 대한 결과가 Metasploit DB로 들어가 연동되기 때문에 후에 스캔 데이터를 가공하는데 있어 굉장히 편리합니다.

HAHWUL auxiliary(syn) > db_nmap -PN 192.168.56.101 [] Nmap: Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-02 16:48 KST [] Nmap: Nmap scan report for 192.168.56.101 [] Nmap: Host is up (0.000056s latency). [] Nmap: Not shown: 998 closed ports [] Nmap: PORT STATE SERVICE [] Nmap: 80/tcp open http [] Nmap: 24800/tcp open unknown [] Nmap: Nmap done: 1 IP address (1 host up) scanned in 1.68 seconds

일단적인 Port 스캔 진행 후 services나 hosts 등으로 Metasploit 내 정보를 보면 아래와 같이 스캔 결과가 잘 반영됨을 알 수 있습니다.

HAHWUL auxiliary(syn) > services

Services

host port proto name state info —- —- —– —- —– —- 192.168.56.101 80 tcp http open
192.168.56.101 24800 tcp unknown open

db_nmap은 nmap을 이용하고 그 결과를 db로 전달해주기 때문에 기존에 nmap에서 사용하는 옵션들을 그대로 쓸 수 있습니다. -O 옵션을 추가해서 스캔을 진행하면 OS finger 후 Metasploit hosts 정보에 반영해줍니다.

HAHWUL auxiliary(syn) > hosts

Hosts

address mac name os_name os_flavor os_sp purpose info comments ——- — —- ——- ——— —– ——- —- ——– 192.168.56.101 Unknown device

일단 스캔 후에는 아무정보가 없었지만..

HAHWUL auxiliary(syn) > db_nmap -PN 192.168.56.101 -O […]

HAHWUL auxiliary(syn) > hosts

Hosts

address mac name os_name os_flavor os_sp purpose info comments ——- — —- ——- ——— —– ——- —- ——– 192.168.56.101 Linux 3.X server

os_name 항목에 데이터가 추가되었습니다.

Port scanning modules

nmap이 아니여도 metasploit 자체에는 portscanner가 존재합니다. auxiliary 내 scanner 하단의 port scanner 들입니다.

HAHWUL > search portscan

Matching Modules

Name Disclosure Date Rank Description —- ————— —- ———– auxiliary/scanner/http/wordpress_pingback_access normal Wordpress Pingback Locator auxiliary/scanner/natpmp/natpmp_portscan normal NAT-PMP External Port Scanner auxiliary/scanner/portscan/ack normal TCP ACK Firewall Scanner auxiliary/scanner/portscan/ftpbounce normal FTP Bounce Port Scanner auxiliary/scanner/portscan/syn normal TCP SYN Port Scanner auxiliary/scanner/portscan/tcp normal TCP Port Scanner auxiliary/scanner/portscan/xmas normal TCP “XMas” Port Scanner auxiliary/scanner/sap/sap_router_portscanner normal SAPRouter Port Scanner

검색 결과 여러가지 scanner 가 나타납니다. 일반적인 tcp,syn 부터 ftpbounce, xmas 등 여러 기법 단위로 분리되어 있습니다.

HAHWUL auxiliary(xmas) > use auxiliary/scanner/portscan/syn HAHWUL auxiliary(syn) > show options

Module options (auxiliary/scanner/portscan/syn):

Name Current Setting Required Description —- ————— ——– ———– BATCHSIZE 256 yes The number of hosts to scan per set DELAY 0 yes The delay between connections, per thread, in milliseconds INTERFACE no The name of the interface JITTER 0 yes The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds. PORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900) RHOSTS yes The target address range or CIDR identifier SNAPLEN 65535 yes The number of bytes to capture THREADS 1 yes The number of concurrent threads TIMEOUT 500 yes The reply read timeout in milliseconds

대부분 옵션은 비슷합니다. 기호에 맞게 세팅 후 스캔을 진행하면..

HAHWUL auxiliary(syn) > set RHOSTS 192.168.56.0/24 RHOSTS => 192.168.56.0/24 HAHWUL auxiliary(syn) > set THREADS 10 THREADS => 10 HAHWUL auxiliary(syn) > run -j [*] Auxiliary module running as background job HAHWUL auxiliary(syn) > jobs

Jobs

Id Name Payload Payload opts – —- ——- ———— 0 Auxiliary: scanner/portscan/syn

nmap 스캔과 동일하게 스캔이 진행됩니다. 개인적으로는 성능이나 유연성 모두 nmap 이 우세하다고 보기 때문에 db_nmap을 통한 포트 스캔을 추천드립니다.

Idle Scanning

Metasploit에는 Idle scan이 가능한 PC를 찾는 모듈 또한 존재합니다. ipidseq 모듈이고 이 모듈을 사용하여 네트워크 대역 내 Idle scan이 가능한 host를 찾을 수 있습니다.

HAHWUL auxiliary(syn) > use auxiliary/scanner/ip/ipidseq HAHWUL auxiliary(ipidseq) > show options

Module options (auxiliary/scanner/ip/ipidseq):

Name Current Setting Required Description —- ————— ——– ———– INTERFACE no The name of the interface RHOSTS yes The target address range or CIDR identifier RPORT 80 yes The target port SNAPLEN 65535 yes The number of bytes to capture THREADS 1 yes The number of concurrent threads TIMEOUT 500 yes The reply read timeout in milliseconds

HAHWUL auxiliary(ipidseq) > set RHOSTS 192.168.56.1/24

[] 192.168.56.1’s IPID sequence class: All zeros [] 192.168.56.8’s IPID sequence class: Incremental! [] 192.168.56.101’s IPID sequence class: Incremental! [] 192.168.56.102’s IPID sequence class: All zeros

ipidseq를 이용해서 찾은 호스트를 기준으로 db_nmap을 통해 스캔을 진행합니다.

HAHWUL auxiliary(ipidseq) > db_nmap -Pn -sI 192.168.56.101 192.168.56.102 [*] Nmap: Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-02 17:55 KST Idle scan using zombie 192.168.56.101 (192.168.56.101:80); Class: Incremental Interesting ports on 192.168.56.102: PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds [….]

Reference

https://www.offensive-security.com/metasploit-unleashed/port-scanning/ https://nmap.org/book/idlescan.html