“해킹팀 내가 해킹했다” 상세 공격기법 공개

한 해커가 자신이 작년 7월 해킹팀을 해킹했다며 해킹 과정을 상세하게 담은 문서를 공개했다. 피니어스 피셔(Phineas Fisher)라는 이 해커는 자신의 트위터(Hack Back)를 통해 문서 링크를 공개했다. 공개 이유는 8개월이 지났음에도 불구하고 해킹팀이 여전히 사업을 계속하고 있기 때문이라고 그는 밝혔다.

 

해킹팀 해킹과정을 폭로한 해커의 트위터 스크린샷
해킹팀 해킹과정을 폭로한 해커의 트위터 스크린샷

 

이탈리아 회사 해킹팀은작년 7월 해킹을 당해 그동안 주고받은 모든 이메일, 해킹툴, 소스코드, 문서, 회사 비밀 정보, 고객 명단이 인터넷상에 공개된 바 있다.  해킹팀은 그동안 각국 정부기관들을 대상으로 감청툴과 해킹툴을 판매해 왔다. 해킹팀을 누가 어떤 방법으로 해킹 했는지는 현재까지 알려지지 않았다.

문서에 의하면 피니어스 피셔는 제로데이 취약점을 이용해 해킹팀 시스템에 침입, 총 6주에 걸쳐 100시간 동안 시스템을 둘러 보고 데이터를 빼냈다고 한다. 이 제로데이는 아직 패치되지 않아 공개할 수 없다고 한다. 그는 또한 지난 2014년 스파이웨어 FinFisher 판매로 유명한 해킹팀의 경쟁사  감마 인터내셔널社도 자신이 해킹했다고 밝혔다.

 

해킹팀 해킹과정을 상세하게 담은 문서 스크린샷
해킹팀 해킹과정을 상세하게 담은 문서 스크린샷

 

 

침입에 성공한 그는 해킹팀 직원들에게 언제 들킬지 몰라 우선 이메일부터 저장해 두었고, 그런 다음 다른 서버와 네트워크에 관리자 권한으로 접속했으며, 해킹 팀 직원 Christian Pozzi의 키보드 입력을 감시해 소스코드를 저장한 서버 패스워드를 알아내  소스코드에 접속했다. 소스코드는 회사 네트워크가 아닌 별도의 호스팅에 보관되어 있었다고 한다.

데이터를 다 빼내고 나서 그는 트위터 “패스워드 찾기”로 해킹팀 공식 트위터 계정 패스워드를 재설정한 뒤 이 계정으로 해킹 사실을 알렸다고 전했다. 이 때가 2015년 7월 5일이었다.

해킹 동기에 관하여 그는  “나쁜 짓을 하면 부자가 되고, 좋은 일을 하면 감옥에 가는 등 세상이 거꾸로 돌아가고 있다”며, 토르같은 프로젝트를 열심히 하는 사람들 덕분에 자신이 감옥에 가지 않고 문서를 발표할 수 있다고 전했다. 또한 해킹팀은 말로는 토르와 다크넷 익명화를 무력화 시키는 기술을 보유한다고 자랑하고 있지만 자신이 (토르를 사용함에도 불구하고) 아직 검거되지 않은 걸 보면 그 기술이란 게 별 볼 일 없는 모양이라고 덧붙였다.

그는 스스로를 도덕적 해커라 칭했다. 도덕적 해킹이란 은행이나 기업, 개인 컴퓨터 등 돈 받고 하는 보안 컨설팅이 아니며, 해킹당해 마땅한 회사를 해킹해 자료를 공개함으로써 부정부패를 만천하에 드러내는 것이야말로 도덕적 해킹이라는 것.  또한 해킹팀을 “정부를 도와 기자, 행동주의자, 정치적으로 대립관계에 있는 사람들을 해킹하고 감시하고, 가끔은 범좌자와 테러리스트들도 돕는 회사”로 표현했다.

그는 이 문서를 이탈리아 파시즘에 폭행당한 알만도 디아즈(Armando Diaz) 학교 사건 희생자에게 바친다는 말로 맺었다. 지난 2001년 이탈리아 제노아에서 G8 정상회담을 반대하는 대규모 시위가 있었으며 시위자 진압 과정에서 과잉 진압으로 문제가 된 적이 있다.

피니어스 피셔가 해킹팀을 해킹 했는지 여부는 현재로 확인할 방법이 없다.  조만간 해킹팀 측으로부터 해명 혹은 입장 표명이 있을 것으로 예상된다.

 

문서에서 해킹 과정 부문을 추려 보면 다음과 같다:

