[2-3]네트워크 취약점 이해 및 대응

00SNU3K·2021년 8월 30일
0

03. 스니핑 공격기법의 이해 및 대응

  • 더미 허브(Dummy Hub)

    • 단순히 네트워크나 네트워크 장비들과의 연결과 신호 증폭 기능, 1계층 장비
    • 브로드캐스트를 이용해 패킷 모두 전달
    • 최근에는 거의 사용X, 다 받을 수 있으니까 스니핑 쉬움, 옛날 PC방에는 오전에는 속도빠름, 오후에는 속도저하, 다 나뉘어 가짐
  • 스위치 허브(Switch Hub)

    • 상대방의 MAC 주소를 읽어 해당 단말에만 전송
    • 스니핑을 하기 위해서는 ARP 스푸핑을 통해 끌여들어야함
  • 스니핑(Sniffing)
    • 네트워크 중간에서 패킷 정보를 도청
    • 막기가 매우 힘들며(암호화), 탐지 어려움
    • 수동적 공격
    • 스위치 환경에서 스니핑을 하기 위해서는 선행 공격 필요
  • 스니핑(Sniffing)의 원리

    • 네트워크에 접속하는 모든 시스템은 3계층 주소 IP와 2계층 주소 MAC을 가짐

    • 랜 카드에 들어온 패킷의 IP와 MAC을 확인하여 버퍼에 저장할지 결정

      • 해석할때는 MAC을 먼저, 그다음 상위 계층인 IP를 확인함
      • IP와 MAC이 자신의 것과 일치하지 않으면 버림
    • 이러한 필터링을 해제하는 랜카드의 모드 → 프러미스큐어스(Promiscuous) 모드

      • unix/linux OS에서는 설정이 가능 : ifconfig eth0 promisc , 끄는 건 ifconfig eth0 -promisc

      • 하지만 wireshark에서 옵션 설정/해제 기능이 있어서 이렇게 따로 안해도됨

  • 스니핑(Sniffing) 실습

    • Tcpdump를 이용한 스니핑

      • tcpdump -i eth0 -w tcpdump1.pcap 으로 해당 pcap파일에 모든 패킷을 저장 후 ctrl+c로 종료
      • tcpdump -qns 0 -X -r tcpdump1.pcap으로 패킷파일이 쭉 나옴
      • tcpdump -qns 0 -X -r tcpdump1.pcap | grep hijack으로 해당 계정에 로그인 된것이 보임. 또한, 어떤 명령어를 실행했는지도 볼 수 있음
      • 위 방법말고도 wireshark로 패킷의 오른쪽마우스키 → followtcp stream으로 따라가서 stream을 넘기다보면 ID/PW가 다보임. 이렇게 허브환경에서는 매우 취약함
    • dsniff를 이용한 스니핑

      • dsniff명령어 실행
      • web 사용 내역(http)은 따로 보이지 않지만,
      • telnet 프로토콜은 상대적으로 쉽기때문에 실행했던 명령어를 다 볼 수 있음
  • 스니핑(Sniffing) 탐지 방법

    • 프러미스큐어스(Promiscuous) 모드를 탐지하기

      • 기본적으로 스니핑을 위해서는 프러미스큐어스 모드를 이용함

      • 그래서 스니퍼는 Request를 받으면 Response를 전달해줄 수 밖에 없음

      • 의심가는 Host에 존재하지 않는 MAC을 위장하여 전달해봄

    • 하지만, 스니핑을 탐지하더라도 차단하는 것이 어렵다.. 그래서 암호화를 잘 하는 것이 제일 중요하다.

    • 스니핑을 위해서는 ARP 스푸핑이 선행되어야되는데 ARP 스푸핑을 막는것이 더 효율적이다.

profile
네트워크 전문가를 꿈꾸며

0개의 댓글