전체 208

Hack-me / Rape me,If you can (class파일 디컴파일[jad])

Rape me, If you can 안드로드 문제이다. ??.dex파일이 주어지는데 이는 dex파일이 아닌 압축파일이다.압축파일을 열어 보면 .class파일은 암호가 걸려 있고 나머지 두개는 암호가 걸려있지 않다.storm.dat은 알아볼 수 없는 파일이고 hAcKmE.jad는 안드로이드 계열의 어떤 파일인것 같은데 잘은 모르겠다.아마 java파일에서 컴파일 중 나온 오브젝트? 그 중 하나가 아닐까 싶다. hAcKmE.jad파일을 보면 SecretKeySpec라는 문구가 있고, 암호화된 값으로 추측되는 긴 문자열이 있다.그 밑에는 AES라고 적혀 있는 것으로 보아 AES암호화가 되어 있을 것이다. 구글에 암호화된 위 값을 넣으면 바로 문제의 답이 나온다. 일단 그건 무시하고, http://pastebin..

CTF | wargame 2016.07.22

Hack-me / Apple Online Store (쿠키, 에이전트 변조)

문제를 보면 위 처럼 나온다. 애플 온라인 스토어문제를 풀기 위해서는 user-agent가 애플 관련이어야 한다.user-agent를 바꾸기 위해서 크롬 확장프로그램 user-agent switcher를 사용하였다.먼저 user-agnet를 바꾸고 나서 소스를 보면 바꿔 줘야 할 것들이 또 있다. Get메소드로 보내줘야할 id=admin, Post메소드로 보내줘야 할 pass=cherishcat이 있고cookie는 level을 1~5사이값으로 넣어주어야 한다.이를 해결하기 위해 burpsuit를 사용하였다. 그렇게 보내면 이처럼 나온다. password is하고 뒷부분이 나오지 않는다.위 소스를 보면 주석처리가 되어 있기 때문이다.그래서 burpsuit나 기타 프록시를 잡는 프로그램을 이용, 소스 자체를..

CTF | wargame 2016.07.22

XCZ.kr / Prob36 (포렌식, lnk파일)

prob36 - File Deleted포렌식 문제이다. 아동청소년보호법위배파일을 찾으란다. file_deleted.7z라는 파일이 있는데 압축을 풀면 볼 수 있다. 포렌식을 풀때 보다 보기 편하게 하기 위해 FTK Imager를 이용했다. FTK로 열어서 여러 경로들을 훑어보다가 찾은 파일이 's3c3r7.avi.lnk'Recent폴더 안에 있으며 링크파일이므로 확인할 수 없다. 여기서 정보를 빼내야 하는데 옛날에 바로가기 파일(lnk)에 관련된 문서가 http:/forensic-proof.com 에 있었던 것이 기억나서 들어가 봤는데 pdf파일은 현재(15년 10월)는 파일이 지워져 있는 상태이다.대신 다른 포스팅이 있어서 이를 참고했다. http://forensic-proof.com/archives/..

CTF | wargame 2016.07.22

XCZ.kr / Prob34 (리버싱, .net프로그램)

Prob 34 리버싱 문제이다. 파일은 실행파일 하나와 읽어들이는 것을 보이는 dat파일 하나가 있다.PEiD로 보면 .Net으로 만들어 졌다..Net프로그램이라면 .Net Reflector로 보는것이 좋기 때문에 읽어들이면 다음과 같다.소스를 보면 간단하다.먼저 textBox2의 문자열이 a-z 또는 0-9로 이루어 지지 않거나 5자가 아니면 실패를 출력한다. textBox2는 pw입력 부분이다. 그리고 account.dat파일에서 데이터를 라인으로 읽어오는데 여기서 읽어온 값을 ':'를 기준으로 나누어 strArray에 저장한다.만약 strArray[0]번의 값과 textBox1의 값이 같으면 진행을 하는데 textBox1은 id를 입력하는 부분이고 strArray[0]번은 admin, guest등 ..

CTF | wargame 2016.07.22

XCZ.kr / Prob32 (웹,php trick)

prob32 - Easy Trick php트릭을 이용하라고 한다. 쉬운문제인것 같지만 웹쪽은 멍청이이므로.. http://blog.naver.com/withrubiya/70175920455네이버 검색중 찾아낸 블로그. php에서는 17자리가 넘는 두 수를 비교하면 미세한 값의 차이가 있더라더 같다고 인식한다고 한다. 문제의 소스코드인데 비교하는 수자를 보면 12735366333132132465461?????????????????????????????로 뒷부분이 나와있지 않다. 하지만 위 블로그의 말에 따르면 17자리 이후는 무엇이 들어가도 크게 의미가 없다. 소스에서 나와있는 숫자는 총 24자리이기때문에 뒷부분은 길이만 맞추어 준다.넘겨준 숫자값 : 127353663331321324654611234567..

CTF | wargame 2016.07.22

XCZ.kr / Prob26 (암호, 3자리 암호화)

