티스토리 뷰

CTF&Wargame/ETC

TAMU CTF reversing

70ry 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
댓글
댓글쓰기 폼
«   2019/01   »
    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    
Total
27,861
Today
9
Yesterday
8