전체 208

asisctf 2017 / Piper TV (TV 패킷 분석, ffmpeg 영상 이미지 추출)

문제는 패킷 파일이 하나 주어진다. 힌트는 TV라는 단서이다. 지문을 보고 처음 든 생각은 TV 패킷이 다닐 수 있다는 생각을 했었다. 패킷을 와샥으로 열어보면 하나의 tcp stream밖에 존재하지 않는다. 게다가 단방향으로 추측한 내용과 비슷하였다. 이 데이터를 raw data로 추출하여 파일을 확인하면 MPEG transport stream data라고 나온다. 검색을 해 보면 MPEG transport stream data는 보통 ts, tp등으로 변환되어 사용된다고 하며 ts로 변환을 하면 아기새가 먹이를 주워먹는 영상이 나온다. 약 20초 가량의 영상인데 12초 이후 키값이 잠깐 나왔다가 사라진다. ffmpeg를 통해 영상에서 이미지를 추출하여 확인을 할 수 있다. ffmpeg -i outpu..

CTF | wargame 2017.04.11

codegate 2013 - forensic 400 (ADS, TrueCrypt, Fuzzy Hash, ssdeep, (subprocess))

keyword : ADS, TrueCrypt, Fuzzy Hash, ssdeep, (subprocess) url : http://forensicinsight.org/wp-content/uploads/2013/03/F-INSIGHT-CodeGate-2013-Write-ups.pdf 아무런 지문 없이 파일 하나가 주어진다. 주어진 파일은 evidence 파일이며, 이 파일의 구조를 보다 보면 black폴더에 다수의 까만 jpg파일이 들어있고, 그 중 B(115).jpg에 특이한 점이 있었다. [ B (115).jpg ] 보면 확장자가 jpg인 파일임에도 그 하위에 어떤 데이터가 들어가 있는 것을 파악할 수 있다. 이는 ftk에서 보여주듯 Alternate Data Stream이라고 하며, 윈도우에서 지원하는..

CTF | wargame 2017.04.11

codegate 2011 / forensic 200 (정보 엔트로피, 카빙, 클러스터, jpg 복구)

keyword : 정보 엔트로피, 카빙, 클러스터, jpg 복구,url : http://forensic-proof.com/archives/1597문제는 파일이 하나 제공된다. 지문을 보면 용의자의 시스템에서 할당되지 않은 영역을 가져온 데이터라고 한다.할당되지 않은 영역이라 함은 디스크에서의 데이터를 그대로 가져온 것인데 통상적으로 하나의 데이터를 저장하는데에 있어서 512bytes의 n배수를 할당 한다.따라서 최소 단위인 512bytes단위로 파일을 보아야 한다. 하지만 write up을 보니 512bytes단위로 보지 않고, 시스템의 클러스터 단위로 보았다. 여기서 클러스터란 디스크의 파일 시스템이 정한 디스크 사용 최소 단위이다.풀이를 보니 최소 클러스터 단위는 제대로 카빙된 데이터의 크기를 보고 ..

CTF | wargame 2017.04.11

suninatas / 30번 Military (volatility를 이용한 메모리 덤프 분석)

suninatas 문제이다. 보통 침투흔적은 디스크 분석을 통해서 하지만 이번 문제의 경우 메모리 덤프 분석 문제였다. 순서대로 하면 다음과 같다. (1) profile 찾기 volatility를 이용하기 위해서는 덤프를 뜬 메모리가 어떤 os인지 파악을 해야 한다. 일반적으로 kdbgscan이나 imageinfo 옵션을 이용하면 알아낼 수 있다. ex) vol.py -f "dumpfile" imageinfo imageinfo를 통해 문제 파일의 os를 파악해보면 Win7SP1x86임을 알 수 있다. (2) 1. IP주소 찾기 IP주소는 네트워크 환경 정보를 파악해야 된다. 윈도우 cmd쉘에서 netstat을 치듯 파악을 해야 한다. XP버전등에서는 sockscan등이 사용 가능하지만 7은 불가능 하다...

CTF | wargame 2017.04.10

asisctf 2017 / Tatter (조각난 png조합, png 헤더 분석 , crc 연산)

[ 문제 ] 문제는 위와 같다 옷이 갈기 갈기 찢겨 있다고 한다. 파일은 압축 파일이 주어지는데 압축을 풀면 해당 데이터의 sha1의 된 값이 파일 이름이 되어 있다. 총 159개의 파일이 존재하는데 어떤 파일인지 몰라 먼저 file 명령을 통해 각 파일의 시그니쳐를 알아보았으나 특이한 내용은 없었다. 그 중 MPEG관련이 하나 뜨길래 열어봤는데 hex값으로 보니 IDAT이라는 문구를 발견할 수 있었다. IDAT청크는 PNG에서 사용되는 청크의 일부이다. 해서 png에서 사용되는 PNG, IEND를 조회해 보았으나 찾을 수 없었지만 IHDR은 찾을 수 있었다. 이를 가지고 조합을 하게 되면 사진이 복구될 것이라고 생각을 하여 진행을 하였다. (1) 파일 정렬하기. 파이썬 콘솔을 주로 사용하기 때문에 바로..

