본문 바로가기

Analysis

26. Sodinikibi(Specialist)

갠드크랩이 V5.2 이후로 업그레이드가 안되고 자취를 감춘 현재, 갠드크랩과 상당히 유사한 랜섬웨어가 활발히 유포되고 있다.

 

심지어는 갠드크랩과 크게 다른점이 배경화면을 파란색으로 바꾸는 것 뿐이어서 블루크랩이라고도 불린다.

소디노키비, 소딘, 블루크랩, 스페셜리스트 등 여러 이름으로 불리고 있는 랜섬웨어이다.

 

매그니버(마이랜섬) - 갠드크랩 - 소디노키비 제작자가 모두 동일하다는 추측도 제기되는 상황이고 랜섬웨어들이 대부분 RaaS(Ransomware-as-a-Service) 형태로 제작되고 유포중이기 때문에 어느정도 가능성이 있는 말이라고 생각된다.

 

본 글에서는 소디노키비 랜섬웨어를 분석해본다.

 

소디노키비 랜섬웨어는 제일 먼저 대부분 랜섬웨어가 그렇듯 중복실행 방지를 위해 뮤텍스를 생성한다. 뮤텍스 명은 Global\~ 로서, 모든 터미널 세션에 적용되도록 한다.

뮤텍스 생성

 

이후에 파일 내부 오프셋 값과 0x6584, 0x0을 인자로 하나의 함수에서 and 연산과 xor 연산을 거쳐서 값을 받고, 해당 값이  0x2682a829와 일치하는지를 검사한다. 이 체크루틴은 이후에 있을 두 개의 메인 역할을 하는 함수로 갈지를 결정한다.

체크 루틴
and, xor 연산 함수

 

 

체크 루틴을 거쳐서 두 개의 메인 역할을 하는 함수 중 첫번째 함수로 진입하게되면 뮤텍스를 활성화 시키고 명령어를 받아오는 등의 행위를 한다. 프로세스 토큰 정보를 통해서 행위를 수행할지를 결정하게 되는데 확인해본 바로는 애초에 토큰 검사 이후 행위들은 안되도록 설계해둔 것 같다.(암호화는 다른 함수에서 수행한다.)

첫 번째 메인 함수

 

두번째 메인 함수로 진입하게 되면 가장 먼저 수행하는건 권한 상승이다. 다른 랜섬웨어들과는 좀 다른 방식으로 권한 상승을 수행한다. 파일 자체의 권한을 최고치로 줘버리는 것이 아니라 프로세스를 검색해서 권한을 갖고 있는 쓰레드로 가장해 파일을 수행시키는 것이다. ImpersonateLoggedOnUser 함수가 그 역할을 수행한다.

권한 위장

 

권한 상승 이후에는 랜섬웨어의 역할을 수행한다. 암호화 바이너리 생성 뒤에 볼륨 정보, 유저명, 컴퓨터명, 사용하는 언어 정보 등을 가져온다. 또한 이 과정에서 레지스트리 등록도 하게되는데 해당 레지스트리 등록은 암호화 수행에 있어 필요한 값들을 저장한다.

탈취 및 레지스트리 조작 루틴

 

등록된 레지스트리는 암호화에 쓰이는 RSA 키 값과 암호화 확장자명 등이다.

등록된 레지스트리

 

또한, 인터넷 설정에서 인트라넷 사이트에서 모든 네트워크 경로를 볼 수 없게 설정하고 인트라넷을 자동으로 검색하도록 만든다. 아마도, 비트코인 지불과 관련해 비트코인 지불 페이지로 정상적인 연결을 위해서가 아닐까 판단된다.

인트라넷 관련 조작

 

이후에는 성공적인 파일 암호화를 위해서 프로세스를 쭉 돌면서 프로세스 종료를 시도한다.

프로세스 종료 시도
프로세스 종료 시도

 

ShellExecute 함수를 이용해서 섀도우 카피본 삭제도 시도한다.

함수 루틴
섀도우카피본 삭제

 

암호화는 쓰레드를 생성해가면서 이루어지게 되고, 파일을 찾고 확장자를 찾아서 암호화를 진행하게 되는데, 확장자 자체는 사실상 '.' 문자열 이후에 값이 존재하면 다 암호화 하는 식이다.

전체 암호화 루틴
파일 덮어씌우는 루틴

 

또한 특정 경우에는 네트워크 부분도 접근한다.

네트워크 접근

 

암호화까지 모두 마친 이후에는 배경화면을 경고문구로 변경하면서 파일 행위를 마무리한다.

배경화면 변경
변경된 배경화면

반응형

'Analysis' 카테고리의 다른 글

28. Lazarus's 한국국가정보학회 학회장 선거공고.hwp  (0) 2019.12.09
27. Monero coin stealer  (0) 2019.11.26
25. Rich Header  (0) 2019.10.30
24. Lazarus's HWP(CES 참관단)  (0) 2019.10.25
23. Lazarus, 연애심리테스트.xls  (0) 2019.10.24