본문 바로가기

전체 글

(167)
holyshield puzzle holyshield puzzle이런식으로 이미지가 주어지는데 이걸 합쳐서 하나의 이미지로 만들어야한다 http://swlock.blogspot.kr/2015/12/script-python-tile.html 우선 이 글을 참고했다파일 이름이 00_00.png이런식인데 1단계는 쉽게 통과할 수 있다2단계는 base64인데 디코딩을해서 파일이름을 위와같이 만들어주고 합치면된다이제 3단계인데 3단계는 MD5로 되어있다 md5는 복고화가 일일이 안되니반대로 생각해보면된다 파일 형식은 00_00.png이런식이다 그러므로 01_01.png이름을 md5로 해서 찾으면 된다12345678910111213import osimport hashlib for x in range(1, 100): for y in range(1, ..
holyshield ransome holyshield ransome이 문제는 ransomware파일과 그걸 당한 hwp 파일을 하나 주었다 우선 파일 아이콘을 보니깐 파이썬을 많이해서 그런지 pyinstaller로 실행파일을 만들었다는걸 알아차렸다 그래서 디컴파일법을 검색해봤는데 pyinstxtractor.py 이런 pyc로 바꾸는 디컴파일 소스가 존재했다 소스를 돌려보니 ransome이라는 파일이 나왔는데 그 파일은 pyc가 아니였다 파일 헤더를 살펴보면 63 00 00 00 으로 시작하는데 파이썬 2.7점 버전의 pyc 확장자인 03 F3 0D 0A을 붙여주고 뒤에 4바이트는 00으로 채운다 그러면 pyc 파일이 만들어지게 되는데 그걸 다시 디컴파일하면 소스가 나타난다1234567891011121314151617181920212223..
holyshield easylang holyshield easylang우선 문제가 이렇게 나왔다 이게 헥스레이가 안되서 답답했는데바이트 사이즈를 수정해주면 헥스레이를 사용할 수 있다 여기서 컴파일러를 선택하고 int가 8바이트로 되어있는걸 4로 변경해준다그럼 이제 헥스레이가 되는데 main_func2 함수를 헥스레이하고 밑으로 내리면 XOR한 값과 비교하는 부분이 있다일단 18h로 24자라는걸 알 수 있다 01234567890012345678901234를 입력해주고 실행하면이런식으로 알 수 있다HS{we1come_t0_rhfod!!:)}
holyshield StudyScala holyshield StudyScala 12345678#StudyScalaa = [48, 49, 65, 71, 85, 95, 97, 100, 101, 102, 103, 105, 108, 114, 116, 121, 123, 125, 34, 52, 12, 43, 99, 43, 55, 1, 3, 4, 72, 83]b = [4, 5, 19, 12, 13, 8, 6, 7, 15, 5, 3, 0, 14, 5, 1, 14]result = ""for x in b: result += chr(a[x]) print resultColored by Color Scriptercs 일단 1번 문제다 답이 비교적 간단한 문제였다 처음에 인증을 못했는데 자세히 보니깐 앞과 뒤에 HS{}이걸 붙여주더라HS{U_4lready_G0t_1t}
PDF - Javascript pdf파일을 주는데 이런게 적혀있다무시하고 안에 자바스크립트를 찾아보자 전에 써니나타스에서 이와 비슷한 문제를 푼적이 있어서그대로 해봤다 우선 이사이트에 업로드해서 자바스크립을 봤는데소스가 음 일단 실행해봤다 소스는 이렇게 생겼는데 실행하니 zjocYQp 이게 정의되지 않았단다 pdf 파일을 보면 자바 스크립트가 두개있는데다른 한개에서 zjocYQp 이 변수를 찾았다근데 소스를 보면 info에서 author, title, subject를 또 찾아야할 거같다kail를 열어 peepdf를 사용해보았다peepdf -i ch7.pdfmetadata를 실행하니 var info={ subject: "I5xlmqMpKN14VZNWuCulWR2fy4X6jS3j", producer: "MiKTeX pdfTeX-1.40...
RC3 CTF GoReverseMe 주말이라고 천천히 아주 느긋하게 푼 문제다 실행하면 인자를 안줘서 뜨는 문구 같다 그냥 빈 파일을 하나 만들고 인자로 줘보자 자 실행했더니 바탕화면에 flag.enc라는 파일이 만들어졌다 그냥 랜섬웨어로 암호화한 것처럼 보이는 파일이 나타난다 우선 실행을 하면 runtime_text라는 함수가 있는데 헥스레이로 봤을 시 main_step으로 1~4까지 함수가 있다이 부분을 분석하면 쉽게 풀 수 있을 듯 하다 main_step1을 보면 어떤 값을 가져와 0x69랑 XOR 연산을 한다 위에 루프를 지나서 덤프창을 보니 golang-or-bust라는 값을 볼 수 있다처음엔 어디에 쓰는지 모르니 일단 알아두기만 하자main_step1은 더이상 볼일이 없다 이제 main_step2를 봐야하는데그냥 봐도 너무 길다..
RC3 2016 CTF FLE 이번 문제는 희근이형이 추천해준 문제다 파일 크기가 작고 비교적 쉽다 argv로 인자를 받아서 flag랑 비교한다비교해서 맞다면 gottem을 출력하는데그 위에 보면 enc(dest)라고 함수가 하나있다 이렇게 생겻는데 XOR연산을한다 이걸 코딩하면 12345678910111213141516171819202122a = [0x36, 0x22, 0x57, 0x12, 0x2A, 0x2E, 0x30, 0x12, 0x30, 0x29, 0x21, 0x12, 0x22, 0x2D, 0x25, 0x78, 0x49, 0x38, 0x2B, 0x6A, 0x36, 0x24, 0x49, 0x73, 0x2B, 0x2E, 0x2F, 0x76, 0x2A, 0x26, 0x49, 0x79, 0x2B, 0x33, 0x00]b = [0x25..
ELF - KeygenMe 하 이문제는 역대급을 뻘짓을 많이했다 우선 name은 Root-Me라고 알려주었다 하지만 난 개뻘짓을 하였고 다른걸 입력하고있었다 시리얼도 마찬가지다 문자를 입력하면 안되고 숫자를 찾는거다 ㅂㄷㅂㄷ 다 써있는걸 못읽었다 우선 열면 프로그램상의 환영메시지를 볼 수 있다하지만 문자를 비교하는 값이 안나와있는데 위로 올리다보면 이런 값이 있는데 단축키 c를 눌러준다그럼 밑에 처럼 안보이던 80491D1함수가 나타나는데 딱봐도 그렇다 이 프로그램은 안티디버깅이 걸려있는데 이름은 3글자 이상이고시리얼은 숫자다 여기가 바로 중요한 부분인데 딱봐도 음...처음에 많이 헷갈렸지만 몇번 해보니깐 다 알 수 있다 그리고 중간중간 총 3번 rdtsc 명령어가 보인다이건 시간을 비교하는거니깐 바로 분기에 브포를 걸고 실행하면..