ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TAMU CTF reversing
    CTF&Wargame/ETC 2017.04.20 01:43

    https://ctf.tamu.edu/scoreboard




    threads - 100


    스트링을 보면 플래그가 보인다

    전체적으로 문제들이 매우 쉬웠다.



    threads2 - 100


    md5값이 보여서 바로 복호화했더니


    바로나온다



    fancy bear - 100


    after func0을 출력한다

    함수중에 func0이란 함수명이있는데 한번보자


    0x66


    0x66보다 크면 넘어가게된다.

    이런식으로 함수가 func0~func37까지 있는데

    헥스레이의 저부분을 다 리스트화해서 1씩 더한값을 출력하면된다.


    1
    2
    3
    4
    5
    6
    = [0x660x680x660x640x6c0x7a0x630x780x6d0x600x6c0x680x620x5e0x640x650x650x6e0x710x730x5e0x330x360x2f0x630x640x320x630x630x640x350x340x340x350x310x620x340x7c]
     
    result = ""
    for x in a:
        result += chr(x+1)
    print result
    cs


    1
    gigem{dynamic_effort_470de3dde65562c5}
    cs




    SEDNIT - 200


    원래 풀이를 안쓸려고 했는데 이 문제 때문에 쓴다


    우선 문자열을 봤더니 별게 없다


    이렇게 문자들이 보였는데 바이너리에서 저부분을 쫙 뽑았다 

    (이렇게 안해도 f2() 함수에서 알아서 출력해주더라...)

    아무튼 문자들을 다 구하면 


    이렇게 base64가 보이게되는데 첫번째는 패스하고 나머지 2개를 복호화하면


    RSA라는 것을 알게된다

    첫번째는 RSA 복호화 할 문자열인데 참 좋게 private key을 줬다

    원래 생각한 RSA는 n e p q 이런걸로 푸는건줄 알았는데

    openssl이라는것을 알 수 있었다 openssl을 처음써봤는데


    한번에 안풀렸다 계속 삽질을 하다가 ddddh형의 도움으로 풀수있었다


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_OAEP
    from base64 import b64decode
     
     
    def decrypt_RSA(privkey, message):
        key = open(privkey, "r").read()
        rsakey = RSA.importKey(key)
        # rsakey = PKCS1_OAEP.new(rsakey)
        decrypted = rsakey.decrypt(b64decode(message))
        return decrypted
     
    flag = "qheRHIyKE/tFq4aDh0x8uvPsaWefzmbWgbCD1ogaTiRSftMnrbFpSigVdYw5UVxwmcUWWIypVLGMco7i4O5uNadtTq++I5bEKl9LyXL7XIMLF2gu6VvRYi7DAe3L8sGlVrji/msWTzyIJhm6BxKuqp7lliRhgfmgjR0LgkCowEQ="
    print decrypt_RSA('test.key', flag)
    cs


    이렇게 소스를 검색하다 찾았는데 제대로된 키를 얻을 수 없었다

    PKCS1_OAEP

    PKCS1_v1_5.new 이부분을 주석처리하고 돌리게되면 제대로된 키값을 구할 수 있다.



    1
    gigem{feels_g00d_2b_a_pIrate__b061efc2712c4109}
    cs


    'CTF&Wargame > ETC' 카테고리의 다른 글

    TAMU CTF reversing  (0) 2017.04.20
    pragyan ctf MI6  (0) 2017.03.03
    BSidesSF Reversing  (0) 2017.02.14
    codegate 2017 angrybird  (2) 2017.02.11
    AlexCTF Reverse Engineering  (0) 2017.02.06
    BITSCTF Riskv and Reward  (0) 2017.02.05

    댓글 0

Designed by Tistory.