파이썬 IT 해킹, 보안 (4) 썸네일형 리스트형 포트 스캐너 개발 Port 포트 • 프로그램이 네트워크 통신을 위하여 소켓에 부여한 번호 Ex) FTP는 20, 21번 사용, SSH는 22번, Telnet은 23번 사용 등 • 포트를 열어 놓으면 언제든 통신이 가능하나, 공격자에게 취약점을 노출시킬 수 있음 포트 스캐너 • 정보수집의 단계로, 공격 대상이 어떤 취약점을 가지고 있는지 파악하는 작업 • 실무에서는 공격자들로부터 취약점 노출을 최소화하기 위해 포트 스캔을 정기적으로 사용 • 사용하지 않는 포트들을 관리하여 불필요한 외부 접촉을 줄이는 등의 노력을 함 포트 번호 • 컴퓨터 내에서 프로그램이 소켓을 요청할 때 부여하는 번호 • 수많은 소켓들을 관리하기 위해 사용 • 포트 번호를 스캔한다 → 컴퓨터 내부로 들어갈 수 있는 길을 찾는 것 TCP • 신뢰성 있는 통.. 백도어 개발 백도어 (Back door) 개념 백도어란? 운영체제나 프로그램등을 만들 때 정상적인 인증 과정을 거치지 않고, 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 뒷구멍 같은 개념 넓은 의미에서 설계자나 관리자에 의해 남겨진 시스템의 보안 허점 (익스플로잇)을 뜻하기도 함. 프로그램 개발이나 유지 보수, 유사시 문제 해결 등을 위해 시스템 관리 자, 혹은 설계자가 일부러 남겨놓기도 함.(액세스 효율 증대) 백도어의 종류 - 로컬 백도어 - 원격 백도어 - 패스워드 크래킹 백도어 - 시스템 설정 변경 백도어 - 트로이 목마 형태의 프로그램 - 거짓 업그레이드 - login 백도어 - telnetd 백도어 - Service 백도어 - Cronjob 백도어 - 라이브 러리 백도어 - 커널 백도어 - 파일.. FTTP 프로토콜 HTTP 프로토콜 Hyper Text Transfer Protocol : 웹을 구현하기 위한 네트워크 프로토콜 HTTP 프로토콜의 특징 - 간단 - 확장이 가능 - Stateless - Connectionless (클라이언트가 요청을 한 후 응답을 받으면 연결을 끊음) - 세션(session)이 있음 - 신뢰할 수 있거나 메시지 손실이 없는 연결을 요구 (TCP/TLS) - 수신자 측에 의해 요청이 초기화 되는 Client-Server 프로토콜 - 쿠키를 통해 흔적을 남겨 연결 유지 HTTP 통신 Client=>Server : TCP or TLS 통해 HTTP 요청 전송 Web Server : HTTP 요청 처리 Server=>Client : HTTP 응답, 결과 반환 HTTP 구조 메소드(Method).. FTP 프로토콜 소켓 소켓이란? 네트워크 상에서 클라이언트 프로그램과 서버 프로그램간 양방향 통신 엔드 포인트. 프로세스가 데이터를 보내거나 받기 위해 반드시 소켓을 열어서 소켓에 데이터를 작성하거나 소켓으로부터 데이터를 읽어야한다. TCP/IP Socket 통신 클라이언트 프로그램과 서버 프로그램은 각각 포트를 통해 통신해야 한다. Server Socket : 서버 프로그램에서 사용하는 소켓으로, 클라이언트로부터 연결 요청을 기다렸다가 요청 발생 시 클라이언트와 연결을 맺거나 혹은 또 다른 소켓을 만드는 일을 한다. Client Socket : 요청 대기가 필요 없으며, 바로 소켓을 생성하고 서버 프로그램에 연결 요청 및 데이터를 전송한다. HTTP 통신 Client의 요청(Request)이 있을 때만 서버가 응답(R.. 이전 1 다음