일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 장고vscode
- 모세포
- 해킹문제
- 1546
- 코로나
- 백준
- covid19
- csaw
- AndroidOS
- csaw 2018
- 장고
- 파이썬웹
- 정보보호영재원
- 리버싱
- rev-basic-3
- 해커
- 바이러스
- dreamhack
- web
- 취약점점검
- 코로나바이러스19
- Django
- webhacking.kr문제풀이
- jango
- 해킹
- vscode
- djangovscode
- 파이썬
- 코로나바이러스
- 웹해킹
- Today
- Total
Kilkat
Anti Forensic(steganography) 문제, 정답 본문
목표: Anti Forensic의 종류인 steganography에 대해서 알고 문제를 만들어보고 실습하기
사용 프로그램: OpenPuff
문제: 스테가노 그래피 문제.zip
컴퓨터 환경: 윈도우10 64bit
우선 압축을 풀고 스테가노 그래피 문제파일에 들어가 보니 hint.txt라는 파일이 나옵니다. zip파일 이름부터가 힌트이긴 하지만 hint.txt를 실행시켜 줍니다. hint.txt를 실행시켜 보니 정말 중요한 힌트들이 많습니다. 이 힌트들을 기반으로 하여 문제를 풀도록 하겠습니다. 우선 힌트에 나와있는대로 HXD를 이용하여 computer.jpg에 숨어있는 cpu.jpg를 찾아내도록 하겠습니다.
HXD를 켜주시고 computer.jpg를 드래그 해서 옮겨줍니다.
옮겨보니 어마어마하게 많은 text들과 16진수들이 있습니다. 하지만 File Signatures에 대해서 잘 알고 계신다면 쉽게 찾을수가 있습니다. 16진수에서 보이는 FF D8 FF 표시는 jpg형식의 File Signature입니다. 뒤에 E0까지도 File Signature가 아니냐고 하시는 분들이 계시는데 맞기는 하지만 파일에 따라서 E0, E1, E2이렇게 여러 가지 형태로 빠귀어서 바뀌지 않는 수인 FF D8 FF만 적었습니다. 그럼 찾기 단축키인 CTRL+F를 눌러주셔서 데이터 형식이 텍스트 문자열이 아닌 16진수 값으로 바꿔줍니다.
그럼 검색창에 아까 jpg의 File Signature인 FF D8 FF를 적어서 수락을 눌러줍니다. 수락을 눌러주시면 다음 사진처럼 맨처음의 File Signature가 아닌 computer.jpg안에 숨겨진 다른 jpg파일의 Signature가 나오게 됩니다.
그럼 이제 두 파일을 나눠보겠습니다. FF D8 FF부터 아래로 드래그를 해서 복사를 하려니 너무 많은 시간이 소비되었습니다. 그래서 맨처음의 FF D8 FF에서부터 두번째 FF D8 FF까지 드래그를 하여서 삭제를 시켰습니다. 그리고 다른 이름 저장을 눌러서 cpu.jpg로 저장을 하시면 됩니다. 그러면 이제 신기하게도 computer.jpg 파일 사진이 cpu.jpg 사진으로 바뀌어 있는걸 확인할수 있습니다.
이제 key.txt파일을 찾기위해 절반까지 왔습니다. 이제 맨처음 목표 다음줄에 적어놓은 사용 프로그램인 OpenPuff를 실행시켜 줍니다. OpenPuff는 steganography기법을 이용하는데 사용되는 대표적인 툴입니다.
여러 옵션들 중에서 steganography에 있는 Hide는 누르실 필요가 없고 바로 옆에 있는 Unhide를 눌러주세요.
그러면 이런창이 나오게 됩니다. 여기서 Add Carriers를 눌러주셔서 cpu.jpg파일을 선택하여 줍니다.
여기서 Unhide!를 눌러주시면 당연히 오류가 납니다. 아까 hint.txt에서 말씀드렸듯이 cpu.jpg와 key.txt를 분활하기 위해서는 123456789를 base64로 인코딩한 값이 필요하다고 말씀드렸습니다. base64사이트에 들어가서 인코딩을 해보겠습니다.
MTlzNDU2Nzg5라는 base64값이 나옵니다. 그럼 이 값을 OpenPuff 프로그램의 Cryptography의 A칸에 넣어주시면 됩니다. 아까 힌트에서 말씀드렸듯이 base64값을 이용하라는 힌트 하나만 나왔으니 다른 비밀번호는 없습니다. 아마 이곳에서 에러 창이 나오시는 분들이 많을 것 같습니다. Enable창의 B,C는 체크를 해제하여야 합니다. 그럼 MTlzNDU2Nzg5이 값을 넣으시고 Unhide!를 눌러주세요.
carrier processed라는 메세지 박스와 함께 바탕화면에는 key.txt파일이 생성되게 됩니다. key.txt파일에는 어떤 문자들이 들어가 있는지는 공개하지 않겠습니다. 혹시 궁금하신분이 있으시다면 직접 풀어보세요.!
ps.오류 없이 다시한번 성공하니 문제를 제대로 만든것 같아서 기분이 좋네요 하핳 여기 나오는 사진들은 모두 무료 사진을 다운받아서 사용한 사진들이니 사진에 대한 태클은 안해주셨으면 합니다. 문제에 대한 태클은 언제나 환영입니다. 오타도 많을수 있으니 확인하시면 댓글달아주세요. 바로 수정하도록 하겠습니다.
'Security > forensic' 카테고리의 다른 글
포렌식 기본 상식 (prefetch) (6) | 2018.01.07 |
---|