
悪意のあるネットワークトラフィックパターンを安全に生成し、コントロールを評価するためのユーティリティ。
flightsimは、悪意のあるネットワークトラフィックを生成し、セキュリティチームがセキュリティコントロールやネットワークの可視性を評価するのに役立つ軽量ユーティリティです。このツールは、DNSトンネリング、DGAトラフィック、既知のアクティブなC2宛先へのリクエスト、その他の不審なトラフィックパターンをシミュレートするテストを実行します。
お使いのOS向けの最新のflightsimバイナリをGitHub Releasesページからダウンロードしてください。あるいは、以下のようにGolangを使用して任意の環境(例:Linux、MacOS、Windows)でビルドすることもできます。
go install github.com/alphasoc/flightsim/v2@latest
インストール後、以下のようにflightsimをテストしてください:
$ flightsim --help
AlphaSOC Network Flight Simulator™ (https://github.com/alphasoc/flightsim)
flightsim is an application which generates malicious network traffic for security
teams to evaluate security controls (e.g. firewalls) and ensure that monitoring tools
are able to detect malicious traffic.
Usage:
flightsim <command> [arguments]
Available commands:
get Get a list of elements (ie. families) of a certain category (ie. c2)
run Run all modules, or a particular module
version Prints the version number
Cheatsheet:
flightsim run Run all the modules
flightsim run c2 Simulate C2 traffic
flightsim run c2:trickbot Simulate C2 traffic for the TrickBot family
flightsim run ssh-transfer:1GB Simulate a 1GB SSH/SFTP file transfer
flightsim get families:c2 Get a list of all c2 families
このユーティリティは個別のモジュールを実行して悪意のあるトラフィックを生成します。利用可能なすべてのテストを実行するには、単にflightsim runを使用します。これにより、最初に利用可能な非ループバックネットワークインターフェースを使用してトラフィックが生成されます。注: 多くのモジュールを実行する場合、flightsimはAlphaSOC APIから宛先アドレスを収集するため、外部インターネットアクセスが必要です。
利用可能なモジュールを一覧表示するには、flightsim run --helpを使用します。特定のテストを実行するには、以下のようにflightsim run <module>を使用します。
$ flightsim run --help
usage: flightsim run [flags] [modules]
To run all available modules, call:
flightsim run
To run a specific module:
flightsim run c2
Available modules:
c2, dga, imposter, miner, scan, sink, spambot, ssh-exfil, ssh-transfer, tunnel-dns, tunnel-icmp
Available flags:
-dry
print actions without performing any network activity
-fast
reduce sleep intervals between simulation events
-iface string
network interface or local IP address to use
-size int
number of hosts generated for each simulator
$ flightsim run dga
AlphaSOC Network Flight Simulator™ (https://github.com/alphasoc/flightsim)
The address of the network interface for IP traffic is 192.168.220.38
The address of the network interface for DNS queries is 192.168.220.38
The current time is 26-Oct-21 17:28:51
17:28:51 [dga] Generating a list of DGA domains
17:28:51 [dga] Resolving 6kauziij.com
17:28:52 [dga] Resolving paxeo0jk.biz
17:28:53 [dga] Resolving iuuub8al.biz
17:28:54 [dga] Resolving bxsei3nj.com
17:28:55 [dga] Resolving zbwltf1h.space
17:28:56 [dga] Resolving yoze7avi.com
17:28:57 [dga] Resolving ijax8aqw.space
17:28:58 [dga] Resolving wwrjyj4l.space
17:28:59 [dga] Resolving uioc5hky.com
17:29:00 [dga] Resolving lcwdji5t.biz
17:29:01 [dga] Resolving zluwcb4h.biz
17:29:02 [dga] Resolving 8jodcvhj.space
17:29:03 [dga] Resolving ju5haxur.com
17:29:04 [dga] Resolving ivthu2dl.biz
17:29:05 [dga] Resolving ha0bsxft.com
17:29:05 [dga] Done (15/15)
All done! Check your SIEM for alerts using the timestamps and details above.
このユーティリティには、後でシミュレーションモジュールで使用できる情報を照会するためのgetコマンドもあります。現在、C2モジュールで使用するためのC2ファミリーのリストを取得できます。getコマンドの使用方法を確認するには、以下のようにflightsim get -hを実行します。
$ flightsim get -h
AlphaSOC Network Flight Simulator™ (https://github.com/alphasoc/flightsim)
The current time is 26-Oct-21 17:42:23
usage: flightsim get [flags] element:category
Available elements:
families
Available categories:
c2
Available flags:
C2ファミリーのリストを取得するには、以下を実行します:
$ flightsim get families:c2
AlphaSOC Network Flight Simulator™ (https://github.com/alphasoc/flightsim)
The current time is 16-Nov-21 11:16:51
11:16:51 [families:c2] Fetching c2 families
11:16:55 [families:c2] Adwind, Agent Tesla, Amadey, AsyncRAT, AZORult, BASHLITE, BazarBackdoor, BlackNET RAT, Cobalt Strike, Collector Stealer, CryptBot, DarkComet, DiamondFox, Dridex, Emotet, Gozi, IcedID, Kimsuky, KPOT Stealer, LokiBot, Mirai, NanoCore RAT, njRAT, Oski Stealer, Pony, Predator the Thief, Quakbot, RedLine, RedLine Stealer, Remcos RAT, Smoke Loader, Taurus, TrickBot, XtremeRAT, Zloader
11:16:55 [families:c2] Fetched 35 c2 families
All done!
このユーティリティに同梱されているモジュールを以下の表に示します。
| Module | Description |
|---|
c2 | 既知のC2宛先のランダムなリストに対してDNSおよびIPトラフィックを生成します |
cleartext | AlphaSOCが運用するインターネットサービスに対してランダムな平文トラフィックを生成します |
dga | ランダムなラベルとトップレベルドメインを使用してDGAトラフィックをシミュレートします |
imposter | 偽装ドメインのリストに対してDNSトラフィックを生成します |
irc | パブリックIRCサーバーのランダムなリストに接続します |
miner | 既知の暗号通貨マイニングプールに対してStratumマイニングプロトコルトラフィックを生成します |
oast | 帯域外アプリケーションセキュリティテスト(OAST)トラフィックをシミュレートします |
scan | 一般的なTCPポートを使用して、ランダムなRFC 5737アドレスのポートスキャンを実行します |
sink | セキュリティ研究者が運用する既知のシンクホールド宛先に接続します |
spambot | スパムボットをシミュレートするために、ランダムなインターネットSMTPサーバーを解決して接続します |
ssh-exfil | 非標準のSSHポートで動作するサービスへのSSHファイル転送をシミュレートします |
ssh-transfer | SSHポートで動作するサービスへのSSHファイル転送をシミュレートします |
telegram-bot | ランダムまたは提供されたトークンを使用してTelegram Bot APIトラフィックを生成します |
tunnel-dns | *.sandbox.alphasoc.xyzへのDNSトンネリングリクエストを生成します |
tunnel-icmp | AlphaSOCが運用するインターネットサービスへのICMPトンネリングトラフィックを生成します |