--- title: Asean hacking sheild general division Busan korea tags: CTF --- ![photo_2025-11-19_09-00-52](https://hackmd.io/_uploads/rkRr9j9ebx.jpg) ### 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 |*| ![00000000](https://hackmd.io/_uploads/BJlRsi9x-g.bmp) Part 1 ![image](https://hackmd.io/_uploads/HyEaosce-x.png) ![image](https://hackmd.io/_uploads/rJq2sjcl-l.png) 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}