初めに
どうも、クソ雑魚のなんちゃてエンジニアです。
本記事は sekaiCTF (以下リンク参照) の「DEFCON Invitation」の 供養 Writeupになります。
あと一歩のところで解けなかったので供養のため、ここに埋葬します。
安らかに眠ってくれ。
emlファイル解析
概要調査
まず以下のように中身を確認します。
Received: from OSZP286MB1997.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:18e::5)
by OSZP286MB0853.JPNP286.PROD.OUTLOOK.COM with HTTPS; Mon, 26 Jun 2023
04:01:19 +0000
Received: from MW4PR04CA0240.namprd04.prod.outlook.com (2603:10b6:303:87::35)
by OSZP286MB1997.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:18e::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun
2023 04:01:19 +0000
Received: from MW2NAM10FT086.eop-nam10.prod.protection.outlook.com
(2603:10b6:303:87:cafe::1b) by MW4PR04CA0240.outlook.office365.com
(2603:10b6:303:87::35) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.33 via Frontend
Transport; Mon, 26 Jun 2023 04:01:18 +0000
Authentication-Results: spf=softfail (sender IP is 89.187.129.23)
smtp.mailfrom=nautilus.org; dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nautilus.org;compauth=fail
reason=001
Received-SPF: SoftFail (protection.outlook.com: domain of transitioning
nautilus.org discourages use of 89.187.129.23 as permitted sender)
Received: from emkei.cz (89.187.129.23) by
MW2NAM10FT086.mail.protection.outlook.com (10.13.154.115) with Microsoft SMTP
Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.6521.21 via Frontend Transport; Mon, 26 Jun 2023 04:01:18 +0000
X-IncomingTopHeaderMarker:
OriginalChecksum:9DDA3B4B05898B88786E681C02125775764996B2402A20D557D078EF728C1A7C;UpperCasedChecksum:BF2187F40E1209B8020BA3F5C2554C2A015F4762C12E0C150AE367A3D574B248;SizeAsReceived:520;Count:12
Received: by emkei.cz (Postfix, from userid 33)
id E7EA75474A4; Mon, 26 Jun 2023 06:01:16 +0200 (CEST)
To: sahuang97@hotmail.com
Subject: DEFCON Finals Invitation
From: "Nautilus Institute" <nautilus@nautilus.org>
Errors-To: nautilus@nautilus.org
Reply-To: nautilus@nautilus.org
Content-Type: multipart/mixed; boundary=BOUND_64990D8CE13DA5.05124591
Message-Id: <20230626040116.E7EA75474A4@emkei.cz>
Date: Mon, 26 Jun 2023 06:01:16 +0200 (CEST)
X-IncomingHeaderCount: 12
Return-Path: nautilus@nautilus.org
X-MS-Exchange-Organization-ExpirationStartTime: 26 Jun 2023 04:01:18.3777
(UTC)
X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit
X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000
X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit
X-MS-Exchange-Organization-Network-Message-Id:
b5215290-477f-4f12-2050-08db75f9feb7
X-EOPAttributedMessage: 0
X-EOPTenantAttributedMessage: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa:0
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic:
MW2NAM10FT086:EE_|OSZP286MB1997:EE_|OSZP286MB0853:EE_
X-MS-Exchange-Organization-AuthSource:
MW2NAM10FT086.eop-nam10.prod.protection.outlook.com
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-UserLastLogonTime: 6/26/2023 3:59:46 AM
X-MS-Office365-Filtering-Correlation-Id: b5215290-477f-4f12-2050-08db75f9feb7
X-MS-Exchange-EOPDirect: true
X-Sender-IP: 89.187.129.23
X-SID-PRA: NAUTILUS@NAUTILUS.ORG
X-SID-Result: FAIL
X-MS-Exchange-Organization-PCL: 2
X-MS-Exchange-Organization-SCL: 5
X-Microsoft-Antispam: BCL:0;
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 04:01:18.1590
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b5215290-477f-4f12-2050-08db75f9feb7
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-AuthSource:
MW2NAM10FT086.eop-nam10.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZP286MB1997
X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.6963050
X-MS-Exchange-Processed-By-BccFoldering: 15.20.6521.025
X-Microsoft-Antispam-Mailbox-Delivery:
abwl:0;wl:1;pcwl:1;kl:0;dwl:0;dkl:0;rwl:0;ucf:0;jmr:0;ex:0;psp:0;auth:0;dest:I;OFR:TrustedSenderList;ENG:(5062000305)(90000117)(91040095)(9050020)(9075021)(9100338)(944500132)(2008001134)(4810010)(4910033)(8820095)(9610025)(9560006)(10120022)(9439006)(9310011)(9220031);
X-Message-Info:
qZelhIiYnPn4YM3NswkPhx5OU37B60iiEel+OdD9wyQH2suamdgTMSfziCnGO+IH1CB7VO7WmIWwMJktPLVDoKPJgguyA7Dcx3j4yg3wDVrtyqz9XFOzauseXyKE9tr2YjMUjBuxGEWZIt5AFPPjG4wPpra6eniiE/0iE4HSjyQ5mQMB6SSRt4YeH7pEQIthzEWg4Qym7M0T5TW8d7JjGw==
X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MTtHRD0yO1NDTD0tMQ==
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?UkhOVXZzNzVPWGdpWDRISFQyTTVQMHNDcGQ3NXp6MEQ3REorL3FMa1pTZWx2?=
=?utf-8?B?NGtxUWVYQnlBMUM3Qk9OWnlNeGVwNU1xai9TR1ZZQkNvMFgzTmhaNURqK1dQ?=
=?utf-8?B?U1J5U1oxaXNsVFNEU1J2TFphZkJKRERvbHJZWnVGcUExOWRkKzZVRUtRSWdr?=
=?utf-8?B?b041c3NMRHVVTWNyK3ZHbU11d1diT0R5MU5vdXZTZTBDaVVzSG9EMC9rWHVi?=
=?utf-8?B?K2FncXdaQkc0THNSV204MThjVERRYXVBSFFsSUZtRVpDQUdIU3ZiRnh0ejNZ?=
=?utf-8?B?a3g3NnVoRGxPRDZndjdESlFEUUFzN3d6NlB3a0V2cG1wM1ErNm44TXJpdCtx?=
=?utf-8?B?V3ozdTlCYU5JYXhwdnA1b3M1MUdiNFV1V3FIbFhrajR5Q1JrSXRPWm50M25W?=
=?utf-8?B?SHlXSWN2cUxMMU1LemYydFU1M2N5YmVJU2pIOFFMNzI2V0IyVEljd2I4OXlU?=
=?utf-8?B?VjIyMGp6YUpnSVpQRVRMS2djbHhzaEVLOUV3c25IMmJFV3IwTnVnZk9zWWRi?=
=?utf-8?B?cDVENGxPakFHbGhWbUcwdDBLbFVrd1Y1Mkp6bjFvODAwcm1VRG9xVnV1b3R6?=
=?utf-8?B?Q3VDL1VmY2FtRGxxelhJblJwVmwxN0FZdEJqL2xFTjdoeDV6NlYwL2p3RW44?=
=?utf-8?B?RE9uTVZPWXNqeTFZMCtSZmdlRTZ6cEU1MDdud1ZTSmRtQnViTHBkL2JEYkRT?=
=?utf-8?B?VFZDQU5FR2k5M0NwR1lsQkF6SE8xUWpyTzNxVnprQy96eUVXU3duMjl1OEs2?=
=?utf-8?B?MjBRaWdVc1daOXVsR0hHRnRBODV5QWxJalVrNWp4aUtjSU1RUEJXUy8vWkJO?=
=?utf-8?B?VlFUMXRvdmJvWEdVVnpSRjUvQURTeGE2MHkwTmtwZzR1cGU5VXNtVU1WOWVC?=
=?utf-8?B?elc2QmZSOFpZQTBjcktUQ3puYnAxcHBoUnBINkp4V0RsejBFVFFMc3VlRTFn?=
=?utf-8?B?YTgxN1g1QTlQdHFDOURxajEyQTVZYXZLNnZoT1dBN016MEJJcUFjK09wWDRQ?=
=?utf-8?B?VFFRWlUrVmkvVnBmQXF3cXQ2NTdLWTYzeGhWcUN5MndOQVZOam1ONWxGc3Ur?=
=?utf-8?B?bDMrRjZDcm5uM1RuTm9KRzBLYU1HOUJ6VXdSTy9CRnhmU2FNQlh1V0JhY1Rx?=
=?utf-8?B?angwaHhOREtsekZjN0hieEx5NGx1TGxRdkpFejN2NDc4cllWQkxLZEZHUlcr?=
=?utf-8?B?a3hSYzc3M2FqcVBUSmdTTmpnTmhxbkh3cWpsYWY1dzhFSGdDQmhVU3RMT2Iy?=
=?utf-8?B?Y3VnNXc3VERxYUp0UVJXNzNlcUkrSy9wS29MdnFPVjdoVWFkaXhQanRrWmxF?=
=?utf-8?B?ejJlODJaN3NoMGpPWk9hRVJIa3JCd1BZbWdHekZSTGRHR1djTHd4QmpTemQ3?=
=?utf-8?B?ZmJsUTZJNVUzNzNIcndqL3Q2VDRTWWtSMlBOZFlMR2M2V3ZJaTh4UzhGc3Rp?=
=?utf-8?B?T2pGWDZyOHlIdUpRalp4dkJrRFV6KzEyWW05bzdMc0R1c3RKWVRjYTV5TjFP?=
=?utf-8?B?QmUvUEFWZG5JcjFKYk01d2J5RXgxNG1CLzM4U0wrMW43WG12QjlBeENPT05H?=
=?utf-8?B?VjIvU09xME5Xc0s2U2wwUW9pZ1ZBUnY4SjNSeC85UHExNElaTHFqbUpMenFD?=
=?utf-8?B?Z0NDdnhpcHVrUmFBMDN4TTFjZEdDU2xlaEN0b3JKeldUdnorZDVJS0JXaW9W?=
=?utf-8?B?Uzd0N09nR1VHd20wRTdnUnVnSU9GVXVZbmpDVjl6OEVZVG0rUndPZlFVYkpp?=
=?utf-8?B?RWNyNTd1T0JjeUx0M0FDWUZyQlZKZ2pEWUNGWWdLdEtRSStRUEpsd0hpc2Nt?=
=?utf-8?B?ZXU3UVE2bFE4K2xEY0xKM1pmSFBXRHQyWVNkNktFZlJEK3lnQzZFRUdZTjBQ?=
=?utf-8?B?Y2xPeUx2dFp6WUszNFZkZFlyWlI5NDhoUHJ4bVZIc0VKUnlIUnc0R0dIa3B4?=
=?utf-8?B?bTNIWFRwRlFrM215ME5yR2pPa2ZuaWsweGVSbDhVWGcrRllQcVhDaG5ROGFh?=
=?utf-8?B?Mys5Y3Uwc0hFQS9QWGpNWkFhWjVFZjdLSjRKOTl0MjA0Uk1keFg1K0xweXNX?=
=?utf-8?B?TGplYi9SL2UwUGJUUGsyNGN0cDNuWVRNdmZzYWMwVkczMzZlVmVsVFBNRXFh?=
=?utf-8?B?RkRBYURjTDE3NHRCenRwT2ZQeHBEaTBmWEtnWHZiN1BPSTNFZ091RVgxb2Nu?=
=?utf-8?B?OUI2Mml6RXlhN2hvTysxR3JPR1FhbElkcHB5K0ZNMG5XQW1mbkN1dllyaC93?=
=?utf-8?B?cGRDODVTU2UxV0l4US9ra1NVdHFmY005OXZ3Q2dlVXlKQVBhVWYxdEtVbUtZ?=
=?utf-8?B?enZrREw2eTNKUHh0RGxBNzZ6d3hCdXhwdmZHUDRScmludmlnMDAxUzRuWWkv?=
=?utf-8?B?cTMwYUluZktKNXVNVWdPYU4xc0VkZW1Ga0RxdEhOLzVaR1REVWoweFNKbHRO?=
=?utf-8?B?dUlRZXdXRlAwSEQzN1V6N1NLWFoyTnNHRm1ESUNWOUpaOUNKUzVYUmJpOUt4?=
=?utf-8?B?dTFPNGFKSWhxTXJZN0kxeG1jdG05cjR0ejdUQWczYkNmT1VyaTZzR21UdWI3?=
=?utf-8?B?NkwrVnlIU1l6ZXBEbzlkV3VXRzFRckhtUHRwaXRVRXp1UmUwZnpUN2phcHhJ?=
=?utf-8?B?WkxqYXJCVmF0TVV0c2t2ZGg1dEN3cGFuTVE3SEJiQlErRko3ajhaQmZ0Y2Vt?=
=?utf-8?B?ZlcwSTVFWk4yeEVhb3JLTFZHd0RCY0dtamEwUS8zZkVOZHdicjE4OTF2RVlu?=
=?utf-8?B?RnNRMC9mUmFzVFloenhsRFUzSWh1Nk9BdVh5UStLOWEwZXdEYmRPQlJUMHh5?=
=?utf-8?Q?KWKkR8lU35VxO9BjKjxuk=3D?=
MIME-Version: 1.0
--BOUND_64990D8CE13DA5.05124591
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiPjx0YWJsZSBjbGFzcz0iYmctbGlnaHQgYm9keSIgcm9sZT0icHJlc2VudGF0aW9u
IiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI2Y3
ZmFmYyI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBiZ2NvbG9y
PSIjZjdmYWZjIj4KPHRhYmxlIGNsYXNzPSJjb250YWluZXIiIHJvbGU9InByZXNlbnRhdGlvbiIg
Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgo8dGJvZHk+Cjx0cj4K
PHRkIGFsaWduPSJjZW50ZXIiPgo8dGFibGUgcm9sZT0icHJlc2VudGF0aW9uIiBib3JkZXI9IjAi
IGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYWxpZ249ImNlbnRlciI+Cjx0Ym9keT4K
PHRyPgo8dGQgYWxpZ249ImxlZnQiPgo8dGFibGUgY2xhc3M9InMtMTAgdy1mdWxsIiByb2xlPSJw
cmVzZW50YXRpb24iIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxs
cGFkZGluZz0iMCI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHdpZHRoPSIxMDAlIiBo
ZWlnaHQ9IjQwIj4mbmJzcDs8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8dGFibGUgY2xh
c3M9ImF4LWNlbnRlciIgcm9sZT0icHJlc2VudGF0aW9uIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5n
PSIwIiBjZWxscGFkZGluZz0iMCIgYWxpZ249ImNlbnRlciI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxp
Z249ImxlZnQiPjxpbWcgY2xhc3M9InctMjQiIHNyYz0iaHR0cHM6Ly9wYnMudHdpbWcuY29tL3By
b2ZpbGVfaW1hZ2VzLzE1MzQzMTg0MDc3Mjk5NDY2MjQvbm9pNkZjaG5fNDAweDQwMC5qcGciIHdp
ZHRoPSI5NiI+PC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4KPHRhYmxlIGNsYXNzPSJzLTEw
IHctZnVsbCIgcm9sZT0icHJlc2VudGF0aW9uIiBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxs
c3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgo8dGJvZHk+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0
IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0MCI+Jm5ic3A7PC90ZD4KPC90cj4KPC90Ym9keT4KPC90
YWJsZT4KPHRhYmxlIGNsYXNzPSJjYXJkIHAtNiBwLWxnLTEwIHNwYWNlLXktNCIgcm9sZT0icHJl
c2VudGF0aW9uIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdj
b2xvcj0iI2ZmZmZmZiI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIGJnY29sb3I9IiNm
ZmZmZmYiPgo8aDEgY2xhc3M9ImgzIGZ3LTcwMCIgYWxpZ249ImxlZnQiPkludml0YXRpb24gdG8g
REVGIENPTiBDVEYgRmluYWxzPC9oMT4KPHRhYmxlIGNsYXNzPSJzLTQgdy1mdWxsIiByb2xlPSJw
cmVzZW50YXRpb24iIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxs
cGFkZGluZz0iMCI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHdpZHRoPSIxMDAlIiBo
ZWlnaHQ9IjE2Ij4mbmJzcDs8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8cCBjbGFzcz0i
IiBhbGlnbj0ibGVmdCI+RGVhciZuYnNwOzxlbT5Qcm9qZWN0IFNla2FpIENURjwvZW0+LDxicj48
YnI+PHN0cm9uZz5XZSBhcmUgdGhyaWxsZWQgdG8gaW52aXRlIHlvdSwgb24gYmVoYWxmIG9mIHRo
ZSBOYXV0aWx1cyBJbnN0aXR1dGUsIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBERUYgQ09OIENURiAy
MDIzIEZpbmFscy48L3N0cm9uZz4mbmJzcDtZb3VyIHRlYW0ncyBleGNlcHRpb25hbCBwZXJmb3Jt
YW5jZSB0aHJvdWdob3V0IHRoZSBxdWFsaWZ5aW5nIHJvdW5kIGhhcyBjYXVnaHQgb3VyIGF0dGVu
dGlvbiwgYW5kIHdlIGJlbGlldmUgeW91IGhhdmUgd2hhdCBpdCB0YWtlcyB0byBjb21wZXRlIGF0
IHRoZSBoaWdoZXN0IGxldmVsLjxicj48YnI+VGhlIEZpbmFscyB3aWxsIHRha2UgcGxhY2UgaW4g
dGhlIHZpYnJhbnQgY2l0eSBvZiBMYXMgVmVnYXMgZnJvbSBBdWd1c3QgMTB0aCB0byBBdWd1c3Qg
MTN0aC4gVGhpcyBwcmVzdGlnaW91cyBldmVudCBpcyBhIGdhdGhlcmluZyBvZiBjeWJlcnNlY3Vy
aXR5IGV4cGVydHMgYW5kIGVudGh1c2lhc3RzIGZyb20gYXJvdW5kIHRoZSB3b3JsZC4gSXQgcHJv
dmlkZXMgYSB1bmlxdWUgb3Bwb3J0dW5pdHkgdG8gc2hvd2Nhc2UgeW91ciBza2lsbHMsIG5ldHdv
cmsgd2l0aCBpbmR1c3RyeSBwcm9mZXNzaW9uYWxzLCBhbmQgZW5nYWdlIGluIGludGVuc2UgY2hh
bGxlbmdlcyB0aGF0IHdpbGwgcHVzaCB5b3VyIGFiaWxpdGllcyB0byB0aGUgbGltaXQuPGJyPjxi
cj5XZSBlbmNvdXJhZ2UgeW91IHRvIHZpc2l0Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9kZWZjb24u
b3JnLyI+b2ZmaWNpYWwgREVGIENPTiB3ZWJzaXRlPC9hPiZuYnNwO2ZvciBkZXRhaWxlZCBpbmZv
cm1hdGlvbiBhYm91dCBydWxlcywgc2NoZWR1bGVzLCBhbmQgdmVudWVzLjxzdHJvbmc+Jm5ic3A7
V2UgaGF2ZSBhdHRhY2hlZCBhIGNhbGVuZGFyIGludml0YXRpb24gaW5jbHVkaW5nIGFsbCByZWxl
dmFudCBpbmZvcm1hdGlvbjwvc3Ryb25nPi4gUGxlYXNlIGFjY2VwdCBpdCB0byBjb25maXJtIHlv
dXIgcGFydGljaXBhdGlvbi4gSW4gY2FzZSB5b3UgZW5jb3VudGVyIGFueSBpc3N1ZXMgb3IgaGF2
ZSBmdXJ0aGVyIHF1ZXN0aW9ucywgZmVlbCBmcmVlIHRvIHJlYWNoIG91dCB0byB1cy48YnI+PGJy
PlNpbmNlcmVseSw8YnI+PGVtPk5hdXRpbHVzIEluc3RpdHV0ZTwvZW0+PC9wPgo8dGFibGUgY2xh
c3M9InMtNCB3LWZ1bGwiIHJvbGU9InByZXNlbnRhdGlvbiIgYm9yZGVyPSIwIiB3aWR0aD0iMTAw
JSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KPHRib2R5Pgo8dHI+Cjx0ZCBhbGln
bj0ibGVmdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTYiPiZuYnNwOzwvdGQ+CjwvdHI+CjwvdGJv
ZHk+CjwvdGFibGU+CjxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vUHJvamVjdFNla2FpQ1RG
Ij48aW1nIHNyYz0iaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9u
cy90aHVtYi82LzZmL0xvZ29fb2ZfVHdpdHRlci5zdmcvMTAyNHB4LUxvZ29fb2ZfVHdpdHRlci5z
dmcucG5nIiBhbHQ9IlR3aXR0ZXIiIHdpZHRoPSI0JSI+PC9hPiZuYnNwOzxhIGhyZWY9Imh0dHBz
Oi8vbGlua2VkaW4uY29tL2NvbXBhbnkvcHJvamVjdC1zZWthaS1jdGYiPjxpbWcgc3JjPSJodHRw
czovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzgvODEvTGlua2VkSW5f
aWNvbi5zdmciIGFsdD0iTGlua2VkSW4iIHdpZHRoPSI0JSI+PC9hPiZuYnNwOzxhIGhyZWY9Imh0
dHBzOi8vc2VrYWkudGVhbSI+PGltZyBzcmM9Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcv
d2lraXBlZGlhL2NvbW1vbnMvOC84Ny9HbG9iZV9pY29uXzIuc3ZnIiBhbHQ9IldlYnNpdGUiIHdp
ZHRoPSI0JSI+PC9hPjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjwvdGQ+CjwvdHI+Cjwv
dGJvZHk+CjwvdGFibGU+CjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjwvdGQ+CjwvdHI+
CjwvdGJvZHk+CjwvdGFibGU+
--BOUND_64990D8CE13DA5.05124591
Content-Type: text/calendar; name="dc31-invite.ics"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="dc31-invite.ics"
QkVHSU46VkNBTEVOREFSDQpWRVJTSU9OOjIuMA0KUFJPRElEOi0vL2ljYWwubWFydWRvdC5jb20v
L2lDYWwgRXZlbnQgTWFrZXINCkNBTFNDQUxFOkdSRUdPUklBTg0KQkVHSU46VlRJTUVaT05FDQpU
WklEOkFtZXJpY2EvTG9zX0FuZ2VsZXMNCkxBU1QtTU9ESUZJRUQ6MjAyMDEwMTFUMDE1OTExWg0K
VFpVUkw6aHR0cDovL3R6dXJsLm9yZy96b25laW5mby1vdXRsb29rL0FtZXJpY2EvTG9zX0FuZ2Vs
ZXMNClgtTElDLUxPQ0FUSU9OOkFtZXJpY2EvTG9zX0FuZ2VsZXMNCkJFR0lOOkRBWUxJR0hUDQpU
Wk5BTUU6UERUDQpUWk9GRlNFVEZST006LTA4MDANClRaT0ZGU0VUVE86LTA3MDANCkRUU1RBUlQ6
MTk3MDAzMDhUMDIwMDAwDQpSUlVMRTpGUkVRPVlFQVJMWTtCWU1PTlRIPTM7QllEQVk9MlNVDQpF
TkQ6REFZTElHSFQNCkJFR0lOOlNUQU5EQVJEDQpUWk5BTUU6UFNUDQpUWk9GRlNFVEZST006LTA3
MDANClRaT0ZGU0VUVE86LTA4MDANCkRUU1RBUlQ6MTk3MDExMDFUMDIwMDAwDQpSUlVMRTpGUkVR
PVlFQVJMWTtCWU1PTlRIPTExO0JZREFZPTFTVQ0KRU5EOlNUQU5EQVJEDQpFTkQ6VlRJTUVaT05F
DQpCRUdJTjpWRVZFTlQNCkRUU1RBTVA6MjAyMzA2MjZUMDM1ODA2Wg0KVUlEOjE2ODc3MTE4NjE5
MTQtODYyOTNAaWNhbC5tYXJ1ZG90LmNvbQ0KRFRTVEFSVDtUWklEPUFtZXJpY2EvTG9zX0FuZ2Vs
ZXM6MjAyMzA4MTFUMTAwMDAwDQpEVEVORDtUWklEPUFtZXJpY2EvTG9zX0FuZ2VsZXM6MjAyMzA4
MTNUMTAwMDAwDQpTVU1NQVJZOkRFRiBDT04gQ1RGIDIwMjMgRmluYWxzDQpERVNDUklQVElPTjo8
aHRtbD5cbjxoZWFkPlxuICA8dGl0bGU+U2NoZWR1bGU8L3RpdGxlPlxuICA8c3R5bGU+XG4gICAg
dGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZVw7XG4gICAgICB3aWR0aDog
MTAwJVw7XG4gICAgfVxuICAgIFxuICAgIHRoXCwgdGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVm
dFw7XG4gICAgICBwYWRkaW5nOiA4cHhcO1xuICAgIH1cbiAgICBcbiAgICB0aCB7XG4gICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyXDtcbiAgICB9XG4gIDwvc3R5bGU+XG48L2hlYWQ+XG48
Ym9keT5cbiAgPGgyPlNjaGVkdWxlPC9oMj5cbiAgPGJyLz5cbiAgPHRhYmxlPlxuICAgIDx0cj5c
biAgICAgIDx0aD5EYXkgMSAtIEF1Z3VzdCAxMXRoPC90aD5cbiAgICA8L3RyPlxuICAgIDx0cj5c
biAgICAgIDx0ZD45OjAwIEFNIC0gMTA6MDAgQU08L3RkPlxuICAgICAgPHRkPlJlZ2lzdHJhdGlv
biBhbmQgQ2hlY2staW48L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyPlxuICAgICAgPHRkPjEwOjAw
IEFNIC0gMTE6MDAgQU08L3RkPlxuICAgICAgPHRkPk9wZW5pbmcgQ2VyZW1vbnk8L3RkPlxuICAg
IDwvdHI+XG4gICAgPHRyPlxuICAgICAgPHRkPjExOjAwIEFNIC0gMTowMCBQTTwvdGQ+XG4gICAg
ICA8dGQ+SmVvcGFyZHkgUm91bmQ8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyPlxuICAgICAgPHRk
PjE6MDAgUE0gLSA0OjAwIFBNPC90ZD5cbiAgICAgIDx0ZD5BdHRhY2sgYW5kIERlZmVuc2U8L3Rk
PlxuICAgIDwvdHI+XG4gICAgPHRyPlxuICAgICAgPHRkPjQ6MDAgUE0gLSA1OjAwIFBNPC90ZD5c
biAgICAgIDx0ZD5LaW5nIG9mIHRoZSBIaWxsIChLb3RIKTwvdGQ+XG4gICAgPC90cj5cbiAgPC90
YWJsZT5cbiAgXG4gIDx0YWJsZT5cbiAgICA8dHI+XG4gICAgICA8dGg+RGF5IDIgLSBBdWd1c3Qg
MTJ0aDwvdGg+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICA8dGQ+OTowMCBBTSAtIDEwOjAw
IEFNPC90ZD5cbiAgICAgIDx0ZD5DaGVjay1pbjwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4g
ICAgICA8dGQ+MTA6MDAgQU0gLSAxOjAwIFBNPC90ZD5cbiAgICAgIDx0ZD5TZW1pLUZpbmFscyAo
SmVvcGFyZHkgUm91bmQpPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0cj5cbiAgICAgIDx0ZD4xOjAw
IFBNIC0gMjowMCBQTTwvdGQ+XG4gICAgICA8dGQ+THVuY2ggQnJlYWs8L3RkPlxuICAgIDwvdHI+
XG4gICAgPHRyPlxuICAgICAgPHRkPjI6MDAgUE0gLSA2OjAwIFBNPC90ZD5cbiAgICAgIDx0ZD5T
ZW1pLUZpbmFscyAoQXR0YWNrIGFuZCBEZWZlbnNlKTwvdGQ+XG4gICAgPC90cj5cbiAgPC90YWJs
ZT5cbiAgXG4gIDx0YWJsZT5cbiAgICA8dHI+XG4gICAgICA8dGg+RGF5IDMgLSBBdWd1c3QgMTN0
aDwvdGg+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICA8dGQ+OTowMCBBTSAtIDEwOjAwIEFN
PC90ZD5cbiAgICAgIDx0ZD5DaGVjay1pbjwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAg
ICA8dGQ+MTA6MDAgQU0gLSAzOjAwIFBNPC90ZD5cbiAgICAgIDx0ZD5HcmFuZCBGaW5hbHM8L3Rk
PlxuICAgIDwvdHI+XG4gICAgPHRyPlxuICAgICAgPHRkPjM6MDAgUE0gLSA0OjAwIFBNPC90ZD5c
biAgICAgIDx0ZD5DbG9zaW5nIENlcmVtb255IGFuZCBBd2FyZHMgUHJlc2VudGF0aW9uPC90ZD5c
biAgICA8L3RyPlxuICA8L3RhYmxlPlxuICA8YnIvPlxuICBWaXNpdCA8YSBocmVmPSJodHRwczov
L3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZGVmY29uLW5hdXRpbHVzL3ZlbnVlLWd1aWRlLmh0bWwi
PlZlbnVlIE1hcHM8L2E+IGlmIHlvdSBkb24ndCB3aXNoIHRvIGdldCBsb3N0LiBZb3UgY2FuIGFs
c28gPGEgaHJlZj0iaHR0cHM6Ly9uYXV0aWx1cy5vcmcvIj5zdWJzY3JpYmUgdG8gb3VyIG5ld3Ns
ZXR0ZXI8L2E+LlxuICA8YnIvPjxici8+XG4gIDxpPk5hdXRpbHVzIEluc3RpdHV0ZTwvaT5cbjwv
Ym9keT5cbjwvaHRtbD4NCkxPQ0FUSU9OOkNhZXNhcnMgRm9ydW0NCkVORDpWRVZFTlQNCkVORDpW
Q0FMRU5EQVI=
--BOUND_64990D8CE13DA5.05124591--
emlファイルのようだ。dc31-invite.icsのファイルのエンコードとmessageのエンコードとMIMEのエンコードだった。
emlファイルをThunderbirdのメールクライアントで開くと以下の感じで見える。


