분류 전체보기

    [Dreamhack] - shell_basic(WRITEUP)

    [Dreamhack] - shell_basic(WRITEUP)

    오늘은 dreamhack pwn 로드맵의 첫 문제인 shell_basic을 풀어 볼 것이다. dreamhack 로드맵 강의에서는 어셈블리 파일을 직접 만들어서 쉘코드에 대해서 배우는데 이 방법은 너무 귀찮기 때문에 pwntool의 shellcraft를 이용해 볼 것이다. shellcraft는 잘 사용하지 않기 때문에 아래의 글을 참고하여 풀었다. https://m.blog.naver.com/songblue61/221308705090 그럼 본격적으로 풀이를 시작해 보겠다. 먼저 문제 설명을 확인해 보면 플래그의 파일 이름을 확인할 수 있다. 그리고 문제에서 주어진 서버로 접속을 해보면 아래와 같이 shellcode를 입력하는 란이 주어진다. 이제 exploit 시나리오를 대충 짜 볼 수 있다. 1. "sh..

    Digital Overdose 2022 Autumn CTF WRITEUP(HHJ) - Maya went on a trip!

    Digital Overdose 2022 Autumn CTF WRITEUP(HHJ) - Maya went on a trip!

    오늘은 Digital Overdose 2022 Autumn CTF 의 maya went on a trip! 카테고리의 문제 풀이를 해볼 것이다. Category Name : Maya went on a trip! 1. Seaside 문제의 의도는 사진 파일이 있는 곳에서 제일 가까운 기차 역을 찾는 것이다. 먼저 문제의 사진파일은 아래와 같다. 이 사진 왼쪽을 보면 건물에 "DARAKHYU"라고 적혀있다. darakhyu를 구글 지도에 찾아보면 전라남도 여수시에 있는 것을 확인할 수 있다. 이 위치에서 기차역이라는 카테고리로 검색을 하면 다음과 같이 여수EXPO 역이 제일 가까운 역으로 나타난다. 따라서 flag는 DOCTF{yeosu_expo}가 된다. 2. SympoZzzium 2번째 문제의 의도는 여..

    2022 HISCON writeup - HHJ

    2022 HISCON writeup - HHJ

    HTML 삽입 미리보기할 수 없는 소스 오늘은 2022년에 한세사이버고등학교에서 실시한 ctf인 HISCON대회의 writeup을 쓸 것이다. 대회에서 8문제를 풀어서 1등을 한분과 점수는 동일하지만 더 늦게 풀어서 2등이 되었다. 1. Mic check 그냥 디스코드의 welcome탭에 플래그를 확인할 수 있다. 2. 번역기(Network) 이 문제는 어떠한 파일을 찾아서 그 파일에서 질문한 것의 정답이 flag였다. 먼저 파일을 wireshark로 열어서 object 탭을 확인해보면 다음과 같다. 10.26.104.108이라는 수상한 ip에서 통신된 파일이 있는 것을 확인할 수 있다. 위 ip로 통신된 모든 파일을 다운 받아서 살펴보았는데 1개 빼고 싹 다 가짜라는 내용의 글이 있다. 남은 1개의 내..

    CTF-D writeup - 이 파일을 훔쳤지만 작동하지 않는다

    CTF-D writeup - 이 파일을 훔쳤지만 작동하지 않는다

    먼저 주어진 파일은 koe라는 파일인데, 다음과 같이 바이너리 파일인 것을 확인할 수 있다. strings로 살펴봤을때는 flag라는 문자열이 있기는 한데 딱히 단서가 되는 것은 없는 것 같다. HHJ 🤡  ~/Downloads  strings koe /lib/ld-linux.so.2 libc.so.6 _IO_stdin_used puts __libc_start_main __gmon_start__ GLIBC_2.0 PTRh [^_] ;*2$"( '- &:u/85)(/& #r55$3 5) / 5) 5 p53 (/

    CTF-D writeup - Find Key(ELF)

    CTF-D writeup - Find Key(ELF)

    이번에는 Find Key(ELF)의 문제를 풀어볼 것이다. 다음과 같이 chall.raw파일인 주어진다. 그러면 먼저 file을 이용하여 chall.raw파일을 살펴보겠다. 위 파일이 elf파일 인 것을 확인할 수 있다. 다음으로 strings로 살펴보겠다. 크기가 매우 크기 때문에 strings를 한 결과를 다음의 명령어를 이용하여 텍스트 파일로 저장해보겠다. strings chall.raw > chall.txt 텍스트 파일이 뽑혔으면 string으로 "flag"를 계속 찾다 보면 다음과 같이 의심스러운 부분이 나온다.(물론 노가다를 살짝 해야한다.....) 밑에 나온 문자열을 base64로 decoding하면 다음과 같이 나온다. Decoding하면 중간에 의심스러운 문자열이 있는걸 확인활 수 있다...

    CTF-d writeup - fore1-hit-the-core

    CTF-d writeup - fore1-hit-the-core

    이번에는 ctf-d 워게임의 fore1-hit-the-core 문제를 풀어볼 것이다. 일단 fore1.core라는 파일이 주어진다. 파일의 형식을 살펴보면 elf파일 인것을 확인할 수 있다. elf를 분석하기 전에 strings로 간단하게 살펴보자. 위와 같이 플래그 같은 형식의 문자열이 나오지만, 플래그는 아닌 것 같다. 플래그 형식을 생각하면 4번째 문자 마다 조합해보면 플래그가 된다고 생각해 볼 수있다. python은 문자열의 첫번째를 0번째라고 받아들이기 때문에, 3x + 5의 문자열들을 flag에 오류가 나기전까지 계속 합쳐주면 flag가 나올 것이다. 다음과 같이 python 코드를 만들 수 있다. strings = "cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnj..

    CTF-d writeup - 윈도우 작업 관리자에서 우클릭...

    CTF-d writeup - 윈도우 작업 관리자에서 우클릭...

    이번에는 ctf-d 워게임의 "윈도우 작업 관리자에서 우클릭..." 문제를 풀어볼 것이다. 다음과 같이 메모리 덤프를 뜬 파일이 보인다. strings를 이용하여 flag형식을 검색해보면 다음과 같이 쉽게 flag를 획득할 수 있다. SharifCTF{4d7328869acb371ede596d73ce0a9af8}

    [기초부터 따라하는 디지털 포렌식(inflearn)] - Volatility 사용 및 문제풀이

    [기초부터 따라하는 디지털 포렌식(inflearn)] - Volatility 사용 및 문제풀이

    오늘은 인프런의 무료 디지털 포렌식 강의를 기반으로 메모리 포렌식을 공부해 볼 것이다. 여기서는 volatility라는 도구를 이용하여 분석을 할 것이고, 문제 파일은 다음 링크에서 확인할 수 있다. http://files.sempersecurus.org/dumps/cridex_memdump.zip Cridex 문제 먼저 문제 파일 압축을 풀고 바로 volatility를 사용하여 분석을 시작할 것이다. 맨 처음 volatility에서 사용해야 할 명령어는 다음과 같다.(물론 앞에 실행파일 명은 윈도우, 맥에 따라서 달라질 수 있다.) Volatility -f "filename" imageinfo 이 명령어는 메모리 덤프의 운영체제 같은 기본 정보를 찾아주는 명령어이다. cridex문제파일로 실행하면 다음..