サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
ruffnex.oc.to
日時:2008-06-28 担当:Defolos 目次 前回までのハッキング方法における問題点 NOPスレッド RETの連発 柔軟性 実際の挿入ベクター生成プログラム 例題 次回の予定 前回までのハッキング方法における問題点 前回まではSEIPの位置や戻りアドレスとして書き換えるべきバッファの先頭アドレスなどをプログラムに表示していた それを基にBOFを使ってSEIFを書き換えた しかし、通常のプログラムはそんな情報を表示してくれない! 厳密な場所を指定するのは現実的ではない → 柔軟性 を持った攻撃手法が現実には必要 バッファ先頭アドレスの指定に柔軟性を持たせる=NOPスレッド SEIPの場所予測に柔軟性を持たせる=RETの連発 NOPスレッド NOP...No Operation 何もしない命令 16進数で0x90 スレッド...ソリ NOPスレッド...NOP命令を立て続けに書き付け
1 黒林檎のお部屋 ハッキング編 黒林檎 著 2 ◆まえがき 近年、日本でもサイバーセキュリティの話題は良かれ悪かれ注目される事が 多くなりました。 多くは日本のホワイトハッカーについてが多いですが、一方で不正アクセス やコンピュータウイルスなどの販売などで逮捕される事例なども世間的関心 が高くなったと言えます。 今回はハッキングについて個人的なまとめで書きますが、『私がハッキングを 始めた頃読みたかった』という本を目指し書いていきます、簡単に言い直す と初心者がより短期間でハッキングについて触れれる本を書きつつ、この本 を読了した後もこの本には書かれていない新しいハッキング技術を学ぶノウ ハウをつかむことが出来る事を最終目標とします。 本著は、各ハッキングの技法を紹介します、中には悪用すれば迷惑になる技 術や逮捕される技術もあるかと思います、日本の情報セキュリティ業界では リテラシーは
Freezed?... Contents インフォメーション このサイトについて ブログ(はてな) メール: kenjiaiko [at] gmail.com 書籍サポート テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Checksum Field (TCP/IP) UDP Packet Spoofing(Linux) ICMP - ping traceroute -(Linux) TCP - SYN PortScan -(Linux) Network Programming SMTP入門 〜メールアドレスの仕組み〜 HTTP入門 〜投稿の仕組み〜
世界のセキュリティコンテスト (Capture the Flag)に挑戦しよう! 1 by CTF勉強会 愛甲健二 セキュリティコンテストとは? • セキュリティ技術を競い合う、競技タイプの戦 争ゲーム • 世界では、一般的に”Capture the Flag”(旗 2 • 世界では、一般的に”Capture the Flag”(旗 取り合戦)と呼ばれる (CTFと略される) • 要するに、サーバを攻撃したりサーバを守っ たりするだけのとても簡単なゲーム 具体的に何をするのか? • 基本は、システムの中に隠されたパスワード を、いかに早く発見できるかを競う • 対象がWebアプリなら、XSSやSQLインジェ 3 • 対象がWebアプリなら、XSSやSQLインジェ クションなどを利用する • 対象がバイナリなら、オーバーフローやアル ゴリズムの脆弱な部分などを利用する どんな問題が出題され
はじめに デジタルフォレンジック(以下フォレンジック)とは、パソコンのハードディスクに残るデータを特殊な方法で保全、解析し、利用者による不正行為の痕跡を調査すること、らしいです。 ここにはハードディスクと書かれてありますが、データの保存媒体はハードディスクだけではありませんので、意味としては、フロッピーディスクやCD、DVD、USBメモリ、SDカードなど、多様な保存メディアに対しての詳細なデータ解析が、総称としての「デジタルフォレンジック」の意味かなと思います(たぶん)。それで「じゃあ具体的にフォレンジックっていったい何をすることなのか?」というのがこのテキストのテーマなのですが、簡単に言えば「記憶媒体に保存されているデータをダンプして、それを解析しようぜ!」という話です。LinuxマシンにUSBメモリを指し、ddコマンドを打つとUSBメモリに保存されているデータがダンプされます。 ---
CONTENTS (1.) MAC Spoofとは (2.) MAC Spoofingの必要性 - ARP Spoofing - MAC Limiting - DOS Attacking (3.) How to Setting - 旧式のNIC - ツールの利用 - WindowsXPのMAC Spoofing - LinuxのMAC Spoofing MAC Spoofとは MAC SpoofingとはTCP/IPのデータリンク層のMACアドレスを偽装することです。MACアドレスを簡単に説明しますと、ハードウェア(NICなど)に割り当てられた固有のアドレスのことです。ハードウェア出荷時にROMに書き込まれて出荷されるため、後から書き換えられないと思い込む人が多いようです。 どうしてIPアドレスがあるのに、更にMACアドレスが必要なのかといいますと、IPアドレスはインターネット
はじめに 64ビット環境では、32ビット環境に比べ、マシン語に多少の違いがある。その違いによって、リバースエンジニアリング行為に、どの程度の影響が出るのかを調べた。今回は、その過程をテキストにまとめたものである。 なお、OSはWindowsXP(x64)、デバッガはWinDbg(x64)、コンパイラはVisualStdio2005を使用した。 関数呼び出し とりあえず、どの程度の違いがあるのか、マシン語を読んでみる。 // prog1.cpp #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) { MessageBox(GetActiveWindow(), L"This is test program.", L"
CONTENTS (1.) はじめに (2.) Linuxの特徴 (3.) まずは使ってみよう - シェル (4.) Linuxにおける権限 - マルチユーザとアクセス権限 - 権限の確認 - SUID - シェルからシェルを起動 (5.) 必要最低限のコマンド - man name | -k keyword - ls - cd directory - cp source destination - rm file - chown [-R] [owner] file - chmod [-R] type file (6.) おわりに はじめに 今回はハッキングを行うための舞台であるLinuxOSについての概要を解説します。 世界のPCの95%はWindowsが占めるといわれている現在、どうしてLinuxの使い方について学ぶのでしょうか。これには明確な理由があります。Win
CONTENTS (1.) はじめに (2.) プログラミング (3.) アルゴリズムとデータ (4.) コンピュータとプログラムの関係 (5.) コンパイルの手順 - 字句解析 - 構文解析 - 意味解析 - 最適化 (6.) C言語 - C言語の特徴 - サンプルコード - プリプロセッサについて - 関数 - ポインタ (7.) アセンブリ言語 - アセンブリ言語の種類 - サンプルコード - 命令 (8.) おわりに はじめに 前回に引き続き、初学者のためのハッキング技術の解説を行います。今回は基礎知識の確認としまして、ハッカーの必須知識であるプログラミングの基礎について解説します。個々のプログラミング言語の文法は読者の方々のほうが私よりもよほど精通していらっしゃると予想されますので、文法よりも一般的かつ重要な概念を確認することに主軸を置きました。 これか
逆アセンブルコードを読んでみよう ■0x01.) はじめに 基本的な解析技術を覚えた後、次のステップへ進むためにはどうしたら良いだ ろう? 私は、解析の基本はやはり「アセンブルコードを読むこと」だと考えて います。現在は様々なツールがあり、それらを駆使して効率的なソフトウェア解 析を行えますが、ツールはあくまでツールであり、それを有効活用するためには、 やはり基礎となる技術が必要だと思います。よって、今回は「アセンブルコード を読むこと」を中心としたリバースエンジニアリングについて解説します。 使用するツールはOllyDbgオンリーです。そのOllyDbgも逆アセンブルコードを 出力することだけにしか使ってません(ぉぃ。 ■0x02.) crackmeを手動でデコンパイル 以下は、簡単なcrackmeを逆アセンブルしたコードです。 ----- sample01.exe 00401000 >
[ UDP Packet Spoofing ] 動作確認はすべてLinuxで行っています。 UDPはコネクションを確立しない、ただパケットを送信するだけなのだ。よっ て送信元アドレスを変更しても問題無くパケットは届くのではないだろうか。 つまりは送信元アドレスを偽装してもデータの送信をする上では問題無いはず だ。 まず RFC 768 を読む。 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | | | data | +--------
◆FreeBSD Kernel Hacking ■0x01.) はじめに 最近FreeBSDを使い始めたので、メモ的な意味もこめて、今回自分が学んだ過程 を書くことにしました。実際使い始めて数ヶ月ですが、個人的にFreeBSDもなかな か洗練されてて良い感じです。興味があればぜひ使ってみてください。 ちなみに、この記事はFreeBSD環境で行いますが、他の環境(Linux, Windows) のカーネルについて知りたければ、ローレイヤー勉強会の資料がとても参考にな ります。 「ローレイヤー勉強会」公開資料 http://groups.google.co.jp/group/lowlayer/files ちなみに、この記事では、FreeBSD 7.0を使います。 ■0x02.) 環境構築 FreeBSDのカーネルモジュールを作る(コンパイルする)場合、FreeBSD自体の ソースコードが必要で
DNS拡張EDNS0の解析 ■0x01.) はじめに 「512バイトの壁」という言葉をご存知だろうか? TCP/IPネットワークにおいて、信頼性と速度はトレードオフの関係にある。あ たかも仮想的な空間を構築しているかのように見えるインターネットにおいても、 リアル世界の物理的距離を無視しているわけではない。日本のコンピュータから 送信されたデータが、ブラジルのコンピュータに必ずしも届くとは限らない。だ からこそ、信頼性を保障するためのTCPである。 しかし、インターネットの根幹を支えている技術のひとつであるDNS(Domain Name System)ネットワークは、信頼性を失うことと引き換えに速度を重視した UDPにより実現されている。名前解決はインターネットの根幹のひとつであると言 えるだろう。しかし、その割にはあまり注目度が高くない。 今回はそんな、縁の下の力持ちの話である。 ■0x
◆メモリアドレス推測と小さい領域への攻略コードの注入 ■0x01.) はじめに 世界規模で開催されるハッキングコンテスト「DEFCON Capture the Flag(以下 CTF)」には、様々なセキュリティホールを利用してパスワードを取得するRemote Exploiting系の問題があります。今回、その中からひとつ問題を選び、その回答 方法を紹介します。 DEFCON Capture the Flag Web site http://nopsr.us/ ■0x02.) 過去問題の入手 CTFで出題された問題は、CTFのWebサイトで入手できます。2008年の問題は以下 から入手可能です。2007年以前の問題もTOPページからたどることができます。興 味があれば、トライしてみてください。 DEFCON CTF 2008 問題 http://nopsr.us/ctf2008qual/ W
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。カーネルランドのデバッグ、SYSENTER、SYSEXITなどを中心に解説している。 SYSENTER 「Windowsシステムプログラミング Part2」にて、「SYSENTERはユーザーランドとカーネルランドを繋ぐ命令であり、これをフックできる」ことを述べた。そして、SYSENTER実行時に以下の処理が走ることを書いた。 // sysenter実行時の処理内容 1. CSレジスタにSYSENTER_CS_MSR(MSR-174H)の値をロード 2. EIPレジスタにSYSENTER_EIP_MSR(MSR-176H)の値をロード 3. SSレジスタにSYSENTER_CS_MSRの値に8を加算した値をロード 4. ESPレジスタにSYSENTER_ESP_MSR(MSR-175H)の値をロード
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。WinDbgの導入、カーネルランドのデバッグ、SYSENTERの解析などを中心に解説している。 WinDbgの導入 カーネルランドで動作するプログラムをデバッグするには、カーネルモードデバッガが必要となる。Windows環境でのカーネルモードデバッガは、SoftICEとWinDbgが有名だが、SoftICEは販売停止となったため、このテキストでは、WinDbgを使うことにする。まず、実行用と解析用で、マシンを2台と、それらを繋ぐシリアルクロスケーブルを用意する。 マシンを2台用意する(実行用と解析用) シリアルクロスケーブルで2台のマシンを繋ぐ(COM1使用) 実行用マシンに適当なOSをインストール(自分はWinXPSP2使用) 実行用マシンにインストールされているOSの「C:\boot.ini」を
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。他プロセスへのコード注入、APIフック、サービス制御マネージャ、カーネルレベルプログラミング、任意のコードの隠蔽などを中心に解説している。 任意のコードを別のプロセスへ注入する方法 http://www.codeproject.com/threads/winspy.asp 上記のサイトには「任意のコードを別のプロセスへ注入する方法」として、3つ の手法が紹介されている。 SetWindowsHookExを用いてグローバルフックし他プロセスへDLLをマッピング CreateRemoteThreadとLoadLibraryを使い他プロセスへDLLをマッピング CreateRemoteThreadとWriteProcessMemoryを使い他プロセスへコードを注入 1と2に関しては、任意のコードをDLLと
Exploiting実習(SAS)について SAS(http://akademeia.info/index.php?SAS)でExploiting実習を主催しています。ハッキングに興味のある方、お気軽に参加ください。詳細はSAS SNS(新規登録ページ)内のコミュニティを参照ください。 内容:Exploiting実習 関連する分野:プログラミング、Exploiting、セキュリティ 学習形式:オンライン実習 頻度:1ヶ月に1回程度 時間:3時間程度 前提とする知識:C言語、アセンブリ言語、コンピュータの基礎的知識 スタート時期:2007-05-19 参考URL:Glazheim Lykeion - 初めてのハッキング 使用ツール:IRCクライアント(チャットによる解説・同期用)、Adobe Acrobat Reader(元資料閲覧用)、SSHクライアント(実験環境への遠隔ログイン用) 主読
CONTENTS (1.) はじめに (2.) 準備物 (3.) エミュレータ本体 - ePSXeの入手 - 利用方法 (4.) PlayStation用のBIOS - PlayStationにおけるBIOS - BIOSの適用 (5.) エミュレータ用のプラグイン - プラグインの入手 - プラグインの適用 (6.) PlayStation用のソフト - 市販のソフトの場合 - isoファイルの場合 (7.) ePSXeの使い方 - どこでもセーブ機能 はじめに PlayStationとは、ソニー・コンピュータエンターテイメントが1994年より発売している家庭用ゲーム機です。3Dグラフィックの描写能力に優れ、当時流行の兆しを見せていた3Dゲームへの対応をいち早く取り入れたことで世界的なブームとなりました。俗称では「プレステ」や「PS」などと呼ばれています。 本レポート
CONTENTS (1.) はじめに (2.) ここで論じるハッキング - ハッキングの目的 - 前提知識 (3.) ハッキングの手順 - 下調べ - 侵入 - 後始末 - 裏口作成 (4.) おわりに はじめに ハッキングの簡単な説明について数回に分けて解説したいと思います。 細かな知識よりも実際に動作させることができる、体験できるということに主軸を置きつつ、必要な知識を最低限解説いたします。このレポートでは、ハッキングを実行してみたいが具体的な方法を知らないという方を対象に、簡単なハッキングを体験していただき、具体性をもって今後の学習に役立ててもらうことを目的とします。 ここで論じるハッキング ハッキングとはあいまいで広義的な言葉です。例えば、他人のコンピュータに無断で侵入する行為はハッキングと呼ばれますが、プログラミングにおいてエレガントに処理させてしまうこともハックと
./2CH.txt(2chのスレッドに投稿するPerlスクリプト) ./KENT.txt(KENT BBSに投稿するPerlスクリプト) ./SMTP.txt(SMTPを利用してメールを送信するPerlスクリプト) ./THE.txt(THE BBSのスレッドに投稿するPerlスクリプト) ./cgi/(Perl/CGIの入門用スクリプト集) ./smailA.txt(SendMailを利用するPerlスクリプト) ./smailB.txt(SendMailを利用するPerlスクリプト) ./network/(SMTP, POP, HTTPなどのネットワークプログラム関連) ./smtp01.cpp(SMTPを利用するCプログラム) ./test.asm(ウィンドウを表示するアセンブラプログラム) ./copy.asm(copyコマンドのアセンブラ版) ./count.asm(アクセスカウ
CONTENTS (1.) キーバインドの変更 - キーバインドとは - キーバインドの変更方法 - Scancode Mapのフォーマット キーバインドの変更 ● キーバインドとは キーバインド(key bind)とは、キーアサイン(key assignment)とも呼ばれ、キーボードの個々のキーへの記号や機能の割り当てのことです。例えばファンクションキーは機能が固定されていないので、F1を押したらコピー機能を呼び出すなど、好きに機能を割り当てることができます。 これと同じように、「A」キーを押した時に「B」が画面に表示されるようにキーの割り当てを変更することができます。このレポートでの目的は普段利用しない「無変換」キーや「ひらがな」キーを利用頻度の高いCtrlキーやAltキーに変更することです。 ● キーバインドの変更方法 キーバインドを変更する方法には、CmdSpaceなどの
はじめに かの有名なP2Pソフト「Winny」の通信内容は、TCP接続確立後の初期パケットの「先頭から3バイト目以降の4バイト」を鍵としたRC4で暗号化されています。しかし、本来、暗号通信を行う場合、ネットワーク上に流れるパケットデータの中に、そのままの状態の共通鍵は入れません。このような実装だと、通信内容を確認しただけで暗号を解読される恐れがあります。Winnyはそういった意味で、通信内容の暗号化に関しては、あまり労力を割かなかったことがうかがえます。 しかし、共通鍵暗号を使用する以上、通信相手と同じ鍵を共有しなければなりません。WinnyはRC4の鍵を乱数で生成しているため、その鍵をどうにかして相手に送る必要があり、そのためにはどうしても鍵を送信しなければなりません。ただ、鍵を送信するということは、通信データを傍受されることで暗号が解読されてしまう危険性を伴います。 これは、不特定多数
はじめに インターネットが普及し、様々な情報がやり取りされる現在のネットワーク状況において、ここ数年、特に注目されている技術に暗号があります。例えば、SSL(Secure Sockets Layer)はHTTPにて広く使われている暗号通信方式であり、私たちは普段、URLの先頭が「https」となっているWebサイトをよく見かけます。また、かの有名なP2P(Peer to Peer)ソフトであるWinnyも、Crack対策のため、通信内容を暗号化して送受信していました。 今後、ネットワークと暗号はますます身近になり、またその研究も進むことでしょう。しかし、暗号はそもそもコンピュータやネットワークとはまったく別の学問であり、その歴史も深く、専門の学者によって日々研究が進められているものです。暗号に対する安全性や理論の証明、そしてネットワーク通信にどのように応用できるかなど、暗号と一言にいっても
[ Stack Buffer Overflow ] ここにはStack Buffer Overflowに関する私の実験の結果を記述しています。 あくまで実験なのでここに書かれてあることが必ずしも正しいとは限らない。 もし間違いなどがあればメールなどで指摘してくれると有難いです。動作確認 は Linux(x86) + gcc で行っています。 >> [ 0x01 ] アセンブラ (write) まずは このファイルを見てみる。 /usr/src/linux-2.4.18/include/asm/unistd.h ------------------------------------------------------------------------------ #ifndef _ASM_I386_UNISTD_H_ #define _ASM_I386_UNISTD_H_ /* * Th
--- Hack This Site! 攻略(Basic Web編) --- ■0x01.) はじめに 前々から、WBで一度、初心者のための解説記事を書きたいと思っていたのです が、なかなか書く機会がありませんでした。また、前々から、ハッキングゲーム の攻略ネタを書きたいと思っていたのですが、これもなかなか書く機会がなく困 っていました。そんなこんなで、この2つの悩みを同時に解決してくれる今回の内 容は「初心者のためのハッキング入門」です(なんだこれ?)。実はタイトルは すごい悩んだのですが、思い切って、とことん思い切ったものにしました(^^;。 というわけで、今回はハッキングゲーム「Hack This Site!」の攻略をやってい くことにします。 「Hack This Site!」http://www.hackthissite.org/ 「ユーザー登録ページ」http://www.ha
次のページ
このページを最初にブックマークしてみませんか?
『http://ruffnex.oc.to/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く