리눅스 파일 구조 리눅스 파일은 크게 다음과 같이 분류할 수 있다. 시스템 파일: 리눅스 시스템의 기본 기능을 제공하는 파일이다. 사용자 파일: 사용자의 데이터와 설정을 저장하는 파일이다. 프로그램 파일: 리눅스에서 실행되는 프로그램의 코드와 데이터를 저장하는 파일이다. 시스템 파일 시스템 파일은 리눅스 시스템의 기본 기능을 제공하는 파일이며 시스템 파일은 보통 / 디렉터리에 저장된다. /etc: 시스템 설정 파일이 저장되는 디렉터리이다. /bin: 시스템에서 기본적으로 제공되는 명령어가 저장되는 디렉터리이다. /sbin: 시스템 관리자가 사용하는 명령어가 저장되는 디렉터리이다. /lib: 시스템에서 사용하는 라이브러리가 저장되는 디렉터리이다. /dev: 하드웨어 장치와 관련된 파일이 저장되는 디렉터리이..
쉘❓ "쉘(Shell)"은 컴퓨터 운영 체제에서 사용자와 운영 체제 커널 또는 하드웨어 간의 인터페이스 역할을 하는 프로그램 또는 환경을 가리키며 쉘은 사용자가 운영 체제 기능을 조작하고 명령을 실행하며 파일 및 프로세스 관리와 같은 작업을 수행할 수 있도록 하는 명령 줄 인터페이스 또는 그래픽 사용자 인터페이스를 제공한다. 웹 쉘❓ 웹 쉘이란 웹 서버에 원격으로 액세스하여 명령을 실행하고 시스템에 대한 제어를 획득할 수 있는 웹 기반 쉘이다. 웹 쉘을 사용하는 공격자는 웹 서버에 액세스 권한이 있는 경우 해당 서버에서 다양한 명령을 실행하고 시스템을 조작할 수 있다. 웹을 통해 시스템 명령어를 실행하기에 서버사이드 스크립트 언어와 함께 작성된다. 예시 코드 이 코드 예제는 PHP로 작성된 웹 쉘의 간단..
커널❓ 운영체제 커널은 운영체제의 핵심 부분으로, 시스템의 기본 동작을 관리하고 제어하는 역할을 수행한다. 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하며 자원 관리, 프로세스 스케줄링, 디바이스 드라이버 관리 등 다양한 핵심 기능을 제공한다. 운영체제 커널은 다음과 같은 원리와 동작으로 시스템을 관리한다: 하드웨어 추상화: 커널은 하드웨어 추상화를 제공하여 응용 프로그램이 하드웨어를 직접 다루지 않고도 사용할 수 있도록 한다. 이를 통해 응용 프로그램은 플랫폼 변화에 대응하지 않고도 동작할 수 있다. 자원 관리: 커널은 시스템의 자원을 효율적으로 관리한다. 메모리 관리를 통해 프로세스에게 메모리를 할당하고, CPU 스케줄링을 통해 여러 프로세스가 공정하게 CPU를 이용할 수 있도록 한다. 프로세스..
바인드 쉘❓ 바인드 쉘은 해커가 원격 시스템에 접근하여 제어하기 위해 사용하는 기술로, 서버에서 서버 포트가 열리고, 클라이언트(공격자)가 서버로 접속하여 생성하는 쉘 일반적인 서버 접속하는 형태이다. 바인드 쉘 공격 절차 포트 선택: 공격자는 바인드 쉘을 실행할 포트 번호를 선택하는데 이 포트는 공격자가 접근할 때 사용된다. 바인드 쉘 실행: 선택한 포트에서 리스닝하는 쉘을 실행시킨다. 이때 공격자는 해당 포트로 접근하면 쉘이 실행되어 원격으로 제어 가능한 상태가 된다. 연결 시도: 공격자는 바인드된 쉘이 실행된 시스템의 IP 주소와 선택한 포트로 연결을 시도한다. 원격 조작: 연결이 성공하면 공격자는 해당 쉘을 통해 명령어를 전송하여 시스템을 원격으로 조작하고 제어할 수 있다. 공격 시나리오 공격자가..
리버스 쉘❓ 리버스 쉘은 컴퓨터 네트워크 보안 분야에서 사용되는 용어로, 공격자가 공격 대상 시스템에 백도어를 설치하거나 제어할 수 있는 환경을 구성하는 기술이며 리버스 쉘을 이용하면 공격자는 공격 대상 시스템에서 특정 포트로 연결 가능한 쉘을 실행시켜 원격으로 시스템을 제어할 수 있다. 리버스 쉘 작동 원리 공격자의 시스템 설정: 공격자는 백도어를 설치하려는 시스템에 대한 IP 주소와 포트를 선택한다. 공격 대상 시스템 감염: 공격자가 설정한 IP 주소와 포트로 연결을 시도하는 코드가 포함된 악성 파일을 공격 대상 시스템에 전달한다. 공격자의 시스템 리스닝: 공격자는 설정한 포트로 들어오는 연결을 리스닝하면서, 공격 대상 시스템으로부터의 연결을 기다린다. 리버스 쉘 실행: 공격 대상 시스템이 공격자의 ..