カレンダーファイルのdc31-invite.icsが見える。更に画像や見出しがあるのでHTMLメールのようだ。
MIME調査
X-Microsoft-Antispam-Message-Info:のヘッダの部分のエンコード文字列を調査する。
とりあえずデコードサイトで見てみる。
確認すると以下のようにデコードされる。

BASE64のように見えるのでシェフさんに聞いてみる。

何も有益な情報は得られなかった。
詳細を調べてみると、MSでのSPAMメール調査に使われるものらしい。今回のCTFには関係なさそう。
Message調査
次にHTMLのメッセージを確認する。デコード結果は以下だ。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><table class="bg-light body" role="presentation" border="0" cellspacing="0" cellpadding="0" bgcolor="#f7fafc">
<tbody>
<tr>
<td align="left" valign="top" bgcolor="#f7fafc">
<table class="container" role="presentation" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center">
<table role="presentation" border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td align="left">
<table class="s-10 w-full" role="presentation" border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" width="100%" height="40"> </td>
</tr>
</tbody>
</table>
<table class="ax-center" role="presentation" border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td align="left"><img class="w-24" src="https://pbs.twimg.com/profile_images/1534318407729946624/noi6Fchn_400x400.jpg" width="96"></td>
</tr>
</tbody>
</table>
<table class="s-10 w-full" role="presentation" border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" width="100%" height="40"> </td>
</tr>
</tbody>
</table>
<table class="card p-6 p-lg-10 space-y-4" role="presentation" border="0" cellspacing="0" cellpadding="0" bgcolor="#ffffff">
<tbody>
<tr>
<td align="left" bgcolor="#ffffff">
<h1 class="h3 fw-700" align="left">Invitation to DEF CON CTF Finals</h1>
<table class="s-4 w-full" role="presentation" border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" width="100%" height="16"> </td>
</tr>
</tbody>
</table>
<p class="" align="left">Dear <em>Project Sekai CTF</em>,<br><br><strong>We are thrilled to invite you, on behalf of the Nautilus Institute, to participate in the DEF CON CTF 2023 Finals.</strong> Your team's exceptional performance throughout the qualifying round has caught our attention, and we believe you have what it takes to compete at the highest level.<br><br>The Finals will take place in the vibrant city of Las Vegas from August 10th to August 13th. This prestigious event is a gathering of cybersecurity experts and enthusiasts from around the world. It provides a unique opportunity to showcase your skills, network with industry professionals, and engage in intense challenges that will push your abilities to the limit.<br><br>We encourage you to visit <a href="https://defcon.org/">official DEF CON website</a> for detailed information about rules, schedules, and venues.<strong> We have attached a calendar invitation including all relevant information</strong>. Please accept it to confirm your participation. In case you encounter any issues or have further questions, feel free to reach out to us.<br><br>Sincerely,<br><em>Nautilus Institute</em></p>
<table class="s-4 w-full" role="presentation" border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" width="100%" height="16"> </td>
</tr>
</tbody>
</table>
<a href="https://twitter.com/ProjectSekaiCTF"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Logo_of_Twitter.svg/1024px-Logo_of_Twitter.svg.png" alt="Twitter" width="4%"></a> <a href="https://linkedin.com/company/project-sekai-ctf"><img src="https://upload.wikimedia.org/wikipedia/commons/8/81/LinkedIn_icon.svg" alt="LinkedIn" width="4%"></a> <a href="https://sekai.team"><img src="https://upload.wikimedia.org/wikipedia/commons/8/87/Globe_icon_2.svg" alt="Website" width="4%"></a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
文字のリンクは特段怪しい点はなかった。画像のリンクを更に調べてみる。
此奴を手始めに調べる。

