Nuit du Hack CTF Quals 2016 Writeup

この大会は2016/4/2 6:59(JST)~2016/4/3 6:59(JST)に開催されました。
今回も個人で参戦。結果は150点で242位でした。
参加チームは928チームいたので、まあまあの順位でした。
解けた問題をWriteupとして書いておきます。

Matriochka - Step 1 (Crack Me 50)

ltraceで比較している箇所を見る。

# ltrace ./stage1.bin test
__libc_start_main(0x40064d, 2, 0x7fffffffe6c8, 0x4007a0 <unfinished ...>
strcmp("test", "Much_secure__So_safe__Wow")       = 39
fwrite("Try again...\n", 1, 13, 0x7ffff7dd4400Try again...
)   = 13
+++ exited (status 1) +++
Much_secure__So_safe__Wow

Trololo (Inforensic 100)

pcapファイルが与えられている。config.encファイルがエクスポートし、スクリプトでビット反転してみる。

with open('config.enc', 'rb') as f:
    data = f.read()

dec = ''
for i in range(len(data)):
    code = ord(data[i:i+1]) ^ 0xff
    dec += chr(code)

print dec

すると、このような設定ファイルになった。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
        <mailSettings>
            <smtp from="crypto@ndh2k16.com">
                <network host="hermes.ndh2k16.local" port="25"/>
            </smtp>
        </mailSettings>
        <NDHCrypto.Settings>
            <setting name="EXT_TO_ENCRYPT" serializeAs="String">
                <value>docx:doc:xls:xlsx:pdf:jpg:odt:ods:png:bmp:avi:mp4</value>
            </setting>
            <setting name="KEY" serializeAs="String">
                <value>AD784DA62D1DDBB19B7F0500A52DD15C0BD70F924A5EF7C3CEA134C428747AFB</value>
            </setting>
            <setting name="SUBJECT" serializeAs="String">
                <value>New infected</value>
            </setting>
            <setting name="IRC_SRV" serializeAs="String">
                <value>irc://irc.ndh2k16.com:6667</value> 
            </setting>
            <setting name="IRC_CHAN" serializeAs="String">
                <valude>#Crypt0NDH2K16</value>
            </setting>
            <setting name="IRC_CHANPASS" serializeAs="String">
                <value>orudeujieh6oonge4She</value>
            </setting>
        </NDHCrypto.Settings>
</configuration>

IRC_CHANPASSの値がフラグだった。

orudeujieh6oonge4She