write-ups

ARKANYOTA Write-Ups's

View on GitHub

Bonjour agent, Nous avons découvert un étrange service ouvert sur un des serveurs de Hallebarde. Il semble possible d’interagir avec lui. Pourrriez-vous récupérer son secret?

Netcat: nc challenge.404ctf.fr 32128

  1. On lance le netcat:
    Voici le message secret que je dois garder. Vous pouvez le voir, de toute façon vous ne pourrez rien en faire!
    22093449812887959813601752144219579611297877494285087361499537896722788413163059337196579349896535206123078965664964742460359672671280890221376125275192477592678939200338428001080904847549409403143991296420141894621235898695555254580608735923015594067487852273003074768074100120072068039085685629740467539549560568569407256795311885037385050620347277186953092405224211693647686063552513924173745519922737664447119621893701175698953663417911323292077097778015245569294923309816909227253718399509694286074933568545377153183123144397491365216653913990743669229669645131013814760199028710978257599999781483945732821045312
    J'en profite également pour noter quelques informations ici:
    N = 26421413000173074274747025644861664006117845738508012849205328149717037643623110530051799892935542666673235955000925170313032648931939783368645532141776367983298662331241883853400331955265634338020918068440278061141156050088327144674157227202186663679070887793995343941541548492401822336354013230527936829622695213452475656345247995587682119958794088279087616101228026275113920829214648237367203227778820139827765618403858053200659851835046853966923569169516726848109686852312820446111279651960548250022662446064253109493387040250144751477606888560560576566655886871426357784766544227249698290829645676192683256865259
    e = 65537
    
    Ceci étant dit, passons à ce que vous vouliez me dire!
    
  2. On prend M = 22..12
  3. On divise M par un de son plus petit diviseur != 1, C’est-à-dire pour ici 2 :
  4. On le met un input :

11046724906443979906800876072109789805648938747142543680749768948361394206581529668598289674948267603061539482832482371230179836335640445110688062637596238796339469600169214000540452423774704701571995648210070947310617949347777627290304367961507797033743926136501537384037050060036034019542842814870233769774780284284703628397655942518692525310173638593476546202612105846823843031776256962086872759961368832223559810946850587849476831708955661646038548889007622784647461654908454613626859199754847143037466784272688576591561572198745682608326956995371834614834822565506907380099514355489128799999890741972866410522656
Voici ma réponse:
14163684026438601342083968552526787575755287702772003462101965406780581300541579502661982188668475021238150740521942897767323056879403306428459559429651525710863438591742335137954316020444078799633650755095629834894058791591092864081829194181004526236427845218111877635427619327490386359576341004768051764503729952242692588729739841614299507481281303297419841618884774391357668700569414198706775125308107548386536689309557369903790499987601825464642171191313221570373565279984324488312756094746528662745939133553410511178874740869262764457095484977925225690591708726990361283539518353280018939642476163200387219317205

2
Voici ma réponse:
10176614771470939176327231294736120980238319844657561490430697460774657603053637416617932675069360022008805512579153844555849144713550202774527032936941830980092418111009387058810876355463939546705714633409792290903138271186110080126377693049090303281311945772101004505993321270696596247149469659152624310793366263134891042504907046158432603674262763928593927233496689497117803268476459613787285959720267919776766874437357197541225906801497538914536515578307077957390467863392275114639629077026290865605141514054856784947878940345226080262874389135790813278477022424304208873111897692879246733390793062313577404299235

  1. On multiplie les 2 résultats, et on le module à N :
>>> (14163684026438601342083968552526787575755287702772003462101965406780581300541579502661982188668475021238150740521942897767323056879403306428459559429651525710863438591742335137954316020444078799633650755095629834894058791591092864081829194181004526236427845218111877635427619327490386359576341004768051764503729952242692588729739841614299507481281303297419841618884774391357668700569414198706775125308107548386536689309557369903790499987601825464642171191313221570373565279984324488312756094746528662745939133553410511178874740869262764457095484977925225690591708726990361283539518353280018939642476163200387219317205 * 10176614771470939176327231294736120980238319844657561490430697460774657603053637416617932675069360022008805512579153844555849144713550202774527032936941830980092418111009387058810876355463939546705714633409792290903138271186110080126377693049090303281311945772101004505993321270696596247149469659152624310793366263134891042504907046158432603674262763928593927233496689497117803268476459613787285959720267919776766874437357197541225906801497538914536515578307077957390467863392275114639629077026290865605141514054856784947878940345226080262874389135790813278477022424304208873111897692879246733390793062313577404299235) % 26421413000173074274747025644861664006117845738508012849205328149717037643623110530051799892935542666673235955000925170313032648931939783368645532141776367983298662331241883853400331955265634338020918068440278061141156050088327144674157227202186663679070887793995343941541548492401822336354013230527936829622695213452475656345247995587682119958794088279087616101228026275113920829214648237367203227778820139827765618403858053200659851835046853966923569169516726848109686852312820446111279651960548250022662446064253109493387040250144751477606888560560576566655886871426357784766544227249698290829645676192683256865259
  1. On le decode.
435443464152558712693184048274146959862522804856095627166033329707349306547937972259561846027645
>>> from Crypto.Util.number import *
>>> long_to_bytes(435443464152558712693184048274146959862522804856095627166033329707349306547937972259561846027645)
b'404CTF{L3s_0r4cl3s_RSA_s0n7_si_fr4g1l35}'

| 404CTF{L3s_0r4cl3s_RSA_s0n7_si_fr4g1l35} | |——————————————–|