Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tinyjin/f05d54a70bec23a39161b939b52c747a to your computer and use it in GitHub Desktop.
Save tinyjin/f05d54a70bec23a39161b939b52c747a to your computer and use it in GitHub Desktop.
bob10-hbgary.md

과제 - HBGary 해킹 사건 보고서

목차

  1. 구성원 및 참여도
  2. 서론
  3. 개요
  4. HBgary의 문제점
  5. 침투 시나리오
  6. 결론
  7. 참고자료

0. 구성원 및 참여도


정원홍 → 10%

강우선 → 9%

경규창 → 9%

김동준 → 9%

김민중 → 9%

김종민 → 9%

김지수 → 9%

김훈민 → 9%

심준섭 → 9%

유진의 → 9%

정수환 → 9%

1. 서론


이강석 멘토님의 웹 어플리케이션 강의를 수강하며 여러 사례들을 바탕으로 보안 취약점은 무엇이었는지 분석해보는 시간을 가졌다. 그에 이은 과제로 HBGary에서 발생한 큰 해킹 사건에 대해 조사해보고 취약한 부분들을 분석해보고자한다.

본 보고서에서는 HBGary라는 보안 회사가 해킹을 당하게 된 과정과 당시에 회사가 간과했던 문제점들을 중점적으로 다룰 것이다. 상당히 큰 보안 회사인 만큼, 분석 과정을 통해 많은 점들을 배울 수 있을 것이라 생각한다.

2. 개요


2.1 HBGary

https://lh5.googleusercontent.com/3P_yzTJuOvv_p376Sxdv31Ey6sXePojuqONsk4yLFXXlsWsNhXK7BO6RTgXHs0BeNWAR4LoqGPItpS4_Nb9FgjbGJa8q_5U0N21VmOE1GN_2S5nLq028OVDpcanTEtfclu-AACVI

HBGary는 보안 기술을 중점으로 둔 보안회사이다. HBGary Federal과 HBGary,Inc. 두 개의 회사로 나뉘어 있었고, 현재는 IT 서비스 업체인 ManTech International의 자회사이다.

HBGary는 공공과 민간 업체 모두에게 보안 소프트웨어와 서비스를 제공하며 보안 업무 대부분을 맡았다. 소프트웨어 측면에서는 악성코드를 탐지, 격리, 분석하는 도구와 컴퓨터 포렌식 도구 제공했으며, 서비스 측면에서는 침입 탐지 시스템 및 보안 네트워킹 구현에 대한 전문적인 지식을 제공했었다. 또한 시스템과 소프트웨어의 취약점 진단 및 침투 테스트도 수행했다.

국가 안보국을 비롯해 3개 기관이 HBGary와 정기적으로 접촉했으며 잘 알려진 보안 회사 McAfee와도 협력. 여러 곳에서 HBGary에 관심을 보였다. 하지만 룰즈섹의 해킹으로 신뢰도는 급격히 떨어지게되었다.

2.2 룰즈섹(LulzSec)

1) 개요

룰즈섹은 2011년에 활동한 해커 그룹이다. 10대에서 20대의 구성원으로 이루어진 해커 그룹으로, 약 50일 동안 37건의 해킹 공격을 하였고, 이 중 소니를 향한 공격이 14건이나 되었다. 홈페이지와 트위터를 직접 운영하였고, 홈페이지에는 해킹일지를 적어 놓았다. 트위터에는 공격할 대상에 미리 선전포고하거나 해킹하고 조롱거리로 삼듯이 자료를 올려 놓았다. 룰즈섹이라는 이름의 유래는 웃음을 뜻하는 LOL(Laughing out Loud)과 보안을 뜻하는 Security의 합성어로 '보안을 비웃는다' 라고 추측된다.

2) 해킹 활동

룰즈섹의 창립멤버 6명은 어나니머스에 속한 그룹인 Internet Feds의 구성원이었다. 그들은 보안 업체인 HBGary의 CEO 이메일을 해킹하였고, 비즈니스 이메일을 온라인에 폭로하였다. 이 사건이 커지면서 창립 멤버 6명은 룰즈섹이라는 이름으로 이 사건을 자신들이 했다는 발표를 하였다.