1. 준비

  • 해킹팀은 메인 웹사이트(Joomla), 서버 1개, 라우터 2개, VPN 기기 2개, 스팸 필터링 기기 1개로 구성되었고, 고객이 접속하려면 클라이언트 인증이 필요한 등 인터넷상에 노출이 적으며, 규모가 작고 직원들 대부분이 보안 전문가라 침입당했을 가능성 적음
  • inetnum: 93.62.139.32 – 93.62.139.47
    descr: HT public subnet

2. 취약점 익스플로잇 제작

  • Phineas Fisher는 Joomla, prefix, 임베디드 시스템 3가지 중에서 제로데이 취약점을 찾아내 2주 동안 리버스 엔지니어링으로 리모트 루트 익스플로잇 제작. 이 취약점은 아직 패치되지 않았으므로 세부 사항은 밝히지 않음

3. 백도어 펌웨어 제작, 익스플로잇 후(post-exploitation) 사용할 툴 준비

  1. busybox (유닉스 유틸리티)
  2. nmap (해킹팀 내부 네트워크 스캔)
  3. Responder.py (내부 네트워크에 접속했지만 도메인 유저가 없는 경우 윈도우 네트워크 공격)
  4. 파이선 (Responder.py 실행)
  5. tcpdump (트래픽 조사)
  6.  dsniff (약한 패스워드, ARP 스푸핑)
  7. socat (pty 쉘)
  8. screen (반드시 필요하지는 않음. 평소 익숙해서 사용)
  9. SOCKS 프록시 서버 (프록시체인으로 내부 네트워크 접속)
  10. tgcd (방화벽 통해 포트, SOCKS 서버 포워드)

 

4. 사전 테스트

  • 백도어나 post-exploitation이 안정적이지 못한 경우 해킹팀 직원들에게 발각될 수 있으므로 해킹팀 침입 시도 전 1주일 기간 동안 취약한 다른 회사들의 시스템을 대상으로 익스플로잇, 백도어, 툴, post-operation을 테스트

5. 침입 후

  • Responder.py를 analysis mode (-A)로 설정, nmap으로 스캔
  • Shodan으로 MySQL 인증 우회 취약점 패치 여부 확인
  • 음성 녹음용 RCS가 MongoDB의 GridFS에 보관되어 있다는 것 발견
  • nmap으로 iSCSI 찾아내 포트포워드를 VPS에서 마운트해 기기 파일과 가상 백업 머신, 가상머신 하드드라이브를 찾아내 언팩
  • 백업에서 해쉬 패스워드로 서버에 접속할 수 있다는 걸 알아냈고, besadmin 패스워드로 로컬 관리자로 로그인
  • meterpreter 세션에 프록시와 psexec_psh metasploit, 64비트 프로세스로 마이그레이션, “load kiwi””Creds_wdigest” 등으로 관리자 도메인을 포함한 많은 패스워드 접속
  • 도메인 관리자 패스워드로 해킹팀 메일에 접속. 들킬 위험이 있어 powershell로 다운로드, 그런 다음 몇주일에 걸쳐 소스코드와 다른 코드를 빼냈고, 새로운 이메일도 다운로드
  • 도메인 관리자로 프록시를 이용해 -Tc smbclient 옵션으로 Amministrazione, FAE DiskStation, FileServer 폴더 다운로드
  • 해킹팀 시스템관리자 Christan Pozzi의 RCS 소스 코드를 알아내기 위해 PowerSploit의 Get-Keystrokes와 Get-TimedScreenshot, Nishang의 Do-Exfiltration, GPO 조합
  • 별도의 네트워크에 보관된 RCS 소스코드에 접속하기 위해 WMI 포트를 열어 meterpreter를 실행, 키보드 입력과 스크린샷에 추가로 많은 툴들을 이용해 sysadmin 패스워드 알아내는 데 성공
  • Christian Pozzi의 암호화된 파일 중 텍스트로 저장된 수많은 암호 중 하나로 sviluppo에 접속해 모니터링한 끝에 mimikatz으로 알아낸 윈도우 패스워드를 gitlab 서버에 시도해 본 결과 성공
  • 트위터 “비밀번호 찾기”를 이용해 해킹팀 공식 트위터 계정 패스워드 재설정

 

 

Update(2016.4.17. 21:28): 피니어스 피셔는 수년동안 인권을 침해해 온 수천만달러 가치의 회사를 한 사람이 100시간 동안 작업해서 무너뜨린다는 것이 바로 해킹의 묘미라고 강조했다.

문서 원문: http://pastebin.com/raw/GPSHF04A

작성자: HackersLab

댓글 남기기

*