Volatility 메모리 포렌식 도구, 오픈소스, CLI 인터페이스 버전 2주로 사용 (버전 3까지 공개됨) ▶ 오픈소스이므로 안전성의 문제 * CLI 인터페이스(command-line interface_명령 줄 인터페이스) : 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어짐. volatility 명령어 정리 [ 운영체제 식별 ] imageinfo : 메모리 덤프의 운영체제를 식별 [ Process 검색 ] pslist : 시간 순서대로 보여줌 ▶ 시간 흐름을 파악하기 좋은 명령어 psscan : 숨겨진 프로세스 출력 가능 pstree : PID, PPI..
분류 전체보기
참조리턴 [ 참조리턴 ] C 언어의 함수 리턴 : 함수는 반드시 값만 리턴 기본 타입 값 : int, char, double 등 포인터 값 C++ 의 함수 리턴 : 함수는 값 외에 참조리턴 가능 참조리턴 : 변수 등과 같이 현존하는 공간에 대한 참조 리턴으로, 변수의 값을 리턴하는 것이 아님 [ 값을 리턴하는 함수 VS 참조를 리턴하는 함수 ] 문자 값을 리턴하는 get() char c ='a'; char get() {// char 리턴 return C;// 변수 c의 문자('a') 리턴 } char a = get();// a = 'a'가 됨 get() = 'b';// 컴파일 오류 char 타입의 참조(공간)을 리턴하는 find() char c = 'a'; char& find() {// char 타입의 ..
도구 설치, 환경 설정, 문제 volatility 프로그램 설치 윈도우즈 터미널 설치 시스템 환경변수 설정 터미널 명령어 일부 학습 : 주요 명령어) cd, mkdir, echo, cat 문제 다운로드 : Volatility wiki - Memory Samples - malware-cridex / CTF-d-GrrCON 2015 volatility? : 메모리 관련 데이터를 수집해주는 도구 volatility에서 사용하는 명령어 imageinfo : 메모리 덤프의 운영체제를 식별 filescan : 메모리 내에 존재하는 모든 파일에 대한 정보 dumpfiles : 프로세스의 메모리 덤프 추출 ▶ strings로 변환해서 키워드 검색 procdump : 프로세스의 exe 파일 추출 Process 관련) p..
디지털 포렌식이란 무엇인가? 정의 : 컴퓨터 범죄와 관련하여 디지털 장치에서 발견되는 자료를 복구하고 조사하는 법과학의 한 분야 법과학은 포렌식이라고 할 수 있고 포렌식은 과학적으로 연구된 기법을 활용하여 수사에 사용하는 과학 수사의 의미를 지님 따라서 디지털 포렌식이란? 디지털, 어떤 컴퓨터 장치가 들어가는 수많은 디바이스를 대상으로 포렌식 즉, 어떤 과학 수사를 하는데 증명된 과학적 기반이 있는 기법들을 이용해서 컴퓨터와 관련된 디바이스에서 정보를 수집하고 추출해서 범죄 수사 등의 분야에 이용하는 영역 디지털 포렌식의 필요성 해킹 등 컴퓨터 관련 범죄 뿐만 아니라 일반 범죄에서도 디지털 포렌식으로 획득할 수 있는 증거가 주요 단서가 될 수 있는 경우가 많아짐 범죄 수사 이외의 분야에서도 활용도가 증가..
객체 치환 및 객체 리턴 [ 객체 치환 ] 연산자를 이용하여 새로운 객체에 원본 객체를 대입하는 대입문이라고 생각하면 이해하기 쉬움. 동일한 클래스 타입의 객체끼리 치환 가능 객체의 모든 데이터가 비트 단위로 복사 치환된 두 객체는 현재 내용물만 같을 뿐, 독립적인 공간을 유지 Circle c1(5); Circle c2(30); c1 = c2; // c2 객체를 c1 객체에 비트 단위로 복사하여 c1의 반지름은 30이 된다. [ 객체 리턴 ] 객체의 복사본을 리턴한다. Circle getCircle() { Circle tmp(30); return tmp;// 객체 tmp를 리턴 } Circle c;// c는 반지름 1 c = getCircle();// tmp 객체가 복사본 c에 치환하여 c반지름은 30이..
문제 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다. 예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다. 입력 첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다. 출력 첫째 줄에 검증수를 출력한다. 풀이과정 [C언어 코드] #define _CRT_SECURE_NO_WARNINGS #include in..