가장 최신 글
최신 글
시나리오 기반 Wazuh XDR 탐지 분석
침해사고분석2025.09.21 17:09시나리오 기반 Wazuh XDR 탐지 분석

시나리오1) 공격자(kali C2) OLE 객체가 삽입된 악성한글 문서를 생성한 다음 인터넷 게시판에 업로드2) 피해자 (windows10)는 이것을 다운로드 하고 실행한다.3) 파일 실행과 동시에 피해자 시스템(windows 10) 에서는 공격자가 미리 msfconsole을 통해 리스너를 준비해둔 kali로 역방향 리버스쉘 연결이 시도된다. 4) 공격자는 이 초기쉘을 통해 피해자의 시스템(windows 10) 내부에 접근 한다.5) 공격자는 미리 제작한 미터프리터 리버스 쉘 페이로드인 google.exe 파일을 C:\Users\Public 경로에 업로드.6) UAC 우회를 위한 권한 상승을 수행하기 위해 Reg ADD 명령어를 이용해 레지스트키를 생성.7) 특정 프로그램을 실행했을 때, 관리자권한으로 ..

Wazuh의 FIM (File Intergrity Monitoring)
침해사고분석2025.09.15 15:55Wazuh의 FIM (File Intergrity Monitoring)

- Wazuh의 FIM 기능- 특정 폴더에 FIM 설정 테스트 FIM (File Intergrity Monitoring)파일 무결성 모니터링 기능이다.시스템의 주요 파일 또는 디렉터리 변경을 실시간 감지하며, 단순 변경 기록이 아니라 파일생성, 수정, 삭제, 권한 변경 등의 보안 위협의 징후를 파악하는 데 핵심적인 역할을 한다.- 악성코드로 실행 파일이 변경될 때- 웹쉘이 서버에 업로드될 때- 설정 파일이 외부에서 조작될 때- 정밀 분석 지원 (이전/이후 해시값 비교, 변경된 시각과 사용자 정보) FIM 테스트1) FIM 감시 대상 설정실제 FIM 감시 대상 디렉터리를 설정한다.윈도우 에에전트에서 ossec config 파일을 수정해야한다. 해당 경로의 ossec.conf를 notepad 관리자 권한..

Wazuh의 MITRE ATT&CK 분석
침해사고분석2025.09.15 12:16Wazuh의 MITRE ATT&CK 분석

Wazuh의 MITRE ATT&CK 모듈에 대한 분석 기술에 대해 정리했다. - Wazuh의 MITRE ATT&CK 기능 이해- 레지스트리 키를 이용하여 지속성 유지 스크립트를 실행하여 TTPs 매핑 MITRE ATT&CK 개요MITRE ATT&CK 은 실제 사이버 공격자들이 사용하는 전술, 기법, 절차들을 체계적으로 정리해놓은 데이터베이스다. 이 프레임워크는 방어자에게 공격자의 행위를 이해하고 대응 전략을 수립하는데 매우 유용한 기준이 된다. Wazuh는 이런 MITRE ATT&CK을 탐지 시스템에 통합하여 발생한 보안 이벤트들이 어떤 전술과 기법에 해당하는지 자동으로 분류하고, 시각화할 수 있도록 구성되어있다. Wazuh MITRE ATT&CKDashboard Wazuh 대시보드에서 Treat I..

Wazuh 디코더와 룰 이해
침해사고분석2025.09.15 11:30Wazuh 디코더와 룰 이해

Wazuh Analysis Engine 동작 흐름과 디코더, 룰 구조 및 커스텀 룰 작성 방식에 대한 이해를 작성. - Wazuh Decoder 구조와 원리- Wazuh Rule 기본 구조- Default Rule과 Custom Rule- Wazuh Rule Order Analysis Engine 로그의 라이프사이클은 생성 -> 수집 및 전송 -> 수신 -> 디코딩 -> 롤 평가 -> 경고 생성 단계를 거친다.Analysis Engine 은 Wazuh 서버 내에서 동작하는 핵심 분석 프로세스로 로그를 단순히 저장하는 것이 아니라 위협 가능성을 실시간으로 평가하는 역할을 한다. Wazuh는 수신된 로그 메세지를 일관되게 해석하고 분석하기 위해 디코더를 사용한다.Apache 는 HTTP 로그를, SSH는 로..

Wazuh XDR 통합 로그 분석
침해사고분석2025.09.14 20:30Wazuh XDR 통합 로그 분석

