
skshieldusrookies19기 5주 2일차
IPtables
Iptables is a powerful Linux utility that allows system administrators to configure the kernel’s built-in firewall.
iptables COMMAND -p -s -d -j
COMMAND
chain
-s(출발지 IP) , -d(목적지 IP),
j : 조건 만족하는 패킷 어케 처리할건지
규칙 조회
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- kali.linux anywhere tcp flags:RST/RST
wireshark를 실행한 상태에서 hanshaking.py 파일을 실행

RST 패킷이 자동으로 전달되는 이유

방화벽 정책

| 트래픽 방향 | 사용자 | 송신지 IP | 수신지 IP | 허용포트 | 시간대 |
|---|---|---|---|---|---|
| 외부 → 내부 | |||||
| 외부 → DMZ | 모든 사용자 | 모든 네트워크 | DMZ 네트워크 | HTTP, SMTP, POP3 | 모든 시간대 |
| 내부 → 외부 | 내부 사용자 | 내부 네트워크 | 모든 네트워크 | 차단 권고하는 포트를 제외한 대부분의 포트를 허용 | 근무 시간에 특정 사이트에 대해 접속을 차단 |
| 내부 → DMZ | 인증을 거친 사용자 | 내부 네트워크 | DMZ 네트워크 | SSH, SFTP, HTTP, SMTP, POP3 | 모든 시간대 |
| DMZ → 외부 | DMZ 네트워크 사용자 | DMZ 네트워크 | 모든 네트워크 | 차단 권고하는 포트를 제외한 대부분의 포트를 허용 | 모든 시간대 |
| DMZ → 내부 | DMZ 네트워크의 특정 IP | 내부 네트워크의 특정 IP | 내부 네트워크의 서비스 포트로 제한 | 모든 시간대 |
방화벽 한계
내부 네트워크에 존재하는 악의적인 공격은 막을 수 없음
방화벽을 경유하지 않는 공격을 막을 수 없음
방화벽에 방어 규칙에 포함되지 않는 공격을 막을 수 없음
데이터에 실려 있는 악성 코드나 바이러스를 막을 수 없음 ⇒ 메일에 첨부된 악성 코드를 막을 수 없음
DoS와 DDoS 공격을 막을 수 없음 ⇐ 정상적인 서비스 포트를 이용한 공격이므로
iptables
Iptables is a powerful Linux utility that allows system administrators to configure the kernel’s built-in firewall.
# iptables COMMAND <chain> -p <protocol> -s <source> -d <destination> -j <actioN>
~~~~~~~ ~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
| | 프로토콜 출발지 IP 목적지 IP 조건(chain, protocol, source, dest)을 만족하는
| | 패킷의 처리 방법
| +-- 관련된 규칙(rule)의 모음 ACCEPT : 트래픽을 허용
| INPUT : imcoming traffic DROP : 트래픽을 차단
| OUTPUT : outgoing traffic
| FORWARD : 다른 네트워크로 라우팅되는 트래픽
|
+-- -A : 규칙 추가
-L : 규칙 조회
-D : 규칙 삭제
# iptables-save : 규칙을 파일로 저작
# iptables-restore : 규칙 파일을 규칙에 적용
규칙 조회
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- kali.linux anywhere tcp flags:RST/RST
$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
368 15164 DROP tcp -- any any kali.linux anywhere tcp flags:RST/RST
규칙추가
┌──(kali㉿kali)-[~]
└─$ sudo iptables -A OUTPUT -d "192.168.40.130" -j DROP
┌──(kali㉿kali)-[~]
└─$ curl http://bee.box ⇐ bee.box로 접속되지 않는 것을 확인
# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
~~~~~~~~~~~~~~
특정 네트워크 ID로부터 온 패킷을 허용
# iptables -A INPUT 2 -s 192.168.1.0/24 -j ACCEPT
~
인바운드 두번째 규칙으로 추가
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
~~~~~~~~~~~~~~~~~
TCP 프로토콜의 22번 포트(SSH)의 접속을 허용
규칙 삭제
┌──(kali㉿kali)-[~]
└─$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- kali.linux anywhere tcp flags:RST/RST
DROP all -- anywhere bee.box
┌──(kali㉿kali)-[~]
└─$ sudo iptables -D OUTPUT 2 ⇐ 삭제할 체인과 규칙 번호를 입력
┌──(kali㉿kali)-[~]
└─$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- kali.linux anywhere tcp flags:RST/RST
규칙을 파일로 저장 및 복원
┌──(kali㉿kali)-[~]
└─$ sudo iptables-save > ./iptables.rules
┌──(kali㉿kali)-[~]
└─$ cat ./iptables.rules
# Generated by iptables-save v1.8.9 (nf_tables) on Mon Mar 25 20:44:19 2024
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A OUTPUT -s 192.168.40.129/32 -p tcp -m tcp --tcp-flags RST RST -j DROP
COMMIT
# Completed on Mon Mar 25 20:44:19 2024
┌──(kali㉿kali)-[~]
└─$ sudo iptables-restore < ./iptables.rules
와이어 샤크 다운로드 및 설치 (kali 가상머신에서 진행해도 무관)
링크텍스트
캡쳐 필터(capture filter)
시작 화면의 Capture 란에서 설정이 가능

