728x90
반응형
728x90
반응형
728x90
반응형

  InCTF 2021 Forensic 문제의 write up보고 다시 푼 내용을 정리하였습니다.

 

https://blog.bi0s.in/2021/08/16/Forensics/Ermittlung-InCTF-Internationals-2021/

1. chat application program 찾기

2. userassist로 마지막 실행시각 확인

3. NTUSER.DAT에서 unread 메세지 개수와 프로그램 버전 확인

4. procdump, strings로 프로그램 버전 확인

 

 


ermitting.raw파일이 주어지는데, 용량은 0.99GB로, 메모리 덤프파일로 추측된다.

 

volatility를 사용하여 분석을 진행한다.

먼저 imageinfo로 프로필을 확인한다.

WinXPSP2x86

 

 

 

pstree에서 firefox.exe와 msimn.exe가 실행중이었음을 확인할 수 있다.

 

msimn.exe는 Outlook Express의 프로세스이다.

 

firefox를 사용하였으므로 firfoxhistory를 확인해보았지만, 의미있는 정보는 없다.

 


 

확인한 프로세스들 중에서 chat application program라고 할만한 것은 msimn.exe밖에 없다.

 

cmdline 플러그인을 사용하면 Outlook Express가 실행되는 부분을 찾을 수 있다.

따라서 1번 질문에 대한 답은 Outlook_Express 이다.

 


 

2번 질문, 해당 프로그램을 마지막을 이용한 시각은 pslist, pstree에서 확인할 수 있다.

 

아니면 userassist 플러그인을 사용하여 확인하는 방법도 있다.

실행횟수도 확인 가능하다.


outlook express 의 unread 메세지 개수는 NTUSER.DAT 레지스트리에서 찾을 수 있다.

 

hivelist로 NTUSER.DAT의 주소값을 찾고

 

dumpregistry로 해당 hive파일을 추출한다.

 

Software\Microsoft\Windows\CurrentVersion\UnreadMail\

REGA등으로 확인하면 된다.

해당 계정의 email주소도 확인할 수 있다.

 

volatility에서 printkey 플러그인을 사용하여 printkey -o 0xe1aa5b60 -K "Software\Microsoft\Windows\CurrentVersion\UnreadMail\" 로 확인할 수도 있다.


4번 질문, 채팅 프로그램의 버전 구하기.

프로그램의 버전을 찾는 방법에는 2가지가 있다. 1. NTUSER.DAT hive에서 찾기 2. 해당 프로세스를 dump떠서 찾기 

 

1. 레지스트리에서..

Software\Microsoft\Outlook Express\5.0\Shared Settings\Setup

 

2. 프로세스 dump에서...

volatility     procdump -p 2132 -D ./

리눅스 strings 명령어 사용해서 FileVersion을 찾을 수 있다.

 


https://blog.bi0s.in/2021/08/16/Forensics/Heist-InCTF-Internationals-2021/

 

1. NTUSER.DAT 레지스트리에서 default browser 찾기

2. top-visited website 확인

3. TeamViewer 아티팩트 분석

4. TeamViewer 아티팩트 분석


Heist.E01 ~ Heist.E10 10개로 분할된 이미지 파일(, disk dump)이 주어진다.

Autopsy를 사용하여 분석을 시작하자.

 

원래는 FTK Imager를 사용했었다가 이번에 autopsy를 사용해봤는데 autopsy가 분석하기에 더 편한 것 같다.

앞으로 Autopsy를 사용해야겠다.

 

1번 질문, 기본 브라우저.

 

NTUSER.DAT: Software\Microsoft\Windows\Shell\Associations\UrlAssociations\{http|https}\UserChoice

에서 기본 브라우저로 설정된 브라우저를 찾을 수 있다.

Chrome

 


2번 질문, top-visited 웹사이트 url 찾기

크롬 방문기록을 확인하기 위해 추출하는 History 파일이 있는 위치에 Top Sites라는 파일이 있다.

역시나 sqlite db파일인데

autopsy에서는 바로 데이터를 볼 수 있다.

 

top_sites 테이블에서 url_rank 값이 낮을 수록 가장 많이 방문한 사이트이다.

따라서 ebay.com

 


3번 질문, 가장 최근에 팀뷰어에서 파일 전송 세션이 시작된 시각

 