remnux@remnux:~/Downloads/defcon$ hexdump -C noi6Fchn_400x400.jpg
00000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 |......JFIF......|
00000010 00 01 00 00 ff e2 02 a0 49 43 43 5f 50 52 4f 46 |........ICC_PROF|
00000020 49 4c 45 00 01 01 00 00 02 90 6c 63 6d 73 04 30 |ILE.......lcms.0|
00000030 00 00 6d 6e 74 72 52 47 42 20 58 59 5a 20 00 00 |..mntrRGB XYZ ..|
00000040 00 00 00 00 00 00 00 00 00 00 61 63 73 70 41 50 |..........acspAP|
00000050 50 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |PL..............|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 f6 d6 00 01 |................|
00000070 00 00 00 00 d3 2d 6c 63 6d 73 00 00 00 00 00 00 |.....-lcms......|
00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000000a0 00 00 00 00 00 00 00 00 00 0b 64 65 73 63 00 00 |..........desc..|
000000b0 01 08 00 00 00 38 63 70 72 74 00 00 01 40 00 00 |.....8cprt...@..|
...省略
特段不審なものはなさそう。一応ファイルが埋め込まれてないかbinwalkでも確認。
remnux@remnux:~/Downloads/defcon$ binwalk noi6Fchn_400x400.jpg
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 JPEG image data, JFIF standard 1.01
remnux@remnux:~/Downloads/defcon$
ないなぁ。こんな感じですべての画像に特筆すべき点はなかった。
ics調査
続いてカレンダーファイルの調査を行う。
デコード結果は以下だ。
<html>\n<head>\n <title>Schedule</title>\n <style>\n table {\n border-collapse: collapse\;\n width: 100%\;\n }\n \n th\, td {\n text-align: left\;\n padding: 8px\;\n }\n \n th {\n background-color: #f2f2f2\;\n }\n </style>\n</head>\n<body>\n <h2>Schedule</h2>\n <br/>\n <table>\n <tr>\n <th>Day 1 - August 11th</th>\n </tr>\n <tr>\n <td>9:00 AM - 10:00 AM</td>\n <td>Registration and Check-in</td>\n </tr>\n <tr>\n <td>10:00 AM - 11:00 AM</td>\n <td>Opening Ceremony</td>\n </tr>\n <tr>\n <td>11:00 AM - 1:00 PM</td>\n <td>Jeopardy Round</td>\n </tr>\n <tr>\n <td>1:00 PM - 4:00 PM</td>\n <td>Attack and Defense</td>\n </tr>\n <tr>\n <td>4:00 PM - 5:00 PM</td>\n <td>King of the Hill (KotH)</td>\n </tr>\n </table>\n \n <table>\n <tr>\n <th>Day 2 - August 12th</th>\n </tr>\n <tr>\n <td>9:00 AM - 10:00 AM</td>\n <td>Check-in</td>\n </tr>\n <tr>\n <td>10:00 AM - 1:00 PM</td>\n <td>Semi-Finals (Jeopardy Round)</td>\n </tr>\n <tr>\n <td>1:00 PM - 2:00 PM</td>\n <td>Lunch Break</td>\n </tr>\n <tr>\n <td>2:00 PM - 6:00 PM</td>\n <td>Semi-Finals (Attack and Defense)</td>\n </tr>\n </table>\n \n <table>\n <tr>\n <th>Day 3 - August 13th</th>\n </tr>\n <tr>\n <td>9:00 AM - 10:00 AM</td>\n <td>Check-in</td>\n </tr>\n <tr>\n <td>10:00 AM - 3:00 PM</td>\n <td>Grand Finals</td>\n </tr>\n <tr>\n <td>3:00 PM - 4:00 PM</td>\n <td>Closing Ceremony and Awards Presentation</td>\n </tr>\n </table>\n <br/>\n Visit <a href="https://storage.googleapis.com/defcon-nautilus/venue-guide.html">Venue Maps</a> if you don't wish to get lost. You can also <a href="https://nautilus.org/">subscribe to our newsletter</a>.\n <br/><br/>\n <i>Nautilus Institute</i>\n</body>\n</html>
このファイルの中にあるリンクhttps://storage.googleapis.com/defcon-nautilus/venue-guide.htmlを確認すると以下のサイトに飛ぶ。

このサイトの下部にダウンロードリンクがあるのだが、完全に見落としてしまっていて発見に時間がかかってしまった。同じチームメイトに教えてもらって発見し、このダウンロードリンクを調べることが出来た。
リンクを押すと何やらファイルをダウンロードできる。
VBScript - Ransomware
ファイルを確認すると何やらSekaiCTFという記載もあるのでこのファイルを確認するみたいだ。


あ、難読化、、、
動的解析
こういう難読化されたファイルは回してみて、解析してみるに限る。
Windows端末の仮想環境に移行して実際に回す
※注意事項にも仮想環境でマルウェアは回してくれみたいな指示があったしな。

ほん???

なんかリークされたわ。

なんか「暗号化したからビットコイン払え」って言われてるのでRansomwareの模範かなといったところだ。
回したコマンドラインを確認すると以下のように出力されている。

コードに791行目を見てみる。

なにかHTTP通信でエラーが起きてそう。大体こういう時はDLLが信頼されているサイトじゃないと通信できないとかそういったものだと理解しているので信頼済サイトに通信先を登録しないといけない。
どこに通信を飛ばしているかをmitmproxyで調査する。
まずWindowsでProxy設定をし、通信をmitmproxyに飛ばす。

proxyのWeb確認画面で確認!!!

通信先が把握できたのでこの通信先を信頼済サイトに登録する。

これで通信は出来たのだが、ファイル保存できないといった別のエラーが起きる。
もういいので直接アクセスして取ってきたファイルが以下だ。

取ってこれたはいいものの、XORされてそう。感覚的にフラグが書かれた文字列の画像をXORしましたってやつだ。
これはもう難読化されてる内容を解読して処理みたほうがいいか...となった。
果てしない道のりだぜ。
Deobfuscation - Easy
まずDeobfuscationするのは、先ほどポップアップを行ったコードのすぐ直下に存在するこの難読化コードだ。

ただReplaceしているだけっぽいので調べてみる。

HEX文字列が出てきたのでデコードする。

先ほどのURLが出現したのでこのコードのewkjunfwを調べてみるとやはりURLに向けてGET通信してそうなコードだ。

さて続いてのDeobfuscationを行う。

これもReplaceした後にReverseしているだけのように見える。

Base64ぽいのでデコードする。

ああああ、このTemp階層がないからもしかして!このTemp階層作ればデコードした画像作ってくれますか???
Temp階層を作成し、再度VBSを回して得たファイルが以下です。

remnux@remnux:~/Downloads/defcon$ file defcon-flag.png.compromised
defcon-flag.png.compromised: HTML document, ASCII text, with very long lines
HTMLファイルやないかい!!しかも実行してもJavascriptでXORの画像を呼び出すだけのファイルじゃん!!!
これは最難関の最後のDeobfuscationをするしかなさそうだ。
Deobfuscation - Medium
これを地道に変換するのは骨が折れる。

なので便利なオブジェクト関数を利用する。
こうして別のVBSファイルとしてExecuteをWScript.echoにし実行する。

見えた!!!
ただこのスクリプト、POSTして通信してるだけでレスポンスを使って何かするわけでもないコードだし、XORの鍵はないな。疑似マルウェアの動作でC2にUser情報を送る動作の模範では??ウサギの穴だわ。
...と考えて通信を試してみなかったのが敗因でした。
ここからXORブルート地獄へ突入していった....
敗因
ここからは公式Writeupの引用です。
先ほどの通信先http://20.106.250.46/sendUserDataを試すと以下の情報がレスポンスで帰ってくる。
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"test"}' http://20.106.250.46/sendUserData
{"key":"compromised","msg":"Not admin!"}
あ、この情報あったらadmin試すよね。
試した通信は以下です。
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"admin"}' http://20.106.250.46/sendUserData
{"key":"02398482aeb7d9fe98bf7dc7cc_ITDWWGMFNY","msg":"Data compromised!"}
このKeyとXORの画像をXORすると以下のようにフラグが出現します。

これは悔しい。
POST通信試してみるべきだった。。。
ここら辺はCTF慣れしてないなぁといった印象でした。
まとめ
悔しいです。
試せばよかった。
安らかに眠ってください。
