Write-up 48

HACKCTF - Basic_BOF #2

내 환경 ubuntu 20.04 문제 이전 문제와 마찬가지로 BOF 문제이며 똑같이 접속 주소와 bof_basic2라는 파일을 준다. 다운로드 해서 보도록 하자 (리눅스에서 루트권한이 아닌경우 실행권한 제대로 줘서 실행하도록 한다.) 어.............. 이전 문제랑 똑같이 a를 입력했더니 저렇게 뜬다. ida-hexray와 gdb로 분석을 해보자 프로그램 분석 먼저 ida-hexray로 main함수를 보도록 한다. ida - main int __cdecl main(int argc, const char **argv, const char **envp) { char s; // [esp+Ch] [ebp-8Ch] void (*v5)(void); // [esp+8Ch] [ebp-Ch] v5 = (void ..

Write-up/HACKCTF 2020.11.30

HACKCTF - Basic_BOF #1

시스템을 공부하기 위해 HACKCTF를 풀게 됐다. 내 환경 ubuntu 20.04 문제 접속 주소와 bof_basic이라는 파일을 준다. 접속해보자. 보시다시피 입력을 받고 그대로 출력하면서 buf의 주소도 같이 출력되는 것을 볼 수 있다. 문제 파일을 다운 받아서 gdb로 까보자 참고로 우분투 터미널에서 wget [문제 파일 링크] 하면 쉽게 다운 받을 수 있다. 프로그램 분석 문제 풀 때 ida의 Hexray를 사용을 했는데 완벽하게 코드가 나오지 않아 gdb와 비교해가면서 풀어봤다. ida-main int __cdecl main(int argc, const char **argv, const char **envp) { char s; // [esp+4h] [ebp-34h] int v5; // [esp..

Write-up/HACKCTF 2020.11.30

Abex Crackme #3

Abex Crackme #3 Program review Abex Crackme 3번째 문제이다. 프로그램을 동작해보자 확인 버튼을 클릭하면 Keyfile을 체크할거라고 한다. 확인 버튼을 눌렀더니 "파일을 찾을 수 없다" 라고 말한다. x32dbg로 프로그램을 까보자 Debugging 프로그램을 x32dbg로 까면 이렇게 뜬다. 현재 위치한 곳은 main시작부분이다. call 의 함수 부분에서 "Click OK to check for the keyfile"이라는 문자열이 나오면서 abex.l2c 파일이 있는지 검사한다. 만약 파일이 없으면 Error 메세지 창 부분으로 점프를 하고, 파일이 있으면 파일의 사이즈를 검사하는 함수인 call 로 간다. 따라서 이 프로그램을 정상 실행할 수 있도록 하는 방법은..

Write-up/Wargame 2020.09.19

N00bCTF Forensic - lock! lock! lock!

8. lock! lock! lock! 이번에도 열어달래요... 자신이 열 것이지 파일 실행 파일을 실행해봅시다 잘 나오네요 이제 010editor를 이용하여 분석을 해봅시다. 파일분석1 파일 헤더 시그니쳐가 FF D8입니다. 정상적인 jpg파일의 첫 부분이죠 그럼 푸터시그니쳐도 보겠습니다. FF D9인 부분이 딱 한 곳이 있는데요 푸터 시그니쳐 뒤에 비어있는 공간에 문자열이 여러개 있습니다. 문제이름이 lock! lock! lock! 이라서 아마 두번 이상으로 문제를 풀어야 할 것 같습니다. 문자열만 있는 부분을 따로 떼어서 파일로 만듭시다. 과정1 문자열만 나와 있으니 관련된 암호체계는 base64가 있습니다. 한번 넣어 보겠습니다. 오! 해독된 파일이 있네요! 한번 볼 까요? Flag값이 나왔습니다 ..

Write-up/N00bCTF 2020.05.29

N00bCTF Forensic - Please open steganography

7. Please open steganography Steganography이란 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술이다. Steganography의 기법 Spatial domain 기법 : 이미지 파일의 점(pixel)을 다루는 기법 Transform(or Frequency) domain 기법 : 이미지 파일의 transform 이나 frequency에 정보를 숨기는 기법 Distortion 기법 : 이미지 파일을 변형시켜 정보를 숨기는 기법, 해독하는 자는 원본 이미지 파일을 가지고 있어야 함. Masking and filtering 기법 : 이미지의 특정 부분의 밝기나 휘도를 변형시켜, 정보를 숨기는 기법 많은 스테가노그래피 복호화 툴이 있지만 각기 다른 기법을 사용..

Write-up/N00bCTF 2020.05.28

N00bCTF Forensic - please find my thumb!!

6. please find my thumb!! 지문이 사라졌다는데 지문을 찾으러 한 번 가봅시다 파일 실행 thumbs.jpg가 주어지는데 파일을 한 번 열어봅시다. 잘 나오네요 이걸 한번 010editor로 확인해보죠 파일분석 파일 헤더 시그니쳐를 확인해보니 FF D8 FF EE라는데 앞엔 jpg 파일인 듯 하면서도 아닌 것 같습니다. 그럼 푸터 시그니쳐가 있는지 확인해보죠 검색기능을 이용하여 확인합시다 보아하니 FF D9가 두개가 있습니다. 첫번째 FF D9를 보면 FF D9 다음에 50 4B 03 04...... 이렇게 되어있네요 50 4B 03 04 어디서 많이 본 것 같으니까 검색을 해봅시다. 검색을 해보니 50 4B 03 04를 헤더시그니쳐로 가진 파일 확장자들이 매우 많습니다. 그중 zip파..

Write-up/N00bCTF 2020.05.28

N00bCTF Forensic - Broken

5. Broken 파일 실행 이미지를 고칠 사람이 필요하다고 합니다 파일을 실행해서 한번 봅시다 역시나 사진이 보이지 않습니다 010editor를 이용한 파일분석 이번에는 010editor를 이용하여 파일 분석을 해보도록 합시다 원래는 파일의 구조들이 분석되어 밑에 뜨는데 지금은 뜨지 않네요 아마 png파일의 시그니처를 가지고 있는데 파일 확장자가 jpg로 되어서 안 뜨는 거 같습니다. 파일 확장자를 png로 바꾼 다음 다시 010editor로 확인해봅시다. png파일 헤더 시그니처가 정확히 뜨고 밑에 png의 청크들이 뜨는 것을 볼 수 있습니다. Chunk png파일의 기본적인 청크는 이렇게 구성되어 있습니다. IHDR{ Length : 4 bytes Chunk Type: 4 bytes(IHDR) Ch..

Write-up/N00bCTF 2020.05.28

N00bCTF Forensic - What is docx ?

4. What is docx ? 이번 파일은 problem.docx입니다. docx에 대해서 알고 있냐고 하네요 우선 파일을 열어 보겠습니다. 파일실행 오류가 뜨면서 "콘텐츠를 복구하시겠습니까?" 라고 뜨는데 복구를 한번 해봅시다. 오잉? 정상적으로 되는 것 같습니다!!! 쭉 내려 보죠 그러다보면 Flag가 나오는데 " 이게 설마 정답이라고?? "라는 의심이 들지만 맞습니다, 정답이 아니에요..... 다른 방법으로 해봅시다. 파일 분석 파일 헤더 시그니쳐가 50 4B 03 04 이니 검색을 해봅시다 하면 docx말고도 많은 파일들이 같은 헤더 시그니쳐를 가지고 있는 것을 알 수 있습니다. 다시 HxD로 돌아와서 HxD를 보다 보면 Flag.zip이 있는 걸 볼 수 있는데 ​ 문서 파일인 docx에 압축 ..

Write-up/N00bCTF 2020.05.27

N00bCTF Forensic - Dark web

3. Dark web Dark Web에 숨겨진 Flag를 찾아달랍니다. 찾으러 가보죠 이번엔 사진이 제대로 보입니다 한번 HxD로 확인을 해봅시다. HxD를 이용한 파일 분석 JPG파일의 헤더 시그니쳐가 제대로 있습니다. 푸터 시그니쳐도 보겠습니다. FF D9로 제대로 써져 있습니다. 한 가지 사실은 N00bCTF에는 가끔 힌트를 주는 데 힌트를 보면 Base라는 말 밖에 없습니다. 보통 base64를 떠올리는 데 base64의 특징으로는 암호화하면서 비워지는 비트를 채워주기 위해서 base64 표에 없는 = 를 삽입합니다. 그러므로 HxD 기능 중에 검색 기능을 사용해봅시다. 검색 검색기능은 Ctrl + F입니다. 나온 결과들을 base64 디코더 사이트에 넣어봅시다 이상하게 나오네요 다른 base암호..

Write-up/N00bCTF 2020.05.27

N00bCTF Forensic - Where_is_flag

2. Where_is_flag Image file broken.. Restore please..!! 이미지가 뽀사져서 이걸 복구해달라 합니다.... 하지만 한번 볼까요? 역시나 안 보입니다 그럼 HxD로 까봅시다. HxD을 이용한 파일 분석 분명 PNG 파일인데 파일 헤더시그니처가 없습니다. 그럼 푸터 시그니처는 있는지 보겠습니다. PNG 파일이지만 푸터 시그니처가 FF D9인걸로 보아 이미지 파일 중 JPG파일인것 같습니다. 복구 과정 1. 헤더 시그니처로 파일 앞부분을 변경 2. 파일의 확장자를 JPG로 변경 결과

Write-up/N00bCTF 2020.05.27