https://www.ahnlab.com/ko/contents/content-center/35578
AhnLab | 콘텐츠 센터
www.ahnlab.com
Notepad++의 기본 Plugin인 "mimeTools.dll"가 변조돼 악성코드가 유포된 정황이 확인되었다.
특정 버전의 Notepad++ 패키지 설치 파일에 포함되어 정상 패키지 파일로 위장한 악성코드는 사용자가 Notepad++를 실행하기만 해도 설치된다.
mimeTools
- 베이스64(base64)등의 인코딩 기능 수행하는 모듈
- notepad++을 실행시키면 자동으로 로드됨.
- 공격자가 이 점을 악용.
- 일종의 DLL 하이재킹(Hijacking) 기법 사용한 것으로 확인
악성코드 유포 방법
- 공격자는 mimeTools.dll에 암호화된 악성 셸코드&복호화 및 실행 코드를 추가.
- certificate.pem 파일에 악성 셸 코드가 포함되어 있음
- 악성 패키지에도 기존의 mimeTools.dll에서 제공하는 기능들은 그대로 구현되어 있음
악성코드 실행 흐름
- Indirect Syscall
- 실행 시점에서 안티바이러스 제품 우회를 위해 indirect syscall 기법을 사용
- jmp문을 이용해 syscall로 분기
- 해당 syscall 호출하기 위해 필요한 인자 값을 직접 세팅
- ntdll을 후킹해 Natice API 모니터링하는 안티바이러스 제품을 우회
- 복호화된 셸 코드는 최초 실행된 notepad++ 프로세스 영역에 생성됨
- certificate.pem 파일(악성코드를 포함한 파일)의 바이너리는 Crypt32.dll, BCrypt.dll 모듈을 사용해 셸코드로 바뀜
- 이후 셸코드 생성된 영역에 실행 권한 부여, jmp문을 통해 실행 흐름이 전환됨
- BingMaps.dll 변조
- BingMaps.dll의 EntryPoint를 변조하고 Export 함수인 GetBingMapsFactory()의 내부 코드를 셸코드로 덮어 씌움
- BingMaps.dll->GetBingMapsFactory()로 실행 흐름이 전환됨
- 1. NtCreateThreadEx()
2. NtGetContextThread()
3. NtSetContextThread() : Set RIP
4. ResumeThread()
- 1. NtCreateThreadEx()
- 스레드 생성 이후 NtGetContextThread() 이용해 해당 스레드의 레지스터 값 가져옴
- RIP 레지스터를 GetBingMapsFactory로 세팅
- 변조된 GetBingMapsFactory()
- 이전 과정(2번 과정)에서 셸코드로 덮어씌워짐
- VM 등의 분석 환경 인식해 프로세스 종료하는 과정이 존재, explorer.exe에 스레드를 삽입
- 런타임에 실행 중인 모든 프로세스 이름을 대상으로 한 글자씩 Shift, XOR 연산해 해시값 생성
- 생성된 해시값은 특정 프로세스의 존재 여부 확인에 사용됨
- 해시 일치할 경우 추가 악성 행위 하지않고 종료
- explorer.exe 프로세스 만나면 이후 악성 행위에 필요한 정보 (PID) 추가로 수집해 보관
- Explorer.exe (Injected)
- 여기서부터 본격 악성 행위 시작.
- 공격자는 C2에 접속해 추가 셸코드 다운로드 및 실행
- C2와 통신하는 과정에서 사용되는 문자열->특정한 함수->URL
- C2 URL 문자열은 홀수 번째의 문자만 이어붙여 획득 가능
- 사용자 PC에서 수집한 정보들이 베이스64로 인코딩돼 공격자에게 전달됨
- C2 통신 이후 response에서 특정한 문자열의 offset 찾음
- 해당 offset에서 추가 셸코드 복호화해 해당 셸코드로 jmp
- 해당 C2는 분석 시점에 워드프레스 로그인 파일로 확인됐고 최초 유포 당시엔 외형이 Wiki 사이트로 확인돼 "위키로더(Wiki Loader)"라는 이름 붙음
'SWUFORCE > 기술 스터디' 카테고리의 다른 글
[IGLOO] ‘록빗(LockBit)’ 그룹 검거로 알아보는 랜섬웨어 생태계 (0) | 2024.05.14 |
---|---|
[삼성 SDS] 인공 일반 지능(AGI)이란? 개념, 적용 기술, 그리고 인간 삶에 미칠 영향 (0) | 2024.05.07 |
[삼성 SDS] 고객 경험을 강화하는 생성형 AI 활용 사례 (0) | 2024.04.01 |
[IGLOO] 클라우드 네이티브 보안 (0) | 2024.03.26 |
[Ahnlab] 디지털 포렌식, IT 세상에도 명탐정이 필요하다 (0) | 2024.03.19 |