TeamViewer는 유저 데이터를 두 곳에 저장한다.

1. C:\Program Files\TeamViewer\
2. C:\Users\<User Profile>\AppData\Roaming\TeamViewer\

그리고 확인해야할 주요 파일은 1번 경로에 Connection_incoming.txt와 2번 경로에 Connections.txt 이다.

 

connection_incoming.txt example, Img src:  mii-cybersec

 

Connection_incoming.txt에서 filetransfer 세션 기록을 찾을 수 있었다.

해당 세션의 시작시간인 20-07-2021 07:48:50 이다.


4번 질문, 파일 전송 세션에서의 id와 hostname

3번에서 사용한 파일에서 찾을 수 있다.

920981533 & DESKTOP-S34NLCJ

 


반응형

 

 

https://blog.bi0s.in/2021/08/16/Forensics/Heist-Continues-InCTF-Internationals-2021/

1. Slack user id와 workspace id 찾기

2. remote connected PC의 배경화면 확인하기

3. 연결된적 있었던 2개의 USB의 파일시스템 확인하기

4. 윈도우10 타임라인에서 voice modulator 사용 시간 확인하기

 

문제파일은 위 heist 문제와 동일하다.

 


Slack user log는 Users\Danial Benjamin\AppData\Roaming\Slack에 있다.

주요 파일은 .\Local Storage\leveldb\000004.log 와 .\storage\root-state.json이다.

 

000004.log 에는 workspace에 대한 metadata(workspace name, user id, workspace id, icons 등)가 포함되어 있다. 

root-stat.json에는 workspace에서 다운받은 파일들에 대한 정보와 workspacedp 대한 metadata 일부가 있다.

root-stat.json

root-stat.json에서 domain, workspace id, user id, workspace name을 확인할 수 있으며

domain - heistplanning.slack.com
Workspace Name - Heist Planning
User ID - U027XK55WCT
Workspace ID - T027GM97WJ3

 

000004.log

000004.log에서 한 번 더 확인이 가능하다.

 


2번 질문, 원격으로 연결된 PC의 배경화면에 있는 글자 확인하기

 

이 문제 파일에서는 2개의 원격 프로그램 TeamViewer와 AnyDesk를 찾을 수 있다.

AnyDesk에서는 Remote PC의 배경화면을 썸네일로 사용하며,

해당 섬네일은 Users\Danial Benjamin\AppData\Roaming\AnyDesk\thumbnails 에서 찾을 수 있다.

 

 


3번 질문, 연결된 적이 있는 2개의 USB의 파일시스템 알아내기

3. Team restored 2 USB devices (Sandisk 3.2Gen1 & Toshiba External USB 3.0) at the leader’s place. What is the file system of these 2 USB devices?

 

SYSTEM레지스트리에서 해당 USB 2개 연결된 흔적을 찾을 수 있다.

 

이벤트 로그에 USB connection과 removal에 대한 detail들이 저장된다.

EVENT ID 1006번에서 찾아볼 수 있으며, 해당 ID는 Microsoft-Windows-Partition%4Diagnostic.evtx에서 찾을 수 있다.

 

해당 evtx를 파싱하여 CSV로 추출하기위해 Eric Zimmerman의 EvtxExplorer를 사용한다.

https://ericzimmerman.github.io/#!index.md

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

사용 예제

 


Microsoft-Windows-Partition%4Diagnostic.evtx에서 얻을 수 있는 모든 아티팩트들에 대해서는https://dfir.pubpub.org/pub/h78di10n/release/2 (by Alexandros Vasilaras, Evangelos Dragonas, and Dimitrios Katsoulis)

 

USB Forensics – Recover more Volume Serial Numbers (VSNs) with the Windows 10 Partition/Diagnostic Event Log · DFIR Review

Synopsis Forensics Question: How many Volume Serial Numbers (VSNs) of previously connected devices can be recovered from a single Windows event log?OS Version: Microsoft Windows 10 Pro 2004 Build 19041 (Original Tests)Microsoft Windows 10 Pro 20H2 Build 19

dfir.pubpub.org

에 자세히 설명되어 있다고 한다. (나중에 정독해봐야겠다.)


해당되는 USB의 각 Payload에서

 

