최신 기사 추천 기사 연재 기사 마빡 리스트






글이 깁니다. 글을 올리는 이유는 답답한 요즘 시국에 조금이나마 사이다를 드리고 싶은 마음과 같은 일을 겪으신 분에게 도움이 될까해서 올려봅니다. 오유에도 올렸던 글이지만 오유에서 여러 커뮤니티에 알려야 한다는 글을 보고 HOT 가고 싶은 욕심에 이곳에도 올려봅니다. 오유버전의 댓글 내용을 본문에 조금 더 추가하였습니다.




1. 사건의 시작


며칠전 집 컴을 켜니 두둥...


01.png


C를 제외한 집컴 하드들이 (화면에는 사후에 스샷한 거라 2개지만 당한 하드는 총 3개였다) 비트로커로 암호화 되어 있었다. 내 하드를 비트로커 암호화한 해커는 1 비트코인(오늘 시세로 84만원 정도)을 전송하면 하드를 풀 수 있는 복호키를 준다는 텍스트 파일을 해커이메일과 함께 남겼다. 메일 첫 줄에는 이 영문 글을 번역하기 위한 구글 번역 사이트 주소가 있었다.


다른 자료들이야 크게 중요하지 않다고 해도 D에 있던 우리가족의 모든 사진들을 다시 볼 수 없게 된다는 건 나와 와이프에게 재앙이었다.


와이프는 약간 울먹이는 것 같았다.




2. 해결 방법은?


비트로커(bitlocker)는 윈도우 엔터프라이즈 버전 이상에 탑재된 기본 기능으로 중요 자료를 암호화 해주는 기술이다.


키가 없으면 MS도 풀지못한다. T.T 요즘 유행하는 랜섬웨어를 통한 방식은 최신 백신에 의해 탐지될 수 있으나 비트로커는 윈도우 기본 기능이기에 백신이 탐지할 수 없다.


1) 키파일이 하드나 USB 에 있으면 풀 수 있다

내 하드를 이렇게 만든 놈이 하드에 키를 남겨둘리 없다고 생각했지만, 혹시나 해서 관련툴을 가지고 검색해 보았으나 역시나 키는 없었다.


2) 무차별 대입법(brute force) 시도

무차별 대입법은 그냥 키를 1을 넣어서 복호화가 되는지 확인해 보고 안 되면 2 넣고 안 되면 3 넣고 이렇게 계속 해보는 방식이다.

궁금증 1) 비트로커는 최대 몇자리 암호를 받는가? 검색해보니 100자리까지 받는듯하다.

궁금증 2) 관련 툴이 있는가? 컴 앞에 앉아서 하나씩 넣어볼 수는 없는 노릇이었다.


스크린샷 2016-11-10 오후 10.40.47.png

https://www.passware.com/kit-forensic/

위의 프로그램과 비슷한 몇가지 툴들이 확인되었다




3. 시간은?


사실 모든 암호는 풀린다. 인증서 암호도 웹사이트 암호도 몰래 숨겨둔 야동 암호도 풀린다. 단, 시간이 오래걸릴 뿐이지...


1자리 부터 100자리까지 각 자리에 가능한 입력은 숫자(10) + 영문대소문자구분(262) + 특수문자 (30) = 92 개. 92 * 92 * 92 *..... * 92 = 92의 100승 정도 되는 것 같았다. 집 컴보다 조금 더 사양이 좋은 회사 컴은 1초당 몇개나 암호를 넣어 체크해 볼 수 있을까(오유에 올리고 다시 생각해 보니 256bit 암호화이므로 가짓수는 2의 256승이 정확한 것 같다).


passware.png


툴을 돌려 보니 초당 5개. 약 292,471,208년 7개월. 길어도 몇 년이면 될 줄 알았는데 좌절이었다. 그냥 1 BTC 송금하고 데이터 복구할까 싶었다.




4. 대안?


GTX 1080이나 타이탄 같은 카드를 PC에 꼽으면 속도가 초당 5에서 320 으로 증가한다고 한다.(관련내용 링크) 


그거 살 가격이 1 BTC보다 높다는 게 함정이다. 물론 와이프 눈치 안 보고 합법적인 컴 업글의 기회이기도 하지만 왠지 맞을 것 같았다. 툴 가격도 $995, 생각해야 한다. 속도가 1000배 증가해도 292,000,000년이 292,000년 되는 거 뿐이다.


위풍당당한 회사 서버 8코어 16스레드 제온에서 돌리면 어떨까? 하드이미지(500G)를 회사 서버로 수 시간 동안 올려 떨리는 마음으로 초당 속도를 체크해 본다. 초당 5개. 동일하다. CPU 파워와는 크게 상관없는 것 같다.


3D 일을 하고 있는 친구네 회사 시스템이 GTX 1070을 쓰고 있다는데, 그 친구를 꼬셔 그 회사 3D 렌더링을 잠시 멈추고 전체 시스템에서 각 서버마다 길이 10자리씩 돌려서 해볼까? 1080으로 오픈한 PC방을 하루 빌려 각 PC당 길이 10자리씩 셋팅해 돌려볼까?