룰즈섹이라는 이름으로서의 첫 해킹은 폭스닷컴이 대상이었는데,  2011년 5월 10일 폭스닷컴의 고객 데이터베이스와 비밀번호를 해킹해 홈페이지에 올려 놓았다. 이후, 일본 기업 소니에 대한 14건의 공격을 하였고, 닌텐도와 세가도 공격하였다. 2011년 6월 3일에는 FuckFBIFriday라는 작전명으로 FBI를 해킹한 내용도 올려놓았는데, 이처럼 정부 기관에 대한 공격도 시행하였다.

3) 해킹의 이유

룰즈섹의 해킹활동은 돈이 목적이 아니었고, 단순히 재미를 위해서 한 것도 있지만 보통 이유가 있었다. 정치, 국가적인 곳을 해킹할 때는 부정부패와 비리를 폭로하는 정치적 메시지를 담았고, 기업을 해킹하여 사용자의 정보를 공개할 때는 기업의 낮은 보안 의식을 비판하는게 주된 이유였다. 미국 오디션 방송인 X factor에 대한 해킹은 이 방송이 비윤리적으로 촬영되었기 때문이고, 소니의 경우 플레이스테이션을 해킹한 해커 지오핫과의 소니의 법적 공방을 비난하기 위해서로 여겨진다.

2.3 룰즈섹(LulzSec)이 HBGary를 해킹한 이유

단순히 운영문제나 기술적인 문제같은것으로 어나니머스가 공격을 하지 않았을 것이다. 어나니머스가 침투한 명분으로는 크게 4가지가 있다.

첫번째는 CEO인 Aaron Barr의 사이버 스토킹이다. Araon Barr는 DC로펌과 소셜 미디어 보안과 관련하여 계약을 맺을때 잠재적 고객사인 DC로펌의 직원과 직원의 가족을 스토킹 하기로 계획하였다. 페이스북으로 직원과 직원의 가족의 정보를 파악한 다음 해당 정보를 DC 로펌에 전송하였다. 또한 그것을 소셜미디어에서 자신의 능력을 증명하는데 사용하였다.

두번째 명분은 HBGary에서 운영하는 rootkit.com과 관련되어 있다. rootkit.com은 루트킷과 관련된 기술에 관한 토론과 분석을 할 수 있는 사이트로 논란의 여지가 많았다. 특히 rootkit.com의 취지는 모든 어나니머스의 가면을 벗기겠다는 취지로 만들어졌으며 유명한 해커들의 타겟이 되었다. 어나니머스가 익명을 기반으로 활동하는 단체이므로 해당 명분도 꽤나 좋은 명분이 될 수 있었다.

세번째 명분은 Wikileaks와 관련된 명분이다. 미국의 주요 은행에서 Wikileaks를 제지할 전략을 보안업체들로부터 요구하였을때, HBGary의 Aaron Barr는 프레젠테이션의 초안을 작성하여 협조를 하였다. Aaron Barr는 Wikileaks의 기여자에 대한 데이터를 얻기 위해 인프라에 대한 공격과 Wikileaks의 신뢰도를 낮추기 위해 조작된 문서를 삽입하고, Wikileaks를 지지하는 사회운동가들을 압박하여 Wikileaks에 대한 지원을 끊게 하자고 제안을 하였다. 어나니머스는 대표적인 친 Wikileaks 단체이며 어나니머스가 HBGary를 해킹한 이유 중 하나라고 볼 수 있다.

마지막 명분은 어나니머스에 대해서 직접적으로 공격을 한 것이다. Araon Barr는 자신을 위장하여 어나니머스의 IRC에 침투하여 어나니머스의 일부 해커들의 정보를 알아냈다. 어나니머스의 실체는 20 ~ 30명 정도 되는 소규모 해킹팀으로 나머지 어나니머스 IRC에 있는 사람들은 좀비라고 주장하였고 알아낸 정보를 FBI에 건넸다. 이후 어나니머스의 일부 해커들이 FBI에 체포되었고 관련 기사가 나온지 하루만에 어나니머스는 보복을 하겠다고 성명문을 내었고 다음날 공격을 진행하였다. 이때 주축이 된 6명이 자신들을 룰즈섹이라고 발표하였다.

