보안 8

[Windows 리버싱] 32bit, 64bit 환경에서의 Syscall 구현 방식에 대한 설명

64bit 기준으로 Native API를 호출하기 위해선 다음과 같은 방법으로 커널모드로 진입함. rcx는 syscall 내부에서 사용되기 때문에 r10에 백업하는 과정을 거치고, eax에 Naitve함수의 인덱스를 넣고 syscall(KiFastSystemcall)을 통해 커널모드로 진입함. 내부에선 eax로 넘어온 함수의 인덱스를(SSDT의 인덱스) 통해 함수를 찾고 호출함. ;NtCreateFile 호출 mov r10, rcx ; NtCreateFile mov eax, 55h syscall 그래서 함수의 SSDT에서의 인덱스 값만 알고 있다면 위 방식 처럼 Direct Syscall이 가능함. 32bit에서는 어떻게 하는지 궁금해서 확인해봤는데 syscall은 없고 edx에 특정 주소 삽입하고 ed..

보안/분석 팁 2023.04.30

공개된 악성코드 분석 플랫폼에서의 지속적인 개인정보 유출 사고

이전에, 우연치 않게 개인정보유출 정황을 발견한 적이 있습니다. [단독] 샌드박스 분석 플랫폼에 분석 맡긴 ‘개인정보’ 고스란히 유출됐다 사용자가 ‘악성파일’인지 확인하기 위해 사용하는 ‘웹 기반 샌드박스 분석 플랫폼’에서 다수의 개인정보가 유출된 정황이 포착됐다. 특히 글로벌 사이트임에도 불구하고 유출된 자료에는 www.boannews.com 그런데 또 동일한 방법으로 민감정보가 유출 되었습니다. 유출된 정보는 민감한 정보가 다수 포함되어 있는 이력서입니다. 해당 사이트에서는 사용자가 파일을 업로드 할 때 명백하게, 파일이 'Public'으로 공개가 된다는 경고를 띄어, 모든 사람에게 공개가 된다는 것을 인지시키고 있습니다. 피해자는 자신의 이름, 주민등록번호, 생년월일, 배우자에 대한 정보, 장애여부..

[악성코드 분석] Windows Kenel API prefix 정리

Windows API는 접두사로 해석이나 행위 유추가 가능하다. 전부는 아니더라도 자주 쓰이는 Ex, Ke, Mm, Rtl, Zw 정도는 상식으로 외워두면 좋을 듯 Prefix Kernel Component Ex general executive functions Ke general kernel functions Mm memory manager Rtl general runtime library FsRtl file system runtime library Flt file system mini-filter library Ob ojbect manager Se security Ps Process structure Po Power manager Wmi Windows management instrumentation ..

보안/분석 팁 2022.07.30

[보안 이슈] Conti 내부자료 유출(뒷북)

유출된지는 좀 됐지만 노션 정리하다가 생각나서, 이제야 업로드한다. 해당 트위터 계정에서 콘티 내부 문건과 소스코드를 다운로드할 수 있다. 악성코드가 실제로 어떻게 개발되는지 공부하기엔 좋은 자료인 듯하다. 잠깐 소스코드 구경좀 해봤는데 친절하게 주석까지 달려 있어서, IDA랑 디버거에 의존해서 힘겹게 분석했던게 너무 허무했다🤣🤣 https://twitter.com/ContiLeaks?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1505433648023146499%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fthreatpost.com%2Fconti-ransomware-v-3-including-decryptor-leak..

[분석 팁] PEB 접근 방법

PEB구조체에 접근하는 방법은 총 4가지가 있다. 분석가라면, FS 레지스터를 통한 접근 방법만 알아도 된다. API는 분석하면 자연스럽게 알게되서 상식선에서 인지만 하면 될 듯. 0x1 레지스터를 통해 PEB의 주소를 구하기 FS레지스터는 유저모드에선 TEB(Thread Environment Block)를 가리키고 커널모드에선 KPCR(Kernel Process Control Region)을 가리킨다. 즉, 일반적으로 디버깅을 하는 환경에서 FS레지스터는 TEB를 가리킨다. TEB의 0x30번 째 인덱스는 PEB를 가리키는데, 이를 통해 현재 디버깅 중인 프로세스의 PEB 정보를 알 수 있다. 다음 코드처럼 레지스터 인덱스에 직접적으로 접근할 수 있다. fs:[0x30] // ProcessEnvirio..

보안/분석 팁 2022.05.25

[악성코드분석] IDA Python 레퍼런스 모음

IDA Python 레퍼런스 목록이다. IDA 파이썬 공식 API 레퍼런스: https://www.hex-rays.com/products/ida/support/idapython_docs/ IDA 파이썬 공식 예제 모음: https://github.com/idapython/src/tree/master/examples IDA 파이썬 가이드 모음: https://reverseengineering.stackexchange.com/questions/11391/good-training-for-idapython IDA 파이썬 간단 가이드 (한글): https://suspected.tistory.com/244?category=773669 Action 의 등록과 사용 http://www.hexblog.com/?p=886..

보안/분석 팁 2022.05.17