브라우저 속의 브라우저 공격

chaning01
StealthSolution
Published in
6 min readMay 9, 2022

안녕하세요. Chaning입니다.

오늘은 BitB라는 것을 주제로 가져왔는데요!

2022년 3월에 새로 나온 피싱 공격인데요. SSO(Single Sign On) 방식을 악용한 공격이기 때문에 여러분들도 주의하셔야 하는 공격입니다.

SSO 옵션을 이용하시는 분들은 꼭!!! 읽어보셔야 해요.

혹시 SSO를 모르시는 분들을 위해 SSO부터 설명하겠습니다! 🤗

SSO | Single Sign On

한 번의 인증으로 여러 사이트를 이용할 수 있게 하는 인증 기능입니다. 여러 시스템이 있다고 하더라도 하나의 시스템에서만 인증을 성공하면 다른 시스템에 대한 접근 권한도 얻는 것입니다.

SSO 인증은 편리해서 사용하는 인증 방식입니다. 개인의 측면에서는 사이트에 접속하기 위해 여러번 아이디와 비밀번호를 입력해야 하는 귀찮음을 줄일 수 있고 기업의 측면에서는 회원에 대해 통합 관리가 가능해져 비즈니스적인 요소에 활용할 수도 있습니다.

하지만 편리하다는 것은 보안 측면에서 보면 위험 요소가 존재한다는 것입니다. SSO 같은 경우도 그런데요. 계정을 하나만 알아내면 연관된 사이트나 시스템에서 자유를 얻을 수 있습니다.(후리덤!)

요즘은 카카오, 네이버, 구글 등 큰 규모의 사이트 계정이 있으면 그 계정을 사용하여 로그인 할 수 있기 때문에 익숙하실겁니다!

BitB 공격은 SSO에 사용되는 계정을 노리는 공격입니다.

더 자세하게 알아보시죠.

BitB | Browser in the Browser

브라우저 안에 또 다른 브라우저 창이 열린 것처럼 꾸며내어 사용자들을 속여 계정 정보를 알아내는 피싱 공격입니다. 타사 SSO 로그인 방식을 선택했을 때, 새로운 창이 뜨면서 아이디와 비밀번호를 입력하게 만듭니다.

예시 — Notion 사이트의 SSO 로그인 화면과 팝업창

해커가 이 기법을 사용하면 사용자들이 자신의 손으로 입력한 아이디와 비밀번호를 탈취할 수 있습니다. 실제 SSO 화면의 코드를 배껴서 만들기 때문에 일반 사용자들은 구분하기 힘듭니다. 더욱이 익숙한 사이트와 똑같이 생긴 화면이 뜨면 사용자들은 안심하고 입력합니다.

쉽게 말해 여러분이 맥도날드 간판을 보고 들어갔는데 감옥이었던 것이죠.(꺼내드려요?)

동작 방식

  1. 해커가 만든 가짜사이트로 유인하기 위해 사용자에게 이메일이나 메시지에 링크를 포함하여 전송합니다.
  2. 사용자가 링크를 누르면 실제 사이트와 똑같이 만든 가짜 사이트가 나옵니다.
  3. SSO 로그인을 위해 아이디와 비밀번호를 입력합니다.
  4. 이때, 철저한 공격자는 비밀번호가 틀리다는 알림을 띄워 여러번 입력하도록 합니다. → 여러번의 시도마다 아이디와 비밀번호가 같다면 정확도가 올라갈 것이고 비밀번호를 바꿔 입력하더라도 사용자가 쓰는 비밀번호의 패턴을 모두 알아낼 수 있으니 이득이겠죠?

글을 쓰다보니 저도 뭔가 만들어보고 싶어져서 오픈소스를 찾아 한번 해봤습니다.

물론 하느라 오래걸렸습니다.(미안해요 과장님 ㅎ)

실습해보기

❗오픈소스라서 금방 찾을 수 있으시겠지만 재미삼아 만드는 것으로 끝내시길 추천드립니다. 악용하시면 여러분 의지와 상관 없이 규칙적인 생활을 하게 될수도 있어요.

스텔스솔루션 블로그, 유튜브 많은 사랑 부탁드립니다.

오픈소스를 이용해서 만들어보니 쉽게 만들 수 있었습니다.

html과 css를 사용하면 실제 사이트처럼 꾸밀 수도 있기 때문에 사용자들을 속이기가 어려운 일도 아닐겁니다.

다른 소스코드를 사용하면 아이디와 비밀번호를 입력하고 SIGN IN 버튼을 눌렀을 때, 계정정보가 메모장에 저장되기까지 합니다.(ㄷㄷㄷ)

정말 마음먹고 만들면 구글 할아버지가 와도 못알아채겠어요..

대신 가짜 팝업창을 구분할 방법이 있습니다.

⭐️ BitB에 당하지 않는 방법

  1. 의심하기: 모르는 사람으로부터 온 이메일, 문자 메시지 등에 포함된 링크는 절대 누르지 않습니다.
  2. 보안설정 되지 않은 사이트 피하기: 웹사이트를 이용하다보면 주소표시줄 왼쪽에 자물쇠 모양이 있습니다. 이 자물쇠가 잠겨있다면 https라고 하는 보안설정이 되어있는 사이트입니다. 만약 자물쇠가 열려있다면 주의하셔야겠죠?
  3. URL 확인하기: URL 부분을 직접 입력해서 속일 수도 있지만 가장 먼저 확인해보셔야 합니다. 미처 바꾸지 않은 URL을 발견하면 당하지 않을 수 있습니다.
  4. 다중인증 사용하기: 다중인증을 사용하여 혹시 모를 유출에 대비하세요. 여러분이 속아서 입력했다고 하더라도 다중인증이 걸린 계정은 해커가 뚫을 수 없습니다. ❗물론 2차 인증 요소는 여러분의 머릿속에만 있는 비밀번호로 하셔야합니다. 스마트폰 인증은 안돼요!!
  5. 점검하기: 여러분이 접속한 사이트가 의심되시나요? 그렇다면 새로 뜬 팝업창을 이리저리 움직여보세요. 만약 정상적인 웹브라우저에 있는 사이트라면 팝업창이 자유롭게 움직입니다. 하지만 해커가 html의 <iframe>을 사용해 흉내만 낸 화면이라면 웹페이지 화면 내에서만 움직일 수 있습니다. 움짤 첨부할게요!!
가짜 — 브라우저 영역 내에서만 움직일 수 있다.
진짜 — 브라우저 영역 밖으로 움직일 수 있다.

속지 않으시려면 탐정이 된 것처럼 항상 의심하세요!

BitB 공격에 관한 경고가 2022년 3월에 나왔습니다. 실제 공격에 활용한 것은 1개월도 채 지나지 않은 4월 초였는데요. 해커들은 새로운 기법이나 도구에 무서울 정도로 빠르게 적응하고 있네요.

많은 피싱 기법이 그러하듯 BitB도 국제, 사회적 이슈나 유행을 재료로 삼아 공격에 활용합니다. 관심가는 내용의 글을 발견하셨다면 URL을 천천히 살펴보시면서 여러분을 위험에 빠트릴 사이트인지 고민하고 눌러보셨으면 좋겠습니다.

오늘 포스팅은 여기까지입니다.

읽어주셔서 감사합니다.

Chaning이었습니다.(빠이!)

--

--