TCP 공격 - 포트스캐닝
TCP를 이용한 공격기법
- 3 WAY Handshake을 이용
- 플래그의 활용
포트 스캐닝
1) Full Scanning
- 완벽한 TCP 세션을 맺어져 열려있는 포트를 확인한다.
- 로그에 기록이 남는다.
2) Stealth Scanning
- half scan
- 완벽하게 세션이 맺어져 있지 않기 때문에 기록이 남지 않는다.
- 열려있는 경우에는 응답을 주지 않습니다.
- 닫혀있는 경우에는 응답을 줍니다.
- ex) FIN, NULL, XMAS
실습
현재 VMWARE환경으로 현재 Client 1 쪽에서 tcp 포트 : 22222를 열고 있습니다.
Attacker : 192.168.0.110 00:0c:29:d7:a6:9a
Client 1 : 192.168.0.120 00:0c:29:43:11:ea
Client 1쪽에서 보면 TCP포트인 22222를 Listen상태로 열고 있습니다.
[ 열려있는 포트로 SYN을 보냈을 경우 ]
TCP의 3 way handshake의 경우 SYN - SYN_ACK - ACK로 연결되는 경우를 볼 수 있습니다.
[ 열려있지 않는 포트로 SYN 패킷을 보낼 경우 ]
SYN 패킷을 보내게 되면 RST__ACK로 응답을 받는 것을 확인할 수 있습니다.
[ 열려있는 포트로 FIN패킷을 보낼 경우 ]
정상적으로 열려있는 포트로 FIN을 보낼 경우 아무런 응답이 발생하지 않습니다.
[ 열려있지 않는 포트로 FIN패킷을 보낼 경우 ]
FIN을 보낼 경우 RST_ACK로 응답을 주는 것을 확인할 수 있습니다.
[ 열려있는 포트로 NULL패킷을 보낼 경우 ]
정상적으로 열려있는 포트로 NULL을 보낼 경우 아무런 응답이 발생하지 않습니다.
[ 열려있지 않는 포트로 NULL패킷을 보낼 경우 ]
NULL을 보낼 경우 RST_ACK로 응답을 주는 것을 확인할 수 있습니다.
[ 열려있는 포트로 XMAS패킷을 보낼 경우 ]
정상적으로 열려있는 포트로 XMAS을 보낼 경우 아무런 응답이 발생하지 않습니다.
[ 열려있지 않는 포트로 XMAS패킷을 보낼 경우 ]
XMAS을 보낼 경우 RST_ACK로 응답을 주는 것을 확인할 수 있습니다.
이것을 nmap명령어를 통해서도 확인할 수 있습니다.
nmap을 이용해 FIN패킷으로 열려있는지 닫혀있는지 확인할 수 있습니다.
[ 열려있는 포트의 경우 ]
[ 닫혀있는 포트의 경우 ]
'SECURITY > STUDY' 카테고리의 다른 글
TCP 공격 - SYN Flooding (0) | 2017.05.18 |
---|---|
UDP 공격 (0) | 2017.05.16 |