1. Browser in the Browser (BitB)

- 2022.03에 새롭게 등장한 피싱공격

- 브라우저 창 안에 또 다른 브라우저 창이 열린 것처럼 꾸며내어 사용자들을 속여 계정 정보를 알아내는 피싱 공격

- 공격자가 HTML과 CSS 코드를 활용하여 정상적인 로그인 과정 등을 흉내

- SSO(Single Sign On_한 번의 인증으로 여러 사이트를 이용할 수 있게 하는 인증) 방식을 악용

 

2. 실습

① 기본 소스코드는 github에 공개되어 있는 Open Source를 사용

 

GitHub - mrd0x/BITB: Browser In The Browser (BITB) Templates

Browser In The Browser (BITB) Templates. Contribute to mrd0x/BITB development by creating an account on GitHub.

github.com

 

- git clone 명령을 사용해 파일 다운로드

[사진 1] 파일 다운로드

 

② pyphisher 다운로드 및 실행

- pyphisher: 파이썬을 사용한 피싱 도구로, 피싱을 위한 facebook, twitter, instagram 등 다양한 웹 사이트를 포함

 

GitHub - KasRoudra/PyPhisher: Easy to use phishing tool with 77 website templates. Author is not responsible for any misuse.

Easy to use phishing tool with 77 website templates. Author is not responsible for any misuse. - GitHub - KasRoudra/PyPhisher: Easy to use phishing tool with 77 website templates. Author is not res...

github.com

python3 pyphisher.py

 

- pyphisher 실행 시 피싱 사이트 생성을 위한 다양한 웹 페이지를 지원하는 것을 알 수 있음

> 실습에서는 [10] Gmail New 사용

> 실행 시 옵션 선택 사항에 대해서는 스킵 처리

[사진 2] pyphisher 최초 실행 화면

 

- 피싱을 위한 URL을 생성해주며, 해당 URL에 접속 시 Google의 로그인 창이 나타남

※ [사진 4]에서 pyphisher이 생성한 URL과 주소창의 URL이 다른 이유는 생성된 URL 접근 시 피싱 사이트 경고를 띄우며 URL이 변경됨.

[사진 3] URL 생성

 

[사진 4] pyphisher을 사용해 생성한 URL 접근 시 나타나는 Google의 로그인 창

 

③ 생성된 URL과 사용자를 속이기 위한 피싱 사이트의 설정을 진행

- index.html 파일의 내용 중 다음 부분을 피싱을 위한 설정으로 변경

기본 값 설명 변경
XX-TITLE-XX 페이지에 표시되는 제목 Sign in to Google account
XX-DOMAIN-NAME-XX 위장하려는 도메인 이름 https://login[.]gmail[.]com/
XX-DOMAIN-PATH-XX 도메인 경로 auth?id=1018o11090&sessid=90890890809
XX-PHISHING-LINK-XX iFrame에 삽입될 피싱 링크 pyphisher에 의해 생성된 URL

 

- index.html을 확인해보면 span 태그를 사용해 주소를 위조하는 것을 알 수 있음

> span 태크는 웹 페이지의 일부에 스타일을 적용시키기 위해(페이지를 꾸미기위해) 사용되는 태크

> 공격자의 피싱 사이트 주소 등을 span 태그를 사용해 사용자에게 보여주어 계정 정보 등 입력 유도

> 마지막 ifram 태그 내 src 값이 공격자가 생성한 피싱 주소

[사진 5] index.html 수정

 

④ 웹 서버 실행

-m moduele: 라이브러리 모듈을 스크립트로 실행

[사진 6] 웹 서버 실행

 

⑤ 외부에서 접속 시 로그인 팝업 창이 발생

- 로그인 폼이 적용되지 않아 ③의 과정에서 다른 URL로 변경해 보았지만, 정상적으로 적용되지 않음

[사진 7] 피싱 사이트 접근 시 로그인 팝업 발생

 

- Kali에서 localhost:8001로 접근 시 로그인 폼 정상 출력

[사진 8] 로그인 폼 출력

 

- 사용자가 정상적인 페이지로 착각하여 계정 정보를 입력하면, 공격자에게 PC 정보와 입력한 계정 탈취 및 파일로 저장

> 로그인 결과 403 에러(서버에 요청이 전달되었지만, 권한 때문에 거절되었다는 에러) 발생

[사진 9] 로그인 결과

 

