医療セキュリティハッキングコンテスト神戸2016に行ってきた

医療セキュリティハッキングコンテストとは 実際に運用されている医療系ソフトウェアを合法的に叩き潰せて、賞金も出る最高のイベントです。学校の先輩達とチームで出場してました。医療セキュリティハッキングコンテスト神戸2016 | Kobe Digital Labo 神戸…

goのバイナリをちょっとまじめに読んでみる

goのバイナリをちょっとまじめに読んだのでメモ。 環境 $ uname -a Linux ubuntu 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID:…

log2timelineの使い方

この記事は1年半前から下書きのままになっていたものである。 log2timelineとは タイムライン解析というファイルシステムのタイムスタンプ情報を元に、時系列順に痕跡を解析していく手法がある。 log2timelineはそのためのフレームワークである。plasoという…

Unicorn、usercornを使ってみる

Unicornとは この記事での Unicorn は、エミュレータの方であり、決してRackサーバの方ではない。 Unicornは軽量でマルチプラットフォーム、マルチアーキテクチャな CPU emulator frameworkである。UnicornはNguyen Anh Quynh氏が中心となって開発されている…

急にCSSがくずれた話

大分前に作ったchrome拡張のCSSがくずれていた。favurl - Chrome Web Store確認してみたらpreタグに対しての word-wrap: break-word; が効いていなかった。 html - How do I wrap text in a pre tag? - Stack Overflowによると、CSS3ではwhite-space: pre-wr…

セキュリティ・キャンプ・フォーラムで公開処刑されてきた

セキュリティ・キャンプ・フォーラムとは セキュリティ・キャンプの卒業生の同窓会的なイベントです。 「セキュリティ・キャンプフォーラム2016」開催のご案内:IPA 独立行政法人 情報処理推進機構 経緯 今年からセキュリティ・キャンプ・フォーラムにセキュ…

Rubyでparse.com経由でPush通知をする

parse.comとは MBaaS(Mobile Backend as a Service)の一種で、簡単にAndroidやIOSにPush通知できるサービス。https://www.parse.com/ RubyでPush通知を送る gem Rubyからはparse-ruby-clientというgemを使うことで楽に使える。しかし、ドキュメントが分かり…

pysandboxの話

Python Advent Calendar 2015の15日目担当の たけまる(@tkmru)です。 今日はSECCON 2015 九州大会で見かけたpysandboxの話をしようと思います。 pysandboxとは Pythonで作られたsandboxのひとつで、2010年から2013年まで開発が行われていましたが、設計上の…

slackが☀︎を読んで死んで落ちた話

slack 1.1.8 on Marvericksが☀︎を読んで死んだ。起動してchannelを読むとすぐに落ちてしまう。 slackを再インストールしても、アカウント情報やどのチャンネルを開いていたか等のデータを保持しつづけるので、直らない。~/Library/Containers/com.tinyspeck.…

CODE BLUEに行ってきた。

CODE BLUE 2015に行ってきた。 世界トップクラスの専門家による情報セキュリティ国際会議「CODE BLUE(コードブルー)」 ああいうカンファレンスは初めてで、スーツ率が意外と高くてビビってたけど、セキュキャンとか勉強会とかで知り合った人が結構いて助か…

CTF for ビギナーズ 2015 滋賀 と 奈良

CTF for ビギナーズ 2015 滋賀にはスタッフとして、CTF for ビギナーズ 2015 奈良ではやったことのないA&D形式のCTFをやるということで参加者として参加してきました。 奈良の帰りに同族のたけまる号に会った。 CTF for ビギナーズ 2015 奈良ではビキナーで…

setup.pyの操作まとめ

はじめに setup.pyはつくったモジュールの情報を書いておくファイル。 モジュールの名前やバージョン、作者、ライセンスなどなど。 たまにしか使わないし忘れるのでメモ。 操作いろいろ モジュールのインストール python setup.py install long_description…

Cuckoo Sandboxを構築した

Cuckoo Sandboxとは Cuckoo SandboxとはOSSのマルウェアの自動解析システムで動的解析に使うことができる。使用にあたっては以下の記事が参考になりそう。www.ffri.jp 構築 最初はOS X上に構築しようとしてたが、yaraのエラーなどが出て消耗したのでやめて、…

Trend Micro CTF Asia Pacific & Japan 2015 Writeup

CTF

今回は大和セキュリティのみなさんとわいわい参加してきた。atnd.org普段、1人か2人でCTFやってるので大人数でわいわい解くと楽しくてよかった。 オールナイトで参加すると、寝る人にはミーティングルームを1人1部屋使わせてもらえて最高だった。 会場を提供…

Pythonから外部コマンドを実行する

関数がいくつかあってややこしいのでメモ。 非推奨の方法 osモジュールや、commandsモジュールを使う方法は古いので非推奨となっている。 osモジュールを使う osモジュールのsystem()を使う。この関数は標準 C 関数のsystem() を使って実装されている。戻り…

CSAW CTF 2015 writeup

CTF

