
What I did💡 flask app 띄우기💡 git command 실습What I learn💡 E-COPS github에서 자신의 레포지토리로 fork💡 fork로 생성한 본인 계정의 저장소에서 로컬로 clone 세션 올라와있는 페이지에서 fork 해준 뒤, 해당 저장소를내 로컬이랑 연결 (폴더 새로 만들기 아까워서 저번에 실습한거 remote 지워주고 새로 해줬다)하고 clone까지 마쳐주면 폴더에 저렇게 clone된다 💡 VScode에서 app.py의 코드를 수정 코드 수정해주고! 💡 수정한 코드를 commit 명령어를 이용해 수정사항 반영💡 push 명령어를 통해 commit한 내용을 github에 반영 나는 콘솔보다는 vsc 안에 있는 이 기능을 사용하기에...vsc git 관리..

https://dreamhack.io/wargame/challenges/3 basic_exploitation_001Description 이 문제는 서버에서 작동하고 있는 서비스(basic_exploitation_001)의 바이너리와 소스 코드가 주어집니다. 프로그램의 취약점을 찾고 익스플로잇해 "flag" 파일을 읽으세요. "flag" 파일의 내용dreamhack.iobasic_exploitation_001먼저 다운받은 파일에서 c 코드를 열어보자gets()함수를 이용하여 버퍼 오버플로우로 read_flag 함수를 실행하면 되겠구나라는 것을 감잡을 수 있다 gdb로 실행해준 뒤, info functions 하면 read_flag 함수의 위치를 알 수 있다 함수의 주소 - 0x080485b9 코드 작성해주..

리버싱리버스 엔지니어링의 준말완성된 소프트웨어나 시스템을 분석하여 동작이나 구조를 파악하는 것을 의미 어셈블리어CPU가 이해할 수 있는 기계어(Machine Code)에 가장 가까운 저수준 언어(Low-level language) 많은 프로그램이 전처리 - 컴파일 - 어셈블리어 - 기계어 - 링킹 후 exe 파일 순으로 만들어진다. gcc를 이용한 표준적인 단계 ELF & PE ELF리눅스, 유닉스에서 사용하는 실행 파일 형식보통 .so, .out, .elf로 끝난다. PE윈도우에서 사용하는 실행 파일 형식보통 .exe, .dll, .sys로 끝난다. .exe vs .dll exe는 하나의 독립적인 프로그램으로서 독립적으로 실행되고, Main을 포함하여 실행 가능하다.dll은 코드나 기능을 공유하는 라..

Ghidra란?미국 국가안보국에서 개발한 리버싱 툴디스어셈블러와 디컴파일에 있어 강력하다. - 디스어셈블러 : 실행 파일을 분석하여 어셈블리 코드로 변환해줌- 디스컴파일러 : 어셈블리 코드를 사람이 읽기 쉬운 C언어 스타일 코드로 변환해줌 실습 문제https://dreamhack.io/wargame/challenges/667 Simple Crack MeDescription Exercise: Simple Crack Me에서 실습하는 문제입니다. 이 문제는 사용자에게 숫자를 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너dreamhack.io 문제를 읽어보니, 그냥 비밀번호가 정답인지 아닌지 출력해주는 프로그램을 리버싱 툴로 분석하는 것 같..
What I did💡 어셈블리어 기초, IDA 실습, Ghidra 실습, heat Engine 실습 What I learn 💡 https://pokpung-ganji.tistory.com/entry/3%EC%A3%BC%EC%B0%A8-%EB%A6%AC%EB%B2%84%EC%8B%B1-%EA%B8%B0%EC%B4%88-%EC%9D%B4%EB%A1%A0 [3주차 - 리버싱 기초 이론]리버싱리버스 엔지니어링의 준말완성된 소프트웨어나 시스템을 분석하여 동작이나 구조를 파악하는 것을 의미 어셈블리어CPU가 이해할 수 있는 기계어(Machine Code)에 가장 가까운 저수준 언어(Lopokpung-ganji.tistory.com💡 https://pokpung-ganji.tistory.com/entry/3%..

