작년 EnFuse Conference 참석에 이어 올해는 Techno Conference에 참석하였다. Techno Conference는 얼마 전까지 모바일 보안을 주제로 컨퍼런스를 운영 하다가 현재는 보안과 디지털 포렌식을 주제로 변경하여 행사를 개최하고 있다.

 

 Techno Conference는 6월 3-7일 동안 여러 세션을 운영하며 참석자가 듣고 싶은 세션을 선택해 들을 수 있도록 EnFuse와 마찬가지로 컨퍼런스 일정 동안 스케줄 관리 앱을 제공한다. 제공되는 앱은 스케줄 관리 뿐만 아니라, 발표자료 보기, 중요 이벤트 알림 등의 기능이 부가적으로 있어 컨퍼런스 일정 동안 아주 편리하게 사용할 수 있다.



 떠나기 전 발표 주제를 살피며(EnFuse보다 기술적이라는 이야기를 듣고) 큰 기대를 안고 6월 3일날 인천 공항으로 향하였다. 


# Techno2017 Conference 0 Day

 여행과 컨퍼런스의 부푼 설렘을 안고 인천공항에 도착했을 때부터 나는 사실 조금 정신이 없었다. 작년 EnFuse Conference에 갈 때와는 달리 셀프 체크인을 해야 했다. 그런데, 셀프 체크인을 할 떄 전혀 입력해보지 않았던 목적지 주소와 방문 목적 등을 입력하라는 것에 조금 어리버리하여 출국 수속이 예상보다 늦어졌었다. 그리고 행사 장소는 South Carolina에 위치하고 있는 머틀비치인데, 직항이 없어 애틀란타를 거쳐 가야했다. 근데 셀프 체크인에서는 애틀란타까지만 가는 티켓을 출력해주는 것이 아닌가.. 셀프 체크인으로 반절의 출국수속만 한 나는 짐을 보내기 위해 1시간을 대기하고 머틀비치행 비행기를 애틀란타 비행기와 연결 시키기 위해 20분 대기했다. 또 주말이라 사람은 어찌나 많던지... 오전 9시 40분 비행기여서 아침 7시에 도착했는데, 출국과 입국으로 뒤섞인 사람들이 굉장히 많아 이래저래 아침부터 정신이 없는 하루였다.


 출국 수속을 마치고 면세점 라인으로 들어서 동생 선물을 찾고 나서야 조금 여유를 찾을 수 있었다. 여유를 찾은 뒤, 나는 간단하게 아침 요기를 하고 나서 미국행 비행기에 몸을 실어 비로소 컨퍼런스 참석을 위해 한국을 떠났다.





 13시간의 비행을 마치고 애틀란타 공항에 도착했을 때 시간은 점심시간을 막 지나고 있었다. 그래서 점심을 먹기 위해 이리저리 공항을 돌아다니던 중 미국에서 유명하다는 FIVE GUYS 버거집을 발견해 버거를 먹었다. 역시는 역시! 외국 애들은 너무 짜게 먹는 것 같다 ㅠ.ㅠ 해외 출장이나 여행을 다닐 때마다 느끼는거지만 왜 우리나라만 짜게 먹는다고 경고를 주는지 모르겠다. 본인들이 훨씬 짜게 먹으면서 ...


 점심을 먹고 머틀비치행 비행기를 기다리는데 출발시각이 임박 했는데도 게이트가 열리지 않았다. 결국 게이트는 출발시간보다 1시간 늦게 열렸다. 원래 이들은 섬세하지 못한걸까, 게이트가 왜 늦게 열리는지 늦게 열리는 이야기를 말해주지 않는다 ㅡㅡ 정말 언제 열릴지 모르고 계속 앉아 있다 게이트를 잘못 알았었나 하는 착각까지 했었다.


 나는 그렇게 우여곡절 끝에 머틀비치행에 올랐다. 애틀란타에서 머틀비치까지는 1시간 남짓 걸린 것 같다. 비행기에 타자마자 잠에 빠져 내릴 때 깨 사실 나는 체감상 1분 정도 걸린 것 같다 ㅋ


 머틀비치에 도착해 별탈 없이 택시를 타고 호텔까지 왔다. 그런데, 호텔 방에 있어야 할 것이 없었다. 미니바에 물이 없었다 ㅡㅡ 원래 미국은 호텔에서 물을 제공하지 않는다고 하는데 아직도 이건 조금 납득이 가지 않는다. 기본적인 것들을 제공하지 않는 호텔이라니.. 모텔보다 못한 것 같다. 결국 대표님과 나는 물도 사고 저녁도 먹을 겸 호텔 근처 마트를 갔다. 말이 근처지 걸어서 15분 걸어가야 한다. 호텔 근처에는 숲 밖에 없더라 하...


 이것저것 장을 보고(내가 맥주를 사려고 계산대에 올리니까 아주머니가 미성년자는 안돼욧! 이라고 하던데 흐뭇.. ^^) 마트 근처에 있는 Subway에서 샌드위치로 저녁을 해결하려 하는데, Subway 알바생이 영어를 버벅일 때마다 얼마나 한숨을 쉬던지 때릴 뻔 ㅎ 어쨋든 샌드위치는 양이 많은 것 빼고 나름 만족스러웠다.


 저녁도 해결하고 호텔로 들어온 나는 침대에 곧바로 쓰러져 컨퍼런스 전날을 마무리 했다.




