SECCON 2016 Online CTF 供養(Writeup)

CTF

SECCON 2016 Online CTFにチームで参加。 ほぼExploitジャンルのみを見ていたが、結局一番簡単な問題しか解けなかった。 cheer msg (Exploit 100) アセンブリコードを見ると、Message Lengthの値に応じてespが引き上げられている(alloca相当の処理らしい)…

「Why is Security Management So Hard?」というタイトルで発表した

第1回 セキュリティ共有勉強会 - connpass 「その他、社内セキュリティで語りたいことがあれば」という形でLT登壇者が募集されていたので、セキュリティマネジメントはなぜHardなのかというテーマで自分が考えていることについて話した。 Why is Security Ma…

Multi-prime RSAを復号してみる(Hack The Vote 2016 The Best RSA)

この記事は「CTF Advent Calendar 2016」9日目の記事です。 RSA暗号は二つの素数p, qから計算されるn=p*qを公開鍵として暗号化を行うものであるが、これを一般化したものとしてMulti-prime RSAがある。 ここでは、Multi-prime RSAの概要を説明し、これを題材…

RC3 CTF 2016 供養(Writeup)

CTF

RC3 CTF 2016に参加。2940ptで54位。 What's your virus? (Trivia 20) ILOVEYOU Horse from Tinbucktu (Trivia 30) Zeus Love Bomb (Trivia 40) Stuxnet Infringing memes (Trivia 50) PIPA Logmein (Reversing 100) よくあるタイプのcrackme。angrで解いた…

plain RSAに対するLSB decryption oracle attackをやってみる

「RSAに対する適応的選択暗号文攻撃とパディング方式」では、パディングなしのRSA(plain RSA)が選択暗号文攻撃に対して安全でない、つまり任意の暗号文を復号した結果を得られるとき、与えられた暗号文を直接復号することなく平文が得られることについて確…

Hack The Vote 2016 供養(Writeup)

CTF

Hack The Vote 2016に参加。251ptで244位。 Sanity (Vote 1) サービス問題。 The flag is flag{th3r3_1s_0nly_on3_ch0ic3} TOPKEK (Crypto 50) 次のようなテキストファイルが与えられる。 $ cat kek.43319559636b94db1c945834340b65d68f90b6ecbb70925f7b24f6…

EKOPARTY CTF 2016 供養(Writeup)

CTF