캡쳐 옵션 창에서 설정이 가능

#1 특정 IP 주소에서 오는 또는 주소로 가는 트래픽을 수집
host 10.3.1.1
not host 10.3.1.1
src host 10.3.1.1
dst host 10.3.1.1
host 10.3.1.1 or host 10.3.1.2
host www.test.com

#2 IP 주소 범위에서 오는 또는 범위로 가능 트래픽 수집
net 10.3.0.0/16
net 10.3.0.0 mask 255.255.0.0
ipv6 net 2406:da00:ff00::/64
src net 10.3.0.0/16
dst net 10.3.0.0/16
not dst net 10.3.0.0/16
#3 브로드캐스트 또는 멀티캐스트 트래픽 수집
ip broadcast
ip multicast
#4 MAC 주소 기반의 트래픽 수집
ether host AA:BB:CC:DD:EE:FF
ether src AA:BB:CC:DD:EE:FF
ether dst AA:BB:CC:DD:EE:FF
not ether host AA:BB:CC:DD:EE:FF
#5 특정 애플리케이션에 대한 트래픽 수집
port 53
not port 53
port 80
udp port 67
tcp port 21
portrange 1-80
tcp portrange 1-80
port 20 or port 21
host 10.3.1.1 and port 80
host 10.3.1.1 and not port 80
udp src port 68 and udp dst port 67 ⇐ udp 68 에서 udp 67 로 가는 트래픽
디스플레이 필터(display filter)
원하지 않는 패킷을 숨김
지정된 표현식을 기반으로 원하는 패킷만 보기

연산자 영어표기 예
== eq ip.src == 10.2.2.2
!= ne tcp.srcport != 80
gt frame.time_relavive > 1
< lt tcp.window_size < 1400
= ge dns.count.answers >= 10
<= le ip.ttl <= 10
contains http container "GET"
#1 단순 IP 주소의 호스트에서 또는 호스트로 전달된 트래픽 필터링
ip.addr == 10.3.1.1
!ip.addr == 10.3.1.1
ip.src == 10.3.1.1
ip.dst == 10.3.1.1
ip.host == www.test.com
#2 주소 범위에서 또는 범위로 전달된 트래픽 필터링
ip.addr > 10.3.0.1 && ip.addr < 10.3.0.5
(ip.addr >= 10.3.0.1 && ip.addr <= 10.3.0.6) && !ip.addr == 10.3.0.3
⇐ 10.3.0.1 ~ 10.3.0.6 범위의 트래픽 중 10.3.0.3 을 제외한 트래
#3 IP 서브넷에서 또는 서브넷으로 전달된 트래픽 필터링
ip.addr == 10.3.0.0/16
ip.addr == 10.3.0.0/16 && !ip.addr = 10.3.0.3
!ip.addr == 10.3.0.0/16 && !ip.addr = 10.2.0.0/16
캡처 필터 vs 디스플레이 필더
캡처 필터 디스플레이 필터
host 172.16.1.1 ip.host == 172.16.1.1
src host 172.16.1.1 ip.src == 172.16.1.1
dst host 172.16.1.1 ip.dst == 172.16.1.1
port 8080 tcp.port == 8080
!port 8080 tcp.port != 8080
Conversation Filter
관심 있는 데이터를 빠르게 분석 가능

kali 가상머신에서 wireshark를 실행하고, bee.box (접속 후 로그인), google.com, naver.com으로 접속한 후 패킷 캡처를 종료 후
(1) bee.box로 연결 요청한 트래픽(SYN 플래그가 설정된 트래픽)을 확인하는 필터

