리버싱 42

MFC 프레임워크 기반 앱 시작지점

#MFC #리버싱 #Reversing MFC 프레임 워크 기반 앱의 경우, MFC 에서 선언 해놓은 클래스들을 상속 받아서 사용자 클래스를 정의하는 식의 개발이 이루어진다. 그만큼 MFC 프레임 워크에서 기본적으로 제공해주는 기반이 상당한데, 최근 MFC 관련 앱을 리버싱해본 결과 리버싱 과정에서도 그러한 기반 클래스들이 어떻게 동작하고, Dialog 까지 생성하는지 등등 알아야할 것이 많아보였다. 흔히 금방 찾을 수 있는 main 함수의 경우에도 함수 vtable 어딘가에 심볼이 깨진채로 들어가있어서 정적분석으로는 금방 가늠하기 어렵고, 동적분석으로 해당 함수를 찾아야한다고 판단하였다. 수 많은 문서를 탐색하면서 main 포인트를 찾는 과정을 간략히 정리해보겠다. int start() { _securi..

공유메모리 매핑

메모리 매핑 작은 버퍼 대신 Page 단위로 큰 데이터를 빠르게 처리가능한 방식 파일이 매핑된 가상메모리와 파일은 커널에 의해 동기화 되기 전까지는 불일치할 수도 있음. 공유 메모리 매핑 방식 메모리 맵의 데이터를 변경하면, 그 즉시 커널에 의해 원본 파일과 데이터가 동기화되는 방식. 프로세스간 메모리 공유에 특화된 방식이기 때문에 IPC 통신에서도 주로 쓰인다. "ZwMapViewOfSection" 을 통한 공유 메모리 매핑 예제 // 물리 메모리를 사용하겠습니다. 선언. UNICODE_STRING DestinationString; RtlInitUnicodeString(&DestinationString, L"\\Device\\PhysicalMemory"); /* 중략 */ *a4 = 0; // 얻어올 ..

라자루스 루트킷 악성코드 분석 보고서(1/2)

#라자루스 #루트킷 #악성코드 #커널 본 게시글은 안랩 시큐리티대응센터(ASEC) 에서 2022. 09. 22. 자로 발간한 라자루스 공격 그룹의 BYOVD를 활용한 루트킷 악성코드 분석 보고서 의 내용에 대해 개인적으로 정리한 게시글입니다. 악성코드 관련 게시글들을 보다가 본의아니게 위에 기재한 악성코드 분석 보고서를 보게되어 공부 용도로 게시글을 작성해본다. 무엇보다 내 이목을 끌었던 것은 악성코드가 취약한 드라이버를 이용하여 커널단까지 조작하는 부분이었는데, 악성코드 분석 초보로써 굉장히 특이하다고 생각되었기에 세심하게 읽어보았다. 원본 보고서를 보면 거의 40장에 육박하는 매우 긴 분량이기 때문에 상세 내용을 나누어 서술해보겠다. 이번 게시글은 핵심 루트킷 파일이 작동하기 직전까지의 과정을 서술하..

[C++] 가상함수(Virtual Function)

#C++ #가상함수 C++ 에는 가상함수라는 개념이 있다. 같은 OOP 언어인 자바의 가상함수와 유사한데, 기본 클래스에서 가상 함수를 정의하여, 해당 기본 클래스를 상속 받는 파생 클래스가 해당 가상함수를 재정의하여 사용하도록 유도하여 Runtime 에 함수의 다형성을 높이기 위한 문법이라고 한다. 실행타임에 함수를 재정의해서 유용하게 사용할 수 있다는 것은 이해했는데, 의문점이 그냥 가상함수말고 일반적으로 함수 정의한 다음에 상속받은 클래스 단에서 오버라이드(재정의) 하여 사용하면 되지않나??? 라는 의문이었다. 정말 원론(?) 적인 이유는 다른 게시글 에 설명이 되어있었는데 엉뚱한 소멸자를 호출시키지않게 하기 위해서이다. C++ 개발 경험이 많이 없기 때문에 이러한 세세한 부분에 대해서는 생각해볼 ..

<C++ study> 2023.01.02

Get First CVE

프로젝트 과정의 일환으로 발굴 취약점에 대한 CVE 를 넣었는데요. CVE-2022-43143 으로 결과가 나왔으며 publication 도 완료되었습니다. https://github.com/beekeeper-studio/beekeeper-studio/issues/1393 BUG: Beekeeper Remote Code Execution via XSS · Issue #1393 · beekeeper-studio/beekeeper-studio Author: bob11.devranger@gmail.com Date: 2022-10-07 OS: Windows, Linux, MacOS Beekeeper Studio Version: 3.6.6 DB Type&Version: MySQL 5.7 and 8.0 Also S..

<사는이야기> 2022.11.22

BoB 11기 솔직 합격후기

#솔직후기 #장점 #단점 합격은 한참전에 했는데 내년, 내후년에 볼 수 있는 사람들이 있을까봐 씁니다. 서류부터 면접까지 일단은 다 마음 편하게 임했던거 같습니다. 서류같은 경우에는 그냥 본인이 해왔던거 쓰는게 전체적인 틀입니다. 저 같은 경우에는 학년이 학년인지라 좀 해왔던거를 쓰는거에 있어서는 큰 부담은 안됐는데요. 혹시나 보이는 성과가 없을지라도 보안에 대해서 이런 것 까지 해봤다 라는 느낌으로 열정을 보여줄 수 있는 글이면 좋을 것 같다는 생각이 드네요. 그래도 조금 나이가 있는 지원자라면 나이가 어린 친구들에 비해 조금은 무언가 보여줄 수 있는게 있으면 더 좋을 것 같습니다. 면접은 솔직히 사람마다 다르긴한데, 저 같은 경우에는 질문을 두 개 밖에 못받아서 크게 알려드릴게 없습니다... 첫 번째..

<사는이야기> 2022.10.12
반응형