Forensics

    CTF-D writeup - 이 파일을 훔쳤지만 작동하지 않는다

    CTF-D writeup - 이 파일을 훔쳤지만 작동하지 않는다

    먼저 주어진 파일은 koe라는 파일인데, 다음과 같이 바이너리 파일인 것을 확인할 수 있다. strings로 살펴봤을때는 flag라는 문자열이 있기는 한데 딱히 단서가 되는 것은 없는 것 같다. HHJ 🤡  ~/Downloads  strings koe /lib/ld-linux.so.2 libc.so.6 _IO_stdin_used puts __libc_start_main __gmon_start__ GLIBC_2.0 PTRh [^_] ;*2$"( '- &:u/85)(/& #r55$3 5) / 5) 5 p53 (/

    CTF-D writeup - Find Key(ELF)

    CTF-D writeup - Find Key(ELF)

    이번에는 Find Key(ELF)의 문제를 풀어볼 것이다. 다음과 같이 chall.raw파일인 주어진다. 그러면 먼저 file을 이용하여 chall.raw파일을 살펴보겠다. 위 파일이 elf파일 인 것을 확인할 수 있다. 다음으로 strings로 살펴보겠다. 크기가 매우 크기 때문에 strings를 한 결과를 다음의 명령어를 이용하여 텍스트 파일로 저장해보겠다. strings chall.raw > chall.txt 텍스트 파일이 뽑혔으면 string으로 "flag"를 계속 찾다 보면 다음과 같이 의심스러운 부분이 나온다.(물론 노가다를 살짝 해야한다.....) 밑에 나온 문자열을 base64로 decoding하면 다음과 같이 나온다. Decoding하면 중간에 의심스러운 문자열이 있는걸 확인활 수 있다...

    CTF-d writeup - fore1-hit-the-core

    CTF-d writeup - fore1-hit-the-core

    이번에는 ctf-d 워게임의 fore1-hit-the-core 문제를 풀어볼 것이다. 일단 fore1.core라는 파일이 주어진다. 파일의 형식을 살펴보면 elf파일 인것을 확인할 수 있다. elf를 분석하기 전에 strings로 간단하게 살펴보자. 위와 같이 플래그 같은 형식의 문자열이 나오지만, 플래그는 아닌 것 같다. 플래그 형식을 생각하면 4번째 문자 마다 조합해보면 플래그가 된다고 생각해 볼 수있다. python은 문자열의 첫번째를 0번째라고 받아들이기 때문에, 3x + 5의 문자열들을 flag에 오류가 나기전까지 계속 합쳐주면 flag가 나올 것이다. 다음과 같이 python 코드를 만들 수 있다. strings = "cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnj..

    CTF-d writeup - 윈도우 작업 관리자에서 우클릭...

    CTF-d writeup - 윈도우 작업 관리자에서 우클릭...

    이번에는 ctf-d 워게임의 "윈도우 작업 관리자에서 우클릭..." 문제를 풀어볼 것이다. 다음과 같이 메모리 덤프를 뜬 파일이 보인다. strings를 이용하여 flag형식을 검색해보면 다음과 같이 쉽게 flag를 획득할 수 있다. SharifCTF{4d7328869acb371ede596d73ce0a9af8}

    [기초부터 따라하는 디지털 포렌식(inflearn)] - Volatility 사용 및 문제풀이

    [기초부터 따라하는 디지털 포렌식(inflearn)] - Volatility 사용 및 문제풀이

    오늘은 인프런의 무료 디지털 포렌식 강의를 기반으로 메모리 포렌식을 공부해 볼 것이다. 여기서는 volatility라는 도구를 이용하여 분석을 할 것이고, 문제 파일은 다음 링크에서 확인할 수 있다. http://files.sempersecurus.org/dumps/cridex_memdump.zip Cridex 문제 먼저 문제 파일 압축을 풀고 바로 volatility를 사용하여 분석을 시작할 것이다. 맨 처음 volatility에서 사용해야 할 명령어는 다음과 같다.(물론 앞에 실행파일 명은 윈도우, 맥에 따라서 달라질 수 있다.) Volatility -f "filename" imageinfo 이 명령어는 메모리 덤프의 운영체제 같은 기본 정보를 찾아주는 명령어이다. cridex문제파일로 실행하면 다음..

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - Thumbnail, Skype, Recycle.bin 분석

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - Thumbnail, Skype, Recycle.bin 분석

    이번에는 Recycle.bin, Thumbnail, Skype, 이 세 가지를 기반으로 하는 시나리오를 분석해 볼 것이다. 그러면 방금 말한 것 중 두 가지(Recycle.bin, Thumbnail)를 어떤 식으로 분석 및 접근해야 하는지 먼저 알아보겠다. - Recycle.bin 먼저 recycle.bin은 휴지통으로 옮겨진 파일들이 있다. Recycle.bin의 경로는 다음과 같다. 예시를 살펴보자. 위와 같이 C:\Recycle.bin\S-1~~~-1001 에 휴지통이 있는 것을 확인할 수 있다. 그리고 오른쪽에 Recycle.bin안에 있는 파일들을 보면 $I~~~ , $R~~~ 이렇게 두 개의 같은 이름의 파일(~~~ 496byte 3. 16~23는 삭제 시간 정보이다. 01D1A384F5E8C..

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - APK

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - APK

    이번에는 apk분석이다. 가장 기초적인 apk 분석을 하는 방법을 배울 것이다. APK의 내부파일을 추출하기 위해서는 apktool을 이용하고 그 내부 파일이 난독화 되어 있으면 jd-gui를 이용하면 내용을 알 수 있다. 다음을 참조하여 apk분석을 해보자. 이제 문제 시나리오를 살펴보자. 구성파일은 다음과 같다. 이제 apktool를 이용하여 apk 내부파일을 다음과 같이 추출할 수 있다. 그러면 다음과 같이 추출이 될 것이다. AndroidManifest.xml를 확인해보면 어디에 소스코드가 있는지 확인할 수 있다. 그러면 "smali/tf/icec/husavik"로 가보자. 위와 같이 여러 파일들이 있는데 b.smali를 살펴보면 아래와 같이 의미심장한 문자열이 있다.(실제로는 위 파일들을 일일이..

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - Docker

    [대회 문제 풀이로 이해하는 디스크 포렌식 분석] - Docker

    이번에는 docker 분석 유형이다. 1. Background Docker는 container, VM으로 나뉘는데 구조의 차이점은 다음과 같다.(자세히 알아보지 않아도 된다) 이제 분석을 위한 docker 명령어를 알아보자. docker 명령어는 다양한데 다음은 분석하기 위한 명령어들을 요약한 것이다. 리눅스 docker 설치방법 sudo apt-get install docker.io 2. Analyzing 이제 본격적으로 문제를 살펴보고 분석 해보자. 문제 시나리오 인도의 Buszbee마을 Busybox에서 치명적인 바이러스가 벌들을 죽이고 있습니다. 유감스럽게도 당신은 마을에 가서 바이러스와 맞서 싸워야 합니다. 감염된 파일들에서 플래그를 가져오세요. 문제파일은 다음과 같다. 그냥 tar파일, doc..