---
# System prepended metadata

title: NCS CTF

---

# NCS CTF 2025
**Nama Tim: SatashiLab**
**Ketua: Muhammad Sayyid Tsabit Anfaresi**



---
### Soal 1 (easy)
**Judul**
*Seorang tokoh nasional meninggalkan pesan yang disandikan*

**Deskripsi:**
:::info
Seorang tokoh nasional meninggalkan pesan yang disandikan menggunakan metode Vigenère Cipher. Berikut adalah pesan yang ditemukan:

`tcj{mhmgnxuw_kkbrhjsgae}`

Kunci yang digunakan untuk mengenkripsi pesan adalah: Lambang Negara
:::

**Langkah**
Oke, untuk challenge kali ini kita disediakan sebuah pesan dengan enkripsi Vigenère Cipher dengan kunci 'Lambang Negara'

sebelum itu mari kita perhatikan terlebih dahulu bahwa, `Lambang Negara` di sini berarti sebuah `hint` bukan kunci sebenarnya.

Dari eksplorasi informasi umum dugaan saya jatuh kepada:
- `garuda`
- `pancasila`


Kemudian kita membuka [cyberchef](https://cyberchef.org) untuk melakukan dekripsi pesan menggunakan Vigenère Cipher dengan kata kunci `garuda`

**flag ditemukan:**  ==ncs{semangat_kebangsaan}==

---

### Soal 2 (easy)
**Judul**
*Looking for something*

**Dekripsi**
:::info
Silahkan Download file berikut :

https://drive.google.com/file/d/19tg1lHIdYFaj9f6jMMLpb4PFxpqQERNr/view?usp=sharing
:::

**Langkah**
Setelah kita mengunduh file yang disediakan kita akan mendapatkan file dengan nama `SoalMem.7zip`.

Dengan melakukan ekstraksi file `.7zip` tadi kita akan menemukan file yang bernama `memdump.mem`.

Pada tahap ini saya mulai berpikir sepertinya ini adalah soal *digital forensics* maka yang perlu saya lakukan terlebih dahulu adalah menjalankan perintah `file`

```bash!
file memdump.mem
##Output
memdump.mem: data
```

hmm okeh... sepertinya hanya kumpulan data saja.
Dengan sedikit *googling*, saya menemukan penjelasan mengenai file ekstension `.mem` ini. Ini adalah file memory RAM 😨😨!

Waw sepertinya ini hal baru bagi saya. jadi saya melakukan eksplorasi lagi bagaimana cara menganalisis file ini. 

Dan pencarian saya berakhir dengan tools bernama ==Volatility==. Mulailah kita ekskusi file ini untuk dianalisis.

>[!Important]
>Volatility tersedia dalam bentuk volatility2 dan volatility3 di sini saya menggunakan volatility3. untuk lebih lanjut mengenai volatility bisa baca referensi [blog](https://https://blog.onfvp.com/post/volatility-cheatsheet/) ini untuk mengetahui perbedaan antara volatility2 dan volatility3

Hal pertama yang kita lakukan adalah mencari info terkait file 
```bash!
python3 vol.py -f ~/sharedFolder/memdump.mem windows.info
```
menjalankan perintah di atas kita mendapatkan bahwa ini adalah memory dump RAM dari OS Windows.
```
Volatility 3 Framework 2.27.0
Progress:  100.00		PDB scanning finished                        
Variable	Value

Kernel Base	0xf800b8c00000
DTB	0x1ae000
Symbols	file:///home/user/volatility3/volatility3/symbols/windows/ntkrnlmp.pdb/E6426A07C26E66F8EB8594621A7B273B-1.json.xz
Is64Bit	True
IsPAE	False
layer_name	0 WindowsIntel32e
memory_layer	1 FileLayer
KdVersionBlock	0xf800b9a0a860
Major/Minor	15.26100
MachineType	34404
KeNumberProcessors	12
SystemTime	2025-09-18 13:46:32+00:00
NtSystemRoot	C:\WINDOWS
NtProductType	NtProductWinNt
NtMajorVersion	10
NtMinorVersion	0
PE MajorOperatingSystemVersion	10
PE MinorOperatingSystemVersion	0
PE Machine	34404
PE TimeDateStamp	Fri Mar  9 22:53:21 2085
```
setelah itu kita akan melihat list proses yang telah dijalankan di file tsb dengan menjalankan perintah
```bash!
python3 vol.py -f ~/sharedFolder/memdump.mem windows.pslist
```
dan taraa!! ini dia hasilnya
```
PID	PPID	ImageFileName	Offset(V)	Threads	Handles	SessionId	Wow64	CreateTime	ExitTime	File output

4	0	System	0xc1889f4d3040	272	-	N/A	False	2025-09-18 13:33:13.000000 UTC	N/A	Disabled
188	4	Secure System	0xc1889f58e080	0	-	N/A	False	2025-09-18 13:33:10.000000 UTC	N/A	Disabled
232	4	Registry	0xc1889f5aa080	4	-	N/A	False	2025-09-18 13:33:10.000000 UTC	N/A	Disabled
<---SNIP!--->
7328	8012	powershell.exe	0xc188b3d4c080	11	-	1	False	2025-09-18 13:33:54.000000 UTC	N/A	Disabled
<---SNIP!--->
8800	8012	FTK Imager.exe	0xc188b95b90c0	22	-	1	False	2025-09-18 13:46:19.000000 UTC	N/A	Disabled
10356	1080	svchost.exe	0xc188b746f080	26	-	0	False	2025-09-18 13:46:41.000000 UTC	N/A	Disabled
12464	1080	svchost.exe	0xc188b864a080	12	-	0	False	2025-09-18 13:46:41.000000 UTC	N/A	Disabled

```

di sini saya tertarik dengan proses ==powershell.exe== dengan ==PID 7328== karena ada kemungkinan penggunaan perintah powershell.

lalu kita jalankah analisis lanjutan mengenai proses tersebut dengan perintah
```
python3 vol.py -f ~/sharedFolder/memdump.mem windows.dlllist --pid 7328
```
oke dari hasil output perintah di atas kita bisa menemukan beberapa hal menarik seperti dijalankannya `amsi.dll` yang menandakan ada aktivitas *Anti-Malware Interface* yang artinya ada kemungkinan sebuah Malware menjalankan sesuatu.

kita lakukan analisis lanjutan dengan perintah
```
python3 vol.py -f ~/sharedFolder/memdump.mem windows.malfind --pid 7328
```
untuk mencari apakah ada malware yang terdeteksi di memory dan benar saja ada *footprinting* yang menandakan malware melakukan read and write di proses `powershell.exe`

```
PID	Process	Start VPN	End VPN	Tag	Protection	CommitCharge	PrivateMemory	File output	Notes	Hexdump	Disasm
/home/user/volatility3/volatility3/framework/deprecation.py:105: FutureWarning: This plugin (volatility3.plugins.windows.malfind.Malfind) has been renamed and will be removed in the first release after 2026-06-07. Please ensure all method calls to this plugin are replaced with calls to volatility3.plugins.windows.malware.malfind.Malfind
  warnings.warn(

7328	powershell.exe	0x2296eaf0000	0x2296eb51fff	VadS	PAGE_EXECUTE_READWRITE	2	1	Disabled	N/A	
00 00 00 00 00 00 00 00 90 78 6d 6e 29 02 00 00 .........xmn)...
90 78 6d 6e 29 02 00 00 00 00 6d 6e 29 02 00 00 .xmn).....mn)...
80 10 af 6e 29 02 00 00 00 20 af 6e 29 02 00 00 ...n).... .n)...
00 20 b5 6e 29 02 00 00 01 00 00 00 00 00 00 00 . .n)...........	00 00 00 00 00 00 00 00 90 78 6d 6e 29 02 00 00 90 78 6d 6e 29 02 00 00 00 00 6d 6e 29 02 00 00 80 10 af 6e 29 02 00 00 00 20 af 6e 29 02 00 00 00 20 b5 6e 29 02 00 00 01 00 00 00 00 00 00 00
7328	powershell.exe	0x7ff5b6b40000	0x7ff5b6bdffff	VadS	PAGE_EXECUTE_READWRITE	2	1	Disabled	N/A	
d8 ff ff ff ff ff ff ff 08 00 00 00 00 00 00 00 ................
01 00 00 00 00 00 00 00 00 02 0e 03 38 00 00 00 ............8...
68 01 04 08 0c 00 00 00 b0 0b f3 8e fa 7f 00 00 h...............
00 10 ee 8e fa 7f 00 00 08 53 05 8f fa 7f 00 00 .........S......	d8 ff ff ff ff ff ff ff 08 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 02 0e 03 38 00 00 00 68 01 04 08 0c 00 00 00 b0 0b f3 8e fa 7f 00 00 00 10 ee 8e fa 7f 00 00 08 53 05 8f fa 7f 00 00
7328	powershell.exe	0x7ff5b6b30000	0x7ff5b6b3ffff	VadS	PAGE_EXECUTE_READWRITE	1	1	Disabled	N/A	
00 00 00 00 00 00 00 00 78 0d 00 00 00 00 00 00 ........x.......
0c 00 00 00 49 c7 c2 00 00 00 00 48 b8 10 ec eb ....I......H....
90 fa 7f 00 00 ff e0 49 c7 c2 01 00 00 00 48 b8 .......I......H.
10 ec eb 90 fa 7f 00 00 ff e0 49 c7 c2 02 00 00 ..........I.....	00 00 00 00 00 00 00 00 78 0d 00 00 00 00 00 00 0c 00 00 00 49 c7 c2 00 00 00 00 48 b8 10 ec eb 90 fa 7f 00 00 ff e0 49 c7 c2 01 00 00 00 48 b8 10 ec eb 90 fa 7f 00 00 ff e0 49 c7 c2 02 00 00

```
mari kita dumping memory hasil temuan kita dengan cara
```
python3 vol.py -f ~/sharedFolder/memdump.mem -o ~/sharedFolder/7328_memdump/  windows.memmap --dump --pid 7328
```

setelah itu kita bisa menggunakan perintah `strings` dan `grep` untuk mencari flag nya
```
strings ~/sharedFolder/7328_memdump/pid.7328.dmp | grep "ncs{"
```

**flag ditemukan**: ==ncs{nusantara_memory_2025_real}==

---
### Soal 3 (Easy)
**Judul**
*Jangan Iseng Baca Chat*

**Deskripsi:**
:::info
Aku tertarik untuk melihat chat teman, siapa tau ada flag di sana

file
:::

**Langkah**
Setelah mengunduh file database kita bisa melihat bahwa ini adalah file database SQLite. Oleh karena itu saya mulai membuka DB Browser SQLite.

setelah itu kita bisa melihat di struktur ada dua tabel
![image](https://hackmd.io/_uploads/Bk4VQU2sxx.png)

kita langsung cus ke bagian messages dan melihat secara lebih detail. di sini tentu saja kita akan mengekstrak messages yang ada di tabel
![image](https://hackmd.io/_uploads/rJNd7L2see.png)

setelah melakukan dekripsi pesan dengan Base64 kita mendapatkan pesan berikut.
![image](https://hackmd.io/_uploads/HkAyVU2sgl.png)

sepertinya masih ada string yang menarik. kita coba untuk memisahkan nya terlebih dahulu.

```
me3JSrECt+rKpxcEWXVuo2FAjDr1NcXtDNqh5VwSVSf47ameaHvH47zmKVBnRKEphw==TtoDPEj54cMmiF1HO011OUmAcMOVU7BkjHXaa9x2p1mrGhMrA2nJhIrFGE/Tu5p01CM9p+11rOTxZbrjCSEDoajyBM45XlURJPcmuiO9OFvuWX6sOagLN7EOxqN9IpqJ5Wk=Uvo6noeBzccc492sEb/p8hjfSc2c8TbgGnxFKfPCYVRJjdxETCcf/Y0=bmNze24wdC10aDFzX2NoQXR9PUDdiclejecRkd94M8cvHp8nsLW569O2im7cbZlh7f8MLbqTaGhoLCExORETDm8tCh0xMy5vc3t1dj9oaGg=+lIPmi6mOreftNpyTSJHVyqVbeKHjfCwM5ZSPNTV7/0yu5IATygHKEtn4CJH9/bxGuD+AAE3NDG6fg==bmNze24wdC10aDFzX2NoQXR9bmNze24wdC10aDFzX2NoQXR9bmNze24wdC10aDFzX2NoQXR9
```
setelah itu kita gunakan Base64 kembali untuk memecahkan pesan terenkripsi ini.

dan ini kita menemukan sesuatu di sini.
![image](https://hackmd.io/_uploads/S15P4L3iel.png)

hmm... setelah saya input sepertinya `ncs{n0t-this_chAt}` bukanlah flag sebenarnya. sepertinya kita perlu mencari lagi dengan XOR 
![image](https://hackmd.io/_uploads/BJ9JSI2oxl.png)
tapi sepertinya kita harus melakukan brute-forcing terhadapa key di sini. hmm... mari kita coba dengan list HEX terlebih dahulu

dan walaa... kita mendapatkan pada saat di 0x42 sebagai key

**flag ditemukan:** ==ncs{SQL-oH_sql-1974}==