Post

네트워크 보안 실습 2

ARP 스푸핑 공격

- fping 명령어

  • 같은 네트워크 내의 사용 중인 IP 주소 검색

- arpspoof 명령어

  • MAC 주소를 속이는 작업

    • 칼리 리눅스의 MAC 주소를 게이트웨이 MAC 주소로 착각하도록 설정

    • 예방법

      • 주소 유형을 ‘동적 → 정적’으로 설정
      • 하지만 장비를 바꿀 때는 정적으로 설정된 MAC 주소를 수동으로 변경해야 하므로 번거로움

- fragrouter 명령어

  • 칼리에서 arpspoof를 실행한 상태에서 윈도우에서 인터넷 접속을 시도하면 속도가 느리거나 오류 발생
  • 이는 패킷이 게이트웨이로 가야 하는데, 공격자(칼리)로 전달되기 때문에 속도가 느려지거나 중간에 손실
  • fragrouter는 칼리를 통해 인터넷과 통신할 수 있도록 패킷 전달을 처리하는 작업

- ettercap 툴

  • 스푸핑 공격 툴

    - 사용법

    1. 호스트 리스트 스캔
    2. 공격하고자 하는 대상을 Target 1으로 설정
    3. 공격 대상이 거치는 통신 대상(게이트웨이)Target 2로 설정
    4. MITM 메뉴에서 ARP poisoning을 선택하여 실행

* 시나리오

  • 윈도우에서 록키 리눅스로 텔넷 접속을 시도하는 상황에서, 칼리에서 스푸핑 공격과 스니핑 공격으로 계정 정보 탈취

- 공격 방법 (공격 성공)

  1. 칼리리눅스에서 arpspoof 공격을 통해 윈도우칼리리눅스록키 리눅스로 인식하도록 설정
  2. 칼리리눅스에서 fragrouter를 사용하여 패킷이 록키 리눅스까지 전달될 수 있도록 설정
  3. 칼리리눅스에서 와이어샤크를 실행하여 패킷 캡처 시작
  4. 윈도우에서 록키 리눅스텔넷 접속
  5. 칼리리눅스에서 캡처한 패킷 분석

Note: ettercap을 사용한다면 Target 1윈도우, Target 2록키 리눅스로 설정 후 공격 수행

- 궁금증

  • 게이트웨이로 스푸핑해도 패킷을 캡처할 수 있지 않을까?

    • 결론

      • 공격 실패
    • 실패 이유

      • 같은 네트워크에서 Telnet(혹은 다른 모든 요청 내역 포함)을 접속하는 경우, 게이트웨이를 거치지 않고하단에서 직접 통신하기 때문에, 게이트웨이를 스푸핑해도 패킷을 캡처할 수 없음
      • 만약 외부 통신(웹 브라우저나 VirtualBox가 아닌 외부에 설치된 시스템과의 통신)을 수행하는 경우에는, 게이트웨이를 거쳐가게 되므로, 이런 상황에서는 게이트웨이에서 패킷을 Kali Linux가 수신받아 패킷 감청이 가능

DNS 스푸핑 공격

  • 네트워크 단에서는 공격이 성공하지만, 응용계층에서 방어하여 실제 공격은 어려움

- ettercap 툴 사용

  1. ettercap 툴의 DNS 파일 수정
    (원하는 도메인과 바꿀 IP 주소를 추가)
  2. ARP 스푸핑 공격과 동일한 방법으로 ettercap 설정
  3. ettercap 메뉴에서 Plugins » Manage Plugin » dns_spoof 활성화
  4. ping 명령어로 DNS 파일에 추가한 도메인과 통신 시, IP 주소가 10.10.10.10으로 변경된 것을 확인

Note: IP 주소가 변경된 것은 네트워크 단에서 공격이 성공했다는 의미지만, 웹 브라우저가 이를 차단하기 때문에 실제로는 웹 브라우저에서 정상적으로 접속됨

- SEToolkit 툴 사용

  • SET (Social-Engineer Toolkit)는 다양한 사회공학적 공격 기법을 지원하는 오픈소스 도구
  • 사회공학은 사람의 심리를 이용해 보안 정보를 탈취하는 공격 기법을 의미하며, SET는 이를 자동화하여 쉽게 수행할 수 있도록 설계됨

- 웹 사이트 템플릿 복사

  1. setoolkit 실행
  2. 순서대로 1, 2, 3, 1 입력
  3. 원하는 사이트 템플릿 선택
  4. 윈도우에서 10.10.10.10 주소로 접속
  5. 해당 사이트와 유사한 페이지로 접속됨을 확인
  6. 해당 페이지에서 로그인하면 계정 정보를 확인 가능

- 사이트 클론 (복제)

  1. setoolkit 실행
  2. 순서대로 1, 2, 3, 2 입력
  3. 원하는 사이트(로그인 페이지) 주소 입력
  4. 윈도우에서 10.10.10.10 주소로 접속
  5. 복사한 사이트와 똑같은 모양의 페이지로 접속됨을 확인
  6. 해당 페이지에서 로그인하면 계정 정보를 확인 가능

Note: 네이버 로그인 페이지를 클론한 경우 계정 정보를 탈취할 수 없음

  • 네이버는 웹 페이지 자체에서 암호화하는 보안 조치를 시행했기 때문에 공격이 실패

* 다른 사이트로 시도 (강릉 원주 대학교)

  • 사이트마다 보안 수준이 다르다는 것을 알 수 있음

- 커스텀 사이트 (본인이 만든 사이트)

  1. setoolkit 실행
  2. 순서대로 1, 2, 3, 3 입력
  3. 로컬 경로 입력 (디폴트 사이트 : /var/www/html/index.html)
  4. 본인 사이트의 도메인 주소로 사용할 주소 입력
  5. 윈도우에서 10.10.10.10 주소로 접속
  6. 커스텀 사이트로 접속되는것 확인

    • 도메인 주소로 접속 시 접속 불가 현상
      → 게이트웨이를 통해 가기 때문에 발생
    • 해결 방법

      1. 윈도우에서 호스트 파일 수정
        • 경로: 내 PC >> Windows >> System32 >> drivers >> etc >> hosts.txt 파일 열기
      2. hosts 파일에 아래 내용 추가

        • 10.10.10.10 <원하는 도메인="" 주소="">

      이유: DNS 서버hosts 파일을 먼저 확인하므로, 해당 파일에 추가된 도메인 정보로 우선적으로 접속


* 시나리오

  1. hosts 파일을 수정하는 악성코드 파일 배포
  2. 같은 네트워크 대역에서 악성코드에 감염된 사람들이 해당 도메인으로 접속 시, 공격자가 의도한 사이트로 접속하게 됨
  3. 정보 탈취 성공

    - 문제점

    • 같은 네트워크에 타겟이 존재하는가?
    • 타겟이 악성코드 파일을 실행하는가?