일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- djangovscode
- csaw 2018
- 코로나바이러스19
- 리버싱
- vscode
- 정보보호영재원
- AndroidOS
- csaw
- Django
- 취약점점검
- 바이러스
- web
- 파이썬
- 코로나
- 파이썬웹
- webhacking.kr문제풀이
- 장고
- dreamhack
- jango
- 해킹
- 해킹문제
- 모세포
- covid19
- 장고vscode
- 코로나바이러스
- 백준
- 해커
- rev-basic-3
- 웹해킹
- 1546
- Today
- Total
목록Security (11)
Kilkat
ida로 f5를 눌러 디컴파일을 수행하면 다음과 같이 main function의 코드를 확인할 수 있음 프로그램 동작 로직을 분석하면 다음과 같음1. 사용자 입력값 대기2. 사용자 입력값 비교3. Correct 출력 or Wrong 출력 if구문에서 사용자 입력값과 비교를 하는 function(sub_7FF62D5D1000)을 따라가보면 다음과 같음사용자 입력값과 XOR연산을 통해 값을 byte_7FF62D5D3000[i] 값과 비교하고 있음 byte_7FF62D5D3000을 확인해보면 49h ~ dup(0)까지 데이터가 포함되어 있는 것을 확인 가능함 XOR의 특성인 a ^(xor) b = c, c ^(xor) b = a 해당 내용이 성립하는 것을 활용하여 복호화 시킬 수 있음(byte_7FF62D5D..
프로그램 실행시 사용자 입력을 기다리고, 입력값이 틀리면 system date가 출력됨 ghidra를 사용하여 decompile로 main을 확인해보면 아래와 같은 로직으로 구성되어 있는것을 확인할 수 있음- 성공시 쉘 획득 or 실패시 date 출력- 가장 핵심이 되는 부분은 사용자 입력값을 받는 0x18(dec=24) 값과, if 구문에서 비교 대상이 되는 해당 주소(-0x350c4512)임 if 구문에서 비교 대상이 되는 -0x350c4512 주소를 확인해보면 다음과 같음 최종 목표는 /bin/bash 쉘을 획득하는 것이 목표이기 때문에 입력값 0x18(24) 바이트 중 20바이트를 null 값으로 채운 후 if 구문에서 값 비교가 되는 0xcaf3baee 값을 넣어서 exploit 코드를 구성하면..
#define _GNU_SOURCE#include#includetypedef int(*orig_getchar_ftype)(void);int getchar(){ orig_getchar_ftype orig_getchar; orig_getchar = (orig_getchar_ftype)dlsym(RTLD_NEXT, "getchar"); puts("hooked success!!"); return orig_getchar();} sudo gcc -o hook.so -fPIC --shared hook.c #includeint main(){ getchar(); return 0;} export LD_PRELOAD=/path *절대 경로 https://umbu..
ADB 설치 및 환경 구성adb 설치 SDK 플랫폼 도구 출시 노트 | Android Studio | Android DevelopersAndroid SDK 플랫폼 도구는 Android SDK의 구성요소입니다.developer.android.com adb의 경우 Android Debug Bridge를 의미하며 앱 디버그, shell 접근 등 여러 기능들을 지원합니다.app 취약점 점검에 있어서 필수적으로 설치가 진행되어야 하는 도구 입니다. 다운로드 및 설치가 완료되면 시스템 환경 변수 새로 만들기를 통해 변수 이름 및 설치를 수행한 경로의 값을 변수 값에 입력 합니다. 이전에 시스템 환경 변수에 생성하였던 변수 이름을 위의 사진과 같이 형식에 맞춰서 새로 만들기를 진행 합니다. 환경 변수 설정이 ..
1. Linux Kernel 안드로이드의 경우 리눅스를 기반으로 만들어진 OS이다. 그로인해 당연하게도 Kernel의 경우도 Linux Kernel을 사용중이다. Kernel의 경우 하드웨어와의 통신을 담당을하고 메모리, 프로세스 등 여러 기능들을 담당하는 OS의 핵심 Layer라고 할 수 있다. 추가적으로 Linux Kernel의 경우 안정성 또한 뛰어나 다양한 기기에서 작동이 가능하다. 2. HAL(Hardware Abstraction Layer) HAL의 경우 하드웨어와 OS의 중간에서 표준화된 인터페이스를 제공한다. 이러한 특징으로 인해 개발자는 안드로이드의 하드웨어에 대해서 자세히 몰라도 개발을 쉽게 할 수 있다. 확장성또한 좋아서 새로운 하드웨어가 개발되거나 업데이트 된다면 HAL 모듈을 추가..
목표: strncmp 취약점을 이용해 flag값을 가져오기 사용 프로그램: vmware 64bit (kali linux 64bit), peda 문제: 공주대학교 영재교육원CTF 문제컴퓨터 환경: kali linux(64bit) 문제풀이 우선 되게 재밌었던 문제였다. 리눅스로 풀어야 하는 리버싱 문제여서 되게 재밌게 풀은것 같다. 우선 문제가 어떻게 작동하는지 알기 위해서 kali linux에 옮겨서 실행을 시켜봅니다.그럼 이렇게 ?????를 출력을 하고 그다음에 Pass code를 입력하는 창이 나오게 됩니다. 우선 Pass code를 모르는 상황이기 때문에 아무값이나 넣어 봤습니다. 그러니 바로 Who are U.라고 너 누구냐 라는 값을 출력하는데... 이제 저 값이 flag로 바뀌게끔 만들어보죠 g..
목표: buffer overflow 기본 개념을 이해하고 level9 풀기 사용 프로그램: putty 32bit문제: hackerschool ftz level9컴퓨터 환경: 윈도우7 32bit buffer overflow 기본 개념 https://ko.wikipedia.org/wiki/%EB%B2%84%ED%8D%BC_%EC%98%A4%EB%B2%84%ED%94%8C%EB%A1%9C 솔직히 위키피디아 만큼 쉽게 잘 설명되어 있는곳이 없는것 같아서 링크로 걸어놨다. 문제풀이 우선 putty를 이용해서 hackerschool ftz level9에 접속해 주세요그리고 파일 리스트를 볼수 있는 리눅스 명령어인 ls를 사용하게 되면 hint파일과 public_html파일 tmp파일이 나오게되는데cat hint 명..
목표: Anti Forensic의 종류인 steganography에 대해서 알고 문제를 만들어보고 실습하기 사용 프로그램: OpenPuff 문제: 컴퓨터 환경: 윈도우10 64bit 우선 압축을 풀고 스테가노 그래피 문제파일에 들어가 보니 hint.txt라는 파일이 나옵니다. zip파일 이름부터가 힌트이긴 하지만 hint.txt를 실행시켜 줍니다. hint.txt를 실행시켜 보니 정말 중요한 힌트들이 많습니다. 이 힌트들을 기반으로 하여 문제를 풀도록 하겠습니다. 우선 힌트에 나와있는대로 HXD를 이용하여 computer.jpg에 숨어있는 cpu.jpg를 찾아내도록 하겠습니다. HXD를 켜주시고 computer.jpg를 드래그 해서 옮겨줍니다.옮겨보니 어마어마하게 많은 text들과 16진수들이 있습니다...
목표: 시리얼값 찾는 법을 알기2 JNB의 역활을 알기 사용 프로그램: ollydbg110문제: 코드엔진 advance 03.exe컴퓨터 환경: 윈도우10 64bit 우선 프로그램이 어떻게 동작하는지 알기 위해서 프로그램을 실행시켜 봤습니다. 실행시켜보니 뭔가 태양권 같은? 사진과 저번 03basic.exe 문제와는 다르게 이번엔 Name칸과 Serial칸이 추가가 되어서 난이도가 한층 올라간걸 느낄수 있었다. 우선 Name엔 CodeEngn을 넣고 Serial에는 아무런 값이나 넣어서 실행시켜 봤습니다.매정한 녀석... 바로 틀렸다는 메세지 박스를 뿜어냅니다...여기서 우리는 advance 03.exe 이라는 이 프로그램이 어떻게 작동하는지 알수 있게 되었습니다. 1. Name과 Serial 입력2. ..
목표: 포렌식 수사에서 유용하게 사용되는 prefetch를 이해하고 그와 관련된 툴 사용법을 익히자 사용 프로그램: winprefetchview 64bit컴퓨터 환경: 윈도우10 64bit prefetch특징 1: 윈도우 xp이후 즉 윈도우 7부터 새로 생긴 기능이다. 부팅을 하거나 프로그램을 시작할때 시작하는 속도를 빠르게 하기 위해서 만들어졌다.2: prefetch 파일은 최대 128개의 파일만 생성시킨다. 만약 새로운 프로그램이 실행되면 가장 오래전에 사용된 프로그램의 prefetch를 삭제시키고 새로운 프로그램의 prefetch가 기록된다.3: prefetch 파일의 확장자는 pf이다.4: 모든 Prefetch 파일은 %SystemRoot%\Prefetch 이 경로에 저장된다.5: 기본적인 파일 ..