전체 글 147

메모리 포렌식

메모리 포렌식 목적 - 프로세스의 행위 탐지 - 네트워크 연결 정보 - 사용자 행위 - 복호화, 언패킹, 디코딩된 데이터 - 패스워드와 암호키 획득 메모리 포렌식 대상 - 물리메모리 - 페이지 파일 - 하이버네이션 파일 물리 주소 확장(PAE, Physical Address Extension) - 물리적 주소 지정 비트를 32 비트 -> 36비트 확장(4GB -> 64GB) - 접근 가능한 물리 주소 공간 증가 bcdedit (BCD, Boot Configuration Data) 윈도우 2003 이전에서 PAE 설정 - %SystemDrive%\boot.ini 파일에 /PAE 스위치 추가 - 확장된 주소 공간 접근을 위해 AEW(Address Windowing Extensions) API 사용 - PAE..

디지털 포렌식 2022.11.18

ESRC 보안 동향 보고서 - 최신 보안 동향

1. 네이버 개인정보 수정 페이지를 위장한 피싱 페이지 주의! '네이버 계정이 불법 도용되고 있습니다.' 라는 제목의 피싱 메일이 유포되고 있다. 이메일 내 비밀번호 변경하기 버튼으로 사용자의 클릭을 유도한다. 클릭 시, 공격자가 제작해 놓은 피싱 페이지로 이동하게 된다. 해당 피싱 페이지는 기존 피싱 메일이 네이버 로그인 페이지를 위장했던 것과 달리 네이버 내 정보 페이지로 위장하고 있다. 또한 사용자의 의심을 피하기 위해 일부 버튼은 실제 페이지에서 동작하는 것처럼 보이도록 제작해놓았다. 그러나 2022년 2월 부로 내 정보 페이지가 네이버 ID 페이지로 변경되어 더 이상 해당 명칭을 사용하지 않는데 공격자는 해당 사실을 모르는 듯 예전 명칭으로 페이지를 제작해놓았다. -> 서비스 업데이트를 제대로 ..

기술스터디 2022.11.13

8주차 스터디

참조 리턴 C언어의 함수 리턴 - 함수는 반드시 값만 리턴 - 기본 타입 값 : int, char, double 등 - 포인터 값 C++의 함수 리턴 - 함수는 값 외에 참조 리턴 가능 - 참조 리턴 - 변수 등과 같이 현존하는 공간에 대한 참조 리턴 - 변수의 값을 리턴하는 것이 아님. find()는 값이 아닌 공간을 리턴하기 때문에 'a' 가 아닌 다른 문자를 저장할 수 있다. name 배열에 M i k e \0으로 저장돼있었는데 find 함수와 ref가 각각 name[0]와 name[2] 위치를 참조해서 다른 문자를 리턴한다. 복사 생성자 1. 얕은 복사 (swallow copy) - 객체 복사 시, 객체의 멤버를 1:1로 복사 - 객체의 멤버 변수에 동적 메모리가 할당된 경우 -> 사본은 원본 객..

C++ 2022.11.13

부팅과 데이터 저장/전송 & 부팅 절차

