드림핵
-
Dreamhack - Snowing!wargame/Dreamhack 2024. 1. 9. 23:56
[LEVEL 1 - Snowing! - forensics] 문제 파일을 다운로드 받으면 Snow.jpeg랑 flag.txt가 있는데 이미지는 문제 풀이에 사용하지 않았다. flag.txt를 열면 아래와 같이 공백이 많다(아래에 있는 플래그값은 말그대로 fake). 이 공백을 보고 아래 링크에 들어가 White space Steganograpy 툴을 다운로드했다. https://darkside.com.au/snow/index.html The SNOW Home Page The SNOW Home Page Whitespace steganography The program SNOW is used to conceal messages in ASCII text by appending whitespace to the e..
-
Dreamhack - Basic_Forensics_1wargame/Dreamhack 2024. 1. 9. 23:48
[LEVEL 1 - Basic_Forensics_1 - forensics] 문제 파일을 다운로드 받으면 whitebear.png가 있다. https://stylesuxx.github.io/steganography/ Steganography Online Encode message To encode a message into an image, choose the image you want to use, enter your text and hit the Encode button. Save the last image, it will contain your hidden message. Remember, the more text you want to hide, the larger the image has to b ..
-
Dreamhack - devtools-sourceswargame/Dreamhack 2023. 11. 28. 16:48
[Beginner - devtools-sources - web] 문제 파일을 다운로드 한 후 개발자도구(F12)의 sources 탭의 기능을 이용해 플래그를 찾으면 된다. 플래그 형식은 DH{...} 이므로 이걸 검색하면 될 것이다. 습관처럼 index.html을 먼저 열고 바로 개발자도구를 열었다. 위에서부터 순서대로 다 열어보며 각각의 모든 소스파일에서 Ctrl + F(찾기 기능)로 dh를 검색했다. 제일 아래에 있는 webpack:// 밑 styles 밑 main.scss에서 찾았다. 플래그를 획득했다!
-
Dreamhack - littlevsbigwargame/Dreamhack 2023. 11. 25. 02:45
[Beginner - littlevsbig - misc] 사용자한테서 문자열을 입력받아 메모리에 저장하는 프로그램이다. 저장된 값이 특정 값과 일치하면 플래그를 출력한다고 한다. 문제 파일 다운로드 받으면 위와 같은 chall.c를 볼 수 있다. 내가 문자열 입력하면 arr라는 배열에 넣고 각 문자를 16진수로 나타내서 출력한다. 조건식과 일치해야 flag 획득할 수 있는 것 같다. (이때 arr에서 4바이트씩 끊어 읽어서 정수로 해석하기 때문에 내가 8바이트 입력하면 int_arr[0]은 첫 4바이트, int_arr[1]은 다음 4바이트) 테스트 삼아 abcdefg 입력해보면 예상대로 문자 하나씩 16진수값 나온다. 그런데 아랫줄에 출력된 int_arr[0]과 int_arr[1]를 보면 x86 아키텍처..
-
Dreamhack - whatsdifferent카테고리 없음 2023. 11. 17. 22:58
[Beginner - whatsdifferent - misc] ff파일과 fs파일의 다른점을 찾아서 수정한 부분을 DH{}에 넣으면 되는 문제다. 시스템 해킹 문제 환경에 접속한다. 바로 두 파일의 차이점을 출력해주는 명령어 diff를 사용해 입력해줬는데 What's different?라는 문자열만 나오고 바로 종료된다.(-d 옵션 안 주고 그냥 diff ff fs 해도 똑같음) 무슨 파일이 출력되는 건지 궁금해서 문제 파일 다운로드 받고 chall.c를 열어보았다. 코드 보고 계속 왜 저렇게 출력됐는지 깨달았다. 일단 엔터 나오기 전까지 입력을 받고 그 값을 필터링 거쳐본 다음에 필터링에 걸리면 filtered 출력되고, 안 걸리면 snprintf()함수를 거치게 되는데 cmd가 출력이 저장되는 버퍼다..
-
Dreamhack - command-injection-1wargame/Dreamhack 2023. 11. 17. 21:09
[Beginner - command-injection-1 - web] 문제 환경에 접속하면 위와 같이 나온다. 상단에 Ping 눌러서 들어가면 이렇게 나오는데 형식 저런식으로 쓰라고 나와있어서 127.0.0.1을 쳐본다. 근데 특별히 나오는 게 없어서 127.0.0.1;ls했더니 요청한 형식한 일치시키라고 하고 뒤로 안 넘어간다. 개발자도구 F12로 열어서 코드 확인해봤는데 pattern 속성에 정규표현식으로 필터링 해놨다. 그래서 일단 BurpSuite 툴을 사용하여 프록시의 intercept 탭 들어가서 브라우저 하나 열고 문제 환경에 접속한다. 다시 Ping 들어가서 intercept is off를 on으로 켜준 다음 127.0.0.1을 입력하여 Ping!버튼을 누르면 Burpsuite에서 화면이 ..
-
Dreamhack - file-special-bitwargame/Dreamhack 2023. 11. 14. 20:43
[Beginner - file-special-bit - misc] 일단 ssh id@[hostname] -p [port]를 통해 문제 환경에 접속한다. 비밀번호는 드림핵 문제에 나와있는 pw 치면 된다. ls로 뭐가 들어있는지 확인한다. ./chall flag 실행하려는데 갑자기 ruid랑 euid를 치라고 해서 모르니까 아무거나 눌러보았다. No.라고 뜬다. 검색해보니 ruid는 프로세스의 실제 소유자, euid는 effective user id로 이걸 통해 일시적으로 파일 소유자의 권한을 얻을 수 있다고 한다. id를 통해 나(chall)의 uid가 1000인 걸 알게 되었다. 문제에서 dream 유저의 권한으로 "flag"파일을 읽으라고 했으니까 id dream을 통해 dream의 uid를 살펴보았..
-
Dreamhack - Exercise : Dockerwargame/Dreamhack 2023. 11. 14. 03:07
[Beginner - Exercise: Docker - misc] 주어진 Dockerfile을 빌드하여 이미지를 생성하고 컨테이너를 실행해서 플래그를 획득하는 Docker 실습문제이다. 먼저 문제에서 주어진 Dockerfile이 있는 디렉토리로 이동한다. ls로 뭐가 들어있는지 봤더니 deploy와 Dockerfile이 있다. docker build .를 통해 일단 이미지를 빌드한다. 빌드가 다 되면 docker images로 생성된 이미지를 확인한다. 여기서 빌드된 IMAGE ID를 주목해야 한다. docker run -it (이미지 ID) /bin/bash를 입력하여 이미지 ID로부터 컨테이너를 생성하고 이를 실행해서 bash셸을 연다. 문제 환경에 접속하고 나서 ls를 입력하면 chall과 flag..