기준
취약점 설명
ID, PW, 주민등록번호 등의 중요 정보가 서버로 전송될 때 암호화되지 않은 상태로 전송돼서 발생하는 취약점입니다.
해당 취약점은 중요 정보가 평문으로 노출되어 전송되기 때문에 Sniffing에 매우 취약하며 공격자가 정보를 수집하여 공격할 수 있습니다.
해당 정보를 얻은 공격자는 해당 정보를 악용하여 이득을 취할 가능성도 있으며 권한을 악용한 공격도 가능하기 때문에 매우 위험한 취약점입니다.
공격 방법
1. Promiscuous Mode
우선 공격자의 PC를 pomiscuous mode로 바꿔줘야 받는 패킷을 전부 확인할 수 있습니다.
위 Promiscuous Mode를 통해 받는 패킷을 전부 확인할 수 있게 만들어 주었습니다.
2. Forwarding
해당 취약점은 Sniffing이 기반이 되는 공격을 주로 합니다.
우선 Sniffing을 하기 이전 패킷 포워딩을 먼저 해보겠습니다.
Sniffing을 할 경우 패킷을 공격자의 컴퓨터로 오도록 만들지만 이 패킷이 다시 원래의 목적지로 가지 않으면 사용자가 알아챌 수 있으므로 포워딩을 해줘야 사용자 입장에서 정상적으로 실행을 하는 것처럼 보이게 할 수 있습니다.
위의 사진과 같이 fragrouter를 사용하겠습니다.
Kali Linux를 사용했습니다.
fragrouter를 사용하려는 경우 도구의 이름을 먼저 입력해주면 설치할 것인지를 물어보는데 이때 Y를 선택하면 설치해줍니다.
이후 명령어(fragrouter -B1)를 입력하여 포워딩 상태를 만들어주면 준비가 포워딩 준비는 끝입니다.
3. ARP Spoofing
ARP Spoofing을 하는 이유는 사용자 PC로 하여금 내 PC가 Router인 것처럼 속이기 위함입니다.
이는 Router의 Routing Table을 바꾸어 속일때에도 사용될 수 있습니다.
위의 사진과 같이 피해자 PC의 IP와 Router주소를 알아냈다고 가정하겠습니다.
IP : 192.168.75.128
Router : 192.168.75.2
이제 arpspoof를 통해 스푸핑을 해보도록 하겠습니다.
arpspoof -t [피해자 PC의 IP] [Router IP]
위의 명령어를 입력해주면 피해자 PC에게 공격자의 PC가 Router인 것으로 속여 피해자가 공격자를 통해 패킷을 전송하도록 만들 수 있습니다.
-----------------------------------------------------------------------------------------------------------------------------------
arpspoof 외에도 ettercap이라는 툴을 사용해서도 ARP Spoofing이 가능합니다.
우선 Kali Linux에서 ettercap을 실행시켜주겠습니다.
ettercap을 실행해주면 위 사진과 같은 창이 뜨는 것을 확인할 수 있습니다.
Primary Interface에서 network interface를 선택해서 오른쪽 위에 있는 체크표시를 클릭하면 Unified sniffing이 시작됩니다.
이후 오른쪽 위에 있는 점 세개를 눌러준 후 Hosts > Scam for hosts를 누르면 Spoofing 대상 호스트를 탐색합니다.
위처럼 호스트가 추가되는 것을 확인할 수 있는데 여기에서 Add to Target 1에는 공격하고자 하는 피해자 PC의 IP를 넣어주고 Add to Target 2에는 속이고자 하는 Router IP를 선택하여 추가해주면 됩니다.
이후에 오른쪽 상단의 지구 모양을 눌러주면 ARP poisoning을 눌러주면 공격을 할 수 있습니다.
이때 ARP poisoning을 눌러주면 위와 같은 창을 볼 수 있는데 이때 두 가지 선택지 중 Only poison one-way를 선택해줍니다.
Sniff remote connetions는 양방향이고 Only poison one-way는 단방향인데 Sniffing만을 목적으로 하기 때문에 단방향을 해주기만 해도 되기 때문입니다.
위와 같이 되면 스니핑이 시작되게 됩니다.
4. 패킷 확인
여기에서 가장 많이 실수하는 부분은 프록시 툴을 이용한 확인인데 프록시 툴은 암호화가 적용되지 전 확인이기 때문에 암호화가 적용되지 않은 패킷을 확인하는 것입니다.
데이터 평문 전송을 확인하기 위해서는 Wireshark를 이용해서 확인하는 것이 맞습니다.
Wireshark로 로그인 패킷을 찾아 확인해보면 평문전송을 하는지 알 수 있습니다.
확인해야 하는 패킷을 찾기 어렵다면 wireshark에서 명령어를 통해 피해자 PC의 IP만을 찾아볼 수 있습니다.
ip.addr == [피해자 IP]
위의 명령어를 통해 피해자 PC의 IP만을 확인할 수 있습니다.
'Web' 카테고리의 다른 글
쿠키 변조 (주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드) (0) | 2022.03.31 |
---|---|
위치 공개 (주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드) (0) | 2022.03.29 |
경로 추적 (주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드) (0) | 2022.03.29 |
관리자 페이지 노출 (주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드) (0) | 2022.03.29 |
파일 다운로드 (주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드) (0) | 2022.03.29 |