[1단계]프로세스 열기!File - Open Process - 아래 창에서 Tutorial 버튼 클릭 - Open [2단계]튜토리얼 창의 Health 값 찾아서 수정하기처음에는 100으로 시작하니까 100을 scan해보자 다음에 줄어든 숫자(내 시도의 경우에는 96이었다)를 스캔하나로 줄어든 것을 보니 메모리 위치를 찾은 것 같다!value를 더블클릭 한 후 1000으로 바꾸어주면 성공! [3단계]2단계는 초기 값을 알았을 때 값을 수정하는 방법이었다.이번에는 초기 값을 모를 때 메모리 위치를 어떻게 찾을 수 있는지에 대해 알아보자!이번에는 Scan Type을 Unknown initial value로 체크해주고 다시 시작 Hit me 버튼 누르다 보면 잘 모르겠지만 초록색이 계속 감소하는게 보인다.Dec..
What I did💡 포렌식 개념 실습 - 여러 종류의 포렌식이란 뭔지... WireShark 실습, FTK Imager 실습, Volatility 실습 What I learn💡 https://pokpung-ganji.tistory.com/entry/2%EC%A3%BC%EC%B0%A8-%EB%94%94%EC%A7%80%ED%84%B8%ED%8F%AC%EB%A0%8C%EC%8B%9D-%EA%B8%B0%EC%B4%88-%EC%9D%B4%EB%A1%A0-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%A9%94%EB%AA%A8%EB%A6%AC [2주차 - 디지털포렌식 기초 이론] 디..

디지털 포렌식이란?Digital + ForensicForensic : 법의학, 법률+의료! / 부검 디지털 포렌식의 대상디스크 포렌식 : 컴퓨터 디스크 (윈도우, 리눅스, MacOs / 개인, 서버, 클라우드)메모리 포렌식 : 컴퓨터 메모리 (RAM)네트워크 포렌식 : 네트워크 패킷, 네트워크 로그, 네트워크 설정모바일 포렌식 : 모바일 디바이스 / IoT디바이스기타 : 데이터베이스 포렌식, 암호 포렌식, 회계 포렌식, 소스코드 포렌식 등 네트워크란?데이터 통신 체계 - 물리적인 측면(선, 장치)부터 물리적이지 않은 측면(메세지, 규약)까지 모두 포함 : 통신 과정 전체를 아우르는 개념 프로토콜 Protocol데이터를 주고받기 위한 약속HTTP (Hyper Text Transfer Protocol)TCP..

Volatility란?메모리 덤프 분석을 도와주는 업계 표준 디지털 포렌식 프레임워크설치형 어플리케이션이 아니고, python 기반의 CLI 도구메모리 내의 실행 프로세스, 네트워크 연결 정보, DLL 및 핸들 정보, 레지스트리 키 등 중요한 데이터 복구 및 분석에 활용 실습 환경 세팅하기git clone https://github.com/volatilityfoundation/volatility3.git클론을 통해 다운로드 cmd에서 가상 환경을 설정해주자!volatility3 폴더에서 아래의 명령어들을 cmd 라인에 작성python -m venv venv # 가상환경 만들기venv\Scripts\activate # 가상환경 활성화문제를 통해 직접 실습해보자!volatility3 폴더 안에 풀어야 할 문..

https://dreamhack.io/wargame/challenges/411 blind sql injection advancedDescription Exercise: Blind SQL Injection Advanced에서 실습하는 문제입니다. 관리자의 비밀번호는 "아스키코드"와 "한글"로 구성되어 있습니다. 문제 수정 내역 2023.07.20 Dockerfile 제공dreamhack.io SQLMap 쓰는 법sqlmap 폴더 위치로 간 후 아래 명령어 실행을 통해 sqlmap을 실행할 수 있다.python sqlmap.py SQLMap 기본 옵션-u : 테스트할 url을 지정-v : 로그 상세 출력-D "board" : 특정 데이터베이스를 지정. board 데이터베이스를 지정한다는 뜻--tables :..