file name : trust.exe
analysis date : November 24, 2022 at 19:15:57
MD5 : c6a375944d2c40b76ab07b39295e9344
SHA1 : a43ce63a3ff87d5836c128cdaf1eab64985ce0c9
SHA256 : f3024a8324f06e89cb4fdc2ad5c21c46894c8f49e8ef14b4d40d11dfa321c22e
SSDEEP : 3072:1oF+xE9aewwwwwwwwwwwZw1ww4RvvnUyOduIkE6Q:eurMypc
먼저 어떤 실행파일인지 확인해보면
C# 으로 작성된 실행파일 인것으로 확인됩니다.
그러므로 dnspy를 사용해서 분석을 진행해 보겠습니다.
프로그램이 시작하는 부분부터 차근차근 분석해보면
먼저 base64 형태로 암호화 되어있는듯한 IP주소를 "Macrobian"이라는 키값으로 복호화합니다.
그리고 그 값을 address로 지정하는데, 이 address가 어떤값인지 알아내기 위해서는 직접 값을 복호화 해야합니다.
복호화 로직을 보면, 첫번째 인자값을 base64로 디코딩한뒤 두번째 인자값으로 들어온 키값과 xor연산을 합니다.
그리고나서 그 결과를 다시 base64로 디코딩한뒤 값을 리턴하는데, 이 리턴값이 최종 복호화값입니다.
어차피 값들은 전부다 하드코딩 되어있으므로 로직을 적절하게 분석해서 복호화 코드를 짜주면 됩니다.
이런식으로 변환값들을 뽑아낸뒤에
이 값들로 간단하게 파이썬으로 복호화 코드를 짜주면
악성코드에서 사용하려고 하는 ip주소와 포트번호를 알아냈습니다.
악성코드에서는 이 ip주소와 연결에 성공하면 while 루프문을 벗어나서 그 다음 절차를 진행하는것으로 확인됩니다.
여기서부턴 살짝 복잡해 지지만 계속해서 분석을 해보면
근본적으로 이 악성코드가 하고자 하는 행위는
악성코드에 감염된 피해자의 시스템에 있는 거의 모든 정보들을 수집한뒤 해커의 C&C 서버에 전송하고
피해자의 시스템을 봇넷으로 활용하는 악성코드인것으로 확인됩니다.
심지어 이 악성코드는 현 시점으로부터 발견된지 얼마 안된 악성코드이기 때문에
아직까지도 다음과 같이 해커의 C&C 서버는 살아있는것으로 파악됩니다.
그러므로 이 서버가 없어지거나 막히기전까진 절대로 이 악성코드를 함부로 실행시키거나 하면
꼼짝없이 자신의 컴퓨터가 DDOS공격에 사용되는 불상사가 일어날수 있습니다.
그리고 이 악성코드는 봇넷으로 활용하기 위해서 id를 하드코딩 해놨는데
이 id도 복호화 로직을 사용해서 복호화해보면
whitemix라는 id를 사용하는것으로 확인됩니다.
이 코드에서는 이 시스템의 전반적인 데이터들을 수집한뒤 해커의 서버로 전송하는 작업을하는데
데이터 전송 역할을 하는 객체를 생성하는 부분을 찾아보면 조금 특이한 부분이 있는데
다음과 같이 함수들 중에서 러시아어로 작성된 함수들이 보입니다.
이 클래스는 해커가 직접 정의해놓은 클래스로 파악되는데
함수들의 이름이 영어와 숫자가 난잡하게 되어있는것은 그렇다 쳐도
러시아어와 숫자로 난잡하게 되어있는 함수들이 있는것을 보아서
해커는 러시아 출신일 가능성이 있습니다.
실제로 해커의 서버 IP주소를 검색해보면
러시아 모스크바 인근으로 위치가 잡히는것을 알수 있습니다.
하지만 섣불리 판단하진 못하는게, 굳이 작성한 코드의 함수이름을 러시아어로 작성하는것은
이해가 안가는 행동이기도 하고, 이 악성코드에서는 각종 VPN들을 사용하는 코드들이 보입니다.
그러므로 오히려 해커는 자신의 위치를 들키지 않기 위해서
러시아 사람이라고 보이게끔 악성코드를 제작하고 VPN을 사용해서
C&C 서버의 위치가 러시아 인것처럼 보이게끔 IP주소를 숨겼을 확률이 높습니다.
아무튼 이런식으로 해커의 서버에 시스템에 관한 정보들을 전송하고나면
다음과 같이 피해자의 시스템을 봇넷으로 활용하기위한 작업을 하는데
다음과 같은 메소드 들을 찾았습니다.
CommandLineUpdate 는 피해자 컴퓨터에서
cmd를 실행시키는데 처음 시작하는 디렉토리는 C드라이브로 설정한 메소드입니다.
이 메소드로 피해자 컴퓨터에서 cmd를 활용해서 각종 작업을 수행할수 있을것입니다.
그리고 DownloadUpdate 는 지정된 경로에 새로운 파일을 생성한 다음에
다운로드 받은 데이터를 생성한 파일에 쓰는 작업을 수행합니다.
DownloadAndExecuteUpdate 는 지정된 경로에 파일을 다운로드 받은뒤 그 파일을 실행하는 메소드입니다.
OpenUpdate 는 단순하게 프로세스 리소스를 시작하고 프로세스 구성요소에 연결하는 메소드입니다.
제가 파악한 바로는, 위의 4가지 기능과 그외의 자잘한 기능들을 사용해서
피해자 시스템이 감염된 뒤로도 시스템을 조종하면서 해커가 원하는 작업을 수행할수 있게 만든것으로 보입니다.
지금까지의 분석을 종합해 보자면
악성코드를 실행 -> 악성코드가 시스템의 거의 모든 정보를 수집후 C&C 서버로 전송 -> 수집한 정보들을 통해서 피해자 시스템을 봇넷으로 사용
이정도의 간단한 프로세스로 이루어져 있습니다.
물론 이런 수상해보이는 실행파일을 직접 실행시킬일은 별로 없어보이지만
요즘은 이런 실행파일을 문서형 악성코드와 같이 사용하거나 이외의 사회공학적기법을 사용하는 방법등을 통해서
충분히 전파되고 실행될수 있기 때문에 아직까진 유효할것 같네요.
그리고 처음에도 언급했지만, 이 악성코드는 발견된지 얼마 안됐기 때문에 아직까지 C&C 서버가 살아있는
쌩쌩한 악성코드입니다.
호기심에라도 절대 악성코드를 실행하지 말아주세요.
'잡다한 보안 공부' 카테고리의 다른 글
문서형 악성코드 분석 공부 (CVE-2022-30190) (0) | 2023.01.10 |
---|---|
SecuriteInfo.com.Trojan.Jeki.1.24075.17784 OLE 문서형 악성코드 분석 공부 (1) | 2022.11.20 |
iptime g104 exploit, ARM기반 공유기 익스플로잇 공부를 위한 가상환경 셋팅 (0) | 2022.11.12 |