Vbr0값을 찾고 hex값을 ascii로 변환해주면

SanDisk 3.2Gen1 FileSystem - FAT32

파일시스템을 찾을 수 있다.

 

Toshiba USB 3.0 FileSystem - NTFS

 


4번 질문, 음성 변조 프로그램 사용 시간 구하기.

 

Windows10 1803버전 부터는 Timeline 기능이라는 것이 있다. http://www.forensic-artifacts.com/windows-forensics/timeline

 

디지털 포렌식 아티팩트 & 증거 분석 기법 공유 | 인섹시큐리티

[증거]테이블의 상단 칼럼 정보를 통해 응용프로그램 이름, 마지막 실행 시간 정보를 확인 할 수 있고 우측 [세부 정보]테이블을 통해서도 확인 가능

www.forensic-artifacts.com

 

C:\Users\<user>\AppData\Local\ConnectedDevicePlatform\L.<profile>\ActivitiesCache.db

 

추출하여 dbbrowser를 사용해서 열었다.

AppId에서 Voicemod Desktop을 찾고, ActivityType이 6인 것들 중에서 Payload에서 activeDurationSeconds 값을 확인한다.

해당 값을 모두 합치면 된다.

 

ActivitiyType == 6는 "App in focus"를 의미한다.

 


 

 

https://blog.bi0s.in/2021/08/16/Forensics/Heist-Ends-InCTF-Internationals-2021/

 

1. Google Keep Notes에서 note의 생성시각 추출

2 3 4. Slack Messages에서 장소와 일정 찾기

5. Google Tasks에서 completed tasks 개수 구하기

6. Google Docs cache에서 secret code 추출

7. Game 첫 실행 시각 찾기


./data

Android Device dump가 주어진다.

abrignoni의 ALEAPP를 사용하여 데이터를 파싱한다. (python3.9+가 필요하다.)

https://github.com/abrignoni/ALEAPP

 

GitHub - abrignoni/ALEAPP: Android Logs Events And Protobuf Parser

Android Logs Events And Protobuf Parser. Contribute to abrignoni/ALEAPP development by creating an account on GitHub.

github.com

 

ALEAPP을 돌려주면 이렇게 HTML 보고서를 확인할 수 있다.

안드로이드 10임을 확인할 수 있다.

 

1. When did the Professor create the note for Rio?

Google Keep에서 해당 노트를 찾을 수 있으며,  생성 시각도 확인할 수 있다.

 

Google Keep 아티팩트s https://g4rud4.gitlab.io/2021/Google-Keep-Notes-and-Lists-Mobile-Artifacts/

 

Google Keep - Notes and Lists: Mobile Artifacts | Nihith's Blog

Google Keep is one of the best notes storing app for Android from Google can be installed through Google Play store. In this blog post I am gonna explain about the Google Keep Mobile Artifacts, one can find in an android mobile dump. The Google Keep Notes

g4rud4.gitlab.io


2. Where did Professor and Rio, Plan to meet to plan the heist?

Slack 아티팩트 분석

https://abrignoni.blogspot.com/2018/09/finding-slack-messages-in-android-and.html

 

Finding Slack app messages in Android and using json_extract to do it.

Short version: The Slack app for Android keeps message related data in the TCJRXQD1B database located in the following directory: ...

abrignoni.blogspot.com

 

쿼리

https://github.com/abrignoni/DFIR-SQL-Query-Repo/tree/master/Android/SLACK

 

GitHub - abrignoni/DFIR-SQL-Query-Repo: Collection of SQL query templates for digital forensics use by platform and application.

Collection of SQL query templates for digital forensics use by platform and application. - GitHub - abrignoni/DFIR-SQL-Query-Repo: Collection of SQL query templates for digital forensics use by pla...

github.com

 

\data\data\com.Slack 경로에 유저 데이터가 있다.

SELECT datetime(ts , 'unixepoch') AS 'Time Sent', channel_id, user_id, json_extract(message_json, '$.text') AS 'Messages' FROM messages ORDER BY ts;

 

 

 


3. When did Rio plan to meet Professor?

 

 

 


4. How many members did Rio gathered for the heist?

 

 

 

 


5. How many tasks did Rio created in planning the heist, and how many did he complete?

 

 


