Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  •  

    Problem: IRC checkin
    irc client로 hitbxctf2018.freenode.irc 접속, /join hitbxctf2018 입장하면 Flags Get.


  •  

    Problem: tpyx
    Simple picture steganography 
    https://hitbxctf2018.xctf.org.cn/media/task/e47c7307-b54c-4316-9894-5a8daec738b4.png

    스테가노그래피 문제로 PNG 파일이 주어진다, 아래와 같이 오탁후스러운 그림이 나옴.


    스테가노그래피 분석 사이트 몇군데를 돌려보았느데 성과 없음.
    1) Digital Image Forensic Analyzer - imageforensic.org
    2) http://stylesuxx.github.io/steganography/
    3) http://www.jpeg-repair.org/vg-jpeg-repair/
    4) tweakpng-1.4.6

    뭔가 내포된것이 있는지 binwalk로 확인 했는데 없뜸.
    그래서 오탁후 사진 pngcheck를 진행하면, CRC error in chunk IDAT (computed ecfb2a19, expected ba3de214) 가 확인된다.

    Code Block
    languageperl
    linenumberstrue
    root@Juwon1405:~/z/CTF/2018/hitbxctf2018/steganography# binwalk e47c7307-b54c-4316-9894-5a8daec738b4.png
    
    DECIMAL       HEXADECIMAL     DESCRIPTION
    --------------------------------------------------------------------------------
    0             0x0             PNG image, 1024 x 653, 8-bit/color RGBA, non-interlaced
    41            0x29            Zlib compressed data, default compression
    2747          0xABB           LZMA compressed data, properties: 0xC7, dictionary size: 17629184 bytes, uncompressed size: 564116269818626 bytes
    7399          0x1CE7          LZMA compressed data, properties: 0x89, dictionary size: 1749155840 bytes, uncompressed size: 2226797330053640880 bytes
    8453          0x2105          LZMA compressed data, properties: 0xA3, dictionary size: 42532864 bytes, uncompressed size: 2363042167456256480 bytes
    8755          0x2233          LZMA compressed data, properties: 0x92, dictionary size: 17104896 bytes, uncompressed size: 5654336402406536386 bytes
    8841          0x2289          LZMA compressed data, properties: 0x5C, dictionary size: 2028666880 bytes, uncompressed size: 1187824461394739226 bytes
    11664         0x2D90          LZMA compressed data, properties: 0x92, dictionary size: -6750208 bytes, uncompressed size: 5089269877972990409 bytes
    13376         0x3440          LZMA compressed data, properties: 0xB6, dictionary size: 2116681728 bytes, uncompressed size: 1258534629648183174 bytes
    18844         0x499C          LZMA compressed data, properties: 0x92, dictionary size: -1800601600 bytes, uncompressed size: 4711838334337024013 bytes
    23925         0x5D75          LZMA compressed data, properties: 0x93, dictionary size: 1620639744 bytes, uncompressed size: 2447307085072310094 bytes
    29959         0x7507          LZMA compressed data, properties: 0x91, dictionary size: -30408704 bytes, uncompressed size: 5504946975723080848 bytes
    31655         0x7BA7          LZMA compressed data, properties: 0x64, dictionary size: -1049034752 bytes, uncompressed size: 6260289902948521843 bytes
    39231         0x993F          LZMA compressed data, properties: 0xB8, dictionary size: -574160896 bytes, uncompressed size: 7061410741363752976 bytes
    40486         0x9E26          LZMA compressed data, properties: 0xBF, dictionary size: -446103552 bytes, uncompressed size: 363949681333449935 bytes
    42801         0xA731          LZMA compressed data, properties: 0x5A, dictionary size: 329515008 bytes, uncompressed size: 103600418035026752 bytes
    46495         0xB59F          LZMA compressed data, properties: 0x51, dictionary size: 1941897216 bytes, uncompressed size: 7349833221898761908 bytes
    47342         0xB8EE          LZMA compressed data, properties: 0x88, dictionary size: -1247150080 bytes, uncompressed size: 2901375546847713559 bytes
    49547         0xC18B          LZMA compressed data, properties: 0xCF, dictionary size: 27459584 bytes, uncompressed size: 5504915316123753562 bytes
    50115         0xC3C3          LZMA compressed data, properties: 0x7E, dictionary size: -1610088448 bytes, uncompressed size: 864741550019018216 bytes
    90968         0x16358         LZMA compressed data, properties: 0x91, dictionary size: -2072313856 bytes, uncompressed size: 2148850342028290981 bytes
    92204         0x1682C         LZMA compressed data, properties: 0x87, dictionary size: -1152385024 bytes, uncompressed size: 4895412928778185300 bytes
    97605         0x17D45         LZMA compressed data, properties: 0xB8, dictionary size: 2140864512 bytes, uncompressed size: 145268781718745189 bytes
    100220        0x1877C         LZMA compressed data, properties: 0xA2, dictionary size: 1545142272 bytes, uncompressed size: 18155136063701122 bytes
    100647        0x18927         LZMA compressed data, properties: 0x99, dictionary size: -437256192 bytes, uncompressed size: 3523327336774852554 bytes
    106125        0x19E8D         LZMA compressed data, properties: 0xBF, dictionary size: 1417347072 bytes, uncompressed size: 2005821249054206240 bytes
    107061        0x1A235         LZMA compressed data, properties: 0xBF, dictionary size: 1838546944 bytes, uncompressed size: 1358890821980526530 bytes
    110133        0x1AE35         LZMA compressed data, properties: 0xCF, dictionary size: 74907648 bytes, uncompressed size: 32783339350293512 bytes
    111083        0x1B1EB         LZMA compressed data, properties: 0xB8, dictionary size: 921108480 bytes, uncompressed size: 2444114911468346624 bytes
    127336        0x1F168         LZMA compressed data, properties: 0x90, dictionary size: -1104609280 bytes, uncompressed size: 5989013497571902034 bytes
    
    
    
    root@Juwon1405:~/z/CTF/2018/hitbxctf2018/steganography# pngcheck -v e47c7307-b54c-4316-9894-5a8daec738b4.png
    File: e47c7307-b54c-4316-9894-5a8daec738b4.png (1164528 bytes)
      chunk IHDR at offset 0x0000c, length 13
        1024 x 653 image, 32-bit RGB+alpha, non-interlaced
      chunk IDAT at offset 0x00025, length 1162839
        zlib: deflated, 32K window, default compression
      CRC error in chunk IDAT (computed ecfb2a19, expected ba3de214)
    ERRORS DETECTED in e47c7307-b54c-4316-9894-5a8daec738b4.png


    CRC error in chunk IDAT (computed ecfb2a19, expected ba3de214) 는 IDAT chunk 무결성 값이, ecfb2a19로 계산되는데 실제 ba3de214로 계산되었다는 말씀으로,
    IDAT chunk를 날조한 사건으로 판단된다. (시바 이걸 스테가노그라피라고 ... 하... )








