← 악성코드 분석 목록으로 돌아가기

보안콘텐츠 · 악성코드 분석

러시아 해킹그룹 FIN7, AnubisBackdoor 유포

최근 러시아 해킹그룹 FIN7이 제작한 파이썬 스크립트 기반의 AnubisBackdoor가 발견됐다. FIN7은 Savage LadyBug나 CarbonSpider라고도 불리며 은행과 미디어 등 여러 업체를 대상으로 공격해왔다. 근래에는 REvil 랜섬웨어를 사용하고 RaaS로 DarkSide 랜섬웨어를 판매했으며 2024년 7월에는 취약한 드라이버 파일로 보안 프로그램을 종료하는 AvNeu…

2025년 5월 20일TACHYON Security Response Center
러시아 해킹그룹 FIN7, AnubisBackdoor 유포 대표 이미지

최근 러시아 해킹그룹 FIN7이 제작한 파이썬 스크립트 기반의 AnubisBackdoor가 발견됐다. FIN7은 Savage LadyBug나 CarbonSpider라고도 불리며 은행과 미디어 등 여러 업체를 대상으로 공격해왔다. 근래에는 REvil 랜섬웨어를 사용하고 RaaS로 DarkSide 랜섬웨어를 판매했으며 2024년 7월에는 취약한 드라이버 파일로 보안 프로그램을 종료하는 AvNeutralizer를 제작 및 판매하는 정황도 발견됐다. 이번에 발견된 AnubisBackdoor는 FIN7이 제작한 새로운 백도어로 피싱 캠페인에서 유포된 ZIP 파일 내의 다른 정상 파일과 함께 들어있다. 이 악성코드는 Base64 인코딩, AES 암호화 및 모양이 유사한 문자를 이용해 난독화한 것이 특징이다. 복호화 및 난독화 해제 이후에는 레지스트리 경로에서 공격자의 C&C 서버 주소를 가져와 연결을 시도하며 수신한 명령어에 따라 파일 다운로드 및 쉘 명령 실행 등의 동작을 수행한다.


AnubisBackdoor는 파이썬 기반 스크립트이며 피싱 캠페인으로 유포되는 ZIP 아카이브 내에 “conf.py” 라는 이름으로 정상 라이브러리 및 DLL 파일과 함께 존재한다. 실행 초기에는 “_pKo_JX_”가 반복된 문자열 사이에 들어있는 데이터를 디코딩하고 AES-CBC 알고리즘으로 복호화해 파일리스 형태로 실행한다. 


[그림 1] Base64 디코딩 및 AES 복호화


이 악성코드는 아래 [그림 2]와 같이 I(i의 대문자)와 l(L의 소문자)처럼 구별이 어려운 문자를 사용해 함수와 변수 이름을 난독화했으며 그 모습이 깃허브에 공개된 Stealthify-2.0 난독화 또는 Anubis와 유사하다. 모두 모양이 비슷한 문자를 사용해 함수 및 변수명을 난독화하고 반복 문자열을 사용한다는 점에서 공통점이 있지만 실행 모습과 암호화하는 과정에 일부 차이가 있다.


[그림 2] AES 복호화 후 데이터


Stealthify-2.0 난독화는 이전의 [그림 2]와 같이 구별이 어려운 문자를 사용해 함수 및 변수명을 난독화한다. 이후 Base85와 Base64로 인코딩한 뒤 “__STEALTHIFY_V2__”가 반복된 변수에 담아 exec 명령어로 실행한다. 난독화 외에는 Ollydbg, x64dbg 및 PETools 등의 디버거와 분석 도구가 실행되고 있으면 프로세스를 종료한다.

- Stealthify-2.0 난독화 깃허브 링크 : https://github.com/sirmilann/Stealthify-2.0


[그림 3] Stealthify-2.0 난독화 코드

사진 출처 : Github


Anubis도 Stealthify-2.0 난독화처럼 모양이 비슷한 문자로 난독화하지만 반복된 문자열을 사용하는 것과 Base64로 인코딩하는 과정은 똑같다. 하지만 Base85 인코딩 대신 AES-CBC 알고리즘으로 암호화한 뒤 파이썬의 SubProcess 모듈을 사용해 파일리스 형태로 실행한다. 아래 [그림 4]는 깃허브 내의 ancrypt.py 소스코드이며 AnubisBackdoor의 실행 초기 단계에서 파일을 복호화하는 코드와 유사하다.

- Anubis 난독화 깃허브 링크 : https://github.com/0sir1ss/Anubis


[그림 4] Anubis 난독화 코드

사진 출처 : Github 


디코딩 및 복호화 후 실행한 악성코드는 사용자 PC의 호스트 이름과 “A19N” 문자열을 조합해 SHA-256 해싱 및 Base64로 인코딩한 후 지정된 레지스트리 경로에서 해당 값에 공격자의 C&C 서버 주소가 있는지 확인한다. 만약 공격자의 C&C 서버 주소가 없으면 하드코딩된 주소로 통신을 시도한다.

- C&C 서버 주소 저장 레지스트리 : HKCU\Software\FormidableHandlers


[그림 5] C&C 서버 주소 확인


공격자의 C&C 서버와 연결되면 키값을 수신한 뒤 Base64로 인코딩된 명령어와 키가 담긴 패킷을 받아 아래 [표 1]과 같이 파일 업로드 및 쉘 명령 실행 등의 동작을 수행한다.


[표 1] C&C 서버 명령어 목록


공격자로부터 "up" 명령어를 수신하면 뒤이어 전달되는 데이터를 처리하는데 이 데이터는 "파일이름;데이터" 형식으로 구성돼 있어 세미콜론(;)을 기준으로 파일 이름과 파일 내용을 구분한 뒤 지정된 이름으로 파일을 다운로드한다.


[그림 6] 파일 다운로드


명령어 부분의 공백에 뒤이어 프로세스 명과 인자값을 받는 경우에는 지정된 프로세스를 실행하며 인자값에 따라 추가적인 악성 명령이나 다른 악성코드를 실행할 수 있다.


[그림 7] 프로세스 생성 및 실행


“!cf!” 명령어를 수신받으면 공격자의 C&C 서버 주소가 저장된 레지스트리 값을 명령어와 함께 전달받은 데이터로 변경해 C&C 서버 주소를 업데이트한다.


[그림 8] C&C 서버 주소 업데이트



AnubisBackdoor는 러시아 해킹 그룹인 FIN7이 제작한 백도어로 파일 다운로드 및 C&C 서버 주소 변경 외에 쉘 명령 실행으로 기존에 사용하던 다른 악성코드의 유포 및 실행 과정에 사용할 수 있어 주의가 필요하다. 따라서, 출처가 불분명한 사이트에서 파일 다운로드를 주의하고 파일 실행 전 보안 프로그램의 검사를 권장하며 주기적인 업데이트로 보안 프로그램의 버전 및 OS를 항상 최신버전으로 유지할 것을 권고한다.

MORE INFORMATION관련 콘텐츠와 제품 연계 안내펼쳐보기