⑥ 와이어샤크 확인

- 와이어샤크로 패킷을 확인해보면 입력한 계정 정보 확인(노출)

> 피싱페이지를 구성하는 방법에 따라 다른 결과를 보일 것으로 판단됨

[사진 10] 와이어샤크

 

3. 대응방안

① 출처가 불분명한 이메일, 메시지에 포함된 링크 클릭 금지
② URL 확인
③ 다중인증 사용
④ 팝업창이 웹 페이지 화면 내에서만 움직일 수 있으므로, 확인해보기 등 보안 규칙 준수

> 정상적인 웹 페이지 및 팝업의 경우 웹 페이지 밖으로 이동이 가능함

> 아래 동영상의 경우 실습에서 사용한 피싱 사이트로 팝업이 웹 페이지 밖으로 움직여지지 않음

요약 - 북한 해커조직, Browser in the Browser 기술 사용 등 피싱 관련 기술 고도화
- 웹주소 표시줄에 실제 사이트의 주소가 표시, 화면으로 피싱 페이지 파악 불가
내용 - 과거의 피싱 공격은 타이포스쿼팅 이용
> 실제 주소와 유사한 주소를 사용해 눈속임
> 예를 들어 정상 주소가 google인 경우 공격자들은 g00gle 등으로 변경

- 최근 확인된 공격에서는 피싱 페이지의 주소 표시줄에 실제 사이트 주소가 표시됨
> 화면만으로는 피싱 페이지임을 알 수 없음
> 이를 이용한 Steam 계정 탈취, 금융기관 대상 피싱 등 악용 사례가 발견
> 대부분의 기업에서 사이트 접속 시 주소를 주의 및 확인해야 한다는 교육하는 것을 노린 공격

- 위조된 피싱 페이지는 실제 브라우저에서 제공하는 것이 아님
> 공격자에 의해 정교하게 제작된 CSS 코드로 확인
> 실제 피싱 사이트의 소스코드를 확인해보면 주소 표시줄에 나타나는 도메인과 파라미터를 지정하는 코드가 확인됨

- 해당 공격은 디자인을 통해 가짜 팝업창을 만들기 때문에 정상 팝업창과 달리 브라우저 밖으로 이동되지 않는 특성을 지님
> 일반 사원들은 관련 내용 숙지가 어렵기에 이메일을 통해 수신한 링크에서는 어떠한 형태로든 로그인 하지않도록 주의 필요
기타 - 브라우저 인 더 브라우저(Browser in the Browser, BitB)
> 2022.03에 새롭게 나온 피싱공격
> 브라우저 창 안에 또 다른 브라우저 창이 열린 것처럼 꾸며내어 사용자들을 속여 계정 정보를 알아내는 피싱 공격
> SSO(Single Sign On_한 번의 인증으로 여러 사이트를 이용할 수 있게 하는 인증) 방식을 악용

> 동작방식
① 해커가 만든 피싱 사이트로 유인하기 위해 사용자에게 이메일 등에 링크를 포함하여 전송
② 사용자가 링크를 누르면 실제 사이트와 똑같은 혹은 유사한 피싱 사이트 접속
③ SSO 로그인을 위해 계정 정보 입력
※ 이때, 비밀번호가 틀리다는 알림을 띄워 여러번의 입력하도록 유도_비밀번호 정확도를 높이기 위한 방법
④ 입력한 계정 정보가 공격자에 전송 및 탈취

> 대응방안
① 출처가 불분명한 이메일, 메시지에 포함된 링크 클릭 금지
② URL 확인
③ 다중인증 사용
④ 팝업창이 웹 페이지 화면 내에서만 움직일 수 있으므로, 확인해보기

- CSS 코드 (Cascading Style Sheets)
> 웹페이지를 꾸미기 위한 코드
> HTML 태그 등에 할 장식의 종류, 크기, 색깔, 폰트 등을 지정

 

보안뉴스

 

북한 해커조직, 실제 주소와 똑같은 피싱 사이트 사용한다? BitB 기술 악용

최근 북한 해커조직이 피싱 공격에 BitB(Browser in the Browser) 기술을 사용하는 등 피싱 관련 기술이 고도화되고 있어 주의가 요구된다. 과거의 피싱 공격은 피싱 사이트의 주소가 실제 사이트와 달

www.boannews.com

 

+ Recent posts