今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。また、はてなブログのブログをカスタマイズした方法についても、詳しく書いています。
今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
CodeQL(静的解析ツール)で使われるクエリの選ばれ方を調べた
前回 は、GitHub が開発した CodeQL(セキュリティ脆弱性を検出するオープンソースのツール)を、ローカル(CodeQL CLI )で使ってみました。 しかし、UAF(Use After Free)が入ったソースコードを準備しましたが、標準クエリでは、UAF を検出できませんでした。 今回は、そのあたりを深掘りして、UAF を検知させるところまでやってみたいと思います。 それでは、やっていきます。
GitHubが開発した静的解析ツール(脆弱性検出ツール)のCodeQLを使ってみる
今回は、GitHub が開発し、また、GitHub で使われている CodeQL という、セキュリティ脆弱性を検出するオープンソースのツール(コード分析エンジン)を使ってみたいと思います。 VSCode(Visual Studio Code)に、CodeQL をインストールして使われる場合が多いかもしれませんが、ここでは、まずは、ローカルで使っていこうと思います(CodeQL CLI)。 それでは、やっていきます。
ROS2のソースコードを確認した(rclpy、rcl、rmw)
前回 は、ROS2 のユーザノードのトピックの実装をやってみました。 今回は、ROS2 の中身を見ていきたいと思います。 それでは、やっていきます。
前回 は、ROS2 のインストールと、CUI、GUI のいくつかの動作確認を行いました。 今回は、自分でノード(ユーザアプリ)を作ってみたいと思います。これにより、既存のノードを読めるようになると思います。 それでは、やっていきます。
ROS2 に関する書籍を入手したので、今回は、ROS2 について調べていきたいと思います。 ROS1 は、少しやっていたのですが、ROS2 は初めてです。 それでは、やっていきます。
GNU Globalとcflowでソースコードを可視化してみる
最近、ソースコードを読むことが多いので、便利そうなツールを探しています。 しかし、なかなか、新しいよく出来たツールはありません。やはり、昔ながらのツールがいいのかなと思ったりしてます。GNU Global は、昔、サクラエディタで使えるようになった時期があって、少しの間使っていましたが、ctags で十分かな、と思って、いつの間にか使わなくなっていました。 あと、コールツリー(コールグラフ)も、いいツールが無いか、探して見ましたが、結局、cflow になりました。 GNU Global と cflow を連携させて、HTML化するのは初めて知りました。こちらも紹介したいと思います。 それでは、…
書籍「解題pwnable」の第5章「rot13(書式文字列攻撃)」を読んだ
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第5章の「rot13(書式文字列攻撃)」を読んでいきたいと思います。 それでは、やっていきます。
書籍「解題pwnable」の第4章「login3(スタックバッファオーバーフロー3)」を読んだ
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第4章の「login3(スタックバッファオーバーフロー3)」を読んでいきたいと思います。 それでは、やっていきます。
書籍「解題pwnable」の第3章「login2(スタックバッファオーバーフロー2)」を読んだ
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第3章の「login2(スタックバッファオーバーフロー2)」を読んでいきたいと思います。 それでは、やっていきます。
書籍「解題pwnable」の第2章「login1(スタックバッファオーバーフロー1)」を読んだ」を読んだ
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第2章の「login1(スタックバッファオーバーフロー1)」を読んでいきたいと思います。 それでは、やっていきます。
前回 までは、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めてきました。ようやく読み終わったので、今回からは、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読んでいきます。 全体で、140ページぐらいで、第1章から第12章まであります。 今回は、第1章の「準備」を読んでいきたいと思います。 それでは、やっていきます。
tmuxの紹介(主に、pwntools のデバッグで使用する)
pwntools を使ったエクスプロイトコードをデバッグする(gdb.debug( bin_file ))とき、別ウィンドウが立ち上がって、GDB が起動します。Ubuntu では、うまく別ウィンドウが起動してくれるのですが、Parrot OS 6.1 では、なぜか、別ウィンドウが起動してくれません。 いろいろ情報を探したり、ChatGPT に聞いたりしたところ、context の terminal を明示的に設定する必要がある、ということが分かりました。 書籍の「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の提供してくれているエクスプロイト…
書籍「詳解セキュリティコンテスト」Pwnableのヒープベースエクスプロイトを読んだ
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。前回は、今回の「ヒープベースエクスプロイト」を飛ばして、35章の「仕様に起因する脆弱性」でした。 今回は、34章の「ヒープベースエクスプロイト」を読んでいきたいと思います。だいぶ長いので、しばらくかかると思います。 それでは、やっていきます。
システムにインストールされたものと異なるバージョンのglibcを使う方法
現在、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の 34章の「ヒープベースエクスプロイト」を読み進めています。34章では、glibc-2.31 を使うことを前提に解説がされています。出来れば、書籍と同じ環境を準備したいところです。 しかし、glibc-2.31 は Ubuntu 20.04 のシステムで使われていた?そうなのですが、現在は、少し古いバージョンの glibc です。現在、Parrot OS 6.1 を使ってますが、glibc のバージョンは、2.36 でした。 そこで、この記事では、システムの glibc とは異なるバージョ…
書籍「詳解セキュリティコンテスト」Pwnableの仕様に起因する脆弱性を読んだ
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「共有ライブラリと関数呼び出し」でした。34章の「ヒープベースエクスプロイト」は、次回に回して、今回は、35章の「仕様に起因する脆弱性」を読んでいきたいと思います。 35章の「仕様に起因する脆弱性」では、書式文字列攻撃を取り扱っています。picoCTF 2025 の Binary Exploitation で、書式文字列攻撃の問題が出たのですが、エクスプロイトコードをうまく実装できなかったので、こちらを先に読んでいきたいと思います。 それでは…
本日(2025/4/2)、Googleアドセンスの収益化が確認できました!! はてなブログを無料版で開設してから、約1年で達成できました。 いつもアクセスして頂いている方には、本当に感謝です 🙇 今日は、その報告と、この1年を簡単に振り返ってみたいと思います。 この記事が、Googleアドセンスを目指してる方の参考になれば嬉しいです。
最近、いくつかの USB に関する本を読んだので、理解した内容についてまとめておこうと思います。 それでは、やっていきます。
サブ回線として、povo2.0の「通話+データ」の契約をしてみた
今回は、povo 2.0 の「通話+データ」の契約を実際にやってみたので、その手順をまとめておきたいと思います。povo 2.0 は、月々の基本料が 0円で、今持ってるスマホとは別に、新しい電話番号を取得することが出来ます。 必要になったときに、トッピングと呼ばれるデータや通話が出来るオプションを購入することで使うことが出来ます。ただし、契約してから、180日間以内にトッピングを購入する必要があります。また、最後にトッピングを購入してから、180日間以内に再度、トッピングを購入する必要があります。 つまり、半年に 1回はトッピングを購入する必要があります。たくさんの種類のトッピングがありますが…
picoCTF 2025:Binary Exploitationの全6問をやってみた
前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Binary Exploitation です。 それでは、やっていきます。
picoCTF 2025:Reverse Engineeringの全7問をやってみた
前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Reverse Engineering です。 それでは、やっていきます。
picoCTF 2025:General Skillsの全5問をやってみた
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の 33章の「共有ライブラリと関数呼び出し」を読みました。 この書籍はまだ読み続けますが、picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、今日からその内容を公開していきます。今回は、General Skills の全5問です。
picoCTF 2025 の General Skills の 全5問のうち、3問が Rust を扱う問題でした。そこで、今回は、Rust の環境構築について記事にしておこうと思います。 それでは、やっていきます。
KVM/QEMU(virt-manager)でUbuntu24.04をインストールした
前回 は、Ubuntu 24.04 のインストールについて書きました。今回は、KVM を入れて、Ubuntu 24.04 の上に Ubuntu 24.04 を QEMU で起動していきたいと思います。 ややこしいですね。本当は、Ubuntu のインストールされたパソコンで、Ubuntu や、ParrotOS など、いろいろな Linux を動かしたいところですが、今は、デスクトップPC として、Windows しかないので、仕方なく、VirtualBox を使って、いろいろやっているということです。 簡単に図を書きました。最近は、オンラインで Microsoft の Office が無料で使え…
Ubuntu24.04(VirtualBox 7.1)のインストールと初期設定
今回は、Ubuntu 24.04 のインストールについて書いていきます。執筆時点(2025/3/1)で、Ubuntu24.04.2 LTS がリリースされていました。これを Windows10 の VirtualBox上にインストールしていきます。 それでは、やっていきます。
書籍「詳解セキュリティコンテスト」Pwnableの共有ライブラリと関数呼び出しを読んだ
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「スタックベースエクスプロイト」でした。今回は、33章の「共有ライブラリと関数呼び出し」を読んでいきたいと思います。 それでは、やっていきます。
Androidアプリ:NFCリーダーアプリを動かしてソースコードを確認する
前回 は、久しぶりに Androidアプリ開発ということで、開発環境の構築と、簡単なアプリを作って、動かしてみました。 今回は、やりたかった NFC の読み込みをするアプリを動かしてみようと思います。良さそうな OSS を持ってきて動かしてみます。 それでは、やっていきます。
Androidアプリの開発環境の構築とHelloWorldアプリを作ってみる
今回は、かなり久しぶりに Androidアプリの開発をやってみます。まずは、開発環境の構築と、簡単なアプリを作ってみたいと思います。 今回の目的は、スマホを使って、NFC のリードライトがやることです。簡単な OSS を持ってきて動かしてみたいのですが、そちらは次回に書こうと思います。 それでは、やっていきます。
1年ほど出遅れましたが、楽天証券で新NISAを始めました。YouTube を見てれば、だいたいのことは分かるのですが、楽天証券の細かいルールや、ファンドの細かい仕様をまとめておきたいと思います。 なお、ここでは、個別株や ETF などは対象とせず、投資信託のみに絞った話になっています。 それでは、やっていきます。
書籍「詳解セキュリティコンテスト」Pwnableのスタックベースエクスプロイトを読んだ
前回 は、「ゼロからマスター!Colab×Pythonでバイナリファイル解析実践ガイド (エンジニア入門シリーズ)」という書籍を、ざっくり読みました。 今回は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読んでいきたいと思います。今回は、スタックベースエクスプロイトです。 それでは、やっていきます。
前回 は、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」という書籍を、引き続き読み進めていて、シェルコードの章を読みました。 今後も、「詳解セキュリティコンテスト」を、引き続き読み進めるつもりなのですが、今回は、「ゼロからマスター!Colab×Pythonでバイナリファイル解析実践ガイド (エンジニア入門シリーズ)」という書籍を入手したので、こちらをざっと読んで、概要だけでも、まとめておこうと思います。 目次を見ると、だいたいの内容は予想ができると思いますが、メインは、Python を使って、バイナリファイルを解析するということです。対象のバ…
書籍「詳解セキュリティコンテスト」のPwnableのシェルコードを読んだ
前回 から、詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ という書籍を読み進めています。前回は Reversing の全ての章を読みました。 今回から、Pwnable を読んでいきます。Pwnable は難易度が高く、何回かに分けて読んでいきたいと思います。今回は、30章の Pwnable への導入と 31章のシェルコードの内容を進めたいと思います。 それでは、やっていきます。
書籍「詳解セキュリティコンテスト」のReversingを読んだ
前回 は、セキュリティコンテストのためのCTF問題集 という書籍を読みました。 今回は、詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ という書籍を入手したので読んでいきたいと思います。この書籍は、Web、Crypto、Reversing、Pwnable の順で解説されていて、680ページを超えるボリュームがあります。最初は、hwo2heap の解説が見たくて、Pwnable から読み進めていたのですが、なかなか難しくて、先に Reversing を読むことにしました。 それでは、やっていきます。
前回 は、picoCTF の picoCTF 2023 の Binary Exploitation をやってみました。だいぶ時間がかかりましたが、解ける問題が増えてきた気がします。 今回は、セキュリティコンテストのためのCTF問題集 という書籍を読む機会がありましたので、簡単な内容の紹介と、それぞれの問題の解説で使われていたツールの紹介と、実際にそのツールを使ってみたいと思います。 なお、この書籍は、以前の記事(セキュリティコンテストチャレンジブックの「Part2 pwn」を読んだ - 土日の勉強ノート)で読んだ セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方 …
picoCTF 2023:Binary Exploitationの全7問をやってみた(最後の1問は後日やります)
前回 は、picoCTF の picoCTF 2023 の Reverse Engineering をやってみました。全7問でしたが、少し変わった問題が多かったです。 今回は、引き続き、picoCTF 2023 の Binary Exploitation をやっていきます。Medium が 4問、Hard が 3問です。難しそうです。 それでは、やっていきます。
picoCTF 2023:Reverse Engineeringの全9問をやってみた
前回 は、picoCTF の picoCTF 2023 の General Skills をやってみました。全6問を全て解きました。 今回は、引き続き、picoCTF 2023 の Reverse Engineering をやっていきます。Medium が 7問、Hard が 2問です。 それでは、やっていきます。
picoCTF 2023:General Skillsの全6問をやってみた
前回 は、picoCTF の picoCTF 2024 のうち、Cryptography をやってみました。全5問のうち、最後の 2問は解けませんでした。 今回から picoCTF の picoCTF 2023 をやっていきます。 最初は、General Skills の全6問をやっていきたいと思います。Easy が 1問、Medium が 5問です。 それでは、やっていきます。
picoCTF 2024:Cryptographyの全5問をやってみた(最後の2問は手つかず)
前回 は、picoCTF の picoCTF 2024 のうち、Forensics をやってみました。全8問のうち、最後の 2問は解けませんでした。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Cryptography というカテゴリの全5問をやっていきたいと思います。Easy が 1問、Medium が 3問、Hard が 1問です。 それでは、やっていきます。
picoCTF 2024:Forensicsの全8問をやってみた(最後の2問は解けず)
前回 は、picoCTF の picoCTF 2024 のうち、Web Exploitation をやってみました。全6問のうち、最後の 2問は解けませんでした。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Forensics というカテゴリの全8問をやっていきたいと思います。Easy が 4問、Medium が 4問です。 それでは、やっていきます。
picoCTF 2024:Web Exploitationの全6問をやってみた(最後の2問は解けず)
前回 は、picoCTF の picoCTF 2024 のうち、General Skills をやってみました。全10問を全部解けました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Web Exploitation というカテゴリの全6問をやっていきたいと思います。Medium が 1問、Hard が 1問です。 それでは、やっていきます。
picoCTF 2024:General Skillsの全10問をやってみた
前回 は、picoCTF の picoCTF 2024 のうち、Reverse Engineering をやってみました。全7問のうち、Windowsプログラム の 3問は後回しにしました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、General Skills というカテゴリの全10問をやっていきたいと思います。Medium が 2問です。 それでは、やっていきます。
picoCTF 2024:Reverse Engineeringの全7問をやってみた(Windowsプログラムの3問は後日やります)
前回 は、picoCTF の picoCTF 2024 のうち、Binary Exploitation をやってみました。全10問のうち、Hard の 1問目は解けず、2問目は後回しになりました。Hard 問題は、いきなりレベルが上がった気がします。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Reverse Engineering というカテゴリの全7問をやっていきたいと思います。Medium が 7問です。 それでは、やっていきます。
picoCTF 2024:Binary Exploitationの全10問をやってみた(Hardの1問は後日やります)
前回 は、picoCTF に登録して、picoGymの「Beginner picoMini 2022」の全13問をやってみました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Binary Exploitation というカテゴリの全10問をやっていきたいと思います。Easy が 2問、Medium が 6問、Hard が 2問です。 それでは、やっていきます。
picoCTFを始めてみた(Beginner picoMini 2022:全13問完了)
前回 は、サイバーセキュリティのトレーニングができるサイトを始めてみましたが、少し合わなかったかなって感じでした。 今回も、こりずに、picoCTF という CTF の学習や、コンテストを開催しているサイトがあるので、挑戦してみたいと思います。 それでは、やっていきます。 ※2024/10/3:追記 今回は、picoCTF の picoGym で、「Beginner picoMini 2022」の 全13問をやってみました。もし、これから「Beginner picoMini 2022」をやってみようと思う方にお知らせです。問題のタイトルに番号が付いてるものがあります(例:PW Crack 2)…
前回 は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「付録」を読んで、x86 と x86-64 のシェルコードを作りました。また、setodaNote CTF Exhibition の Pwn の Shellcode問題で、作ったシェルコードを使って、フラグが取れました。 今回は、TryHackMe というサイバーセキュリティのトレーニングができるサイトがあるので、挑戦してみたいと思います。 それでは、やっていきます。
セキュリティコンテストチャレンジブックの「付録」を読んでx86とx64のシェルコードを作った
前回 は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「Part2 pwn」を読んで、実際に動かしてみました。だいぶ時間がかかりましたが、とても勉強になりました。 今回は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の付録を読んでいきます。付録は 2つあって、1つは、Part 1(1章)の「バイナリ解析」の付録で、もう 1つは、Part 2(2章)の「pwn」の付録です。今回は、この 2つの付録について見ていきます。 それでは、やっていきます。
セキュリティコンテストチャレンジブックの「Part2 pwn」を読んだ
前回 から、ksnctf を開始しました。少し難しかったので、書籍などから知識を得ることも並行してやっていきます。 「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「Part2 pwn」を読みましたが、なかなか内容が濃くて、読んだだけでは、十分に理解できませんでした。今回は、「Part2 pwn」の演習を、実際に自分で動かしていきたいと思います。 それでは、やっていきます。
常設CTFのksnctfにチャレンジします(クリア状況は随時更新します)
前回 から、setodaNote CTF Exhibition を開始しました。CTF には複数のカテゴリがありますが、リバースエンジニアリング、Pwn を優先的に取り組みたいと思っています。これらがだいたい終わったので、次は、ksnctf も並行して進めようと思います。 ksnctf も、国内の常設の CTF です。 それでは、やっていきます。
setodaNote CTF Exhibitionにチャレンジします(クリア状況は随時更新します)
前回 は、実行ファイルのセキュリティ機構(脆弱性緩和技術とも言う)を調べるツールである「checksec」の理解を深めました。 今回から、setodaNote CTF Exhibition に挑戦します。前に、CpawCTF2 を始めたのですが、あまりメンテナンスされていないようで、サーバに接続できないなどがあったので、setodaNote CTF Exhibition も並行して進めようと思います。 setodaNote CTF Exhibition とは、2021年に、リアルタイムで開催された setodaNote CTF を同じ問題を常設で参加を可能にしてくれたものです。 ※2024/9…
実行ファイルのセキュリティ機構を調べるツール「checksec」のまとめ
前回 は、Pwnable問題に取り組みました。CTF のカテゴリの中でも、一番難しいと言われるだけあって、かなり苦労しました。 今回は、前回のPwnable問題でも使用した、実行ファイルのセキュリティ機構(脆弱性緩和技術とも言う)を調べるツールである「checksec」の深掘りをしたいと思います。 実行ファイルのセキュリティ機構とは、もし、実行ファイルに脆弱性が存在していたとしても、その脆弱性に対する攻撃をやりにくくする仕組みのことです。 例えば、スタックカナリヤは、関数開始時にスタックにランダムな値を格納しておき、関数終了時に、その値が変化していないかをチェックします。これによって、スタック…
入門セキュリティコンテスト(CTFを解きながら学ぶ実践技術)のPwnable問題をやってみる
前回 は、x86-64 ELF(Linux)のアセンブラを簡単なプログラムで理解しました。 本当は、先に今回の記事を書くつもりだったのですが、x86-64 ELF(Linux)のアセンブラが分からないと全然進まなかったので、前回の記事をはさみました。 今回は「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」で扱っている Pwnable の問題について、書籍を見ながら、実際に動かして、理解してみたいと思います。 それでは、やっていきます。
x86-64 ELF(Linux)のアセンブラをGDBでデバッグしながら理解する(GDBコマンド、関連ツールもまとめておく)
前回 は、「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」を読んで、CTF の各ジャンルごとに使われている技術やツールについて、調べたり、実際に使ってみたりしました。 今回は、x86-64 ELF(Linux)のアセンブラを理解していきます。また、よく使う GDBコマンドや、バイナリに対してよく使うコマンド、x86-64 のよく使う命令を書きとめておこうと思います。 それでは、やっていきます。
RPAツールとしてよく聞くUiPath Studioで自動化を試してみた
今回は、RPA(Robotic Process Automation)のツールでよく目にする「UiPath Studio」を使って、Windowsの自動化を試してみたいと思います。 それでは、やっていきます。
入門セキュリティコンテスト(CTFを解きながら学ぶ実践技術)を読んだ
前回 は、C言語とアセンブラでシェルを起動するプログラムを機械語に直して動かしてみました。 今回は、「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」を読みました。CTF の各ジャンルごとに、練習問題の解き方を丁寧に説明された本で、とてもオススメできる内容でした。単なる解法だけではなく、そこで使われている技術についても丁寧な解説がされていました。 また、この本では、CTF で、よく使われているとされるツールが、たくさん紹介されていたので、今回は、そのツールを調べたり、実際に使ってみたりしたいと思います。 それでは、やっていきます。
前回 は、C言語とアセンブラでシェルを起動するプログラムを作ってみました。 今回は、アセンブラで作ったプログラムをExploitコードの部品となりそうな C言語からシェルを起動するプログラムを実装してみたいと思います。 それでは、やっていきます。
C言語、アセンブラでシェルを起動するプログラムを作る(ARM)
前回 は、K&Rのmalloc関数とfree関数を動かして理解しました。 今回は、Exploitコードの部品となりそうな C言語からシェルを起動するプログラムを実装してみたいと思います。 それでは、やっていきます。
前回 は、CpawCTF の続きである CpawCTF2 を開始しました。 今回は、基礎力を付けるためにも、malloc関数とfree関数を理解していきます。脆弱性を見つけた後、実際の侵入に繋げるときに、malloc関数の理解が求められる場合があります(Use After Freeとか)。 実際に使われている glibc の malloc、free を読もうとしたのですが、すぐに挫折した(笑)ので、まずは、基本となる K&R の malloc関数、free関数から理解していきたいと思います。 それでは、やっていきます。
CpawCTF2にチャレンジします(この記事はクリア状況を随時更新します)
前回 は、Python の Scapy を使って、ネットワークプログラミングをやってみました。 今回は、以前 やってみた CpawCTF の続きである CpawCTF2 を始めたいと思います。 それでは、やっていきます。 ※2024/8/25時点:200ポイントで、580位 / 2571人です
Gitサーバ、GitHub、SSHにパスワードを入力せずに接続する方法
社内の Gitサーバや、社内の Linuxサーバ、GitHub に SSH で接続するときなど、ユーザ名とパスワードを入力しなければならないと思います。もちろん、必要に応じて、パスワードは必要だと思いますが、ローカルな Gitサーバに接続するのに、そんなに厳密に運用する必要はない場合もありますよね。 特に、Git の場合、push するたびに、ユーザ名とパスワードを入力するのは、とても面倒です。 ということで、今回は、ユーザ名とパスワードを入力しなくてもいい方法を書きます。いつも忘れてしまって、Web をウロウロしてしまうので(笑)。 一応、ここに書くことは、セキュリティ的に問題ない場合に限っ…
前回 は、hashcat を使って、簡単なパスワードを解析して、hashcat の使い方を詳細に知って、GPU を使って、どれぐらいの時間でパスワードをクラックできるかを考えてみました。 今回は、Python の Scapy を使って、ネットワークプログラミングをやりたいと思います。 それでは、やっていきます。
hashcatの使い方とGPUで実行したときの時間を見積もってみる
前回 は、CpawCTF で、CTF に入門しました。 今回は、以前(John the Ripperでshadowファイルのパスワードを解読してみる - 土日の勉強ノート)にやったパスワードの解読の続きをやりたいと思います。 このときは、John the Ripper というオフラインパスワード解析ツールを使ったのですが、同じようなツールとして、「hashcat」というものがあります。 今回は、hashcat を使ってみます。 それでは、やっていきます。
VPNライフハック・裏ワザ完全ガイド!安全でお得なVPN活用法を徹底解説!
※この記事には PR が含まれます セキュリティ強化以外で、どのようにVPNが活用できるのかを十分に知っている人は多くありません。 通信セキュリティ強化に役立つVPNは、ほかにもさまざまなライフハック・裏ワザ的な活用方法があります。 今回の記事では、VPNの基本的な仕組み・ライフハックとしての活用方法・有料VPNと無料VPNの違いをまとめました。 本記事を読めばVPNの活用法を理解し、より安全で快適なインターネットライフを送るためのノウハウを習得できます。 VPNを上手に活用して通信セキュリティを向上させつつ、より豊かなオンライン体験を手に入れましょう。
前回 までは、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果について、リスク高、中について、分析と対策をやってきました。 今回は、CTF(Capture The Flag)に入門してみたいと思います。 CTF とは、セキュリティにおける専門知識や技術を使って、隠されている Flag(旗、答え、文字列)を見つける競技です。競技と言っても、チュートリアル的な入門レベルから、賞金が設定される本格的な大会まであるようです。 国内で運営されている CpawCTF というサイトがあります。アカウントを作ると、日本語で、無料で、自分のペースで、CTF に挑戦できます。今回は、実際に Cpaw…
OWASP ZAPの自動スキャン結果の分析と対策:リスク中すべて
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「オープンリダイレクト」について、分析と対策までやりました。 今回は、リスク中の内容を見ていきます。 それでは、やっていきます。
OWASP ZAPの自動スキャン結果の分析と対策:オープンリダイレクト
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「SQLインジェクション」について、分析と対策までやりました。 今回は、オープンリダイレクトを見ていきます。 それでは、やっていきます。
OWASP ZAPの自動スキャン結果の分析と対策:SQLインジェクション
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「クロスサイトスクリプティング(XSS)」について、分析と対策までやりました。 今回は、SQLインジェクションを見ていきます。 それでは、やっていきます。
OWASP ZAPの自動スキャン結果の分析と対策:クロスサイトスクリプティング(XSS)
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「パストラバーサル」について、分析と対策までやりました。 今回は、クロスサイトスクリプティング(XSS)を見ていきます。 それでは、やっていきます。
OWASP ZAPの自動スキャン結果の分析と対策:パストラバーサル
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回 は、セッション管理の理解と、実際になりすましを試したのと、PHP のセッションID を URL に埋め込まない対策を行いました。 今回は、前々回 に行った OWASP ZAP の自動脆弱性スキャンの結果の「パストラバーサル」について、分析と可能なら対策までやっていきたいと思います。 それでは、やっていきます。
徳丸本:セッション管理を理解してセッションID漏洩で成りすましを試す
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 今回は、徳丸本の 3章の「Webセキュリティの基礎」について、実際にやっていきたいと思います。 それでは、やっていきます。
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 今回は、徳丸本の 7章の「脆弱性診断入門」の OWASP ZAP の自動脆弱性スキャンについて、実際にやっていきたいと思います。 それでは、やっていきます。
Vue.jsのソースコードを確認する(ビルド後のソースも見てみる)
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 その上で必要な知識として、今回は、よく使われている Webアプリケーションのフレームワークである Vue.js を理解しています。 前回 は、Vue 2.x と Vue 3.x について、環境構築、プロジェクト作成、開発用サーバで動作確認、ビルド、ビルド後の生成物で動作確認まで行いました。 今回は、ファイル構成、各種ソースコードの内容の確認、ビルド後の生成物の内容…
Vue.jsの2.xと3.xをVue CLIを使って動かしてみる(ビルドも行う)
「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 その上で必要な知識として、今回は、Webアプリケーションを簡単に構築できる Vue.js を理解しようと思います。 少し前に、Pythonベースの Flask(WSGI+Werkzeug+Jinja2)をやりましたが、今回の Vue.js は JavaScriptベースです。たくさんの言語が出てきて、フロントエンド開発は大変です。そのセキュリティを学ぶには、それら…
これまでは、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」を参考にさせてもらって、理解を進めてきました。今回からは、並行して「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、勉強を進めていきたいと思います。 この徳丸本とは、脆弱性のある仮想マシンを準備してくれていて(VirtualBox と Docker が準備されている)、その仮想マシンに対して、実際に攻撃を体験することで、脆弱性の理解を深めることができるというものです。 今回は、徳丸本の実習環境の構築を進めていきます。 それでは、やっていき…
前回 は、Flask で実装した Pythonスクリプトを Cython化してみました。 今回は、参考書にしている「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」で解説されていた shadowファイルについて、実際の shadowファイルを使って、内容を理解し、解析までやってみたいと思います。 それでは、やっていきます。
前回 は、簡単な Python の Webアプリケーションとして、WSGI を使った、wsgiref、Werkzeug、Flask を動かしてみました。 今回は、Flask で使った Python ファイルを Cython化してみたいと思います。Cython化するメリットは、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を追加していきます。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+BusyBox+U-Boot)で起動する
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加して、U-Boot の起動まで確認しました。 今回は、U-Boot の設定をして、カーネル、ルートファイルシステムを起動していきます。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+BusyBox)にU-Bootを追加する
前々回 と 前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、Buildroot の別のオプションで Linux を構築します。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+BusyBox)をやってみる、の補足
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、前回の起動について、カーネルのパラメータなど、可能な限り、調査してみたいと思います。 それでは、やっていきます。
QEMUで組み込みLinux(Buildroot+BusyBox)をやってみる
今回は、QEMU で Arm の組み込み Linux を動かしていきたいと思います。 これまで、STM32 を動かしていたのは、本家の QEMU ではなく、xPackプロジェクトの QEMU Arm でした。 今回は、Linux なので、本家の QEMU をインストールして、開発環境の構築と、簡単なものを動かしてみたいと思います。 それでは、やっていきます。
Git BASH(Git for Windowsに付属するツール)の紹介とカスタマイズ方法
今回は、Git BASH の紹介と、カスタマイズについて説明します。 Git BASH とは、Git for Windows をインストールすると一緒にインストールされるツールです。 簡単に言うと、Windows で、Linux のようなコンソールが使えるようになります。 Windows のシステムに影響するような操作は、コマンドプロンプトか、PowerShell を使った方がいいと思います。 以前は、だいぶ苦労して、Cygwin をインストールする必要がありましたが、日常の操作ぐらいなら Git BASH で十分だと思います。
前回 は、JSON ファイルを扱う方法をまとめました。 今回は、JSONファイルを扱うCUIツール「jq」について紹介します。
今回は、JSON ファイルを扱う方法を書きます。 巨大な JSON ファイルを扱うのは、なかなか大変です。 そこで、効率よく扱うための方法を調べたので、実際にやっていきます。
今回は、シェルスクリプトのテンプレートを作りました。 いつもシェルスクリプトを作るときは、前に作ったコードをコピーして使うことが多いのですが、前のコードが見つからないときに困ることがあったので、ブログに書いておこうと思います。 それではやっていきます!
JGraphTのサンプルソースの解説と可視化の補足(Ubuntu22.04、IntelliJ、Gradle)
前回 は、JGraphT というグラフ理論のライブラリを Gradle プロジェクトで実行して、GraphViz で可視化するところまでやりました。 今回は、前回の補足として、サンプルソースの解説と、可視化のソースを完成させようと思います。 それではやっていきます!
GradleプロジェクトでJGraphTを使う(Ubuntu22.04)
前回 は、前々回 に作った Gradle プロジェクトを、IntelliJ を使ってデバッグするところをやりました。 今回は、その Gradle プロジェクトを使って、JGraphT というグラフ理論のライブラリを Java で使ってみます。 JGraphT で簡単なサンプルを動かして、GraphViz で可視化するところまでやりたいと思います。 JGraphT には、Python バインディングもあるようです。 それではやっていきます!
前回は、リバースエンジニアリングツールである Ghidra を使って、STM32 の ELFファイルを解析してみました。 今回も、書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら、さらに、STM32 の ELFファイルの解析を進めていきます。 それでは、やっていきます。
今回から、リバースエンジニアリングツールである Ghidra を使っていきます。 書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら進めていきます。 それでは、やっていきます。
QEMUに似たRenodeでVSCodeを使ってRenode自体をデバッグする
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、STM32 のサンプルアプリを対象として、GDB でデバッグする代わりに、VSCode を使ってデバッグするところまで行いました。 今回は、STM32 のサンプルアプリではなく、サンプルアプリが動いている Renode 自体をデバッグする環境を構築していきます。 それでは、やっていきます。
QEMUに似たRenodeでVSCodeを使ってデバッグする
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルから構築した ELFファイルが動かない原因を解析して、対策を行い、無事に動作するところまで行いました。 今回は、VSCode でデバッグする環境を構築していきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルが動かない原因を解析しましたが、分かりませんでした。 もう少し深く解析するために、今回は、Renode をソースからビルドして、問題個所の特定と対策までやっていきます。 それでは、やっていきます。
QEMUに似たRenodeでSTM32をバイナリファイルで動かす
前々回から、Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回は、GDB で接続するところをやりましたが、バイナリファイルではうまく動きませんでした。 この記事では、バイナリファイルで動かない原因を調べて、その記録となります。 古いバージョンを使ったり、デバッグログを出して確認してみましたが、原因は分かりませんでした。後で役立つかもしれないので、記事として投稿しますが、有益な情報は無いと思います。
QEMUに似たRenodeでSTM32をGDBを使ってデバッグする
前回から、Renode という QEMU に似たオープンソースのエミュレータを試してます。 前回は、インストールとSTM32のサンプルソースの実行までをやりました。 今回は、GDB で接続して、デバッグしてみます。 それでは、やっていきます。
「ブログリーダー」を活用して、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 よりも、組込みデバイスのサポートが充実しているようです。 それでは、やっていきます。