CTF Indicators
เจอค่าแปลกๆ แล้วไม่รู้ว่าคืออะไร? วางสิ่งที่เห็น (เช่น eyJ, MZ, U2FsdGVkX1, hash) แล้วระบบบอกว่ามันคืออะไร + ต้องทำอะไรต่อ
MZMagic BytesWindows PE executable (.exe/.dll)
reverse engineering — โหลดใน Ghidra/IDA; ดู PE header
\x7fELF / 7f 45 4c 46Magic BytesLinux ELF binary
reverse/pwn — checksec; strings; Ghidra
GIF87a / GIF89aMagic BytesGIF image (ใช้เป็น magic ปลอม upload ได้)
stego — ดู frame; หรือใช้ปลอม Content-Type ตอน upload
eyJTokenJWT token (base64 ของ '{"')
ถอด base64 ดู header/payload; ลอง alg=none / brute secret
เลขฐาน A-Z2-7 ตัวพิมพ์ใหญ่ + =EncodingBase32
base32 -d
% ตามด้วย hex (%20 %2f)EncodingURL encoding
URL decode (CyberChef / urllib)
\u00NN / \xNN เยอะEncodingUnicode/hex escape
decode escape; อาจซ้อนหลายชั้น
.- / -... (จุด-ขีด)EncodingMorse code
ถอด Morse (CyberChef From Morse)
ตัวเลข 0-7 เป็นชุดEncodingOctal (อาจเป็น ASCII octal)
แปลง octal → ASCII
01000001 (กลุ่ม 8 บิต)EncodingBinary → ASCII
แปลง binary ทีละ byte เป็น ASCII
32 hex charsHashMD5 (หรือ NTLM/MD4)
hashid; hashcat -m 0 (MD5) หรือ -m 1000 (NTLM)
$1$ / $5$ / $6$HashUnix crypt (MD5/SHA256/SHA512) — จาก /etc/shadow
hashcat -m 500/7400/1800
aad3b435... (LM ว่าง):NThashHashNTLM hash (pwdump format)
hashcat -m 1000 หรือ pass-the-hash เลย
U2FsdGVkX1CryptoOpenSSL salted (base64 ของ 'Salted__')
openssl enc -d (ต้องรู้ cipher+password); brute password
-----BEGIN PRIVATE KEY / OPENSSHCryptoPrivate key (อาจมี passphrase)
ใช้ decrypt; ถ้า SSH+passphrase → ssh2john + crack
flag{ / CTF{ / FLAG{FormatFlag format (เจอแล้วจบ!)
ส่ง flag; ถ้าเจอใน strings/memory = หาถูกทาง
data:image/...;base64FormatData URI (base64 ฝังในหน้า)
ตัด header แล้ว base64 -d เป็นไฟล์
<?php / <% / #!/binFormatSource code / script (webshell?)
อ่าน logic; ถ้า upload ได้ → RCE
system role / You are a helpfulAI / LLMSystem prompt ของ LLM (รั่วออกมา)
อ่านกฎ/persona เพื่อหาทาง override; มักมี flag/secret ใน system prompt
ignore previous instructionsAI / LLMPrompt injection payload (ฝังใน content หรือผู้ใช้อื่นใส่)
= มีคนพยายาม inject; ลองเองด้วย direct/indirect injection
function_call / tool_callsAI / LLMLLM function calling / agent tool
= มี tool abuse surface; ดู tool ที่เรียกได้ แล้วลอง SSRF/RCE ผ่าน agent
INST / im_start / Instruction headerAI / LLMChat template marker (Llama/ChatML/Alpaca)
ลอง delimiter confusion ปิดเปิด context ปลอมด้วย token เหล่านี้
hsqs / sqshMagic BytesSquashFS filesystem (ใน firmware)
unsquashfs แตก filesystem; binwalk -e
UBI# / 0x55424923Magic BytesUBI/UBIFS filesystem (embedded flash)
ubireader_extract_files; binwalk
uImage / 0x27051956Magic BytesU-Boot uImage header (firmware/kernel)
binwalk แยก kernel; ดู load address
DH params / -----BEGIN DSACryptoEmbedded key/cert ใน firmware
extract key → ใช้ปลอม/decrypt firmware update
PyInstaller / MEI\x0c\x0bReversePyInstaller-packed Python exe
pyinstxtractor → uncompyle6/decompyle3 ดู source
Go build ID / golangReverseGo binary (static, ฟังก์ชันเยอะ)
ใช้ GoReSym/IDA Go plugin restore ชื่อฟังก์ชัน
.NET / mscoree / #~ streamReverse.NET managed assembly
dnSpy/ILSpy decompile ได้ source เกือบเต็ม
subdomain ยาว/สุ่มใน DNSNetworkDNS tunneling / exfiltration
ต่อ subdomain → decode base64/hex; ดู tshark dns
beacon interval สม่ำเสมอNetworkC2 beaconing (jitter น้อย)
ดู interval + ขนาด packet; หา C2 server
JA3 / TLS fingerprint แปลกNetworkTLS client ผิดปกติ (มัลแวร์/tool)
ดู JA3 hash เทียบ known malware; SNI
EXIF GPS coordinatesOSINTพิกัดในรูปภาพ (metadata)
exiftool ดู GPS → แผนที่; reverse image search
username reuse ข้ามแพลตฟอร์มOSINTบัญชีเดียวกันหลายที่
sherlock/whatsmyname → pivot ไปข้อมูลอื่น
checksec: Canary foundFormatStack canary เปิด (overflow ทับ return ตรงไม่ได้)
leak canary ก่อน (format string/brute) แล้วค่อย overflow
Use After Free / double freeFormatHeap bug
tcache/fastbin poisoning; ดู glibc version
SPN / servicePrincipalNameTokenService account (Kerberoastable)
GetUserSPNs.py -request → hashcat -m 13100
GenericAll / WriteDacl (BloodHound)TokenACL edge ที่ abuse ได้
reset password / shadow cred / RBCD ตาม edge
169.254.169.254NetworkCloud metadata endpoint (IMDS)
SSRF → ดึง IAM credential; IMDSv2 ต้อง PUT token
/var/run/docker.sockFormatDocker socket exposed (escape ได้)
docker run -v /:/host → chroot = root บน host
/var/run/secrets/kubernetes.ioTokenK8s service account token
kubectl auth can-i --list → abuse ตามสิทธิ์
AndroidManifest.xml / classes.dexMagic Bytesภายใน APK (Android)
jadx-gui decompile; ดู permission + exported component
66 จาก 66 indicators