선관위 시스템, 모의 해킹과정에서 관리자 권한 탈취 보안 취약점 발견
- 관리자 권한으로 로그인 해 악성코드 없이 공격하는 랜섬웨어
- 정상 사용자 권한 도용하는 공격 유행…클라우드 접근권한 15달러 판매
공격자는 별다른 공격 도구 없이 정상 사용자 권한만으로 공격합니다. ‘비트라커(BitLocker)’ 랜섬웨어가 그 대표적인 예로, 공격자는 관리자 권한으로 로그인 한 후 윈도우에 기본 탑재된 디스크 암호화 기능을 이용해 랜섬웨어 공격을 합니다.
한국인터넷진흥원(KISA) 보고서에서 설명한 비트라커 랜섬웨어 공격 방식을 살펴보면, 공격자는 기업 홈페이지 고객상담 게시판에 파일 첨부기능을 이용해 웹셸을 업로드했는데, 이는 시스템 정보 유출, 내부 취약점 서비스 스캔 등의 기능을 합니다.
더불어 2종의 웹셸을 추가로 업로드하면서 웹셸이 발견돼 삭제됐을 경우에도 공격을 지속하도록 했습니다.
웹셸이 실행되면 시스템 권한을 획득하게 되며, 시스템 계정을 무단으로 생성해 원격으로 접속, 비트라커를 실행해 무단으로 디스크를 암호화합니다.
비트라커는 윈도우7·서버 2008부터 제공하는 기본 기능으로, 암호화 시 설정한 비밀번호나 복구 키가 있어야 복호화 할 수 있습니다.
공격자는 관리자 모니터링과 백신에 탐지되지 않도록 파일명을 변경하는 등 우회·은닉 수법을 썼으며, 초기 권한상승 도구로 사용한 웹셸을 삭제해 추적을 피했습니다.
취약점 이용해 루트권한 탈취 공격
호스팅 기업을 대상으로 한 ‘고너크라이(Gonnacry)’ 랜섬웨어는 서버 OS 취약점을 이용해 루트 권한까지 탈취해 공격한 사례입니다.
공격자는 홈페이지 게시판 중 파일 업로드 취약점을 악용해 웹셸을 업로드해 웹서버 권한의 셸을 획득습니다.
업로드된 웹셸을 이용해 2019년 10월 공개된 관리자 권한으로 상승할 수 있는 취약점인 Sudo 명령어 취약점(CVE-2019-14287)을 악용해 관리자 권한을 획득했습니다.
거점 서버를 지속적으로 사용하고 관리자의 추적을 피하기 위해 웹셸 기능을 하는 악성모듈을 웹서버 설정파일로 등록했으며, 웹서버에서 서비스하는 모든 페이지에서 웹셸과 동일한 기능의 명령어를 수행했습니다.
또한 어떤 사용자라도 관리자 권한으로 실행할 수 있는 SetUID bit가 설정된 악성파일을 생성해 악용했으며, 내부 침투를 위한 거점으로 활용해 공격을 지속하도록 했습니다.
더불어 웹셸 탐지를 회피하는 여러 기능을 사용했으며, 서버 내 로그를 삭제해 공격 흔적을 은닉하고 추적을 따돌렸습니다.
클라우드 로그 접근권한을 획득해 개인정보와 중요정보를 훔치는 공격도 공개됐습니다. 트렌드마이크로 조사에 따르면 클라우드 로그 접근권한이 월 1000달러에 판매되고 있습니다.
범죄자들은 입수한 권한으로 클라우드 로그를 수집해 아마존, 구글, 트위터, 페이스북, 페이팔 등의 로그인 정보와 상당한 규모의 기업 내부 데이터를 탈취하고 이를 다크웹에서 판매하고 있습니다.
거래 정보에는 원격 데스크톱 프로토콜(RDP) 자격증명도 포함돼 있어 기업 대상 랜섬웨어 공격도 가능합니다.
AD 관리자 계정으로 랜섬웨어 유포
서버 관리자의 AD를 장악해 랜섬웨어를 유포하는 사례도 꾸준히 이어집니다. 공격자는 스피어피싱을 통해 다수의 단말기를 관리하는 AD 관리자의 PC에 직접 침투하거나 일반 사용자 PC에 잠입한 후 측면이동으로 관리자 단말기로 침투합니다.
PC에 자격증명 정보가 저장돼 있으면 공격이 더 쉬워집니다. 혹은 제로로곤(Zerologon) 취약점이 있다면 서버 관리자 단말기 뿐 아니라 도메인에 연결된 단말기가 공격에 노출됐을 때 AD 서버에 접근해 관리자 계정을 획득할 수 있습니다.
AD 서버를 장악한 공격자는 내부 네트워크에 포함된 정보와 정책을 수집하는데, 보통 이를 위한 스크립트는 오픈소스로 공개돼 있습니다.
파일 업·다운로드, AD 서버에 연결된 단말기로의 정책 배포, 악성코드 삽입 등 관리자로서의 권한을 악용한 모든 행위를 수행할 수 있습니다.
금전적인 목적을 달성하기 위해 공격자는 AD 서버에 연결된 단말기 및 서버 등을 대상으로 랜섬웨어를 유포, 감염하는 행위를 수행합니다.
랜섬웨어 유포·실행 스크립트로 인해 AD 네트워크에 연결된 모든 단말기로 랜섬웨어가 전파될 수 있으며, 감염파일이 생성될 수 있고, 랜섬웨어 유형에 따라 복구가 불가능할 수 있습니다.
재택·원격근무 확산으로 사용자 인증 문제가 더 중요해지면서 AD 활용도가 넓어질 것이며, AD 보안 수요도 늘어날 것으로 보입니다.
퀘스트소프트웨어는 2020년 국내 대기업에서 AD 보안 솔루션 도입을 시작했으며, 2021년 본격적으로 AD 보안 솔루션 시장이 열릴 것으로 기대합니다.
퀘스트소프트웨어의 AD 보안 솔루션은 AD 서버 침해를 실시간 감시하는 ‘체인지 오디터(Change Auditor)’와 AD 서버 실시간 백업·복구를 지원하는 ‘리커버리 매니저(Recovery Manager)’로 구성된다. 기존 AD 서버 영향을 최소화하면서 ▲자체 감사 이벤트 생성 ▲AD 모니터링 ▲실시간 탐지·복구 등의 기능을 제공합니다.
퀘스트는 2021년 확장된 AD 보안 시장 공략을 위해 2팩터 인증과 윈도우·맥OS 패치 솔루션, 외부 사용자 세션 모니터링 솔루션을 국내에 공급하면서 재택·원격근무와 클라우드 환경을 보호하는 기술을 제공할 계획입니다.
클라우드 접근 권한, 15달러에 판매
‘공격자는 해킹하지 않고 로그인한다’는 말이 있습니다. 각종 보안 솔루션으로 보호되는 정문을 뚫고 들어오지 않고, 힘들게 취약점을 찾지도 않으며, 시스템 접근 권한을 갖고 당당하게 접속합니다.
접속 후 상위 시스템 접근권한과 특권권한을 수집하면서 공격면을 확장해나갑니다.
클라우드 침해사고 중에서도 권한을 탈취해 발생한 것이 많습니다. IBM 조사에 따르면 2019년 기업은 클라우드 자산 무단 액세스로 1시간에 5만달러의 손실을 입은 것으로 분석됐습니다.
공격자들은 지하시장에서 클라우드 서비스와 계정을 구입해 공격하는데, 러시아어로 운영되는 지하포럼에서는 단돈 15달러에 대규모 퍼블릭 클라우드 액세스 키를 판매하고 있었습니다.
클라우드 저장소에 대한 특권 접근 권한을 획득해 여러 클라우드로 이동하면서 코드를 훔치고 프로그램을 조작하는 등의 침해 활동을 벌이기도 했습니다.
‘로그인 하는 공격’을 위한 첫번째 시도에 사용되는 계정정보 역시 어렵지 않게 얻을 수 있습니다. 기존에 유출된 개인정보를 온라인 서비스에 대입해 추가 개인정보를 획득하는 크리덴셜 스터핑 공격으로 대량의 정보를 획득할 수 있습니다.
개인 계정과 기업 계정을 동일하거나 유사한 문자·숫자 조합으로 사용하는 사람이 많기 때문에 개인 계정을 탈취하면 기업 계정을 탈취하는 것도 어렵지 않습니다.
관리되지 않고 방치된 서버, 클라우드, 안전하지 않은 공용 와이파이에 접속한 사용자 기기 등에서 계정 정보를 습득할 수 있으며, 이것이 첫번째 ‘로그인’ 열쇠로 사용됩니다.
공격자는 이 과정을 수작업으로 하지도 않는다. 자동화된 봇을 이용해 대량의 개인정보를 이용해 더 많은 개인정보와 계정정보를 수집합니다.
웹 서비스 로그인 정책 중 여러 차례 로그인 시도 실패 시 메일이나 문자메시지로 본인에게 알림을 띄우는데, 이 정책도 우회할 수 있습니다.
로그인 실패 메일·문자 수신 주소를 바꾸거나 해당 웹 취약점을 이용해 로그인 실패 알림이 전송되지 않도록 할 수도 있습니다.
임퍼바가 탐지한 크리덴셜 스터핑 공격 사례를 보면 한 기업은 60시간 동안 4400만번의 로그인 시도가 발생하기도 했습니다.
자동화 봇을 이용한 크리덴셜 스터핑은 5배~50배까지 늘었으며, 임의 계정과 패스워드 쌍을 추측해 로그인 대입을 시도하는 크리덴셜 크래킹 공격도 급증했습니다.
임퍼바는 계정탈취(ATO) 방어를 위해 다단계 인증과 악성 봇 차단 기술이 필요하다고 주장합니다. 임퍼바는 지능형 악성봇 차단 솔루션 ‘ABP’으로 안티봇 솔루션을 우회하는 지능형 봇을 차단할 수 있으며, 좋은 봇과 나쁜 봇을 구분해 봇의 비즈니스 순기능을 이용할 수 있도록 합니다.
관리자 또는 개발자 계정 훔쳐 소스코드 유출
권한탈취 공격은 개발자 PC에도 빈번하게 발생합니다. 일반적으로 계정정보는 OS나 웹브라우저, 비밀번호 관리 프로그램 등에 저장되는데, 편의성을 위해 평문으로 노출된 ID/PW를 파일로 저장하는 경우도 있습니다.
웹브라우저에 자격증명을 저장하는 경우, 간단한 스크립트를 통해 저장된 자격증명 평문과 방문이력 등을 확인할 수 있으며, 이 기록으로 개발서버에 접근해 소스코드와 코드사인 인증서를 탈취할 수 있습니다.
한국인터넷진흥원(KISA)이 ‘스피어피싱 공격 타깃별 피해 시나리오 분석; 악성행위에 사용되는 도구를 중심으로’ 보고서에서 소개한 사례를 보면, 공격자는 개발자 컨퍼런스 발표를 요청하는 메일을 보냈습니다.
이 메일에는 정보유출 기능을 가진 문서형 악성코드가 첨부돼 있었습니다. 개발자가 첨부파일을 열어 악성코드가 다운로드 되면 개발자 컴퓨터의 계정정보를 탈취합니다.
개발자 자격증명을 탈취한 공격자는 개발자의 작업기록을 검색해 저장소 주소를 획득하고 SSH 개인키를 이용해 소스코드를 유출합니다.
보통 소스코드 저장소 접근은 공개키 알고리즘을 이용한 인증을 적용해 개인키가 없으면 접근할 수 없도록 합니다.
그러나 로컬 컴퓨터가 공격자에게 장악돼 있으면 개인키를 탈취하고 소스코드 저장소에 접근할 수 있습니다.
브라우저에 저장된 소스코드 저장소 자격증명을 획득한 공격자는 웹을 통해서도 직접 접근할 수 있습니다.
개발자 개인에게 부여된 저장소별 권한에 따라 유출되는 정보 범위가 달라질 수 있지만, 전체 저장소 관리자 권한이 탈취당하면 모든 소스코드가 유출될 수 있습니다.
소스코드 저장소에 접근하는 모든 계정에 대하여 2단계 인증을 요구하거나 접근 가능한 IP를 설정하면 불법 접근 가능성을 낮출 수 있습니다.
그러나 로컬 PC를 장악한 공격자는 개발자 작업기록을 검색해 접속 가능한 방법을 찾아낼 수 있습니다.
조직에 속한 저장소 권한을 제어하는 것도 매우 중요한 일인데, 깃허브의 경우 모든 조직원이 저장소에 접근할 수 있는 READ 권한으로 초기값이 설정돼 있어 모든 저장소에 접근하여 소스코드를 확인하고 복제할 수 있기 때문에 전사 소스코드가 유출될 수 있습니다.
개인적인 생각
모의 해킹에도 여러가지 있는데 크게 제한된 정보만 알려주고 진행하는 방법이 있고 그래도 어느정도 정보를 알려주고 시작하는 방법이 있습니다.
전자든 후자든 모의 해킹으로 인한 취약점이 발견되는 건 어느 회사나 어느 단체나 마찬가지로 고달프기는 합니다.
개인적으로 해킹을 공부한 적은 없고 그냥 보안기사에 나온 해킹방법에 대하여 조금이나마 공부한 적은 있습니다.
그리고 연중행사로 보안감사를 받기 때문에 저희가 구축한 서버들은 KISA나 금감원 클라우드 보안 사항에 맞춰서 보안조치를 하고는 있습니다.
물론 이게 외부 해커의 해킹 공격으로부터 완벽하다거나 보안의 정론은 아니고 그냥 시켜서 하는 일이기는 합니다.
요즘은 포트스캐너나 무차별대입 공격 또는 사전(Dictionary attack)해킹 공격 같은건 싼 보안 프로그램 수준에서도 막히기는 합니다.
그리고 결론적으로 알려진 해킹 방법은 이미 보안사항이 어느 정도 나온 상태이며 적당히 돈을 바르면 어지간 한건 막힌다가 중론입니다.
귀찮다는 생각은 잠시 접어두고 일단 모의 해킹 과정에서 발견된 취약점에 대해서는 보안 대책을 강구해야 합니다.
소는 잃어도 외양간은 고쳐서 사용해야 하고 이번일을 반면교사 삼어 보안은 언제나 부족하다는 점도 깨달을 수 있는 시간이 되었으면 합니다.