분류 전체보기 117

윈도우 메모리 구조

섹션 윈도우의 PE 파일은 PE 헤더와 1개 이상의 섹션으로 구성되어 있음 섹션: 유사한 용도로 사용되는 데이터가 모여있는 영역 .text: PE의 코드가 적혀있음 .data: PE가 실행중에 참조하는 데이터가 적혀있음 PE 헤더에 저장되는 섹션에 관한 데이터 섹션의 이름 섹션의 크기 섹션이 로드될 주소의 오프셋 섹션의 속성과 권한 .text 실행 가능한 기계 코드가 위치하는 영역 읽기/실행 권한 부여 (프로그램이 동작하려면 실행할 수 있어야함) 쓰기 권한은 제거함 -> 공격자가 악의적인 코드 삽입 가능 ex) 정수 31337을 반환하는 main 함수가 컴파일 되면 554889e5b8697a00005dc3라는 기계코드로 변환되는데, 이 코드가 세그먼트에 위치하게 됨 int main() { return 3..

study/보안 2023.09.07

정적분석 vs 동적분석

정적 분석 프로그램을 실행시키지 않고 분석하는 방법 [장점] 프로그램의 전체 구조를 파악하기 쉬움 구성된 함수, 함수간의 호출관계, 사용된 API, 포함된 문자열 등을 종합적으로 살펴볼 수 있음 분석 환경의 제약에서도 비교적 자유로움 안드로이드의 apk 파일을 소프트웨어 사용하지 않고도 분석 가능 바이러스와 악성 프로그램의 위협으로부터 안전함 바이러스를 동적 분석한다면 실행한 컴퓨터가 감염될 수 있음 정적 분석은 프로그램을 실행하지 않으므로 감염이 되지 않음 [단점] 난독화(Obfuscation)가 적용되면 분석이 매우 어려워짐 난독화가 적용되면 코드가 변형되어 실행흐름을 파악하기가 어려워짐 해제(Deobfuscation)하기 위한 여러 연구가 진행되고 있지만, 여전히 난독화 서비스들을 모두 무력하하는 ..

study/보안 2023.09.07

Computer Architecture 컴퓨터 구조

컴퓨터 구조와 명령어 집합 구조 컴퓨터 구조 컴퓨터가 효율적으로 작동할 수 있도록 HW 및 SW의 기능을 고안하고, 이들을 구성하는 방법을 말함 컴퓨터의 기능 구조에 대한 설계, 명령어 집합 구조, 마이크로 아키텍처, 기타 하드웨어 및 컴퓨팅 방법에 대한 설계 등 포함 ‘컴퓨터의 기능 구조에 대한 설계’ : 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고 설계하는 분야 폰노이만 구조, 하버드 구조, 수정된 하버드 구조 명령어 집합 구조 : CPU의 명령어에 대한 설계 → CPU가 처리해야하는 명령어를 설계하는 분야 ARM, MIPS, AVR, 인텔 X86 및 x86-64 마이크로 아키텍처 : CPU의 하드웨어적 설계 → 정의된 명령어 집합을 효율적으로 처리할 수 있도록, C..

study/보안 2023.09.07

논문 읽는 법

first pass: general idea about the paper 첫번째 읽기: 논문에 대한 전반적인 내용의 틀을 이해함 second pass: grasp the paper's content, but not its details 두번째 읽기: 논문의 내용을 대략 이해함 third pass: understand the paper in depth 세번째 읽기: 논문을 심도있게 이해함 First pass - 첫번째 읽기 첫번째 읽기는 빠르게 논문을 스캔하여 어떤 내용인지를 파악하는 것이다. 5분에서 10분정도 걸릴것이다. 1. 천천히 제목, 요약과 서론을 읽어본다. 2. 각 섹션과 부섹션의 제목을 읽어본다. 나머지는 읽지 않는다. 3. 결론을 읽어본다. 4. 참고..

study/논문 2023.09.07

[xcz.kr] End Of Image

저 사진을 다운받아서 Hex Fiend로 한번 분석을 해봤습니다. 여기서 보면 헤더가 png로 보입니다. 근데 왠지 푸터도 제대로 있는지 보고 싶죠? 그래서 png 파일의 푸터인 49 45 4E 44 AE 42 60 82 를 찾으면 뒤에 더 내용이 붙어있는걸 볼 수 있습니다! 뒤에 이어지는 FF D8 FF E1 이라는 헤더는 jpeg 파일이기 때문에 뒷 부분을 잘라서 jpeg로 저장해줍니다! 그러면 다음과 같은 그림이 나오고 플래그값을 확인할 수 있습니다 :)

