분류 전체보기 110

함수 호출 규약

개요 Dreamhack 함수 호출 규약에 대해서 공부한 것을 정리한 포스트이다. 함수 호출 규약이란? 함수 호출 규약은 함수의 호출 및 반환에 대한 약속 한 함수에서 다른 함수를 호출할 때, 프로그램의 실행 흐름은 다른 함수로 이동하고, 호출한 함수가 반환하면, 다시 원래의 함수로 돌아와서 기존의 실행 흐름을 이어나간다. 그러므로 함수를 호출할 때는 반환된 이후를 위해 호출자(Caller)의 상태(Stack frame) 및 반환 주소(Return Address)를 저장해야 한다. 또한, 호출자는 피호출자(Callee)가 요구하는 인자를 전달해줘야 하며, 피호출자의 실행이 종료될 때는 반환 값을 전달받아야 한다. x86(32bit) Architecture 특징 레지스터를 통해 피호출자의 인자를 전달하기에는..

STUDY/Pwnable 2022.10.21

[Dreamhack] Shell_basic

문제 Description 입력한 셸코드를 실행하는 프로그램입니다. main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 함수입니다. flag 위치와 이름은 /home/shell_basic/flag_name_is_loooooong입니다. 감 잡기 어려우신 분들은 아래 코드를 가지고 먼저 연습해보세요! 플래그의 형식은 DH{…} 입니다. 분석 이 문제는 shell_basic과 shell_basic.c를 준다. 맨처음 시나리오는 execve를 통해서 shell에 접근하여 하려했으나, 문제를 보면 main함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하게 한다. 따라서 Flag의 위치와 이름을 알고 있기 때..

STUDY/Pwnable 2022.10.21

[AI] 훈련 세트와 테스트 세트

머신러닝의 알고리즘 지도학습(Supervised learning) 훈련을 할 때 데이터와 정답으로 이루어진 훈련데이터를 이용하여 학습을 하게 하는 것 데이터 : 지도학습에서는 데이터를 입력이라 정의 정답 : 지도학습에서는 정답을 타깃으로 정의 특성: 입력에 사용된 값들을 특성이라 한다. 비지도학습(Unsupervised learning) 훈련을 할 때 데이터만 주고 학습을 시키는 것 훈련 세트와 테스트 세트 훈련세트 훈련에 사용되는 데이터 테스트 세트 평가에 사용하는 데이터 실습 이제 도미와 빙어를 구분하는 프로그램을 만들 것이다. fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0,31.5, 32.0,..

STUDY 2022.10.19

pwntools

개요 이번에 학교에서 새 컴퓨터에 대회에 필요한 툴들을 설치하는 김에 pwntools에 대해서 자세히 알아보는 시간을 가지게 되었다. 본 포스트는 드림핵을 포함한 pwntools에 대한 여러 정보를 재가공하여 하나로 모아 놓은 것이다. pwntools이란? python으로 작성된 exploit 작성을 간단하게 하기위해 만든 CTF framework, exploit 개발 라이브러리이다. CTF 문제를 풀면서 계속 중복되는 코드가 발생하니깐 이거를 빠르고 간편하게 작성하기 위해서 pwntools을 만든 것이라고 한다. pwntools 설치 apt-get update apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-..

STUDY/Pwnable 2022.10.11

ADS

Alternate Data Stream - macOS HFS 파일 시스템과의 호환성을 목적으로 처음 사용 - NTFS 파일 시스템에서 파일에 사용되는 기본 스트림 외에 다른 데이터 스트림을 추가로 저장할 수 있도록 하는 기능 - NTFS 파일 시스템에서는 파일이 $DATA 속성을 1개 이상 가질 수 있음 - 하나의 파일에 $DATA 속성이 여러개 올 수 있으며 추가적으로 존재하는 $DATA 속성을 ADS라고 함 ADS에는 텍스트 데이터를 은닉시키는 것은 물론, 실행 파일의 데이터 또한 은닉할 수 있기 때문에 악의적인 목적으로도 사용가능 많은 보안 솔루션들이 ADS영역까지 탐지, 하지만 최근에도 ADS를 활용하는 랜섬웨어가 존재하였음 ADS SAMPLE.txt(파일명) : Memo.txt(ADS식별자) A..

STUDY/Forensic 2021.11.17

윈도우 아티펙트 2

응용프로그램를 실행할때 속도를 향상시키기 위해 사용되는 파일 - 시스템에서 실행된 응용프로그램을 분석가능 - 프로그램 실행 횟수, 마지막 실행시간, 로드한 파일 목록 확인 가능 C:₩Windows₩Prefetch WinPrefetchView프로그램을 이용하여 Prefetch파일을 확인 가능 (FTK에서 Export했을 경우 Options-Advanced Options에서 Export한 Prefetch 파일의 경로를 설정) 프로그램 호환성 관리자와 관련된 레지스트리 하이브 파일 응용프로그램의 실행 정보 저장 응용프로그램의 실행경로, 최초 실행시간, 삭제시간 정보 등 저장 프로그램의 전체적인 타임라인 구성 가능 - 안티 포렌식 프로그램, 외부저장장치 흔적 추적 - 파일의 최초 실행시간, 삭제시간 확인 C:₩..

STUDY/Forensic 2021.11.17