API of the month: MISP

MISP is a very well known tool in the infosec community that enables individuals and teams to work and share indicators and other case relevant information.

The MISP API comes for free with every MISP installation of the free and open source software, so if you want to try it out, go for it. There are various install guides for MISP.

Once your MISP instance is up and running, you can head over to the MISP API documentation.

Search

Among all endpoints I did use the Search endpoint the most. This endpoint can be used to search all your MISP data. You can either just pass a string and search everything, or you filter by dedicates types. The query can be as complicated as you want it to be. Be careful with just value searches, depending on your data size, the requests might take a while to complete.

Get events

Another very useful thing after your searched is then pull the events that matched your search. This can be helpful to provide more context to analysts who started the search.

PyMisp

When writing about the MISP API, it is important to mention pyMISP, the Python library to access the MISP REST API. It is maintained by the same people behind MISP, so it is kind of a reference implementation of the API and is very easy to use.

Target audience

The target audience for the MISP API is researchers, students, DFIR professionals and everyone who has a need to store and query structured data around events.

More

Want to find more Security APIs? Go and visit my repository: https://github.com/jaegeral/security-apis

iPhone development howto device release with code signing

Wer sich bei Apples iPhone Development Programm angemeldet hat, möchte auch in den Genuss kommen, die eigenen Programme auf einem gerät testen zu können.

Hier eine kleine Anleitung, wie man Xcode dazu bewegt, die Programme auf das iPhone zu spielen.

Weiter unten im Artikel werden Probleme und mögliche Ursachen beschrieben.

1. Schritt Zertifikat beantragen um als iPhone Developer erkannt zu werden

Certificate Signing Request erstellen

Schlüsselbundverwaltung -> Zertifikatsassistent -> Zertifikat einer Zertifizierungsinstanz anfordern

csr

  • Mail Adresse und Name entsprechend dem Apple Account eintragen
  • CSR auf Festplatte speichern
  • Zertifikatverwaltung Apple Developer Connection -> hochladen
  • Nach Bestätigung das Zertifikat herunterladen und zum Schlüsselbund hinzufügen

developmenet-certificates

  • Schlüsselbundverwaltung -> Einstellungen -> Zertifikate beide Optionen ausschalten

2. Device registrieren

3. App ID

Jedes Programm benötigt einen eigenen Identifier.

4. Provisioning

Im 4. Schritt wird das Gerät, der Entwickler und das Programm zu einem Datensatz zusammengeführt.

  • Apple Developer Connection Provisioning Verwaltung -> Add Profile
  • Gerät, Entwickler und App ID auswählen
  • Submit
  • Kurz warten, dann Download des entstandenen Files
  • Datei mit XCode öffnen
  • Im XCode Organizer kann in „Provisioning Profiles“ geprüft werden, was bereits installiert ist.
  • Selbiges beim angeschlossenen iPhone

5. Projekt signen

  • Projektname -> Rechtsklick -> Get Info
  • Code Signing -> Any iPhone OS -> iPhone Developer auswählen

6. Build

  • Device – OS Version Release auswählen
  • Build and Go klicken

build-success

Probleme

Mögliche Fehler die auftreten können:
iphone code signing error

Ursachen:

  • Das kann zum einen daran liegen, das man nicht die richtige Identität ausgewhlt hat, um das Projekt zu signen.
  • Zum anderen kann es sein, dass man sich verschrieben hat beim AppName oder dem Package.
  • Als letzte Ursache kann ein fehlen des gebündelten Provisioning Pakets sein, siehe Schritt 4.

Weitere Infos:

nerdpride Blog Eintrag

Apple Developer Support Center

Bash Script Array und if Problem

Hier ein paar kleine Kniffe in Bezug auf Bash Scripte:

Um einen Array mit Werten anzulegen und diese Werte zu durchlaufen:

#!/bin/bash

TESTARRAY=(hallo welt dies ist ein Array Test)
for i in ${TESTARRAY[@]}
do
  echo $i
done

Diese Ausgabe erzeugt eine zeilenweise Ausgabe der einzelnen Strings im Array.

Als zweites noch ein kleines Kniff bei if-Abfragen in Bash Scripten.
Ein häufig auftretendes Problem, ist ein nicht betreten des Code Teils nach einer if Abfrage:

SELECT=`date '+%w'`
if [["$SELECT" -eq 3]];
then
echo "hello World"
fi

Diese if Anweisung wird nie erfüllt werden, das Problem sind die fehlenden Leerzeichen in der Bedingung.
Mit

SELECT=`date '+%w'`
if [[ "$SELECT" -eq 3 ]];
then
echo "hello World"
fi

funktioniert es wie gewünscht.

Eclipse Zeilennummern

Von Hause aus hat die freie Entwicklungsumgebung Eclipse, wie auch Ableger Aptana und weitere keine Anzeige der Zeilennummern.

Dies hilft bei der Entwicklung jedoch ungemein, da die meisten Error- / Debugausgaben sich auf Zeilennummern beziehen.

Um die Zeilennummern zu aktivieren ist die Checkbox unter:

General -> Editors -> Text Editor

Im Menü Window > Preferences erreichbar.

Bei Betätigen des OK Buttons werden die neuen Einstellungen übernommen und die Zeilennummern werden wie gewünscht angezeigt.