2015-08-01から1ヶ月間の記事一覧
すみだセキュリティ勉強会2015#2 - すみだセキュリティ勉強会 WinDbgの使い方の紹介と、簡単なデバッグのデモを行った。 WinDbg Primer from inaz2 WinDbgはコマンドラインベースで操作でき、Windows環境におけるGDBのように使えて便利という話をした。 そこ…
「x86 bootloaderでHello Worldを書いてみる」では、リアルモード(16ビット)で動作する簡単なbootloaderを書いてみた。 ここでは、CPUの動作モードをプロテクテッドモード(32ビット)に切り替え、C言語コードからコンパイルした簡単なOSカーネルを動作さ…
「VirtualBoxにKali Linux 1.0.6をインストールする」の2.0版。 仮想マシンを作成する 仮想マシンを作成し、仮想マシン設定の「システム」→「プロセッサー」から「PAE/NXを有効化」にチェックを入れておく。 さらに、ホストOSからゲストOSへの通信を行えるよ…
ASLR+DEP+FullRELROが有効な環境で、Dynamic ROP(JIT-ROP)により任意のシェルコードを実行してみる。 これは、セキュリティ・キャンプ全国大会2015の講義にて行った演習に若干の修正を加えたものである。 環境 Ubuntu Server 14.04.2 64bit版 $ uname -a L…
よく使うものをまとめてみる。 Keyboard shortcuts - Windows Help Mouse and keyboard: What's new in Windows - Windows Help 何か設定したい Win+XでQuick Linkメニューが表示され、いろいろな設定画面が開ける。 管理者権限でコマンドプロンプトを開く、…
「Windowsで電卓を起動するシェルコードを書いてみる」では、32ビットのWindows環境で動作するシェルコードを書いた。 ここでは、Microsoftが提供する脆弱性緩和ツールEMET(Enhanced Mitigation Experience Toolkit)の検知機構を回避するシェルコードを書…
「WindowsでReturn-oriented Programming(ROP)によるDEP回避をやってみる」では、Windows 32ビット環境でROPによるDEP回避を行った。 ここでは、Windows 64ビット環境でのROPをやってみる。 環境 Windows 8.1 Pro 64 bit版、Visual Studio Community 2013 …
「CreateRemoteThread関数によるDLLインジェクションをやってみる」では、DLLを他のプロセスに読み込ませることにより他プロセス内でのコード実行を行った。 DLLインジェクションの応用のひとつに、他プロセスにおけるAPIフックがある。 これは、プロセスと…
Windowsにおいて、キーロガーなどが自身のプロセスを隠蔽する手法にDLLインジェクションがある。 これは、プログラムをDLLとして作成し、他のプロセスに読み込ませることで実行するというものである。 ここでは、CreateRemoteThread関数を使ったDLLインジェ…
「Windowsでconnect-backシェルコードを書いてみる」ではプログラムがWinsockを利用していることを前提に、connect-back shellを起動するシェルコードを書いた。 この他に、Windowsではインターネットから実行ファイルをダウンロードし実行するシェルコード…