플래쉬로 라우터를 조작한다

Security Now 127: Securing the enterprise 를 청취하다 보니 새로운 XSS 공격법에 대한 소개가 나왔다. 너도 나도 XSS 취약점을 발표하는 마당에 XSS는 이제는 식상하다는 선입견을 가지고 있기에 그냥 넘기려고 했는데, 주제가 의외로 흥미롭다. Flash UPNP를 공격하는 공격 코드가 나왔다는 것이다. 플래시의 URLRequest ObjectNavigateToURL 함수를 이용해서 사용자의 컴퓨터에서 UPNP사용하는 라우터로 라우터의 세팅을 바꾸는 요청을 보내는 것이다.

궁금해서 웹서칭을 해보니 Hacking The Interwebs에서 해당 공격법을 자세히 설명하고 있었다.

이러한 공격법은 라우터의 DNS 서버 레코드등을 바꿔서 phising등의 공격에 이용될 가능성이 많다고 한다.

UPNP는 “Universal Plug and Play”의 줄임말로서 주로 가전용 네트워크 장비들끼리 서로 원활한 네트워킹을 위해 만들어진 프로토콜이다. 이 프로토콜이 처음 나왔던 90년대 후반만 해도 과연 이런 것을 어디에나 쓸까 하는 생각이 들었었다. 하지만 일반 가정집에 있는 네트워크에 물린 장비를 세어 보아라. PC는 몰론 XBOXPS3,Wii와 같이 게임기들과 함께 iPod Touch나 프린터들도 요즈음에는 유선이나 무선랜에 물리는 경우가 많다.

여러 가전 기기 중에서도 특히 XBOX와 같은 게임기들의 경우 원활한 포트 사용을 위해서 UPNP를 통해서 라우터의 포트 포워딩 세팅등을 바꾼다고 한다. 게임을 제대로 즐기기 위해서 많은 경우 라우터 UPNP풀어 놓을 것을 권고하는 경우가 많다고 한다. 그렇지 않을 경우 일일이 라우터에 접속하여 포트포워딩 세팅을 수동으로 해주어야 하는 번거러움이 따른다.

문제는 UPNP의 프로토콜이 거의 HTTP와 동일하다는 것이다. 단지 Content-Type 등을 “application/xml”로 바꿔주고, POST 메쏘드를 사용하기만 하면 그만이다.

Hacking The Interwebs원문서에는 공격 기법이 비교적 상세히 기술되어 있고, 사용하는 샘플 Flash 공격 코드까지 올라와 았다. 공개된 공격코드는 단지 외부에서 내부로의 포트 포워딩을 열어주는 수준이지만, 앞에서 말한대로 주 DNS 서버를 해커의 것으로 바꿔 버리면 그야말로 사용자의 모든 트래픽을 감시하고 통제하는 것이 가능하고, 궁극적으로 phising공격에 악용될 소지가 많다.

원문서에 따르면 90% 이상의 가정용 라우터들이 취약하다고 한다. 현재 알려진 단 하나의 해결 방법은 라우터의 UPNP 세팅을 비활성화 시키는 것이다. 시간이 나고 UPNP사용하지 않는다면 오늘 당장이라도 UPNP를 비활성화 시킬 것을 권한다.

5 thoughts on “플래쉬로 라우터를 조작한다

  1. 공유기 설정시에는 무조건 안쓰는건 끄는 편이라서 UPNP 라고 하길래 머지? 안쓰는건가 보당
    꺼버려야지~ 하고는 끄고 쓰고 있어서 잘 몰랐지만, 저런 용도로 쓰는거라면 정말 UPNP 켜지는게 기본인 상황에서는 상당한 보안 위협이 될 수 있다고 생각이 되네요.

    좋은내용 잘 보고 갑니다 ^^ 내용좀 퍼갈께요~

  2. Pingback: SecuWorld
  3. 공유기 뿐만 아니라 다른 호스트에도 잘 점검해봐야겠네요. 올려주시는 포스트는 항상 유용하게 잘 보고 있습니다. 감사합니다. ^^

  4. 저도 XSS 기법은 이제 별볼일 없다고 생각했는데 아직도 저런 위협들이 남아있군요.
    흥미로운 내용이네요… ㅎㅎ

    버그트럭에 너무 애절(?)하게 글을 남기셔서… 하하하…

    자주 들리도록 하겠습니다~~!!

  5. 아마 GNUCITIZEN에서 정리했을꺼예여~ 한글로 된 포스트를 보니 기분이 좋네요 ^^ 긍데 위에 댓글 단 분중에 jangha라는 분 이름이 낮이 익은데.. 아는 분인지.. ^^

Leave a Reply