
AnyDesk에 APC 인젝션을 수행하고, AES/RSA를 사용해 HTTPS를 통해 C2로 유출하며, Registry GUID 키를 통해 지속성을 유지하는 Python 셸코드의 리버스 엔지니어링 분석 글입니다.
이 x64dbg 뷰는 Python 셸코드가 파일 작업(CreateFileW, DeleteFileA/W)과 JMP 트램폴린을 사용하여 Windows API를 동적으로 호출한다는 것을 보여줍니다.
CreateFileW – 파일을 생성하거나 엽니다 (페이로드 드롭).DeleteFileA / DeleteFileW – 파일을 삭제합니다 (흔적 정리).DefineDosDeviceW – DOS 디바이스를 정의합니다 (드라이브 조작).jmp qword ptr ds:[<API>] – API 주소를 동적으로 해석합니다.INT3 (0xCC) – 안티 디버그 트랩.C:\Users\dkaan\OneDrive\Desktop\output\shellcode.exe.
CreateFileW, DeleteFileA/W 및 JMP 트램폴린을 보여주는 x64dbg 뷰.
이 x64dbg 뷰는 Python 셸코드가 GetCommandLineW를 호출하여 명령줄 인수를 읽고, 안티 디버깅을 위해 INT3 트랩을 사용한다는 것을 보여줍니다.
jmp qword ptr ds:[<GetCommandLineW>] – GetCommandLineW로의 JMP 트램폴린.&"Sun" – 명령줄 인수 문자열.mov [rsp+8], rbx, sub rsp, 0x20, xor ebx, ebx.test rdx, rdx, je kernel32.7FFBEC730A9.mov rdx, rsi, mov r8, rdi.GetCommandLineW를 해석합니다.
GetCommandLineW, 명령줄 파싱 및 INT3 트랩을 보여주는 x64dbg 뷰.
Process Hacker 메모리 분석은 Python 셸코드가 AnyDesk.exe에 APC 인젝션을 수행하고 데이터 유출을 위해 고급 암호화 알고리즘을 사용한다는 것을 보여줍니다.
AnyDesk.exe (PID 8064) – 합법적인 원격 데스크톱 도구.AES for x86 / AES for Intel AES-NI – 대칭 암호화.RSA for x86 – 비대칭 암호화.SHA256 block transform – 해싱.RC4 for x86 – 스트림 암호.Vector Permutation AES – SIMD 가속 AES.GHASH for x86 – GCM 인증.Montgomery Multiplication – RSA 가속.ECP_NISTZ256 for x86 – 타원 곡선 암호화.CreateRemoteThread보다 은밀합니다 – 새 스레드가 생성되지 않습니다.
AnyDesk 인젝션 및 암호화 알고리즘(AES, RSA, SHA256, RC4)을 보여주는 Process Hacker 뷰.
TCPView 분석은 Python 셸코드가 AnyDesk.exe를 사용하여 포트 443(HTTPS)을 통해 141.227.178.79로 데이터를 유출한다는 것을 보여줍니다.
AnyDesk.exe (PID 5068) – 합법적인 원격 데스크톱 도구.141.227.178.79443 (HTTPS – 합법적인 트래픽과 섞임).Established (활성 연결).
AnyDesk.exe가 포트 443을 통해 141.227.178.79에 연결하는 것을 보여주는 TCPView 뷰.
Simplewall 분석은 Python 셸코드가 AnyDesk.exe를 사용하여 포트 443(HTTPS)을 통해 141.227.178.79로 데이터를 유출하려고 시도하지만, 차단될 경우 다른 합법적인 주소(92.38.180.106)로 연결을 시도한다는 것을 보여줍니다.
AnyDesk.exe (PID 5068) – 합법적인 원격 데스크톱 도구.92.38.180.106443 (HTTPS – 합법적인 트래픽과 섞임).Blocked (차단된 연결).
Anydesk.exe가 포트 443을 통해 92.38.180.106으로 차단된 것을 보여주는 Simplewall 뷰.
레지스트리 분석은 Python 셸코드가 지속성을 위해 HKLM\SYSTEM\CurrentControlSet\Control\ 아래에 GUID 기반 키를 생성한다는 것을 보여줍니다.
{bf1a281b-ad7b-4476-ac95-f47682990ce7} – 무작위로 생성된 GUID.GLOBALROOT\Device\HarddiskVolumeShadowCopy5\WINDOWS\system32\config\components.09 00 00 00 – 아키텍처 식별자.30 00 2e 00 30 00 2e 00 2e 00 36 00 – 유니코드로 "0.0.0.6".
GUID 기반 키와 StoreFormatVersion 값을 보여주는 레지스트리 편집기 뷰.
이 분석은 APC 인젝션을 통해 AnyDesk에 주입되고, AnyDesk의 합법적인 IP 주소를 사용하여 C2 서버에 연결하며, AES 및 RSA 암호화 알고리즘을 사용하여 트래픽을 은닉하는 고급 Python 셸코드를 밝혀냈습니다.
141.227.178.79로 데이터를 유출하고 있었음이 밝혀졌습니다.GLOBALROOT\Device\HarddiskVolumeShadowCopy5\WINDOWS\system32\config\components.int3 트랩이 자주 나타납니다.분석된 Formbook 샘플은 직접 분석을 수행하려는 분들을 위해 MalwareBazaar에서 이용할 수 있습니다:
MalwareBazaar의 Python Shellcode 샘플
사용된 도구: x64dbg, Process Hacker, Binary Ninja