주의!!
다음의 툴을 사용하여 공공기관, 민간업체 등을 공격할 시에는 범죄행위로 간주됩니다.
아래의 글은 ICMP 및 Port Scanning 기법 등을 교육하기 위해 작성된 글으므로, 교육의 목적에만 활용하시기 바랍니다.


읽기 전에 블로그장의 한 마디
아마 처음보시는 분들은 이게 뭐야?? 라고 하실 수 있습니다. (워낙 글 주변이 없어서..) 
본 문서는 back track5 버전대에서 테스트에 사용하였고, 요즘엔 칼리 리눅스로 이름이 변경되었습니다.
해킹 및 보안에 관심있는 분들은 다운 받아서 "교육 목적" 으로 사용하시면 좋을것 같습니다.

그리고 테스트 환경에 대해서 말씀드리면,
back track5, CentOS5, wire shark(네트워크 스누핑용) 사용하여 테스트 하였습니다.

kali linux download : https://www.kali.org/downloads/
centos download : https://www.centos.org/download/
nmap download : https://nmap.org/download.html
wireshark download : https://www.wireshark.org/download.html

nmap 툴을 이용한 TCP Port Scanning
Ⓐ Port Scanning 기법 종류
Scanning 기법
의미
Open Scan
3Way handshake를 이용하여 완전히 연결을 수립한 상태에서 Scan하는 기법으로 종류에는 TCP Scan이 있다. 이는 호스트가 보내오는 신호에 따라 열린포트, 닫힌포트를 구분하는 방법, 단점으로 연결이 수립되어서 타겟 호스트에 로그가 남을 수 있다.
Half Scan
3Way handshake를 수립하지 않는 방법으로 종류에는 SYN Scan이 있다.
Stealth Scan
SYN 신호 자체를 전달하지 않는 방법으로 종류에는 FIN Scan, NULL Scan, Xmas Scan, ACK Scan이 있다.


Ⓑ nmap 툴을 이용하여 target IP에 열려있는 port와 실행 중인 서비스를 파악할 수 있다.
# nmap -option tagetIP 
옵션
의미
-s
T
Signal을 TCP Scan으로 보낸다.
S
Signal을 SYN Scan으로 보낸다.
F
Signal을 FIN Scan으로 보낸다.
N
Signal을 NULL Scan으로 보낸다.
X
Signal을 XMAS Scan으로 보낸다.
A
Signal을 ACK Scan으로 보낸다.
-P0
Scan 하기 전 ping test를 보내 해당 호스트와 연결이 되는지 확인하는데,
0으로 되어있으면 해당 작업을 하지 않는다.
-p port num
port number로 명시한 특정 포트만 Scanning 한다.
-T num
number가 0~5번까지 정의 가능한다. Scanning 속도를 조정한다.


Victim : CentOS 5.9 /   IP : 172.20.10.4
 Attacker : BTR3 /   IP : 172.20.10.6
Ⓐ TCP Scanning
graphic

closed된 21번 FTP port에 대해서 victim 측에서 RST, ACK 신호를 보낸다.
graphic

반면 open 되어 있는 23번 telnet port에 대해서는 attacker와 victim이 3 Way Handshake를 한다.
graphic



Ⓑ SYN Scanning
graphic

closed 된 20번 포트는 victim에서 RST 신호를 attacker로 보낸다.
graphic

open 된 22번 포트는 victim에서 SYN, ACK로 응답을 보내오면 attacker에서 RST 신호를 보내 3 Way handshake 연결을 수립하지 않는다.
graphic



Ⓒ FIN Scanning
graphic

FIN Scanning의 특징으로 Flags를 살펴보면 처음부터 FIN신호를 보내게된다.
graphic

open 되어있는 23번 telnet 포트는 attacker가 FIN 신호를 보내면 victim은 어떠한 반응도 보이지 않는다.
하지만, closed되어 있는 53번 domain 포트는 attacker가 FIN 신호를 보내자 victim은 RST, ACK 신호를 돌려주었다. 이를 통해 닫힌 포트와 열린 포트를 구분할 수 있다.
graphic


Ⓓ NULL Scanning
graphic

NULL Scanning의 특징은 Flags 부분이 모두 0으로 되어 있다는 것이다.
graphic

open 되어 있는 23번 telnet 포트에 대해서는 victim은 attacker에게 아무런 응답을 하지 않는다.
이를 보고 open되어 있다는 것을 판단할 수 있다.
graphic

close 되어 있는 21번 ftp 포트에 대해서는 victim은 RST, ACK 신호를 attacker에게 보낸다.
graphic





Ⓔ XMAS Scanning
graphic

XMAS Scanning의 특징으로 URG, PSH, FIN Flags를 같이 보낸다.
graphic

open되어 있는 25번 SMTP 포트는 attacker가 URG, PSH, FIN 신호를 보내면 victim은 아무런 반응을 하지 않는다.
graphic

close 되어 있는 110번 POP3 포트는 attacker로부터 URG, PSH, FIN 신호를 받으면 victim은 RST, ACK 신호를 보내 포트가 닫혀있다는 것을 알려준다.
graphic




Ⓕ ACK Scanning
1. 방화벽 미설정 시
graphic

2. 방화벽 설정시
graphic

ACK Scanning의 특징은 attacker에서 ACK 신호를 해당 포트로 날려 방화벽의 유무를 확인한다는 점이다.
graphic



1. 방화벽 미설정시에는 attacker가 보내온 신호에 대해 RST 신호로 응답을 해주었다.
graphic

2. 방화벽 설정시에는 attacker가 보내온 신호에 대해 ICMP 프로토콜을 이용해서 Destination unreachable로 응답하고 있다.
graphic

ACK Scanning 을 통해 방화벽 유무를 확인할 수 있다.


+ Recent posts