어쩌다 만난 악성코드 분석 (부제: 인터넷 명령어는 두번 확인하고 쓰기)

DNS 설정 바꾸고 나서, 운영체제 DNS캐시좀 날리려고 검색을 했는데...

뭐 이때까지는 대충 코드 하나 복붙해서 캐시 날리고 확인해야할거 있으니까...

아무렇게나 최상단에 위치한 사이트 클릭...

복사하려는 그 순간...

어? DNS캐시 날리는데 무슨 b64 문자열을 디코딩해서 그걸 실행을하지?

뭔가 재밌어보여 시작...

우선 b64해독해보면...

외부 사이트에서 어떤 .sh 파일을 받아 실행.

여기서 이제 악성코드라는걸 확신

받아진 걸 보니까...

  1. 어떤 url의 /update에서 바이너리 파일을 받아서 실행
  2. 다른 url로 운영체제 정보 및 기타 정보 POST

그럼 /update에서 받는 바이너리 파일을 받아서 대충 보면...

ARM / 인텔 맥 두개 타겟팅했고...

대충 보면

  1. Seed & PRNG 초기화
  2. Stage 1 디코드
  3. Stage 1 실행
  4. 두개 중 한개로 분기(이때는 기존설치 여부나 VM탐지나 뭐 그런거라고 생각)
  5. 분기 후 Stage 2 / 3 디코딩 후 실행

즉..

아직은 알 수 없는 어떤 payload 3개가 있고
이것을 순차적으로 해독해서 실행!

누가봐도 악성코드인데...

그럼 해독할수있게 스크립트를 짜고... 해독하면

음...

  1. VM웨어 / KVM 등 가상환경 또는 인텔 코어 2 macos거나 chip을 모를경우 비정상종료
  2. 터미널 숨김
  3. 3번째 악성스크립트 실행

이네요

3번째 악성 스크립트는...

  1. 임시폴더를 만들고
  2. system_profiler 결과에 따라 macOS 버전, 하드웨어 모델 GPU 정보 추출하고
  3. /tmp/.pass가 존재시 그걸 사용하고 아니면 가짜 System Preferences를 사용해서 gui로 비밀번호를 뜯어내고 이때 결과는 ~/.pass 및 1번에서 만든 임시폴더에 저장...
  4. Binance, TonKeeper, Keychain 데이터 등 복사
  5. 메모DB, Safari 쿠키 파일 복사
  6. filegrabber 함수 내부 Safari쿠키 추가복사, 메모 이미지 복사, Desktop,Documents,Downloads에서 특정 확장자를 가진 파일 복사(대부분 암호화폐)
  7. 현재 로그인된 사용자명 저장
  8. firefox브라우저에서 cookies.sqlite, logins.json등 복사
  9. chrominum계열 브라우저 12종의 모든 사용자 프로필에서 쿠키, 로그인데이터, indexedDB, 혹은 수백개의 암호화폐 지갑 확장프로그램중에서 일치하는 항목의 확장DB복사
  10. Electrum, Exodus, Ledger Live등을 포함한 지갑 앱 15종 경로 전체 복사
  11. Telegram Desktop tdata/ 디렉터리 복사
  12. OpenVPN Connect 프로파일 전부 복사
  13. 이 모든 항목을 압축 후 원격 url에 전송
  14. Ledger Live앱 제거 후 변조된버전 재설치(추정)
  15. installBot으로 백도어 설치
  16. 임시폴더/파일 삭제 후 LaunchDaemon 으로 맥 부팅시마다 root권한으로 실행

네 조심하시라구요

작성자 정보
익명 (58.127)