25 Feb 2020 | | 악성코드, 라자루스, 북한, 워너크라이, 웜, malware, wannacry, lazarus, worm, north korea, korean
WannaCry는 2017년 5월에 대유행한 북한 Lazarus 그룹의 랜섬웨어입니다. 이 랜섬웨어를 통해 공격자들은 약 15만 달러를 벌었고, 이 공격에 따른 피해는 약 수십억 달러로 추정되고 있습니다. WannaCry의 특징 중 하나는 웜과 유사하게 자기 자신을 복제하여 접근가능한 네트워크에 배포하며 SMB 취약점과 이메일을 통해 주로 배포됩니다.
Lazarus 그룹은 WannaCry 이전에도 이와 유사한 방식으로 동작하는 웜을 배포하였었는데 이 중 하나가 Brambul 이라는 이름의 웜입니다. WannaCry는 이 Brambul 이라는 웜의 랜섬웨어 형태의 변형이라고 볼 수 있죠.
Brambul은 2009년에 제작된 후 배포되기 시작하였으며 10년이 지난 지금, 다른 악성코드에 비해 위험하다고 볼 수는 없지만 여전히 취약한 버전과 설정의 컴퓨터에는 피해를 줄 수 있습니다.
MD5 : f024ff4176f0036f97ebc95decfd1d5e
파일을 실행하더라도 눈으로 보기에는 아무런 영향도 없어보입니다. 따로 패킹이나 난독화는 되어있지않아 분석하기에 쉬운 편입니다. 덕분에 파일 내 포함 된 문자열만으로 대략적으로 행위를 예측할 수 있습니다.
위의 정보를 바탕으로 이메일, IP 주소, 레지스트리 변경, 공유폴더 접근, 관련 프로세스 등을 추측할 수 있습니다.
프로그램은 시작하면서 WSAStartup 함수를 호출하여 네트워크 연결이 가능한지 체크한 뒤 사용자의 이름(PC의 이름)을 가져옵니다. 제 PC의 경우에는 “swan”이라는 값을 가져왔습니다. 그 후 “gmail.com” 문자열을 스택에 푸쉬하고 다음과 같이 dnsquery를 호출합니다.
이후 사용자의 이름이 System 인지를 검증하고 결과에 따라 행위가 두가지로 분기됩니다.
이 경우에는 sub_402900 서브루틴을 호출하고, 이 서브루틴은 먼저 몇 번의 GetTickCount 이후 무작위로 IP 주소를 생성합니다. 그리고 무작위로 생성된 IP로 445포트(SMB포트)로 접속을 시도합니다.
SMB 포트로의 접속이 성공하면 IPC와 연결을 시도합니다.
IPC까지 연결이 성공하면 관리자계정으로 SCM 데이터베이스에 접근하고 악성행위를 수행합니다.
- 정해진 제목으로 whiat1001@gmail.com 으로 SMTP 프로토콜을 이용하여 메일 발송
- admin 으로 공유폴더에 접근
- Windows Genuine Logon Manager (wglmgr) 서비스 생성
- Microsoft Windows Genuine Updater (wgudtr) 서비스 생성
- crss.exe 실행파일 생성
이렇게 생성된 서비스와 실행파일 통해 자가 복제 및 전파를 하는 것으로 보이며 첫번째 루틴은 종료가 됩니다.