Bài đăng

Đang hiển thị bài đăng từ Tháng 9, 2017

CSAW 2017 Write up

Hình ảnh
1. Misc 50 2. Forensic 150 3. Forensic 200 4. Crypto 350 5. Misc 100 ( twich ) 1.  nc misc.chal.csaw.io 4239 flag{@n_int3rface_betw33n_data_term1nal_3quipment_and_d@t@_circuit-term1nating_3quipment} In this challenge, when we connect to the server, it will give us 11 bits bin Okay, It is 8-1-1 even parity . It will look like 0        0.....0   0               0 start   data    parity bit   stop So now we check the data and the parity bit , if it right, we will get the data[-1] and send '1', or if it wrong, we will send '0' to make it retranmiss With parity bit, we can count the amount of  bit '1' in data , if the amount is even, the parity bit will be 0  okay now we write a script to do it and eat some snack, then we got the flag 2. Forensic 150:  It's registration day! These forms just seem longer and longer... UPDATE 10:44 Eastern: New pcap that should be a bit easier to work with. UPDATE 2:58 East

SECT CTF - ACID BURN ft REPORT Misc 200 & 200 Write up

Hình ảnh
Report - Misc ( 200 + 0 ) Mr. Belford sucks, is he hiding something.... Download:  http://dl.ctf.rocks/Report.tar.gz We are given a PDF file, at first i though maybe they hide some image or hidden text inside the pdf, so i use this site to extract   But wow, the are neither image nor font ,  nothing but text and metadata, cool  :D  So i was googling to see if the anyway to hide data in PDF We know that hidden data can be embeded in  But in SHA2017 CTF, i have solved something encrypted with AES , to recover, we must know how the PDF Structure to get key, so i think maybe the data is embeded in the OBJ section like  and below is the hidden data that we need to find.  So I used binwalk to extract data in pdf file ( fore some reason i cant use any pdf tool in my ubuntu, still working on fixing lol ) , then check the obj section ( in .zlib ) as u can see, we know that the prefix "SECT" in hex are : 53 45 43 54 , and BAM look at this index tab

ASIS Final - Simple crypto Write up

Hình ảnh
Đề: Begining always needs an interesting  challenge , we can assure you, this challenge is an interesting one to begin the CTF! Ta nhận được 1 file flag.enc và 1 file simple.py Sau 1 hồi quan sát ta thấy rằng mã hóa này có điểm yếu ở dòng  enc = xor_str(key * (len(flag) // len(key) + 1), flag).encode('hex') Ta có thể phục lại được flag bằng cách check length() của file flag.enc là 25280 đặt phần ( len(flag) // len(key) + 1 ) = x lúc này mã hóa sẽ thành enc = x_str(key*x,flag).encode('hex') -> ta có thể biết được độ dài của x vì function xor_str có điểm yếu là if len(x) > len(y):         return ''.join([chr(ord(z) ^ ord(p)) for (z, p) in zip(x[:len(y)], y)])     else:         return ''.join([chr(ord(z) ^ ord(p)) for (z, p) in zip(x, y[:len(x)])]) Dễ dàng thấy độ dài của file = độ dài của file mã hóa / len( key.encode('hex') = 25280 / 40 = 632  ta đã có x lúc này phục hồi bằng cách  flag = xor_str( key*x , flag.enc )

PwC Write Up Azercabal Warm-up.

Hình ảnh
Đề: HUqQr1pmoTkwZT1yKmWsHUqQK0t0L2guMTS5sA== Tiến hành Decode Base64 Hmm, gì đây nhỉ, có cả kí tự k đọc được và kí tự đọc được, mà bài này lại là bài warn up là ở dạng dễ Mình nghĩ rằng có thể nó là xor , cơ mà khi thử cả xortool lần xortay thì nhận ra rằng tầm bậy r Vậy có thể là ascii ceasar quay vòng vòng nhỉ? Thử viết script để test xem sao? ok vẫn fail :)) cay rồi How about Caesar thẳng cái base64 -_-  và cuối cùng tại ROT13, ta nhận được flag

PwC Write up North Korea

