Virus TotalのSplunk用Addonであるvt4splunkを使ってみた(ハッシュ編)

Virus TotalのSplunk用Addonであるvt4splunkを使ってファイルハッシュの調査をしてみたのでここに記録しておきます。

1.ハッシュ値の準備

vt4splunk経由で確認するファイルのハッシュ値を準備します。

今回は、MISPにて収集した IoCデータの中から以下の赤枠のハッシュ値でテストしてみることにしました。

MISP – IoCサンプル1

なお、MISPではこのハッシュはまず、Payload delivery というタイプで2019-04-10 に配布されており、その後、md5 のタイプで 2019-04-12に配布されているようです。

MISP – IoCサンプル2

2.vt4splunkにハッシュデータを直接渡す

それでは先ほどのMISPから取り出したハッシュをvt4splunkを使って評価してみます。

Search画面から以下のコマンドを打つと、testhashで指定したファイルハッシュに対する Virus Totalでの評価結果を検索結果の一部として表示することができるようになります。

Splunk vt4splunk addon

これをみるとこのハッシュが最初に報告されたのが、2019-04-12 となっています。

ほぼ同時期ですが、Payload delivery というタイプでMISPを確認しておけば、2日早くこのファイルをハッシュにて検知できていたようですね。

ミントのボディジェルで猛暑を乗り切る・・・ダニ予防にも!?

K2-ornataのkuroです。
毎年この時期になると汗疹や虫刺されに悩まされるのですが、今年は違います。ひんやり涼しく、お肌をさらっと保湿できるボディジェルを見つけました!

MARKS&WEBの保湿ジェル「モイスチャーライジング アフターサンジェル」

MARKS&WEB モイスチャーライジング アフターサンジェル
左:季節限定「グレープフルーツ/ユーカリ」、右:数量限定「ペパーミント/薄荷」

香りは2種類あります。
写真左が季節限定の「グレープフルーツ/ユーカリ」で、右が数量限定の「ペパーミント/薄荷」です。

中身は半透明の白色のやわらかいジェルで、たっぷり塗ってもべたつかず、すっと肌に馴染みます。汗ばむ季節にとても使いやすいです。
そして、かなりスースーします。特に「ペパーミント/薄荷」の方。

最初、お風呂上りにさくらんぼ大ほどの量を手に取り腕と首や肩のあたりに塗ってみたのですが、塗って3分ほどはスースーを通り越して痛いくらいの極寒でした。。その後は少しずつ快適なひんやり具合に落ち着き、結局1時間以上はひんやり涼しく、その日はとっても気持ちよく眠りにつけました。
この日以来、寝る前だけでなく昼間の暑い時間帯にも使うようになり一日中手放せなくなりました。使い始めてから1か月ほど経ちましたが、今のところ汗疹もなく、お肌の調子も良くいい感じです。

あと、予想外のうれしい効果がありました。
寝る前にこれを体中に塗るようになってから、ダニに刺されることがなくなりました。今年もすでに数か所刺されていたのですが、これを使い始めてからここ一か月、一度も刺されていません。寝る前に使っているのは「ペパーミント/薄荷」の方なので、おそらくミントの虫除け効果ではないかと思っています。

これから夏本番でどうなるかわかりませんが、今年の猛暑とダニ除けはこれで乗り切ろうと思っています。
外出時の持ち歩き用にミニサイズも購入し、真夏に向けて準備万端です。

MISP が ThreatFox から集めてきたIoCに C2 サイトかどうかの記載があるか確認してみた。

ThreatFox から収集した イベントの一例です。

misp – ThreatFox

イベントには複数の IoC が登録されていますが、それぞれの IoC についてどのマルウェアの C2 なのかが記載されています。

misp – ThreatFox

OpenCTI のAPIにPythonから Accessし、登録されたindicatorを表示できるか確認してみた

先日構築したOpenCTIに登録された indicatorにAPIからアクセスできるか確認してみました。

できれば指定した indicator をピンポイントで検索できればと思っていますが、その前に取り合えず、APIから登録した indicator をリストで表示させることができたので、ここに記録しておきます。

なお、APIの使い方については以下のサイトに記載されています。

https://github.com/OpenCTI-Platform/client-python/blob/master/docs/client_usage/getting_started.rst

1.pycti のインストール

もしOpenCTIの環境に pycti を入れていないようであれば、以下の要領でインストールしておきましょう。

sudo apt install python3-pip
pip3 install pycti

2.Indicatorの登録