3. HBgary의 문제점


3.1 업무적인 문제점

1) 고객 - 회사 간의 수월하지 않은 피드백

2008-12-10에 실무자가 Responder 프로그램의 Runtime Analysis 기능이 Responder.pdf(설명서)대로 실행이 안된다고 건의를 하였는데 2월까지 기다리라고만 하고 추가적인 대응책이 전혀 없었다.

나중에 결국 답장이 왔는데, Responder라는 프로그램 대신 Flypaper라는 다른 프로그램을 프로그램을 사용할 것을 제안하였다.

고객이 회사에 문제 제기를 하였지만, 2달만에 내린 문제의 해결책이 다른 프로그램을 사용하는 것 이었음. 고객 대응에 상당히 무책임한 회사라고 볼 수 있다.

2) 과도한 광고

Responder 프로그램의 기능을 홍보할 때, 분명히 Runtime Analysis 기능이 포함되어있다고 하면서 사용자에게 구매를 유도하였다. 실제로"Runtime Malware Analysis"라는 이름으로 HBGary 홈페이지 아래에 "Runtume Analysis 영상"이 있으며, 이는 Blackhat 2007에서 "Active Reversing slide presentation"라는 이름으로 발표된 적 있다.

이를 보고 Responder를 구매한 실무자는 해당 기능을 사용하고자 하였지만, Responder프로그램에서는 정상 작동하지 않았다. (기능 탭은 있었는데, 정상적인 작동은 안함)

3) 회사 내의 소통 문제

처음 Responder 기능에 대한 문제 제기를 하였고, 해당 메일을 받은 BOB은 그대로 지원팀에게 전달을 하였다. 그런데 지원팀에서는 아무런 대응이 없었고, bob은 이에 대해 전혀 알지 못했음을 유출된 메일을 통해 알 수 있었다.

전체적으로 보면, 지원팀 내에서의 문제도 있으며 해당 사실을 bob이 몰랐다는 사실 또한 회사 내의 소통문제로 볼 수 있다.

3.2 실무자에게 필요했던 기능

1) Responder의 Runtime Analysis

  • Blackhat 2007 - Active Reversing 슬라이드 발표에 소개된 Runtime Analysis

Responder의 메뉴얼 내용

  1. WintelNodeAgent 실행
  2. New Session 생성 (WintelNodeAgent <-> Responder)
  3. Process Attach
  4. Active Reversing
    • 코드를 수동으로 읽고 바이너리의 각 영역을 이해하는 대신 자동 샘플링 시스템을 이용해 바이너리의 어떤 부분이 사용되는지 읽는 기능이다.
    • Analyze Binary 이후 sample point를 추가하고 밑의 그래프를 생성해준다. 그래프 색 조절 및 그래프 추가 기능 지원도 한다.

https://lh5.googleusercontent.com/TP7EHgVVUhJGJOMge2fm2lccEXs1klomS_VPMUS8_YuXNSCCPsWWEd_ONlC1AMQci5kJxmEQ1RBtxXrf6VKyOOud4wZTn6yhVkaoyAdDuH9YWU1b3kR2xeOaWetDSmI_cMRC4Hub

  1. Tracing
    • 프로그램상의 작은 section에 있는 모든 data, instruction을 캡쳐하는 기능을 제공한다.
    • Starting point와 depth를 지정 후 사용자가 전체 프로그램중 집중적으로 보려고 하는 일정 부분을 보여준다.

