분류 전체보기 35

FPS 오픈소스 게임핵 개발과 시큐어 코딩 (2) - 치트엔진 구조체 파악

Target* AssaultCube 큐브 엔진을 탑재한 오픈 소스 1인칭 비디오 게임 어릴 때 했던 미니건즈 같은 느낌인데 멀티까지 된다. 소스코드 - https://github.com/assaultcube/AC구조체 파악Memory View - Dissect data/structuresMemory View 버튼을 누르면 Memory Viewer를 실행할 수 있다.Tools - Dissect data/structures여기에서 구조체를 찾아볼 수 있다.찾았던 체력포인터의 위치를 기반으로 구조체를 분석해보자00841BC0을 Group 1에 입력하고 Structures - Define new Structures를 누르고 OK하면 설정했던대로 알아서 분석해준다. 구조체..

FPS 오픈소스 게임핵 개발과 시큐어 코딩 (1) - 치트엔진 간단 사용기

FPS 오픈소스 게임핵 개발과 시큐어 코딩 (1) Target * AssaultCube 큐브 엔진을 탑재한 오픈 소스 1인칭 비디오 게임 어릴 때 했던 미니건즈 같은 느낌인데 멀티까지 된다. 소스코드 - https://github.com/assaultcube/AC Build 1. Github에서 다운로드 2. 필요한 패키지들 알아서 다운로드 * Windows SDK, 빌드 컴파일 도구 v142 등등 3. 완료 Goal * 에임핵, EPS 등의 FPS 사용되는 게임핵의 원리 이해 Cheat Engine 오픈소스 기반의 메모리 스캐너/디버거인데, 대부분 게임의 치팅을 위해 사용하는 도구로 알고 있다. 어릴 적에 동물농장을 많이 해본 사람들이라면 추억이 있는 프로그램이다. 치트엔진은 공식 홈페이지에서 다운로드..

[Fuzzing 101] Exercise 2

Fuzzing 101 - Exercise 2 목표 외부 어플리케이션을 이용해 라이브러리 퍼징해보기 afl-clang-lto을 사용해서 afl-clang-fast보다 더 빠르게, 더 좋은 결과를 얻기 GDB 대신 Eclipse IDE 사용해보기 Target libexif 0.6.14 어떤 프로그램인가? exif 정보들을 편하게 파싱할 수 있도록 도와주는 라이브러리 어떤 취약점인가? CVE-2009-3895 libexif 0.6.18의 libexif/exif-entry.c에 있는 exif_entry_fix 함수(일명 태그 수정 루틴)에서 발생하는 Heap Buffer overflow는 잘못된 EXIF 이미지를 통해 공격자가 서비스 거부를 일으키거나 가능하다면 RCE가 발생합니다. CVE-2012-2836 0..

공부/Pwnable 2024.04.02

[Fuzzing 101] Exercise 1

Fuzzing 101 - Exercise 1 목표 Instrumentation을 포함해서 컴파일 해보기 Fuzzer 사용 해보기 발생한 Crash 분석하기 분석 환경 Ubuntu 20.04.6 xpdf 3.02 Xpdf 다운로드 및 빌드 cd $HOME mkdir fuzzing_xpdf && cd fuzzing_xpdf/ # Download Xpdf 3.02 wget https://dl.xpdfreader.com/old/xpdf-3.02.tar.gz tar -xvzf xpdf-3.02.tar.gz # Build Xpdf cd xpdf-3.02 sudo apt update && sudo apt install -y build-essential gcc ./configure --prefix="$HOME/fuzz..

공부/Pwnable 2024.03.25

[Fuzzing 101] 사전 준비

Fuzzing 101 시작하기에 앞서서 찾아본 사전 지식들을 정리하였다. Fuzzing이란? 퍼즈 테스팅(Fuzz testing) 또는 퍼징(fuzzing)은 (종종 자동화 또는 반자동화된) 소프트웨어 테스트 기법으로서, 컴퓨터 프로그램에 유효한, 예상치 않은 또는 무작위 데이터를 입력하는 것 / Wikipedia Fuzzer AFL(American Fuzzy Lop) / AFL++ 링크 Fuzzing 101에서 주로 사용하는 Fuzzer libFuzzer 링크 Peach Fuzzer 링크 boofuzz 링크 radamsa 링크 Honggfuzz 링크 WinAFL 링크 AFL은 Windows 환경에서 동작하지 않는데 이걸 Windows에 끌고 온 버전. 나중에 한번 사용해볼 예정 Utility Sanit..

공부/Pwnable 2024.03.15

모의해킹용 인프라 구축 #5

저번에 방화벽 설치하고 방화벽이 제대로 작동하는지 확인해보자 일단, 만든건 soc-net이니까 soc-net에 VM을 연결해주고 실행시키자. DHCP 설정도 해서 별다른 설정없이 아이피가 할당된다. 편하다. 방화벽 IP는 10.0.100.1로 설정했고, Web GUI가 제공되서 바로 접속해보면! 잘 된다. 강의대로면 pfSense를 써야하지만.. 강의대로 안따라가는 나쁜 학생이긴 하지만, 결과만 좋으면 되는거 아닐까? 취약한 환경을 구성할거기도 하고 웹서비스는 알아서 선택해서 올리면 된다. bWAPP나 DVWA 등 유명한 걸로 일단 해보고 나중에 바꾸기로 계획했다. 문제는 아무리 해도 soc-net에 연결된 linux-mint나 bWAPP 등 방화벽 아래에 있는 VM들이 라우터(VyOS, 10.0.0.1..

모의해킹용 인프라 구축 #4

조금 게을러진거 같기도 하다. 어쨌든, 방화벽 설정만 하다가 마무리 했었는데 그건 조금 미뤄두고 외부에서 접속할 필요성을 절실히 느꼈따. 매일같이 학교에 오는 것이.. 힘들다.. 설날에 집에 가면 원격으로 뭘 해볼 수가 없어서 무조건 외부에서 접속할 수 있도록 설정을 해야했었다.. 설정은 자세하게 나와있는 곳이 있어서 편하게 했다. https://blog.t8.co.kr/2020/07/esxi-67-443.html ESXi 6.7 웹인터페이스 443포트 변경 서버구축 서버관리 서버유지보수 서버업그레이드 서버백업복구 서버문제해결 장애서버복구 해킹서버정상화 blog.t8.co.kr 80 포트와 443 포트가 막혀있어서 어쩔 수 없이 변경을 하고 접속을 해보니 잘 된다. 사용하는데 지장은 없지만.. 그래도 거..

[Reversing] rev-basic-6

전 문제랑 다를게 없다. 길이는 0x12인거 같고.. byte_140003020과 byte_140003000을 한번 살펴보면.. 음! 모르겠다. 이걸 보고는 어떻게 저걸 손으로 쓸까.. 고민했다. HEX 값만 추출해서 적당히 파이썬 스크립트에 쓸 수 있게 바꿔주자! 다시 입력값을 확인하는 코드로 돌아가자 __int64 __fastcall sub_140001000(__int64 a1) { int i; // [rsp+0h] [rbp-18h] for ( i = 0; (unsigned __int64)i < 0x12; ++i ) { if ( var2[*(unsigned __int8 *)(a1 + i)] != var1[i] ) return 0i64; } return 1i64; } 해석해보자면, var2[a1[i]]..

CTF/Dreamhack.io 2022.01.24