冒頭で紹介したサイトにサンプルが掲載されていますので、それをすこしいじって OpenCTI に indicator を登録します。

おもに以下の太字の部分を環境に合わせて修正すれば大丈夫です。

from dateutil.parser import parse
from pycti import OpenCTIApiClient
from stix2 import TLP_GREEN

# OpenCTI API client initialization
opencti_api_client = OpenCTIApiClient("http://localhost:8080", "<ローカルに立てたOpenCTIのAPI Keyを設定>")

# Define an OpenCTI compatible date
date = parse("2023-07-16").strftime("%Y-%m-%dT%H:%M:%SZ")

# Get the OpenCTI marking for stix2 TLP_GREEN
TLP_GREEN_CTI = opencti_api_client.marking_definition.read(id=TLP_GREEN["id"])

# Use the client to create an indicator in OpenCTI
indicator = opencti_api_client.indicator.create(
    name="C2 server of the new campaign",
    description="This is the C2 server of the campaign",
    pattern_type="stix",
    pattern="[IPv4-Addr:value = '100.172.180.181']",
    x_opencti_main_observable_type="IPv4-Addr",
    valid_from=date,
    update=True,
    markingDefinitions=[TLP_GREEN_CTI["id"]],
)

上記プログラムを「create_indicator.py」という名前で保存して、以下の通り OpenCTIのサーバ上で実行します。

$ python3 create_indicator.py 
INFO:pycti.entities:Listing Threat-Actors with filters null.
INFO:pycti.entities:Reading Marking-Definition {marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da}.
INFO:pycti.entities:Creating Indicator {C2 server of the new campaign}.
OpenCTI – indicatorリスト

3.Indicatorのリスト表示

それでは次に、OpenCTI に登録した Indicator をリストで表示してみます。
プログラムについては以下のサイトのものを参考にカスタマイズしています。

https://github.com/OpenCTI-Platform/client-python/blob/master/examples/get_all_indicators_using_pagination.py

以下、カスタマイズ後のプログラムです。
実行時に「pattern」や「description」などを表示するようにしています。

from pycti import OpenCTIApiClient

# Variables
api_url = "http://localhost:8080"
api_token = "ローカルに立てたOpenCTIのAPI Keyを設定>"

# OpenCTI initialization
opencti_api_client = OpenCTIApiClient(api_url, api_token)

# Get all reports using the pagination
custom_attributes = """
    id
    pattern_type
    pattern
    created
    description
"""

final_indicators = []
data = {"pagination": {"hasNextPage": True, "endCursor": None}}
while data["pagination"]["hasNextPage"]:
    after = data["pagination"]["endCursor"]
    if after:
        print("Listing indicators after " + after)
    data = opencti_api_client.indicator.list(
        first=50,
        after=after,
        customAttributes=custom_attributes,
        withPagination=True,
        orderBy="created_at",
        orderMode="asc",
    )
    final_indicators += data["entities"]

for indicator in final_indicators:
    print("[" + indicator["created"] + "] " + indicator["pattern"] + ", " + indicator["description"])

そしてこれが実行結果です。

$ python3 get_all_indicators.py
INFO:pycti.entities:Listing Threat-Actors with filters null.
INFO:pycti.entities:Listing Indicators with filters null.
[2023-07-17T00:58:42.733Z] [domain-name:value = 'www.5z8.info'], This is the C2 server of the campaign
[2023-07-17T01:18:55.912Z] [IPv4-Addr:value = '100.172.180.180'], This is the C2 server of the campaign
[2023-07-17T01:34:48.208Z] [IPv4-Addr:value = '100.172.180.181'], This is the C2 server of the campaign

indicator やそのdescriptionがきちんと表示されています。

ロードスター NC2リトラクタブルハードトップ(RHT)用にボディカバー(ハーフカバー)を買ってみた

先日、ようやくルーフの塗り直しを行いましたが、ルーフの塗り直しだけでも20万円以上の費用がかかってしまいました。

http://k2-ornata.com/roadster_repaint_after

(それ以外にもサイドの塗装やドアハンドルまわりの修理をおこなったので、全体では30万円オーバーでしたが。。。)

そこで、再度ルーフの塗装を劣化をさせないように、前々から狙っていたAmazonで扱っているのルーフカバーを思い切って購入してみました。

(海外製、ロードスターNC専用ということでお値段は2万円オーバですが、これでルーフの劣化がさけられるならその価値はあるかなと。。。)

ブランド: North American Custom Covers
北米カスタムカバー ソフトトップルーフプロテクター ハーフカバー マツダ ミアータ MX5 Mk3 (NCモデルのみ)

