ã¯ããã«
æ ªå¼ä¼ç¤¾ã¨ãã»ã¨ãã»ã©ãã©ããªã¼ãºå ¥ç¤¾1å¹´ç®ã®å¸å²¡ã§ãã
ãã®åº¦ãDEF CON CTF 2022ã®äºé¸ã«ãTeam Enu(â»)ãã¨ãã¦åå ãã¦ãã¾ããã
â»NTTã°ã«ã¼ãæå¿ã«ããCTFãã¼ã
åå ã¡ã³ãã¼ã¨äºåå±ã®ç·å¢33åã§ãã¼ã ãçµæãã48æéã«åã¶æ¦ãã«æã¿ã¾ããã
ç§ã¯äºåå±ã¨ãã¦åå è
ããµãã¼ãããåããåé¡ã«ããã£ã¬ã³ã¸ãã¦ããã¾ããã
çµæã¯ã決åé²åºã«ã¯è³ããªãã£ããã®ã®ä¸çã®å¼·è±ª477ãã¼ã ãã²ããããªã28ä½ã®æ績ãããããäºãã§ãã¾ããã
åé¡ã®é£æ度ãé常ã«é«ããç§ã¯ãã¤ã³ããåããã¨ãã§ãã¾ããã§ããããå 輩社å¡ã®æ¹ã ã®æè¡åã®é«ããæããèªå·±ç é½æ´»åãé å¼µãããã¨å¼·ãæãã¾ããã
æ¬è¨äºã¯ããTeam Enuãã®DEF CON CTF 2022äºé¸åå ã主ã«äºåå±ã®è¦ç¹ããã¾ã¨ããåå ã¬ãã¼ãã§ãã
ã°ã«ã¼ãä¼ç¤¾ã¨å½ç¤¾ã®æå¿ã¡ã³ãã¼ã«ãã Team Enu ã #defcon30 #CTF quals ã«åå ããä¸çã®ç«¶åãã²ããããªã28ä½ã§ããã
— æ ªå¼ä¼ç¤¾ã¨ãã»ã¨ãã»ã©ãã©ããªã¼ãº (@NFLaboratories) May 30, 2022
é常ã«é£ããåé¡ã«ææ¦ããã¡ã³ãã¼ã®ã¿ãªãããç²ããã¾ã§ããï¼
ãã¼ã å²ä¸æé«é ä½æ´æ°ã§ãã決åé²åºã®å£ã¯åãã§ãããå½ç¤¾ã¯CTFã¸ã®ææ¦ãä»å¾ããµãã¼ããç¶ãã¾ã pic.twitter.com/JqSSOOYMsw
DEF CON CTFã®äºé¸ã¨ã¯
DEF CON CTFã¯æ¯å¹´å¤ã«éå¬ãããã»ãã¥ãªãã£ã³ã³ãã¹ãã§ããDEF CON CTFã«åå ããããã«ã¯ãDEF CON CTFã®äºé¸ã§ä¸ä½ã«ãªãå¿ è¦ãããã¾ããDEF CON CTFã¯ä¸çæé£é¢ã®CTFã¨è¨ããã¦ãããäºé¸ééã ãã§ãããªããã¼ãã«ãé«ãã§ãã
CTFã¯ã»ãã¥ãªãã£æè¡ã競ãã²ã¼ã å½¢å¼ã®ç«¶æä¼ã§ãããä¸çä¸ã§è¡ããã¦ãã¾ããä»å¹´ã®DEF CON CTFäºé¸ã¯Jeopardyå½¢å¼ã§åºé¡ããã¾ããã
競ææéã¯48æéããã¾ãã
競æéå§æã¯ã»ã¨ãã©ã®åé¡ãããã¯ããã¦ãã¾ããã©ããã®ãã¼ã ãæå®ãããåé¡ã解ãã¨ãæ°ããåé¡ãã¢ã³ããã¯ããã解ããããã«ãªãã¾ãã
競æã§ã¯ã解ããåé¡ãã¨ã®å¾ç¹ã®åè¨å¤ã競ãã¾ããåé¡ãã¨ã®å¾ç¹ã¯è§£ãããã¼ã æ°ã«å¿ãã¦ä½ããªã£ã¦ãã¾ãã¾ãã
é«ãå¾ç¹ãåãã«ã¯ä»ã®ãã¼ã ã解ããªãåé¡ã解ãå¿ è¦ãããã¾ããé«ãå¾ç¹ã»ããã«é£ããåé¡ã«åãçµãããå¤ãã®ãã¼ã ã解ãã¦ããåé¡ã«åãçµããã®å¤æã®é£ãããããã¾ãã
ä¸ã®ç»åã¯ç«¶æéå§æã®åé¡ä¸è¦§ã®ç»é¢ã§ããçãçã£ã¦ããåé¡ãã©ããã®ãã¼ã ã解ãã¨ãæ°ããåé¡ãã¢ã³ããã¯ããã¾ãã
æºå
ãTeam Enuãã§ã¯ããã¼ã ã¨ãã¦CTFã§æ¦ãä¼å ´ã¨ç°å¢ãç¨æãã¦ãã¾ãã
ææçã®é¢ä¿ã§ä¼å ´ãç¨æããã®ã¯3å¹´ã¶ãã ã£ãããã§ãã
ä»å¹´ã¯NFLabs.ã®æ¬ç¤¾ï¼ã·ã¼ãã³ã¹ï¼ã«ä¼å ´ã¨ç°å¢ãç¨æãã¾ããï¼
競æã«åå ããæ¹ã ã«ã¨ã£ã¦æé«ã®ç°å¢ãç¨æããããã¨ããæ°æã¡ãæã£ã¦ãä¼å ´ã¨ç°å¢ã®æºåãé²ãã¾ããã
åå ãããæ¹ã«å¸æã伺ã£ãããä¼å ´ã®ã¬ã¤ã¢ã¦ãã話ãåã£ãããã¦ãã¾ããã
ã¾ããããããä½æããä¼å ´ã¸ã®éé ãæºåç©ãªã©ãè¨è¼ãã¾ããã
å¦çæ代ã®å宿ãæãåºãã¾ããï¼
æºåã§ã®ä¸»ãªå·¥å¤«
ãéä¸ã§ãããã©ãã¿ããªã§ã¤ãã³ãã«åå ãã¦ããé°å²æ°ããªã³ã©ã¤ã³ã»ç¾å°ã®åæ¹ã«å³ãã£ã¦ããããããã¨ãç®æ¨ã«ä¸»ã«ä»¥ä¸ã®ï¼ã¤ã®å·¥å¤«ãè¡ãã¾ããã
1. oViceã§ã©ã¤ãé
ä¿¡
oViceã¨ãããã¼ãã£ã«ç©ºéãæä¾ãããµã¼ãã¹ã§ãä¼å ´ã®æ§åãæµããã¨ã§ããªã³ã©ã¤ã³ã®äººã¨ã¤ãªãã¾ããã
ãªã³ã©ã¤ã³åå ã®æ¹ããä¼å ´ã®æ§åãè¦ãªãããåé¡ã«åãçµãã ã¨ã®å£°ãããã¾ããã
2. æºã®é
ç½®ãéä¸ã§ãããã©ãã¿ããªãããæãã«ãã
æºã®åãã交äºã«ãã¾ãããããã«ãããä»ã®æ¹ã¯è¦ãããã©ãç®ã¯åããªãã¨ãã絶å¦ãªæãã«ãªããéä¸ã§ãããã©ãã¿ããªãããæãã«ãªã£ã¦ãã¾ããã
3. ã¤ãã³ãæï¼ã¹ã³ã¢ãã¼ãï¼
å½æ¥ã¯åé¡ä¸è¦§ã®ç»é¢ãã¹ã¯ãªã¼ã³ã«æå½±ãã¦ãã¾ãããããã«ãã£ã¦ãï¼ä¸ä½ã«é£ãè¾¼ãã°ï¼é ä½ãåãã£ããã解ãã¦ããåé¡ã¨è§£ãã¦ããªãåé¡ãè¦ããããã¾ããç¾å°éå¬ã§ã¤ãã³ãããã¨ãã¯ãã¹ã¯ãªã¼ã³ã«ç¹æ°ãé ä½ãåºã¦ããå ´åãå¤ãã¨æãã®ã§ãã¤ãã³ãã®è¨å ´æãåºãã®ã«å¤§ããè²¢ç®ãã¦ããã¨èãã¦ãã¾ãã
ã¾ããå®å¿ãã¦ç«¶æã«éä¸ã§ããããã«ãå ¥å®¤æã®æ¤æ¸©ãææ°ãå ±ç¨é¨ã®ã¢ã«ã³ã¼ã«é¤èçã®ææç対çãå®æ½ãã¾ããã
ã³ã³ãã¹ãæ¬çª
åé¡ã®ç´¹ä»
ããã§ã¯ãç°¡åãªåé¡(mic check1)ã¨Team Enuã§è°è«ãç½ç±ãã¦ããåé¡(router_ni)ãç´¹ä»ãã¾ãã
mic check1
ã¾ãã¯ç°¡åãªåé¡ã®ç´¹ä»ã§ããï¼ç¸å¯¾çã«ç°¡åã ã£ãã ãã§ãç§ã¯ç°¡åã§ã¯ãªãã¨æã£ã¦ãã¾ããï¼
ç§ãä»ã®æ¹ã®WriteUpãèªã¿ãªãããå¯ä¸è§£ããåé¡ãããã§ãã
mic check 1
Prompt
nc simple-service-c45xrrmhuc5su.shellweplayaga.me 31337
Ticket
This challenge requires a ticket to connect. Your teamâs ticket is:ticket{Cormora****wcXk}
This ticket and the flag are traceable to your team. Do not share it with other teams, and do not try to submit a flag from another team.
ãã®åé¡ã§ã¯ããµã¼ãã«æ¥ç¶ããã¨è¶³ãç®ã®åé¡ã表示ããã¾ãã
% nc simple-service-c45xrrmhuc5su.shellweplayaga.me 31337 Ticket please: ticket{Cormor... 560595781 + 1853574705 =
ããã«ç´2ç§ä»¥å
ã«çããªãã¨Time's up
ã£ã¦è¡¨ç¤ºããã¾ããè¨ç®ãéã人ã¯æã§è¡ããããããã¾ããããç§ã«ã¯ç¡çã ã£ãã®ã§ãããã°ã©ã ãæ¸ãã¾ããã
import socket import pprint host = "simple-service-c45xrrmhuc5su.shellweplayaga.me" port = 31337 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #ãªãã¸ã§ã¯ãã®ä½æããã¾ã client.connect((host, port)) #ããã§ãµã¼ãã¼ã«æ¥ç¶ãã¾ã message = "ticket{Cormora****Xk}\n" data = client.recv(300) #ããã§ãTicket please: ããåä¿¡ããã client.sendall(message.encode()) # ãã±ãããéã data = client.recv(300) # è¨ç®å¼ã560595781 + 1853574705 = ããéããã¦ãã client.sendall((str(eval(data.decode()[:-2]))+"\n").encode()) # æå¾ã®2æåã= ããåãé¤ãã¦ããevalé¢æ°ï¼æååãããã°ã©ã ã¨èªèãã¦è¨ç®ãã¦ãããé¢æ°ï¼ã«å ¥ãã¦ãè¨ç®çµæãéä¿¡ãã data = client.recv(300) # ãã©ã°ãè¿ããã pprint.pprint(data.decode()) # ãã©ã°ã表示ããï¼ãã®è¡¨ç¤ºãã³ãããã¦ãã©ã°ã²ããï¼
router_ni
router_ni
The flag is in the RAM. You are lucky that a router does not have that much RAM!
Leak it.
Updating the router's firmware will possibly brick the router and will not get you this flag.
Don't do it.
ãã®åé¡ã®URLã«ã¢ã¯ã»ã¹ããã¨ãã«ã¼ã¿ã®ç®¡çç¨ã®Web UIã表示ããã¾ãã
ãããã¡ãªãã¹ã¯ã¼ãã§ããadmin/adminã§ãã°ã¤ã³ããã¨ã以ä¸ã®ç»é¢ãããã¾ãã
- ã«ã¼ã¿ã®ã¹ãã¼ã¿ã¹
- ãã¹ã¯ã¼ãå¤æ´
- pingã®æ»æ´»ç¢ºèª
- ãã¡ã¼ã ã¦ã§ã¢ã®æ´æ°
ãã®ãã¡ãpingã®æ»æ´»ç¢ºèªã®ãã¼ã¸ã«ã¯URLã«id=æ°å¤
ãå«ã¾ãã¦ãã¾ãããid㯠/ping ãå®è¡ããçµæãä¿åããã¦ããidã«ãªã£ã¦ãã¾ããããã®pingã®çµæã表示ããéã«IDãpingçµæãæ ¼ç´ããé åã®å¢çãè¶ãã¦ããªãããã§ãã¯ããã¦ãã¾ããã§ãããidã大ããªå¤ã«ããã¨æ¬æ¥èªãã¦ã¯ãããªãã¡ã¢ãªé åãè¦ãã¦ãã¾ãã¾ããã
ããã§ãIDãå¤ããªããã¢ã¯ã»ã¹ããç·å½ããæ»æãããã¨ãidã18446744073709551507ã¨18446744073709551508ã«ãã©ã°ãããã¾ããã
ä¸ã®ããã¹ãã¯ã/ping?id=18446744073709551507
ã®ã¬ã¹ãã³ã¹ã§å¾ããããã¤ããªãstrings
ã³ãã³ãã§å¯èªé¨åã ã表示ãããçµæã§ãã
AWAVAUATUH D$8H D$(H T$(H T$8H T$0I ]A\A]A^A_ AWAVAUATUSH t$`H D$0H t$xH l$@H |$@L |$PL9 |$@L9 []A\A]A^A_ ATUH (]A\ AVAUATUSH FLAG{r0uH ter_p0rtH als_are_H ultimateH ly_impenH etrable_H because_H they_areH _real_weH
ãã®ä»ã«ãæå·ãã«ã¼ã¿ãFlutterãè¿·è·¯çã®å¤æ°ã®åé¡ãåºé¡ããã¾ããã
詳細ã¯å
¬å¼WriteUp(https://github.com/Nautilus-Institute/quals-2022 ) ãã覧ãã ããã
å·®ãå ¥ãããã ãã¾ããï¼
å社ã®çµå¶é£ãããã¼ã¸ã£ããæ§ã ãªå·®å ¥ããå±ãã¾ããï¼
å·®å ¥ããå²ãã§è§£æ³ã®è©±ãè¿æ³å ±åãªã©ã®ä¼è©±ãå¼¾ãã§ãã¾ããã
æ¯ãè¿ã£ã¦
DEF CON CTF 2022ã®äºé¸ã«åå ãããã¨ã§ãCTFã«ä¼ç¤¾ã§åå ããã¨ãã®é°å²æ°ãæµããè¦ããã¨ãã§ãã¾ãããäºåå±ã§ã¯ãã¤ãã³ããä¼ç»éå¶ããéã®å¿æ§ãããã¤ã³ããå®éã«çµé¨ã§ããåå¼·ã«ãªãã¾ããã
ä»å¹´ã¯ãç§ã«ã¨ã£ã¦ã¯æ¯ãç«ããªãåé¡ã°ããã§ãè°è«å 容ã«ãã¤ãã¦ãããªãã£ãã®ã§ãããæ¥å¹´ããã¯ä¸åéã ãã§ãä¼è©±å 容ãç解ã§ãããããã®å®åããããã身ã«çãããã¨æãã¾ããã
äºé¸ã«ã¯äººæ°å¶éããªãã®ã§ãèå³ã®ããæ¹ã¯æ¥å¹´åº¦ã«ãã²åå ããã®ã¯ãããã§ããããï¼