6. There is a secret code present in a document shared between Rio & Professor, can you find out what it is?

 

문서를 공유한 것을 확인할 수 있고, 기기에 Google docs 앱이 설치되어 있는데 이 앱 캐시에서 해당 문서를 찾을 수 있다.

 

data\data\com.google.android.apps.docs\cache\docs_glide\data

png 파일이 존재한다.

 

시크릿 코드를 찾을 수 있다.

 

 

 


7. We found a game installed on the device. When did Rio first open this game?

dr. driving이라는 게임 하나가 깔려 있다.

data\data\com.ansangha.drdriving 에 유저 데이터가 있다.

.\shared_prefs\com.google.android.gms.measurement.prefs.xml 파일을 보면

first_open_time 값을 찾을 수 있다.

728x90

The Big Score

https://blog.bi0s.in/2021/08/20/Forensics/InCTFi21-TheBigScore/

Challenge Description


We sent Michael over to the Union Depository to collect data from one of their systems for the heist. We were able to retrieve the data, but it looks like they were able to read the message sent to us that Michael had typed from their system. Fortunately, he took the memory dump before escaping the building. Analyze the memory dump and find out how the message was compromised.

 

리눅스 메모리 덤프 파일 분석

 

리눅스 메모리 덤프인 lime 파일이 주어진다.

볼라티리티로 해당 메모리 덤프를 분석하기 위해서, 리눅스 프로파일을 빌드해주어야 한다. (기본 지원이 안되는 프로필인가 봄)

 

그래서 해당 파일의 프로필을 알아내야 하는데, 당연하겠지만 볼라티리티 imageinfo로는 안나온다.

대신 strings와 grep 명령어로 찾아낸다.

$ strings the_big_score.lime | grep 'Linux version'

Linux version 5.4.0-42-generic (buildd@lgw01-amd64-023) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 (Ubuntu 5.4.0-42.46~18.04.1-generic 5.4.44)

 

그리고 동일한 버전의 vm을 구축하고 프로필을 빌드한다.

https://github.com/volatilityfoundation/volatility/wiki/Linux

 

GitHub - volatilityfoundation/volatility: An advanced memory forensics framework

An advanced memory forensics framework. Contribute to volatilityfoundation/volatility development by creating an account on GitHub.

github.com

 

https://github.com/volatilityfoundation/profiles/tree/master/Linux/Ubuntu/x64

 

GitHub - volatilityfoundation/profiles: Volatility profiles for Linux and Mac OS X

Volatility profiles for Linux and Mac OS X. Contribute to volatilityfoundation/profiles development by creating an account on GitHub.

github.com

여기 있는 것이라면 가져다 써도 되는데, 커널 버전이 안맞아서 오류가 난다.

 

http://old-releases.ubuntu.com/releases/18.04.1/

 

Index of /releases/18.04.1

Select an image Ubuntu is distributed on two types of images described below. Desktop image The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of image is what mos

old-releases.ubuntu.com

 

 

$ apt-get install dwarfdump

$ apt-get install build-essential

$ cd volatility/tools/linux

$ make

$ head module.dwarf (module.dwarf 파일이 생성되었는지 확인)

 

$ sudo zip volatility/volatility/plugins/overlays/linux/Ubuntu1204.zip volatility/tools/linux/module.dwarf /boot/System.map-5.4.0-24-generic

 

vol.py --info

 

특이사항 하나를 찾을 수 있다.

 

링크로 들어가면, base64로 인코딩된 실행파일을 찾을 수 있다. 파일로 저장되지 않고 바로 메모리로 올라가 실행된다.

base64 디코딩해서 ida로 까보면 되는데, 기능은 간단하다.

git clone repo -> python 스크립트 실행 -> repo 제거

스크립트는 /dev/input/event2에서 데이터를 읽어와 hex로 인코딩해서 termbin에 업로드한다.

업로드한 경로는 hashed, reversed 되서 bin/log에 랜덤해시로 저장

 

bin/log를 추출하여 hash값을 얻기 위해, linux_enumerate_files 플러그인을 사용한다.

 

