스캔
서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하기 위한 작업
tcp 기반의 프로토콜은 기본적으로 request를 보내면 response를 전달해준다.
스캔은 이런 원리를 기반으로, 한 쪽에서 '여보세요'하면, 다른 족에서 '여보세요'라고 응답하며 서로를 확인하는 것과 같다.
방화벽과 IDS(침입탐지시스템)을 우회하기 위해 발전한 스캔은 종류가 매우 다양하다.
ping
서버의 동작 여부 알아보는 방법
네트워크와 시스템이 정상 작동을 하는지 확인하기 위한 간단한 유틸리티.
ICMP를 사용하며 기본적으로 tcp/ip 네트워크에서 사용된다.
* ICMP : 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜
ping <ip주소>를 했을때, '요청 시간이 만료되었습니다.'라고 뜬다면, 네트워크 연결 문제일 수도 있지만, 라우터나 방화벽에서 ICMP request 패킷을 막는 경우일 수도 있다.
-> 이 경우를 우회하는 것을 별도로 찾아봐야 한다..
TCP Open 스캔
작동하리라고 예상하는 포트에 세션을 생성하기 위한 SYN 패킷을 보낸다.
포트가 열려있다면 서버에서 SYN+ACK 패킷이 돌아오고,
공격자는 다시 ACK 패킷을 보낸다.
이렇게 open 스캔은 3way handshaking 과정을 모두 거친다. -> 상대방 시스템에 log가 남는다.
open 스캔 중에 reverse Ident라는 방법이 있다.
이 방법은 세션을 성립한 상태에서 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하기 위한 것이다.
* 데몬: 시스템의 사용자 인터페이스에는 나타나지 않지만, 서비스를 요청하면 이에 반응할 수 있도록 항상 실행되고 있는 프로그램
reverse Ident 스캔은 세션을 성립한 후에 113번 포트를 연다. 113번 포트는 사용자 인증을 위해 사용되지만, 이 서비스는 보통 중지되어 있다.
스텔스Stealth 스캔
공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭.
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에, 공격 대상 시스템에 로그가 남지 않는다. -> 공격 대상의 시스템 관리자는 어떤 ip를 가진 공격자가 자신의 시스템을 스캔했는지 확인할 수 없다.
1. TCP half open scan
스캔의 시작은 open 스캔과 같다.
먼저 SYN 패킷을 보낸다.
포트가 열린 경우 서버는 SYN+ACK 패킷을 보내고 공격자는 즉시 연결을 끊는 RST(reset) 패킷을 보낸다.
포트가 닫힌 경우는 open 스캔과 같다.
2. FIN, NULL, XMAS scan
FIN 패킷을 보내는 방법이 있다.
포트가 열린 경우에는 응답이 없고, 포트가 닫힌 경우에만 RST 패킷이 되돌아온다.
UDP 스캔
UDP를 이용한 포트스캔은 신뢰하기 어렵다. UDP 패킷이 네트워크를 통해 전달되는 동안 라우터나 방화벽에 의해 손실될 수 있기 때문이다.
참고
네트워크 해킹과 보안(한빛아카데미)_ 양대일 지음
'네트워크' 카테고리의 다른 글
scapy를 활용한 패킷 스니핑, 변조, 재전송 (0) | 2021.07.05 |
---|---|
tcp/ip, IPv4 패킷, scapy (0) | 2021.07.04 |
scan, tcp/udp, nmap 계속 복습 및 정리 (0) | 2021.07.01 |
nmap - ip scan/ port scan (0) | 2021.06.30 |
tcp udp 개념 (0) | 2021.06.30 |
댓글