そして、先週到着しました!

ルーフ部分だけのカバーなので、そこそこコンパクトです。(たぶん40cm×30cm、厚さ7cmくらい)

これなら遠出する時以外は、トランクに入れておいても邪魔にならないかと思います。

そしてこちらが装着してみた状態です。

前、後ろ、横からの風対策はばっちり

想像以上にNC RHT にもぴったりフィットしました。

なお、両サイドにはそれぞれ5つくらい磁石が埋め込まれていて、カバーの厚みもそこそこある為、ちょっとの風ではぴくりともしない感じです。

これなら台風の時以外は付けていても問題ないかなという感じです。

しいていえば、ドアハンドルのところも劣化するのでそこまでカバーできたらよかったかもしれません。

そしてこちらはリア部分ですが、カバーの端が飛び出ていて、トランクの蓋にちょうど挟み込まれるようになっています。

後ろからの風はこれでばっちりです。

フロントもちょうどワイパーでさえられるようになっています。

最近のNDだともしかしたらワイパーの位置関係で抑えられないかもしれませんね。

耐久性の確認はこれからですが、さきほど少し書いたように生地はかなり厚みがあり作りもしっかりしているので、5年くらいはもってくれるんじゃないかと思います。

2024.8.10追記

現在も同カバーを利用していますが、まったく破れることもなく使えております。また、真夏は出かける直前までカバーをかけていることにより、暑さ対策になっていて重宝しております。

2025.11.3追記

うーん、そろそろカバーがヘタっけきたようで、サイドミラーのあたりが裂け始めました。最近の夏の猛暑もあり、2年くらいの耐久性のようですね。

ロードスター・ハードトップ(NC2)のルーフ塗装を塗り直してもらった結果

先日、以下の通りロードスターのループパネルの塗装剥がれについて、見積もりをいただきました。

http://k2-ornata.com/roadster_roufpanel_deterioration/

そこそこ金額だったので2ヶ月くらい保留にしていたのですが、ようやく塗り直してもらうことを決意し、修正をお願いしてきました。

その結果がこちらです!

塗装修理で蘇ったマツダロードスターNC2 RHT

めっちゃ綺麗になってとても満足です。

MISP の効果的な利用方法2:インシデント調査で集めたIoCが、外部から収集したIoCと一致していないか確認する

MISP には複数のイベントでIoCが一致していないかチェックする機能があります。

それをうまく利用すれば、インシデント調査で収集したIoCが外部から収集したIoCと一致していないか、また、外部から新たに収集したIoCが、過去のインシデント調査した際のIoCと一致していないかを確認することが可能です。

1.インシデント対応で抽出したIoCの登録

以下の通り、インシデント対応で抽出したIoCを「Add Event」から登録します。

なお、インシデント対応で抽出したIoCを登録する際はイベント名を「SOC-Insident 001」などとするとわかりやすいと思います。

MISP – Add Event

上記画面で「Submit」後に、下図の赤枠で囲った部分にあるアイコン(populate using the Freetext Import tool)をクリックします。

MISP – using Freetext Import tool

すると以下のようなFreetext Import Tool のポップアップが表示されるので、インシデント対応の中で収集したIoCをペーストし、「Submit」します。

Freetext Import tool

このツールはとても優秀で、IoC 以外の情報もまとめて放り込んでも、綺麗にIoCだけ抽出し、以下の通りピックアップしてくれます。

MISP – Freetext Import Results

Freetext での取り込み結果を確認し、問題なければ「Submit attributes」ボタンを押します。

2.IoC提供元のFeedとの関連を確認

インシデント調査で収集したIoCの登録が完了すると、すでに登録されているイベントのIoCと重複していないか、赤枠の通り表示してくれます。

MISP – IoC list

また重複している場合は、「+Correlation Graph」を選択することで、重複しているイベントとの相関図を以下のとおり表示してくれます。

MISP – correlation graph

3.新しいFeedを取り込んだときの既存インシデントとの重複確認にも

なお、標的型攻撃などの場合には、インシデント調査で抽出したIoCが各Feed提供元のIoCリストにはまだ登録されていない、といったこともままあると思います。

したがって、新しくFeed提供元からIoCを取得した際に、そのIoCがすでにインシデント対応で抽出していたIoCと一致していないか確認する、といった使い方も可能です。

MISP – IoC list

ちなみに、他のイベントとIoCが重なった数はイベントリストの「Corr」カラムに記載されていますので、探しやすいと思います。

