2020-3サイバー対立テクノロジー20175120 exp4悪意のあるコード分析

実用目標

 1.  监控你自己系统的运行状态,看有没有可疑的程序在运行。
 2.  分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
 3.  假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

練習内容

システム稼働監視

  • スケジュールされたタスクとして使用して、コンピューターがインターネットに接続されているプログラムと、接続されている外部IPの場所を毎分記録します。しばらく実行してファイルを分析し、分析結果を要約します。目標は、ネットワークに接続されたすべてのプログラム、それらが接続されている場所、およびそれらが行ったことを見つけることです(パケットをキャプチャしない場合にのみ推測できます)そうすることは適切だと思いますか?さらに分析する場合は、対象となるパケットをキャプチャできます。

  • schtasksを使用してタスクプランを作成し、netstatを使用してアプリケーションネットワーキングの履歴を記録する

  1. 押してwindows+Rコマンドラインを開き

  2. 入力 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.txtCドライブ検索し、開いて確認できます。

  • 統計に日付と特定の時間を含めることもできます
  1. 「20175120netstat.bat」を作成します

Cドライブに新しいドキュメントを作成する20175120netstat.txt

输入:

date /t >> c:\netstat5120.txt
time /t >> c:\netstat5120.txt
netstat -bn >> c:\netstat5120.txt

クリック- 文件>另存为

以下から選択してください所有文件

ファイル名を変更して20175120netstat.bat保存

  1. ミッションプランナーを変更してbatファイルを開始する
  • タスクスケジューラを開き、ダブルクリックします20175120netstat

  • 変更された操作中で程序或脚本のように20175120netstat.bat

  • 確認後、閲覧できますnetstat5120.txt

  1. Excelを使用して統計データを表示し、アプリケーションネットワーキングを分析する

クリック数据-> 导入数据-> 确定->下一步

その选择数据源時、データレコードを入れただけのものを選択netstat5120.txt

その原始数据类型とき、を選択し分隔符号、次のステップですべてのセパレータタイプをチェックします

作成後のドキュメントは次のとおりです

テーブルの最初の3行を削除する(問題を回避するため)

插入選択数据透视图

请选择单元格区域入力領域の右側にある小さなアイコンをクリックし、分析する2番目の列をSheet1!$B:$B選択するか、と入力して以下を選択します新工作表

確認後入場

左のフレームをクリックした後、右のチェックボックスをオンにし协议、アプリケーション名以外の項目を削除して、右协议下のフレームにドラッグしてヒストグラムを作成します。

写真からもわかるqmbrowser.exeように、ブログを書いているので一番見えますね… wps.exe第二に、Excelを使っているので。

そのsvchost.exe合計et.exeが悪意のあるコードであるかどうかわかりません...

  • sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストの主要な問題の疑わしい動作を監視します。
  1. 監視するターゲットを決定する

軽量ツールSysmonを使用して、オンライン情報に基づいてシステム監視する

我选择了以下项作为监控目标

DriverLoad         驱动加载
ProcessCreate      进程创建
FileCreateTime     文件创建时间
NetworkConnect     网络连接
CreateRemoteThread 远程线程创建
  1. 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>
  1. をインストールして実行しsysmon.exe事件查看器表示します

配置したsysmon.exeフォルダを入力し、次のように入力します。

sysmon.exe -i C:\5120sysmon.xml

右クリックwindows-> 搜索-> 事件查看器、開く应用程序和服务日志-> Microsoft-> windows-> Sysmon-> Operationalフィルタリングされた監視項目を確認できます

レコードアイテムを開きます。

イベントには、アプリケーションのタスクタイプと記録時間が記録され、詳細情報には、宛先IP、宛先ポート番号、宛先ポート名が記録されます。

これはwpsのアプリ情報ですが、不審度は大きくありません。他のイベントをざっと調べてみましたが、不審なアプリは見つかりませんでした

  1. 対殺実験でバックドアプログラムを使用して、ログに記録される方法を確認するために接続を試みました

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つのステップの後に取得したスナップショットを取得することで、比較および分析できます。
  1. ターゲットマシンにインストール
  1. まず、バックドアなしで操作のステータスを取得し、取得します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. バックリンク

再接続後にホストのスナップショットを取り、バックドアが移動したステップと比較します

1)アプリケーションの変更

変更されたアプリケーションイベントは、主win_mt_rt_250:5120.exeに接続を戻す動作から発生していることがわかります。

図からわかるように、接続を戻すプロセス中に多くのdllファイルが呼び出され、それらは基本的にWindows固有のサービスです。動作から、バックドアの固有の特性を見つけることもできます。

dllファイルの次の部分を同時に呼び出すアプリケーションは、悪意のある動作をする可能性があります

2)レジストリの変更

この手順では、レジストリが変更されたことがわかりますが、仮想マシンの状態が変更されたようです。

3)ファイルの変更

ここでの変更は、Systracerまたはバックリンクが原因であることがわかっていません。

多くの場所で図の同じ修正を見つけました

4)外部IP接続とデータ送信

再接続後のパケットは上記のとおりです。ホストはSYNパケットを仮想マシンに送信し、同時に3つのハンドシェイクで接続を確立します。その後、仮想マシンはPSHパケットをホストに送信し、データを送信してレジストリやその他の情報を変更します


上記は送信されたデータのスクリーンショットです

次に、仮想マシンがホストに大量のACKパケットを送信し、ホストがACKパケットに応答するのをビジーにして、さまざまな変更を容易にしますか?

  1. シェルを入手

前の手順と比較して、ホストシェルを取得した後にLinuxのホストステータスを取得する

1)アプリケーションの変更

主にホストと呼ばれ、cmd.exeその後の操作のために多くのdllファイルを追加しました

2)レジストリの変更

同じ位置が前のステップで変更された、それは仮想マシンの変更によっても引き起こされたと思います

3)ファイルの変更

発生した変更は前のステップと同じであり、原因の原因は見つかりませんでした...

  1. 外部IP接続とデータ転送

シェルを取得するとき、仮想マシンはデータを含むPSHパケットをホストに送信しました。

レジストリやファイルの改変に関するデータでもあると推定されており......

実験的思考の質問

  • (1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視したい操作と監視方法を設計してください。
1.使用sysmon工具,在各方面通过事件查看器对应用程序进行监控
2.使用任务计划程序,并通过netstat指令对应用联网历史进行记录,统计联网数据,筛选出可疑程序
3.nmap扫描端口,确定有没有可疑连接
  • (2)プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
1.使用systracer截取快照,通过对比、应用程序启动、注册表、文件等发生更改的地方,获取恶意程序的启动原理
2.使用wireshark进行抓包,对其与主机的通信数据进行提取

実験体験

本次实验的难点主要在于分析通过工具获取到的数据,不管是sysmon、netstat,还是systracer、wireshark,使用起来还是比较方便的。
分析数据,就需要知道这些数据怎么和应用进程对应上,但我发现很多地方我都不清楚.......
但这次实验还是让我收获颇丰的,通过对这些工具的实用,我对于恶意代码的攻击和抵御方式又有了新的体会。这些工具都是可以应用于实际生活中的,善加利用这些方法也能让我有一个更加有保障的计算机环境。

おすすめ

転載: www.cnblogs.com/1751-pyc/p/12701876.html
おすすめ