Showing posts with label Misc. Show all posts
Showing posts with label Misc. Show all posts

Saturday, June 8, 2019

[Writeup] HSCTF 2019

FORENSICS

Chicken Crossing


Use strings and grep command in linux I have a flag.
Flag: hsctf{2_get_2_the_other_side}

Cool Image

The author give us a file with extension is .pdf, but I can open it, check back the header I realize it is the .png file so I just change the extension and get flag.


Cool Image 2

This time I can't open the PNG file. Like cool image 1 I open it in HXD and I see the auther add some stuffs at the header and make operation can't realize the png file. Just delete all of it I have true image:

Slap


Once again, I use strings and grep command in linux and take flag
Flag: hsctf{twoslapsnonetforce}


Logo sucks bad


When I use Stegsolve on the image, I see at top of image have been changed, so I believe the Image changed by LSB. I used zsteg and have flag.
Flag: hsctf{th4_l3est_s3gnific3nt_bbbbbbbbbbbbb}


Sunday, November 25, 2018

[Writeup] TuCTF 2018

Reverse

Danger Zone:
Đề bài cho ta một file pyc và khi thực thi ta được một đoạn string: =YR2XYRGQJ6KWZENQZXGTQFGZ3XCXZUM33UOEIBJ. Trông có vẻ giống chuỗi base64 bị đảo ngược, nhưng khi decode thì mình lại kí tự không đọc được nên mình thử reverse lại source code xem sao. Dùng Easy Python Decompiler mình có được source code của chương trình.

 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
# Embedded file name: ./dangerzone.py
import base64

def reverse(s):
    return s[::-1]


def b32decode(s):
    return base64.b32decode(s)


def reversePigLatin(s):
    return s[-1] + s[:-1]


def rot13(s):
    return s.decode('rot13')


def main():
    print 'Something Something Danger Zone'
    return '=YR2XYRGQJ6KWZENQZXGTQFGZ3XCXZUM33UOEIBJ'


if __name__ == '__main__':
    s = main()
    print s

Đọc source thì chúng ta đã có hết các hàm decode, nếu vậy thì chúng ta chỉ cần chỉnh sửa lại hàm main một tí thì sẽ có flag.


1
2
3
4
5
6
if __name__ == '__main__':
    s = main()
    s=reverse(s)
    s=b32decode(s)
    s=reversePigLatin(s)
    print s
Flag: TUCTF{r3d_l1n3_0v3rl04d}

yeahright:

Mở file binary bằng IDA ta có thể dễ dàng nhìn thấy chương trình sẽ so sánh chuỗi ta nhập vào với biến pass, nếu đúng sẽ in ra flag còn nếu sai sẽ in ra yeahright.

Tìm biến pass trong IDA mình nhanh chóng tìm được giá trị của nó:


Pass là: 7h3_m057_53cr37357_p455w0rd_y0u_3v3r_54w
Ok giờ chỉ việc gửi lên server và lấy flag thôi.
Flag: TUCTF{n07_my_fl46_n07_my_pr0bl3m}

shoop:

Lại là yêu cầu nhập password, mình tiếp tục mở file binary bằng IDA, tuy nhiên bài này khó hơn bài yeahright vì password đã bị biến đổi:


Vòng for đầu tiên có nhiệm vụ đưa chuỗi ta nhập vào một mảng. Vòng for thứ hai biến đổi chuổi ta nhập vào bằng cách dời lui kí tự  đi 5 đơn vị (xét theo bảng ascii) ví dụ: 'A' -> '<', 'B' -> '=',...
Vòng for thứ ba đảo vị trí các kí tự trong chuổi s sau khi đã thực hiện bước 2.

Sunday, May 20, 2018

[Writeup] VNPT-SECATHON 2018 - Misc


Simste

Trong bài này ban tổ chức cho chúng ta đoạn teaser trailer Chạy ngay đi của Sếp.




Ngay khi nhìn vào dung lượng của tập tin mp4, thì mình biết chắc chắn rằng nó đang giấu một file gì đó.

Mở file mp4 bằng binwalk hay foremost cũng không thấy gì khác biệt, nên mình đành làm nước cuối cùng đó là tải luôn đoạn teaser của Sếp về để xor, và ngay lập tức mình có được file wav đã bị đổi header. Và nó bị đổi header thì chúng ta phải sửa lại cho đúng

từ


thành


sau khi có được file wav, trong lúc thi mình có nghĩ đến kĩ thuật lsb và đã sử dụng wavesteg để lấy flag nhưng đáng buồn là mình chỉ sử dụng 1 lsb để decode và ra được 1 nữa flag.



 Cho đến lúc chiều khi ban tổ chức có hint là ack mình vẫn không biết đó là kĩ thuật gì. Sau khi cuộc thi kết thúc mình có hỏi và được mấy anh trong Zepto team thì mới biết đó là kĩ thuật dubstep data encoding, một kĩ thuật rất mới ( mình từng có lướt qua twitter của DEFCON và thấy kĩ thuật này nhưng hình như lúc đó đang cày quest book TI8 nên bỏ qua luôn thì phải 😭 ). Các bạn có thể tham khảo kĩ thuật này tại đây.