EKOPARTY CTF 2016に参加。575ptで182位。 Hidden inside EKO (misc, 50 points) 背景画像にFlagが書かれている。 EKO{th3_fl4g} Mr. Robot (web, 25 points) robots.txtにFlagの書かれたファイルへのパスがある。 EKO{robot_is_following_us} RFC 7230 (web…

Hack.lu CTF 2016 供養(Writeup)

CTF

Hack.lu CTF 2016に参加。594ptで66位。 simplepdf (Programming 150 (- 52)) 注釈に添付ファイルがついており、これを抽出すると同じようなPDFがまた出てくる。 抽出を10003回繰り返すとflagが得られる。 import zlib import re with open('simplepdf_f8004…

glibc malloc exploit techniques

malloc系exploitテクニックのうち、応用しやすそうなもののメモ。 環境 Ubuntu Server 16.04.1 LTS 64bit版、GLIBC 2.23 $ uname -a Linux vm-ubuntu64 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ lsb…

HITCON CTF 2016 Quals 供養(Writeup)

CTF

HITCON CTF 2016 Qualsに一人チームで参加した。結果は500ptで103位。 たいした問題は解けてないが、供養。 Welcome (Reverse 50) サービス問題。 $ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright",…

整数オーバーフローと符号エラー

整数に関係するバグについてのメモ。 環境 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 availa…

「HTTPプロクシライブラリproxy2の設計と実装」というタイトルで発表した

プレゼンテーション:HTTPプロクシライブラリproxy2の設計と実装 | PyCon JP 2016 in TOKYO PyCon JP 2016で以前作ったPython製HTTPプロクシライブラリについて発表した。 HTTPプロクシライブラリproxy2の設計と実装 from inaz2 きちんとPython 3対応にした…

Pari/GPでECDH鍵交換、ECDSA署名をやってみる

TLS 1.2では、楕円曲線暗号であるECDH鍵交換、ECDSA署名を使うことができる。 ここでは、数式処理システムPari/GPを使ってこれらの計算をやってみる。 環境 Ubuntu 14.04.4 LTS 64bit版、Pari/GP 2.5.5 $ uname -a Linux vm-ubuntu64 3.19.0-25-generic #26~…

vim-tinyで矩形挿入・削除する方法のメモ

viコマンドとして標準でインストールされていることが多いvim-tinyにて、コメントアウトや複数行のインデントに便利なコマンドのメモ。 矩形挿入 C-vして矩形選択し、Iを押して文字列を入力した後Esc。 反映されるまでに若干のタイムラグがある。 なお、スペ…

555タイマーICと圧電スピーカーでアナログシンセもどきを作ってみる

555タイマーIC(集積回路)を発振回路として使うと、さまざまな周波数の矩形波を作ることができる。 また、圧電スピーカーを使うと、一定の周波数で電圧を変化させることにより音を出すことができる。 ここでは、これらと半固定抵抗を組み合わせ、単純な回路…

Raspberry Pi 3でパケットキャプチャ用無線アクセスポイントを作る

Raspberry Pi 3にはWi-Fiモジュール(Broadcom BCM43438)が搭載されているが、このモジュールはクライアントとしてだけではなく、アクセスポイントとして動作させることもできる。 ここでは、Raspberry Pi 3でDHCPサーバ付き無線ルータを作り、アクセスポイ…

整流回路とオペアンプ増幅回路でWi-Fi電波を可視化してみる

次のページを参考に簡易電界強度計を作り、Wi-Fi 2.4GHzの電波強度をLEDで可視化してみる。 電波を見える化 簡易電界強度計(テレメーターテスター)の作成 | 制作事例 | 臨床工学技士の為の電子工作 部品調達 ブレッドボード(参考) ジャンパワイヤセット…

非安定マルチバイブレータ回路でLEDを点滅させてみる

電子工作の練習として、簡単な回路を作ってみる。 部品調達 サンハヤト SBS-202 LED点滅回路 小型ブレッドボードパーツセット ブレッドボード・ジャンパーワイヤ EIC-J-L: パーツ一般 秋月電子通商 電子部品 ネット通販 電子ブザーPB04…

GNU RadioでFMラジオ受信機を作ってみる

「Raspberry PiとUSBチューナー(RTL2832U+R820T)でFMラジオを受信してみる」では、市販のUSBチューナーを使ってFMラジオを受信してみた。 ここでは、SDR(Software-defined Radio)ツールであるGNU Radioを使ってFMラジオ受信機を作ってみる。 環境 Window…

大手サービスの行動履歴データの扱いについてまとめてみる

Google、FacebookなどのWebサービスやAdWords、DoubleClickなどの広告ネットワークは、ユーザのアクセス履歴や訪問サイト・検索ワード等を収集し、サービスのパーソナライズや広告表示に利用していることが知られている。 ここでは、そのような行動履歴デー…

Raspberry PiとUSBチューナー(RTL2832U+R820T)でFMラジオを受信してみる

Raspberry Piに市販のUSBチューナーを接続して、FMラジオを受信してみる。 また、受信している電波の周波数スペクトルを表示してみる。 環境 Raspberry Pi 3 (Raspbian Jessie Lite) $ uname -a Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 …

Raspberry PiにZabbixをインストールする

「Raspberry Pi 3でファイルサーバ兼iTunesサーバを作る」ではサーバ監視ツールとしてnetdataをインストールしたが、ディスク使用率の監視に難があるためZabbixに切り替えることにした。 ここでは、Raspberry PiにZabbixをインストールし、サーバの状態を表…

Google Sheetsでスクレイピング結果を定期的に記録する

Google Docsの表計算アプリであるGoogle Sheetsでは、Google Apps Scriptと呼ばれるJavaScriptベースのスクリプト言語でマクロを書くことができる。 また、Google Apps ScriptではTriggerと呼ばれる機能により特定の関数を定期的に実行することができる。 Go…

メッセージダイジェスト(MD)、メッセージ認証コード(MAC)、鍵導出関数(KDF)の違いについてのメモ

「ハッシュ」という言葉があいまいに使われている場面をしばしば目にするので、関係する概念とそれらの違いについてまとめてみる。 メッセージダイジェスト(Message Digest; MD) MD5、SHA-1、SHA-256など、あるバイト列(メッセージ)に対し固定長の要約値…

紙の手帳を使い始めた

ここ数年スケジュール管理にスマートフォンのスケジューラを使っていたが、紙の手帳を買ってあらためてこれを使い始めた。 メリットとデメリットのメモ。 紙の手帳のメリット スケジュール、タスクリスト、メモを集約できる ペンケースを兼ねる 書き込みの自…

「Protecting Passwords」というタイトルで発表した

2016年06月の #ssmjpのおしらせ – ssmjp Infomation 開発者・ユーザそれぞれの立場から、パスワードを守る方法について発表した。 Protecting Passwords from inaz2 最も強いパスワードは完全なランダム、最も適切な管理方法はサービスごとにまったく異なる…

VR TheaterでGear VRを体験してみた

VRを体験してみたくなったので、ネットカフェでヘッドマウントディスプレイGear VRを体験できるVR Theaterに行ってみた。 自分が行った店舗では、有料動画を見る見ないに関わらず、ネットカフェの利用料金とは別に600円が必要だった。 いくつかあるコンテン…

最近買ったもの2016

引っ越しに伴いいろいろ買ったので、それらのメモ。 本棚 これまでの経験から本棚はちゃんとしたものを買う必要があることがわかったので、大きいものを買った。 本棚(グレン BS1890) | ニトリ公式通販 家具・インテリア・生活雑貨通販のニトリネット キュー…

Twitterのツイート時刻を可視化する「TwiActivity」を作った

TwiActivity: 直近200件のツイート時刻を可視化 D3.jsにちょうどよいサンプルがあったので、任意アカウントのツイート時刻に適用するサイトを作ってみた。 TwitterのAPIが1リクエストあたり200件のツイートしか取れないので、とりあえず200件のみで可視化す…

Fire TV Stickを買った

「Raspberry PiにKodiをインストールしてネットテレビを作る」でネットテレビを作ってみたが、Raspberry Pi上のKodiではNetflixを見るのが難しかった。 そこで、ちょうどセールで20%オフになったFire TV Stickを買った。 Amazonプライムビデオに加え、アプリ…