2017. 7. 17. 21:28ㆍNetworkHacking/Network
< 포트 스캐닝 >
포트스캔이란 운영중인 서버에서 열려있는 TCP/UDP포트를 검색하는 것을 의미한다
TCP Flag값을 변경시켜 각 패킷마다 반응이 어떻게 다르게 나타나는지 확인해보자
[ TCP Half Open스캔 ]
[ 그림1 ]
< SYN패킷을 보냈을 때 서버의 포트가 열려있는 경우 동작방식 >
1> 클라이언트에서 서버로 " SYN " 패킷을 보냈다 ( Flag = 2 )
2> 서버에서 클라이언트에게 " ACK+SYN " 패킷으로 응답이 왔다 ( Flag = 18 )
3> 클라이언트에서 서버로 " RST " 패킷을 보내서 연결을 끊었다 ( Flag = 4 )
[ 그림2 ]
< SYN패킷을 보냈을 때 서버의 포트가 닫혀있는 경우 동작방식 >
1> 클라이언트에서 서버로 " SYN " 패킷을 보냈다 ( Flag = 2 )
2> 서버에서 " ACK + RST " 패킷으로 응답이 돌아온다 ( Flag = 20 )
서버와 클라이언트사이에 TCP 세션이 형성되지 않으므로 로그에 기록이 남지 않는다
[ FIN스캔 ]
[ 그림3 ]
< 서버의 포트가 열려있는 경우 동작방식>
1> 클라이언트에서 서버로 " FIN " 패킷을 전송하였다 ( Flag = 1 )
2> 아무런 응답도 오지 않는다
< 서버의 포트가 닫혀있는 경우 동작방식>
1> 클라이언트에서 서버로 " FIN " 패킷을 전송하였다 ( Flag = 1 )
2> 서버에서 클라이언트로 " RST "패킷으로 응답이 돌아간다 ( Flag = 4 )
( ※ 그림3에서는 실습시 중복실행으로 인한 오류같습니다 )
* FIN패킷 뿐아니라 NULL , XMAS 같은 Stealth Scan 의 동작방식은 위와 동일합니다
< SYN Flooding >
[ 그림4 ]
SYN패킷을 전송하면 서버는 SYN+ACK 패킷으로 응답하며 ACK패킷이 들어오길 대기한다
그림1에서 보면 서버에서 계속 SYN+ACK패킷을 내보내는 것이 확인되어진다
이를 이용한 DOS공격이 SYN Flooding공격법이다 ( 아이피주소를 바꾸어서 SYN패킷을 전송한다 )
( http://itsaessak.tistory.com/151 , http://itsaessak.tistory.com/158 프로그래밍방법 참조 )
[ 실행결과 ]
[ 그림5 ]
실행결과 변경된 아이피주소로 서버에 SYN패킷이 전송되어 지는것이 확인된다
아이피를 수많은 컴퓨터에서 랜덤으로 바꿔가며 무수히 많은 SYN패킷을 서버로 보내면 서버에서는 SYN+ACK패킷을 내보내며 ACK패킷을 기다린다
=> 서버에서 과부화가 걸려 서비스에 지장이 생긴다 ( DDoS 공격 )
'NetworkHacking > Network' 카테고리의 다른 글
DNS ( Domain Name System ) (0) | 2017.07.18 |
---|---|
DHCP ( Dynamic Host Configuration Protocol ) (0) | 2017.07.18 |
TCP 3-Way Handshake (0) | 2017.07.17 |
FTP ( File Transfer Protocol ) / NFS ( Network File System ) / samba (0) | 2017.07.17 |
방화벽 ( Firewall ) (0) | 2017.07.17 |