본문 바로가기

5. 방학 활동/Write UP

[2023.02.20] 워게임&CTF 스터디 1팀 문제풀이(암호, 포렌식)

※ 관련 개념은 방학활동 / 개념정리를 참고해주세요 ※

 

#broken-png

https://dreamhack.io/wargame/challenges/104/

문제 파일을 다운 받아보면 반 밖에 오지 않은 이미지를 확인할 수 있다.

HXD를 사용해서 이미지 파일을 열어보면

이미지의 너비와 높이를 의미하는 두번째 줄을 통해 너비와 높이가 다른 것을 볼 수 있다.

원본인 정사각형이 되도록 높이를 조절하고 저장한 뒤에 이미지 파일을 열어보면 

플래그를 발견할 수 있다.

 


 

#SingleByteXor

https://dreamhack.io/wargame/challenges/559/

문제 파일을 다운로드 받으면

암호를 얻을 수 있다.

XOR 연산은 같은 암호화 키로 암호화 된 문장을 XOR 연산하면 다시 원문으로 돌아온다는 특징을 이용하여 문제를 풀 수 있다.

문제에서는 단일 바이트와 원문을 XOR 연산하였을 때 암호문이 위와 같다고 주어졌으므로 단일바이트(10진수로 0~255까지의 값) 가 암호화 키가 된다.

 

C언어 반복문을 이용하여 코드 구성을 하여 플래그를 얻을 수 있다.

 


 

#이벤트 예약 웹사이트를 운영하고…#A

http://ctf-d.com/challenges

파일을 다운 받아보면 여러 파일을 볼 수 있다.

accounts\history 를 통해 사용자가 각 폴더에서 사용했던 명령어들의 목록을 볼 수 있다.

hmod 명령어는 리눅스에서 권한을 변경하기 위해서 사용하는 명령어이다. 777은 유저, 그룹, 기타 사용자 모두에게 읽기, 쓰기, 실행의 모든 권한을 준다는 의미이다. hmod 777을 쓴 사용자가 /editor/image 파일을 건드렸으니 이 파일에 대해 더 알아보자.

access.log 파일에서 검색 기능(ctrl+f)을 써서 /upload/editor/image로 검색했다. cmd를 건드린 걸 알 수 있었다.

인코딩된 문자열들을 디코딩 해주면 이런 결과가 나오고 php명령어를 실행한 것을 알 수 있다.

이 명령어를 사용한 시간을 입력해주면 된다.

 


 

#Basic_Forensics_1
https://dreamhack.io/wargame/challenges/518/

 

문제 파일을 다운로드하면 이미지 파일을 볼 수 있다.

사진 왼쪽 상단 흰 부분이 존재하므로 이 부분에 문제에서 말한 메시지를 숨겨둔 것으로 예상할 수 있다.

https://stylesuxx.github.io/steganography/

사이트를 이용하여 사진을 디코드하였더니 플래그를 얻을 수 있었다.