(2) bee.box 사이트로 POST 요청한 트래픽을 확인하는 필터

(3) bee.box 사이트로 로그인할 때 사용한 요청 파라미터 정보를 확인

#1 Name Resolution 설정


(1) bee.box로 연결 요청한 트래픽(SYN 플래그가 설정된 트래픽)을 확인하는 필터
ㄱ. TCP SYN 플래그가 설정된 트래픽을 필터링 ⇒ SYN 트래픽과 SYN, ACK 트래픽이 함께 출력

ㄴ. TCP SYN 플래그는 설정되어 있고, ACK 플래그는 설정되지 않은 트래픽을 필터링

ㄷ. tcp.flags.str 필터 항목을 이용해서 #2와 동일 결과가 필터링되도록 수정

ㄹ. 호스트 명이 bee.box 인 트래픽으로 제한

(2) bee.box 사이트로 POST 요청한 트래픽을 확인하는 필터

(3) bee.box 사이트로 로그인할 때 사용한 요청 파라미터 정보를 확인
패킷 디테일 창에서 확인

Follow HTTP Stream 한 결과에서 확인


$ tshark -h
TShark (Wireshark) 4.2.0 (Git v4.2.0 packaged as 4.2.0-1)
Dump and analyze network traffic.
See https://www.wireshark.org for more information.
Usage: tshark [options] ...
Capture interface:
-i <interface>, --interface <interface>
name or idx of interface (def: first non-loopback)
-f <capture filter> packet filter in libpcap filter syntax
-s <snaplen>, --snapshot-length <snaplen>
packet snapshot length (def: appropriate maximum)
-p, --no-promiscuous-mode
don't capture in promiscuous mode
-I, --monitor-mode capture in monitor mode, if available
-B <buffer size>, --buffer-size <buffer size>
size of kernel buffer (def: 2MB)
... 생략 ...
$ tshark -D
1. eth0
2. any
3. lo (Loopback)
4. bluetooth0
5. bluetooth-monitor
6. nflog
7. nfqueue
8. dbus-system
9. dbus-session
10. ciscodump (Cisco remote capture)
11. dpauxmon (DisplayPort AUX channel monitor capture)
12. randpkt (Random packet generator)
13. sdjournal (systemd Journal Export)
14. sshdump (SSH remote capture)
15. udpdump (UDP Listener remote capture)
16. wifidump (Wi-Fi remote capture)
$ tshark -i 1 ⇐ 1번 NIC의 트래픽을 캡쳐
Capturing on 'eth0'
1 0.000000000 kali.linux → bee.box TCP 74 50962 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM TSval=495650891 TSecr=0 WS=128
2 0.001559399 bee.box → Broadcast ARP 60 Who has 192.168.40.129? Tell 192.168.40.130
3 0.001579685 kali.linux → bee.box ARP 42 192.168.40.129 is at 00:0c:29:ca:54:d8
4 0.001700100 bee.box → kali.linux TCP 74 80 → 50962 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 SACK_PERM TSval=71649699 TSecr=495650891 WS=64
5 0.001740862 kali.linux → bee.box TCP 66 50962 → 80 [ACK] Seq=1 Ack=1 Win=64256 Len=0 TSval=495650892 TSecr=71649699
6 0.002120977 kali.linux → bee.box HTTP 572 GET /bWAPP/login.php HTTP/1.1
7 0.002282784 bee.box → kali.linux TCP 66 80 → 50962 [ACK] Seq=1 Ack=507 Win=6912 Len=0 TSval=71649700 TSecr=495650893
8 0.003608975 bee.box → kali.linux TCP 2962 HTTP/1.1 200 OK [TCP segment of a reassembled PDU]
9 0.003656759 kali.linux → bee.box TCP 66 50962 → 80 [ACK] Seq=507 Ack=2897 Win=63488 Len=0 TSval=495650894 TSecr=71649700
10 0.003815021 bee.box → kali.linux HTTP 1604 HTTP/1.1 200 OK (text/html)
$ tshark -i 1 -w tshark.pcapng ⇐ 캡쳐한 트래픽을 파일에 저장
Capturing on 'eth0'
52 ^C
$ tshark -r tshark.pcapng ⇐ 캡쳐 파일의 내용을 확인
1 0.000000000 kali.linux → bee.box TCP 74 57766 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM TSval=495875753 TSecr=0 WS=128
2 0.000249041 bee.box → kali.linux TCP 74 80 → 57766 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 SACK_PERM TSval=71705918 TSecr=495875753 WS=64
3 0.000290779 kali.linux → bee.box TCP 66 57766 → 80 [ACK] Seq=1 Ack=1 Win=64256 Len=0 TSval=495875753 TSecr=71705918
4 0.002774296 kali.linux → bee.box HTTP 572 GET /bWAPP/login.php HTTP/1.1
5 0.003096659 bee.box → kali.linux TCP 66 80 → 57766 [ACK] Seq=1 Ack=507 Win=6912 Len=0 TSval=71705919 TSecr=495875756
6 0.004841479 bee.box → kali.linux HTTP 4500 HTTP/1.1 200 OK (text/html)
7 0.004979293 kali.linux → bee.box TCP 66 57766 → 80 [ACK] Seq=507 Ack=4436 Win=62080 Len=0 TSval=495875758 TSecr=71705919
8 0.009162178 kali.linux → bee.box TCP 66 57766 → 80 [FIN, ACK] Seq=507 Ack=4436 Win=64128 Len=0 TSval=495875762 TSecr=71705919
9 0.009477852 bee.box → kali.linux TCP 66 80 → 57766 [ACK] Seq=4436 Ack=508 Win=6912 Len=0 TSval=71705920 TSecr=495875762
$ tshark -i 1 -a files:3 -b duration:10 -w tshark_files.pcapng
~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| +-- 10초 후 다음 파일을 생성
+-- 3개 파일 수집 후 자동 정지
Capturing on 'eth0'
1928
$ ls -l tshark_files*
-rw------- 1 kali kali 170304 Mar 26 01:57 tshark_files_00001_20240326015704.pcapng
-rw------- 1 kali kali 2188976 Mar 26 01:57 tshark_files_00002_20240326015714.pcapng
-rw------- 1 kali kali 1610200 Mar 26 01:57 tshark_files_00003_20240326015724.pcapng
~~ 10초 간격으로 생성된 것을 확인
$ tshark -i 1 -f "tcp port 443" -w tshark_tcp_port_443.pcapng
Capturing on 'eth0'
693 ^C
$ ls -l tshark_tcp_port_443.pcapng
-rw------- 1 kali kali 1647544 Mar 26 02:01 tshark_tcp_port_443.pcapng
$ tshark -i 1 -f "tcp port 443 and host 192.168.40.1" -w tshark_tcp_port_443.pcapng
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
패킷 필터
$ tshark -r tshark.pcapng -Y "http.request.method == GET"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
디스플레이 필터
4 0.002774296 kali.linux → bee.box HTTP 572 GET /bWAPP/login.php HTTP/1.1
$ tshark -i 1 -qz hosts ⇐ 접속한 호스트 목록을 확인
Capturing on 'eth0'
^C1140 packets captured
# TShark hosts output
#
# Host data gathered from the temporary capture file
61.247.194.89 s1.e.navercdn.com
192.168.40.129 kali.linux
61.247.194.151 s2.e.navercdn.com
142.250.76.130 adservice.google.com
183.111.26.166 ntm.pstatic.net.static.gscdn.net
61.247.194.143 s2.e.navercdn.com
110.93.154.77 shopsquare.naver.com.nheos.com
117.52.137.162 lcs.naver.com.nheos.com
61.247.194.92 s1.e.navercdn.com
61.247.194.154 s2.e.navercdn.com
$ tshark -r tshark.pcapng -qz hosts
# TShark hosts output
#
# Host data gathered from tshark.pcapng
192.168.40.129 kali.linux
192.168.40.130 bee.box
nmap (network mapper)
Port Scan
|
+------------+------------+
| |
Open Scan Stealth Scan
| |
+-- TCP Scan +-- FIN Scan
+-- UDP Scan +-- XMAX Scan
+-- NULL Scan
스캔 방법에 따른 nmap 옵션 설명
-------------------------- ----------------------------------
-sT connect() 함수를 이용한 Open Scan ⇒ TCP Open Scan
-sS 세션을 성립시키지 않고 TCP SYN 스캔 ⇒ TCP Half-Open Scan
-sF FIN 패킷을 이용한 스캔 ⇒ FIN Scan
-sN Null 패킷을 이용한 스캔 ⇒ NULL Scan
-sX XMAS 패킷을 이용한 스캔 ⇒ XMAX Scan
-sU UDP 포트 스캔 ⇒ UDP Scan
-sA ACK 패킷에 대한 TTL 값을 분석
Target 서버에 해당 포트가 열려 있는 경우
Attacker Target $ nmap -sT TargetIP
SYN
----------------------> . 포트가 열려 있는 경우 SYN/ACK 패킷을 수신
SYN/ACK . SYN/ACK에 ACK 패킷을 전송함으로써 연결을 완료
<---------------------- . 스캔하고자 하는 포트에 접속을 시도해 완전한 TCP 연결을 맺어
ACK 신뢰성 있는 결과를 얻음
----------------------> . 속도가 느리고 로그를 남기므로 탐지가 가능하다는 단점이 있음
Target 서버에 해당 포트가 닫혀 있는 경우
Attacker Target
SYN
---------------------->
RST/ACK
<----------------------
Target 서버에 차단정책으로 차단되어 있는 경우
Attacker Target
SYN
---------------------->
$ nmap -sT bee.box
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 02:57 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.0025s latency).
Not shown: 983 closed tcp ports (conn-refused)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
666/tcp open doom
3306/tcp open mysql
5901/tcp open vnc-1
6001/tcp open X11:1
8080/tcp open http-proxy
8443/tcp open https-alt
9080/tcp open glrpc
Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
닫혀 있는 포트인 경우

