전체 글 208

kisa - 해킹 공격 흔적 찾기

kisa - 해킹 공격 흔적 찾기 포렌식 문제이다. 디스크 파일을 분석해서 root 계정의 비밀번호를 획득해야 한다고 한다. 제공되는 파일의 확장자는 .img이지만, 시그니쳐를 확인해보면 1F 8B 08로 gz파일이다. 따라서 gz압축으로 압축을 풀면 디스크 이미지를 획득할 수 있다. UFS 파일 시스템이며 FreeBSD이다. passwd를 보고 계정 root비밀번호를 획득 해보려 하였으나, 실패하였고, shadow파일은 존재하지 않았다. 다른 history도 찾을 수 없었다. 그 중 etc경로에 pwd.db, spwd.db가 있었는데 이는 각각 사용자 정보가 저장되는 파일이다. pwd.db에는 계정 정보가, spwd.db에는 비밀번호가 적혀 있다고 한다. 위 사진은 spwd.db 파일의 일부를 가져온 ..

CTF | wargame 2016.12.29

codegate 2016 - eocnd

codegate 2016 - eocnd write up https://zzoru.com/wordpress/?p=15를 참고하였음 문제는 misc분야인데 엄청나게 큰 데이터의 파일이 제공된다. 압축된 파일이 약 2.7GB, 압축을 풀면 약 3.7GB정도? 힌트가 2개의 영상으로 주어진다. 1번 힌트는 Radio head라는 그룹의 Creep이라는 유투브 영상이며, 두번째는 자동차의 무선 키를 해킹하여 공격하는 영상이다. 여기서 도출할 수 있는 내용은 무선 네트워킹과 관련 되어 있다는 것이며 문제 풀이를 위해 GNU Radio를 이용하면 된다. (실제 풀 당시 여기까진 왔던거 같은데...) 하지만 문제 파일을 보면 그냥 쌩 바이너리라서 어떻게 해야 할지 답이 나오지 않았다. write up을 보니 제공된 바..

CTF | wargame 2016.12.29

Hack The Vote 16 - topkek (Crypto, 2-10 진법)

TOPKEK 문제는 위처럼 되어 있고, KEK과 TOP이 나열되어 있는 텍스트 파일이 제공된다. KEK과 TOP이 반복적으로 나열되어 있어서 무슨 암호인지 알아채지 못했는데 알고 보니 KEK과 TOP 뒤에 붙어있는 느낌표를 가지고 판단을 하는 문제였다.각각 KEK이 앞에 붙은경우 느낌표의 갯수대로 0을, TOP이 붙으면 1을 붙여서 출력을 해 주면 된다. writeup을 보면 비슷하지만 다양한 방법으로 소스코드를 작성하는데 아래의 소스코드가 가장 간결했던것 같다. import libnumf=open('kek.43319559636b94db1c945834340b65d68f90b6ecbb70925f7b24f6efc5c2524e.txt','rb')data=f.read()f.close() data_split = ..

CTF | wargame 2016.11.12

Hack The Vote 16 - warp_speed (jpg 파일 변환)

완전한 풀이는 아니지만 일단 풀었기에 작성한다.트럼프 선거활동에 관한 뭐 영어 문장이 있고 사진 한장이 주어진다.사진은 jpg로 제공된다. 사진을 보면 느껴지는게 픽셀 단위로 밀어 놓은것이 보인다.하지만 그냥 줄 길이로 맞추어 보았는데 전혀 맞지 않았다. 해서, 뭐 카빙을 해야 하나 싶어서 hex바이너리를 보았는데 아래와 같은 문장이 나온다.I am a square. Anyone who tells you otherwise is a LIAR!대강 풀이를 해 보면, 문제의 사진 파일은 square, 즉 정사각형 이라는 의미이다.문제 파일의 픽셀 수를 보면 1000x250이 된다. 이를 정사각형으로 바꾸려면 500x500로 바꾸어 주면 된다. 하지만 약간의 문제가 있다정확히 밀린 것이 아니라 줄이 하나씩 넘어..

CTF | wargame 2016.11.11

POX16 본선 - watch out (난독화 해제, WScript.Shell)