Hình ảnh
Đề: The most useful testing IQ page ever was released! Check your brain! http://128.199.89.195:8002/ Bài này khá là troll :v mình đã chơi thử đến level 11, thì gặp câu BILL GATE có bao nhiêu tiền :v quỳ sấp mặt, và được đàn anh khen là Low IQ ever :v Ok nên mình đã bình tĩnh lại và nhận ra rằng mỗi lần ta chơi thua, ta đều bị quay lại từ đầu cơ mà khi nhấp back thì ta lại quay chính vòng chơi trước http://128.199.89.195:8002/index.php?level=865c0c0b4ab0e063e5caa3387c1a8741 Ok vậy là bây giờ có thể ta chỉ cần điền đúng đối số cho level, ta có thể qua màn 1 cách dễ dàng mình thử check xem level có theo quy luật nào k thì thấy rằng đối số truyền vào level là 1 số đã bị md5 encode Mình thử decode và thấy rằng nó chính là md(i) theo La mã thì i = 1 ii = 2 iii = 3 ..... ở vòng mình kẹt là vòng 11 vậy nên sẽ là xi ở vòng 11 mình được thông báo là đã đang close to the flag -> mình thử vào level = md5(xiii) Ok thấy gái xinh là phải Of course chứ gì nữa

PwC Write up Cuba - Hid3 and S33k

Hình ảnh
Đề: for onsite team, contact orgnaiser to copy,thanks. https://drive.google.com/open?id=0B7ahcQCpMll-ZmRDZzJJWkRpSkk Bài này cho ta 1 file raw tận 2G, khá là căng, mình tiến hành phân tích với volatility và đầu tiên là check imageinfo, nhưng k hiểu lí do gì mấy chạy ngoài k ra -_- bực mình thử xài STRINGS thần chưởng thì supprise madafuka

PwC write up Portuga - Find me

Hình ảnh
Đề: I'm Different https://drive.google.com/open?id=0B7ahcQCpMll-MUdzcHQ3czJsM0E Ta nhận được 1 file pcap, và trong khi phân tích, ta nhận thấy có rất nhiều gói tin ICMP được gửi Quan sát và ta nhận thấy có 1 vài gói có chưa data lạ dạng hex Ta extract data và decode -> ta nhận được 1 chuỗi hex Tiếp tục decode hex ta nhận được 2 chuỗi , ta có thể thấy chuỗi thứ 2 là base64, base64 decode -> flag: F1nd_Us_Aga1n_olololol -> PwC{F1nd_Us_Aga1n_olololol} yeah và bạn đã bị troll rất thốn :) chọn cái khác nha =)) tiếp tục thử gói tiếp theo nó ra thế này : W3_m33t_Aga1n_olololol tiếp tục gói nữa ta tìm được : PwC{W3_Ar3_1cMp_Tunn3L1Ng} chính là flag thật <3

PwC Write up Central Affrica Republic

Hình ảnh
Đề: WE talk to each other in own way https://drive.google.com/open?id=0B7ahcQCpMll-ZnNvcDU1RnFKNFU Ta nhận được 1 file pcap, ta sẽ tiến hành phân tích sơ bộ :v Mình nhận ra ngay  cái query ffd8ff.g00gle.com có vấn đề và ffd8ff là 3 bytes đầu của file ảnh JPG, tiếp theo sẽ là e0 và 2 số random và 4a4649 Vậy giờ việc của ta là extract các cái bytes.g00gle.com ấy ra và ghép lại thành bức ảnh thôi Mình sẽ dùng command extract data query: tshark -r 5c7d7800965f7012b2adde87fc479d62.pcap -T fields -e ip.src -e dns.qry.name -Y "dns.flags.response eq 0 and dns.qry.name contains g00gle.com" >  flag.txt Sau đó bỏ vào notepad phẫu thuật tí , và tiến hành ghi file ta được nhận được file ảnh , strings ta nhận được 1 chuỗi hex -> decode ra flag

Tokyo Western 2017 - My Simple Cipher -Write up

Hình ảnh
This my first cipher system. Can you break it? my-simple-cipher.7z We are given 2 files Encrypted.txt and cipher.py Now we take a look at cipher.py file to see how the flag is encrypted #!/usr/bin/python2 import sys import random key = sys.argv[1] flag = '**CENSORED**' assert len(key) == 13 assert max([ord(char) for char in key]) < 128 assert max([ord(char) for char in flag]) < 128 message = flag + "|" + key encrypted = chr(random.randint(0, 128)) for i in range(0, len(message)):   encrypted += chr((ord(message[i]) + ord(key[i % len(key)]) + ord(encrypted[i])) % 128) print(encrypted.encode('hex')) Okay, after take a look, we know that: 1. len(key) = 13 and they should be in range(32,128) as well as the flag 2. len(flag) = 21 encrypted = chr(random.randint(0, 128)) and then for i in range(0, len(message)):   encrypted += chr((ord(message[i]) + ord(key[i % len(key)]) + ord(encrypted[i])) % 128) okay, so encrypted[0] = chr(