---
title: Asean hacking sheild general division Busan korea
tags: CTF
---

### Congrate to vietnam , malay , indo and 555
#### Chase Underwater Drone
What message did the underwater drone leave?
The characters allowed in the flag are limited to A-Z, '{', and '}' only.
https://drive.google.com/file/d/14TAhVg7VIWVy-8XZfGq3vO0G5LM_baCa/view?usp=sharing
#### solution
it is drone log
```bash!
import sqlite3
import sys
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation, PillowWriter
import numpy as np
DB_FILE = "challenge.sqlite3"
TABLE_NAME = "GPS"
MIN_LNG = 128.775
MAX_LNG = 128.83
MIN_LAT = 35.065
MAX_LAT = 35.08
DOWNSAMPLE_STEP = 10
N_FRAMES = 80
FPS = 10
OUTPUT_GIF = "drone_path_scatter.gif"
POINT_SIZE = 3
POINT_ALPHA = 0.7
POINT_COLOR = "red"
def main():
try:
conn = sqlite3.connect(DB_FILE)
cursor = conn.cursor()
query = f"""
SELECT timeus, lat, lng FROM {TABLE_NAME}
WHERE alt < 0
AND (lng BETWEEN {MIN_LNG} AND {MAX_LNG})
AND (lat BETWEEN {MIN_LAT} AND {MAX_LAT})
ORDER BY timeus
"""
cursor.execute(query)
rows = cursor.fetchall()
if not rows:
print("No data found.")
sys.exit(1)
rows = rows[::DOWNSAMPLE_STEP]
timestamps = np.array([r[0] for r in rows])
latitudes = np.array([r[1] for r in rows])
longitudes = np.array([r[2] for r in rows])
n_points = len(latitudes)
if n_points < 2:
print("Not enough points.")
sys.exit(1)
n_frames_used = min(N_FRAMES, n_points)
frame_indices = np.linspace(1, n_points, n_frames_used, dtype=int)
fig, ax = plt.subplots(figsize=(12, 8))
scat = ax.scatter([], [], s=POINT_SIZE, alpha=POINT_ALPHA, c=POINT_COLOR)
pad_lat = (latitudes.max() - latitudes.min()) * 0.05
pad_lng = (longitudes.max() - longitudes.min()) * 0.05
lat_min = latitudes.min() - pad_lat
lat_max = latitudes.max() + pad_lat
lng_min = longitudes.min() - pad_lng
lng_max = longitudes.max() + pad_lng
ax.set_xlim(lng_min, lng_max)
ax.set_ylim(lat_min, lat_max)
ax.set_xlabel("Longitude")
ax.set_ylabel("Latitude")
ax.set_title("Underwater drone path (scatter)")
ax.grid(True)
plt.tight_layout()
def update(frame_idx):
upto = frame_indices[frame_idx]
x = longitudes[:upto]
y = latitudes[:upto]
points = np.column_stack([x, y])
scat.set_offsets(points)
ax.set_title(f"Underwater drone path (scatter) - Frame {frame_idx+1}/{n_frames_used}")
return scat,
anim = FuncAnimation(
fig,
update,
frames=n_frames_used,
interval=100,
blit=False
)
writer = PillowWriter(fps=FPS)
anim.save(OUTPUT_GIF, writer=writer)
print(f"Saved GIF to {OUTPUT_GIF}")
except Exception as e:
print(f"Error: {e}")
finally:
if "conn" in locals():
conn.close()
if __name__ == "__main__":
main()
```
Flag: ACS{UNDERTHESEA}
### (misc)Control Room
Find the anomaly hidden in a security control room footage.
https://drive.google.com/file/d/16CKhdzPu_4JXTyCkzvzc0SqDDV_tTFNT/view?usp=sharing
when you extract each frames u will get
QUN
C
A
Te1R
N
U
SQU
F
I
41U
N
D
F
DRSM
L
A
05DW
G
V8x
?
U19
OMFR
fSO5
WMV
MxQ
jFM
MVR
ZfQ=
combine them all, without 1 character
Flag: ACS{TRAN5P4R3NCY_1S_N0T_INV1S1B1L1TY}
### Last Pixel
https://drive.google.com/file/d/1d4RY4lnhfR6UgjX8ZK20-BLIwHpsrBYL/view?usp=sharing
┌──(kali㉿kali)-[~/Desktop/longsamnang]
└─$ foremost cat.png
Processing: cat.png
|*|

Part 1


https://gchq.github.io/CyberChef/#recipe=From_Hex('Auto')Magic(3,true,false,'')&input=RTEgMDUgNTIgMzUgRDEgNTQgMTAgRUUgRDcgQjUgNjggMzIgRDUgNTUgQ0EgQUQgQUIgQTkgQUIgMTQgNkEgRDQgQUMgQjEgMzYgOUMgOTkgRkIgMDcgOUUgNDcgRjUgRDIgNDYgREUgMDAgMDAgMDAgMTk
### Rev
easy lottery korea
https://drive.google.com/file/d/1fnQZsGuODO1xJ_3_1Qi0O55yGpTzfEP2/view?usp=sharing
ACS{KOREA_LOTTERY_IS_SIMPLE}
### Crypto
baby crypto
https://drive.google.com/file/d/1ewXxPnNsm1iJN1-Aag_c8YeatK1i1uar/view?usp=sharing
WE'RE GOIN' UP, UP, UP, IT'S OUR MOMENT YOU KNOW TOGETHER WE'RE GLOWING GONNA BE, GONNA BE GOLDEN OH, UP, UP, UP WITH OUR VOICES GONNA BE, GONNA BE GOLDEN YOU ARE MY SODA POP I WANT TO TASTE YOU YOU ARE MY SODA POP I WANT TO TASTE YOU THE FLAG IS YOU KNOW TOGETHER WE'RE GLOWING YOU'RE ALL I CAN THINK OF EVERY DROP I DRINK UP YOU'RE MY SODA POP MY LITTLE SODA POP COOL ME DOWN, YOU'RE SO HOT POUR ME UP, I WON'T STOP YOU'RE MY SODA POP MY LITTLE SODA POP
https://kpop-demon-hunters.fandom.com/wiki/Golden
ASC{Golden}