CTF | wargame 2017.04.10

insomnihack 2017 final / Secr3tMgr Lock? (안드로이드 메모리 포렌식, 비밀번호 crack, LiME, volatility)

write up : https://www.cert-devoteam.fr/publications/en/insomnihack-write-up-android-forensics-challenge/ (thanks to olivier chatail) http://arishitz.net/writeup-secr3tmgr-forensic-insomnihack-2017/ ref : https://nelenkov.blogspot.kr/2015/06/password-storage-in-android-m.html [ from cert-devoteam.fr ] +++ 지문? +++ ...Waiting for tasks release but I have a file Secr3tMgr_680932f10ed4bb347dec46bdd8..

CTF | wargame 2017.04.10

suninatas / 31번 PDF Analysis (숨겨진 데이터 찾기, pdf 데이터 파싱)

pdf 분석 문제이다. pdfdot은 여전히 막혀서 사용할 수 없었고, 인터넷을 검색해보니 유사한 형태로 보여주는 소스코드와 설명이 있는 블로그 발견. ref : https://blog.didierstevens.com/programs/pdf-tools/ 위 코드 중 pdf-parser.py를 통해 obj를 확인해 보았다. 옵션 중 -c옵션을 추가해주면 해당 obj의 데이터도 뽑아낼 수 있다. [ pdf obj 일부 ] pdf 중 일부인데 보면 javascript 형태로 되어있다. 하지만 36번 obj는 링크가 되어있지 않으므로 당연히 pdf를 열었을때 보일리가 없다. 이 데이터를 추출해서 확인을 해 보면 [ obj 36 0 ] base64로 디코딩을 할 수 있는 코드와 데이터가 있다. 이 데이터는 bas..

CTF | wargame 2017.04.10

volgactf 2017 / VC (이미지 xor)

A,B 두장의 사진이 주어진다. 사진은 다음과 같다. [ A.png, B.png ] 'hackcenter / Two Time Pad (동일한 key를 사용한 이미지 OTP)' 문제와 동일하다. 두 사진을 xor 연산을 해주면 된다. 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 32 33 34 35 36 37 from PIL import Image import os def tup_xor(val1, val2): res = list() for i in range(len(val1)): res.append(val1[i] ^ val2[i]) return tuple(res) img1 = Image.open('A...

CTF | wargame 2017.03.30

codegate 2012 - forensic 100 [office lnk 파일 분석]

keyword : office lnk 파일 분석 url : http://hacknation.tistory.com/attachment/cfile22.uf@1854AE474F5EA5C52E0CD5.pdf 포렌식은 문제의 지문을 먼저 이해해야 한다. 위 지문을 대강 요약하면, 회사 재정정보를 훔치기 위해 IU가 잠입을 하였고, CFO의 컴퓨터를 공격하는 시나리오이다. IU는 악성코드를 삽입했었고, 이를 모두 제거하였다. 문제의 답은 IU가 훔친 파일의 이름과 전체 경로를 알아내야 하는 문제이다. 제공된 파일은 압축 파일이며 압축을 풀면 일반적으로 윈도우 계정 정보가 담겨져 있는 Users폴더와 그 하위만 존재한다. 계정은 proneer라는 계정이 있지만 documents폴더나 desktop에는 특이한 데이터가..

CTF | wargame 2017.03.30

codegate 2012 - forensic 200 (firefox 비정상적인 종료(sessionstore.js), json editor, 타임존(time zone))

keyword : firefox 비정상적인 종료(sessionstore.js), json editor, 타임존(time zone) url : http://hacknation.tistory.com/attachment/cfile22.uf@1854AE474F5EA5C52E0CD5.pdf 지문을 보면 sql인젝션 했던 기록과 그 시각을 알아내라고 한다. sql인젝션을 날렸다는것은 보통 웹 기록으로 남아있을 것이므로 먼저 웹 브라우져의 기록을 먼저 살펴보도록 한다. 제공된 문제의 파일은 100점 문제와 마찬가지로 Users의 하위 폴더가 제공된다. 단서는 3가지 sql인젝션을 하였다 웹 브라우저를 사용했었다. 공격을 할 때 브라우저가 꺼져 버렸다. 해서 계정중 피해 계정으로 보여지는 proneer를 보았다. Ap..

CTF | wargame 2017.03.30