여러 생각이 들었지만 그렇게 한다고 해서 292,471,208년이 10년 이내로 줄어들 것 같진 않았다. 그리고 PC방 요금이나 친구를 설득하는 비용이 더들지 않을까?


좌절. 그냥 1 BTC 주는 게 나은 방법인가...




5. 문득 예전에 본 납치 영화가 떠올랐다


랜섬(ransom)의 뜻도 몸값 아니겠는가. 납치범과의 통화에서 네고시에이터가 협상 전에 생존 증거를 요구하는 그런 영화였다.


A70-5944.jpeg


"그래, 해커에게 메일을 보내 생존증거를 요구하면서 스샷을 받아 몇자리 수인지 체크해보자."


스샷에 의한 자릿수 오차가 좀 있더라도 시간은 많이 단축가능하지 않겠는가. 짧은 영어 실력이 부끄러웠지만 메일을 보냈다.


이런 메일은 무시할 줄 알았는데 의외로 답변이 왔다.


"네컴에 접근할 수 없어서 스샷은 보낼수 없다. 돈 보낸 사람들은 모두 암호를 받았으니 걱정말라. 정 원하면 teamviewer id,암호를 주면 원격으로 접속해서 실제 풀리는지 보여주겠다."


는 내용이었다.


오호라... 원격으로 접속해서 키를 넣어본다구....


좀 더 강하게 밀어붙여 보았다.


"이미 해킹당했는데 또 원격으로 연결해 줄 수는 없다. 당장 내가 인식할 수 있는 고유값 ip, mac, 하드 시리얼 번호 같은 것과 함께 키를 모자이크해서 스샷으로 보내라"


답변이 왔다.


"모든 감염 PC 하드를 동일 암호로 했기에 별도로 pc info를 가지고 있지 않다"는 거였다.


오 그래 그럼 내 3개의 하드는 모두 동일 암호이군!!


가슴이 두근 거리며 잃어버린 우리 가족 사진을 찾을 수 있을 것 같다는 생각이 들기 시작했다. 그래 들어와 봐라 퇴근 후 집에가서 teamview id, pw 를 주기로 메일로 약속을 했다.


TeamViewer-for-Remote-Control-Full-Apk.jpg




6. 가족 사진을 찾기 위해 준비해야 할 것들

 

아마도 해커는 원격으로 들어와서 키를 넣고 복호화 하는 걸 보여준 뒤 다시 암호화 할 것 같았다. 최고의 방법 1) 복호화 하는 순간 랜 케이블을 뽑아버린다. 이미 복호화 하였기에 랜케이블만 뽑으면 해커와는 안녕이었다. 차선책 2) 예전 보안 프로그램 회사에서 회의를 하다가 누가 질문했다. "DRM 이고 키보드 보안이고 로깅이고 다 좋은데 핸드폰으로 찍는 건 어떻게 합니까?" 몇 억짜리 보안 프로그램 판매가 물거품 될 뻔한 순간이었다.


"아무리 뛰어난 기술이라도 인간의 행위가 고려되지 않으면 물거품 될 수 있다."


어떤 보안 전문가 블로그에서 본 문장인데 너무 오래되어서 출처는 기억나지 않는다.


접속부터 키 넣는 거 촬영하면 암호부분이 실제 텍스트가 아닌 *으로 표시 되어도 자릿수는 알 수 있으니까 희망이 있다. 그래, 핸드폰으로 찍자.


그리고 모든 입력을 저장해 두는 키로거도 설치해 두자. 암호 필드, 또 원격 모드라서 키로거가 정상 작동할지는 모르지만 일단 설치해 두자. 프로세스 목록을 검사할 수도 있으니 키로거 이름을 svchost.exe로 바꿔서 숨겨두자.


준비완료 후 해커에게 메일을 보냈다.




7. 해커가 다시 내 컴에 들어왔다


해커에게 teamviewer id, pw를 메일로 전송하고 한 손엔 핸드폰, 다른 손은 랜 케이블을 잡고 복호키를 넣는 순간을 기다려 본다.


아뿔사 !!!

 

해커는 키를 넣기전에 cmd 창을 넣고 shutdown /r 을 먼저 입력한다.


PC는 1분이내로꺼진다. 그리고 teamview에는 원격 컴 재부팅 후 재접속 기능이 있다.


이놈, 만약을 대비해서 부팅을 해서 암호를 입력하려나 보군. 젠장!!! 재부팅 하면 키로거는 실행중이 아니므로 못 쓰게 된다.


순간적으로 욕이 튀어나왔다.


그런데 재부팅 되기 전 하드 복호키를 넣어서 복호화 되는 걸 보여준다. 몇 초. 그리고 컴은 재부팅 되었다.


shutdown 명령어가 실행되는 1분의 예약 시간 동안, 복호화 과정만 보여주려는 거군. 복호 과정은 오래걸리기에 재부팅하면 복호화는 실패하고 다시 암호화 상태로 남게된다.


