DNS Rebinding 공격

Hunjison·2021년 10월 20일
0

기본 개념은 다른 블로그에서 파악하고 헷갈릴 만한 부분만 간단하게 정리해보자.


DNS Rebinding 공격이란?

SOP(Same Origin Policy)를 우회하는 공격 기법으로, 공격자의 DNS 서버에서 반환하는 IP 주소가 바뀔 수 있음에도 불구하고 브라우저가 same origin으로 판단하여 차단하지 않는 공격이다.

브라우저가 그렇게 판단하는 이유는 scheme://domain:port가 모두 동일하기 때문이다.

시나리오

공격자는 웹사이트와 DNS 서버를 가지고 있으며,
공격자의 웹사이트에는 악성 스크립트가 주입되어 있다.

피해자는 공격자의 웹사이트에 접근한 평범한 사람이다.

공격 방법

  1. 공격자의 설정
    공격자는 attacker.com이라는 웹사이트를 운영하고, 웹사이트에는 공격자의 DNS 서버에 IP 주소를 주기적으로 요청하는 악성 스크립트가 동작하고 있다.

  2. 피해자
    피해자는 attacker.com에 접속한다.

  3. 악성 스크립트의 동작
    악성 스크립트는 DNS 서버에 attacker.com의 IP 주소를 요청하는데, 접속 초기에는 외부 IP 주소를 반환(정상적인 값)한다.
    시간이 조금 지난 후에 DNS 서버는 attacker.com의 IP 주소를 127.0.0.1로 변경한다. 이 때 악성코드가 IP 주소를 요청하면 DNS 서버는 127.0.0.1을 반환한다.

  4. 브라우저의 동작
    접속 초기에 브라우저는 attacker.com의 IP를 외부 IP(정상)으로 알고 있었으나, 나중에는 attacker.com의 IP가 127.0.0.1이라고 인식하게 된다.
    따라서 피해자의 브라우저에서 localhost로의 통신에 대해 same origin이라고 판단하게 되고, 차단하지 않는다.

  5. 이후 데이터 유출
    DNS 서버는 127.0.0.1에서 다시 원래의 외부 IP로 변경할 것이고,
    attacker.com에서 동작하던 스크립트는 공격자의 서버로 피해자의 localhost 데이터를 전송한다.


출처
https://m.blog.naver.com/tkdldjs35/221307513668

https://kookhh0827.tistory.com/entry/Webhacking-SOPSame-Origin-Policy-%EC%86%8C%EA%B0%9C%EC%99%80-DNS-rebinding%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9A%B0%ED%9A%8C%EB%B2%95%EC%8B%A4%EC%8A%B5-%ED%8F%AC%ED%95%A8

profile
비전공자 출신 화이트햇 해커

0개의 댓글