watch out (POX 2016 본선 - analysis) 본선 문제 중 analysis라는 문제가 있었는데 백업본을 받아서 한번 풀어 보았다. 문제는 바이너리 파일 하나가 주어지고 다음과 같다. 주어진 파일을 모두 분석하여 키값이 숨겨진 URL을 찾으시오 바이너리 파일을 HxD로 열어보면 다음과 같다. 그냥 보았을 때 익숙한 시그니쳐가 아니다. 문제를 풀 때 알 수 없는 바이너리 파일이 나오면 1. 시그니쳐를 구글링 해본다 (00 ~ 04 또는 00 ~ 08까지) -> 시그니쳐가 나오면 그에 상응하는 변환, 실행, 해제 방법이 있기 때문에 무조건 먼저 해 본다. 2. 파일 카빙을 해 본다. -> 문제에 의도적으로 다른 파일의 바이너리를 숨겨놓기 때문에 이 방법도 시도 해 본다. 보통 위 두가지 방법..

CTF | wargame 2016.11.11

Bluestack - Window 10 오류 (SYSTEM_SERVICE_EXCEPTION)

Bluestack - Window 10 오류 (SYSTEM_SERVICE_EXCEPTION)몇일 전 윈도우 업데이트를 하고 난 뒤부터 bluestack을 실행하면 자꾸 SYSTEM_SERVICE_EXCEPTION이라는 메시지와 함께 블루스크린이 발생하였다.구글링을 해 본 결과 이 문제는 virtualbox와 비슷 한 문제라는 메시지를 발견했고,바로 vmware로 가서 가상머신을 돌려보니 이전에 해결을 하였던 hyper-v 오류 메시지가 튀어나왔다.이는 hyper-v와 동시에 사용이 불가능 한 오류로, 이 문제를 해결하기 위해서는 아래 블로그에서 답을 얻을 수 있다. 그냥 hyper-v를 사용하지 않으면 된다. # bcdedit /set hypervisorlaunchtype off이 명령을 한 뒤 재부팅 ..

기타 2016.11.07

파이썬 레지스트리 설정

노트북을 새로 셋팅하고 난 다음 파이썬 Image모듈을 사용하기 위해서 PIL을 설치 하려고 하는데 레지스트리에 파이썬이 등록되지 않아서 자동 설치가 되지 않았을 경우 해결을 위한 레지스트리 파일이다. 보통은 알아서 레지스트리에 등록이 되는데 64비트이 경우 그런 일이 발생한다고 한다. (노트북에 파이썬을 E드라이브에 잡아서 그런것 일 수도) Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow643..

기타 2016.11.06

POX14 - Crypto-1 (파이썬 디컴파일, CBC블록암호, 소스 재정렬)

이번에 pox 준비를 하는데 좀 도우라고 해서 crypto 문제를 한번 봤다. 14년도 본선 암호 문제이다. ● 문제 확인 주 파일이름은 I_Love_SEED.py이며 위처럼 암호문이 txt 파일로 제공된다. 문제 소스코드는 다음과 같다. #!/usr/bin/python from SEED_only_enc import * import random s = SEED() keyn = random.randint(0,65536) key = str(keyn).zfill(16) data = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX k = s.SeedRoundKey(key) encData = s.cbc_encrypt(data,k) print "encData : ",en..

CTF | wargame 2016.10.10

TWCTF16 - glance (png 픽셀 조정, gif 이미지 추출)

galnce 문제는 gif파일이 주어진다. gif를 웹브라우저로 열어보면 위와 같이 좌측에 2픽셀정도로 빠르게 무언가 지나가는 것이 보인다. 이런 상태로는 볼 수 없으므로 먼저 gif에 존재하는 모든 이미지를 가져온다. gifframe이라는 프로그램을 이용하여 gif에 있는 이미지를 추출할 수 있다. 총 201개의 사진이 추출된다. 보면 추출된 모든 이미지는 2x600의 크기를 지닌다. 이 이미지들을 뭉쳐서 출력을 하면 답을 얻을 수 있다. import Image res=Image.new("RGB",(402,600),(200,200,200)) # 배경 판 제작 img_list = list() file_name = 'Frame%d.png' for i in range(0,201): # 반복을 돌며 png를 ..

CTF | wargame 2016.09.06

TWCTF16 - super_express (Crypto)

Super Express encrypted 파일하나와 problem.py파일하나가 주어진다. 문제의 소스인 problem.py는 아래와 같다. import sys key = '****CENSORED***************' flag = 'TWCTF{*******CENSORED********}' if len(key) % 2 == 1: print("Key Length Error") sys.exit(1) n = len(key) / 2 encrypted = '' for c in flag: c = ord(c) for a, b in zip(key[0:n], key[n:2*n]): c = (ord(a) * c + ord(b)) % 251 encrypted += '%02x' % c print encrypted ● ..

CTF | wargame 2016.09.06