ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HCTF Write up
    $ Capture The Flag $ 2019. 11. 18. 13:09

    Forensic

     

    Normal Forensic

     

    pcapng 파일을 좋은 가독성과 빠른 분석을 위해서 pcapng 파일을 pcap 파일로 변환을 해보겠습니다. (NetworkMiner 에는 pcapng 파일이 안들어가서)

     

    그리고 networkminer 에 넣어보면 아래와 같이 Messages 목록에 3개가 있는것을 확인 할 수 있습니다.

     

    해당 파일들은 전부 메일이며 데이터를 정리해 보면 아래와 같습니다.

     

    그중 Frame 16529번을 보면 password 가 있지만 IT IS NOT FLAG 로 FLAG가 아니라고 이야기 하면서 다른 파일은 Secret Channel을 통해서 보냈다고 합니다.

    그렇다면 Secret Channel을 통해서 보내진 파일은 .zip 또는 .7z 와 같은 압축관련 파일일것같고 거기에 사용하는 password 가 ITISNOTFLAG 인것 같습니다.

     

    Packet File을 분석해서 Secret Channel을 찾아봐야 할것 같습니다.

    원본 파일인 .pcapng 파일을 보면 ICMP Protocol 을 찾아 볼수 있는데 각각 패킷당 데이터가 조금씩 들어가 있습니다.

     

    Source 가 192.168.3.128인 패킷을 전부 뽑아 내면 될것 같습니다.

    data를 한번 확인해 보면 아래와 같습니다.

     

    이런식으로 데이터가 들어있습니다.

     

     

    이런식으로 데이터가 출력이 되기 때문에 전부 아스키 코드화 시켜서 확인해 보면아래와 같습니다.

     

    해당 데이터를 base64로 복호화를 해보면 아래와 같습니다.

     

    7z 시그니처가 있지만 앞부분에 dummy가 있습니다.

     

    그렇다면 base64decode를 해서 해당 값을 바이너리 쓰기를 한뒤에 앞 더미 부분을 지우면 될것 같습니다.

     

    해당 flag.7z 을 HxD로 열어보면 아래와 같습니다.

     

    하이라이트 한부분을 지워버리면 7z 파일이 될것 같습니다.

     

    비밀번호를 ITISNOTFLAG 로 하면 압축이 해제가 됩니다.

    flag 파일을 열어보면 ELF 파일이라는 것을 알 수 있습니다.

     

    실행하면 flag를 얻으실 수 있습니다.

     

    Flag : HCTF{Now_You_Know_ICMP_Covert_Channel}

     

     

    Easy Forensic

     

    먼저 사진을 보면 아래와 같습니다.

     

    로고가 매우 맘에 듭니다 ㅋㅋㅋ

     

    해당 사진을 Stegsovle.jar 스테가노 그래피 툴에 넣어보면 아래와 같습니다.

     

    Blue plane 0 부분에서 데이터가 은닉 되었다는 것을 확인 할 수 있었습니다.

    LSB Steganography 를 사용한것으로 판단이 됩니다.

     

    해당 사진을 저장하고 확대해 보면 왼쪽 상단에 데이터가 보입니다.

     

    해당 값을 추출하기 위해서 python 코드를 작성해 보겠습니다.

     

    (0, 0, 0)은 검정색 이므로  "0" (255, 255, 255) 는 흰색이므로 1로 변경하고 8비트를 만들기 위해서 슬라이싱 해서 출력해보겠습니다.

     

    출력은 아래와 같습니다.

     

    Flag : HCTF{What_A_Simple_Steganography_Problem!}

     

    ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

     

    NewBie

     

    CryptoFile

     

    해당 소스코드를 확인해 보면 아래와 같습니다.

     

    Seed 값을 이용해서 encrypt를 한것으로 확인이 되기 때문에 제공된 암호화 파일을 이용해서 Seed 값을 구해보겠습니다.

     

     

    출력된 Seed 값인 1573570747을 이용해서 값을 이용해서 decrypt code를 조금 수정해서 코드를 완성시키고 코드를 실행하면 아래와 같은 파일이 출력이 됩니다.

     

    Flag : HCTF{Se3d_T1mE_15_D4nG3rouS}

     

    Cultureland

     

    문제 사진을 열어서 확인해 보면 아래와 같습니다.

     

    해당 바코드를 복구 해서 인식을 하면 4180-0217-3737-0713 라는 PIN 번호가 나오기 때문에 Flag 인증이 가능합니다.

     

    Flag HCTF{4180021737370713}

     

     

    NetCat

     

    py 코드를 확인해 보겠습니다.

     

    flag 를 그냥 출력해 줍니다.

     

    Flag : HCTF{net"Cat" is so cute}

     

     

    NonPrintable

    문제 소스코드를 확인해 보겠습니다.

     

    \xde\xed\xbe\xef를 입력하면 되는 문제이지만 직접 입력을하면 문자열로 들어가게 되어 있습니다.

     

    그래서 python 코드를 이용해서 실행과 동시에 넣어 줄 수 있습니다.

     

     

    Flag : HCTF{beef steak is delicious}

     

     

    Sanity Check

     

    Flag :  HCTF{flag_looks_like_this}

    '$ Capture The Flag $' 카테고리의 다른 글

    X-MASCTF Write up  (0) 2019.12.21
    RITSEC CTF Write up  (0) 2019.11.20
    Newbie CTF write up  (0) 2019.11.07
    Shadow CTF write up  (0) 2019.11.05
    HolyShield CTF write up  (0) 2019.10.28

    댓글

Designed by Tistory.