Linux/Kali linux

arp spoofing 공격과 telnet 서버 구축 방법

xgoo 2024. 8. 21. 01:31
반응형

칼리리눅스를 사용하여 telnet 서버 구축 및 arp spoofing 공격을 가상머신환경에서 실습하겠다.

환경 사항
-모든 PC는 같은 환경에 존재한다.-

목적 운영체제 IP addr
공격자 칼리 리눅스 192.168.111.120/24
telnet 서버 칼리 리눅스 192.168.111.100/24
타켓 윈도우 10 192.168.111.110/24
게이트웨이   192.168.111.1

1. telnet 서비스 란?

간단하게 호스트에 원격으로 접속할 수 있게 해주는 서비스이다. 대표 적으로 원격 접속 서비스는 ssh와 telnet이 있는데 telnet은 평문 전송을 하기 때문에 보안에 취약하며 현 시점 보안 원격 접속인 ssh를 사용하는게 좋다.

2. arp spoofing이란?

먼저, 모든 네트워크 장비는 고유한 물리적 주소인 MAC 주소를 가진다. 인터넷을 사용하는 장비는 MAC 주소를 가진다고 생각하면 쉽다. MAC 주소는 48비트(8비트씩 6자리)로 구성되어 있다(위 사진 참고). 우리가 일반적으로 인터넷을 사용할 때 ip주소를 가지고 통신을 하는데 내부망에서 네트워크 장비로 직접적인 전달을 하기 위해 MAC 주소가 필요하고 ip 주소를 mac 주소로 변환하는 것을 ARP라고 한다. 반대로 mac주소를 ip주소로 변환하는 것을 RARP라고함. spoofing은 사전적으로 속이다,도용하다라는 의미를 가지고 있다. 따라서 arp spoofing은 mac 주소를 속이는 공격으로 타켓의 게이트 웨이 주소를 공격자의 주소로 도용하는 것이다.

3. telnet 서버 구축
3-1. telnetd과 xinetd 설치

간단하게 패키지명 뒤에 d가 적혀 있는데 이것은 daemon을 의미 한다.
각 데몬들을 관리하는 데몬이 슈퍼 데몬인 xinetd이다.

3-2. telnetd 실행을 위한 구성

데몬을 전체적으로 관리하는 곳

각 이름에 해당하는 데몬을 개별적으로 관리(해당 서비스 명)
슈퍼 데몬에 telnet을 구성하는 방법은 위 두 가지 중 하나를 선택해서 사용하면 된다.(만약 없을 경우 생성하면 된다.)

위 사진 처럼 각 telnet 서비스에 대한 각 옵션을 추가해 주고 저장하면 구성은 끝이 난다.

중요한 것만 간단히 설명하면
disable = no // 비활성화 = no <- 서비스 활성화상태
user = root // 로그인할 사용자
server = // 실제 telnetd의 경로

3-3. 슈퍼 데몬 재시작

슈퍼 데몬을 재시작하는 명령인데 위 다른 명령은 같은 의미를 가진다.(동일한 명령임)

4. 클라이언트(타겟)에서 MAC 주소 확인

클라이언트에서 arp -a 명령으로 게이트웨이 주소를 확인한다.

4-1. 클라이언트(타켓)에서 telnet 설치

제어판에서 windows 기능 켜기/끄기에서 텔넷 클라이언트를 설치하여 준다.

5. 공격자 PC에서 arp spoofing 

위 명령으로 arpspoofing 공격을 시행할 수 있다.

5-1. 클라이언트에서 arp -a명령으로 mac 주소 확인

게이트웨이인 192.168.111.1 ip의 mac 주소가 120(공격자)의 mac주소로 변환 된 것을 알 수 있다.
현 상황에서는 공격자 PC에서 클라이언트의 요청을 처리하지 않기 때문에 클라이언트는 인터넷이 되지 않는다.

5-2. 공격자 PC에서 요청 패킷 라우팅

위 명령으로 공격자가 중간에서 가로챈 패킷을 라우팅한다. 이후 클라이언트는 인터넷이 정상작동한다.
클라이언트의 요청을 공격자가 가로챈 후 서버로 전달하기 때문에 속도가 느려진다.
6. 와이어샤크를 통해 가로챈 패킷 분석

공격자 PC에서 wireshark를 실행 후 분석할 인터페이스 eth0를 클릭해 분석을 시작한다.

6-1. 타켓에서 telnet 접속

명령프롬프트에서 telnet을 접속한다.

root 계정으로 로그인을 성공한 것을 볼 수 있다.

6-2. 공격자에서 텔넷 접속 패킷 분석

공격자 PC에서 와이어 샤크창에서 Protocol을 눌러 정렬을하고 아무 텔넷 패킷을 우클릭하여 Follow>TCP stream 클릭

위 사진처럼 창하나가 뜨면서 로그인시 입력했던 값들이 평문으로 출력되는 것을 볼 수 있다. 

6-3. arp spoofing 공격 방어 

1. 타켓 PC에서 arp -d 명령을 입력하여 arp cache를 지운다.
2. 고정 arp table 작성
3. arp spoofing 공격 탐지 툴 사용

7. 마무리

위 실습했던 arp spoofing 중간자 공격이며 단순 arp table을 무단으로 변경하여 클라이언트에서 요청한 패킷을 공격자가 가로 채는 공격이다. 이 공격과 telnet 서비스가 평문전송을 한다는 취약점으로 패킷을 분석하여 비밀번호까지 알아 낼 수 있었다. 위와 같은 공격은 모의해킹으로 가상의 공간에서 진행하였으며 실제 네트워크에 공격은 절대 지양한다. 타인에게 피해를 끼쳤을 경우 그 책임은 이행자 개인의 책임이다. 이상 arp spoofing 공격 실습 및 방어에 대하여 포스팅하였다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형