
사이드 채널 공격❓ 사이드 채널 공격은 암호화 시스템의 암호화 키를 암호화 프로세스와 직접 관련 없는 정보를 수집하여 얻는 공격 기법이며 암호화 알고리즘 자체의 약점을 이용하는 대신, 암호화 시스템의 물리적 구현 과정에서 발생하는 정보를 이용한다는 점에서 암호 분석과는 구별된다. 사이드 채널 공격은 다음과 같은 다양한 종류로 나눌 수 있다. 타이밍 공격: 암호화 프로세스의 실행 시간을 측정하여 암호화 키를 추측하는 공격 전력 분석 공격: 암호화 프로세스에서 발생하는 전력 소비량을 측정하여 암호화 키를 추측하는 공격 공간 분석 공격: 암호화 프로세스에서 발생하는 열이나 방사선을 측정하여 암호화 키를 추측하는 공격 레이저 공격: 암호화 프로세스에서 발생하는 전자기파를 측정하여 암호화 키를 추측하는 공격 사이..

쉘❓ "쉘(Shell)"은 컴퓨터 운영 체제에서 사용자와 운영 체제 커널 또는 하드웨어 간의 인터페이스 역할을 하는 프로그램 또는 환경을 가리키며 쉘은 사용자가 운영 체제 기능을 조작하고 명령을 실행하며 파일 및 프로세스 관리와 같은 작업을 수행할 수 있도록 하는 명령 줄 인터페이스 또는 그래픽 사용자 인터페이스를 제공한다. 웹 쉘❓ 웹 쉘이란 웹 서버에 원격으로 액세스하여 명령을 실행하고 시스템에 대한 제어를 획득할 수 있는 웹 기반 쉘이다. 웹 쉘을 사용하는 공격자는 웹 서버에 액세스 권한이 있는 경우 해당 서버에서 다양한 명령을 실행하고 시스템을 조작할 수 있다. 웹을 통해 시스템 명령어를 실행하기에 서버사이드 스크립트 언어와 함께 작성된다. 예시 코드 이 코드 예제는 PHP로 작성된 웹 쉘의 간단..

퍼징❓ 퍼징(Public Fuzzing)은 소프트웨어 또는 시스템의 보안 취약점을 찾기 위해 사용되는 자동화된 테스트 기법이며 임의의 입력 데이터를 대상 프로그램에 주입하여 예상치 못한 동작이나 오류를 발생시키는 것을 목표로 한다. 퍼징은 보안 취약점, 특히 버퍼 오버플로우, 메모리 누수, 입력 유효성 검사 부재 등과 같은 프로그램의 결함을 찾는 데에 자주 활용된다. 대규모의 입력 데이터 세트(퍼즈 케이스)를 생성하여 프로그램에 연속적으로 적용하고, 예상치 못한 결과가 발생할 때마다 이를 기록하고 분석한다. 퍼징은 보안 전문가나 소프트웨어 개발자들이 소프트웨어의 안정성과 보안을 향상시키기 위해 사용하는 중요한 도구이며 취약점을 찾아내고 수정함으로써 시스템의 안전성을 향상시키고, 악용될 수 있는 취약점을 ..

Gobuster❓ Gobuster는 웹 애플리케이션 또는 웹 서버에서 숨겨진 디렉토리 및 파일을 발견하기 위한 오픈 소스 보안 도구 중 하나다. 이 도구는 디렉토리 및 파일 이름을 브루트 포스 (Brute Force) 방식으로 검색하여 웹 서버의 취약한 지점을 탐지하는 데 사용되고 Gobuster는 주로 웹 애플리케이션 취약점 분석, 보안 테스팅, 해킹, 펜 테스트 등과 관련된 작업에서 활용된다. 디렉토리 및 파일 브루트 포스: Gobuster는 웹 서버에 대한 디렉토리 및 파일 이름을 브루트 포스 공격을 통해 탐색한다. 이를 통해 숨겨진 페이지나 디렉토리를 찾거나 웹 애플리케이션의 취약한 지점을 식별할 수 있다. 다양한 디렉토리 및 파일 목록: Gobuster는 사용자 지정 디렉토리 및 파일 목록을 통..