2. Web

 

3. Android

 2.1 upload

Section
bordertrue

| 문제

  • TIP : Get Shell !

Image Added


Image Added





3. Android

  •  multicheck

+ 파일 다운로드

Image Added

Image Added

+ apk 폰에 설치해 작동 상태 보기
flag 입력후 check 버튼 누르면 “Sorry, you are wrong” 나옴.

Image Added


+ 디컴파일 하여 소스코드 본 결과

플래그를 제대로 입력하면, 아래와 같이 “YES, you get it~” 이라고 출력될모양임.

Image Added

 

+ 그럼 method.invoke 는 어디있는가?

겁나게 꼬아뒀음. dex파일로부터 class 파일을 풀어냄.

Image Added

그리고, 그 클래스 파일을 로드하고, 지워버림.

Image Added

 

로드된 클래스엔 아래 메소드가 있는모양.

com.a.Check.check 메소드.

Image Added

이것을 알아내면 되는거임. 이라고 파악함.

 

+ 디컴파일된 내용을 가지고 claz.dex를 풀어내는 java 코드를 작성.

Image Added

 

+ claz.dex아 풀어진 claz_out.dex를 얻어냄.

Image Added

 

+ dex를 jar로 바꿔봄.

Image Added

 

+ 산출된 jar파일을 jd-gui 로 열어봄.

Image Added

 

+ 디컴파일된 내용이 나왔음. 여기서 문자열을 얻어내면 답이될거라 확신함.
소스코드를 보니.. 참 더럽다고 느낌. 왜? 어째서 이렇게 괴상하게 해놓은거야. 너무하자나. 귀찮아.
그냥 안해버릴까 5초정도 고민함.

Image Added

 

+개뻘짓중…

Image Added


+ ???? 꼬였다…미친.. 카악 퉷

Image Added

 

+ 방법을 달리해야겠음. 그냥 소스에서 정렬하자…

Image Added

 

 

+ 헥헥. 정렬 완료.

Image Added

 

+ 문자열 나왔음.
HITB{this_is_certainly_not_the_flag}
영어를 보니.. 이것은 확실히 플래그가 아니란다…

 

+ ???? 답이 아니네??

Image Added

 

뭐야.. 나 이런거 진짜 싫어…
나도 ctf때 이런문제 내놓고 확 잠수타버릴까…



+ 잠깐 일이 생겨 멈췄다가 다시 왔음.


+이거 또 개수작을 부리는 모양인데... 리소스좀 뒤져보니 .so 파일이 보임. ndk인가... 

java소스단엔 가져다 쓰질 않았음. 뭐하자는걸까...

Image Added


+ 일단 ida가 필요하게됨. 노트패드로 단순히 열어선 뭐 보이는게 없음.

ida 설치중.. ... 아 열받아.. 아 열받아!!!!! 위에서 개뻘짓 했자나1!!!! 괜히 짜증나버렷!!!!!!! 카악 퉷

퉷!!! 카악~~! 퉷 이문제 낸녀석 코풀다가 코털 다 뽑혀버려라.!!!!!!!!

Image Added


+ 일단 libcheck.so 파일 열어봄

Image Added


+ ida로 열어서 봐도... 전혀 알지를 모르겠음. apk 와 연관되는 부분이라곤 그냥 load하는것뿐이여서
이정표가 전혀 없음. 뭐냐이건... 정말 이따위로 문제 낼래!!!

Image Added

native 키워드도 없고, 함수명도 다 똥임.

어떻게 푼걸까... 이 인간들.....


+ 문제를 다시 생각해보는중.

Check!! Check!! Check!! 란다.. 확인하고. 또 확인하고. 그리고 또 확인하라는데..

여러번 확인했더니 블럭먹었다. 카악 퉷

Image Added