Vaka Yönetimi 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ı listeler getCase :  Id veya isme göre bir vaka alın idOrName  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 linkedCases : kullanımdan kaldırıldı, yeniden adlandırıldı 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 DEL- Özel Alanı Silme Yanıtlar POST - Dosyadan Vaka İçe Aktar Dosya bir .thar dosyası olmalıdır Yanıtlar GET - Vakayı arşiv olarak dışa aktar Vakayı bir TheHive arşiv (.thar) dosyası olarak dışa aktarın. Dosya, Vakayı başka bir TheHive örneğine aktarmak için kullanılabilir 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 DEL - Bir Vakanın Paylaşımını Kaldırma 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ı listeler getAlert : kimliğe göre bir uyarı alın countAlert : tüm uyarıları say ( kullanımdan kaldırıldı ) countUnreadAlert : durumu yeni olan uyarıları say ( kullanımdan kaldırıldı ) countImportedAlert : vakalara aktarılan uyarıları say ( kullanımdan kaldırıldı ) 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//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:///api/v1/alert -H 'Authorization: Bearer ' -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:///api/v1/alert -H 'Authorization: Bearer ' -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=@ 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. Sorgular İlk Sorgular: listTask : geçerli kuruluşta kullanıcı tarafından görülebilen görevleri listeler getTask : görevi kimliğe göre al waitingTasks : geçerli kuruluşta Waiting durumundaki görevleri listeler myTasks : 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 seen : çok sayıda benzer gözlemlenebilir olduğunda daha verimli olan 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:///api/v1/alert//observable -H 'Authorization: Bearer ' -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:///api/v1/alert//observable -H 'Authorization: Bearer ' -X POST -F _json=' { "dataType": "file" } ' -F attachment=@ 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:///api/v1/alert//observable -H 'Authorization: Bearer ' -X POST -F _json=' { "dataType": "file", "tlp": 3 } ' -F attachment=@ -F attachment=@ 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) Sorgular: İ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. Yanıtlar GET - Desteklenen Formatları Listele Yanıtlar GET - Vaka Raporunu Görüntüle Yanıtlar