実用目標
1. 监控你自己系统的运行状态,看有没有可疑的程序在运行。
2. 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
3. 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
練習内容
システム稼働監視
-
スケジュールされたタスクとして使用して、コンピューターがインターネットに接続されているプログラムと、接続されている外部IPの場所を毎分記録します。しばらく実行してファイルを分析し、分析結果を要約します。目標は、ネットワークに接続されたすべてのプログラム、それらが接続されている場所、およびそれらが行ったことを見つけることです(パケットをキャプチャしない場合にのみ推測できます)そうすることは適切だと思いますか?さらに分析する場合は、対象となるパケットをキャプチャできます。
-
schtasksを使用してタスクプランを作成し、netstatを使用してアプリケーションネットワーキングの履歴を記録する
-
押して
windows+R
コマンドラインを開き -
入力
schtasks /create /TN 20175120netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstat5120.txt"
参数使用:
/TN : Task Name 任务名称
/sc : Schedule Type 计划类型 我设置的是 minute
/MO : modifier 编辑 指定具体时长,我设置为5,即5分钟启动一次
/TR : Task Run 指定要运行的命令,这里是netstat
-bn : b 表示显示可执行文件名 n 表示显示以数字形式显示IP&&PORT
タスクが正常に作成されたらnetstat5120.txt
、Cドライブで検索し、開いて確認できます。
- 統計に日付と特定の時間を含めることもできます
- 「20175120netstat.bat」を作成します
Cドライブに新しいドキュメントを作成する20175120netstat.txt
输入:
date /t >> c:\netstat5120.txt
time /t >> c:\netstat5120.txt
netstat -bn >> c:\netstat5120.txt
クリック- 文件
>另存为
以下から選択してください所有文件
ファイル名を変更して20175120netstat.bat
保存
- ミッションプランナーを変更してbatファイルを開始する
-
タスクスケジューラを開き、ダブルクリックします
20175120netstat
-
変更された
操作
中で程序或脚本
のように20175120netstat.bat
- 確認後、閲覧できます
netstat5120.txt
- Excelを使用して統計データを表示し、アプリケーションネットワーキングを分析する
クリック数据
-> 导入数据
-> 确定
->下一步
その选择数据源
時、データレコードを入れただけのものを選択netstat5120.txt
その原始数据类型
とき、を選択し分隔符号
、次のステップですべてのセパレータタイプをチェックします
作成後のドキュメントは次のとおりです
テーブルの最初の3行を削除する(問題を回避するため)
で插入
選択数据透视图
请选择单元格区域
入力領域の右側にある小さなアイコンをクリックし、分析する2番目の列をSheet1!$B:$B
選択するか、と入力して以下を選択します新工作表
確認後入場
左のフレームをクリックした後、右のチェックボックスをオンにし协议
、アプリケーション名以外の項目を削除して、右协议
下の值
フレームにドラッグしてヒストグラムを作成します。
写真からもわかるqmbrowser.exe
ように、ブログを書いているので一番見えますね… wps.exe
第二に、Excelを使っているので。
そのsvchost.exe
合計et.exe
が悪意のあるコードであるかどうかわかりません...
- sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストの主要な問題の疑わしい動作を監視します。
- 監視するターゲットを決定する
軽量ツールSysmonを使用して、オンライン情報に基づいてシステムを監視する
我选择了以下项作为监控目标
DriverLoad 驱动加载
ProcessCreate 进程创建
FileCreateTime 文件创建时间
NetworkConnect 网络连接
CreateRemoteThread 远程线程创建
- XML構成ファイルを書き込む
5120sysmon.xml
<Sysmon schemaversion="4.23">
<!-- 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>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</FileCreateTime>
<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.exe
、事件查看器
表示します
配置したsysmon.exe
フォルダを入力し、次のように入力します。
sysmon.exe -i C:\5120sysmon.xml
右クリックwindows
-> 搜索
-> 事件查看器
、開く应用程序和服务日志
-> Microsoft
-> windows
-> Sysmon
-> Operational
フィルタリングされた監視項目を確認できます
レコードアイテムを開きます。
イベントには、アプリケーションのタスクタイプと記録時間が記録され、詳細情報には、宛先IP、宛先ポート番号、宛先ポート名が記録されます。
これはwpsのアプリ情報ですが、不審度は大きくありません。他のイベントをざっと調べてみましたが、不審なアプリは見つかりませんでした
- 対殺実験でバックドアプログラムを使用して、ログに記録される方法を確認するために接続を試みました
jarパッケージを使用して接続し直しました
Huilianは成功しましたが、Huilianにjava.exe
関連するものは1つしか見つかりませんでした。ログレコードは次のとおりです
宛先IPとポート番号をcmd.exe
記録しましたが、バックドアを開けたという関連する記録はありませんでした。
マルウェア分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(3)读取、添加、删除了哪些注册表项
(4)读取、添加、删除了哪些文件
(5)连接了哪些外部IP,传输了什么数据(抓包分析)
systracer
分析に使用
[systracer圧縮パッケージ](http://www.skycn.net/soft/appid/30266.html)解凍して使用
- バックドアに対する次の3つの操作を比較および分析します(バックドアは、前のwin_mt_rt_250.exeを例にしています)。
1) 安装到目标机
2) 回连
3) 获取shell
- 3つのステップの後に取得したスナップショットを取得することで、比較および分析できます。
- ターゲットマシンにインストール
- まず、バックドアなしで操作のステータスを取得し、取得します
Snapshot #1
(ホスト上で操作するため、時間が長いため...)
2)バックドアがホストに移動した後、ステータスを取得しますSnapshot #4
(私がいくつかテストしたため...)
- 実験分析
1)アプリケーションの変更
変更は反映されません
2)レジストリの変更
ここがレジストリです...わかりませんでした。変化の量は多くありますが、バックドアプログラムへの移行による変化量は不明です。緑の部分がバックドアに関連している可能性があります。
3)ファイルの変更
ご覧のとおりwin_mt_rt_250:5120.exe
、ホストに移動されました
4)外部IP接続とデータ送信
ここでは、パケットキャプチャ分析にWiresharkを使用する必要があります。
ファイル転送は、一番上の最初のパケット、SYNパケットであり、接続要求が送信され、その後のパケットは時間とともに再送信されます。
また、ホストIP 192.168.5.41
と仮想マシンIP 192.168.5.250
を確認して、通信の両側を判別できます。
- バックリンク
再接続後にホストのスナップショットを取り、バックドアが移動したステップと比較します
1)アプリケーションの変更
変更されたアプリケーションイベントは、主win_mt_rt_250:5120.exe
に接続を戻す動作から発生していることがわかります。
図からわかるように、接続を戻すプロセス中に多くのdllファイルが呼び出され、それらは基本的にWindows固有のサービスです。動作から、バックドアの固有の特性を見つけることもできます。
dllファイルの次の部分を同時に呼び出すアプリケーションは、悪意のある動作をする可能性があります
2)レジストリの変更
この手順では、レジストリが変更されたことがわかりますが、仮想マシンの状態が変更されたようです。
3)ファイルの変更
ここでの変更は、Systracerまたはバックリンクが原因であることがわかっていません。
多くの場所で図の同じ修正を見つけました
4)外部IP接続とデータ送信
再接続後のパケットは上記のとおりです。ホストはSYNパケットを仮想マシンに送信し、同時に3つのハンドシェイクで接続を確立します。その後、仮想マシンはPSHパケットをホストに送信し、データを送信してレジストリやその他の情報を変更します
上記は送信されたデータのスクリーンショットです
次に、仮想マシンがホストに大量のACKパケットを送信し、ホストがACKパケットに応答するのをビジーにして、さまざまな変更を容易にしますか?
- シェルを入手
前の手順と比較して、ホストシェルを取得した後にLinuxのホストステータスを取得する
1)アプリケーションの変更
主にホストと呼ばれ、cmd.exe
その後の操作のために多くのdllファイルを追加しました
2)レジストリの変更
同じ位置が前のステップで変更された、それは仮想マシンの変更によっても引き起こされたと思います
3)ファイルの変更
発生した変更は前のステップと同じであり、原因の原因は見つかりませんでした...
- 外部IP接続とデータ転送
シェルを取得するとき、仮想マシンはデータを含むPSHパケットをホストに送信しました。
レジストリやファイルの改変に関するデータでもあると推定されており......
実験的思考の質問
- (1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視したい操作と監視方法を設計してください。
1.使用sysmon工具,在各方面通过事件查看器对应用程序进行监控
2.使用任务计划程序,并通过netstat指令对应用联网历史进行记录,统计联网数据,筛选出可疑程序
3.nmap扫描端口,确定有没有可疑连接
- (2)プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
1.使用systracer截取快照,通过对比、应用程序启动、注册表、文件等发生更改的地方,获取恶意程序的启动原理
2.使用wireshark进行抓包,对其与主机的通信数据进行提取
実験体験
本次实验的难点主要在于分析通过工具获取到的数据,不管是sysmon、netstat,还是systracer、wireshark,使用起来还是比较方便的。
分析数据,就需要知道这些数据怎么和应用进程对应上,但我发现很多地方我都不清楚.......
但这次实验还是让我收获颇丰的,通过对这些工具的实用,我对于恶意代码的攻击和抵御方式又有了新的体会。这些工具都是可以应用于实际生活中的,善加利用这些方法也能让我有一个更加有保障的计算机环境。