WARGAME/forensic 2023.07.16

[pwnable.kr] fd

ssh 로 접속해서 풀어봅시다. (저는 맥북의 터미널 이용했습니다.) 접속이 되었네용 그럼 이제 ls -al 명령어를 써서 파일을 한번 확인해보겠습니다. fd.c를 먼저 읽어봅시당 우선 이 코드를 이해하기 위해선 리눅스의 파일디스크립터에 대해서 알아보겠습니다 파일 디스크립터는 파이프, FIFO, 소켓, 터미널, 디바이스, 일반파일 등 종류에 상관없이 모든 열려있는 파일을 참조할때 씁니다. 파일디스크립터 목적 POSIX 이름 stdio 스트림 0 표준 입력 STDIN_FILENO stdin 1 표준 출력 STDOUT_FILENO stdout 2 표준 에러 STDERR_FILENO stderr [ 출처: https://dev-ahn.tistory.com/96 ] 쉽게 말해서, read(fd, buf, 32)..

WARGAME/pwnable 2023.07.15

[dreamhack] 64se64

웹사이트로 들어가면 다음과 같이 뜹니다. 여기서 html 소스를 확인해보면 다음과 같이 숨겨진 항목을 볼 수 있습니다! (저는 파일 다운 안받고 그냥 크롬 f12 눌러서 봤습니다..) 일단 ==으로 끝났으니 value는 base64 인코딩 된 것 같죠?? 그럼 cyberchef를 이용해서 디코딩해주면 다음과 같이 나옵니다 그럼 얘를 파이썬 파일로 돌려줍니다! (저는 귀찮아서 온라인 파이썬 컴파일러로 돌려줬습니다) 이렇게 플래그가 바로 뜹니다! ㅎㅎ

WARGAME/misc 2023.06.29

[dreamhack] phpreg

저번주에 진행한 이캅스 ctf에서 웹 챌린저팀이 만든 문제 + 드림핵의 babylinux 짬뽕한 문제느낌!! 텍스트 대체 + 리눅스 명령어를 우회할 수 있는지 보는 문제였습니다. 우선 접속하면 나오는 웹페이지입니다. 함께 제공되는 index.php 파일을 살펴봅시다. PHPreg Step 1 Step 2 Step 1 : Open the door & Go to Step 2 !! 우선 크게 특별한건 없어 보이는데, 우선 nickname과 password를 입력하고 버튼을 누르면 post로 정보를 넘기고 있습니다. 여기서 step2.php를 보면, PHPreg Step 1 Step 2

WARGAME/web 2023.06.28

[h4cking game] Hello, Postman

다운로드 해보면 다음과 같은 두 사진이 뜹니다 이때, hint를 봤는데 이런 사진이 있길래 흠... 1052를 이용하는건가?? 싶어서 구글에 postal code 1052 라고 쳐봤는데 그냥 별.. 쓸모 없는 정보만 떠서 패쓰~ Hello_Postman.jpg는 다음과 같이 신기한 바코드 모양이 뜨길래 일단 냅다 바코드 리더기를 접속했다. https://online-barcode-reader.inliteresearch.com/ Barcode Reader. Free Online Web Application © 2014-2023 Inlite Research, Inc. online-barcode-reader.inliteresearch.com 이 사이트에서 바코드 종류가 비슷하게 생긴게 있길래 읽어줬다! rea..

728x90