전체 글 122

드림핵 > shell_basic

shellcode, opcode 등등이 머리를 어지럽게 한다. 하지만 계속 매달린 끝에 엇! 갑자기 뭔가 이해가 되었다. 문제 파일을 받으면 shell_basic.c 파일을 확인할 수 있다. main 함수가 아닌 다른 함수들은 풀이와 관련이 없다고 하니, main만 잠깐 보자 읽기, 쓰기, 실행 권한을 가진 메모리 영역을 할당해 셸코드를 저장한다. 우리는 드림핵 강의에서 아래의 코드를 배웠다. // File name: orw.c // Compile: gcc -o orw orw.c -masm=intel __asm__( ".global run_sh\n" "run_sh:\n" "push 0x67\n" "mov rax, 0x616c662f706d742f \n" "push rax\n" "mov rdi, rsp #..

공부/시스템 2024.01.04

2023년 회고록

그 동안 계획만 세워봤지 회고록은 처음인데요! 원래는 공부한 내용을 정리하고 싶었는데, 플젝이 끝남 + 취준 으로 놀아버렸기 때문에 이번 주 글을 패스할까 고민하다가 다른 분이 회고록을 작성하신 것을 보고 이 정도는 금방 작성할 수 있겠다~ 라는 생각으로 글을 쓰기 시작했습니다ㅎㅎ 1월 ~ 4월 중반은 사실 많은 일을 하지 않았어요. 다만 영어 학원 아르바이트를 했고, 포기했지만 정보보안기사도 잠깐! 공부했습니다. 4월 후반 ~ 5월 중반은 정말 바쁜 날을 보냈습니다! 부족한 실력이지만, 선배들에게 물어물어 회사의 인턴도 지원을 해보고 BoB도 지원했습니다! 시험기간과 회사 인턴 지원, BoB 지원 시기가 기가 막히게 맞물려 정말 정신 없었어요. 회사 자소서를 쓰기 위해 얼굴 딱 한 번 봤을 뿐인 선배에..

잡글/목표 2023.12.24

안드로이드의 저장공간에 대해

안드로이드 취약점 분석을 하며 SharedPreferences에 대해 알게 되었고, 안드로이드는 어떻게 저장 공간이 이루어져 있는 지 궁금해 오늘 공부했다. 내가 이해한 것을 바탕으로 이를 정리해보겠다. 안드로이드는 내부 저장소(Internal Storage)와 외부 저장소(External Storage)를 제공한다. Internal Storage (시스템에 의해서 보호됨) External Storage (공유될 수 있음) Built in non-removable storage (내장 메모리에 박혀있음) SD card 빨간색 → 내장 메모리, 파란색 → 외장 메모리 내부 저장소 다른 앱의 공간에 접근이 불가능한 샌드박스 공간 앱 삭제 시 앱 개별공간에 존재하는 앱 개별 파일들이 모두 제거 (ex) Sha..

녹스 vt 기능 비활성화

집에서도 일을 하기 위해 녹스를 설치했는데, vt 기능이 비활성화 되어있다고 실행이 안되었다!ㅠㅠ 해결한 방법은 아래와 같다. https://leomoon.com/downloads/desktop-apps/leomoon-cpu-v/ LeoMoon CPU-V Introduction LeoMoon CPU-V is the only application on the Internet... leomoon.com 위의 링크에서 프로그램을 다운받아 실행한다. 나같은 경우에는 아래처럼 떠있었다. 바이오스에 들어가 vt-d 옵션을 켜주었지만, 여전히 x로 표시되었고 녹스 역시 실행되지 않았다. 녹스 매니저에서 안드로이드 12와 안드로이드 7 버전을 생성했다. 젤 중요한 것은 'Windows 기능 켜기/끄기' 설정에서 Lin..

공부 2023.12.03

frida 설치

frida란.. frida를 설치해봅시다 pip install frida pip install frida frida-tools frida --version 설치한 frida 버전을 확인한다. getprop ro.product.cpu.abi 에뮬레이터의 비트를 확인한다. 설치한 frida 버전 & 에뮬레이터의 비트와 맞는 파일을 다운 받고, 압축 풀기를 진행한다. adb push frida-server-16.1.3-android-x86_64 /data/local/tmp 다운 받은 파일을 옮겨준다. adb shell cd /data/local/tmp ls -al chmod 777 frida-server-16.1.8-android-x86_64 frida-server-16.1.3-android-x86_64 파일..

pwngdb - 2

pwndbg는 주요 메모리들의 상태를 가독성 좋게 표현해준다. 크게 4개의 영역으로 구분된다. REGISTERS : 레지스터의 상태를 보여줌 DISASM : rip부터 디스어셈블된 결과를 보여줌 STACK : rsp부터 스택의 값들을 보여줌 BACKTRACE : 현재 rip에 도달할 때까지 어떤 함수들이 중첩되어 호출됐는지 보여줌 main 함수에 중단점을 걸고, 실행했다. disassemble 명령어에 함수 이름을 인자로 전달하면 해당 함수가 반환될 때 까지 모두 디스어셈블 해 보여준다. ni와 si는 어셈블리 명령어를 한 줄 실행한다. ni는 내부로 들어가지 않지만, si는 내부로 들어간다. 현재는 rip가 0x401176을 가르키고 있다. 현재는 다음 줄로 rip가 이동한 것을 확인했다. printf..

공부/시스템 2023.11.17