読者です 読者をやめる 読者になる 読者になる

33C3 CTF Writeup

この大会は2016/12/28 5:00(JST)~2016/12/30 5:00(JST)に開催されました。
今回もチームで参戦。結果は1275点で278チーム中39位でした。
自分で解けた問題をWriteupとして書いておきます。

exfil (forensics 100)

Pythonコードとpcapファイルが与えられている。
Pythonコードを見ると、データをBASE32エンコードして、パディング文字を消した後、ドメイン名の前に一定の長さごとに.(ドット)を入れているようだ。データを復元してみる。
同じデータは省略し、ヘッダ情報もあるので、それは含めないようにする。

from scapy.all import *
import base64

def decode_b32(s):
    s = s.upper()
    for i in range(10):
        try:
            return base64.b32decode(s)
        except:
            s += b'='
    raise ValueError('Invalid base32')

packets = rdpcap('dump.pcap')

data = ''
tmp_data1 = ''
tmp_data2 = ''
for p in packets:
    if p[IP].dst == '192.168.0.121':
        if p.haslayer(DNSRR):
            enc = p[DNSRR].rdata.rsplit('.', 3)
            dec = decode_b32(enc[0].replace('.', ''))[6:]
            if len(dec) != 0 and tmp_data1 != dec:
                tmp_data1 = dec
                data += tmp_data1
        if p.haslayer(DNSQR):
            enc = p[DNSQR].qname.rsplit('.', 3)
            dec = decode_b32(enc[0].replace('.', ''))[6:]
            if len(dec) != 0 and tmp_data2 != dec:
                tmp_data2 = dec
                data += tmp_data2

print data

実行結果は以下の通りで、PGPのkeyと暗号化データ(secret.docx.gpg)を入手できる。

