2019-2020-2 20175303 Chai Xuanda「ネットワーク対策技術」Exp4悪意のあるコード分析
1基礎知識
1.1悪意のあるコードの概念と分類
- 定義:
悪意のあるソフトウェアとも呼ばれ、ユーザーから明示的に要求されたり、ユーザーの許可なしに、ユーザーの法的権利や利益を侵害するソフトウェアを指します。
意図的にコンパイルまたはセットアップされ、ネットワークまたはシステムに脅威または潜在的な脅威をもたらすコンピューターコードを指します。 - 機能:
悪意のある目的は、
それ自体が
実行を通じて動作するコンピュータプログラムです - カテゴリ:
コンピュータウイルス、ワーム、バックドア、トロイの木馬、ルートキット
1.2悪意のあるコードの分析方法
- 静的分析
- 動的分析
1.3練習の目標
- システムの動作状態を監視して、不審なプログラムが実行されていないかどうかを確認します。
- マルウェアを分析するには、Exp2またはExp3で生成されたバックドアソフトウェアを分析します。分析ツールは、ネイティブ命令またはsysinternals、systracerスイートをできるだけ使用します。
- ホストに今後の作業で問題があると思われる場合、このアイデアを実験で使用し、まずシステム全体を監視して不審なオブジェクトが検出されるかどうかを確認し、次にさらに不審なオブジェクトを分析して特定の動作と性質を確認できます。
2練習の内容と手順
2.1システム稼働監視
2.1.1 Windowsスケジュールタスクschtasks
- 次のコマンドを入力し、5分ごとにネットワークに接続されているプログラムを記録します。このコマンドが完了すると、2分ごとにネットワークを使用しているプログラムを監視し、結果をnetstatlog.txtファイルに記録します。
schtasks /create /TN netstat5303 /sc MINUTE /MO 2 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
前のコマンドのパラメーターは次のとおり
TN
です。TaskNameの省略形、作成したスケジュール済みタスクの名前はnetstat5303
sc
、タイミングメソッドを意味し、MINUTEを分単位で入力します。これ
TR
はTask Run です。実行するコマンドはnetstat
bn
bで、実行可能ファイルを示します。名前、nはIPおよびポートを数値として表示することを
>
意味し、出力をリダイレクトしてc:\netstatlog.txt
ファイルに保存することを意味します
Cドライブにnetstat5303.batという名前のスクリプトファイルを作成し(メモ帳を開き、dドライブに保存するときにすべてのファイル形式を選択し、名前が.batで終わり、最後にcドライブに移動する)、次のように書き込みます。
date /t >> c:\netstat5303.txt
time /t >> c:\netstat5303.txt
netstat -bn >> c:\netstat5303.txt
コントロールパネルの検索管理ツールを開き、タスクスケジューラを開いて、新しいプランを見つけます。netstat5303
その後、計画されたプロパティ]をクリックして操作
内部のタブ编辑
、ランチャーに置くの変化を程序或脚本
cmd
netstat5303.bat
では常规
、タブダニ不管用户是否登录都要运行
と使用最高权限运行
プログラムの実行後、それを開くとnetstat5303.txt
、計画された操作で記録されたネットワークレコードを確認できます
Excelを開き、データからtxtファイルをインポートします->テキストから
インポートウィザードのステップ1の選択分隔符号
インポートウィザードのステップ2、すべてのセパレータを選択
次のようにデータをインポートした後
を挿入する数据透视图
と、右側に次のインターフェイスが表示され、周四
下にドラッグし轴
て值
次のデータの視点があります
統計を分析する
- 一般的な申請プロセス
- MicrosoftedgeCP.exe:Windowsオペレーティングシステムを実行する実行可能ファイル。Microsoft独自のブラウザで実行する必要があります。
- svchost.exe:は、Microsoft Windowsオペレーティングシステムのシステムファイルであり、ダイナミックリンクライブラリ(DLL)から実行されるサービスの一般的なホストプロセス名です。
- SearchUL.exe:Cornaarの検索プロセス
- Excel.exe:Excelプロセス
- WeChat.exe:WeChat
- その他のプロセス
- 360wpsrv.exe:360アンインストールしましたが、彼はまだ密かに実行されています。
- Explorer.exe、Microsedge.exe、LenovoEMDriverAssist.exe、PhotoMaster.exe等
2.1.2 sysmon
公式サイトにアクセスして、sysmon をダウンロードしてください
ダウンロードした後、sysmon.exeが存在するフォルダーに、batファイルと同様の新しいxmlファイルを作成し、次のコードをファイルに書き込みます。
これはexclude
、ホワイトリストと同じです。つまり、記録しない、記録include相当于黑名单
する、onmatch
つまり一致
Driverload
がドライバーであることを意味しますローダー
NetworkConnect
はネットワーク接続
CreateRemote
がリモートスレッドによって作成されます
<Sysmon schemaversion="10.42">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
次に、管理者としてコマンドプロンプトを開き、sysmonフォルダーに次のコマンドを入力します。
Sysmon.exe -i sysmon.xml
インストールインターフェイスが表示されます。
インストールが成功すると、sysmon started
正常に表示されます
sysmon.xmlファイルのNetworkConnectセクションの後に次のコードを入力します
<NetworkConnect onmatch="include">
<DestinationPort condition="is">5303</DestinationPort>
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</NetworkConnect>
変更後、構成ファイルを更新する必要があります。手順は次のとおりです。sysmon.exe -c sysmon.xml
ログの表示
①スタートメニューの検索ボックスに入力してevent
、イベントビューアを開きます。
②では应用程序和服务日志
場合、参照Microsoft->Windows->Sysmon->Operational
サービスを聴い③kaliオープンMSFコンソールを実行し、Windows仮想マシンカーリーラインを得るために、第二の実験生成されたバックドアファイルを実行しているマシン。
④バックドアファイルのログを見る
- プロセス作成ログ
図から以下の情報を取得できます。
镜像:D:\20175303 柴轩达\大三下\网络对抗\实验\ncat\20175303_backdoor.exe
描述:ApacheBench命令行实用程序
产品:Apache HTTP服务器
- 再接続後に生成されるネットワーク接続ログ:
図から次の情報を取得できます。
程序:D:\20175303 柴轩达\大三下\网络对抗\实验\ncat\20175303_backdoor.exe
协议:tcp
源IP地址:192.168.0.1(Windows的IP)
目标IP地址:192.168.0.10(kali的IP)
目的端口:5303
2.2マルウェア分析
2.2.1静的分析
主に次の分析方法があります。
- ファイルスキャン(VirusTotal、VirusScanツールなど)
- ファイル形式の認識(peid、ファイル、FileAnalyzerツールなど)
- 文字列抽出(文字列ツールなど)
- 分解(GDB、IDAPro、VCツールなど)
- 逆コンパイル(REC、DCC、JADツールなど)
- 論理構造分析(Ollydbg、IDAProツールなど)
- パックとアンパック(UPX、VMUnPackerツールなど)
(1)ファイルスキャン(ウイルス合計)、56/70の検出率は
次の図からわかります。 - ファイルは、ApacheBenchコマンドラインユーティリティです。
- Apache License Version 2.0(以下「ライセンス」といいます)に基づいてライセンスされたノートです。ライセンスが満たされない限り、このファイルを使用することはできません。ライセンスのコピーはhttp://www.apache.org/licenses/License-2.0で入手できます。適用法または書面による同意がない限り、ライセンスに基づいて配布されるソフトウェアは、明示的に「現状のまま」配布されます。または黙示の保証または条件。ライセンスに基づく許可と制限を制御する特定の言語については、ライセンスを参照してください。
(2)ファイル形式識別(パイ)
- PEiD(PE Identifier)はよく知られているシェルチェックツールであり、その強力な機能はほとんどすべてのシェルを検出でき、その数は470の種類とPEファイルの署名を超えています。
- 解凍されたバックドアファイルをスキャンします。PEiDの主な機能はシェルをチェックすることなので、このバックドアファイルはシェルによって検出されていません。
下の図に示すように、このファイルを実行すると、多くのDDLサフィックス、つまりプログラムが動的にメモリにロードされ、プログラムが実行時に呼び出すために使用されるため、DDLを呼び出すのが通常です。
シェルのバックドアファイルをスキャンします。upxシェルをスキャンできます。
(3)逆コンパイルと逆アセンブル(PE Explorerツール)
-
PE Explorerは強力なビジュアルDelphi、C ++、VBプログラムパーサーであり、32ビットの実行可能プログラムをすばやく逆コンパイルしてリソースを変更できます。このソフトウェアはプラグインをサポートしています。プラグインを追加することでソフトウェアの機能を拡張できます。元の会社では、UPX解凍プラグイン、スキャナー、逆アセンブラをツールにバンドルしていました。
-
ファイルのヘッダー情報、明らかな疑わしい情報はありません
-
呼び出されたDDLファイル:PE Explorerはpeid表示よりも詳細で、DDLファイルによって呼び出された関数を示します
-
バージョン情報:VirusTotalと同様
2.2.2動的分析
主に次の方法があります。
- スナップショットの比較(SysTracer、Filesnap、Regsnapツールなど)
- パケットキャプチャ分析(WireSharkツールなど)
- 動作監視(Filemon、Regmon、ProcessExplorerツールなど)
- サンドボックス(NormanSandbox、CWSandboxツールなど)
- 動的トレースデバッグ(Ollydbg、IDAProツールなど)
(1)スナップショット比較(systracer)systracerの
ダウンロードとインストール
ソフトウェアの右側をクリックしtake snapshot
た後にstart
撮影が開始され、クリックstop
ストップとストレージを。
スナップショット1(スナップショット#1):バックドアプログラムが移植されていない
スナップショット2(スナップショット#2):バックドアプログラムが埋め込まれている
スナップショット3(スナップショット#3):バックドアプログラムを実行し、バックリンク
スナップショット4(スナップショット#4)をKaliに実装するwebsnam_snapコマンドを実行します
スナップショット5(スナップショット#5):getuidコマンドを実行します
右下隅の[ compare
スナップショット1とスナップショット2を比較]をクリックします。2番目のバックドアプログラム20175303_backdoor.exeがスナップショット2に追加され、他のファイルが追加および削除されていることがわかります。
スナップショット2と3と比較すると、つまり、バックドアが開始する前後の変更点は、スナップショット3で実行中のプログラムにバックドアプログラムが追加されます。
同時に、多くのddlファイル、つまりダイナミックリンクライブラリが追加されます。
(2)パケットキャプチャ分析(WireSharkツール)
kaliはmsfコンソールを開いてリスナープログラムを実行し、windowsはkaliに接続し
てコマンドウィンドウを取得しdir
、キャプチャされたデータパケットを入力します。
データパケットで送信元IP、宛先IP、送信元ポート、宛先ポート、および送信データを確認できます
入力mkdir xxx
後にキャプチャされたパケット
3実験で発生した問題
質問1:正常に実行されませSYSMONが
解か:ヤンが成功のステップを実行しSYSMON参照の学生を、なぜそれが前に、非常に明確ではありません間違っている
systracerは正常に実行されていない、あなたがパケットをキャプチャすることはできません。質問2
解決:だから私は教師のコード上の雲ではなかったです私はsystracerツールを提供しましたが、公式Webサイトで32ビットをダウンロードし、再ダウンロードしてインストールした後で解決しました
4質問の回答
- 1職場のホストで悪意のあるコードが疑われる場合でも、システムの毎日の動作を監視したいだけです。監視したい操作と監視方法を設計してください。
Windowsに付属するスケジュールタスクであるschtasksは非常に便利だと思います。上記の操作に従い、5分ごとまたは1分ごとに記録し、結果をEXCELにインポートして、どのプロセスがより多くを占めているか、および疑わしいかどうかを確認します。
大まかなスクリーニングを行い、より疑わしいものを選択し、スコープを絞り込んだ後、これらの疑わしいプロセスを分析できます。
静的分析:VirusTotalとVirusScanはスキャンに便利です
動的分析:SysTracerツールはスナップショットを作成し、さまざまなスナップショットを比較および分析できます - 2プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
sysmonを使用して、プロセスが作成したログファイルを表示します
。SysTracerツールを使用して、プロセスがレジストリ、ファイル、およびアプリケーションに加えた変更を表示します。Wiresharkを
使用してパケットをキャプチャし、プロセスが送信したデータを確認します。
5実験経験
この実験はかなり多くのガジェットを使用しており、私のコンピューターには本当に多くの問題があり、解決に長い時間を要したものもありました。今回の実験は、自分で作成したバックドアを利用することが一番だと感じており、いつも彼の関連情報を見て分析してきました。しかし、実際には、どのプロセスがウイルスまたはトロイの木馬であるかが明確でない場合、それを見つけることができず、直接分析することはできません。プロセスを記録するためのログまたはソフトウェアを介して、彼が名前で疑わしいかどうかを判断することはできません。正常と異常のプロセス名が表示されるため、違いはなく、おそらくこの実験の本質を知らなかったためです。