๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”’์ •๋ณด๋ณด์•ˆ/๋„คํŠธ์›Œํฌ ๋ณด์•ˆ

๋„คํŠธ์›Œํฌ ๋ณด์•ˆ - ํฌํŠธ ์Šค์บ”(port scan) with Wireshark, nmap

by Janger 2023. 6. 21.
728x90
๋ฐ˜์‘ํ˜•

 

๊ฐœ์š”

ํฌํŠธ ์Šค์บ”(port scan)์€ ์šด์˜ ์ค‘์ธ ์„œ๋ฒ„์—์„œ ์—ด๋ ค ์žˆ๋Š” TCP/UDP ํฌํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

 

์‹ค์Šต ์‚ฌ์ „ ์ค€๋น„

Windows ํ™˜๊ฒฝ์— ์™€์ด์–ด์ƒคํฌ์™€ ํŒŒ์ด์ฌ์„ ์ค€๋น„ํ•œ๋‹ค. ํฌํŠธ ์Šค์บ๋‹ ๋„๊ตฌ์ธ nmap์ด ์„ค์น˜๋ผ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

 

์™€์ด์–ด์ƒคํฌ ์„ธํŒ…

์™€์ด์–ด์ƒคํฌ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ  "Adapter for loopback traffic capture"๋ฅผ ๋ˆŒ๋Ÿฌ ๋กœ์ปฌ ๋‚ด์—์„œ ์ผ์–ด๋‚˜๋Š” ํŠธ๋ž˜ํ”ฝ๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•œ๋‹ค. 

 

๋‹ค์Œ ์•„๋ž˜์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด ๊ฐ๊ฐ TCP, UDP ์„œ๋ฒ„๋ฅผ ์—ด์–ด์ค€๋‹ค. 

 

tcp_server.py
import socket

def start_tcp_server(host, port):
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind((host, port))
    server_socket.listen(1)  # ์ตœ๋Œ€ 1๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ํ—ˆ์šฉ

    print(f"TCP ์„œ๋ฒ„๊ฐ€ {host}:{port}์—์„œ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.")

    while True:
        client_socket, client_address = server_socket.accept()
        print(f"{client_address}์—์„œ ์—ฐ๊ฒฐ๋จ.")

        # ํด๋ผ์ด์–ธํŠธ์™€ ํ†ต์‹ ํ•˜๋ ค๋ฉด client_socket์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

        client_socket.close()

if __name__ == '__main__':
    host = '0.0.0.0'  # ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ
    port = 12345  # ์„œ๋ฒ„ ํฌํŠธ ๋ฒˆํ˜ธ
    start_tcp_server(host, port)

 

udp_server.py
import socket

def start_udp_server(host, port):
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    server_socket.bind((host, port))

    print(f"UDP ์„œ๋ฒ„๊ฐ€ {host}:{port}์—์„œ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.")

    while True:
        data, client_address = server_socket.recvfrom(1024)
        print(f"{client_address}์—์„œ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ : {data.decode()}")

        # ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต์„ ๋ณด๋‚ด๋ ค๋ฉด server_socket.sendto()๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

if __name__ == '__main__':
    host = '0.0.0.0'  # ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ
    port = 12345  # ์„œ๋ฒ„ ํฌํŠธ ๋ฒˆํ˜ธ
    start_udp_server(host, port)

 


 

 

Open Scan
  • TCP Open
    • ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์„ ๊ฒฝ์šฐ SYN+ACK์ด ์˜จ๋‹ค. 
    • ํฌํŠธ๊ฐ€ ๋‹ซํ˜€ ์žˆ์„ ๊ฒฝ์šฐ RST๊ฐ€ ์˜จ๋‹ค. 
    • 3-way handshake(SYN, SYN+ACK, ACK)๊ฐ€ ์„ฑ๋ฆฝ๋˜๋ฏ€๋กœ ๋กœ๊ทธ๊ฐ€ ๋‚จ๊ธฐ๊ฒŒ ๋œ๋‹ค. 

 

์‚ฌ๋ก€ 1) ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์„ ๊ฒฝ์šฐ

> nmap -sT -p 12345 172.30.1.44

PORT      STATE SERVICE
12345/tcp open  netbus

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

 

 

 

์‚ฌ๋ก€ 2) ํฌํŠธ๊ฐ€ ๋‹ซํ˜€ ์žˆ์„ ๊ฒฝ์šฐ

> nmap -sT -p 12345 172.30.1.44

PORT      STATE    SERVICE
12345/tcp filtered netbus

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

 

 

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec37/full-opentcp-connect-scans

 

 

  • UDP Open
    • ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์„ ๊ฒฝ์šฐ์™€ IDS/IPS, ๋ฐฉํ™”๋ฒฝ ๋“ฑ์— ํ•„ํ„ฐ๊ฐ€ ๋œ ๊ฒฝ์šฐ์—๋Š” ์‘๋‹ต์ด ์˜ค์ง€ ์•Š๋Š”๋‹ค. 
    • ํฌํŠธ๊ฐ€ ๋‹ซํ˜€ ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” ICMP Unreachable ํŒจํ‚ท์„ ์ˆ˜์‹ ๋ฐ›๋Š”๋‹ค. 

 

์‚ฌ๋ก€ 1) ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์„ ๊ฒฝ์šฐ

> nmap -sU -p 12345 172.30.1.44

PORT      STATE         SERVICE
12345/udp open|filtered italk

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

 

 

์‚ฌ๋ก€ 2) ํฌํŠธ๊ฐ€ ๋‹ซํ˜€ ์žˆ์„ ๊ฒฝ์šฐ

> nmap -sU -p 12345 172.30.1.44

