Heon

도메인 연결과 HTTPS 구성 흐름 정리

서버를 외부에 공개하는 것은 단순히 포트를 여는 작업과는 다르다. 도메인을 연결하고 HTTPS를 적용하고 요청이 어떤 경로를 통해 전달되는지 이해해야 전체 구조가 보인다. 현재 구성 흐름은 다음과 같다. 사용자 -> Cloudflare -> Nginx 오리진 서버 핵심은 사용자가 오리진 서버에 직접 접근하지 않는 구조를 만드는 것이다....

서버 방화벽 설정하기

서버를 생성하고 나서 잊지 않기 위해 이 글을 작성한다. 분명히 웹 서버도 실행했고 포트도 열었다고 생각했는데 외부에서는 접속이 되지 않는 상황이다. 이때 대부분 서버 설정을 의심하게 되지만 실제로는 방화벽에서 막히는 경우가 많다. 대부분 클라우드는 네트워크 단에서 한 번 접근을 제어하고 그 안에 있는 VM 역시 자체 방화벽을 가지고 있다. 결...

YARA가 무엇인지 실습해보기

이전에 동적 메모리 스캐너를 직접 구현하면서 바이트 패턴을 기준으로 탐지 결과를 출력해본 경험이 있었다. 그 과정에서 자연스럽게 들었던 의문은 이것이었다. 이런식으로 비교를 하게 된다면 너무 비효율적이고 만드는거 또한 너무 번거로운데 좋은 방법이 없나? 실제 악성코드 진단 환경에서는 이런 패턴들을 어떤 식으로 관리하고 어떤 기준으로 탐지 판단을 ...

Memory Module Scanner 리뷰

PE 구조를 파일 기준으로만 보다가 실제 실행 중인 메모리에서는 어떤식으로 구성이 되어있는지 궁금해 만들게 되었다. 자세한 소스코드와 내용은 Github 을 참고하면 된다. 특정 프로세스에 붙어서 모듈을 기준으로 메모리를 파악하고 바이트 패턴이 실제로 어디에 존재하는지 확인할 수 있는 아주 단순한 스캐너를 만들기로 했다. 잘 생각해보면 YARA룰의...

PE 전체구조 이해하기

PE 파일 구조를 처음 봤을때 느낌은 생각보다 너무 많아보여 이해하기가 쉽지 않았다. PEview로 파일을 열어 보면 위쪽에 뭔가 헤더들이 보이고 그 아래로 섹션 목록이 쭉 이어지는데 도대체 어디부터 어디까지가 무엇을 의미하는지 한 번에 잡히지는 않았다. 그래서 이번에는 내가 PEview와 HxD를 보면서 이해한 흐름을 기준으로 정리해 보려고한다...

CreateProcessW 이해하기

WinAPI를 공부하다 보면 어느 순간부터 문서를 읽는 시간보다 이해하려고 머리를 굴리는 시간이 더 길어질 때가 있다. CreateProcessW를 처음 봤을 때가 그런 느낌이었다. 인자는 많고 설명은 길고 흐름은 한 번에 잡히지 않고 뭔가 전체 구조가 제대로 정리돼 있어야 이해가 될 것 같은 함수였다. 그래서 이번에는 이 함수를 조금 더 편안하게...

문자 인코딩과 WinAPI A/W 구조 이해하기

문자열과 관련된 구조를 다시 살펴보면, 처음에는 단순히 문자 크기만 다르다고 생각했던 부분들이 실제로는 운영체제의 흐름과 API 구조 전체에 얽혀 있다는 걸 자연스럽게 느끼게 된다. Win32를 공부하며 계속 부딪히는 것도 결국 이 흐름이었던것 같다. 아래는 내가 공부했던 내용들을 정리하여 작성한 글이다. ASCII에서 ANSI, 그리고 유니코드...

Win32 프로그램의 기본 흐름과 자료형 정리

Win32 API를 처음 공부했을 때 가장 크게 다가왔던 부분은 콘솔 프로그램처럼 한 번에 쭉 실행되는 구조가 아니라는 점이었다. 프로그램은 창을 띄우고 난 뒤에도 계속 살아 있어야 하고, 사용자가 어떤 행동을 할지 모르기 때문에 그 흐름을 운영체제가 전달해주는 방식으로 유지한다. 그래서 WinMain, 메시지 루프, WndProc 같은 요소들이 등...

© Cryptonite7777. 일부 권리 보유

Powered by Jekyll with Chirpy theme