2016-03-01から1ヶ月間の記事一覧

iptablesでREDIRECTする前のポート番号を取得する

iptablesで次のように複数のポートを特定のポートにリダイレクトしているような状況で、リダイレクト前のポート番号をソケットから取得する方法のメモ。 -A PREROUTING -i eth0 -p tcp -m multiport --dports 8000:8080 -j REDIRECT --to-ports 5000 環境 Ub…

部屋を借りる際に知っておいたほうがよいことのメモ

不動産賃貸に関する基本知識や、部屋探し(仲介業者選び)および物件選びの際の観点についてのメモ。 不動産賃貸に関する登場人物 不動産オーナー: 投資・資産運用目的で賃貸マンションの部屋を購入する 管理会社(マンション管理業/賃貸住宅管理業): オー…

Pocket Operator PO-12 rhythmを買った

Teenage Engineeringによって製造されている電卓のようなポケットサイズのシンセサイザPocket Operatorを買った。 買ったのは、いくつかあるモデルのうち最もスタンダードなドラムマシンタイプのPO-12 rhythm。 16種類のサウンドを16拍の各タイミングに配置…

Netflix/Hulu/dTV/U-NEXT/Amazonプライムビデオを試してみた

レンタルビデオ店に行く代わりにしたい、PCのサブディスプレイを活用したいという理由で定額動画配信サービスをいろいろ試した結果のメモ(2016年3月時点)。 提携関係 各サービスの会員規模および提携関係については、次の記事が参考になる。 dTV、Hulu、Ne…

高機能トレーサーqiraを使ってみる

qira(QEMU Interactive Runtime Analyser)は、George Hotz(geohot)氏が開発している高機能トレーサーである。 qiraは実行時のレジスタ、メモリ操作をすべて記録することにより、特定の命令アドレスを実行しているタイミングや特定アドレスのメモリ読み書…

angrでシンボリック実行をやってみる

シンボリック実行とは、プログラム上の変数をシンボルとして扱い、シンボルに対する一連の操作を分析することで条件を満たす入力値を特定するプログラム解析手法である。 ここでは、CTFチームShellphishが開発しているバイナリ解析ツールangrを使い、簡単な…

DLL injectionでWindows APIによる暗号化処理を覗いてみる

「LD_PRELOAD injectionでOpenSSLによる暗号化処理を覗いてみる」では、Linux環境におけるOpenSSLを使った暗号化処理を覗いてみた。 ここでは、「IAT書き換えによるAPIフックをやってみる」と同様の方法にて、Windows環境におけるWindows APIを使った暗号化…

LD_PRELOAD injectionでOpenSSLによる暗号化処理を覗いてみる

LD_PRELOAD環境変数を使ったライブラリ関数フックにより、OpenSSLの暗号化処理を覗くコードを書いてみる。 環境 Ubuntu 14.04.4 LTS 64bit版 $ uname -a Linux vm-ubuntu64 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x…

Intel Pinでlivestringsを作ってみる

「Intel Pinでcmptraceを作ってみる」では、x86/x64用のDBIツールであるIntel Pinを使ってcmp命令のトレースを行うコードを書いた。 ここでは、同様にIntel Pinを使い、メモリ上に展開されているASCII文字列を列挙するlivestringsを作ってみる。 環境 Ubuntu…

Intel Pinでcmptraceを作ってみる

「Intel Pinを使ってみる」では、Intel Pinをダウンロードし、付属しているコードを使ってみた。 ここでは、実際にコードを書き、cmp命令のトレースを行うコードcmptraceを作ってみる。 環境 Ubuntu 14.04.4 LTS 64bit版 $ uname -a Linux vm-ubuntu64 3.19.…

Intel Pinを使ってみる

Dynamic Binary Instrumentation(DBI)は実行時にバイナリの内容を書き換えることにより、CPU命令の単位でプログラム実行のトレースなどを行う手法である。 ここでは、x86/x64用のDBIツールであるIntel Pinを使ってみる。 環境 Ubuntu 14.04.4 LTS 64bit版 …

64 bitのUbuntu Linuxで32 bitの実行ファイルを動かす方法のメモ

環境 Ubuntu 14.04.4 LTS 64bit版 $ uname -a Linux vm-ubuntu64 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Descrip…

Mersenne Twisterの出力を推測してみる

「Z3Pyでglibc rand(3)の出力を推測してみる」および「Z3Pyでxorshift128+の出力を推測してみる」では、Z3Pyを使って疑似乱数生成アルゴリズムのいくつかの出力を観測することで、後続の出力を推測した。 ここでは、Pythonのrandomモジュールなどで利用され…

Z3Pyでxorshift128+の出力を推測してみる

「Z3Pyでglibc rand(3)の出力を推測してみる」では、glibc rand(3)の出力をいくつか観測することで、後続の出力を推測した。 ここでは、V8 JavaScript Engineなどで使われている疑似乱数生成アルゴリズムxorshift128+の出力を推測してみる。 環境 Ubuntu 14.…

Z3Pyでglibc rand(3)の出力を推測してみる

疑似乱数列は、いくつかの出力を観測することにより内部状態を復元することで推測が可能である。 ここでは、SMTソルバZ3Pyを使い、glibc rand(3)の出力を推測してみる。 環境 Ubuntu 14.04.3 LTS 64bit版、EGLIBC 2.19 $ uname -a Linux vm-ubuntu64 3.19.0-…

ArachniでWeb脆弱性スキャンをやってみる

Web

「w3afでWeb脆弱性スキャンをやってみる」では、w3afを使ってWeb脆弱性のスキャンを行った。 Web脆弱性のスキャンツールには、w3afの他にArachniがある。 ArachniはヘッドレスブラウザPhantomJSを利用しており、高精度な脆弱性テストを行うことができる。 こ…

w3afでWeb脆弱性スキャンをやってみる

Web

「sqlmapを使ってみる」では、sqlmapを使ってSQL injection脆弱性のスキャンを行った。 ここでは、SQL injection以外の脆弱性もスキャンできるテストツールw3afを使い、Web脆弱性のスキャンをやってみる。 環境 Ubuntu 14.04.3 LTS 64bit版、Docker 1.9.1 $ …