열려 있는 포트인 경우

beebox 가상머신에 8080 포트로 연결(SYN) 요청이 들어오면 해당 패킷을 DROP하도록 iptables에 추가
bee@bee-box:~$ sudo iptables -A INPUT -p tcp --tcp-flags SYN SYN --dport 8080 -j DROP
bee@bee-box:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:webcache flags:SYN/SYN
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
kali 가상머신에서 beebox 가상머신으로 포트 스캔
$ nmap -sT bee.box
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 03:14 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.00053s latency).
Not shown: 983 closed tcp ports (conn-refused)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
666/tcp open doom
3306/tcp open mysql
5901/tcp open vnc-1
6001/tcp open X11:1
8080/tcp filtered http-proxy
8443/tcp open https-alt
9080/tcp open glrpc
Nmap done: 1 IP address (1 host up) scanned in 1.31 seconds

Target 서버에 해당 포트가 열려 있는 경우
Attacker Target $ nmap -sS TARGET_IP [ -p 포트번호 ]
SYN
----------------------> . 세션에 대한 로그가 남는 TCP Full Open Scan을 보완하기 위한 기법
SYN/ACK . 공격 대상으로부터 SYN/ACK 패킷을 받으면 공격자는 RST 패킷을 보내서
<---------------------- 연결을 끊음
RST . 세션을 완전히 연결하지 않음
----------------------> . 로그가 남지 않아 추적이 불가능하도록 하는 기법
Target 서버에 해당 포트가 닫혀 있는 경우
Attacker Target
SYN
---------------------->
RST/ACK
<----------------------
Target 서버에 차단정책으로 차단되어 있는 경우
Attacker Target
SYN
---------------------->
kali 가상머신에서 beebox 가상머신으로 포트 스캐닝
$ sudo nmap -sS bee.box
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 03:44 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.010s latency).
Not shown: 983 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
666/tcp open doom
3306/tcp open mysql
5901/tcp open vnc-1
6001/tcp open X11:1
8080/tcp filtered http-proxy
8443/tcp open https-alt
9080/tcp open glrpc
MAC Address: 00:0C:29:3E:BA:70 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.45 seconds
열려 있는 포트