vol.py -f the_big_score.lime --profile=LinuxUbuntu18_04_1-5_4_0-42x64 linux_enumerate_files | findstr bin/log
vol.py -f the_big_score.lime --profile=LinuxUbuntu18_04_1-5_4_0-42x644 linux_find_file -i 0xffff8aa80573b890 -O ./

다음과정 생략.


Darkness

https://github.com/teambi0s/InCTFi/tree/master/2021/Forensics/Darkness

E01 파일 주어짐.

의심스러운 웹사이트 방문, 삭제된 중요한 키 파일

 

  1. The zip file is actually deleted from disk and can be recovered by extracting the Volume shadow copy from the .E01.키파일이 담긴 zip 복구 . 모르겠다.

 

방문기록 확인

 

pastebin.com 접속 기록을 확인할 수 있지만 그 이상은 없다. (흔적을 덮기 위해 방문기록을 지웠기 때문.)

 

윈도우에는 옵션으로 진단 데이터를 수집하는 기능이 있고 해당 데이터에는 MS edge 브라우저 방문기록 등이 있다.

 

C:\ProgramData\Microsoft\Diagnosis\EventTranscript\EventTranscript.db

 

Events_presisted 테이블에서  ogging_binary_name = msedge.exe 로 필터링 후 payload에서 navigationUrl값에서 url 찾기.

 

이게 오피셜 롸업이고,


방문기록에서 pastebin.com이 나온 것을 근거로 pastebin.com을 검색해서 찾아내면 된다.

해당 링크는 edge cache 폴더에 있는 파일에서 발견되었다.

 

해당 링크로 들어가면 패스워드를 요구하는데,

 

Archives에서 confidential.zip을 찾을 수 있고

 

해당 zip파일에서 패스워드를 찾을 수 있다.

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

InCTF 2021 Forensics  (0) 2021.08.22
SSTF 2021 write up  (0) 2021.08.16
RACTF 2021 Write up  (0) 2021.08.15
RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
728x90
반응형

 

 

 

'cat flag' => 7161132565001953639 = 103 * 408479 * 170205956447

 

 


아래 Mars Rover 와 Remains 문제는 https://github.com/theori-io/ctf/blob/master/2021/SSTF2021/SSTF%202021%20The%20Duck%20-%20Write%20Up%20-%20rev%201.pdf 를 보고 푼 풀이를 작성하였습니다. (08.23)

 

Mars Rover

 

MarsRover.png 파일이 하나 주어진다.

파일을 살펴보면 2가지 특이사항이 있었다.

1. 이미지 양 옆 검은색 바 (stegsolve로 보았을 때)

 

2. TweakPNG로 청크를 확인했을 때, 일반적이지 않은 작고 여러개로 존재하는 IDAT 청크 

 

풀이를 보니 이 중에서 2번째를 이용하는 것이었다.

아니 왜 기본에선 뒷 값이 ...으로 보여서..

IDAT 청크의 CRC값의 마지막 1바이트가 ASCII범위의 값이다.

 

https://pyokagan.name/blog/2019-10-14-png/의 코드를 사용해서 해당 값을 추출하면 된다.

 

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
31
32
import zlib
import struct
 
= open('MarsRover.png''rb')
 
PngSignature = b'\x89PNG\r\n\x1a\n'
if f.read(len(PngSignature)) != PngSignature:
    raise Exception('Invalid PNG Signature')
 
flag = ''
 
def read_chunk(f):
    global flag
    # Returns (chunk_type, chunk_data)
    chunk_length, chunk_type = struct.unpack('>I4s', f.read(8))
    chunk_data = f.read(chunk_length)
    chunk_expected_crc, = struct.unpack('>I', f.read(4))
    chunk_actual_crc = zlib.crc32(chunk_data, zlib.crc32(struct.pack('>4s', chunk_type)))
    flag += chr(chunk_expected_crc & 0xff)
    #if chunk_expected_crc != chunk_actual_crc:
    #    raise Exception('chunk checksum failed')
    return chunk_type, chunk_data
 
chunks = []
while True:
    chunk_type, chunk_data = read_chunk(f)
    chunks.append((chunk_type, chunk_data))
    if chunk_type == b'IEND':
        break
 
print(flag)
 
cs


Remains

주어진 Remains.zip을 열어보면 data 파일이 있다.

$file data로 7z 파일임을 알 수 있다. (간단하게 시그니쳐 확인해보면 된다.)

