분류 전체보기
-
크로스 컴파일러 설치OS 2018. 6. 15. 03:59
Cygwin_x86 (32bit) 설치다운로드 : https://www.cygwin.com 미러링 사이트 선택- ftp://ftp.kr.freebsd.org 패키지 파일 설치+Develbinutils - Only Binarybison - Only Binaryflex - Only Binarygcc-core - Both Source and Binarygcc-g++ - Only Binarylibtool - Only Binarymake - Only Binarypatchutils - Only Binarytexinfo - Only Binary +Libslibiconv-devel - Only Binarylibintl-devel - Only Binarylibgmp-devel - Only Binarylibmpfr-dev..
-
개요OS 2018. 6. 15. 03:29
계획1. 디바이스 드라이버 제작2. 디바이스 드라이버 제작을 통한 커널 제작3. 디바이스 드라이버 추가 제작 & 커널 기능 추가 - 반복 이를 통해 펌웨어 개발 & 어플리케이션 개발 능력 향상 OS 기능- 주변 장치 제어- 파일 시스템 관리- 동적 메모리 관리- 멀티태스킹 처리- 동기화 처리 OS 개발 필요지식- 하드웨어 지식- 어셈블리어- C 언어- OS 이론- 컴파일러, 링커, 도구 사용법 환경 구축- cygwin 32bit 설치- binutils 설치- gcc 크로스 컴파일러 설치- nasm 설치 ( 어셈블러 )- eclipse 설치 ( IDE )- qemu 설치 ( 가상머신 )
-
OSX 초기설정etc 2018. 5. 22. 23:43
iTerm2 설치git clone https://github.com/mhartington/oceanic-next-iterm.git Sublime3 설치git clone https://github.com/voronianski/oceanic-next-color-scheme.git Package Control -> Oceanic Next Color SchemeSublime Text -> Preferences -> Settings - User{ "color_scheme": "Packages/Oceanic Next Color Scheme/Oceanic Next.tmTheme", "theme": "Oceanic Next.sublime-theme"} adb 설치ruby -e "$(curl -fsSL https://r..
-
Ubuntu 초기설정etc 2018. 5. 22. 23:10
한영키 설정sudo apt-get install dconf-editororg -> gnome -> desktop -> wm -> keybindingsswitch-input-source -> 'Hangul' pwntools 설치sudo apt-get install python2.7 python2.7-dev python-pippip install --upgrade pippip install --upgrade --user pwntoolssudo apt-get install libcapstone-dev zsh(oh-my-zsh) 설치sudo apt-get install zshchsh -s /usr/bin/zsh sudo apt-get install curl gitcurl -L https://raw.github...
-
LEVEL 17WARGAME/FTZ 2018. 5. 7. 18:40
level17 FTZ LEVEL17 [Summary] 소스코드의 11 행에서 fgets 함수를 통해 44(40+4) 바이트 만큼 버퍼를 복사한다. 소스코드의 9 행에서 call 함수 포인터 변수에 printit 함수의 주소를 넣기 때문에 buf 배열 이상의 데이터를 덮어 씌울수 있다. 소스코드의 13 행에서 call 함수 포인터를 호출하기 전 fgets 함수를 통해 call 함수 포인터 변수가 가리키는 printit 함수 주소가 아니라 shell 코드가 위치한 환경변수의 주소로 변조함으로써 level18(3098) 권한의 쉘을 획득하였다. [Sourcecode] 1. #include 2. 3. void printit() { 4. printf("Hello there!\n"); 5. } 6. 7. main(..
-
LEVEL 16WARGAME/FTZ 2018. 5. 6. 21:21
level16 FTZ LEVEL16 [Summary] 소스코드의 16 행에서 fgets 함수를 통해 44(40+4) 바이트 만큼 버퍼를 복사한다. 소스코드의 14 행에서 call 함수 포인터 변수에 printit 함수의 주소를 넣기 때문에 buf 배열 이상의 데이터를 덮어 씌울수 있다. 소스코드의 17 행에서 call 함수 포인터를 호출하기 전 fgets 함수를 통해 call 함수 포인터 변수가 가리키는 printit 함수 주소가 아니라 shell 함수의 주소로 변조함으로써 level17(3097) 권한의 쉘을 획득하였다. [Sourcecode] 1. #include 2. 3. void shell() { 4. setreuid(3097,3097); 5. system("/bin/sh"); 6. } 7. 8...
-
LEVEL 15WARGAME/FTZ 2018. 5. 5. 00:57
level15 FTZ LEVEL15 [Summary] 소스코드의 7 행에서 fgets 함수를 통해 44(40+4) 바이트 만큼 버퍼를 복사한다. 소스코드의 14~18 행에서 check 포인터 변수의 값이 0xdeadbeef 이면 setreuid 함수와 system 함수를 통해 level16(3096) 권한의 쉘을 획득할 수 있다. check 포인터 변수 앞까지 Dummy 데이터 (40)로 덮고 check 포인터 변수의 값을 0xdeadbeef 가 위치한 환경변수로 변조함으로써 level16(3096) 권한의 쉘을 획득하였다. [Sourcecode] 1. #include 2. 3. main() 4. { int crap; 5. int * check; 6. char buf[20]; 7. fgets(buf,45..