今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。また、はてなブログのブログをカスタマイズした方法についても、詳しく書いています。
Python+Flask(WSGI+Werkzeug+Jinja2)を動かしてみる
前回 は、参考書を見ながら、nginx の理解を進めました。 今回は、Flask という Python用の軽量な Webアプリケーションフレームワークを使ってみます。 Flask は、Werkzeug という WSGI に準拠した Webアプリケーションライブラリと、Jinja2 というテンプレートエンジンを使っています。 それでは、やっていきます。
前回 は、HTTP を題材に tcpdump の使い方を理解しました。 今回は、「nginx実践ガイド impress top gearシリーズ」と「Nginx ポケットリファレンス」を参考書として、Webサーバの nginx(エンジンエックス)の理解を行います。 それでは、やっていきます。
前回 は、VirtualBox に ParrotOS の OVA をインストールして、Ubuntu と同じように使えるところまで、基本的な設定と、各ソフトウェアの設定を行いました。 今回は、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」に沿って、進めた内容を書きたいところでしたが、ネットワークのパケットのやり取りを見るための知識が不足していたため、今回は tcpdump の見方を正しく理解しようと思います。 特に、HTTP のやり取りを理解しておかないと先に進めにくいと感じたので、今回は、HTTP の内容についてもまとめようと思います。 それでは、やっていきます。
VirtualBoxにParrotOS(OVA)をインストールする
今回から、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」を参考書として、セキュリティについて学んでいきます。 今回は、ParrotOS というペネトレーションテスト(サイバー攻撃手法でシステムに侵入を試みることでセキュリティレベルを評価する取り組み)向けの OS の環境構築を行います。 同じく、ペネトレーションテスト向けの OS として、Kali Linux がありますが、今回の参考書では ParrotOS が使われています。理由は、Kali Linux は、UI が大きく変わる傾向があり、本に書かれてることが使えなくなる可能性が高いためと書かれていました。 それで…
QEMUで組み込みLinux(aarch64+virtボード)でネットワーク調査とツールのクロスコンパイル
前回 は、VirtualBox + Ubuntu 22.04 のネットワークの理解を進めました。 今回は、ここで作った QEMU を使って、VirtualBox + Ubuntu 22.04 とのネットワークの疎通を確認していきます。 それでは、やっていきます。
VirtualBoxのネットワークの理解(VirtualBox+Ubuntu 22.04)
今回からネットワークの理解を進めていきます。 今回は、VirtualBox + Ubuntu 22.04 で、環境構築していきます。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+virtボード)で ARM64bitを起動する
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox+U-Boot)で、initramfs を追加しました。 これまで、今回は、initramfsを追加していきます。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+BusyBox+U-Boot)をinitramfsで起動する
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加しました。 今回は、initramfsを追加していきます。 それでは、やっていきます。
「ブログリーダー」を活用して、daisukeさんをフォローしませんか?
今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
前回 は、GitHub が開発した CodeQL(セキュリティ脆弱性を検出するオープンソースのツール)を、ローカル(CodeQL CLI )で使ってみました。 しかし、UAF(Use After Free)が入ったソースコードを準備しましたが、標準クエリでは、UAF を検出できませんでした。 今回は、そのあたりを深掘りして、UAF を検知させるところまでやってみたいと思います。 それでは、やっていきます。
今回は、GitHub が開発し、また、GitHub で使われている CodeQL という、セキュリティ脆弱性を検出するオープンソースのツール(コード分析エンジン)を使ってみたいと思います。 VSCode(Visual Studio Code)に、CodeQL をインストールして使われる場合が多いかもしれませんが、ここでは、まずは、ローカルで使っていこうと思います(CodeQL CLI)。 それでは、やっていきます。
前回 は、ROS2 のユーザノードのトピックの実装をやってみました。 今回は、ROS2 の中身を見ていきたいと思います。 それでは、やっていきます。
前回 は、ROS2 のインストールと、CUI、GUI のいくつかの動作確認を行いました。 今回は、自分でノード(ユーザアプリ)を作ってみたいと思います。これにより、既存のノードを読めるようになると思います。 それでは、やっていきます。
ROS2 に関する書籍を入手したので、今回は、ROS2 について調べていきたいと思います。 ROS1 は、少しやっていたのですが、ROS2 は初めてです。 それでは、やっていきます。
最近、ソースコードを読むことが多いので、便利そうなツールを探しています。 しかし、なかなか、新しいよく出来たツールはありません。やはり、昔ながらのツールがいいのかなと思ったりしてます。GNU Global は、昔、サクラエディタで使えるようになった時期があって、少しの間使っていましたが、ctags で十分かな、と思って、いつの間にか使わなくなっていました。 あと、コールツリー(コールグラフ)も、いいツールが無いか、探して見ましたが、結局、cflow になりました。 GNU Global と cflow を連携させて、HTML化するのは初めて知りました。こちらも紹介したいと思います。 それでは、…
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第5章の「rot13(書式文字列攻撃)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第4章の「login3(スタックバッファオーバーフロー3)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第3章の「login2(スタックバッファオーバーフロー2)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第2章の「login1(スタックバッファオーバーフロー1)」を読んでいきたいと思います。 それでは、やっていきます。
前回 までは、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めてきました。ようやく読み終わったので、今回からは、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読んでいきます。 全体で、140ページぐらいで、第1章から第12章まであります。 今回は、第1章の「準備」を読んでいきたいと思います。 それでは、やっていきます。
pwntools を使ったエクスプロイトコードをデバッグする(gdb.debug( bin_file ))とき、別ウィンドウが立ち上がって、GDB が起動します。Ubuntu では、うまく別ウィンドウが起動してくれるのですが、Parrot OS 6.1 では、なぜか、別ウィンドウが起動してくれません。 いろいろ情報を探したり、ChatGPT に聞いたりしたところ、context の terminal を明示的に設定する必要がある、ということが分かりました。 書籍の「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の提供してくれているエクスプロイト…
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。前回は、今回の「ヒープベースエクスプロイト」を飛ばして、35章の「仕様に起因する脆弱性」でした。 今回は、34章の「ヒープベースエクスプロイト」を読んでいきたいと思います。だいぶ長いので、しばらくかかると思います。 それでは、やっていきます。
現在、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の 34章の「ヒープベースエクスプロイト」を読み進めています。34章では、glibc-2.31 を使うことを前提に解説がされています。出来れば、書籍と同じ環境を準備したいところです。 しかし、glibc-2.31 は Ubuntu 20.04 のシステムで使われていた?そうなのですが、現在は、少し古いバージョンの glibc です。現在、Parrot OS 6.1 を使ってますが、glibc のバージョンは、2.36 でした。 そこで、この記事では、システムの glibc とは異なるバージョ…
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「共有ライブラリと関数呼び出し」でした。34章の「ヒープベースエクスプロイト」は、次回に回して、今回は、35章の「仕様に起因する脆弱性」を読んでいきたいと思います。 35章の「仕様に起因する脆弱性」では、書式文字列攻撃を取り扱っています。picoCTF 2025 の Binary Exploitation で、書式文字列攻撃の問題が出たのですが、エクスプロイトコードをうまく実装できなかったので、こちらを先に読んでいきたいと思います。 それでは…
本日(2025/4/2)、Googleアドセンスの収益化が確認できました!! はてなブログを無料版で開設してから、約1年で達成できました。 いつもアクセスして頂いている方には、本当に感謝です 🙇 今日は、その報告と、この1年を簡単に振り返ってみたいと思います。 この記事が、Googleアドセンスを目指してる方の参考になれば嬉しいです。
最近、いくつかの USB に関する本を読んだので、理解した内容についてまとめておこうと思います。 それでは、やっていきます。
今回は、povo 2.0 の「通話+データ」の契約を実際にやってみたので、その手順をまとめておきたいと思います。povo 2.0 は、月々の基本料が 0円で、今持ってるスマホとは別に、新しい電話番号を取得することが出来ます。 必要になったときに、トッピングと呼ばれるデータや通話が出来るオプションを購入することで使うことが出来ます。ただし、契約してから、180日間以内にトッピングを購入する必要があります。また、最後にトッピングを購入してから、180日間以内に再度、トッピングを購入する必要があります。 つまり、半年に 1回はトッピングを購入する必要があります。たくさんの種類のトッピングがありますが…
前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Binary Exploitation です。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox+U-Boot)で、initramfs を追加しました。 これまで、今回は、initramfsを追加していきます。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加しました。 今回は、initramfsを追加していきます。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加して、U-Boot の起動まで確認しました。 今回は、U-Boot の設定をして、カーネル、ルートファイルシステムを起動していきます。 それでは、やっていきます。
前々回 と 前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、Buildroot の別のオプションで Linux を構築します。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、前回の起動について、カーネルのパラメータなど、可能な限り、調査してみたいと思います。 それでは、やっていきます。
今回は、QEMU で Arm の組み込み Linux を動かしていきたいと思います。 これまで、STM32 を動かしていたのは、本家の QEMU ではなく、xPackプロジェクトの QEMU Arm でした。 今回は、Linux なので、本家の QEMU をインストールして、開発環境の構築と、簡単なものを動かしてみたいと思います。 それでは、やっていきます。
今回は、Git BASH の紹介と、カスタマイズについて説明します。 Git BASH とは、Git for Windows をインストールすると一緒にインストールされるツールです。 簡単に言うと、Windows で、Linux のようなコンソールが使えるようになります。 Windows のシステムに影響するような操作は、コマンドプロンプトか、PowerShell を使った方がいいと思います。 以前は、だいぶ苦労して、Cygwin をインストールする必要がありましたが、日常の操作ぐらいなら Git BASH で十分だと思います。
前回 は、JSON ファイルを扱う方法をまとめました。 今回は、JSONファイルを扱うCUIツール「jq」について紹介します。
今回は、JSON ファイルを扱う方法を書きます。 巨大な JSON ファイルを扱うのは、なかなか大変です。 そこで、効率よく扱うための方法を調べたので、実際にやっていきます。
今回は、シェルスクリプトのテンプレートを作りました。 いつもシェルスクリプトを作るときは、前に作ったコードをコピーして使うことが多いのですが、前のコードが見つからないときに困ることがあったので、ブログに書いておこうと思います。 それではやっていきます!
前回 は、JGraphT というグラフ理論のライブラリを Gradle プロジェクトで実行して、GraphViz で可視化するところまでやりました。 今回は、前回の補足として、サンプルソースの解説と、可視化のソースを完成させようと思います。 それではやっていきます!
前回 は、前々回 に作った Gradle プロジェクトを、IntelliJ を使ってデバッグするところをやりました。 今回は、その Gradle プロジェクトを使って、JGraphT というグラフ理論のライブラリを Java で使ってみます。 JGraphT で簡単なサンプルを動かして、GraphViz で可視化するところまでやりたいと思います。 JGraphT には、Python バインディングもあるようです。 それではやっていきます!
前回は、リバースエンジニアリングツールである Ghidra を使って、STM32 の ELFファイルを解析してみました。 今回も、書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら、さらに、STM32 の ELFファイルの解析を進めていきます。 それでは、やっていきます。
今回から、リバースエンジニアリングツールである Ghidra を使っていきます。 書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら進めていきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、STM32 のサンプルアプリを対象として、GDB でデバッグする代わりに、VSCode を使ってデバッグするところまで行いました。 今回は、STM32 のサンプルアプリではなく、サンプルアプリが動いている Renode 自体をデバッグする環境を構築していきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルから構築した ELFファイルが動かない原因を解析して、対策を行い、無事に動作するところまで行いました。 今回は、VSCode でデバッグする環境を構築していきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルが動かない原因を解析しましたが、分かりませんでした。 もう少し深く解析するために、今回は、Renode をソースからビルドして、問題個所の特定と対策までやっていきます。 それでは、やっていきます。
前々回から、Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回は、GDB で接続するところをやりましたが、バイナリファイルではうまく動きませんでした。 この記事では、バイナリファイルで動かない原因を調べて、その記録となります。 古いバージョンを使ったり、デバッグログを出して確認してみましたが、原因は分かりませんでした。後で役立つかもしれないので、記事として投稿しますが、有益な情報は無いと思います。
前回から、Renode という QEMU に似たオープンソースのエミュレータを試してます。 前回は、インストールとSTM32のサンプルソースの実行までをやりました。 今回は、GDB で接続して、デバッグしてみます。 それでは、やっていきます。
今回から、Renode というオープンソースの組込みデバイスのエミュレータを試していきます。 簡単に言うと、QEMU と同じ位置付けの OSS です。QEMU よりも、組込みデバイスのサポートが充実しているようです。 それでは、やっていきます。