data.7z에 bin.sav 파일이 있다.

 

sav파일은 버츄얼박스 스냅샷으로 머신 상태를 저장했을 때 생기는 파일이다.

해당 파일을 뭘로 열어야 분석할 수 있을까..

 

 

관련 롸업을 찾아보면 됐다.

https://ox002147.gitlab.io/writeup-bitsctf-for60.html -> http://blog.rentjong.net/2014/05/asis-quals-2014-forensic-300.html -> https://www.dropbox.com/sh/vtsk0ji7pqhje42/AABY57lRqinlwZpo8t9zzGYka

 

savparser

Dropbox를 통해 공유함

www.dropbox.com

 

remains롸업에서도 해당 파일을 사용했다.

 

$gcc parsvbox.c lzf_d.c

$./a.out bin.sav

로 파싱 이후

readss.c의 코드에서 파일명 수정해주고

$gcc readss.c -o b.out

$./b.out

하면 out.raw파일이 생성됨. 해당 파일을 헥스에디터로 열어서 앞에 더미데이터를 지워주면 PNG로 열 수 있음.

 

이러한 스샷 이미지를 얻을 수 있다.

 

./sav를 실행하고 Wanna flag? 라는 문자열이 출력된 것을 확인할 수 있다.

bin.sav-pgm.out 파일에서 해당 문자열을 찾을 수 있고

조금 내려보면 ELF 시그니쳐를 찾을 수 있다.

해당 바이너리를 추출해서 IDA로 열어서 리버싱으로 플래그를 찾아내면..

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

InCTF 2021 Forensics  (0) 2021.08.22
SSTF 2021 write up  (0) 2021.08.16
RACTF 2021 Write up  (0) 2021.08.15
RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
728x90
반응형

OSINT - Triangles

 

go to google image search

 

 

 

 

done.


Osint - Silver Darlings

search image with "cafe de la mairie"

 


OSINT - 50m on the Right

 

image search -> Armação de Pêra

you can find "bistro 24" in this image.

 

 

 

 

And there is a restaurant on the other side.

 


OSINT - John Poet

i searched image with "R.H.C"


OSINT - Skyline

First, when I searched the highest three buildings, it didn't come out, so I searched the color of the sheet.

Then, I could find similar cable car image.

 

It was london cable car.

 

 

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

InCTF 2021 Forensics  (0) 2021.08.22
SSTF 2021 write up  (0) 2021.08.16
RACTF 2021 Write up  (0) 2021.08.15
RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
728x90
반응형

HxD


A png file is at the end of jpg file.

flag{0n3_1m4g3_1s_n0t_3n0ugh}


search "flag{"


usbhid.data

https://github.com/TeamRocketIst/ctf-usb-keyboard-parser

 

GitHub - TeamRocketIst/ctf-usb-keyboard-parser: This is the updated script from https://teamrocketist.github.io/2017/08/29/Foren

This is the updated script from https://teamrocketist.github.io/2017/08/29/Forensics-Hackit-2017-USB-ducker/ - GitHub - TeamRocketIst/ctf-usb-keyboard-parser: This is the updated script from https:...

github.com


base64


반응형


hex to ascii


magic hash

?hash=QNKCDZO


 

change cookie value

base64 encoded

guest -> admin


base64 decode

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

SSTF 2021 write up  (0) 2021.08.16
RACTF 2021 Write up  (0) 2021.08.15
RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
Securinets CTF Quals 2021 write up  (0) 2021.03.22
728x90
반응형

OSINT

 

where.png

 

 

Use Image search engine.

find a similar one.

 

Get keyword; Berlin, TV TOP.

 

Then find a building with a flag on top.

 

View the surroundings through Google Maps Roadview near TV Top.

 

 

good

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

RACTF 2021 Write up  (0) 2021.08.15
RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
Securinets CTF Quals 2021 write up  (0) 2021.03.22
LINE CTF 2021 write up  (0) 2021.03.21
728x90
반응형

Secret Document - Forensics

 

A Classified.docx file is given.

However, this files is not docx file.

 

This file is pcap file.

 