id
uid=1001(fpetry) gid=1001(fpetry) groups=1001(fpetry)
ls -alih
total 36K
2624184 drwxr-xr-x 2 fpetry fpetry 4.0K Dec 17 13:30 .
2621441 drwxr-xr-x 5 root   root   4.0K Dec 17 13:06 ..
2631209 -rw------- 1 fpetry fpetry   42 Dec 17 13:07 .bash_history
2627663 -rw-r--r-- 1 fpetry fpetry  220 Dec 17 13:06 .bash_logout
2631208 -rw-r--r-- 1 fpetry fpetry 3.7K Dec 17 13:06 .bashrc
2631221 -rw------- 1 fpetry fpetry   33 Dec 17 13:24 .lesshst
2627664 -rw-r--r-- 1 fpetry fpetry  675 Dec 17 13:06 .profile
2631216 -rw-r--r-- 1 fpetry fpetry 4.0K Dec 17 13:17 secret.docx
2631218 -rw------- 1 fpetry fpetry  908 Dec 17 13:21 .viminfo
cat > key << EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFhNxEIBCACokqjLjvpwnm/lCdKTnT/vFqnohml2xZo/WiMAr4h3CdTal4yf
CBbYeZYXI4S9RNVl3+5j2h2yCssQ5S4ydWV2oy550qqh7K41u78L4FcT4lwgdbhD
gHyRdiHpqZ15JIdHQBm1Tc4ZQNKiRmzgDZqroa/YfkGi7l35BDGId9VjwttZg6y4
4I4j0NwnSdkhx3je+YUhDRSXXw55jhLsCqEVUaBpl4T3y93QkbxSEupPOQZ2TBNJ
Hv454UDToUU9SwgkhARivA7dMV43RR21hyUdFAuRcVXzEZCS1nsF7nE9sgVGZ6fs
BXeU/oPF6o86TqgPkBKrwYk2XTA3pf1DgVyvABEBAAG0I29wZXJhdG9yIGZyb20g
aGVsbCA8dGVhbUBraXRjdGYuZGU+iQFOBBMBCAA4FiEE0Rl3XS1+y7q+DPr51DzA
YtDYFh8FAlhNxEICGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQ1DzAYtDY
Fh/FoQgAj5df/QfWefsQrMkGEH38prNfPXRN8+G2gJbjYj2fliKvwqiOAiX7AtoQ
txlwU45eVCRwSq41uLBOhNiNDKlo62Rlz5d7ZCRd0hoewPpH+gMVrsUBym3WNy6k
kvHBelOWOTqDSEW/BWyhk+UTDnMb1M0LP/NpcDHbYvR/KQhaP2N1SRz9Ye05Xs/B
DRT+lzFnXstgXsPrOOXV1J4924IfbwGRamx0N4aDzEUqkN80PfwTjaCWdrz0Cgym
BYVZOpHKuoDS/IK6/jxo4Q5N+BlAkN+9a7VeofbSor4X5Whrcr1hkIfGZ2xFAGsq
wTxTZsO5Kxg6O3Q2X4J4Wv5sntaJGbkBDQRYTcRCAQgA1NCwlE21HcHZDBMrP5ww
0F3POpoNv9umqrEfZhijhZ6DemJI8x9bImQyQGpJmyzUrUNSD4Il6dLZ6izT8Qme
QAZ4jVs76qjm2NnK4a8Y8FbvbVhy3FF38rom4jUkq2kEGRD9MCBZU4v8EFFxdUHB
TO/+asPieFvOje8quYOGQvm8Pv2yESpW2qRqZSqtpW3ovtWCrwuhtqNE2MkaKfzR
sWJ59ZFGcj+8FnEEZpZ6ssCHC1cKy01w6yTUwiCz0uYhrBp694YI0Aj1L9haeB92
RtA3YsoQ/5WOtA2cDB4+E402okCQAQbx6nQphYLkqQRsk+G9JWdqjfUVRw9sQnbo
lQARAQABiQE2BBgBCAAgFiEE0Rl3XS1+y7q+DPr51DzAYtDYFh8FAlhNxEICGwwA
CgkQ1DzAYtDYFh/5wwf/Rkx/aRIO8gdGh9grecQ3RT0zUh4nuJD+IOryBp+Unf9h
8vuSDI1m1cFq3bBAiaZE3xq91dMG9jG3upMI4ZSzxtStD7k38BnFFausoAtO/2PN
CqghyAdZUixFDFdJh0/F1tVwAi435dNRdGYQfgOgwx9z11nexDS8V+VKYj3cQFrg
M5SIARGzI/G7vI53KLL6DeACUVG/ihjGfxZKaqgUKwlK8LUjzYQDH7foUyT3JcRY
VSBmYq2jEFoMoV8BJHYFDd1/0T/Q7p5sTNfnPmkuHShoL9xoWs3F1uZ7qAu62S/z
lv+fGfdzCZnubp254S3mLsyokuyZ7xjy/i0m2a5fVQ==
=XS5g
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PRIVATE KEY BLOCK-----

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
=+woj
-----END PGP PRIVATE KEY BLOCK-----
EOF
gpg --import key
gpg: directory `/home/fpetry/.gnupg' created
gpg: new configuration file `/home/fpetry/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/fpetry/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/fpetry/.gnupg/secring.gpg' created
gpg: keyring `/home/fpetry/.gnupg/pubring.gpg' created
gpg: /home/fpetry/.gnupg/trustdb.gpg: trustdb created
gpg: key D0D8161F: public key "operator from hell <team@kitctf.de>" imported
gpg: key D0D8161F: secret key imported
gpg: key D0D8161F: "operator from hell <team@kitctf.de>" not changed
gpg: Total number processed: 2
gpg:               imported: 1  (RSA: 1)
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
ls
key
secret.docx
gpg --encrypt --recipient team@kitctf.de --trust-model always secret.docx
ls -alih
total 56K
2624184 drwxr-xr-x 3 fpetry fpetry 4.0K Dec 17 13:31 .
2621441 drwxr-xr-x 5 root   root   4.0K Dec 17 13:06 ..
2631209 -rw------- 1 fpetry fpetry   42 Dec 17 13:07 .bash_history
2627663 -rw-r--r-- 1 fpetry fpetry  220 Dec 17 13:06 .bash_logout
2631208 -rw-r--r-- 1 fpetry fpetry 3.7K Dec 17 13:06 .bashrc
2631219 drwx------ 2 fpetry fpetry 4.0K Dec 17 13:31 .gnupg
2631217 -rw-rw-r-- 1 fpetry fpetry 5.2K Dec 17 13:31 key
2631221 -rw------- 1 fpetry fpetry   33 Dec 17 13:24 .lesshst
2627664 -rw-r--r-- 1 fpetry fpetry  675 Dec 17 13:06 .profile
2631216 -rw-r--r-- 1 fpetry fpetry 4.0K Dec 17 13:17 secret.docx
2631222 -rw-rw-r-- 1 fpetry fpetry 4.4K Dec 17 13:31 secret.docx.gpg
2631218 -rw------- 1 fpetry fpetry  908 Dec 17 13:21 .viminfo
echo -n START_OF_FILE ; cat secret.docx.gpg; echo END_OF_FILE
START_OF_FILE・L+ソ0「j ヤSクi_&€|e:翡リ・ZAリフ墸ア渥w蕣Nルマ・・榛・g・ム・,評x+3G・ヘfホ_・・・・f]・O派クリェゥ浣 Nヒ@ネN6>\85・€・zソ\€)ln:#[リノ+ヲ膾ユz・T.<Qトノ溝ハ靉骨越3#v" у}ユBI・崛瞹A晨E叡蒟ム}レ;ツJア: ハL橄!゙貧8P・阜2{ヲ芙4q圭ホヒペAナLェ5q僂・・リ・便QR・} ^zメ彧タa・・モ霻マ{レn>」e鼓・N・・>yH#ク禔&柄・・Eイb$ニrホ・]a・ラシF=・ワハHネ・ⅲ・領オ・糢G+Ox{:+ホォ脣・'ロ|6ツ・<ーヨ;ミ<ッ ±俔クWチmヒ菅B精ロユLメ€・fケ靈スl4・・フ贐%セH=_l・eゥf臨$,qウ,末6ォ袁alネ.l・エR!Zンハ杜
・`q4埖ォ寐5~l剰、ン性ゥ乗テ・・;I・ー
wキ㌣ム。・4~*9蝓ェ・・d・覿T	鞏・・{'・旡ッ凌ミ?ッヤヨ・ニィp}罍驕;l・印イ・2FB・(.dノ裂堙ヨl^o/ィヲaZ釚e営綿・ラv+合・%}・「Y2・~1ェ;ad?Mヲ€~*ォ&クDpコヒN
€」zメ壇3・姫 ・5Qァ場・ハヌロヨ祀Wリ徼畷8ト#垓・ラ簔・ンハ1好タ@TムN+チ・・Jヌzィ|Rナ*声゙uz=Nツ杆ユアヤ・ィ鐐.・lB	サ0魂q
・鑰モ鞭・DE」テカシMイィьソンイレ焔pMD5゚E・・
&・紺恟ユワゥモ√+・jサVcf6・ラ:=i△)ーD
Xキリ9kd*U惹・・禛谺p刺/%m\摧	レ/・r
ヨ€Pム hョ・Mリ5,:ス・
・アK・裃ヨオ后ヨクロ箇ーロДトXト・
3ン5ル)5ニZ5・ル+ォ/Y貉・・{゚Bユ弘hユ「漓x1鈹@・・櫪リYA<-Gツt⑬ミ-廩チD・rヨ@KVヤ?Sオ ヌ・Q}A` ヅi8・フッF」€・゙「膕V・ヲ"QЫFXl・イP糾5珖ヒ\㌻籵・x\鐘`・・ァン.{ZゥャMrゥ6・琴キャ・紙XタU.ミ飯nxラ㎡)||wォeメホZ・]蛎7椪ォ・チ」UaGリ踐Q・_〃罇?[チロスE|・[・T解チ竰ェ-Bヲnク>l・5ム'"`・・韓オT ~ム萬゙m舜!痲D・鎧琇ツツ0ネ.
ェィ・VHロxン・@ナサゥト偽。イ・UW%・耀カ6ホ6;ィ洗>uIz「キpxruL;rfラ^K(tAAd澑吹假佗涓ユソカウ・リ駻・#テp・ソ呱$#チ4E亙ォ.Yイー・スOケワ・昉・u践N醇エフ事オ栲DWニ紂qR當9ン・ホノ・&・gェ・αl趁$f<ャョゥヨ飯3
カv€ナ'癖唆カ某|溥・垣r・マ~・ヒx燈・晏$o械;抓ソ>ヘヒ沽Rョ~tソヒニQS・
キ\潼ヘ1壘{漸8_獷・嫖「ノg巛勍l・ム2ネHy・zリ?「ッャrh@[ス!・r・闃y・ネコテ<クタW驀jo=ワlフ/ZキW」SF|z^ワ窰3ケtエチ&狼%o 0,稍キ晝メ・繆к8Q€0,・)悽NR}yW氣タ溿マ・コヨ蓐%Iル+沼ヌ;MO)芸X8タRキd(ミ・セs謠J坙・モ4・ィ#(ク険ヨワ7$簓?迺サ[・+ネ[
ミ:|追歎慂 w}ウワ}SD・
ZCc_裸j・
R(カ筬ウ歳双ナ゙ワ`j・・提ヌ
/8・・ョオモC蹇m€:ツ褄rホ・レアリュ`・Zeユ|ー7フカ0メ﨎・gM・uフD5トオエ・綣シ_/エ鑵・撻mcXDムエ^1Tロ殕ク}ゥ*M「ュタオ猖ス・・/屏ムM&0'ヌ.ツホヒャF|DR6樞N・=I#{、ャpk膾3};ニ>楪・]ユコ睥X必鹿CA嵐Caツラh\K{hW・クロソ劦}oごA・
・r・ネ \ハホf」ヌチ/@D繝モ゚XチI・TロIr・qPルV;+ォI瀬7・%莅-浚・嫦・3嗄^ョ$コ・ヒ・ソッzゥ f浯・	・j@;]€筌劜縺」pェIョ:イョp絣キGi?・ュpミ\8]ヘ¬イ6躾紛4瓊蒡テ「ラリpヘ・ 黴指C$4ハ/y
ヒヨオ勺トsスJ9エ欧>,ヌLJbea廟ヘ4ルX<・#ハiォヒ'$L゙IT・ m・ケ・ルp8マカモキ芭ロ貝ホ・2g・,Mヤz・オ/|ユL?シSy・;=胤
gle-ス・Jハ<VHhスャソ又マム・・ケユミa~カ・・@pWuォ欧碼EH`スRfQqメm・z五ト・' ナホ「B?|・メIホQタ]愷→7ヨQリv?゚・zユO\Gホ・ヂ)・籘ロ佯胖ホユ・ヘモ薹・~oソ・-ヲル胛、=>U暿Hソ %F1?|#タPt訌・Klァホネヤ^eェ皇《q`・αワ檠xィ/,S枋オ*RyN$・
i扶Jjァdノヤ	-イY夘Q|ス$・ュチ&8t)ヨiヨyT酩婀ツW・Xト
サA・モ@=テW゙eM、嫻ェ・・;,・・・レ&・o垓dト,nッ$<・ル!・uk奪4s-3u<f・k}Tンワ	・|イェ・V冩ツヤ+ゥ・・z・w柵ョ・'0ル洲ル・ェキッ[ムS
ツt~hェ0閔VルB・ロ1aon・ムXラ|
 ンホn蛬-c儺|z^2gヨ゙渫jユ・・Yン<?K
