본문 바로가기

분류 전체보기

(104)
[Forensic] N0named wargame [C]우리의 추억들 문제 풀이 이번에 풀어볼 문제는 N0named wargame 문제 중 하나인 [C]우리의 추억들문제를 풀어볼 것이다. 아래 링크를 클릭하면 N0named사이트에 연결됩니다. ctf.no-named.kr:1234/ FTK Imager - AccessData (포렌식 작업에서 발생될 수 있는 사고를 방지하기 위해 미디어 이미지를 복제하는데 사용됨.) Thumbnail Database Viewer(DB에 존재하는 썸네일을 읽을때 사용) 위 2 가지 프로그램이 필요합니다. 위의 파일을 다운로드 받고 압축을 풀면 아래와 같은 파일들이 보입니다. 먼저 AD1파일이 보이므로 FTK Imager을 사용해 일단 열어본다. 문제에서 실수로 중요한 사진들을 지웠다고 했으니까 휴지통에 파일이 들어가 있을 확률이 있어 root/Recyc..
[이제 시작이야! 디지털 포렌식 : THE BASICS -8장 인터넷과 이메일-] www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994774206&orderClick=LEa&Kc= 이제 시작이야 디지털 포렌식 - 교보문고 디지털 포렌식 입문을 위한 첫걸음『이제 시작이야! 디지털 포렌식』. 이 책은 디지털 포렌식에 새로이 입문하는 사람들에게 탄탄한 기초를 제공하는 입문서이다. 디지털 포렌식이 무엇인지, www.kyobobook.co.kr 8장 웹 서핑, 채팅, 이메일, 소셜 네트워크 등이 어떻게 작동하는지 그리고 어디에 흔저거을 남기는지 이해한다. [인터넷 개요] URL은 호스트, 도메인 이름, 파일이름의 세 부분으로 구성되어 있다. ex)http://www.digitalforensics.co..
[이제 시작이야! 디지털 포렌식 : THE BASICS -5장 윈도우 시스템에서의 증거 수집-] www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994774206&orderClick=LEa&Kc= 이제 시작이야 디지털 포렌식 - 교보문고 디지털 포렌식 입문을 위한 첫걸음『이제 시작이야! 디지털 포렌식』. 이 책은 디지털 포렌식에 새로이 입문하는 사람들에게 탄탄한 기초를 제공하는 입문서이다. 디지털 포렌식이 무엇인지, www.kyobobook.co.kr 5장 윈도우 시스템에서의 증거 수집에서는 정보, 증거의 흔적, 목적 그리고 포렌식 관점에서의 중요성에 대해 살펴본다. [삭제된 데이터] 삭제된 데이터는 다른 파일로 덮어써지기 전까지 그대로 남아있게 된다. 그리고 파일이 덮어써지기 전까지 상당한 시간이 걸릴 수..
[Forensic] N0named wargame infect 문제 풀이 이번에 풀어볼 문제는 N0named wargame 문제 중 하나인 infect문제를 풀어볼 것이다. 아래 링크를 클릭하면 N0named사이트에 연결됩니다. ctf.no-named.kr:1234/ 일단 문제를 풀기 전에 FTK Imager - AccessData (포렌식 작업에서 발생될 수 있는 사고를 방지하기 위해 미디어 이미지를 복제하는데 사용됨.) WinPrefetchView - NirSoft (프리패치 파일을 분석하기 위해 사용하는 프로그램) DBbrowser for SQLite (DB파일 읽는 프로그램) 위 3가지 프로그램이 필요합니다. 그럼이제 문제 풀이를 시작 하겠습니다. 문제는 위와 같습니다. image파일을 다운받아서 FTK imager에서 파일을 열어줍니다. 그리고 Desktop이랑 Do..
[Pwnable] HackCTF ROP 문제 풀이 이번에 풀어볼 문제는 https://ctf.j0n9hyun.xyz/ 에 Pwnable 문제인 ROP문제이다. 문제에서 준 파일을 열어보면 rop와 함께 libc.so.6이 함께 들어있는걸 확인할 수 있는데 이 라이브러리 소스를 이용해 상대주소인 offset 이용해 함수의 위치를 구하라는 의미인거 같고 문제의 제목인 ROP를 생각하며 풀어야 겠다. 접속하면 입력을 받고 Hello, World!를 출력하고 종료되는 모습을 확인할 수 있다. 보호기법은 NX-bit가 적용되고 있고(쉘코드 사용x) 부분적으로 RELRO가 적용되고 있다. 추가적으로 libc.so.6의 보호 기법을 확인해 보면 위와 같다. main ida를 이용해 main을 살펴보면 위와 같다. vulnerable_function vulnerabl..
[Pwnable] HackCTF Gift 문제 풀이 이번에 풀어볼 문제는 https://ctf.j0n9hyun.xyz/ 에 Pwnable 문제인 Gift문제이다. 보호 기법은 NX-bit가 적용되어 있다. 파일을 실행해 보면 위와 같이 입력을 2번 받는다. ida로 main을 분석해 보면 - binsh과 system변수의 주소 값이 출력 - fgets로 s변수에 128bytes까지 표준입력을 받음 - printf함수로 s변수 출력(%c, %d와 같은 포맷 지정자 지정이 없으므로 FSB취약점 존재) - gets함수로 표준 입력을 받음(bof취약점 존재) 이 파일을 실행 시킬때 마다 system의 주소값이 변경되는 것으로 보아 ASLR이 적용되어 있고 ASLR과 NX-bit를 우회 할 수 있는 ROP기법을 이용해 exploit 하는 문제 같다. payload..
[Pwnable] HackCTF Poet 문제 풀이 이번에 풀어볼 문제는 https://ctf.j0n9hyun.xyz/ 에 Pwnable 문제인 Poet문제이다. 문제를 보고 일단 실행시켜 보았다. 위와 같이 시와 시인을 적으라는 문구가 출력되고 입력을 해야한다. 그리고 1,000,000점을 획득해야 한다는 문구를 보니 점수를 많이 획득해야 한것 같다. gdb-peda에 있는 checksec을 이용해 poet파일의 보호 기법을 검색해 보았더니 NX-bit 보안기법만 존재 했다. main main함수를 Ida를 이용해 뜯어보면 위와 같은 그림이 나오고 크게 get_poem, get_author, rate_poem, reward 함수가 보인다. main함수 내부를 살펴보면 dword_6024E0이 1000000이 되면 break되고 reward인 flag를 ..
Dreamhack-Memory Corruption - C(1) 본 포스팅은 Dreamhack사이트의 Memory Corruption - C(1)를 제가 공부 하기 좋게 요약 한 것 입니다. OOB(Out of Boundary) : 버퍼의 길이 범위를 벗어나는 인덱스에 접근할 때 발생하는 취약점. 이는 올바르지 않은 값이 버퍼의 인덱스로 사용될 경우 발생한다. int형 변수 idx를 입력받은 후 이 값을 크기가 10인 int형 배열 buf의 인덱스 값으로 넣어 출력한다. 위 문제에서 buf의 크기가 10이므로 buf는 0 = 10)과 같은 경계 검사 구문을 추가하면 된다. -pow(2, 31)을 입력해 13~15번째 코드에 의해 pow(2, 31)로 바뀌게 되고 int형의 정수 표현 한계 때문에 결국 -pow(2, 31)이 된다. -pow(2, 31) = -21474..