Rename .docx to .pcapng, then convert pcapng to pcap (https://pcapng.com/) (for using networkminer).

 


 

Open a Projan.pcap with networkminer.

The windows Defender detect a malware.

 

Upload goog1e_born_help.exe to virustotal.

ponmocup

반응형

ImposterApp - forensics

A memdump file is given.

imageinfo

Win8SP0x64

 

pstree

chrome, ie ,cmd, powershell, calc

-> chromehistory, iehistory, cmdscan, clipboard ... : nothing

 

R-studio

calc.exe is suspicious.

procdump -p 2816

 

flag.

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

RCTS CERT CTF 2021 write up  (0) 2021.08.11
RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
Securinets CTF Quals 2021 write up  (0) 2021.03.22
LINE CTF 2021 write up  (0) 2021.03.21
Codefest CTF 2021 Write up  (0) 2021.03.20
728x90
반응형

Forensics

What App is on Fire?

 

Open chall.E01 with FTK Imager

In Recycle.Bin, i found meaningful data in two txt files.

and

But there is a flag.txt (not flaag.txt) in Desktop/ and it has fake flag.

Likewise, there is only zero size flag.bmp in Documents/my content/ .

So, I used NTFS log tracker to find location where flaag.txt and credentials.txt were moved.

$RVL2F46.txt was flaag.txt

and it's fake flag :) hehe.

 

Next!

credentials.txt was zipped and renamed to $R002W8L.txt (moved to Recycle.BIN).

credentilas.zip was deleted.

 

and $R002W8L.txt is zero size in given E01 file.

 

flag.bmp is meaningless.

haha :)

 

 

IE history modified log between credentials.txt logs.

 

IE history :

hmmmmmm..............

--------

[add something after ctf ends.]

왜 저 credentials.zip .txt 를 붙잡고 있었지.. 문제 제목에서도 whatsapp 써먹는거 알 수 있는데..

 

at first, Investigate chats from WhatsApp messages DB.


--------

Next! i checked firefox history.

I think flag is in there.

 

But it need id and pw.

 

id and pw were stored in logins.json and they were encrypted.

To decrypt them, 

create new profile

move logins.json and key4.db to new profile folder

 

start firefox

 

yeah!

 

?????????????

 

 

oh, another login page is at ./ and i use same account to login.

then i got half of flag.

 

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

RTLxHA CTF 21 write up  (0) 2021.08.01
Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
Securinets CTF Quals 2021 write up  (0) 2021.03.22
LINE CTF 2021 write up  (0) 2021.03.21
Codefest CTF 2021 Write up  (0) 2021.03.20
UTCTF 2021 write up  (0) 2021.03.15
728x90
반응형

babycrypto1

 

 

영어로 쓸려 했는데 뭔가 쉽게 안써진다..

 

test command cipher text가 주어지고,

동일한 aes key를 사용하는, vi를 입력해서 cipher text를 만들 수 있는 거가 있다.

 

50행에서 토큰은 그대로 사용되기 때문에 앞쪽 블록은 그대로 사용하고 command만 들어가있는 마지막 블록만 생각하면 된다.

마지막 블록을 변화시키면 cipher text의 마지막 블록에만 변화가 생기는데, 이를 이용하여 "show" 가 들어간 암호화된 블록을 만들어 바꿔치면 된다.

 

마지막 블록을 만들 때  plain text와 xor 하는 것을 vi로 보면, vi는 cipher text N-1번째 블록값이 된다.

plain text 를 "show"로, vi를 cipher text 마지막 블록을 넣어 cipher text 한 블록을 만들어서

처음 주어진 test command cipher text의 마지막 블록과 바꾸어서 넣어주면

복호화 과정에서 앞 블록은 그대로이기 때문에 token은 그대로 복호화가 되고 마지막 블록은 show로 복호화가 이루어 진다.


babycrypto2

 

 

1과 다른 점은 COMMAND가 맨 처음 블록으로 이동하였고, encryption 과정이 없다는 것이다.

어차피 cipher text의 앞 블록이 바뀌면 그 다음 블록에도 영향을 주기 때문에 블록 바꿔치기는 안된다.

 

 

다만 decryption 과정을 보면, 맨 앞블록은 block cipher decryption 이후에 IV와 xor을 수행한다.

