2019-2020-2 20175315 Chen Yuyang「ネットワーク対策テクノロジー」Exp4悪意のあるコード分析
1実践の説明
1.1実用的な目標
(1)自分のシステムの実行ステータスを監視して、疑わしいプログラムが実行されているかどうかを確認する
(2)マルウェアを分析するときは、Exp2またはExp3で生成されたバックドアソフトウェアを分析します。分析ツールは、ネイティブ命令またはsysinternals、systracerスイートをできるだけ使用します
(3)今後の作業でホストに問題があると思われる場合、このアイデアを実験で使用して、まずシステム全体を監視して疑わしいオブジェクトが検出されるかどうかを確認し、次に疑わしいオブジェクトをさらに分析して特定の動作を確認し、自然
1.2基本的な知識
1.2.1悪意のあるコードの定義
将来の作業でホストに問題があると思われる場合、このアイデアを実験で使用して、まずシステム全体を監視して疑わしいオブジェクトが検出されるかどうかを確認し、次に疑わしいオブジェクトをさらに分析して特定の動作と性質を確認できます
1.2.2悪意のあるコードの特徴
悪意のある目的自体は、コンピュータプログラムが実行されることにより実行されることです。
1.2.3悪意のあるコードの分類
感染していない依存型悪意のあるコード(トロイの木馬、論理爆弾)
感染しない独立した悪意のあるコード(ドロッパー、乗算器)
感染依存の悪意のあるコード(ウイルス)
感染性の独立した悪意のあるコード(ワーム)
2システム稼働監視
2.1 Windowsスケジュールタスクschtasks
要件:スケジュールされたタスクなどを使用して、コンピューター上にあるプログラム、および接続されている外部IPの場所を毎分記録します。しばらく実行してファイルを分析し、分析結果を要約します。目標は、ネットワークに接続されたすべてのプログラム、それらが接続されている場所、およびそれらが行ったことを見つけることです(パケットをキャプチャしない場合にのみ推測できます)そうすることは適切だと思いますか?さらに分析したい場合は、対象となるパケットをキャプチャできます
次のコマンドを入力して、毎分ネットワークに接続されているプログラムを記録します。このコマンドが完了すると、毎分、どのプログラムがネットワークを使用しているかを監視し、結果をnetstatlog.txtに記録します
schtasks / create / TN 20175315netstat / sc MINUTE / MO 1 / TR " cmd / c netstat -bn> c:\ netstatlog.txt "
それぞれ:
TN
TaskNameの省略形であり、作成したスケジュール済みタスクの名前はnetstat5308です。
sc
タイミング方法を示すために、MINUTEを分単位で入力します。
TR
タスク実行であり、実行されるコマンドはnetstatです。
bn
、b
実行可能ファイル名n
を表示することを意味し、IPとポートを番号で表示することを意味します。
>
出力のリダイレクトを表し、出力をc:\netstatlog.txt
ファイルに保存します
Cドライブの下にファイルc:\ netstatlog.batを作成します。内容は次のとおりです。
日付/ t >> c:\ netstatlog.txt 時間 / t >> c:\ netstatlog.txt netstat -bn >> c:\ netstatlog.txt
[コントロールパネル]-> [管理ツール]-> [タスクスケジューラ]を開き、作成されたタスクを見つけます。
プロパティを開き、ボックス内の元のcmdをc:\ netstatlog.batに変更します。
[全般]列を確認します。ユーザーがログインしているかどうかに関係なく実行し、最高の権限で実行します
しばらく待ってから、先ほど作成したc:\ netstatlog.txtファイルを開くと、次のことがわかります。
「張神玉雪街」のブログを参考に、本文中のデータをExcel表にインポートし、以下のようにグラフを取得しました。
上の写真からわかるように、最も接続されているのは360で、qq、WeChat、League of Legendsゲームなど、他のソフトウェアは当時コンピューターに掛けていました。。。
2.2 sysmonツール
要件:sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストの主要なものの疑わしい動作を監視する
sysmonツールをダウンロードする
構成ファイルsysmon.xmlを作成し、ファイルに次の指示を書き込みます。
<SYSMONのSchemaVersionを= " 4.23 " > <! -すべてのハッシュをキャプチャ- > <HashAlgorithms> * </ HashAlgorithms> <EventFiltering> <! -ログを除くすべてのドライバーの場合、署名- > <! -マイクロソフトが含まれていますか Windows- > <DriverLoad onmatch = " exclude " > <Signature condition = " contains " > microsoft </ Signature> <Signature condition = " contains " > windows </ Signature> </ DriverLoad> <NetworkConnect onmatch = " exclude " > <画像条件= " で終わり" > IEXPLORER.EXE </イメージ> <SourcePort条件= "がある" > 137 </ SourcePort> <SOURCEIP条件= " である" > 127.0。0.1 </ SourceIp> </ NetworkConnect> <NetworkConnect onmatch = " include " > <DestinationPort condition = " is " > 5334 </ DestinationPort> <DestinationPort condition = "</ DestinationPort> <DestinationPort condition = " is " > 443 </ DestinationPort> </ NetworkConnect> <CreateRemoteThread onmatch = " include " > <TargetImage condition = " end with " > explorer.exe </ TargetImage> <TargetImage condition = " 終わる" >のsvchost.exe </ TargetImage> <TargetImage条件= " で終わり" > winlogon.exeの</ TargetImage> <SourceImage条件= 「で終わり」> powershell.exe </ SourceImage> </ CreateRemoteThread> </ EventFiltering> </ Sysmon>
管理者としてcmdを開き、Sysmon.exe -i sysmon.xmlコマンドを使用してインストールします。
これでインストールは完了です。その後、[コンピューターの管理]> [イベントビューアー]> [アプリケーションとサービスのログ]> [Microsoft]> [Sysmon]> [運用]を開きます
ここで、タイムラインの最も古いログは、作成したsysmon.xml構成ファイルを見つけることです
3マルウェア分析
3.1
実験3で生成されたバックドアを使用して、仮想マシンに接続します。
イベントビューアを開くと、更新後に、実行時間に従って実行されたばかりのバックドアが見つかったという関連メッセージが表示されます。
ここでは、パケットキャプチャと、パケットキャプチャの開始後に実行されていた再接続も実行しました。次の図で、3つのハンドシェイクが完了したことがわかります。
ここで再びカーリーに戻ります。写真を撮るにはwebcam_snapを使用してください。イベントビューアでさらにいくつかのレコードをすぐに見ることができます。そのようなものがあります:
ここに表示されるconhost.exeの完全な名前は、コンソールホストプロセスです。これは、コマンドラインプログラムのホストプロセスです。簡単に言えば、彼はセキュリティ上の理由からMicrosoftによって導入された新しいコンソールアプリケーション処理メカニズムです。Werfault.exeも表示されました。このプロセスは、Windowsシステムに付属しているエラー報告用のプログラムです。
自宅の都合により、実験期間が比較的長いため、スクリーンショットの一部が省略されています。先生に理解してもらいたいです。
3.2静的分析
(1)VirusTotalを使用して悪意のあるプログラムを分析する
上記のように、3つのアルゴリズムの要約値、ファイルタイプ、ファイル形式などの詳細を詳細で確認できます
(2)PEiDを使用してマルウェアを分析する
解凍されたバックドアプログラムの検出
圧縮シェルによるバックドアプログラムの検出
暗号化シェルバックドアプログラムの検出
図から、シェルが圧縮されたバックドアファイルは検出できますが、シェルが暗号化されたバックドアファイルは検出できないことがわかります。
タスクビューアをクリックしてプロセスを表示すると、バックドアプログラムを実行する.DLL
と、ダイナミックリンクライブラリなどの多くのファイルがあることがわかります。
3.2動的分析(SysTracerツール)
最初にSys Tracerをインストールしてダウンロードします
クリックしてスナップショットを作成します。比較のために3つ作成しました。
スナップショット#1:何もしない
スナップショット#2:バックドアプログラムを実行し、接続を正常にバウンスする
スナップショット#3:webcam_snapコマンドを実行する
以下は比較チャートです:
これは、バックドアプログラムを実行して接続をバウンスした後、埋め込まれたbackdoor5315.exeを追加し、多くのファイルを追加および削除したことがわかります。
レジストリファイルへの変更
多くのdllファイルを追加しました
4質問の回答
(1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視する操作と監視に使用する方法を設計してください
回答:1. schtasksを使用してマシンを監視し、マシンが一定期間稼働した後に監視レコードを調整します。2. Sysmonを使用して、表示するオプション(ネットワーク接続、レジストリ情報など)を設定し、生成されたログを表示して分析します。3. Systracerを使用して、現在実行中のプロセスの「実行中」の比較を一方向に記録し、レジストリを追加または削除する動作があるかどうかを判断することもできます。
(2)プログラムまたはプロセスに問題があると判断した場合、それに関する詳細情報を取得するためにどのツールが必要ですか
回答:パケットキャプチャ分析にWiresharkを使用し、それとホスト間の通信プロセスを監視します。systracerツールを使用して関連分析を実行し、レジストリとファイルへの変更を表示します。
5実験的思考
この実験は以前の実験よりも単純ですが、より重要なことは、比較分析ではそれを真剣に受け止める必要があるということです。データ量が多く、的確なデータを見つけるのが難しいのが難点ですが、データ解析も大きな問題です。確かに少々骨の折れる作業ですが、この疲れが悪質なコードを理解するのにも役立ちました。それから、家にあるもののために、この実験の期間は比較的長く、いくつかの場所は詳細が欠けています。ここで先生に謝罪します。