# Techno2017 Conference 1 Day

 드디어 컨퍼런스 첫날이 밝았다. 컨퍼런스 첫날은 가볍게 시작하는 느낌이었다. 세션이 다른 날은 오전부터 꽉꽉 차 있었는데, 첫날은 여유롭게 오후부터 시작하였다. 오후부터 시작하는 이유는 여러가지가 있겠지만, 해외에서 온 손님들을 위한 운영진의 배려라 믿고 싶다. ㅋㅋㅋ


 어찌됐건 점심을 전날 갔던 Subway에서 해결(어제 그놈은 없었다)하고 컨퍼런스 등록을 하러 등록대로 향했다. 컨퍼런스 등록대는 EnFuse와 비교했을 때 조금 작은 느낌이었다. 이때부터 직감했다. Techno Conference 규모를 ㅠ



나는 위 사진에 나온 곳이 컨퍼런스 메인 홀인줄 알았다. 근데 아니었다 ㄷㄷ



위 사진이 바로 등록대!! 등록하는 사람들은 많은데 등록을 받는 인원은 달랑 3명 ㅎ



 나는 한국에서 출발할 때 로밍을 하지 않았다. 요즘 와이파이가 워낙 많아서 '와이파이 잡아야지~' 라는 마음이었다. 역시나 컨퍼런스 주최측에서 컨퍼런스 전용 와이파이를 제공해줬다. 근데 Access Code를 요구하는게 아닌가!! 처음에는 챌린지인줄 알고 이리저리 찔러보았다. 결국 등록대에 물어봤는데, 등록대에서 알려준 코드도 맞지 않았다. 그래서 결국 게싱해서 컨퍼런스 와이파이를 조금이나마 혼자 사용했다(다른 사람들도 등록대에 Access Code를 물어보고 접속이 안되 포기했었다고 한다) :-)


 이제부턴 컨퍼런스 첫날에 들었던 세션에 대해 간략한 소개와 느낀점을 적어볼까 한다.



1. Digital Intelligence - Information at the Speed of Life

 Digital intelligence라는 용어를 나는 여기와서 처음 들어봤다. 물론 용어는 만들기 나름이지만, 나중에 여러 세션을 들어보고 나니 해외에선 Digital Intelligence, Digital Investigation 등의 용어가 일반화 되어 있는 것 같았다. 무튼 이번 발표 세션은 소셜 네트워크 정보 프로파일링 해 수사에 활용하는 방안을 소개했다. 발표자는 소셜 네트워크 정보를 프로파일링 하기 위해서는 4가지의 정보가 필요하다고 한다.


 - Content : 사용자가 무엇을 말하는가?

 - User : 화자는 누구인가?

 - Time : 언제 말하였는가?

 - Location : 어디서 말하였는가?


위 4가지 정보를 소셜 네트워크에서 수집하고 가공하여 이를 프로파일링 한다는 것이 주된 주장이었다. 실제 사례로 Anonymous 멤버 검거 사례를 이야기해 개인적으로 재밌게 들었던 세션이다.





2. Ransomware! What's Bitcoin Have to Do With it?

 이번에 소개할 세션은 랜섬웨어를 주제로 한 세션이다. 개인적으로 기대가 많이된 세션이었는데, 실제 내용은 기대에 부흥하지 못해 굉장히 실망한 세션 중에 하나였다. 랜섬웨어가 비트코인을 이용하는 목적 등의 철학적(?), 경제학적(?) 관점이 나올 줄 알았는데 워너크라이가 어쩌고.. 랜섬웨어 역사가 어쩌고.. 하는 이야기가 나왔다 ㅠㅠ 내용도 기술적인 면이 없고 개론 수준의 발표여서 아쉬워하고 있던 찰나에 본인 회사의 솔루션을 소개하는 바람에 발표는 완전 실망이었다. 





3. Windows Memory Investigation

 내가 너무 기대를 많이 했던 걸까. 두 번째 세션에 이어 이번 세션도 많은 실망을 하고야 말았다. 나는 Investigation 용어를 붙여놨길래 기존 메모리 포렌식을 수사관점으로 바라봐 의미있는 데이터를 추출하고 분석 노하우를 알려주는 줄 알았다. 근데 내기 기존에 강의하는 수준에도 못미치는 내용을 발표하더라 ㅠ 그래서 중간에 듣다가 나와버렸다 . 내용은 메모리 분류, 가상주소와 물리주소의 맵핑 정도만 소개하고 본인 회사에서 만든 도구를 소개해주면 사용하라는 식이었다. 더군다나 발표자가 본인이 만든 발표자료 같지 않았다. 발표 내용을 버벅이는걸 보고 내가 다 불쌍했다. 발표를 계속 듣기엔 시간도 아깝고 너무 피곤해서 그대로 호텔방에 와 잠들어버렸다.



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
이번에는 루트키중 HKEY_LOCAL_MACHINE 루트키에 대해서 알아보도록 하겠다.