Prob 26 어떤 소스로 인코딩된 문자열을 해독하는 문제이다. 소스는 제공되지 않으며, 암호화 프로그램만 제공된다.이 암호화에는 일정한 규칙이 있다.3가지 문자를 암호화해서 4자리의 값이 나온다. aaaaaa를 인코딩 할 경우aaa가 인코딩된 값 =U5:가 연속으로 나온다.원래는 복호화 소스를 만들 계획이었지만 일단 시간이 없어 문제 풀기에 집중했다.내가 푼 방식은 약간 노가다가 필요하다 무식한거일지도먼저 한자리를 넣었을때 나오는 인코딩값을 알아낸다. 파이썬코드를 이용해서 값을 넘기고 넘어온 값을 뽑은것이다.0,1,2,3을 인코딩 한 값을 보면 맨 앞자리와 두번째 자리만 다르다.제일 첫번째로 입력한 문자는 결과의 첫번째, 두번째에 영향을 주고, 두번째는 0,^,L,D이 반복된다. 이 규칙을 가지고 이제..

CTF | wargame 2016.07.22

XCZ.kr / Prob24 (포렌식, 메모리덤프)

prob 24 메모리 덤프를 분석하는 문제이다. 두개의 분할된 7z파일이 주어지고 7z으로 압축을 풀면 130메가 짜리 파일이 나온다.이 문제에서 이용한 프로그램은 Volatility와 Graphviz다먼저 Graphviz를 이용하기 위해 psscan옵션을 이용, dot파일을 만든다.> python vol.py psscan -f xczprob2(덤프파일 경로) --output=dot --output-file=result.dot(결과파일 경로) 그 후에 Graphviz의 GVEdit 프로그램을 이용하여 dot파일을 읽어들인다.한눈에 보기 쉽게 잘 정리되어 있다. 이 중에 수상한 프로세스를 찾아야 한다.보면 nc.exe라는 프로그램이 있다. nc는 주로 netcat을 의미하며 공격용으로 많이 이용되기 때문에..

CTF | wargame 2016.07.22

XCZ.kr / Prob23 (기타, qr코드)

prob23 - Zero & One prob23.zip이라는 압축파일이 제공된다 파일의 압축을 풀게되면많은양의 파일이 나온다. 각각의 파일 안에는 md5해쉬값이 들어있다. 각각 하나의 번호를 가지며 1~25의 숫자이다.숫자의 번호대로 1부터 쭉 나열하면이렇게 되는데 대충 보았을때는 잘 보이지 않지만 QR코드이다. 직접 일일히 QR코드 그림을 만들어내기에는 너무 귀찮기도 하고 지금 만들어 놓으면 나중에 써먹기 좋을것 같기도 해서 php를 이용해서 만들었다.table에 값에따라 1이면 검은색을, 0이면 흰색을 보여준다. 결과 QR코드이다. 이제 이 QR코드를 인식해보면http://www.onlinebarcodereader.com/이와같이 뜬다. xcz.kr/prob23_pr0b1em_file.html이제 여..

CTF | wargame 2016.07.22

XCZ.kr / Prob22 (포렌식, 디스크 분석)

prob 22 - Who's Notebook파일 하나가 주어진다. 이름은 notebook 원래 확장자는 붙어있지 않다. ADSEGMENTEDFILE이라는 것은 FTK Imager로 만든 파일이다. 확장자를 .ad1으로 붙여주고 FTK Imager로 읽어들이면 된다. FTK Imager로 열어주고 나면 위와같이 나온다. 그 중에 6095485345라는 파일이 Desktop경로 아래에 있는데 이 파일을 보면 xml이며 중간에 Created/Modified by using GPS Route Editor라고 씌어져 있는 것을 볼 수 있다. GPS Route Editor라는 프로그램을 이용하여 이 파일을 열어주어야 한다. 보면 서울에서부터 제주로 가는 긴 경로 하나가 나타난다. 문제의 답은 시작점, 중간점, 끝점..

CTF | wargame 2016.07.22

XCZ.kr / Prob21 (웹, phph소스분석)

prob21 - PHP Obfuscation Crackphp 소스코드를 보고 분석을 해야하는 문제이다.엄청나게 복잡하다. 헥스값을 되어 있으나 그냥 웹서버에 올려놓으면 자동으로 변환이 되나보다.일일히 변환할 수 없기 때문에 파이썬에 넣어서 소스를 풀어냈다.>>> data='''암호화된소스코드'''>>> data ... 결과물여전히 지저분하다. 따로 정리해주는 툴을 찾아보았지만 딱히 없어서 그냥 하나씩 직접 정리하였다. 아직도 지저분하다. 보면 똑같은 변수 ${"a"} 임에도 보기 불편하게 그냥 여러번 선언한 경우가 있다. 이를 다시 정리하면 아래와 같다. 꽤 깔끔해졌다. 소스의 행동방식은 간단하다.GET으로 key를 받고 key에 해당하는 값이 맞으면 정답을 출력해준다.GET으로 넘겨야할 인자 key의 ..

CTF | wargame 2016.07.22