セキュリティ系の勉強、その他開発メモとか雑談. GithubはUnity触っていた頃ものがメイン Twitterフォローもよろしくです

リバースエンジニアリング

アナライジングマルウェア 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 の無料オンライン スキャナー マンハイム大学…

仮想マシン(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であること? 本を初めから細かく読んで進めていたあなた。私と同じです!…