[ 상식 정보 ]/Network2009. 4. 1. 08:04

오늘은 스캐닝의 종류에 대해 공부해보자!

일단 기본 상식으로 통신 연결은 3 way handshake 라는 것을 거쳐 이루어지는데 이는 A컴에서 B컴에로 SYN 플래그가 세트된 패킷을 던지면 B컴에서 A컴으로 SYN/ACK 플래그가 세트된 패킷으로 응답하고 다시 A컴에서 B컴으로 ACK 플래그가 세트된 패킷을 던져 서로간의 통신 연결을 성립시킨다.

SYN
SYN/ACK
ACK

1. SYN Stealth / Half Open Scan

syn 스텍스 스캔 기법은 TCP 연결을 완전히 열지 않기 때문에 half open scan 이라고도 불린다고 한다. 먼저, syn 플래그를 세팅한 패킷을 타겟 포트에 던진다음에 응답을 기다린다. 타겟 포트에서 SYN/ACK 패킷이 응답해오면 포트가 오픈된 상태고 RST 패킷이 응답해오면 포트가 닫혀있는 상태다. SYN/ACK 패킷이 날라오면 바로 ACK패킷을 던져 3 way hadshake를 완료하는 대신 RST 패킷을 타겟에 날려 연결을 끊어 버린다. 이렇게 함으로써 타겟의 로그에 남지 않을 수도 있다.

SYN->
<-SYN/ACK
RST->

2. Xmas Scan

RFC 793에 기초하여 구현된 TCP/IP에서만 동작하므로 현재 버젼의 윈도우에서 먹히지 않는다.
RFC는 국제 표준 기술 규약 문서이다..

FIN/URG/PSH -> (3개 플래그나 셋트한다 그래서 Xmas)
<-RST/ACK 닫힌 포트에서만 응답

3. FIN Scan

RFC 793에 기초하여 구현된 TCP/IP에서만 동작하므로 현재 버젼의 윈도우에서 먹히지 않는다.

FIN->
<-RST/ACK 닫힌 포트에서만 응답

4. NULL Scan

RFC 793에 기초하여 구현된 TCP/IP에서만 동작하므로 현재 버젼의 윈도우에서 먹히지 않는다.

플래그를 세트하지 않은 패킷 ->
<- RST/ACK 닫힌 포트에서만 응답

5. IDLE Scan

공격자의 IP주소에서 패킷을 보내지 않고 스캔 할 수 있는 기법이다.
웹서버는 80번 메일서버는 25번 등 대부분읜 서버는 TCP 포트로 서비스를 한다. 이건 기본 상식이다.
컴퓨터가 원하지도 않은 SYN/ACK 패킷을 받게 되면 RST 패킷으로 응답한다. 그리고 원하지 않은 RST 패킷은 개무시된다.
인터넷 상의 모든 IP패킷은 fragment identification 넘버라는게 있는데 이것은 데이터가 패킷을 쪼개지는 과정에서 나중에 조합할때를 위해 붙여놓은 일련의 숫자라고 생각하면 된다. 그래서 이 넘버를 파보면 패킷이 몇개나 보내졌는지 알 수 있다.
여기까지는 기본 상식 개념으로 알아두고 이제 IDLE 스캔의 동작을 알아보자.

의미없이 죽어있는 좀비 서버를 한대 골라서 SYN/ACK 패킷을 보내 응답하는 RST패킷으로 fragment identification 넘버를 알아낸다. 
자신의 IP를 좀비 서버의 IP로 스푸핑해서 타겟 시스템의 타겟 포트로 SYN패킷을 보낸다. 만약 해당 포트가 살아 있다면 SYN/ACK 패킷을 좀비 서버로 보낼 것이다. 그리고 좀비 서버는 RST 패킷의 fragment identification 넘버를 증가시켜 타겟 시스템으로 보낼 것이다. 그러나 해당 포트가 죽어 있다면 타겟 시스템은 좀비 서버로 RST 패킷을 보낼 것이다.
그럼 이제 좀비 서버에 SYN/ACK 패킷을 보내서 응답하는 RST 패킷의 fragment identification 넘버를 조사하여  넘버가 증가했다면 해당 포트는 열려 잇는 것이고 증가 안했으면 해당 포트는 죽어 있는 거다.

6. ICMP Echo Scan

ICMP에는 포트 개념이 없기 때문에 이 기법은 포트 스캐닝은 아니다 하지만 네트워크 대역에 살아있는 호스트가 있는지 알아내는데는 유용하다.

- 요새는 패킷 필터가 TCP헤더를 보고 걸러버리기 때문에 TCP 헤더를 여러개의 패킷으로 쪼개서 보낸다.



다음은 배너 수집에 관한 이야기이다!.

콘솔창을 열고
telnet 타겟주소 80 HEAD / HTTP/1.0
이렇게 치면 많은 정보가 날라온다 이걸 보고 OS버젼이나 뭐 그런걸 알아낼 수 있다 허나, 이는 로그에
남는다.

Posted by 무소유v