H4CKING GAME이라는 워게임 사이트의 포렌식 문제들을 풀어봤다. Paint 문제 paint.png 파일이 주어지는데 열어보면 검정 페인트가 칠해져 FLAG를 가리고 있다. Forensically에서 이미지 Level Sweep 조절해서 Flag를 찾았다. Easy 문제 easy.png 파일이 주어지는데 열어보면 회색으로 채워진 이미지다. Forensically에서 Error Level Analysis로 조절하니 QR코드가 숨겨져 있던 것을 확인하였다. 해당 QR코드를 스캔하면 FLAG를 얻을 수 있다. LineFeed 문제 linefeed.png 파일이 주어지고 열어보면 점선만 있는 이미지다. linefeed가 한 줄 아래로 내리는 그런 의미인데 문제가 linefeed인 것으로 봐서 이미지 파일의..
https://dreamhack.io/wargame/challenges/752 Enc-JPG 드림이가 JPG파일 만드는 중에 변조가 되었어요!! JPG파일이 단단히 이상하네요…?? 문제 파일이 하나 잘못생성 되었습니다. ㅠ-ㅠ 마지막 사진 플래그 글자수는 4개입니다. DH{JPG_TXT_PNG} #문제 이상 dreamhack.io 주어진 Enc 파일과 JPG 파일을 분석하여 FLAG를 획득하는 문제이다. FLAG는 JPG + TXT + PNG로 각각 FLAG의 일부분을 찾아 합치는 것으로 보인다. 먼저 Enc 파일을 보면 헤더가 "MZ" 로 윈도우 실행파일인 것으로 추측하였고 JPG 파일을 확인하였을 때 jpg 헤더가 아니였는데 문제에서 jpg 파일을 만드는 중 변조가 되었다는 것 때문에 jpg 파일 헤..
https://dreamhack.io/wargame/challenges/647 video_in_video 한가위 비디오를 찾아주세요... 참고: flag형식은 BISC{}이니 찾은 비디오에 bisc{}로 나와있으면 BISC{}로 바꿔주세요 dreamhack.io 문제 파일을 받으면 video_in_video.jpg 의 한가위 이미지 파일을 확인할 수 있다. 문제 제목으로 봐서 video 안에 video 파일을 찾아 FLAG를 획득하는 것으로 보인다. 이미지 파일을 HxD로 열어서 확인하면 jpg 파일 헤더 시그너처 (FF D9) 를 확인할 수 있다. 푸터 시그니처인 FF D9을 검색하면 JPG 푸터 시그니처 다음인 0x11BAA에서 영상 파일 (MP4) 이 존재하는 것을 확인할 수 있다. (ftyp 박스..
https://dreamhack.io/wargame/challenges/183 palm Description 드림회사에서 운영 중인 서버가 해킹이 된 징후를 포착했습니다. 자세한 것은 알 수 없지만, 악성 코드는 중앙 서버를 통해 개발자 PC로 침투했고, 그 결과 개발자 PC에서 로그인을 할 때 dreamhack.io 드림회사에서 운영 중인 서버가 해킹이 된 징후를 포착했습니다. 자세한 것은 알 수 없지만, 악성 코드는 중앙 서버를 통해 개발자 PC로 침투했고, 그 결과 개발자 PC에서 로그인을 할 때 마다 네트워크 데이터에 민감한 로그인 정보가 유출되고 있음을 파악했습니다. 침투가 완료된 PC에 접속하여 악성 코드를 분석하고 침투에 사용된 파일을 찾아 Flag를 찾아주세요! 침투가 완료된 PC에 접속하..
https://dreamhack.io/wargame/challenges/605 sleepingshark Do shark sleep? dreamhack.io 네트워크 패킷 파일을 분석하여 FLAG를 획득하는 문제이다. 문제 파일을 받으면 dump.pcap 파일 하나를 받을 수 있다. Wireshark를 통해서 dump.pcap을 열어보면 POST 메소드로 SQL 쿼리를 여러 번 보낸 것을 확인할 수 있다. 해당 쿼리문들이 URL 인코딩 되어있어 어떤 쿼리인지 확인하기 위해서는 URL 디코딩을 해야할 것 같다. 더보기 URL 인코딩, URP Encoding - URL에서 URL로 사용할 수 없는 문자 혹은 URL로 사용할 수 있지만 의미가 왜곡될 수 있는 문자들을 %XX 형태의 16진수 값으로 변환하는 것 ..
https://dreamhack.io/wargame/challenges/241 Snowing! 드림이 : 우와! 밖에 눈이 많이와요! 드림맘 : 그렇네~ 드림이 : 거의 모두 하얀공간뿐이네요. dreamhack.io 주어진 문제 파일을 분석하여 FLAG를 얻는 문제이다. 문제를 받으면 텍스트 파일과 이미지 파일이 주어진다. 먼저 이미지 파일을 보고 스테가노그래피 관련 문제로 알고 분석을 했지만 이미지에서 FLAG를 얻을 수 없었다. flag.txt 파일을 보면 fake snow란 문자가 보이고 여러 문자열 끝에 공백이 엄청 많이 있는 것을 알 수 있다. HxD로 열었을 때 공백 부분이였던 것이 눈처럼 있는 것으로 알 수 있다. 이를 보고 White Space Steganograpy로 추측하였다. 이 스테..
https://dreamhack.io/wargame/challenges/850 Flying Chars Description 날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다. ❗첨부파일을 제공하지 않는 문제입니다. ❗플래그에 포함된 알파벳 중 x, s, o는 모두 dreamhack.io 날아다니는 글자들을 멈춰 문자열을 알아내는 문제이다. ※ 문자열 중 x, s, o는 모두 소문자, c는 모두 대문자이다. 웹 페이지에 들어가면 문자들이 계속 날아다녀서 어떤 문자열인지 알 수 없다. 개발자 도구의 소스 탭에서 문자열 위치를 랜덤으로 정하는 부분으로 추측되는 곳을 브레이크 포인트로 걸면 문자열이 세로로 나온다. 세로로 나온 문자열을 조합하면 'Too_H4rd_to..
https://dreamhack.io/wargame/challenges/40 web-deserialize-python Session Login이 구현된 서비스입니다. Python(pickle)의 Deserialize 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt 또는 FLAG 변수에 있습니다. dreamhack.io Python pickle 모듈의 Deserialize 취약점을 이용해 FLAG를 획득하는 문제이다. 더보기 Python pickle Deserialize 취약점 Deserialize, 역직렬화 - 직렬화된 데이터를 원래의 Object 또는 Data 상태, 타입으로 되돌리는 것 (unpickling) - 텍스트 파일을 오브젝트로 변환하는 것 Serialization, 직렬화 -..