Vaka Yönetimi
- Vaka (Case)
- Uyarı (Alert)
- Görev
- Gözlemlenebilir (Observable)
- Yorum (Comment)
- Zaman Çizelgesi (Timeline)
- TTP
- Görev Günlüğü (Task Log)
- Paylaş (Share)
- Vaka Raporu
Vaka (Case)
Bir vaka, TheHive tarafından manipüle edilen ana varlıktır. Güvenlik olaylarının soruşturulması sırasında tüm bilgileri merkezileştirecektir.
Not: API çağrılarında, bir vakaya atıfta bulunmak için _id'yi veya vaka numarasını kullanabilirsiniz
Sorgular
- İlk Sorgular:
listCase
: Kullanıcı tarafından görülebilen tüm vakaları listelergetCase
: Id veya isme göre bir vaka alınidOrName
ek alanıcountCase
: Kullanıcı tarafından görülebilen vakaları sayar, bir sayı döndürür (kullanımdan kaldırılmıştır) -
Sorgular Vakalar üzerinde mevcuttur:
observables
tasks
assignableUsers
organisations
alerts
shares
procedures
similarCases
: kullanımdan kaldırıldı, yeniden adlandırıldılinkedCases
similarCases
attachments
similarAlerts
pages
comments
allComments
: ayrıca görünür ilgili uyarılardan yorum alır
-
Ekstra veri:
observableStats
taskStats
alerts
alertCount
isOwner
shareCount
permissions
actionRequired
procedureCount
attachmentCount
similarAlerts
contributors
computed.handlingDuration
computed.handlingDurationInSeconds
computed.handlingDurationInMinutes
computed.handlingDurationInHours
computed.handlingDurationInDays
status
POST - Vaka Oluşturun
Yeni bir boş vaka oluşturun. Görevler ve özel alanlar sağlamak için bir Vaka Şablonu kullanılabilir.
Yanıtlar
GET - Vaka Al
DEL - Vaka Sil
Yanıtlar
PATCH - Vaka Güncelleme
Yanıtlar
PATCH - Toplu Güncelleme Durumu
Yanıtlar
POST - Vakaları Birleştirme
Sağlanan vakaları birleştirerek yeni bir vaka oluşturun. Benzer gözlemlenebilirler birleştirilecektir
Yanıtlar
DEL - Uyarıyı vakadan Ayır
Vakanın Benzer Gözlemlenebilirlerini Birleştirin
GET - Bağlantılı Vakaları Alın
Yanıtlar
Yanıtlar
GET - Vakayı arşiv olarak dışa aktar
Yanıtlar
POST - Case Template'i Mevcut Vakalara Uygulama
Vaka şablonunun hangi bölümünün mevcut vakalara uygulanacağını seçebilirsiniz.
Yanıtlar
POST - Vaka Sahip Kuruluşunu Değiştir
Vakanın mevcut sahibini güncelleyin. Dikkat edin, profil ayarlanmazsa mevcut kuruluş vakaya erişimini kaybedebilir.
Yanıtlar
GET - Vaka Zaman Çizelgesi Al
Vakaya Eklenti Ekleme
Yanıtlar
GET - Eklentiyi İndir
Yanıtlar
GET - Vakadan Ek Dosya Al
Yanıtlar
DEL - Ek Dosyayı Sil
Yanıtlar
GET - Vaka Paylarını Listele
Yanıtlar
PUT - Vakaya Paylaşımlar Ayarla
Vakayı diğer kuruluşlarla paylaşmak için bir profil (erişim düzeyi) belirleyebilirsiniz. POST'un aksine, bu istek önceden var olan paylaşımları silebilir ve güncelleyebilir.
Yanıtlar
POST - Bir Vaka Paylaşın
Vakayı diğer kuruluşlarla paylaşın. Her kuruluş için, kuruluşun alacağı bir profil (erişim düzeyi) tanımlayabilirsiniz.
Bu istek yalnızca yeni paylaşımlar oluşturacak ve mevcut paylaşımları güncellemeyecek veya silecektir.
Yanıtlar
Yanıtlar
DEL - Vaka'dan Paylaşım Kaldırma
Yanıtlar
Uyarı (Alert)
Sorgular
- İlk Sorgular:
listAlert
: org'da kullanıcı tarafından görülebilen uyarıları listelergetAlert
: kimliğe göre bir uyarı alın: tüm uyarıları say (kullanımdan kaldırıldı)countAlert
: durumu yeni olan uyarıları say (kullanımdan kaldırıldı)countUnreadAlert
: vakalara aktarılan uyarıları say (kullanımdan kaldırıldı)countImportedAlert
- Uyarılarda mevcut sorgular:
observables
case
similarCases
similarAlerts
procedures
comments
- Ekstra veri:
similarCases
similarAlerts
importDate
caseNumber
status
procedureCount
Uyarı Oluştur
Bu uç nokta, TheHive'da alarm oluşturmaya olanak tanır. Hem çok parçalı hem de json girişini destekler. Dosyalarla gözlemler oluşturmak için çok parçalı bir gövde kullanmanız gerekir.
Çok parçalıyı kullanmak için, birkaç parça göndermeniz gerekir:
_json adında, oluşturulacak uyarının json'unu içeren bir veri parçası
- Gözlemlenebilirlerde, basit bir veri kullanmak istiyorsanız, gözlemlenebilirin veri alanını kullanın
- Bir dosya kullanmak istiyorsanız, ek alanında bir dize kullanın. Bu dize, dosyanızı içeren çok parçalı gövdenin bir bölümüne atıfta bulunmalıdır
- TheHive'da mevcut bir eki kullanmak istiyorsanız, ekin adını, içerik türünü ve kimliğini içeren bir nesne ayarlayın
POST /api/v1/alert/<alertId>/observable
uç noktasını kullanarak uyarınıza daha sonra her zaman gözlemlenebilirler ekleyebilirsiniz.
Curl ile
json kullanarak string türünde gözlemlenebilirler içeren bir uyarı oluşturma
curl http://<thehive_endpoint>/api/v1/alert -H 'Authorization: Bearer <api_key>' -X POST -H 'Content-Type: application/json' --data '
{
"type": "alertType",
"source": "test",
"sourceRef": "1",
"title": "alert title",
"description": "alert description",
"observables": [
{ "dataType": "url", "data": "http://example.org" },
{ "dataType": "mail", "data": "foo@example.org" }
]
}
Çok parçalı kullanarak 2 gözlemlenebilir, bir url ve bir dosya içeren bir uyarı oluşturma
curl http://<thehive_endpoint>/api/v1/alert -H 'Authorization: Bearer <api_key>' -X POST -F _json='
{
"type": "alertType",
"source": "test",
"sourceRef": "1",
"title": "alert title",
"description": "alert description",
"observables": [
{ "dataType": "url", "data": "http://example.org" },
{ "dataType": "file", "attachment": "attachment0" }
]
}
' -F attachment0=@<file>
Python ile (istekler)
Gözlemlenebilir olarak iki dosya içeren bir uyarı oluşturun.
import json
import requests
# 'fileA' and 'fileB' are arbitrary names. You can choose your own.
# the name must be used as a key in the dictionary 'files'
observables = [
{'dataType': 'file', 'attachment': 'fileA'},
{'dataType': 'file', 'attachment': 'fileB'},
]
files = {
'fileA': open(path_to_fileA, 'rb'),
'fileB': open(path_to_fileB, 'rb')
}
alert = {
'title': 'my title',
'type': 'test',
'source': 'python',
'sourceRef': '1',
'description': 'description ...',
'observables': observables
}
# Send the request
response = requests.post(
f'{thehive_url}/api/v1/alert',
# send the files and the alert with the special part '_json'
files={
'_json': json.dumps(alert),
**files
},
headers={ 'Authorization': f'Bearer {thehive_api_key}' }
)
# check response code
response.raise_for_status()
Yanıtlar
GET - Uyarı Alın
Yanıtlar
DEL - Uyarıyı Sil
Yanıtlar
PATCH - Güncelleme Uyarısı
Yanıtlar
PATCH - Toplu güncelleme Uyarısı
Yanıtlar
POST - Uyarıdan Vaka Oluşturma
Uyarılar
POST - Uyarıyı Takip Edin
Yanıtlar
Takibi Bırak Uyarısı
Yanıtlar
POST - Uyarıyı Vaka ile Birleştir
Yanıtlar
POST - Toplu Uyarıları Case ile Birleştirme
Yanıtlar
POST - Uyarıyı toplu olarak silme
Yanıtlar
Uyarılara Ek Dosyası Ekle
GET - Uyarı Ek Dosyası Al
DEL - Uyarı Ek Dosyası Sil
Yanıtlar
GET - Uyarı Ekini İndirin
Yanıtlar
Görev
Bir görev bir Vakaya veya bir Vaka Şablonuna bağlanabilir.
- İlk Sorgular:
listTask
: geçerli kuruluşta kullanıcı tarafından görülebilen görevleri listelergetTask
: görevi kimliğe göre alwaitingTasks
: geçerli kuruluştaWaiting
durumundaki görevleri listelermyTasks
: geçerli kuruluştaki geçerli kullanıcıya atanan görevleri listeler
- Görevler üzerinde kullanılabilir sorgular:
assignableUsers
logs
case
caseTemplate
organisations
shares
inCase
: yalnızca bir vakayla bağlantılı görevleri seçin
- Ekstra veri:
case
caseId
caseTemplate
caseTemplateId
isOwner
shareCount
actionRequired
actionRequiredMap
POST - Vaka'dan Görev Oluşturma
Yanıtlar
GET- Görev Al
Yanıtlar
DEL - Görev Silme
Yanıtlar
PATCH - Güncelleme Görevi
Yanıtlar
PATCH - Görevin Büyük Kısmını Güncelle
Yanıtlar
GET - Gerekli Görev Eylemleri
Yanıtlar
PUT - Organizasyon Tarafından Gerekli Olarak İşaretleme Görevi
Yanıtlar
PUT - Organizasyon Tarafından Tamamlandı Olarak İşaretleme Görevi
Yanıtlar
GET - Görevin Paylaşımlarını Listele
Yanıtlar
POST - Görev Paylaşımı
Bir görevi bir kuruluşla paylaşın. Vakanın hedef kuruluşlarla zaten paylaşılmış olması gerekir. Bakınız 'Vaka Paylaşma'
Yanıtlar
DEL - Görev Paylaşımını Kaldırma
Gözlemlenebilir (Observable)
Sorgular
- İlk Sorgular:
listObservable
getObservable
- Observable üzerinde kullanılabilir sorgular
similar
case
alert
shares
- Extra Data
seenSummary
shares
links
permissions
isOwner
shareCount
: çok sayıda benzer gözlemlenebilir olduğunda daha verimli olanseen
seenSummary
lehine kullanımdan kaldırılmıştır
POST - Vakada Gözlem Oluştur
Bir mevcut vakaya bir gözlem ekleyin.
Örnekler için 'Uyarıdan Gözlem Oluştur' bölümüne bakın.
Yanıtlar
POST - Uyarıdan Gözlem Oluştur
Mevcut bir uyarıya bir gözlemlenebilir ekleyin.
Curl ile
String türünde verilere sahip bir gözlemlenebilir eklemek için verilerinizi içeren basit bir json isteği gönderin:
curl http://<thehive_endpoint>/api/v1/alert/<alertId>/observable -H 'Authorization: Bearer <api_key>' -X POST -H 'Content-Type: application/json' --data '
{ "dataType": "url", "data": "http://example.org" }
'
Ek dosya ile bir gözlemlenebilir ekleme. Not: dosya attachment
olarak gönderilmelidir.
curl http://<thehive_endpoint>/api/v1/alert/<alertId>/observable -H 'Authorization: Bearer <api_key>' -X POST -F _json='
{ "dataType": "file" }
' -F attachment=@<file>
attachment
, tek bir http çağrısı ile birkaç dosya yüklemek için tekrarlanabilir. (Aynı etki için isZip
ile bir zip dosyası da gönderebilirsiniz
curl http://<thehive_endpoint>/api/v1/alert/<alertId>/observable -H 'Authorization: Bearer <api_key>' -X POST -F _json='
{ "dataType": "file", "tlp": 3 }
' -F attachment=@<file1> -F attachment=@<file2>
Bir dosya yüklerken, dataType attachment tahmin edilir, bu nedenle gözlemlenebilir curl üzerinde herhangi bir özellik ayarlamanız gerekmiyorsa sadece dosyayı gönderebilirsiniz http:///api/v1/alert//observable -H 'Authorization: Bearer ' -X POST -F attachment=@
Python ile (istekler)
url türünde basit bir gözlemlenebilir oluşturun:
import requests
observable = {'dataType': 'url', 'data': 'example.org'}
response = requests.post(
f'{thehive_url}/api/v1/alert/{alert_id}/observable',
json=observable,
headers={ 'Authorization': f'Bearer {thehive_api_key}' }
)
# check response code
response.raise_for_status()
Özel bir mesaj ve tlp ile iki dosya gönderme:
import json
import requests
observable = {'dataType': 'file', 'message': 'Files from infected server', 'tlp': 3}
# Send the request
response = requests.post(
f'{thehive_url}/api/v1/alert/{alert_id}/observable',
# send the files and the observable with the special part '_json'
files=[
('_json', json.dumps(observable)),
('attachment', open(path_to_fileA, 'rb')),
('attachment', open(path_to_fileB, 'rb'))
],
headers={ 'Authorization': f'Bearer {thehive_api_key}' }
)
# check response code
response.raise_for_status()
Yanıtlar
GET - Gözlem Al
Yanıtlar
DEL - Gözlemi Sil
Yanıtlar
PATCH- Gözlemi Güncelle
Yanıtlar
PATCH- Gözlemlerin Toplu Güncellemesini Yap
Yanıtlar
GET - Gözlemden Ek Dosyayı İndir
Eğer ?asZip
sorgu parametresi ayarlanırsa, ek dosya bir zip dosyası olarak 'kötü amaçlı yazılım' varsayılan şifresiyle gönderilecektir.
Yanıtlar
GET - Gözlemin Paylaşımlarını Listele
Yanıtlar
POST - Bir Gözlemi Paylaş
Bir gözlemi bir kuruluşla paylaş. Vaka zaten hedef kuruluşlarla paylaşılmalıdır. 'Bir Vakayı Paylaş' bölümüne bakınız.
Yanıtlar
DEL - Bir Gözlemi Paylaşmayı Sonlandır
Yanıtlar
Yorum (Comment)
- İlk Sorgular:
listComment
getComment
- Ekstra Veri:
links
POST - Vakada Yorum Oluştur
Yanıtlar
POST - Uyarıdan Yorum Oluştur
DEL - Yorumu Sil
PATCH - Yorumu Güncelle
Yanıtlar
Zaman Çizelgesi (Timeline)
GET - Vaka Zaman Çizelgesi Al
Yanıtlar
POST - Özel Olay Oluştur
Yanıtlar
DEL - Özel Bir Olayı Sil
Yanıtlar
PATCH - Özel Bir Olayı Güncelle
Yanıtlar
TTP
Prosedürler İçin Sorgular
- Initial Queries
listProcedure
getProcedure
- Extra Data
pattern
tactic
patternParent
patternTactics
POST - Vaka için Prosedür Oluştur
Yanıtlar
POST - Vaka için Çeşitli Prosedürler Oluştur
Yanıtlar
POST - Uyarı için Prosedür Oluştur
Yanıtlar
POST - Uyarı için Çeşitli Prosedürler oluşturun
Yanıtlar
DEL - Prosedürü Sil
Yanıtlar
PATCH - Prosedürü Güncelle
Yanıtlar
POST - Prosedürleri Toplu Sil
Yanıtlar
Görev Günlüğü (Task Log)
Sorgular
- İlk Sorgular:
listLog
getLog
- Ekstra Veri:
case
task
taskId
actionCount
POST - Görev Günlüğü Oluştur
Yanıtlar
DEL - Görev Günlüğünü Sil
Yanıtlar
PATCH - Görev Günlüğünü Güncelle
Yanıtlar
POST - Görev Günlüğüne Ek Dosyalar Ekleyin
Yanıtlar
DEL - Görev Günlüğünden Ek Dosyayı Sil
Yanıtlar
Paylaş (Share)
Sorgular
-
İlk Sorgular:
listShare
getShare
-
Bir paylaşım üzerinde mevcut sorgular
case
observables
tasks
organisation
PATCH - Paylaşımı Güncelleme
Yanıtlar
DEL - Paylaşım Kimliği ile Paylaşımları Sil
Yanıtlar
Vaka Raporu
GET - Vaka Raporu Şablonunu Oluştur
Açıklama olarak giriş alamayan, aynı şekilde işlev görür ancak GET http kullanır.
Yanıtlar
POST - Vaka Rapor Şablonunu Oluştur
Bir vaka rapor şablonunu oluşturun. Bu, şablonun render edilmiş çıktısını verecek ancak render edilen veri saklanmayacaktır.
caseId isteğe bağlıdır. Sağlanmazsa, sahte veriler kullanılacaktır.
Ya tam bir rapor tanımı sağlayabilir ya da mevcut bir vaka raporu şablonunu kullanabilirsiniz.
Yanıtlar
POST - Vaka Raporu Oluştur
Bir vaka ve bir rapor şablonundan bir rapor oluşturun.
Yanıtlar
POST - Vaka Raporunu Yükle
Mevcut bir dosyadan bir raporu yükleyin
Yanıtlar
GET - Vaka Raporunu İndir
Yanıtlar
DEL - Vaka Raporunu Sil
Yanıtlar
PATCH - Vaka Raporunu Güncelle
Vaka raporunun içeriğini güncelle ve değiştir.