練習内容
システム稼働監視
schtasksコマンドを使用したシステムの監視
netstat
の-b
オプションには、各接続またはリスニングポートの作成に関連する実行可能プログラムが表示されますが、十分な権限がない場合は失敗する可能性があり-n
ます。オプションには、アドレスとポート番号が数値形式で表示されます。schtasks
手順は、cliを除いて、以前に計画したタスクと同様です。後でExcel分析を使用するので、配置されます。次の内容を書いてくださいnetstat5211.bat
date /t >> d:\netstat5211.txt
time/t >> d:\netstat5211.txt
netstat -bn >> d:\netstat5211.txt
コマンドを使用するschtasks /create /tn netstat5211 /sc MINUTE /mo 1 /tr "cmd /c d:\netstat5211.bat"
特定のコマンドは、ドキュメントまたは直接schtasks /?
、簡単な説明で見ることができます
/create
スケジュールされたタスクを作成し、共感と同様に/query
、end
、/delete
/tn
タスク名/sc
プランタイプを指定します。有効な値はMINUTE
、HOURLY
、DAILY
、WEEKLY
、MONTHLY
、ONCE
、ONSTART
、ONLOGON
、ONIDLE
/mo
タスクがその計画タイプ内で実行される頻度を指定します/tr
指定されたタスクが実行するプログラムまたはコマンド
タスクプランがすでに毎分バッチスクリプトの実行を開始しているのは当然のことです。しかし、txtチェックを開くと、問題が見つかりました
netstat
権限は十分ではありません-b
が、上記の権限が必要であり、スケジュールされたタスクを作成する権限とは何の関係もないことを覚えています。次に、1億時間を費やして、コマンドラインでアクセス許可を昇格したりユーザーを切り替えたりする方法を調査しました。インターネットには答えがありますが、バッチの指示はたくさんあります。タスクスケジューラを開くと、新しく作成されたタスクを確認できます
常规
列で最高の権限で実行にチェックマークを付けてから、動作中の起動プログラムを変更します
正常にデータを取得できます。しばらく辛抱強く待った後、このスケジュールされたタスクを削除します
Xuejieブログを参照してデータをExcelにインポートし、簡単に分析できるグラフを作成してください
奇妙なプロセスSearchUI.exe
は見つかりませんでした。これはCortanaのプロセスでopsrv.exe
ありsvchost.exe
、検索後のプロセスにはリスクがありません。他のプロセスはどのプログラムを参照できます。
sysmonツールを使用してシステムを監視する
Sysinternalsスイートをダウンロードします。Sysmonは、ほとんどすべての重要な操作を監視できるスイート内のツールです。
主にセットするXML形式の設定ファイルに依存して
、次のことは、イベントフィルタと一致ルールを介して濾過し、私のプロフィールで、特定のルールを簡単に名前で見ることができます
<Sysmon schemaversion="10.42">
<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>
<ProcessTerminate onmatch="include" >
<Image condition="end with">MsMpEng.exe</Image>
</ProcessTerminate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
</FileCreateTime>
<ImageLoad onmatch="include">
<Signed condition="is">false</Signed>
</ImageLoad>
<ProcessAccess onmatch="include">
<TargetImage condition="end with">lsass.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
</ProcessAccess>
<ProcessAccess onmatch="exclude">
<SourceImage condition="contains">vmware</SourceImage>
</ProcessAccess>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">WeChat.exe</Image>
<Image condition="end with">svchost.exe</Image>
<Image condition="contains">vmware</Image>
</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>
<SourceImage condition="end with">cmd.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
マイプロフィールやプログラム、より、そのような信頼でのネットワーク接続などのホワイトリストchrome
およびWeChat
除外。その後、すべて含まれてvmware
私は攻撃機としてカーリーにまだあったので除外されているプロセスのフィールドを
コマンド使用してSysmon.exe -i ..\5211config.xml
インストールを
次に事件查看器/应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
、レコードを見ることができます
マルウェア分析
実験3でバックドアを実行します。Sysmonログでプロセスの作成を確認できます
同時に検出されたネットワーク接続
送信元IPポートと宛先IPポートは明確に記述されており、開始されたすべてのプログラムで確認できます
kaliコントロール端末がwebcam_snap
呼び出し側カメラを使用すると、ドライバーがロードしたレコードを確認できます
しかし、署名は無効です。
プロセスモニターを使用してプロセスを検出します。フィルターの形式はsysmonの形式に似ているようです。ネットワーク接続をフィルタリングしてバックドアプログラムを見つけます。バックドアコールを確認することもできます。wsock32.dll
次に、仮想マシンwin7を引き続き試します。バックドアが接続された後、wiresharkを使用してtcp接続パケットをキャプチャできますが、それらはすべて理解できないtcpパケットであり、上位層プロトコルはありません。
最後に、分析にはSystracerを使用します。Systracerは、スナップショットの比較によりシステムを包括的に監視できます。開始前、開始後、特権の昇格後、および切断後に、バックドアの4つのスナップショットを撮りました。
バックドアを開始する前と開始した後のバックドアのApplication
跡を見ることができます
レジストリにも新しいレコードがありますが、それが何を意味するのかわかりません
カーリーエンドでbypassUACを実行してGetsystemを実行し、比較すると、バックドアプログラムが変更されていることがわかりました
説明は、最初の単純なバックドアを介して、UACをバイパスできるバックドアが通過し、新しい接続が確立されて権限を高めるというものです。レジストリは大幅に変更されましたが、有用な情報はありません。
報告内容
基本的な質問に答える
(1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視したい操作と監視方法を設計してください。
回答:
- 最初に監視するのはネットワークです。schtasksを使用してタスクを設定し、疑わしいネットワーク動作を除外できます。攻撃者がリモートで操作して接続を確立したい場合、それは記録されます
- 次に、プロセスを検出します。たとえば、攻撃者がブロイラーDDOSやマイニングをキャッチしたい場合、それは間違いなく異常なCPU消費につながります(PCをキャッチすることはめったにないはずですが)
- ファイルの作成と削除を検出する必要もあります。攻撃者が馬をマレーシアに渡してさらに攻撃を行った場合、ファイルの作成と削除を検出することで、さらなる攻撃を防ぐことができます。これには、schtasksまたはsystracerを使用できます。
- 最後に、ドライバーとハードウェアへの呼び出しを監視して、損失を最小限に抑えます。
(2)プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
A:プロセスモニターは、このプロセスの実装者、ポートなどを明確に見ることができます。特定のexeが見つかれば、それをvtにドロップしたり、ida逆コンパイルなどの詳細な調査を行ったりできます。
実践のまとめと経験
実を言うと、防御方法とシステムの監視方法を研究することは興味深いことではありません。しかし、合法的に攻撃する機会は少なく、実際に利用されるのはこれらの防御策であり、この実験を通じて、元の心に戻って知識を補完しているとも言えます。