196の日記

セキュリティ系の勉強、その他開発メモとか雑談、忘れそうな計算式などを書き溜める場所になっています. githhubはUnity触っていた頃ものがメイン https://github.com/196kakinuma

【感想】セキュリティのためのログ分析入門-サイバー攻撃の痕跡を見つける技術-

ざっくりした感想 発売して割とすぐ購入した書籍でした。この本は技術評論社発行の雑誌の2015年7月に掲載された特集記事を加筆修正して再編集したもので、入門というだけあって本当に入口の部分に触れている感じなので、専門知識が欲しい方はお勧めできない…

PowerShell難読化をだた試しながら読む(3) Binary Pulsarさんの記事

元記事はこちらなので皆さんはぜひこちらを読んでください。 PowerShell難読化の基礎 (3) – Binary Pulsar コメントアウト挿入による難読化 前々回のものにコメントを挿入して難読化を計る (((102, 111, 114, 101, 97, 99, 104, 40, 36, 105, 32, 105, 110, …

PowerShell難読化をだた試しながら読む(2) Binary Pulsarさんの記事

元記事はこちらなので、皆さんはぜひこちらを読んでください。 PowerShell難読化の基礎 (2) – Binary Pulsar ドット記号によるスクリプト実行 ドット記号(.)を使用すると、アンパサンド記号(&)と同じ動きをする。 PS /> $comlet = "Get-Host" PS /> . $comle…

dionaeaのサービスを見てみる

とりあえず、公式のこのページを参考に1つずつ見ていけたらなぁと思ってます。 Service — dionaea 0.8.0 documentation その前に 外部からnmapをした時に、dionaeaとバレてしまう可能性があるのでそれを修正します。参考サイトはこちらです。 # nmap ipアド…

dionaeaのVPSのポートがclosedばっかり - ハニーポットのポートが開かない

先日dionaeaをVPSに導入し、早く攻撃来ないかなとか思ってたんですが、全く来ないしログも増えない。すぐにおかしいなと思って、自分(VPS内から)をnmapでポートスキャン。 次に外部(自宅環境)からポートスキャン。 外から見るとポートが閉じてますね。他の方…

今更さくらVPS借りてパニーポット(dionaea)

タイトル通り。 T-Potとかいうdionaeaとかを含んでなおかつログ等もうまい具合に可視化してくれるとかいう高級なものはのちに利用するとして、今回は自分でログとかを見ることを目的にdionaeaを入れます。 VPSを契約する & OS設定 vps.sakura.ad.jp とりあえ…

PowerShell難読化をだた試しながら読む(1) Binary Pulsarさんの記事

ただ下の記事を読んで試すだけ。そのうち忘れて終わりそうな、、笑 PowerShell難読化の基礎 (1) – Binary Pulsar はじめに 難読化されたコードは実行中に意味あるコードに変わり、コードを評価する関数で実行する。 JavaScriptやPHPなどでは、eval関数。Powe…

アナライジングマルウェア 5章 カーネルモード(Ring0)で動作するマルウェアの解析

WinDbgはカーネルモードデバッガ。ゲストOSとパイプで繋ぎ、デバッグを行う。今回触れるものは(アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing) 出版社: オライリージャパン (2010/12/20) ISBN-10: 4873114551)を読んでの…

tokyo western ctf 2018 warmup系 復習(若干WriteUp)

たまたま当日見つけてとりあえず参加してみたctfでした。もちろんビギナーズ以降何もしていなかったので、解けるはずもなく、、simpleAuthだけはなんとかって感じで笑どちらかというと、参加目的はこれから行う復習のためって感じです。他のすごい方のwriteu…

2018 ソフトバンク・テクノロジーさんの5daysインターンシップ~マルウェア解析~

の時にメモとかしていた情報をそのままのっけます。MacDownでメモしてたので、見栄えが若干違うかも。。 ひとまずざっくり感想 5日間は長かったですが短かったようにも思えてけど疲れました。(どれ) 最初は知識だけ増えるかなと思って参加しましたが、収穫と…

アナライジングマルウェア 4章コードインジェクションをするマルウェアの解析 メモ

メモリ操作によって、既存のプロセスに新たな感染動作を追加発生させるテクニック。 DLLとして実装されたマルウェアやオンメモリで動作することを前提としたマルウェアの感染動作をこれから列挙。 コードインジェクションの方法 SetWindowsHookEx Windowsに…

アナライジングマルウェア 3動的解析を妨害するマルウェアの解析 メモ

動的解析(ブラックボックス解析)はマルウェアの挙動を容易に把握することができるが、マルウェアはこうした動的解析を妨げるアンチデバッグ機能を持っている。 動的解析のソフトウェア 仮想化ソフトウェア システムリソース監視ツール Process Monitor, Proc…

アナライジングマルウェア 2.3パックから メモ

パックされたプログラムの特徴 パックされたプログラムは、パック前と同様に問題なく実行されるがファイルサイズが減少する。書籍ではUPXを使用して電卓をパックし、それをLordPEで確認している。パック前には.textや.dataというセクションテーブルが見られ…

PEファイルフォーマットについて

PEファイル Windowsの実装ファイルの形式。exe,dll等 ローダがプログラムをロードするのに必要な情報が格納されたヘッダと、プログラムコードやリソースデータが記録されているセクションで構成されている。 RVA(Relative Virtual Address)相対仮想アドレス …

アナライジングマルウェア 1.8動的解析から〜メモ

動的解析を提供するWebサービス VirusTotal 現在(2018.8)も稼働してました。実際にファイルを投げて結果も帰ってきました。ウィルスの名前や感染動作等を取得できます。 VirusTotal - ウイルス、マルウェア、URL の無料オンライン スキャナー マンハイム大学…

SpectreとMeltdown

この方のツイートのスライドが読みやすかったので、メモ。また読みたくなるかもなので。セキュリティキャンプで使われたものかと。今日の発表資料。結構 CPU 愛もりもりな内容で話した。 本当にわかる Spectre と Meltdown https://t.co/IetzcAAqvD #seccamp…

仮想マシン(Windows)をカーネルデバッグ -Virtual Box

VirtualBox [設定]→[シリアルポート]から以下のように入力 仮想マシン内 [Power Shellを管理者権限で実行] 以下のコマンドを入力 > bcdedit /debug on > bcdedit /dbgsettings serial debugport:1 baudrate:115200 ここで仮想マシンはパワーオフして、もう一…

【初心者レビューとまとめ】リバースエンジニアリング~Pythonによるバイナリ解析技法

全体を通して 情報が古いです。 これに尽きるかと思います。(2018年8月現在)対象がWindowsXPの32bitアプリケーションとなっており、Python自体も32bitを使用していた気がする。全体を通してPython2.xでの説明。この環境は作れないことはないですが、作ったと…

リバースエンジニアリング Pythonによるバイナリ解析技法 3.2章 Python3書き下し

参考というか、ほぼここを見て qiita.com 上のサイトでは書籍にあるような成果物を作るというよりは個別にデバッグしている感じなので、ここでは書籍よりのコードを貼ります。 前回はこちら thinline196.hatenablog.com 今回はこちら この本はこちら

リバースエンジニアリング Pythonによるバイナリ解析技法 3.1章 Python3

まとめてくれてるQiitaの人 qiita.com この人のをありがたく拝見させてもらったのですが、ソースコードがフルでなかったので、一応。 先日まで、書籍通りpython2でやっていたが、、 途中で詰まってしまいました。ごめんなさい。python3ならできるかなという…

get_thread_contextで取得したレジスタの値が0x00000000 ~リバースエンジニアリング pythonによるバイナリ解析

タイトル通りです。前回はデバッグ対象が64bitであったのに対し、pythonが32bitであったためデバッグが上手く出来なかったという案件でした。今回はその続きなので、3章についてです。 今回の原因も32bitと64bitの違いが原因 CTFの勉強やバイナリ解析の勉強…

DebugActiveProcess エラー 50 ERROR_NOT_SUPPORTED ~リバースエンジニアリング Pythonによるバイナリ解析技法

リバースエンジニアリング Pythonによるバイナリ解析技法, プロセスのPIDからデバッグのためにアタッチを試みる部分でのエラーが起きました。3章の部分です。 原因はPython2が32bitであること? 本を初めから細かく読んで進めていたあなた。私と同じです!…

汎用レジスタ ~x86命令セットの場合

レジスタ CPUに備わっている少量の記憶装置。CPUがデータにアクセスするための最速の手段を提供するらしい。主な汎用レジスタは以下の通り。 EAX - アキュムレータ 計算処理の遂行と関数からの戻り値の格納に使用。基本的演算はここで行い、乗算除算はここで…

【レビュー】セキュリティコンテンストチャレンジブック

今回のレビューは以下の本です。ただし、完全な初心者のレビューなのでそこだけ注意です。後読みやすいように短めにします。 必須な知識 全体を通じて情報系にある程度慣れていれば大丈夫。挙げるとするなら、、 ・C言語の知識 ・Linuxの知識 ・ネットワーク…

セキュリティコンテストチャレンジブック pwn ASLR回避〜ブルートフォースの誤植

詳しい内容は省略 ASLRが有効だと、libc.so.6のアドレスが不定となり、今までの攻撃手段が使えない。しかし、そのランダム性にも規則性があり特に今回で言えば、8桁中6、5、4桁目のみが変化しています。なので、その範囲でアドレスを決め打ちし、呼び出…

GOT Overwrite - %hhnを使ってみる

GOT Overwrite 以下の二つを満たすと、ライブラリの関数アドレスを保存するGOT領域が書き込み可能となっているらしい 実行ファイルがライブラリと動的リンクされている No RELRO もしくは Partial RELRO 準備 strlenのアドレスが書き込まれる場所を探します…

Return to libc (ret2libc) system関数を呼び出すメモ

はじめに これはハリネズミ本の中のret2libcの内容に対する自分なりのメモです 環境はubuntu14.04.5です ここに来る前にやったのは ret2pltという、printf関数を呼び出すやつでした。この際は A*44文字 + printfのアドレス + ダミー(bbbb) + 引数アドレス(bu…

CTF練習用環境の初期設定メモ

私はubuntu14.04.5を使用してます。 Ubuntu 14.04.5 LTS (Trusty Tahr) gcc を使用する際にfatal errorが発生する bits/libc-header-start.h:そのようなファイルやディレクトリは存在しません。 $ sudo apt-get install gcc-multilib g++-multilib ASLRの無…

スタックベースバッファオーバーフローがうまくいかない(ネズミ本)

あらかじめ言いますが、今から話すこと解決してません。今後わかるようになった時ように残しておくだけです。なので、何か期待してる方はブラウザバックで、、、ごめんなさい! ubuntuの環境は18.04 CTF界ではおそらくお馴染み?のハリネズミ本 を初心者なが…

SECCON for beginners 2018 【復習回】

Write upみたいなことだけれど、自分で解いた範囲ではなく他の人のWrite upをみて解いてくので、ご了承を。。初心者の書いた簡単な部分のWrite upはこちら↓ thinline196.hatenablog.com 今回参考にさせていただくのはこちらの凄い方 SECCON Beginners CTF 20…