Trivia ググって調べたり、google先生が出してくれる候補を見れば答えが分かる。 Trivia 1 This family of malware has gained notoriety after anti-virus and threat intelligence companies claimed that it was being used by several Chinese military …

IDA freeのIDA View-Aのアドレスとasm命令、オペランドの表示が途中で切れるときの対処法

IDA

タイトルだけでは状況がよく分からない感じだが、とあるファイルを読み込んだら、IDA View-Aが以下の画像のようになってしまった。Graph viewのスクショしかとってなかったが、Text viewではアドレスとasm命令、オペランドの表示が途中で切れるようになって…

asmでスマートに文字列の長さを算出する

asm

文字列の長さを算出 以下のasmコード(x64)で、文字列の長さを取得することができる。 mov eax, 0x0 mov rcx, 0xffffffffffffffff repnz scas al, BYTE PTR es:[rdi] not rcx lea rcx, [rcx - 1] // dec rcxでも可x86がいい人は適宜読みかえて欲しい。 解説 r…

セキュリティ・キャンプ 全国大会 2015 行ってきた!!

8/11 から 8/15 までセキュリティ・キャンプ 全国大会 2015 に行ってました。 セキュリティ・キャンプとは 宿泊費、参加費無料でガチプロの講師の講義が受けれるとてもナイスなイベントです。主に解析トラックの講義を受けてきました。 セキュリティ・キャン…

Pythonの外部入力をunpickle化することによる脆弱性を用いたexploitを書いた

背景 @inaz2氏のツイートでこの脆弱性を知り、exploitを書くに至った。デストラクタ等が自動実行される。ちなみにPythonのpickleにも同様の脆弱性がある https://t.co/Xkw3KBE3Es / PHPのunserialize関数に外部由来の値を処理させると脆弱性の原因になる htt…

承認情報です

一時的にホットエントリ入りした!!VMの検知について - 脱力系日記承認だ!!ちなみにあの記事はセキュキャン応募用紙の設問10の解答の一部だったりします。

VMの検知について

マルウェアを解析する際にはVMで解析を行うことが多いので、VMを検知してアンチデバッキングするマルウェアが存在する。それらが用いる手法についてまとめた。 1. TSCを用いる TSC(IA32_TIME_STAMP_COUNTER_MSR: TSC_MSR)とは、CPUクロックごとに加算される6…

/dev/null さんと出会った

いい夢を見た。しゃべりかけても反応してくれない子がいて、悲しんでたら/dev/nullさんだったっていう夢を見た— babyたけまる (@tkmru) 2015, 6月 4

シンボルを削ることによるmain関数のアンチデバッキング

CTFでよく見かけるmain関数のシンボルを削ることによるmain関数のアンチデバッキングについて。 まず、以下のコードをgccでコンパイルして、main関数のシンボルを確かめる。 #include <stdio.h> int main() { printf("test\n"); } $ objdump -d a.out|grep main 00000</stdio.h>…

Exploit Exercises Protostar stack5 writeup

問題のコード Protostar Stack5 - Exploit Exercises #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { char buffer[64]; gets(buffer); } stack overflow で shellをとればいいっぽい。 writeup gdbでリターンアドレスと、gets</string.h></stdio.h></unistd.h></stdlib.h>…

Exploit Exercises Protostar stack0-4 writeup

Exploit ExercisesのProtostarのstack0-4のwriteup。需要なさそう... stack0 Protostar Stack0 - Exploit Exercises問題のコード #include <stdlib.h> #include <unistd.h> #include <stdio.h> int main(int argc, char **argv) { volatile int modified; char buffer[64]; modified = 0; </stdio.h></unistd.h></stdlib.h>…

Exploit Exercises Nebula Level00-06 writeup

Exploit Exercisesとは exploit寄りの問題がいっぱい載っているサイトで、問題が入ったVMが配布されている。https://exploit-exercises.comNebula, Protostar, Fusion, Main Sequence, Cloud Roadの5つのコースがあって、今回はNebulaをlevel00-06まで解いた…

GDB アンチデバッギング

GDB アンチデバッギングについて調べたのでメモ。 ptraceを使う検知法とファイルディスクリプタの増加による検知法の2通りの方法を発見したけど、後者は古いバージョンでしか動かないっぽい。 ptraceを使って検知 ptraceとはプロセス追跡をするシステムコ…

Tcpreplayのインストールにつまづいた

Tcpreplayをmacにインストールするのに、つまづいたのでメモ。ふつーにbrewでインストールするも、Library not loadedとか言われる。 tcprewriteはTcpreplayに入ってるツールの1つ。 $ brew install tcprelay $ tcprewrite dyld: Library not loaded: /usr/l…

favurlが窓の杜で紹介された

favurlという以前つくったchrome拡張が窓の杜で紹介されました。【レビュー】Twitterでお気に入り追加した“あとで読むURL”を自動で開けるChrome拡張「favurl」 - 窓の杜www.forest.impress.co.jp やったね!! エイプリルフールネタではなかった!!