Discover에서 로그 필터링 기술을 정리해봤다. 윈도우에서 ubuntu에 ssh 접속 한 로그를 확인해봤다. - Discover 메뉴의 필드 구성 및 DQL(Document Query Language) 필터링 문법 활용- Ubuntu와 Windows 운영체제별 로그 확인- ossec.conf 파일과 log_alert_level 설정 이해 Wazuh alerts는 Wazuh 에서 생성되는 보안 경고 데이터를 저장하는 인덱스다. Wazuh monitoring 은 Wazuh 자체의 상태 및 모니터링 정보를 저장하는 인덱스다. Wazuh statistics는 Wazuh 의 통계 데이터를 저장하는 인덱스다. Wazuh에서 로그를 검색하고 필터링하는 쿼리 언어다. DQL 주요 문법 SSH 접속 테..

Linux 보안 로그 분석
침해사고분석2025.09.14 20:27Linux 보안 로그 분석

Linux 로깅 시스템 구성과 로그 구조 및 보안 관점에서 중요한 로그 파악 방법을 작성했다. - journald 로깅 시스템, 로그 구조, 중요 보안 로그- auditd 로깅 시스템- Apache Log- 로그 로테이션journaldLinux는 systemd라는 init 시스템을 가지고있다. systemd는 리눅스가 부팅될 때 가장 먼저 실행되어 시스템 전체를 초기화하고, 각종 서비스를 켜고 끄는 역할을 한다.journald는 systemd의 구성요소로 systemd의 서비스로그, 커널 메세지, syslog API 메세지 등의 다양한 프로세스에서 생긴 로그들을 수집해서 저장한다.journalctl의 전용 명령어를 통해 다양한 조건으로 로그를 검색할 수 있도록 지원한다. 과거 리눅스는 syslogd 라..

Windows 보안 로그 분석
침해사고분석2025.09.14 17:06Windows 보안 로그 분석

Windows 이벤트 로그 구성와 Sysmon 로그 및 주요 보안 이벤트를 정리한다. - 로그와 개념- Windows의 이벤트 로그- 보안 관점에서 주의 깊게 보아야 할 Event ID- Sysmon 로그 Windows 로그 시스템 Windows는 이벤트 기반 로그 시스템을 사용한다. 모든 것을 실시간으로 기록하는 것은 성능이나 자원 측면에서 비효율적이기 때문이다. 그래서 윈도우는 특정 사건이 발생했을 때만 로그를 기록하는 이벤트 기반 로그 시스템을 갖추고 있다. 여기서 말하는 이벤트란 시스템 내부에서 발생하는 하나의 사건으로, 로그인 성공 및 프로세스 생성, 파일 변경 등이 하나의 이벤트가 된다.각 이벤트들은 위와 같은 EVTX 포멧의 파일로 저장이 된다. 이 EVTX 파일은 XML 구조를 가진 ..

Wazuh Agent 설치하기
침해사고분석2025.09.13 20:20Wazuh Agent 설치하기

Linux Agent 설정하기 현재 단일 노드 방식으로 설치된 Wazuh 서버로 진행. Wazuh 서버는 192.168.1.100. 초기에는 에이전트가 설치되지 않은 모습이다. ubuntu server (192.168.1.80) 에서 에이전트를 설치해보자dpkg -i ./wazuh-agent_4.11.2-1_amd64.deb 그다음 /var/ossec/etc/ossec.conf 의 Wazuh 설정 파일에서 서버 IP를 입력한다. 그다음 enrollment 태그를 하단에 삽입한다.해당 태그는 에이전트가 서버와 연결될 때 식별 정보 및 인증 정보를 정의하는 섹션이다. 그리고 그 안에 에이전트 네임 태그를 생성하여 해당 우분트 에이전트를 표현할 이름을 지정한다. 이후 설정한 것이 반영되도록 데몬 reloa..

Wazuh XDR 이란?
침해사고분석2025.09.13 17:18Wazuh XDR 이란?

보안 사고는 외부만의 문제가 아니라 내부자의 부주의, 잘못된 설정, 클릭 한 번의 실수로도 사고가 발생할 수 있다. 기존의 백신 시그니처 탐지는 한계에 도달했고, 최신 공격은 지능적이며 패턴을 찾기가 힘들다. 따라서 시그니처 기반은 과거 공격 패턴에만 반응하여 새로운 위협은 탐지할 수 없다. 누가, 언제, 어떤 권한으로 무엇을 실행했는지를 실시간 분석하여 행위를 기반으로 탐지하는 것이 추가적으로 필요하다. 단말 보안 솔루션의 역할? 조직의 정보자산을 외부 공격, 내부 위협, 기술적 오류 등 다양한 위험 요소로부터 보호하기 위해 사용하는 소프트웨어 또는 하드웨어 기반의 보안 솔루션 기술이다. 또한 공격을 차단하는 동시에 공격이 성공했을 경우에도 비즈니스 연속성과 복원력을 보장한다. Wazuh는 통합 위협 ..

VRF의 이해와 PBR, VS와의 차이점
네트워크,클라우드2025.05.25 16:16VRF의 이해와 PBR, VS와의 차이점