아마도 해커는 이런 요청을 많이 받아본 듯 하다. 그래서 shutdown /r 을 미리 해두었나 싶다.


동영상 촬영을 마치고 랜 케이블 뽑고 PC는 재부팅 되었다.


두근 거리는 마음으로 키로거를 열었다.


두둥... 있다!!!! 복호화 키가!!!!


각각 하드를 복호화 해본다.


key.png 


해커에게 메일이 왔다.

두 글자


"So..."


보여줬으니 송금하라는 뜻일테다.


해커는 애초에 암호화를 100% 하지 않았다. 그래서 복호화 과정 중에도 폴더와 파일을 볼 수가 있었다.


된다... 된다... 가족 사진 여기 다 있다.



 

8. 구글 번역기는 너가 돌려라 이놈아


해커에게 메일을 보내야 되는데 그간 영어로 보내는데 스트레스도 받았겠다. 이럴 때 쓰라고 우리 네티즌들은 "인실좆"이라는 말을 만들지 않았을까?


아쉽게도 "인실좆"은 구글 번역기가 훌륭하게 번역해주지 못했다. "인생은 실전이야 좆만아"를 구글 번역기에 돌려보니 이렇게 해석해주었다.


"Life is practical Oh jotman"


아마도 "...X만아"로 끝나는 한글 문장이 "아"로 끝나서 감탄사로 인식되어 번역문에 "Oh" 가 들어갔나 보다. 번역문에 내 의도가 100% 전달될지는 모르겠으나 "....Oh jotman" 속은 무척 시원했다.


한글로 "인생은 실전이야 좆만아"를 보냈다.



120784710.png 



해커가 말한대로 모든 해킹 PC 하드의 암호키를 동일하게 했다고 하니,


위의 키를 넣어보시면 도움이 될 수도 있습니다.


03.png




오유 댓글에 나온 몇가지 내용들


1. 어떻게 당했나요?

원격데스크탑 (RDP)에 당한것 같습니다.


00-1.png

 

해당 IP는 러시아 IP였습니다.


또한 집 컴은 여러 보안 설정이 제대로 안 되어 있었습니다. 귀차니즘으로 방화벽, UAC를 해제하고 Administator 계정을 썼습니다. 또한 RDP 기본 포트도 변경하지 않았구요.


2. 비트로커는 홈버전에는 없나요?

엔터프라이즈 이상이기에  엔터프라이즈, 얼티밋에만 있습니다. 홈,프로에는 없습니다 : )


스크린샷 2016-11-10 오후 11.43.59.png


3. 어떤 키로거를 사용했나요?

우습게도 http://www.kidlogger.net/ 를 썼습니다. 키로깅도 하고 스샷도 찍어서 아이들 인터넷 관리하는 프로그램이죠 : ) 프리라서... 백도어 같은 게 있는지는 확인하지 못했습니다. 사용하실 때에는 꼭 확인하세요. 키로깅 프로그램에 트로이가 있는 경우도 많습니다.

4. admistrator 계정을 사용 안하면 비트로커에 안 당할 수 있습니다.


스크린샷 2016-11-10 오후 11.54.04.png


administrators 그룹이 아니면 bitlocker를 관리할 수 없군요. 좋은 정보 감사합니다 : ) 역시 MS 가 하라는 대로 'administrator'계정은 비활성화 하고 'strandard user group'으로 된 계정을 사용하는 게 보안에는 좋네요.

5. 비트로커 제거하는 방법은 없을까요?

비트로커 서비스 이름은 bdesvc 입니다. cmd 에서 net stop "bdesvc" 이후 sc delete "bdesvc" 로 지워지긴 하네요 : )

단 해커가 sc create 명령어로 다시 서비스를 설치할 수는 있는데... 어느정도 도움은 될 것 같네요. 좋은 의견이십니다.

6. 이 글을 보고 제컴을 보았더니 중국쪽에서 RDP 연결 시도가 많이 있었네요.

네 한번쯤 점검해 보시는 것도 좋습니다. 제어판 이벤트 뷰어를 통해 보시면 됩니다.


00-3.png


해외에서도 검색해 보니 저처럼 당한 사례가 많이 보이네요. 댓글로 좋은 방법 많이 제안해주시면 감사하겠습니다.



120784710.png



check.png

 

'이벤트 뷰어 - windows 로그 - 보안'에서 이벤트 ID 4624 로그온 부분을 보시면 됩니다. 윈도우에 로그인한 내역이 모두 기록됩니다. 로그온 유형은 아래를 참조하세요.


http://faq.hostway.co.kr/Windows_ETC/3673

 

원본네트워크주소 부분이 접속한 자의 IP입니다. IP조회는 아래 사이트를 이용하세요.


http://wq.apnic.net/whois-search/static/search.html


*댓글에 체크해보는 방법을 문의하신 분이 있어서 추가했습니다.