[PYTHON] Essayez de toucher libtaxii

Déclencheur

J'ai l'opportunité de travailler avec des documents stix au travail, pour mieux comprendre Tout d'abord, touchons-le pour étudier le contenu des données côté client.

environnement

% sw_vers     
ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G1217

% python -V
Python 2.7.13

% pip -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

% pip show libtaxii
Name: libtaxii
Version: 1.1.110
Summary: TAXII Library.
Home-page: http://taxii.mitre.org/
Author: Mark Davidson
Author-email: [email protected]
License: UNKNOWN
Location: /usr/local/lib/python2.7/site-packages
Requires: six, lxml, python-dateutil

Hail a TAXII.com ( http://hailataxii.com ) La méthode de démonstration est décrite ci-dessous. Hailataxii and Libtaxii Demo ( https://github.com/STIXProject/schemas/wiki/Hailataxii-and-Libtaxii-Demo )

Procédure d'acquisition de documents Stix

  1. Vérifiez les services gérés côté serveur

Tout d'abord, quels types de services sont disponibles sur le serveur? Je veux confirmer. Si vous visitez Hail a TAXII.com, vous trouverez les informations suivantes:

· Nos données sont accessibles via le protocole de message TAXII-HTTP. (1.0 & 1.1) ・ Le service de découverte se trouve à l'adresse http://hailataxii.com/taxii-discovery-service ・ Les connexions anonymes sont acceptées. · Les clients qui nécessitent des informations de connexion peuvent utiliser HTTP-Basic user = guest, password = guest.

Sur la base des informations ci-dessus, connectez-vous au serveur pour vérifier le service correspondant.

```
% discovery_client --host hailataxii.com --path /taxii-discovery-service --username guest --pass guest
Request:

Message Type: Discovery_Request
Message ID: 7418183229071165630

Response:

Message Type: Discovery_Response
Message ID: 73726; In Response To: 7418183229071165630
  === Service Instance ===
Service Type: DISCOVERY
Service Version: urn:taxii.mitre.org:services:1.1
Protocol Binding: urn:taxii.mitre.org:protocol:https:1.0
Service Address: http://hailataxii.com:80/taxii-data
Message Binding: urn:taxii.mitre.org:message:xml:1.1
Available: True
Message: None
  === Service Instance ===
Service Type: COLLECTION_MANAGEMENT
Service Version: urn:taxii.mitre.org:services:1.1
Protocol Binding: urn:taxii.mitre.org:protocol:https:1.0
Service Address: http://hailataxii.com:80/taxii-data
Message Binding: urn:taxii.mitre.org:message:xml:1.1
Available: True
Message: None
  === Service Instance ===
Service Type: POLL
Service Version: urn:taxii.mitre.org:services:1.1
Protocol Binding: urn:taxii.mitre.org:protocol:https:1.0
Service Address: http://hailataxii.com:80/taxii-data
Message Binding: urn:taxii.mitre.org:message:xml:1.1
Available: True
Message: None
```

Tout d'abord, vous pouvez voir que vous devez accéder à l'URL suivante pour voir les données. Service Address: http://hailataxii.com:80/taxii-data

En plus de cela, le contenu suivant est décrit ci-dessus.

・ Type de service: DÉCOUVERTE Le service Taxii est ouvert au public.

・ Type de service: COLLECTION_MANAGEMENT Quel type de données accumulées gérez-vous? Il est possible de confirmer le type.

・ Type de service: POLL Il est possible de se référer aux données accumulées.

On peut voir que ce qui précède peut être utilisé avec ce serveur. En plus de ce qui précède, taxii dispose également d'un service appelé «Boîte de réception» qui vous permet de publier des données, mais vous pouvez voir que cette fois, ce n'est pas autorisé.

  1. Vérifiez le type de données

En 1., il a été trouvé que pour vérifier le type de données, accédez à COLLECTION_MANAGEMENT. Sur la base des informations trouvées jusqu'à présent, connectez-vous au serveur pour vérifier le type suivant.

```
% collection_information_client --host hailataxii.com --username guest --pass guest --path /taxii-data
Request:

Message Type: Collection_Information_Request
Message ID: 4659866494431617975

Response:

Message Type: Collection_Information_Response
Message ID: 85921; In Response To: 4659866494431617975
Contains 11 Collection Informations
=== Data Collection Information ===
Collection Name: guest.Abuse_ch
Collection Type: DATA_FEED
Available: True
Collection Description: guest.Abuse_ch
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.CyberCrime_Tracker
Collection Type: DATA_FEED
Available: True
Collection Description: guest.CyberCrime_Tracker
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.EmergineThreats_rules
Collection Type: DATA_FEED
Available: True
Collection Description: guest.EmergineThreats_rules
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.EmergingThreats_rules
Collection Type: DATA_FEED
Available: True
Collection Description: guest.EmergingThreats_rules
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.Lehigh_edu
Collection Type: DATA_FEED
Available: True
Collection Description: guest.Lehigh_edu
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.MalwareDomainList_Hostlist
Collection Type: DATA_FEED
Available: True
Collection Description: guest.MalwareDomainList_Hostlist
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.blutmagie_de_torExits
Collection Type: DATA_FEED
Available: True
Collection Description: guest.blutmagie_de_torExits
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.dataForLast_7daysOnly
Collection Type: DATA_FEED
Available: True
Collection Description: guest.dataForLast_7daysOnly
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.dshield_BlockList
Collection Type: DATA_FEED
Available: True
Collection Description: guest.dshield_BlockList
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: guest.phishtank_com
Collection Type: DATA_FEED
Available: True
Collection Description: guest.phishtank_com
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================

=== Data Collection Information ===
Collection Name: system.Default
Collection Type: DATA_FEED
Available: True
Collection Description: system.Default
Supported Content:     urn:stix.mitre.org:xml:1.0
=== Polling Service Instance ===
  Poll Protocol: urn:taxii.mitre.org:protocol:https:1.0
  Poll Address: http://hailataxii.com:80/taxii-data
  Message Binding: urn:taxii.mitre.org:message:xml:1.1
==================================
```

Ce serveur fournit 10 types de données (1 type en double). Vous pouvez voir respectivement le type de données «Nom de la collection» et la destination de référence «Adresse d'interrogation» du type de données.

・ Nom de la collection: guest.Abuse_ch Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.CyberCrime_Tracker Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.EmergineThreats_rules Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.Lehigh_edu Poll Address: http://hailataxii.com:80/taxii-data

-Nom de la collection: guest.MalwareDomainList_Hostlist Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.blutmagie_de_torExits Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.dataForLast_7daysOnly Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.dshield_BlockList Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: guest.phishtank_com Poll Address: http://hailataxii.com:80/taxii-data

・ Nom de la collection: système. Poll Address: http://hailataxii.com:80/taxii-data

  1. Se référer en fait aux données

Nous avons pu confirmer le type de données en 1. et la destination de référence des données en 2. Maintenant, récupérons les données.

Les données ont été effectivement téléchargées et 14 390 fichiers ont été créés. La prochaine fois, j'aimerais vérifier le contenu de chaque commande et le fichier de contenu.

Site de référence

--Procédure d'échange automatique des informations d'index de détection TAXII Vue d'ensemble: https://www.ipa.go.jp/security/vuln/TAXII.html

Recommended Posts

Essayez de toucher libtaxii
Essayez Python
essayez pysdl2
Essayez PyOpenGL