Firefox + Container + Proxy = Hack Env
여러분들은 분석하실 때 어떤 브라우저를 사용하시나요? 저는 보통 각 도구의 Embedded Browser(ZAP-Firefox/Burp-Chrome)을 주로 사용합니다. 그리고 종종 일단 Firefox로도 테스트를 즐겨합니다.
최근 Akita가 Firefox를 사용할 때 참고할만한 재미있는 tweet을 남겼습니다. 단순히 편의적인 이점 뿐만 아니라 취약점 분석 환경을 세팅할 때 충분히 도움될 수 있는 내용이라 풀어서 글로 공유해봅니다.
TL;DR
Firefox Multi-Account Containers와 Container Proxy Addon을 통해 브라우저 내 프록시 설정 그룹을 분리할 수 있습니다. 이를 이용하여 Containers 단위로 프록시를 미리 설정할 수 있어 분석, 구글링 등 목적이나 프록시 종류에 따른 분리 등 여러가지 방법으로 활용할 수 있습니다.
Container x Proxy
Container 단위로 Proxy를 설정하고 이를 사용하는 환경은 사람에 따라 다르겠지만 충분히 매력적이라고 생각합니다. 먼저 Proxy 탭과, Non-Proxy 탭을 나눌 수 있다는 점으로도 큰 장점이 되고 여러 환경에서 동일한 세팅(Bookmarklet, Adddon 등)을 쓴다는 점도 주목할 가치가 있습니다.
Install Addons
Multi-Account Containers
Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs. Cookies are separated by container, allowing you to use the web with multiple accounts and integrate Mozilla VPN for an extra layer of privacy. Mozilla Firefox
Multi-Account Containers는 Firefox에서 제공하는 공식 Addon으로 브라우저 내 환경을 Containers 처럼 분리할 수 있는 기능을 가집니다. 설명에는 VPN이나 Account에 대한 이야기가 있지만 설정하지 않고 환경만 분리할 수도 있습니다.
Container Proxy
Allows Firefox user assign different proxies to be used in different containers Aleksei Bekh-Ivanov
Container Proxy는 Firefox 내 Container 단위로 프록시를 설정할 수 있는 Addon 입니다. 기존에 Toggle 형 Addon(e.g MM3)을 사용하셨다면 이참에 Container 단위로 정리하시는 것도 좋을 것 같습니다.
Set-up
설치가 완료됬다면 상단에 2개의 Addon 메뉴가 생깁니다. 각 Addon을 통해 Container를 설정하거나, 그에 매핑된 Proxy를 설정할 수 있습니다.
Set Containers
먼저 Multi-Account Containers로 Container를 설정합니다. Personal, Work 등의 기본값을 제공하고 있습니다.
여기서 추가/수정/삭제하여 원하는 환경들을 정의해주시면 됩니다.
Set Proxy for Containers
이제 각 Container에 대한 Proxy를 설정할 차례입니다. Container Proxy 버튼을 통해 열어주면 Container 리스트가 확인됩니다.
좌측의 Proxies 메뉴를 눌러 들어가면 Proxy 정보를 추가할 수 있습니다. 예시로 ZAP만 작성했지만 각 도구들, 환경 등에 따라서 여러개를 추가하여 사용하셔도 됩니다. 그리고 추가된 Proxy는 Assign 탭에서 각 Container의 Proxy 부분(아래 화면에서 Directly로 설정된 부분들)을 변경하여 각 Container에 맞는 Proxy를 설정할 수 있습니다.
Proxy 정보 추가
Container마다 저장한 Proxy 정보를 매핑할 수 있음
Go!
이제 Multi-Account Containers 탭에서 지정한 Container 선택 시 우리가 설정한 Proxy로 자동 세팅됩니다.
Only Multi-Account Containers
사실 Multi-Account Containers만 사용해서도 가능하긴 합니다. 각 Containers의 설정 부분에 보면 Advanced Proxy Setting이란 메뉴가 있는데 이를 통해서 해당 Container에 Proxy 설정이 가능하죠.
다만 Container Proxy 사용하는 형태가 관리하기 훨씬 편리하다고 생각합니다 :D
Conclusion
안그래도 브라우저 환경에 대한 고민이 좀 있었는데, 나름 신선하게 저에게 다가온 것 같습니다. 당분간 적용해서 써보고 괜찮다면 아예 넘어갈 의향도 있습니다. 실제로 도움이 되지 않더라도 이러한 시도들은 여러 영감들을 만들꺼고 언젠가 크게 도움되는 날이 올 수 있으니 관심 있으시다면 한번 도전해보시는 것을 추천드려요 😁