닫혀 있는 포트

필터링된 포트

Steath Scan
Target 서버에 해당 포트가 열려 있는 경우
Attacker Target $ nmap -sF TARGET_IP [ -p 포트번호 ]
FIN
----------------------> . TCP 헤더에 FIN 플래그를 설정해서 공격 대상에게 메시지를 전송
. 포트가 열려 있는 경우, 응답이 없음
Target 서버에 해당 포트가 닫혀 있는 경우
Attacker Target
FIN
---------------------->
RST/ACK
<----------------------
Target 서버에 차단정책으로 차단되어 있는 경우
Attacker Target
FIN
---------------------->
Target 서버에 해당 포트가 열려 있는 경우
Attacker Target $ nmap -sX TARGET_IP [ -p 포트번호 ]
UGR,PSH,FIN
----------------------> . TCP 헤더에 UGR, PSH, FIN 플래그를 동시에 설정해서 전송
. 포트가 열려 있는 경우, 응답이 없음
Target 서버에 해당 포트가 닫혀 있는 경우
Attacker Target
UGR,PSH,FIN
---------------------->
RST/ACK
<----------------------
Target 서버에 차단정책으로 차단되어 있는 경우
Attacker Target
UGR,PSH,FIN
---------------------->
Target 서버에 해당 포트가 열려 있는 경우
Attacker Target $ nmap -sN TARGET_IP [ -p 포트번호 ]
null
----------------------> . TCP 헤더에 플래그를 설정핮디 않고 전송
. 포트가 열려 있는 경우, 응답이 없음
Target 서버에 해당 포트가 닫혀 있는 경우
Attacker Target
null
---------------------->
RST/ACK
<----------------------
Target 서버에 차단정책으로 차단되어 있는 경우
Attacker Target
null
---------------------->
$ sudo nmap -sF bee.box
[sudo] password for kali:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 04:00 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.00043s latency).
Not shown: 983 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open|filtered ftp
22/tcp open|filtered ssh
25/tcp open|filtered smtp
80/tcp open|filtered http
139/tcp open|filtered netbios-ssn
443/tcp open|filtered https
445/tcp open|filtered microsoft-ds
512/tcp open|filtered exec
513/tcp open|filtered login
514/tcp open|filtered shell
666/tcp open|filtered doom
3306/tcp open|filtered mysql
5901/tcp open|filtered vnc-1
6001/tcp open|filtered X11:1
8080/tcp open|filtered http-proxy
8443/tcp open|filtered https-alt
9080/tcp open|filtered glrpc
MAC Address: 00:0C:29:3E:BA:70 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.47 seconds
열린 포트