2) Responder의 Runtime Analysis 문제점

  • Responder를 구매한 주된 이유는 Runtime Analysis 기능 때문에 구매했다.
  • subroutine과 binary code에 대한 access를 제공하는 "Global" 색션 획득 실패하였다.
  • 메뉴얼을 보면서 지침을 정확히 따라 했지만, 동작 하지 않는 것을 확인 했다.
  • 메일을 직원에게 보냈지만, 답장은 직원들이 고칠 때 까지 기다리라는 답만 받았다.
  • 이후 몇 달이 지나도록 해결이 되지 않았고 pdf로는 충분하지 않고 버그가 발생되는 정확한 절차를 video로 만들었다.
  • 구매자는 Responder의 Runtime Analysis 기능이 가짜라고 생각했다.
  • Kernel Debugger, Virtual Machine Memory Analysis, Memory Dump 기능은 잘 동작 하는 것을 확인 했다.
  • Runtime Analysis 기능이 동작하지 않은 이유와, 다른 구매자들도 같은 문제를 겪고 있는지를 직원에게 요청 했다.

3.3 기술적인 문제점

1) 널리 알려진 공격 기법에 대응하지 못하는 커스텀 소프트웨어 사용

  • 웹사이트 관리를 위해 SQL 인젝션 공격에 취약한 CMS(content management system)를 사용했다.
  • 오래된 소프트웨어 시스템과 외부 클라우드 시스템을 사용 => 취약점으로 루트 패스워드가 유출되었다.
  • 매개변수의 조작을 통해 sql injection을 발생 시킬 수 있었고 이를 바탕으로 ID, email, 암호 해시 목록을 탈취할 수 있었다.

2) 패스워드 취약성 검증

  • PW가 너무 간단해서 레인보우 테이블을 이용해 MD5 해쉬로 부터 PW가 추출된다.

  • 실제 14자리 이상 정도면 레인보우 테이블 공격이 어렵다.

    → But, 해당 침해사고 시점에 사용된 PW는 6자리의 영어소문자와 2자리의 숫자로 구성된 8자리 문자였다.

3) 권한 상승 취약점의 존재

레인보우 테이블을 통해 크랙 된 패스워드는 support.hbgray.com에 ssh접속 시 사용되는 패스워드와 동일해서 해커가 해당 시스템에 ssh를 통해 접속가능했다. 또한 크랙 된 패스워드 중에는 회사 메일 관리자 계정에 액세스 할 수 있는 계정도 존재 했다.

  • 접속에 성공한 계정은 일반 권한의 유저였기때문에 권한상승을 위한 작업이 필요하다.
  • privilege escalation을 위해 CVE-2010-3192를 사용하는데, 해당 취약점은 2010년 10월에 보고되어 11월까지 거의 패치가 완료되었지만 해당 리눅스 시스템에서는 패치되지 않고 2011년 2월까지 유효한 취약점이였다.

https://seclists.org/fulldisclosure/2010/Oct/257

4) 외부 시스템의 다단계 인증 미사용

arronbarr

  • 해킹된 외부 계정을 통해 테러성 게시물이 업로드 되었다.
  • 클라우드에 저장된 회사 자료 또한 유출되었다.

5) 사회 공학적(Social engineering) 공격에 취약한 인증 시스템

  • 다른 서버 장비에 접속하기 위해서 사회공학적인 방법으로 추가적인 공격을 진행했다.

    → 서버 접속 시 접속자 신원에 대한 검증이 이뤄지지 않았다.

    → 패스워드만으로 장비에 접속할 수 없도록 검증이 이뤄졌어야 한다.