HKLM 루트키는 자체 하이브를 가지고 있으며, 시스템의 하드웨어, 소프트웨어 드라이버의 환경설정 정보를 가지고 있다.

HKLM 하이브 중 일부는 관리자계정으로도 접근하지 못하는 하이브가 있으며, 이는 시스템 계정으로 접근이 가능하다.

HKLM 하위 하이브 목록과 위치는 다음과 같다.

[HKLM 하이브 목록과 위치]
 - HKLM\BCD00000000(Win Vista/7) : <Boot Partition>\Boot\BCD
 - HKLM\COMPONENTS(Win Vista/7) : %windows%\System32\Config\COMPONENTS
 - HKLM\HARDWARE : 메모리
 - HKLM\SAM : %windows%\System32\Config\SAM
 - HKLM\SECURITY : %windows%\System32\Config\SECURTY
 - HKLM\SOFTWARE : %windows%\System32\Config\SOFTWARE
 - HKLM\SYSTEM : %windows%\System32\Config\SYSTEM
 - HKLM\SYSTEM\Clone : 메모리


위에서 알 수 있듯이 하이브는 모두 확장자가 없으며, HARDWARE와 Clone 하이브는 메모리에 존재한다.

그러므로 라이브 리스폰스 과정에 이러한 휘발성 하이브에 대한 덤프 수집 부분도 추가하는 것이 좋다.

이제부터는 각 하이브에 대해 알아볼 것이다.

[HKLM\HARDWARE]
해당 하이브는 휘발성 정보로 메모리에 존자혐, 부팅시 감지되는 모든 하웨어와 그 하드웨어 장치의 드라이버 맵핑 정보들을 보관한다. 


[HKLM\SAM]
해당 하이브는 사용자의 로컬 계정 정보와 그룹 정보를 가지고 있다. 만약 조사하고자 하는 시스템이 도메인 컨트롤러라면 AD(Active Directory)에 도메인 계정과 그룹정보를 가진다. 이 하이브는 일반 관리자계정으로도 접근이 불가능 하며, 시스템 계정으로만 접근이 가능하다.
시스템 계정권한을 얻는 방법에는 여러가지가 있으며 대체로 조사과정에서는 통합 포렌식 도구들을 통해 얻는다.
하지만 아래와 같이 psExec 툴을 이용하여 일시적으로 얻는 방법도 있다.

[그림 1 - 시스템계정 권한]

 
위와 같은 명령어를 입력하면 regedit은 시스템계정 권한으로 실행되어 아래와 같이 SAM 하위 서브키들을 볼 수 있다.

[그림 2 - SAM 하이브 서브키]


[HKLM\SECURITY]
이 하이브는 시스템 범위의 보안 정책과 사용자 권한 할당 정보를 가지고 있다. 이 하이브 또한 시스템계정으로만 접근이 가능하며 위 SAM 접근했던 방식과 동일하게 접근이 가능하다.

[그림 3 - 시스템 계정 권한이 없는 경우]

위와 같이 시스템 계정이 아닌 경우 해당 하이브의 하위에는 아무것도 없는 것 처럼 보이지만, 아래처럼 시스템 계정권한으로 접근하면 많은 서브키들을 볼 수 있다.

 [그림 4 - 시스템계정 권한이 있는 경우]


[HKLM\SYSTEM]
해당 하이브는 시스템이 부팅될 때의 환경 설정 정보를 가지고 있다. 이런 정보들은 시스템이 정상적으로 부팅되었을 때 복사되며, 시스템이 비정상적으로 종료되었을 때 복사해둔 정보를 바타으로 부팅할 수 있는 옵션을 사용자에게 제공하는 역할을 한다. 이런 복사본은 일반적으로 '마지막으로 성공한 구성(last Known good control set)'이라고 부른다.

해당 하이브에서는 한가지 더 살펴볼 부분이 있는데 그 부분은 CurrentControlSet 키다.
이 키는 ControlSet001이나 또는 ControlSet001, ControlSet002 둘 중 어느 하나의 대한 링크이다.
ControlSet은 시스템 환경 설정 정보를 담고 있는 키로 보통 2개 이상의 키가 존재한다.
CurrentControlSet은 부팅에서 사용된 ControlSet 키의 링크이고, 같은 레벨에 있는 Select 키에서 확인이 가능하다.

[그림 5 - Select 키]


Current value의 값을 보면 1이라고 되어 있는데 이것의 의미는 ControlSet001로 부팅되었다는 의미이다.



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'[+] Forensic' 카테고리의 다른 글

Registry (6)  (0) 2012.01.04
Registry (5)  (0) 2012.01.04
Registry (4)  (0) 2012.01.03
Registry (3)  (0) 2012.01.03
Registry (2)  (0) 2012.01.02

+ Recent posts

티스토리 툴바