VRF란?VRF(Virtual Routing and Forwarding)는 네트워크 장비에서 논리적으로 라우팅 테이블을 분리하여, 동일한 네트워크 장비 안에서도 서로 다른 고객 또는 서비스 간의 트래픽을 격리할 수 있도록 해주는 기술이다.방화벽에 VRF를 적용할 경우, 한 대의 방화벽 안에서 서로 독립적인 보안 정책과 라우팅을 제공할 수 있어, 복잡한 네트워크 환경에서도 유연한 설계와 보안 분리가 가능해진다.🔍 VRF란?1. 기본 개념Virtual Routing and Forwarding의 약자.하나의 네트워크 장비(라우터, 방화벽 등) 안에서 여러 개의 라우팅 테이블을 동시에 운영할 수 있게 해줌.물리적으로 하나의 장비이지만, 마치 여러 대의 독립된 라우터처럼 동작하게 한다.비유: 한 건물 안에 여러..

개발
Spring Bean이란?
Spring Bean이란?
개발
2025.03.22 16:58
Spring Bean이란?1. Spring Bean의 개념Spring Bean은 Spring 프레임워크의 IoC(Inversion of Control, 제어의 역전) 컨테이너에 의해 생성, 관리되는 객체입니다. 일반적인 Java 객체(POJO, Plain Old Java Object)와 달리, Spring Bean은 Spring 컨테이너에 의해 생명주기가 관리되며, 의존성 주입(Dependency Injection)을 통해 다른 Bean과 연결됩니다.Spring Bean의 특징IoC 컨테이너에 의해 관리: 개발자가 직접 객체를 생성하고 관리하는 것이 아니라, Spring 컨테이너가 대신 수행합니다.의존성 주입(DI): 객체 간의 의존 관계를 외부에서 설정해줍니다.생명주기 관리: Bean의 생성, 초기화,..
Kafka와 RabbitMQ 비교 분석
Kafka와 RabbitMQ 비교 분석
개발
2025.03.21 16:56
Kafka와 RabbitMQ 비교 분석1. 개요메시지 브로커(Message Broker)는 분산 시스템에서 서비스 간 비동기 통신을 가능하게 하는 중요한 컴포넌트입니다. 이 문서에서는 가장 널리 사용되는 두 메시지 브로커인 Kafka와 RabbitMQ의 아키텍처, 특징, 사용 사례를 비교 분석합니다.2. 아키텍처 비교2.1. Kafka 아키텍처Kafka의 아키텍처는 다음과 같은 구성 요소로 이루어져 있습니다:브로커 클러스터: 여러 브로커가 클러스터를 형성하여 토픽과 파티션을 관리합니다.ZooKeeper 앙상블: 브로커 클러스터의 메타데이터를 관리하고 클러스터 조정을 담당합니다.프로듀서 API: 메시지를 생성하여 토픽에 발행합니다.컨슈머 API: 토픽으로부터 메시지를 구독하여 처리합니다.스트림 API: 스..
테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)
테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)
개발
2025.03.21 16:51
Mocking이란?1. Mocking의 개념Mocking은 테스트를 진행할 때 실제 객체 대신 가짜 객체(Mock 객체)를 생성하여 사용하는 기법입니다. 이 가짜 객체는 실제 객체의 행동을 흉내내어, 테스트 대상 코드가 의존하는 다른 컴포넌트와의 상호작용을 시뮬레이션합니다.왜 Mocking이 필요한가요?단위 테스트의 독립성 보장: 테스트 대상 코드만 격리하여 테스트할 수 있습니다.외부 의존성 제거: 데이터베이스, 외부 API 등 외부 시스템에 의존하지 않고 테스트할 수 있습니다.테스트 속도 향상: 실제 객체보다 가벼운 Mock 객체를 사용하여 테스트 속도를 높일 수 있습니다.특정 시나리오 테스트: 실제 환경에서 재현하기 어려운 상황(예: 네트워크 오류)을 시뮬레이션할 수 있습니다.2. 단위 테스트와 통합..
Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법
Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법
개발
2025.03.20 15:45
Kafka 상세 가이드1. Kafka란 무엇인가?Kafka는 LinkedIn에서 개발하고 현재는 Apache 재단에서 관리하는 분산 스트리밍 플랫폼입니다. 대용량의 실시간 데이터 스트림을 안정적으로 처리할 수 있도록 설계되었으며, 다음과 같은 특징을 가지고 있습니다:고성능: 초당 수백만 개의 메시지를 처리할 수 있는 높은 처리량확장성: 클러스터 구성을 통해 수평적 확장 가능내구성: 데이터를 디스크에 저장하여 데이터 손실 방지분산 처리: 여러 서버에 데이터를 분산하여 저장 및 처리2. Kafka의 주요 개념2.1. 메시지(Message)Kafka에서 데이터의 기본 단위입니다. 키(Key)와 값(Value)으로 구성되며, 타임스탬프와 메타데이터도 포함할 수 있습니다.2.2. 토픽(Topic)메시지가 저장되는..
Spring Boot - Builder 패턴
Spring Boot - Builder 패턴
개발
2025.03.12 17:47
.Builder의 의미.builder()는 주로 빌더 패턴을 사용하는 클래스에서 객체를 생성하는 메서드다. 이 메서드는 빌더 객체를 사용하여 설정된 필드 값을 기반으로 최종 객체를 생성하고 반환한다.빌더 패턴빌더 패턴은 복잡한 객체를 생성할 때 유용한 디자인 패턴으로, 객체의 생성 과정을 단계적으로 구성할 수 있게 해준다. 이 패턴은 다음과 같은 장점을 제공한다가독성 향상: 객체의 필드를 명시적으로 설정할 수 있어, 어떤 값이 어떤 필드에 할당되는지 쉽게 이해할 수 있다.2. 유연한 객체 생성: 필요한 필드만 설정할 수 있어, 선택적 필드를 쉽게 처리할 수 있다.불변 객체 생성: 필드를 final 선언하고, 생성자에서만 값을 설정하여 객체의 상태를 변경할 수 없도록 할 수 있다.예시@Getter@Sett..
시스템해킹
취약점 자동 분석 및 공격 0x3 침투 실행
취약점 자동 분석 및 공격 0x3 침투 실행
시스템해킹
2023.11.29 20:10
Critical High Medium Low Info 여러 단계의 취약점들이 발견 되었다. Critical에 가까울수록 공격(Exploitation)받기가 쉬우며, 시스템 주도권을 뺏기기 쉽다. 실제로 취약점이 존재하지만 스캔 되지 않는 취약점들을 'False Nefativce(존재하는 오류를 부정)' 이라고 부른다. 이와 반대는 'False Positive(존재하지 않는 오류진단)' 이 있다. ex)스팸메일 Metasploitable2 서버 공격 - [Critical Exploitation] Backdoor Metasploitable2에서 발견된 가장 높은 단계의 취약점인 백도어 공격을 수행해봤다. 1. 취약점 분석 Backdoor 취약점 목록으로 들어간다. 상세 페이지를 ..
취약점 자동 분석 및 공격 0x2 취약점 스캐닝
취약점 자동 분석 및 공격 0x2 취약점 스캐닝
시스템해킹
2023.11.29 20:07
스캐닝 환경 설정 공격 타겟 설정 Nessus가 active상태인 것을 확인하고 웹서버에 접속 했다면,[New Scan] - [Advanced Scan] 으로 들어온 뒤 공격할 Target IP주소들을 적는다. 같은 네트워크 환경에 구축되어있는 Metsploitable2와 WindowsXP서버 IP를 적어줬다. ASSESSMENT ASSESSMENT탭에서는 두 번째 칸을 체크한다. REPORT REPORT 탭에서 다음과 같이 설정. ADVANCED ADVANCED에선 다음과같이 설정. Credentials Credentials의 SSH탭에 인증 방식을 패스워드로 바꾸고 metasploitable2의 login정보를 입력한다. Plugins Plugins에서 CISCO, F5 Networks Local S..
취약점 자동 분석 및 공격 0x1 환경 세팅
취약점 자동 분석 및 공격 0x1 환경 세팅
시스템해킹
2023.11.29 19:59
Nessus 환경 세팅 가장 유명한 취약점 분석 툴 중 하나이다. 무료 버전인 Nessus Essentials를 사용했다. 1. Download ▶ Download Link Download에 저장된 파일로 설치를 실행한다. 2. 설치파일 실행 # service nessusd status # service nessusd start # netstat -tnlp nessusd가 실행되었는지 확인 후 inactive 상태라면 start 해주고, netstat로 tcp통신을 진행중인 서비스의 연결 상태를 확인한다. 3. Nessus 웹서버 접속 그다음 웹브라우저로 https://0.0.0.0:8834 로 접속. (또는 kali IP주소:8834) 들어온다면 essentials가입 으로 계속하기 한 다음 이름과 이..
Format String 특정 메모리값 변조
Format String 특정 메모리값 변조
시스템해킹
2023.11.26 14:52
포맷 스트링 공격은 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점 중 '데이터 형태에 대한 불명확한 정의'로 인한 것으로, 포맷 스트링을 이용하여 버퍼 오버플로우와 같이 메모리에 셸을 띄워 놓고, ret 값을 변조하여 관리자 권한을 획득하는 것이다. 결국 포맷 스트링과 버퍼 오버플로우는 함수 실행시 ret 값을 변조하는 방법만 다를 뿐 기본 개념은 같다고 볼 수 있다. 포맷 스트링 공격은 데이터 형태나 길이가 명확하게 정의되어있지 않아서 생기는 문제점이다. 예를 들어 char *buffer = "wishfree\n%x\n"; print(buffer) 라고 한다면 wishfree가 저장된 이후 메모리에 존재하는 값까지 나타내어지게 된다. 즉, esp가 위치한 메모리 값을 읽어드린다. 이러한 포맷..
Return-To-Libc (RTL) 공격
Return-To-Libc (RTL) 공격
시스템해킹
2023.11.26 14:45
버퍼오버플로우 공격을 막기위해 스택에서 쉘코드가 실행되는 것을 방지하는 Non-Executable Stack 기법이 있다. RTL은 이것을 무력화 시키는 공격 방법으로 스택에 있는 ret 주소를 실행 가능한 임의의 주소(libc 영역의 주소)로 돌려 원하는 함수를 실행하게 만드는 기법이다. 메모리에 적재된 공유 라이브러리는 스택에 존재하는 것이 아니므로 Non-Executable Stack 을 우회하는 것이 가능하다. libc 영역에서 셸을 실행할 수 있는 함수인 system, execve, execl 등을 이용할 수 있다. RTL 공격을 사용해 root권한을 탈취해보자. bugfile.c int main(int argc, char *argv[]) { char buffer[10]; strcpy(buffe..
Heap BufferOverFlow 공격
Heap BufferOverFlow 공격
시스템해킹
2023.11.26 14:43
heap영역은 동적할당되는 메모리 공간들을 제어하는 곳이다. BSS(Block Started by Symbol)이라고 불리며 스택과 정반대로 메모리의 하위 주소에서부터 상위 주소로 증가하는 형태다. 이를 활용해 root 권한을 탈취한다. heap-bugfile.c #include #include #include #include #include #define ERROR -1 int fucntion(const char *str){ printf("function 포인터에 호출되는 정상적인 함수\n", str); return 0; } int main(int argc, char **argv){ static char buf[16]; static int(*funcptr)(const char *str); if(argc..
Stack BufferOverFlow 공격
Stack BufferOverFlow 공격
시스템해킹
2023.11.26 14:41
스택 영역의 버퍼 사이즈를 초과시키는 데이터를 삽입해 다른 영역을 오염시키는 BoF(BufferOverFlow)취약점을 이용한다. bugfile로 RET 영역까지 데이터를 덮어씌우고 eggshell 코드가 실행시키도록 하여 root 권한을 탈취하자. 환경 : redhat6.2 eggshell.c EGG, RET을 환경변수로 설정하여 bash 새로 실행시키는 코드이다. 이 코드의 목적은 /bin/sh 을 root권한으로 열어주는 Shellcode를 주입시키는 것인데, 이 코드를 EGG라는 환경 변수에 저장하고, RET에는 스택 주소를 넣어 root권한을 탈취하게 된다. #include #include #include #define DEFAULT_OFFSET 0 #define DEFAULT_ADDR_SIZE..
KISA 해킹 훈련 고급 과정 정리
KISA 해킹 훈련 고급 과정 정리
시스템해킹
2023.11.26 14:34
침투 시나리오 정리스피어피싱 침투 - 거점 PC 관리자 권한 탈취 - AD 서버 장악 - SSH 터널링 - VPN 통로 PC 확인 - 사설망 침투  MITRE ATT&CK Matrix attacker ippublic mail server ipAD server iphealth checkingmail server 접속metasploit를 활용해 악성 pdf파일 생성ㅎ배괴.STEP2. 다음 메타스플로잇 스크립트를 제작해 주세요.--- /tools/gen_PDF.rc -------------------------------------use exploit/windows/fileformat/adobe_pdf_embedded_exeset payload windows/meterpreter/reverse_tcpset L..
네트워크,클라우드
VRF의 이해와 PBR, VS와의 차이점
VRF의 이해와 PBR, VS와의 차이점
네트워크,클라우드
2025.05.25 16:16
VRF란?VRF(Virtual Routing and Forwarding)는 네트워크 장비에서 논리적으로 라우팅 테이블을 분리하여, 동일한 네트워크 장비 안에서도 서로 다른 고객 또는 서비스 간의 트래픽을 격리할 수 있도록 해주는 기술이다.방화벽에 VRF를 적용할 경우, 한 대의 방화벽 안에서 서로 독립적인 보안 정책과 라우팅을 제공할 수 있어, 복잡한 네트워크 환경에서도 유연한 설계와 보안 분리가 가능해진다.🔍 VRF란?1. 기본 개념Virtual Routing and Forwarding의 약자.하나의 네트워크 장비(라우터, 방화벽 등) 안에서 여러 개의 라우팅 테이블을 동시에 운영할 수 있게 해줌.물리적으로 하나의 장비이지만, 마치 여러 대의 독립된 라우터처럼 동작하게 한다.비유: 한 건물 안에 여러..
BGP 쉽게 이해하기
BGP 쉽게 이해하기
네트워크,클라우드
2025.05.22 13:44
1. BGP란?**BGP(Border Gateway Protocol)**는인터넷 상의 자율 시스템(AS) 간에 경로 정보를 교환하기 위한 라우팅 프로토콜이다.📌 인터넷을 가능하게 만든 라우팅 프로토콜, 즉 "인터넷의 우체부"라고 이해하면 된다.2. 기본 개념 정리용어 설명AS (Autonomous System)독립적인 네트워크 그룹, 하나의 ISP나 대기업 네트워크처럼 특정한 관리 주체가 있는 네트워크 단위. 고유한 AS 번호를 가짐.EGP (Exterior Gateway Protocol)AS 간 경로를 교환하는 프로토콜. BGP는 유일하게 실무에서 사용하는 EGP임.IGP (Interior Gateway Protocol)OSPF, RIP, EIGRP 등 AS 내부에서 사용하는 라우팅 프로토콜.3. B..
ECMP와 LACP 차이점
ECMP와 LACP 차이점
네트워크,클라우드
2025.05.21 09:49
LACP와 ECMP: 같은 로드밸런싱? 전혀 다르다데이터센터나 엔터프라이즈 네트워크 설계에서 “로드밸런싱”이란 단어는 자주 등장하지만, 사용하는 기술에 따라 의미는 전혀 달라진다. 대표적인 예로 LACP와 ECMP는 모두 트래픽 분산에 사용되지만, 동작 계층과 목적, 설계 방식이 본질적으로 다르다.1. LACP란 무엇인가?LACP(Link Aggregation Control Protocol)는 IEEE 802.3ad 표준에 기반한 기술로, 다수의 물리 링크를 하나의 논리적 링크로 묶어 동작하게 만든다. 흔히 말하는 LAG(Link Aggregation Group) 구성이 여기에 해당된다.주요 목적대역폭 증가 (예: 1Gbps × 2 → 2Gbps)링크 리던던시 확보단일 대상에 대한 연결 강화동작 방식스위..
인증서 프로세스 쉽게 이해하기
인증서 프로세스 쉽게 이해하기
네트워크,클라우드
2025.05.12 00:10
🔐 전체적인 인증서 프로세스, 쉽게 말하면...🎁 1. 인증서(Certificate)는 디지털 신분증이다.우리가 현실에서 주민등록증이나 운전면허증으로 신분을 증명하듯,인터넷에서도 컴퓨터나 웹사이트의 신원을 증명하기 위한 "디지털 신분증"이 필요하다.이를 디지털 인증서라고 한다. (예: https 웹사이트의 보안 인증서)🏛️ 2. CA (Certificate Authority, 인증기관)CA는 '공식 발급처', 즉 주민센터와 같은 곳이다.신분증을 아무나 발급해주면 안 되므로, 신뢰할 수 있는 기관만 이를 발급할 수 있다.예시: Let's Encrypt, DigiCert, Comodo 등✉️ 3. CSR (Certificate Signing Request, 인증서 서명 요청)"나 인증서 받고 싶다" 하..
SDN과 SD-WAN 차이점?
SDN과 SD-WAN 차이점?
네트워크,클라우드
2025.05.11 02:31
✅ SDN이란?네트워크를 소프트웨어처럼 유연하게 제어할 수 있게 만든 기술이다.기존에는 네트워크 장비 하나하나에 들어가서 직접 설정해야 했으나,SDN은 중앙에서 전체 네트워크를 소프트웨어처럼 통제할 수 있다.🧠 핵심 개념: "제어부"와 "전달부"의 분리기존 네트워크 방식기존의 라우터 구조는 Control Plane과 Data Plane을 함께 가지고 있다.Control Plane (제어부) : 패킷 경로 설정, 관리 및 제어 (Routing 기능)Data Plane (전송부) : 패킷 송수신 (Forwarding 기능)스위치/라우터 자체가 아래의 역할을 모두 함데이터를 어떻게 보낼지 판단(제어)실제로 데이터를 보냄(전달)👉 모든 것을 혼자 다 하였다. 이처럼 하나의 라우터 안에서 패킷 처리와 오버헤드..
개발
Spring Bean이란?
Spring Bean이란?
개발
2025.03.22 16:58
Spring Bean이란?1. Spring Bean의 개념Spring Bean은 Spring 프레임워크의 IoC(Inversion of Control, 제어의 역전) 컨테이너에 의해 생성, 관리되는 객체입니다. 일반적인 Java 객체(POJO, Plain Old Java Object)와 달리, Spring Bean은 Spring 컨테이너에 의해 생명주기가 관리되며, 의존성 주입(Dependency Injection)을 통해 다른 Bean과 연결됩니다.Spring Bean의 특징IoC 컨테이너에 의해 관리: 개발자가 직접 객체를 생성하고 관리하는 것이 아니라, Spring 컨테이너가 대신 수행합니다.의존성 주입(DI): 객체 간의 의존 관계를 외부에서 설정해줍니다.생명주기 관리: Bean의 생성, 초기화,..
Kafka와 RabbitMQ 비교 분석
Kafka와 RabbitMQ 비교 분석
개발
2025.03.21 16:56
Kafka와 RabbitMQ 비교 분석1. 개요메시지 브로커(Message Broker)는 분산 시스템에서 서비스 간 비동기 통신을 가능하게 하는 중요한 컴포넌트입니다. 이 문서에서는 가장 널리 사용되는 두 메시지 브로커인 Kafka와 RabbitMQ의 아키텍처, 특징, 사용 사례를 비교 분석합니다.2. 아키텍처 비교2.1. Kafka 아키텍처Kafka의 아키텍처는 다음과 같은 구성 요소로 이루어져 있습니다:브로커 클러스터: 여러 브로커가 클러스터를 형성하여 토픽과 파티션을 관리합니다.ZooKeeper 앙상블: 브로커 클러스터의 메타데이터를 관리하고 클러스터 조정을 담당합니다.프로듀서 API: 메시지를 생성하여 토픽에 발행합니다.컨슈머 API: 토픽으로부터 메시지를 구독하여 처리합니다.스트림 API: 스..
테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)
테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)
개발
2025.03.21 16:51
Mocking이란?1. Mocking의 개념Mocking은 테스트를 진행할 때 실제 객체 대신 가짜 객체(Mock 객체)를 생성하여 사용하는 기법입니다. 이 가짜 객체는 실제 객체의 행동을 흉내내어, 테스트 대상 코드가 의존하는 다른 컴포넌트와의 상호작용을 시뮬레이션합니다.왜 Mocking이 필요한가요?단위 테스트의 독립성 보장: 테스트 대상 코드만 격리하여 테스트할 수 있습니다.외부 의존성 제거: 데이터베이스, 외부 API 등 외부 시스템에 의존하지 않고 테스트할 수 있습니다.테스트 속도 향상: 실제 객체보다 가벼운 Mock 객체를 사용하여 테스트 속도를 높일 수 있습니다.특정 시나리오 테스트: 실제 환경에서 재현하기 어려운 상황(예: 네트워크 오류)을 시뮬레이션할 수 있습니다.2. 단위 테스트와 통합..
Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법
Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법
개발
2025.03.20 15:45
Kafka 상세 가이드1. Kafka란 무엇인가?Kafka는 LinkedIn에서 개발하고 현재는 Apache 재단에서 관리하는 분산 스트리밍 플랫폼입니다. 대용량의 실시간 데이터 스트림을 안정적으로 처리할 수 있도록 설계되었으며, 다음과 같은 특징을 가지고 있습니다:고성능: 초당 수백만 개의 메시지를 처리할 수 있는 높은 처리량확장성: 클러스터 구성을 통해 수평적 확장 가능내구성: 데이터를 디스크에 저장하여 데이터 손실 방지분산 처리: 여러 서버에 데이터를 분산하여 저장 및 처리2. Kafka의 주요 개념2.1. 메시지(Message)Kafka에서 데이터의 기본 단위입니다. 키(Key)와 값(Value)으로 구성되며, 타임스탬프와 메타데이터도 포함할 수 있습니다.2.2. 토픽(Topic)메시지가 저장되는..
Spring Boot - Builder 패턴
Spring Boot - Builder 패턴
개발
2025.03.12 17:47
.Builder의 의미.builder()는 주로 빌더 패턴을 사용하는 클래스에서 객체를 생성하는 메서드다. 이 메서드는 빌더 객체를 사용하여 설정된 필드 값을 기반으로 최종 객체를 생성하고 반환한다.빌더 패턴빌더 패턴은 복잡한 객체를 생성할 때 유용한 디자인 패턴으로, 객체의 생성 과정을 단계적으로 구성할 수 있게 해준다. 이 패턴은 다음과 같은 장점을 제공한다가독성 향상: 객체의 필드를 명시적으로 설정할 수 있어, 어떤 값이 어떤 필드에 할당되는지 쉽게 이해할 수 있다.2. 유연한 객체 생성: 필요한 필드만 설정할 수 있어, 선택적 필드를 쉽게 처리할 수 있다.불변 객체 생성: 필드를 final 선언하고, 생성자에서만 값을 설정하여 객체의 상태를 변경할 수 없도록 할 수 있다.예시@Getter@Sett..
침해사고분석
시나리오 기반 Wazuh XDR 탐지 분석
시나리오 기반 Wazuh XDR 탐지 분석
침해사고분석
2025.09.21 17:09
시나리오1) 공격자(kali C2) OLE 객체가 삽입된 악성한글 문서를 생성한 다음 인터넷 게시판에 업로드2) 피해자 (windows10)는 이것을 다운로드 하고 실행한다.3) 파일 실행과 동시에 피해자 시스템(windows 10) 에서는 공격자가 미리 msfconsole을 통해 리스너를 준비해둔 kali로 역방향 리버스쉘 연결이 시도된다. 4) 공격자는 이 초기쉘을 통해 피해자의 시스템(windows 10) 내부에 접근 한다.5) 공격자는 미리 제작한 미터프리터 리버스 쉘 페이로드인 google.exe 파일을 C:\Users\Public 경로에 업로드.6) UAC 우회를 위한 권한 상승을 수행하기 위해 Reg ADD 명령어를 이용해 레지스트키를 생성.7) 특정 프로그램을 실행했을 때, 관리자권한으로 ..
Wazuh의 FIM (File Intergrity Monitoring)
Wazuh의 FIM (File Intergrity Monitoring)
침해사고분석
2025.09.15 15:55
- Wazuh의 FIM 기능- 특정 폴더에 FIM 설정 테스트 FIM (File Intergrity Monitoring)파일 무결성 모니터링 기능이다.시스템의 주요 파일 또는 디렉터리 변경을 실시간 감지하며, 단순 변경 기록이 아니라 파일생성, 수정, 삭제, 권한 변경 등의 보안 위협의 징후를 파악하는 데 핵심적인 역할을 한다.- 악성코드로 실행 파일이 변경될 때- 웹쉘이 서버에 업로드될 때- 설정 파일이 외부에서 조작될 때- 정밀 분석 지원 (이전/이후 해시값 비교, 변경된 시각과 사용자 정보) FIM 테스트1) FIM 감시 대상 설정실제 FIM 감시 대상 디렉터리를 설정한다.윈도우 에에전트에서 ossec config 파일을 수정해야한다. 해당 경로의 ossec.conf를 notepad 관리자 권한..
Wazuh의 MITRE ATT&CK 분석
Wazuh의 MITRE ATT&CK 분석
침해사고분석
2025.09.15 12:16
Wazuh의 MITRE ATT&CK 모듈에 대한 분석 기술에 대해 정리했다. - Wazuh의 MITRE ATT&CK 기능 이해- 레지스트리 키를 이용하여 지속성 유지 스크립트를 실행하여 TTPs 매핑 MITRE ATT&CK 개요MITRE ATT&CK 은 실제 사이버 공격자들이 사용하는 전술, 기법, 절차들을 체계적으로 정리해놓은 데이터베이스다. 이 프레임워크는 방어자에게 공격자의 행위를 이해하고 대응 전략을 수립하는데 매우 유용한 기준이 된다. Wazuh는 이런 MITRE ATT&CK을 탐지 시스템에 통합하여 발생한 보안 이벤트들이 어떤 전술과 기법에 해당하는지 자동으로 분류하고, 시각화할 수 있도록 구성되어있다. Wazuh MITRE ATT&CKDashboard Wazuh 대시보드에서 Treat I..
Wazuh 디코더와 룰 이해
Wazuh 디코더와 룰 이해
침해사고분석
2025.09.15 11:30
Wazuh Analysis Engine 동작 흐름과 디코더, 룰 구조 및 커스텀 룰 작성 방식에 대한 이해를 작성. - Wazuh Decoder 구조와 원리- Wazuh Rule 기본 구조- Default Rule과 Custom Rule- Wazuh Rule Order Analysis Engine 로그의 라이프사이클은 생성 -> 수집 및 전송 -> 수신 -> 디코딩 -> 롤 평가 -> 경고 생성 단계를 거친다.Analysis Engine 은 Wazuh 서버 내에서 동작하는 핵심 분석 프로세스로 로그를 단순히 저장하는 것이 아니라 위협 가능성을 실시간으로 평가하는 역할을 한다. Wazuh는 수신된 로그 메세지를 일관되게 해석하고 분석하기 위해 디코더를 사용한다.Apache 는 HTTP 로그를, SSH는 로..
Wazuh XDR 통합 로그 분석
Wazuh XDR 통합 로그 분석
침해사고분석
2025.09.14 20:30
Discover에서 로그 필터링 기술을 정리해봤다. 윈도우에서 ubuntu에 ssh 접속 한 로그를 확인해봤다. - Discover 메뉴의 필드 구성 및 DQL(Document Query Language) 필터링 문법 활용- Ubuntu와 Windows 운영체제별 로그 확인- ossec.conf 파일과 log_alert_level 설정 이해 Wazuh alerts는 Wazuh 에서 생성되는 보안 경고 데이터를 저장하는 인덱스다. Wazuh monitoring 은 Wazuh 자체의 상태 및 모니터링 정보를 저장하는 인덱스다. Wazuh statistics는 Wazuh 의 통계 데이터를 저장하는 인덱스다. Wazuh에서 로그를 검색하고 필터링하는 쿼리 언어다. DQL 주요 문법 SSH 접속 테..
image