부팅 절차 1. 전원 버튼 누름 - 버튼 누르면 전원 공급기는 외부 전압을 낮은 전압으로 변환해서 공급함. - 메인보드의 클록 발생기는 전압이 전달되면 주기적으로 클록 발생 - 클록의 주기에 따라 컴퓨터 시스템 동작 2. ROM BIOS 로드 - 클록은 CPU로 전달 - CPU는 메인보드의 ROM BIOS를 메모리에 로드 후, ROM BIOS 실행함. 3. POST 작업 전 기본 테스트 - ROM BIOS의 부트 프로그램 실행 - POST 작업 수행을 위한 기본 테스트 - 테스트 결과 = ROM BIOS에 저장된 값. -> POST 작업 수행 4. POST 단계 (Cont'd) 1단계 - 시스템 버스에 특정 시그널을 보내 이상 유무 확인 2단계 - RTC(Real-Time Clock)/NVRAM 테스트 ..

디지털 포렌식 2022.11.08

게임핵의 원리에 대해 알아보자 (1) - Wall Hack 편

Wall Hack(월핵) : 벽 너머의 적을 보여주어 위치를 알 수 있도록 한다. 구현 방법은 그래픽 렌더링 라이브러리마다 조금씩 다르다. 해당 보고서에서는 Micosoft Direct X로 개발된 게임의 월핵을 구현하는 방법을 소개하고있다. Z Buffer (Depth Buffer) D3D9에서 월핵을 구현하기 위해선 렌더링에 사용되는 Z Buffer의 개념을 이해해야 한다. 이는 렌더링할 때 어떤 물체가 보여야 할지에 대한 여부를 판별하기 위해 사용되는 방법 중 하나다. 어떤 물체가 그려질 때 만들어진 픽셀의 깊이 정보(z좌표)를 저장하는 z버퍼(깊이 버퍼) 도형을 S2, S1, S3의 순으로 그리고 있다. 1. 아무것도 그리지 않은 초기 Z Buffer 상태 2. S2 도형을 그리고 난 후 3. S..

기술스터디 2022.11.06

껄껄껄 7주차 스터디

이번 주 배운 내용 : 객체 치환 및 객체 리턴, 참조 변수, 참조에 의한 호출, vector 실습 1. 객체 치환 및 객체 리턴 - 동일한 클래스 타입의 객체끼리 치환 가능 - 객체의 모든 데이터가 비트 단위로 복사된다. c1 객체의 반지름이 5에서 30으로 바뀐다. 두 객체는 내용물만 다를 뿐이지 독립된 공간을 유지한다. -객체 리턴 -객체의 복사본 리턴 객체 tmp를 리턴하는 getCircle()을 반지름이 1인 객체 c에 복사하여 c의 반지름을 30으로 치환한다. 2. 참조 변수 참조 변수 선언 - 참조자 & - 이미 존재하는 변수에 대한 다른 이름(별명)을 선언 - 참조 변수는 이름만 생기고, 새로운 공간을 할당하지 않는다. - 초기화로 지정된 기존 변수를 공유한다. 객체에 대한 참조 refc가..

C++ 2022.11.05

디지털 포렌식 기초 1주차

디지털 포렌식이란? 컴퓨터 범죄와 관련하여 디지털 장치에서 발견되는 자료를 복구하고 조사하는 법과학의 한 분야. 필요성 해킹 등 컴퓨터 관련 범죄 뿐만 아니라 잉ㄹ반 범죄에서도 디지털 포렌식으로 획득할 수 있는 증거가 주요 단서가 되는 경우가 많아짐. 범죄 수사 이외의 분야에서도 활용도가 증가함. - 민사사건 - 일반 기업에서의 수요 급증 ( 내부 정보 유출, 회계 감사 등) 유형 1. 침해 사고 대응 - 실시간 - 사태 파악 및 수습 - 엄격한 입증 필요 x 전반적인 포렌식이 포함되나, 증거 추출처럼 엄격하지는 않음. 2. 증거 추출 - 사후 조사 - 범죄 증거 수집 - 엄격한 입증 필요 o 처음 수집 ~ 법정 그 어떤 데이터 위변조도 없었다. 대상 - 디스크 포렌식 -> 컴퓨터 디스크 ( 윈도우, 리..

디지털 포렌식 2022.11.01

다양한 원격 제어 도구들을 악용하는 공격자들

악성코드 설치 방식 - 스피어 피싱 메일의 첨부파일 - 멀버타이징 - 취약점 - 정상 소프트웨어 위장, 웹사이트에 업로드 설치되는 악성코드 : 인포스틸러, 랜섬웨어, DDoS Bot, 백도어 및 RAT 백도어 : 감염 시스템에 설치되어 공격자의 명령을 받아 악성 행위를 수행하고, 이를 통해 공격자는 감염 시스템을 장악할 수 있다. 이러한 백도어 유형의 악성코드는 단독 시스템뿐만 아니라 측면 이동을 통해 네트워크를 장악하여 최종적으로 기업 내의 정보를 탈취하거나 장악한 내부 시스템들을 암호화하는 공격의 중간단계로서 사용될 수도 있다. RAT - 실질적으로 백도어와 동일하나, 그만의 특징이 있다. - Remote Access Trojan / Remote Administration Tool 전자 : 감염 시스..

기술스터디 2022.10.31

실습 과제

/etc의 issue를 홈에 복사. 홈에 있는 issue를 sample 안으로 move. 홈에서 ls를 하면 sample만 남아있는 걸 볼 수 있다. issue -> issue2 로 이름 변경 issue2라는 이름으로 바꿨기 때문에 issue를 삭제하라고 하면 지울 수 없다는 문구가 나온다. issue2를 지워주고 ls로 확인해보면 sample 내에 남은 파일이나 디렉토리가 없는 것을 확인할 수 있다. root 계정밖에 없는 상태였기때문에 adduser swu로 새로운 계정을 만들어줬다. 소유권을 root -> swu로 변경했다. Group도 root -> swu로 변경했다. su(switch user) 명령어로 root 계정에서 swu 계정으로 옮겼다. 현재 사용자 계정 출력 표준 출력/표준입력/표준에..

Linux 2022.10.31