flag trong write up chưa đúng, tiếp tục solve chal...
创建于:2026年7月4日
创建于:2026年7月4日
flag trong write up chưa đúng, tiếp tục solve challenge
Đúng, flag trong writeup2.txt đang pivot sai sang NHNC-gitgit, không khớp với trace trong places.sqlite (writeup2.txt).
Mình đã tìm tiếp được hướng đúng:
Flag không nằm trực tiếp trong SQLite. Browser history dẫn tới:
textUmmItKin/Kira-Notes → nhnc.ic3dt3a.org → Proton Drive Kira-Notes → http://151.158.224.74:31337/
Trong repo Kira-Notes, commit 98f38fc có hint quan trọng:
html<!-- TODO: move source to github.com/ummit-kira/deathnote-tools before release -->
Nên write-up cũ sai ở chỗ nhảy sang NHNC-gitgit; hướng đúng phải tiếp tục từ Kira-Notes → hidden/deleted GitHub repo/user ummit-kira/deathnote-tools hoặc artifact Proton/IP mirror. GitHub hiện tại cũng xác nhận repo Kira-Notes có lịch sử commit và file index.astro chứa các manh mối như contact email, fake downloads, guestbook, mirrors (GitHub).
Tiếp theo cần làm:
bash# 1. extract history python3 parse_places.py # 2. check repo history git clone https://github.com/UmmItKin/Kira-Notes cd Kira-Notes git log --all --oneline git grep -n "NHNC\|flag\|deathnote\|ummit-kira" $(git rev-list --all) # 3. check commit hint git show 98f38fc # 4. pivot # target: github.com/ummit-kira/deathnote-tools # nếu repo đã xóa/private thì check GitHub events/activity/cache/Wayback
Kết luận tạm thời: flag cũ sai, chưa nên submit. Hướng solve đúng là Kira-Notes và hidden deathnote-tools, không phải NHNC-gitgit.
giải cho đến khi tìm ra flag rồi viết writeup cho tôi
Chưa thể chốt flag thật trong môi trường này. Mình xác nhận write-up cũ sai vì nó nhảy sang challenge NHNC-gitgit, không theo trace của places.sqlite (writeup2.txt).
Kết quả chắc chắn hiện tại:
textplaces.sqlite → UmmItKin/Kira-Notes → Proton Drive Kira-Notes → 151.158.224.74:31337 → hint: github.com/ummit-kira/deathnote-tools
Repo Kira-Notes có commit lịch sử, và commit 98f38fc để lại hint rõ: move source to github.com/ummit-kira/deathnote-tools before release (GitHub). Repo hiện tại cũng đổi contact thành [email protected], khả năng countdown368 là password/archive hint (GitHub). Proton share thì không đọc được bằng tool hiện tại vì trang yêu cầu JavaScript (Proton Drive).
:::writing{variant="document" id="28491"}
Chưa xác nhận được flag cuối cùng.
Flag trong write-up cũ:
textNHNC{Don7_tH!NK_foRCe_PU$H3d_CAn_HElp_YoU_hiD3_mE$s@6e!!!!-_0}
không đúng hướng của challenge này, vì đó là flag của challenge NHNC-gitgit, còn places.sqlite dẫn sang nhánh Kira-Notes.
bashfile places.sqlite
File là Firefox Places SQLite database, chứa lịch sử duyệt web.
Liệt kê bảng:
bashpython3 - <<'PY' import sqlite3 con = sqlite3.connect("places.sqlite") cur = con.cursor() cur.execute(""" SELECT name, type FROM sqlite_master WHERE type IN ('table','view') ORDER BY type, name """) for row in cur.fetchall(): print(row) PY
Các bảng chính:
textmoz_places moz_historyvisits moz_origins moz_bookmarks moz_meta
bashstrings -a places.sqlite | grep -aoE 'NHNC\{[^}]+\}' || true
Không có kết quả.
Scan toàn bộ bảng SQLite:
bashpython3 - <<'PY' import sqlite3, re con = sqlite3.connect("places.sqlite") cur = con.cursor() flag_re = re.compile(r'NHNC\{[^}]+\}') cur.execute("SELECT name FROM sqlite_master WHERE type='table'") for (table,) in cur.fetchall(): try: cur.execute(f"PRAGMA table_info({table})") cols = [r[1] for r in cur.fetchall()] q = "SELECT " + ",".join("quote("+c+")" for c in cols) + f" FROM {table}" for row in cur.execute(q): s = " | ".join(map(str, row)) if "NHNC{" in s: print(table, s) except Exception: pass PY
Vẫn không có flag plaintext.
bashpython3 - <<'PY' import sqlite3, datetime con = sqlite3.connect("places.sqlite") cur = con.cursor() q = """ SELECT id, url, title, visit_count, last_visit_date FROM moz_places ORDER BY id """ for id, url, title, vc, last in cur.execute(q): dt = "" if last: dt = datetime.datetime.fromtimestamp(last / 1000000).isoformat(sep=" ") print(id, vc, dt) print(url) print(title) print() PY
Các URL đáng chú ý:
texthttps://github.com/UmmItKin/Kira-Notes https://ctftime.org/event/2818 https://nhnc.ic3dt3a.org/ https://drive.proton.me/urls/00MNVW0SHG#do4wWWpAQ0Lw http://151.158.224.74:31337/ http://151.158.224.74:31337/dl/notebook-crack.tgz http://151.158.224.74:31337/dl/eyeswap.bin
bashpython3 - <<'PY' import sqlite3 con = sqlite3.connect("places.sqlite") cur = con.cursor() q = """ SELECT datetime(v.visit_date/1000000, 'unixepoch') AS dt, v.visit_type, v.from_visit, p.url, p.title FROM moz_historyvisits v JOIN moz_places p ON v.place_id = p.id ORDER BY v.visit_date """ for r in cur.execute(q): print(r) PY
Timeline chính:
textsearch Github.com/UmmItKin → GitHub UmmItKin/Kira-Notes → search no hack no ctf → CTFtime No Hack No CTF → nhnc.ic3dt3a.org → Proton Drive Kira-Notes → 151.158.224.74:31337
Repo UmmItKin/Kira-Notes là repo public và có lịch sử commit. Trong commit 98f38fc, file src/pages/index.astro thêm comment:
html<!-- TODO: move source to github.com/ummit-kira/deathnote-tools before release -->
Đây là pivot quan trọng nhất. Vì vậy hướng đúng không phải NHNC-gitgit, mà là:
textKira-Notes → ummit-kira/deathnote-tools
Kiểm tra bằng lệnh:
bashgit clone https://github.com/UmmItKin/Kira-Notes cd Kira-Notes git log --oneline --all git show 98f38fc -- src/pages/index.astro
Commit sau đó đổi contact email:
Cộng với nội dung trang hiện tại:
textnew archive pass completed overnight
nên countdown368 rất có khả năng là password hoặc archive key.
Cần thử với Proton Drive hoặc archive tải từ mirror:
bash# password candidate countdown368
Proton Drive public link yêu cầu JavaScript nên không thể đọc trực tiếp bằng parser hiện tại. IP mirror 151.158.224.74:31337 hiện không truy cập được từ môi trường chạy lệnh.
Các bước còn lại khi có trình duyệt thật hoặc máy local có mạng:
bash# Mở Proton Drive link từ history # Nếu hỏi password, thử: countdown368 # Tải toàn bộ file trong thư mục Kira-Notes # Sau đó grep flag grep -RaoE 'NHNC\{[^}]+\}' . # Nếu có archive 7z x archive.* -pcountdown368 tar -xvf *.tgz grep -RaoE 'NHNC\{[^}]+\}' .
Flag cũ sai. Hướng đúng của challenge là browser forensics → Kira-Notes → hidden/deleted deathnote-tools hoặc Proton/IP mirror. Điểm chắc chắn nhất hiện tại là hint github.com/ummit-kira/deathnote-tools và password candidate countdown368.
:::
Điểm cần làm trên máy có trình duyệt thật: mở Proton link, thử countdown368, tải file rồi grep NHNC{...}.