MISP – Events

MISP の効果的な利用方法1:IoC のFeedの取り込み元を増やす

MISP をインストールした初期状態だと、以下の2つのIoC Feed取得元しか登録されていません。

MISP – Sync Actions – Feeds

そこで、このFeed元を増やす方法を確認しましたので、ここに記録しておきます。

1.Feed元が書かれたJSONファイルを取得

以下のGitHubサイトにFeed元がたくさんかかれたJSONファイルがあるので、その内容をコピーします。

GitHub - MISP/app/files/feed-metadata/defaults.json
https://github.com/MISP/MISP/blob/2.4/app/files/feed-metadata/defaults.json

2.JSONでFeed元の情報を取り込む

1.でコピーしたFeed元の情報を取り込む為、上のFeeds画面の左ペインから「Import Feeds from JSON」を選択します。

そして先ほどコピーしたJSONを以下のとおりペーストし「ADD」ボタンを押します。

MISP – Import Feeds from JSON

すると以下の通りFeed元が67件読み込まれました。

MISP – Sync Actions – Feeds

3.Feed元からのデータの取り込み

あとは、Feed元リストの左にあるチェックからFeedを取り込みたい提供元を選択後、上部にある「Fetch and store all feed data」をクリックすれば取り込まれます。

なお、取り込みの状況は「Administration」-「Jobs」から以下の通り確認可能です。

MISP – Sync Actions – Feeds

4.Feed元から定期的に取り込むには

「Administration」-「Scheduled Tasks」で次の取り込み時間を指定することもできるようですが、毎回設定したいといけないように見えます。

そこで、cronjob と MISPのAPIを使った定期的なFeed元からの取り込み方法が以下のサイトに記載されていますので、興味のある方は参照してみると良いと思います。

Part 10. MISP Threat Intel(SOCFortress)
https://socfortress.medium.com/part-10-misp-threat-intel-68131b18f719

葉の根元から蜜を出す植物、分福茶釜(アデニア・グラウカ)

k2-ornataのkuroです。

窓際で育てているアデニア・グラウカ、朝日を浴びてなにやらピカっと光るものが見えました。

アデニア・グラウカ(和名:ゲンチョウカズラ)

よく見ると、葉の根元に今にも滴り落ちそうな大きな雫がついていました。
粘り気があり、舐めてみると甘くて苦みがありました。蜜です。

葉の根元から大量に蜜が出ています

そういえば、たしかに昨年も蜜が出てました。ただ今回ほどではなく、ほんの少しだけでした。今年はなぜか大量生産。元気ならいいのですが。。

アデニア・グラウカは、南アフリカ原産のトケイソウ科の塊根植物(コーデックス)です。柔らかい葉と淡いグリーン色をしたすべすべの木肌が爽やかで清潔感があります。

冬は冬眠をするので11月~3月頃は完全に断水し、それ以外の季節も忘れた頃に水をあげるくらいで、ほぼ放置状態です。
手のかからない、とってもいいコです。

OpenCTIのコンソールを使ってみたら、アナリスト向けの情報がまとめられた画面だった

先日OpenCTIとMISPを連携させてみました。

その後、IoCデータが溜まってきているようなので、OpenCTIの使い勝手を少し確認してみましたので、その様子を記録しておきます。

1.トップ画面

内部でElasticを使っているせいなのか、全般的にとてもいかした画面で、SOCの大画面に投影しても映えそうです。

情報としては、集まってきているIoCの種類や数、そしてIoCに関連する攻撃グループの情報が表示されています。

OpenCTIコンソール – トップ画面

2.攻撃グループの情報

こちらは上の画面の攻撃グループのグラフから、Turlaを選択した時の画面です。

この攻撃グループの概要やIoC提供者の情報が表示されています。

OpenCTIコンソール – 攻撃グループ情報

3.攻撃グループが保有するC2情報など

上の画像からトップメニューの「knowledge」を選択すると、この攻撃グループが保有するC2サイトなどの武器情報が表示されます。

表示がタイムラインになっていて、下にスクロールするほど新しい情報になるようです。

OpenCTIコンソール – 保有武器情報

4.IoCリスト

上の画像からトップメニューの「Indicators」を選択すると、その攻撃グループに関連するIoCもリストで確認できます。

OpenCTIコンソール – IoCリスト

5.攻撃グループの一覧

また、攻撃グループの一覧をパネル形式で確認することも可能です。

OpenCTIコンソール – 攻撃グループ一覧