그리고 복호화에 사용할 IV값은 우리가 넣어줄 수 있다. 이 IV 값을 바꿔주어 맨 앞 plaintext가 우리가 원하는 값이 되도록 하면 된다. ciphertext는 그대로 사용할 것이기 때문에, block cipher decryption의 결과값은 고정이다.

원래의 복호화 과정을 생각한다면, IV에는 처음 제공되는 IV값이 들어가며, block cipher decryption의 결과값은 IV xor plaintext(test)이며, 우리가 원하는 plaintext로 만들어주는 IV값은 IV xor plaintext(test) xor plaintext(show) 가 된다.

다만 plaintext(show)를 만들 때 앞의 PREFIX값과 뒤에 token 3byte를 생각해야 한다.

 

그렇게 해서 IV값을 만들어서 IV + data 복호화 돌려주면 된다.

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

Securebug.se CTF Loki 2021 write up  (0) 2021.07.19
Securinets CTF Quals 2021 write up  (0) 2021.03.22
LINE CTF 2021 write up  (0) 2021.03.21
Codefest CTF 2021 Write up  (0) 2021.03.20
UTCTF 2021 write up  (0) 2021.03.15
vishwaCTF 2021 Write up  (0) 2021.03.15
728x90
반응형

Forensics

스테가노

Anime is love

There is a zip file at end of jpg file (jpg file footer signature).

Fix the header signature.

it is encrypted. So, find password using ARCHRP with rockyou.txt which is dictionary file for dictionary attack.

 

flag.txt

it is pdf file

and it's locked.

good.


Telephone

github.com/ribt/dtmf-decoder

 

ribt/dtmf-decoder

Extract phone numbers from an audio recording of the dial tones. - ribt/dtmf-decoder

github.com

convert m4a to wav to use dtmf-decoder

 

hmm...


b1n4rY

bin to hex

make a file "a.data"

open with GIMP

scan it!

 


Web

Sanity Check 2

at ./

base64 -> ascii -> caesar cipher


C is hard

bof

ez

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

Securinets CTF Quals 2021 write up  (0) 2021.03.22
LINE CTF 2021 write up  (0) 2021.03.21
Codefest CTF 2021 Write up  (0) 2021.03.20
UTCTF 2021 write up  (0) 2021.03.15
vishwaCTF 2021 Write up  (0) 2021.03.15
NahamCon CTF 2021 write up  (0) 2021.03.15
728x90
반응형

Forensics

SHIFT

anyconv.com/ko/png-to-raw-byeonhwangi/

 

PNG RAW 변환: 온라인에서 PNG를 RAW로 변환하십시오

⭐ AnyConv는 5 성급 PNG RAW 변환기입니다 ⭐ 온라인에서 png를 raw로 몇 초 안에 변환하십시오 ✅ 소프트웨어 설치가 필요하지 않습니다 ✅ 무료로 ✅ 완전히 안전합니다. PNG를 RAW로 쉽게 변경할 수

anyconv.com

png to bmp

 

rename .bmp to .data

 

open with GIMP

 

width 5261

 


Doubly Deleted Data


Sandwiched

You can see that there are several pdf files, and you can see that there is a jpg file in between.

 

However, jpg's footer signature can be found far away.

There are parts of the jpg file between the pdf files.

 

The extracted jpg file had a flag.

 


OSINT Part 1

 

search name in twitter

728x90

OSINT Part 2

 

google image search

 


Small P Problems

Diffie–Hellman

github.com/DrMMZ/Attack-Diffie-Hellman/blob/master/AttackDH.py

 

DrMMZ/Attack-Diffie-Hellman

Implementation of cryptanalysis of Diffie-Hellman public key protocol in Python - DrMMZ/Attack-Diffie-Hellman

github.com


Beginner

Various Vernacular

quipqiup.com/

 

quipqiup - cryptoquip and cryptogram solver

 

quipqiup.com

728x90
반응형

'CTF Write Up' 카테고리의 다른 글

LINE CTF 2021 write up  (0) 2021.03.21
Codefest CTF 2021 Write up  (0) 2021.03.20
UTCTF 2021 write up  (0) 2021.03.15
vishwaCTF 2021 Write up  (0) 2021.03.15
NahamCon CTF 2021 write up  (0) 2021.03.15
dvCTF 2021 Write up  (2) 2021.03.15

+ Recent posts