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ınidOrNameek 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:
observablestasksassignableUsersorganisationsalertssharesproceduressimilarCases: kullanımdan kaldırıldı, yeniden adlandırıldılinkedCasessimilarCasesattachmentssimilarAlertspagescommentsallComments: ayrıca görünür ilgili uyarılardan yorum alır
-
Ekstra veri:
observableStatstaskStatsalertsalertCountisOwnershareCountpermissionsactionRequiredprocedureCountattachmentCountsimilarAlertscontributorscomputed.handlingDurationcomputed.handlingDurationInSecondscomputed.handlingDurationInMinutescomputed.handlingDurationInHourscomputed.handlingDurationInDaysstatus
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:
observablescasesimilarCasessimilarAlertsprocedurescomments
- Ekstra veri:
similarCasessimilarAlertsimportDatecaseNumberstatusprocedureCount
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ştaWaitingdurumundaki görevleri listelermyTasks: geçerli kuruluştaki geçerli kullanıcıya atanan görevleri listeler
- Görevler üzerinde kullanılabilir sorgular:
assignableUserslogscasecaseTemplateorganisationssharesinCase: yalnızca bir vakayla bağlantılı görevleri seçin
- Ekstra veri:
casecaseIdcaseTemplatecaseTemplateIdisOwnershareCountactionRequiredactionRequiredMap
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:
listObservablegetObservable
- Observable üzerinde kullanılabilir sorgular
similarcasealertshares
- Extra Data
seenSummaryshareslinkspermissionsisOwnershareCount: çok sayıda benzer gözlemlenebilir olduğunda daha verimli olanseenseenSummarylehine 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 isZipile 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:
listCommentgetComment
- 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
listProceduregetProcedure
- Extra Data
patterntacticpatternParentpatternTactics
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:
listLoggetLog
- Ekstra Veri:
casetasktaskIdactionCount
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:
listSharegetShare
-
Bir paylaşım üzerinde mevcut sorgular
caseobservablestasksorganisation
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.