OSINT❓ OSINT (Open Source Intelligence)는 공개된 소스에서 정보를 수집하고 분석하는 정보 수집 및 분석 기술 및 활동을 의미하며 이것은 정보 수집을 위한 여러 다양한 소스와 기술을 활용하여 정보를 얻는 방법론 및 접근법을 나타낸다. OSINT는 주로 정보 수집 및 분석의 전문가, 보안 전문가, 조사관, 군사 및 정부 기관 등에 의해 사용되며, 다음과 같은 목적으로 활용된다 Passive OSINT(최초 정보 수집) - 목표 대상에 대한 정보를 수집하기 위해 가능한 최소한의 상호작용을 하는 단계, 정보 수집자가 직접 타겟을 조사하거나 대상과 직접 상호 작용하지 않고 오픈 소스 정보를 수집하는 방식이다. - 직접 목표 대상에게 접근하지 않고 제3자로부터 정보 수집 - 방법: 온..

바인딩❓ SQL 쿼리나 프로그래밍 언어와 데이터베이스 사이의 상호작용에서 사용되는 개념이다. 데이터베이스 바인딩은 쿼리나 명령어에 데이터 값을 동적으로 제공하기 위한 메커니즘을 가리킨다. 바인딩을 사용하면 보안성을 높일 수 있고 SQL 인젝션 공격과 같은 보안 문제를 방지할 수 있다. 매개 변수 바인딩 (Parameter Binding): 이것은 주로 SQL 쿼리에 사용된다. 매개 변수 바인딩은 SQL 쿼리에서 사용되는 변수를 외부에서 제공된 값으로 채우는 프로세스를 나타낸다. 이렇게 하면 SQL 쿼리가 사용자나 외부 입력으로부터 값에 노출되는 것을 방지할 수 있으며, SQL 인젝션 공격을 막을 수 있다. 대부분의 데이터베이스 시스템은 매개 변수 바인딩을 지원하며, 이를 통해 쿼리 실행 시 데이터 값을 ..

리버스 쉘❓ 리버스 쉘은 컴퓨터 네트워크 보안 분야에서 사용되는 용어로, 공격자가 공격 대상 시스템에 백도어를 설치하거나 제어할 수 있는 환경을 구성하는 기술이며 리버스 쉘을 이용하면 공격자는 공격 대상 시스템에서 특정 포트로 연결 가능한 쉘을 실행시켜 원격으로 시스템을 제어할 수 있다. 리버스 쉘 작동 원리 공격자의 시스템 설정: 공격자는 백도어를 설치하려는 시스템에 대한 IP 주소와 포트를 선택한다. 공격 대상 시스템 감염: 공격자가 설정한 IP 주소와 포트로 연결을 시도하는 코드가 포함된 악성 파일을 공격 대상 시스템에 전달한다. 공격자의 시스템 리스닝: 공격자는 설정한 포트로 들어오는 연결을 리스닝하면서, 공격 대상 시스템으로부터의 연결을 기다린다. 리버스 쉘 실행: 공격 대상 시스템이 공격자의 ..

1. CRLF 인젝션이란 ? CRLF Injection은 Carriage Return Line feed Injection의 약자로 각 개행문자를 의미하는 CR(\r) LF(\n)을 이용하여 HTTP Request 또는 Response를 분리하여 바디부분에 의도하지 않은 헤더필드를 삽입하거나 바디 부분에 HTML 코드를 추가하여 문제를 일으키는 공격 기법을 의미한다. CR Carriage Return ASCII 13 %0D \r LF Line Feed ASCII 10 %0A \n 2.예시 *헤더필드 추가 Request GET /redirect?location=jj://%0d%0aSet-Cookie: session=attackersessions; Response HTTP/1.1 200 OK Location:..