본문 바로가기

[+] Project/[-] Port Scanner

NULL Scanner [NULL Scan 원리] 1. TCP Flag를 NULL로 하여(아무것도 설정하지 않음) 대상 시스템으로 전송 2. 응답이 없으면 Open이나 Filtered 상태이다. 3. RST/ACK 패킷이 온다면 확실하게 Closed 상태이다. 해당 스캔 기술은 정확히 포트의 Open 상태를 점검하지 못한다. 이번 스크립트도 이전 스크립트와 마찬가지로 방화벽 기능이 On 상태에서 진행되었다. [그림 1 - 대상 시스템의 방화벽 설정 화면] 아래는 nmap의 대상 시스템 스캔 결과이다. [그림 2 - nmap의 대상 시스템 스캔 결과] 아무것도 잡아내지 못하는것을 볼 수 있다 아래는 내가 코딩한 스크립트의 결과이다. [그림 3 - 내가 작성한 스크립트 결과] 스크립트의 결과가 들어있는 txt 파일을 보니 아무것도.. 더보기
ACK Scanner [ACK Scan 원리] ACK Scan은 포트 Open/Close를 점검하는 것 보다 Stateful 방화벽의 상태를 점검하는 용도로 더 많이 쓰인다. 1. ACK Flag만 설정된 패킷을 대상 시스템에 보낸다. 2. port의 Open/Close 여부 상관 없이 RST 패킷이 오게 되는데 이때는 Unfiltered 상태이다. 3. 또 RST 패킷이 오지 않거나 ICMP 패킷이 오게 되면 Filtered 상태이다. 방화벽이 설정되어 있는 Win XP SP2 시스템을 상대로 스캔을 시도 하였다. 아래는 방화벽이 설정되어 있는 모습이다. [그림 1 - 대상 시스템의 방화벽이 설정되어 있는 모습] 처음에는 내가 작성한 스크립트가 정상적으로 작동하지 않는 듯 하여 삽질을 했지만 nmap과 비교해본 결과 정상적.. 더보기
SYN Scanner [SYN Scan 원리] 1. SYN flag를 설정하고, 대상 호스트:포트로 전송 2. 해당 포트가 닫혀있다면, RST/ACK 패킷을 전송해옴 3. 해당 포트가 열려있다면, SYN/ACK 패킷을 전송해옴 해당 스크립트 구현은 scapy 네트워크 모듈로 구현 하였음. 아래 이미지는 TCP 프로토콜로 1000번 포트까지 스캔한 결과이다. [그림 1 - 포트 스캔 결과] 아래 이미지는 스캔 대상 서버의 포트 개방 현황이다. [그림 2 - 스캔 대상 컴퓨터의 개방된 포트 현황] 두 이미지를 살펴보면 스캔 결과가 올바르게 나오는 것을 확인 할 수 있다. 아래 이미지는 포트스캔 패킷 캡쳐 화면이다. [그림 3 - 포트 스캔 패킷 캡쳐 화면] 해당 스크립트는 출발지 포트를 랜덤으로 설정하였기에 포트번호가 모두 다른.. 더보기
프로젝트 개요 1. 개요 --> SIS 가이드라인을 공부 중 nmap 스캐너에 대한 부분이 나와 각 스캔의 특징들을 공부하였다. 하지만 지금까지 이러한 스캔과 스캐너 프로그램들이 있는 줄만 알았지, 어떠한 식으로 FIN 패킷등을 만들어 보내는지 몰랐다. 일반적으로 socket 프로그래밍을 할때에는 TCP/UDP 패킷만 간단하게 생성해 프로그래밍 하여 raw socket 의 존재를 알지 못하였다. 그래서 이번 SIS 시험이 끝나고 스캐너를 만들기로 결심한 것이다. 2. 기능 --> 가이드라인에 있는 스캔종류별로 제작(희망사항) 3. 제작언어 : Python(요즘 어떠한 프로그램이든지 Python으로 제작하려고 노력 중) 4. 기간 : 따로 정해두지 않고 하려 함(가능하다면 복학전 까지) 5. 배포여부 : X(아직까지 완.. 더보기