[악성코드 분석] Reverse Engineering 정의, 기초, 개념 정리
·
악성코드/Reversing
1. Reverse Engineering 개념소프트웨어 분야에서 리버싱 (Reverse Engineering)은  역공학을 의미를 가지고 있으며 프로그램의 동작 구조, 기능, 동작 등을 분석하여 그 원리를 이해하는 것이다.악성코드 분석할 때 악성코드의 작동방식,기능, 취약점 등을 파악하는데 사용된다. 2. IA - 32명령어는 어셈블리를 한번이라도 본적이 있다면 알 수 있는 mov나 push 같은 것을 말하며, 고급진 표현으로는 옵코드 (opcode)라고 말한다. 그리고 인자는 명령어 다음에  "어떠 장소를 값으로 넣을 것인지" or " 명령어에 해당하는 값" 등이 된된다.어셈블리는 주로 IA-32를 주로 사용하며 명령어와 인자로 구분된다.- 기본 형태 : 명령어( opcode ) + 인자 ( opera..
[정보보안기사] 1과목 운영체제 구조 정리 및 요약 Part (1)
·
자격증/정보보안기사
Part1 ( OS )OS (Operating System)컴퓨터 시스템의 자원들을 효율적으로 관리하여, 사용자가 컴퓨터를 편리하고 효과적으로사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 ※ 목적처리 능력 향상: 시간당 작업 처리량(Throughput), 평균 처리시간 개선신뢰성 향상: 실패 없이 주어진 기능을 수행할 수 있는 능력응답시간 단축: 사용자가 시스템에 의뢰한 작업 반응 시간 단축자원 활용률 향상: 자원 공유, 상호배제를 통해 자원 효율적 활용가용성 향상: 고장과 오류가 발생해도 운영 영향 최소화발달순서시스템 분류설명1Batch Processing- 유사 작업 일괄처리, 긴 러닝 타임- 하드웨어의 효율적 이용은 가능 / 실시간 처리 미흡2Multi Programming- CPU 가동률..
[정보보안기사] 1과목 시스템 보안 정보시스템의 범위 및 이해 정리 및 요약
·
자격증/정보보안기사
CPUcpu (Central Processing Unit, 중앙처리장치)의 구조적 이해입력장치로부터 자료를 받아 연산하고 그 결과를 출력장치로 보내는 일련의 과정을 제어 및 조정하는 핵심장치CPU의 구성요소ALU각종 산술연산 (+, -, * , /)과 논리연산 (AND, OR, NOT, XOR)을 수행하는 회로RegisterCPU 내부 소규모 데이터나 중간값을 일시적으로 기억하는 고속 전용 영역* 컴퓨터 기억장치중 Access 속도가 가장 빠르다.Control Unit프로그램 코드(명령어)를 해석하고, 그것을 실행하기 위한 제어 신호 발생내부 CPU 버스ALU와 레지스터간 데이터 이동 경로 Register 종류PC (Program Counter)다음에 수행할 명령어가 저장된 주기억장치 번지 지정MAR (..
[Web] PHP기반 WebShell 인증기능 추가 (part2)
·
CERT/Web
지난 포스팅이번시간에서는 PHP 기반 간단한 명령어 실행  Web Shell 제작 (part 1)을 하였습니다.이번 포스팅에서는 지난 시간에 이어서 인증기능을 추가하는 방법입니다.저번 PHP 기반 명령어 실행 Web Shell 제작에서는 아무런 인증이 없이 WebShell이 동작이 가능합니다. 하지만 보안적으로 안전하다고 볼 수 없는 WebShell입니다. 비인가자 누군가가 WebShell 주소만 안다면 바로 동작이 가능하기 때문에 인가된 사용자만이 사용할 수 있는 인증 기능을 추가할 예정입니다.Code로 변경 $result = str_replace("\n", "", $result); }?>" method="POST"> "> ..
[Web] PHP기반 간단한 명령어 실행 WebShell 제작 (part1)
·
CERT/Web
서론오늘은 PHP를 사용해 사용자가 입력한 명령어를 서버에서 실행하고 그 결과를 웹 페이지에 출력하는 간단한 웹 페이지를 만드는 방법에 대해서 알려드리려고 합니다. 사용자가 웹 페이지에서 cmd 명령어를 입력하면 서버에서 그 명령어를 실행하고 결과를 화면에 출력하는 간단한 PHP 스크립트를 작성하였습니다.페이지 동작방식페이지의 동작방식은 [사용자 입력 → 서버 명령어 처리 → 실행 결과 반환 순서 ]로 이루어진다. 해당 과정은 사용자가 입력한 값이 서버에 전달되는 방식과 서버에서 이를 처리하고 사용자에게 출력하는 예시 흐름은 다음과 같이 동작하게 된다. 사용자가 웹 페이지에 접속한다. 사용자가 명령어를 입력한 후 Execute 버튼을 클릭하면 해당 명령어가 서버로 전송된다.서버에서 사용자가 입력한 명령어..
[Web] PHP기반으로 Web에서 파일 업로드 제작
·
CERT/Web
PHP를 이용한 Web Shell 준비PHP를 이용해서 Web Shell을 로컬환경에서 제작하기 위해서는 XAMPP나 APM_setup 같은 패키지를 이용하는 것이 매우 간단하고 효율적이다.XAMPP 설치XAMPP 같은 경우는 공식 홈페이지에서 설치가 가능하다. 운영체제에 맞는 버전을 다운로드해주면 된다.XAMPP 공식 홈페이지 -  https://www.apachefriends.org/ XAMPP Installers and Downloads for Apache FriendsWhat is XAMPP? XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distributi..
[Web] GET&POST 방식 정의 및 차이점
·
CERT/Web
HTTP 프로토콜 정의와 동작 방식HTTP는 클라이언트와 서버 간 통신에 사용하는 애플리케이션 계층 프로토콜입니다.HTTP는 다음과 같은 특징을 가지고 있습니다.Clinet-Server 구조HTTP는 Client와 Server 간 통신을 기반으로 동작한다.Client는 요청을 보내는 주체 (전화를 거는 사람, 즉 송신자) 역할을 한다.Server는 요청을 받는 주체 (전화를 받는 사람, 즉 수신자) 역할을 한다.Client는 요청(Request)를 보내고 응답이 올 때까지 대기하며 Server는 Client에서 보내는 요청을 받아 처리하고 응답을 Client에게 다시 보내주게 된다.Client-Server의 구조는 Request-Response 구조를 가지고 있다.비 연결성 (Connectionless)..
[웹 취약점] 웹 셸(Web shell) 정의 및 종류
·
CERT/Web
WebShell 이란?Web Shell은 웹 서버에 설치된 스크립트 또는 프로그램으로써 일반적으로 원격에서 웹 서버 제어, 파일 접근, 서버에 명령어 실행 할 수 있도록 도와주는 역할을 한다. 또한 Web shell을 악용하는 경우로는 웹 서버의 보안 취약점을 이용하여 공격자가 원격에서 서버를 제어하기 위해 사용하는 도구로 많이 활용되고 있다. 공격자는 웹 셸을 사용하여 서버에 악성 코드나 스크립트를 업로드하여, 데이터베이스에 접근하거나 서버에 어떤 파일들이 존재하는지 탐색하는 과정, 서버에 기밀정보들을 유출시키는 공격들을 한다.WebShell의 종류Web Shell은 다양한 형태와 기능을 가지고 있는데 대표적인 Web Shell의 형태의 종류와 그 특징에 대한 설명이다.Simple Web Shell -..
[웹 취약점] 파일 업로드 및 다운로드 취약점 개념
·
CERT/Web
Web Application의 파일 업로드 및 다운로드 기능은 사용자를 편의를 도와주지만, 보안적 측면에서 취약점이 존재할 수밖에 없다고 생각한다. 보안을 강화하기 위해서 웹 방화벽과 웹셸 모니터링 와 같은 방식으로 Web Application을 보호하는 방식으로 이루어진다.파일 업로드와 다운로드 취약점에 대한 개념과 공격자가 웹 서버를 어떠한 방식으로 공격하는지에 대한 글을 작성하고자 한다. 파일 업로드 취약점이란?파일 취약점은 Web Application에서 사용자로부터 업로드된 파일이 서버에 대한 검증이 없이 저장할 때 발생한다. 즉 공격자가 악성 파일 (web shell, script, vrius)등을 업로드하여 서버를 공격하는 방식으로 이루어진다.파일 다운로드 취약점이란?웹 애플리케이션에서 사용..
[악성코드 분석] 악성코드란 무엇인가?
·
Information Security/Malware Analysis
1.  개요4차 산업혁명이 일어나고 나서 개인, 공공, 정부, 군사를 대상으로 한 사이버 공격이 수 차례 계속 증가하고 있다.공격은 가치 있는 정보를 갖고 있는 개인이나 기관을 대상으로 잡고 있다. 사이버 공격 대다수는 공격 목표를 감염시키고자 악성 소프트웨어 (악성코드)를 사용하여 공격을 시도하고 있다. 악성 코드 분석을 하는데 필요한 지식, 기술, 도구는 악성 소프트웨어를 공격을 탐지하거나 분석, 방어하는데 필수적인 요소이다. 2. 악성코드란 무엇인가?악성코드 (악성 소프트웨어)는 악의저인 행위를 하는 코드이다. 실행파일, 스크립트, 코드 또는 다른 유형의 소프트웨어 형태가 되고 발전하고 있다. 공격자는 악성코드를 사용해 민감 정보를 홈치거나 감염된 시스템을 감시하거나 시스템 제어 권한을 가져가는 공..