
Some of my publicly available Malware analysis and Reverse engineering.
C 함수 fopen 추적 [파트1] - NTApi까지의 IDA Free 사용자 모드 Walk-Through 추적
C 함수 fopen 추적 [파트2] - Windbg 커널 디버깅 - 사용자 모드에서 커널 Executive 서브시스템까지의 Walk-Through
MSOffice 외부 리소스 참조 남용 [파트1] - TEMPLATE_INJECTION
MSOffice 외부 리소스 참조 남용 [파트2] - OLEOBJECT_INJECTION
[1] Lokibot 분석 - Windbg(커널 디버깅) 및 Live C2로 GuLoader 무력화
[2] Lokibot 분석 - GULoader 및 LokiBot C2 스푸핑 [파트1] - Python 자체 구현
[2] Lokibot 분석 - GULoader 및 LokiBot C2 스푸핑 [파트2] - INetSim + BurpSuite
[3] Lokibot 분석 - 리버싱, API 해싱, 디코딩
COM이란 무엇이며 그 기능, 레지스트리의 COM (도구 - COM 뷰어), COM 클라이언트-서버 (Powershell/.NET COM 클라이언트 사용), IDA에서 COM 인스턴스 및 메서드 리버싱 (구조체, 타입, ComIDA 플러그인), LokiBot 악성코드 샘플에서 COM 메서드를 사용하는 흥미로운 방식
정적으로 임포트된 오픈소스 라이브러리를 사용하는 악성코드 샘플을 리버싱할 때 알아두면 유용한 메모, 팁 및 트릭
이 비디오는 리버싱 과정과 Python으로 PoC 복호화기를 만드는 가이드를 다룹니다. 비디오의 마지막 부분에서는 Powershell에서 직접 이 랜섬웨어의 복호화 루틴만 동적으로 호출하여 모든 파일을 복호화하는 또 다른 트릭을 다룹니다.
관리 코드(Managed code) vs 비관리 코드(UnManaged code). 리버싱 및 디버깅 중 발생하는 어려움.
좋은 예가 바로 Powershell 그 자체입니다.
비디오는 SAE(Simple-Assembly-Explorer)를 사용한 최신 SmartAssembly 8+(.NET용 상용 난독화 도구)의 디난독화와
DnSpy를 사용한 원본 모듈 재생성을 다룹니다. [샘플 다운로드]
샘플, 제가 준비한 주석이 달린 IDA IDB, Bochs 이미지: [다운로드-비밀번호:infected]
관리 코드에서 비관리 코드를 호출하는 P/Invoke, D/Invoke 및 동적 P/Invoke 구현의 .NET 리버싱에 관한 비디오. Get-PDInvokeImports 도구 소개 [Get-PDInvokeImports]
APT29 C2-클라이언트 Dropbox 로더의 리버스 엔지니어링 심층 분석.
자세한 내용은 비디오 아래의 설명을 확인하세요.
Powershell 스크립트 디버깅 시 Powershell 프로세스 디버깅 - 모듈 로딩 포착 (dnSpy)
DnSpy 다중 프로세스 디버깅
.NET 디버깅 중 코드 최적화 처리 (Locals를 볼 수 없고 중단점을 설정할 수 없는 시기와 이유)
dnSpy의 Watch vs Locals 창 - 둘 다 활용하기 (필드 보기, 식 호출 등)
CPR @CPResearch에서 공개한 첫 번째 팁과 트릭 - IDA-Appcall, Dumpulator 및 순수 Unicorn Engine의 실용적인 사용법을 보여줍니다.
주석이 달린 코드 스니펫을 최대한 활용하기.
이를 멋지게 만드는 데 도움을 준 팀원 @BenHerzog11235 및 @a14xt에게 큰 감사를 전합니다.
이 비디오에서는 몇 가지 흥미로운 트릭과 팁을 다루며 .NET 디난독화를 안내합니다.
PowerShell과 dnlib 라이브러리를 사용할 것입니다.
언뜻 보기에는 쉽지 않은 일종의 커스텀 난독화를 사용하는 Eternity 악성코드를 위한 범용 문자열 디난독화기를 만들 것입니다.
Azov 랜섬웨어(폴리모픽 와이퍼) 리버싱에 대한 심층 분석, CPR @CPResearch에서 공개 - 주요 기술적 포인트뿐만 아니라 많은 흥미로운 안티 분석 및 코드 난독화 기법도 보여줍니다.
이를 멋지게 만드는 데 도움을 준 팀원 @BenHerzog11235 및 @megabeets_에게 큰 감사를 전합니다.
이 비디오에서는 혼합 모드 어셈블리의 리버스 엔지니어링을 안내합니다.
혼합 모드 어셈블리의 예제 샘플: [소스/바이너리]
dotRunpeX 무력화 - 수많은 악성코드 패밀리를 유포하기 위해 고급 기술을 악용하는 새로운 가상화 .NET 인젝터.
CPR @CPResearch에서 공개
고도로 발전되고 번개처럼 빠르며 커스터마이징이 용이한 Rorschach 랜섬웨어 공개. 난독화와 보호(커스텀 UPX 스타일 패커, VMProtect 등) 및 배포 방식 때문에 리버싱 과정은 꽤 골치 아픈 일이었습니다.
CPR @CPResearch에서 공개
이 비디오에서는 IDA의 메모리 스냅샷 기능이 어떻게 작동하는지, 현재 사용 가능한 옵션과 이를 사용함으로써 얻는 이점을 설명합니다. 모든 셸코드 사전 단계를 포함한 Amadey 악성코드 언패킹의 실제 사례에 IDA 메모리 스냅샷을 사용할 것입니다.
마지막 섹션에서는 _Initterm C++ 내부 함수가 무엇인지, Amadey 샘플에서 어떻게 사용되는지, 그리고 악성코드가 "main" 메서드에 도달하기 전에 코드를 실행하기 위해 이를 어떻게 악용할 수 있는지 다룹니다. 어떤 경우에는(실행 흐름을 하이재킹하는 경우) 이 기법을 _Initterm 함수 테이블 포이즈닝이라고 부를 수 있습니다.
레이더에 포착되지 않고 확산되는 BundleBot으로 명명된 새로운 악성코드 계열에 대한 심층 분석. BundleBot은 정적 탐지가 매우 낮거나 전혀 없는 dotnet 번들(단일 파일) 자체 포함 형식을 악용합니다.
dotnet 번들(단일 파일) 자체 포함 형식을 리버스 엔지니어링하는 데 효과적인 것으로 입증된 몇 가지 기법 공개.
CPR @CPResearch에서 공개
ReadyToRun(R2R)로 컴파일된 .NET 바이너리에서 숨겨진 삽입 코드를 실행하는 새로운 방법, R2R 스톰핑을 소개합니다.
CPR @CPResearch에서 공개
Harmony 라이브러리를 사용한 .NET 관리 후킹 소개.
악명 높은 "ConfuserEx2" 난독화 도구를 무력화하기 위해 Harmony 후킹을 사용한 실용적인 예제는 "ConfuserEx2_String_Decryptor" 도구로 이어집니다. Harmony 라이브러리를 사용하여 디버깅과 후킹을 결합하는 방법에 대한 멋진 트릭 공개(dnSpyEx 디버깅 컨텍스트에서의 Harmony 후킹).
CPR @CPResearch에서 공개
비디오에서 사용된 도구: [GitHub - ConfuserEx2_String_Decryptor]
알려진 위협을 패킹하고 배포하기 위해 BoxedApp 제품이 점점 더 악용되고 있음을 공개.
제품 자체를 식별하면서 사용 중인 패커를 정적으로 탐지하는 데 사용할 수 있는 Yara 시그니처가 포함된 패킹된 바이너리 구조에 초점을 맞춘 BoxedApp 내부 구조 심층 분석.
CPR @CPResearch에서 공개