Lナ汽・・Dm*cu<ー労ヤ@8ヌ・N蕗|リム クV!」ェ%ロ・ヒテ疎cZゲ。・ゥ盃ニ「ノウ・q元*イEv%q4弴セI「・ァソEk・+マ牝za(㊨・ノヘ硅H^ォaゥmレ飯乳琳oカ・鉐 A 」mT・
|t
f・タ・・ュCゥg鸞p>?・ハ7諸纏テ
磊P>.?マ・ハ(・uオェW(4ハュホ<<ナ抑・k籖JVZ)ュス茉bw
J}。`Xヲ・エ畢~ヘ-uァKワ嘔?・・セz,等ウR・6p」テH・'Tュ1・忞|攀・zア$煖・+G暈ル\冓ヒG章5・阿ノ
Y
c・ャ~Lヨ;[V}o芍9[8-・ハ・s夏/・赧・
;|此E福ナケ﨎6#M筋・﨨%ゥ]エc,ヲJm則・秩%。 レr{ーМ・
膵m・屏'q⑰サ・X・・ヨ	\志[。。 9、ワテホ莉・イk・・オJャb屬mt ホ\テ・鯣c-7・[}・*#・始#ォd尺:Lホ「・ー褝5曲゚ロネゾオマヤwf<!ニタt喪ヒg
G寇
;・・・モ・y'ヘ賰奚EサZエS鈍}艇臟・ラs、ヲYげイ#5・゚ヤu・ーゥワ#aハリ/USa-WミゥシwaGヤ
・0JeeXp陂・6ォXム\UqK	寵5鴇9ィ,壗ー隍	フ4Lオ)忿侖€3蝨	ネヌ傚ラ・貴7V・双・・・[`czJ	_・フ橸偃ウ%ネ辣 eンeヒ[%ッ竺由・fヤ・ト.・ォ|ワクh欝・a\ゥナク鷽ゥaヨ€]OLm、Eハソ嬌瑢ヌヘユP)!・=g87キL縮n゚1$R@5ⅥRJ瓶 ;x
Dエ/ チ・泗悌囑aメサ婉ソG$m鬯.2韓・恃-%・ヒDラ4Lチ・/カ茴wVid・34hw・・n:ウ・C)Xmyシャネ学€着・。・ルeK%*+FT&Kチッマ・}sァョス[?nサ5・・Wロ衍ヨ2ェm8V z]_Z9饑爭F轆鈴切膃ェ掀sリシミ攪23レJ5L・゙8b丶mト葦q・鋩}ソヤ浴ユ・n~7 ・	藁ゥェソⅥ・F3An蛻Pモ・榊トョ}オ8Zメsン淇.k」ョ冝vCI(漸・S€cOF[M黯モb'Sカ・'∂・ェニフ€ゥム1・゚・・シw芒9・|&Fセr+ニp梼・・
ュ&ミ&嚮$ャ魵FZウ・ ・・。ト+ヒT@)タWDSIノ昱・墜ホx'ノⅠ・b・#\ォモC#シ・窃ヨQ・Pユヘ6niSヨニ
|WDノZ教.Lニ肭SモヨエO@c
・qテY>O・甎ワフテ・]g・レフtL	*ヲJ啣RY_堆蜻・・ワレ・Bァサ8・#?メ)[・・・・勝Pヘqy・.1b レッR焉"ノvイ・タニンA#7Bァ・ウ團苔・ノ舘サ曵#ムェ]・P貿=。i~~N€ソ象卯・=壯qルP・ン
レsヲ-.=A6糴ク`秕.寸B捕ヤmメ・gセオ・」%ィ「オ9NニNm・?ッBタ肋lヒノgl{・゙拍カ&mムQホッA存Q・・・wヒhィttマ・?戉黥{ニヒ
レ娼匯[ユ^ラ・m!フ_lMA^D睇S譛?7\b臟	Vjウ::@。1d・シヨ"<0㌶%Ybo審ヌニ&ンイリbェ(.瑯O1<苹r奕ル8瞋ォEf踪スイ0ハ洫=END_OF_FILE
[?1;2c[?1;2c[?1;2c[?
/bin/bash: line 97: $'\E[?1': command not found
/bin/bash: line 97: $'2c\E[?1': command not found
/bin/bash: line 97: $'2c\E[?1': command not found
/bin/bash: line 97: $'2c\E[?': command not found
rm key
rm secret.docx.gpg
ls -alih
total 40K
2624184 drwxr-xr-x 3 fpetry fpetry 4.0K Dec 17 13:32 .
2621441 drwxr-xr-x 5 root   root   4.0K Dec 17 13:06 ..
2631209 -rw------- 1 fpetry fpetry   42 Dec 17 13:07 .bash_history
2627663 -rw-r--r-- 1 fpetry fpetry  220 Dec 17 13:06 .bash_logout
2631208 -rw-r--r-- 1 fpetry fpetry 3.7K Dec 17 13:06 .bashrc
2631219 drwx------ 2 fpetry fpetry 4.0K Dec 17 13:31 .gnupg
2631221 -rw------- 1 fpetry fpetry   33 Dec 17 13:24 .lesshst
2627664 -rw-r--r-- 1 fpetry fpetry  675 Dec 17 13:06 .profile
2631216 -rw-r--r-- 1 fpetry fpetry 4.0K Dec 17 13:17 secret.docx
2631218 -rw------- 1 fpetry fpetry  908 Dec 17 13:21 .viminfo
rm -rf .gnupg
ls -alih
total 36K
2624184 drwxr-xr-x 2 fpetry fpetry 4.0K Dec 17 13:32 .
2621441 drwxr-xr-x 5 root   root   4.0K Dec 17 13:06 ..
2631209 -rw------- 1 fpetry fpetry   42 Dec 17 13:07 .bash_history
2627663 -rw-r--r-- 1 fpetry fpetry  220 Dec 17 13:06 .bash_logout
2631208 -rw-r--r-- 1 fpetry fpetry 3.7K Dec 17 13:06 .bashrc
2631221 -rw------- 1 fpetry fpetry   33 Dec 17 13:24 .lesshst
2627664 -rw-r--r-- 1 fpetry fpetry  675 Dec 17 13:06 .profile
2631216 -rw-r--r-- 1 fpetry fpetry 4.0K Dec 17 13:17 secret.docx
2631218 -rw------- 1 fpetry fpetry  908 Dec 17 13:21 .viminfo
exit

keyをインポートし、暗号化データを復号する。

$ gpg --import key
gpg: ディレクトリ「/home/ctf/.gnupg」ができました
gpg: 新しい構成ファイル「/home/ctf/.gnupg/gpg.conf」ができました
gpg: *警告*: 「/home/ctf/.gnupg/gpg.conf」のオプションは起動している間、有効になりません
gpg: 鍵リング「/home/ctf/.gnupg/secring.gpg」ができました
gpg: 鍵リング「/home/ctf/.gnupg/pubring.gpg」ができました
gpg: /home/ctf/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵D0D8161F: 公開鍵"operator from hell <team@kitctf.de>"をインポートしました
gpg: 鍵D0D8161F: 秘密鍵をインポートしました
gpg: 鍵D0D8161F:"operator from hell <team@kitctf.de>"変更なし
gpg: 処理数の合計: 2
gpg:               インポート: 1  (RSA: 1)
gpg:              変更なし: 1
gpg:       秘密鍵の読み込み: 1
gpg:   秘密鍵のインポート: 1

$ gpg secret.docx.gpg
gpg: 2048-ビットRSA鍵, ID BF30A26A, 日付2016-12-11に暗号化されました
      "operator from hell <team@kitctf.de>"

secret.docxが復号でき、ファイルを開いてみるとフラグが書いてある。
f:id:satou-y:20170105224849p:plain

33C3_g00d_d1s3ct1on_sk1llz_h0mie