차단된 포트

닫힌 포트

$ sudo nmap -sX bee.box
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 04:02 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.017s latency).
Not shown: 983 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open|filtered ftp
22/tcp open|filtered ssh
25/tcp open|filtered smtp
80/tcp open|filtered http
139/tcp open|filtered netbios-ssn
443/tcp open|filtered https
445/tcp open|filtered microsoft-ds
512/tcp open|filtered exec
513/tcp open|filtered login
514/tcp open|filtered shell
666/tcp open|filtered doom
3306/tcp open|filtered mysql
5901/tcp open|filtered vnc-1
6001/tcp open|filtered X11:1
8080/tcp open|filtered http-proxy
8443/tcp open|filtered https-alt
9080/tcp open|filtered glrpc
MAC Address: 00:0C:29:3E:BA:70 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.48 seconds
열린 포트

닫힌 포트

차단된 포트

$ sudo nmap -sN bee.box
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 04:08 EDT
Nmap scan report for bee.box (192.168.40.130)
Host is up (0.010s latency).
Not shown: 983 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open|filtered ftp
22/tcp open|filtered ssh
25/tcp open|filtered smtp
80/tcp open|filtered http
139/tcp open|filtered netbios-ssn
443/tcp open|filtered https
445/tcp open|filtered microsoft-ds
512/tcp open|filtered exec
513/tcp open|filtered login
514/tcp open|filtered shell
666/tcp open|filtered doom
3306/tcp open|filtered mysql
5901/tcp open|filtered vnc-1
6001/tcp open|filtered X11:1
8080/tcp open|filtered http-proxy
8443/tcp open|filtered https-alt
9080/tcp open|filtered glrpc
MAC Address: 00:0C:29:3E:BA:70 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.46 seconds
열린 포트

닫힌 포트

차단된 포트

다음 패캣 내용을 보고 진행 중으로 예상되는 공격 방법과 그에 대한 판단 근거를 설명하시오.

열린 포트인 경우
Attacker Target
UDP
---------------------->
UDP
<----------------------
닫힌 포트인 경우
Attacker Target
UDP
---------------------->
ICMP Unreachable
<----------------------
차단된 포트인 경우
Attacker Target
UDP
---------------------->
#SCAN #SKshieldusrookies #TCPdump Tshark #sk쉴더스루키즈 #방화벽 #연산자 #클라우드 #트래픽수집 #포트스캐닝