PORT      STATE  SERVICE
12345/udp closed italk

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

 

 


 

 

3. Stealth Scan

์„ธ์…˜์„ ์™„์ „ํžˆ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๊ณ  ๊ณต๊ฒฉ ๋Œ€์ƒ ์‹œ์Šคํ…œ์˜ ํฌํŠธ ํ™œ์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์ƒ ์‹œ์Šคํ…œ์— ๋กœ๊ทธ๊ฐ€ ๋‚จ์ง€ ์•Š๋Š”๋‹ค. 

โ€ป Windows๋Š” Stealth Scan(SYN ์Šค์บ” ์ œ์™ธ)์„ ์‹œ๋„ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด ์‘๋‹ต์ด RST๊ฐ€ ์˜ค๋ฏ€๋กœ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋Œ€์ƒ ์‹œ์Šคํ…œ์ด Windows ์‹œ์Šคํ…œ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

์œ„ ์‚ฌ์ง„์€ Open Scan์„ ์‹œ๋„ํ•˜์˜€์„ ๋•Œ ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ ๋๋‹ค๋Š” ๋กœ๊ทธ๊ฐ€ ๋‚จ์€ ๊ฒƒ์ด๋‹ค. 

 

Stealth Scan์„ ์‹œ๋„ํ•˜๋ฉด ์ด๋ฒˆ์—” ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ ๋กœ๊ทธ๊ฐ€ ๋‚จ์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. 

 

 

  • TCP FIN ์Šค์บ”
    • FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค. ์‘๋‹ต์ด ์—†์œผ๋ฉด ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. 
    • RST ํŒจํ‚ท์ด ๋˜๋Œ์•„์˜ค๋ฉด ๋‹ซํ˜€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 
> nmap -sF -p 12345 172.30.1.44

 

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec40/fin-scans

 

 

  • TCP ACK ์Šค์บ”
    • ํฌํŠธ์˜ ์˜คํ”ˆ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ์Šค์บ”
    • ๋Œ€์ƒ ๋ฐฉํ™”๋ฒฝ์ด ์ƒํƒœ ๊ธฐ๋ฐ˜(Stateful)์ธ์ง€ ์—ฌ๋ถ€, ๋Œ€์ƒ ํฌํŠธ๊ฐ€ ๋ฐฉํ™”๋ฒฝ์—์„œ ํ•„ํ„ฐ๋ง๋˜๋Š”์ง€ ์—ฌ๋ถ€
> nmap -sA -p 12345 172.30.1.44

 

 

 

  • NULL ์Šค์บ”
    • NULL ํ”Œ๋ž˜๊ทธ(๋ชจ๋“  ํ”Œ๋ž˜๊ทธ๊ฐ€ 0)๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค. ์‘๋‹ต์ด ์—†์œผ๋ฉด ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. 
    • RST ํŒจํ‚ท์ด ๋˜๋Œ์•„์˜ค๋ฉด ๋‹ซํ˜€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 
> nmap -sN -p 12345 172.30.1.44

 

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec41/null-scans

 

 

  • Xmas ์Šค์บ”
    • ์—ฌ๋Ÿฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋™์‹œ์— ์„ค์ •ํ•˜์—ฌ ํ•œ๊บผ๋ฒˆ์— ๋ณด๋‚ธ๋‹ค. ์‘๋‹ต์ด ์—†์œผ๋ฉด ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. 
    • RST ํŒจํ‚ท์ด ๋˜๋Œ์•„ ์˜ค๋ฉด ๋‹ซํ˜€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 
    • ๋งˆ์น˜ ํฌ๋ฆฌ์Šค๋งˆ์Šค ํŠธ๋ฆฌ ์žฅ์‹์ฒ˜๋Ÿผ ๋ฐ˜์ง์ด๋Š” ๊ฒƒ์ด ์ด๋ฆ„์ด ์œ ๋ž˜์ด๋‹ค. 
> nmap -sX -p 12345 172.30.1.44

 

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec39/xmas-scans

 

 

 

  • SYN ์Šค์บ”
    • Open ์Šค์บ”๊ณผ ๋Œ€๋น„ํ•˜์—ฌ Half-Open ์Šค์บ”์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. 
    • SYN์„ ๋ณด๋‚ด SYN+ACK์ด ์˜ค๋ฉด ์—ด๋ฆฐ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๊ณ , RST ํŒจํ‚ท์„ ๋ณด๋‚ด ์ ‘์†์„ ๋Š์–ด๋ฒ„๋ฆฐ๋‹ค. 
    • nmap์— ์•„๋ฌด๋Ÿฐ ์Šค์บ” ์˜ต์…˜์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด SYN ์Šค์บ”์ด ๊ธฐ๋ณธ ์˜ต์…˜์ด ๋œ๋‹ค. 
> nmap -sS -p 12345 172.30.1.44

PORT      STATE SERVICE
12345/tcp open  netbus

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

 

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec38/stealth-scans

 

 

 

 

์ฐธ๊ณ : 

https://itwiki.kr/w/%ED%8F%AC%ED%8A%B8_%EC%8A%A4%EC%BA%94

 

IT์œ„ํ‚ค

IT์— ๊ด€ํ•œ ๋ชจ๋“  ์ง€์‹. ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๊นจ๋—ํ•œ ์œ„ํ‚ค

itwiki.kr

 

https://subscription.packtpub.com/book/penetration-testing/9781788995177/4/ch04lvl1sec36/port-scanning

 

Port scanning | Hands-On Penetration Testing with Kali NetHunter

After live systems have been identified, it's time to check for any open ports on the target.

www.prod.packt.com

 

728x90
๋ฐ˜์‘ํ˜•