4. 침투 시나리오


  1. SQL Injection to HBGary Federal CMS
    1. CMS(Content Management System) : 데이터를 SQL 데이터베이스에 저장하고, 원하는 특정한 데이터를 불러올 땐 정해진 쿼리를 통해 검색하여 가져온다.
  2. 사용자 이름, 이메일, 암호 해시 목록을 얻는 과정을 진행했다.
  3. Rainbow 테이블을 이용해서 md5 hash 복구를 했다.
  4. 탈취된 Ted의 계정 활용
    1. HBGary의 시스템에 접근했다.
    2. 로컬 권한 상승 취약점 CVE-2010-3847를 이용하여 user 권한이었던 Ted의 계정을 권한 상승 시켰다 → 연구자료와 벡업데이터가 유출되었다.
  5. 탈취한Aaron의 계정이 Google Apps 계정과 동일했다. → CEO의 권한인 Google 메일함을 통해서 Greg Hoglund의 메일 계정으로 접근했다.
  6. Aron의 계정을 가지고 Greg의 메일함에 접근하였고 거기서 2가지 정보를 획득
    1. Greg의 Rootkit.com 사이트를 수행하는 컴퓨터의 루트 암호는 88j4bb3rw0cky88 이거나 88Scr3am3r88이다.
    2. Nokia의 수석 보안 전문가 Jussi Jaakonaho가 루트 권한을 가지고 있다.
  7. 사회공학적 기법
    1. 해커는 탈취한 메일을 통해서 Greg인척하여 Jussi에게 Rootkit.com으로 접속할 수 있는 통로를 열어달라고 했다. → Greg의 계정과 암호를 주면서 신뢰를 얻었다.
  8. Greg으로 로그인하여 루트권한으로 전환하였다.
  9. rootkit.com의 사용자 데이터베이스를 다운로드하여 사이트에 가입된 모든 회원의 이메일 주소와 암호 해시 정보를 탈취했다.

5. 결론

위와 같은 전말로 인해 SQL Injection로 룰즈섹은 hbgary의 데이터베이스에 접근할 수 있었다. 특히 암호 정보는 해시가 되어 있었는데, 이것이 안전하지 않다는 것도 큰 문제였다. 해시가 된 암호 특성상 탈취를 당하더라도 해커가 알아볼 수 없어야 하지만, 아쉽게도 당시 MD5라는 해시함수가 암호에 적용되어 있었다. MD5는 이미 레인보우 테이블이라는 것을 통해 무너진 해시 함수였다. 따라서 룰즈섹은 이를 통해 CEO인 Aaron Barr의 비밀번호를 크래킹할 수 있었다.

또 다른 문제는 HBGary의 몇몇 관계자가 일관된 암호를 사용했다는 점에 있다. 여러 SNS와 이메일 계정에서 동일한 패스워드를 사용했으며 내부 서버의 SSH 접근 계정조차 부실한 비밀번호를 그대로 사용하고 있었다. 이를 통해 룰즈섹이 시스템에 바로 접근할 수 있는 권한까지 얻게 된 것이다.

애론 바의 계정은 rootkit에 접근할 수 있는 통로가 되어주었다. 관계자의 이메일 계정을 통해 보안 담당자에게 이메일을 보내어 자신들에게 rootkit에 접근할 수 있는 통로를 열어달라고 하였다. 보안 담당자는 페이크 이메일에 속아 통로를 열어주었고, 중요한 정보를 단순한 메일로만 확인하여 사회공학적인 기법으로 탈취당했다는 점은 이번 사건의 큰 화두가 되었다.

6. 참고자료

sqli

https://www.cs.bu.edu/~goldbe/teaching/HW55812/jarib.pdf,

wikileaks

https://wikileaks.org/hbgary-emails/emailid/64323

https://wikileaks.org/hbgary-emails/emailid/61488

md5. rainbowtable

https://www.cs.bu.edu/~goldbe/teaching/HW55812/jarib.pdf

The HBGary Federal Hack

https://dougvitale.wordpress.com/2012/01/13/the-hbgary-federal-hack/

TOP 10 IN 2011: AN 'EXPLOSIVE' YEAR IN SECURITY

https://cert.ir/news/entry/11975?language_id=1

YOUTUBE

https://www.youtube.com/watch?v=VaJSSVQUfaw

HBGary Responder v1.2 User Guide.pdf

https://wikileaks.org/hbgary-emails//fileid/20414/6756

참고기사

https://arstechnica.com/tech-policy/2011/02/how-one-security-firm-tracked-anonymousand-paid-a-heavy-price/

https://arstechnica.com/tech-policy/2011/02/the-ridiculous-plan-to-attack-wikileaks/

https://arstechnica.com/tech-policy/2011/02/anonymous-to-security-firm-working-with-fbi-youve-angered-the-hive/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment