Linux – information gathering (part 4)

2017-10-08 von Mario

This is the fourth part of Linux – information gathering.

Network

Find all available network connections.

ifconfig -a

In the following files you can find specific information about the desired network configuration.

cat /etc/network/interfaces
cat /etc/sysconfig/network

You can find the configuration file for DNS resolvers here:

cat /etc/resolv.conf
cat /etc/networks

With the administration tool for IPv4/IPv6 packet filtering and NAT you can list all filters.

iptables -L

Show or set the system’s host name.

hostname

Show the system’s DNS domain name.

dnsdomainname

Connections

The command „lsof“ lists open files.

lsof -i

List port socket numbers of standard services.

cat /etc/services

The command „netstat“ or “chkconfig” lists network connections

netstat -antup
netstat -antpx
netstat -tulpn
chkconfig --list

Cache

With „arp“ you can manipulate or display the kernel’s IPv4 network neighbour cache.

arp -e

The following command displays existing routes.

route

 

Previous parts

Linux – information gathering (part 1)

Linux – information gathering (part 2)

Linux – information gathering (part 3)

Linux – information gathering (part 4)

Kategorie: IT-Security Schlagwörter:

Raspberry PI: Installation ohne Monitor (Raspbian Stretch)

2017-10-03 von Mario

Vor einiger Zeit habe ich das Betriebssystem Raspbian auf einem Raspberry PI installiert. Nachdem sich die Schritte für eine Installationen etwas geändert haben, hier eine überarbeitete Anleitung. Für die Installation wurde folgende Version verwendet:

Raspbian Stretch with desktop
Image with desktop based on Debian Stretch
Version: September 2017
Release date: 2017-09-07
Kernel version: 4.9

 

Schritt 1: Download des Betriebssystems unter https://www.raspberrypi.org/downloads/

wget https://downloads.raspberrypi.org/raspbian_latest

Schritt 2: Formatieren der microSD-Karte mit FAT32. (Hinweis: Die Device Adresse kann von der hier angegebenen abweichen!) Alternativ kann hier auch die Software gparted verwendet werden.

sudo mkfs.vfat /dev/mmcblk0

Schritt 3 (Optional): Vergabe einer Volumenbezeichnung

mlabel -i /dev/mmcblk0 ::meinpi  # for fat32

Schritt 4: Entpacken des runtergeladenen Betriebssystems Images

unzip raspbian_latest.zip

Schritt 5: Image Datei auf die SD-Karte übertragen

dd bs=4M if=2017-09-07-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

Schritt 6: Danach erneut auf die SD-Karte zugreifen, da aus Sicherheitsgründen SSH per default deaktiviert ist. Für die Aktivierung des Remote-Zugriffs über SSH muss eine eine leere Datei mit dem Namen “ssh” auf der Boot Partition abgelegt werden.

touch ssh

Schritt 7: Die SD-Karte in den Raspberry Pi schieben bis es leise klickt, dann ist die Karte eingerastet. Danach noch das Netzteil und das Netzwerkkabel anschließen.

Schritt 8: Um den Pi im Netzwerk zu finden, einfach mit nmap scannen oder im Router nachschauen, welche IP Adresse vergeben wurde.

nmap -sP 192.168.168.*

Schritt 9: Erste Anmeldung am Pi mit der gefundenen IP-Adresse.

ssh pi@192.168.168.21

Das default Passwort lautet: raspberry

Schritt 10: Ändern des default Passworts

passwd

Schritt 11: Update des Systems

sudo apt-get update
sudo apt-get dist-upgrade

Schritt 12: Konfiguration des Systems (Uhrzeit, Zeitzone, …)

sudo raspi-config

Schritt 13 (Optional): Remote Desktop installieren

sudo apt-get install xrdp

Der xrdp Prozess wir automatisch beim Starten des Raspberry Pi geladen. Der Status kann wie folgt abgefragt werden:

/etc/init.d/xrdp status

Schritt 14 (Optional): Daraufhin kann eine Remote Desktop Verbindung unter Ubuntu eingerichtet werden. Zu finden ist das Programm im Menü unter “Internet | Zugriff auf entfernte Arbeitsflächen”.

pi3

Nachdem eine Verbindung aufgebaut ist, kann der Desktop verwendet werden.

Kategorie: IT Schlagwörter: , , ,

Hack-IT: Reverse Engineering einer Android App

2017-09-28 von Mario

Bei diesem Hack-IT geht es um eine Android App, welche im Google Play Store erhältlich ist. Die Aufgabe besteht darin, dass einzugebende Passwort in der App herauszufinden.

Link zur App: https://play.google.com

 

Schritt 1

Für eine Analyse der App muss diese heruntergeladen werden. Dafür gibt es zahlreiche Tools, ich habe die Website apkpure.com verwendet. Im Suchfeld auf der Seite die Adresse der App eingeben und danach den “Download” Button betätigen. Daraufhin steht die APK Datei zur Verfügung.

 

Schritt 2

Mit der Software dex2jar können DEX Dateien in JAR Dateien umgewandelt werden. Nach dem Download der Software sourceforge.net/projects/dex2jar/ wird das Archiv noch entpackt

unzip dex2jar-2.0.zip

und Rechte vergeben.

chmod -R +x dex2jar-2.0/

Schritt 3

Jetzt kann die APK Datei umgewandelt werden.

./dex2jar-2.0/d2j-dex2jar.sh CanYouHack.apk

Danach steht die Datei “CanYouHack-dex2jar.jar” zur Verfügung.

Schritt 4

Als nächstes das Programm JD-GUI (jd.benow.ca) herunterladen, mit welchem der Inhalt der JAR Datei ganz einfach angeschaut werden kann.

Daraufhin heißt es suchen, in der Klasse “Mobile1” wird der hilfreiche Text “… right password!” aufgeführt.

Die IF-Anweisung darüber verrät uns das gesuchte Passwort:

if (paramAnonymousView.getText().toString().equals("1337"))

Das gesuchte Passwort lautet: 1337 und das Hack-IT ist gelöst.

Kategorie: IT-Security Schlagwörter: , , , , ,

Schneller Software entwickeln, Zehn Regeln eines Zen Programmierers, Das Spiel der Führung …

2017-09-20 von Mario

In den letzten Wochen sind mir einige gute Artikel und Videos über den Weg gelaufen, die ich gern Teilen möchte.

 

Schneller Software entwickeln?

In dem englischsprachigen Artikel werden verschiedene Ansätze beschrieben, wie Software schneller entwickelt werden kann. Dabei wird auf die Vor- und Nachteile von Sprints, Marathons und Intervallen eingegangen. Weiterhin werden verschiedenste positive und negative Einflussfaktoren auf Entwickler beleuchtet.

https://www.targetprocess.com/articles/speed-in-software-development/

 

Zehn Regeln eines Zen Programmierers

Zehn Regeln eines Zen Programmierers werden hier anschaulich dargestellt.

  1. Focus
  2. Keep your mind clear
  3. Beginner’s mind
  4. No ego
  5. There is no career goal
  6. Shut uo
  7. Mindfulness, care, awareness
  8. There is no boss
  9. Do something else
  10. There is nothing special

https://www.zenprogrammer.org/en/10-rules-of-a-zen-programmer.html

 

Das Spiel der Führung

In dem 35 minütigen englischsprachigen Video stellt Simon Sinek verschiedene Fragen: Warum sind Manager keine Anführer? Warum wird Führung nicht gelehrt? Dabei geht er unterhaltsam auf die einzelnen Sachverhalte ein.

 

Kategorie: Allgemein Schlagwörter:

Ubuntu: fehlende Bibliothek libgtk installieren

2017-09-06 von Mario

Beim Starten einer neuen Software wurde die Fehlermeldung

error while loading shared libraries: libgtk-x11-2.0.so.0: 
cannot open shared object file: No such file or directory

angezeigt. Die fehlende Bibliothek konnte ganz einfach installiert werden:

sudo apt-get install libgtk2.0-0:i386

Danach lief die Software wie gewünscht.

Kategorie: IT Schlagwörter:

Rezension: Das Harvard-Konzept

2017-08-30 von Mario

Autor: Roger Fisher, William Ury, Bruce Patton

Taschenbuch: 306 Seiten

Verlag: Campus Verlag; Auflage: 25 (11. Mai 2015)

Sprache: Deutsch

ISBN-10: 3593502674

ISBN-13: 978-3593502670

Bei dem “Harvard-Konzept” handelt es sich um das Standardwerk zum Thema Verhandeln. Wer beruflich oder privat Verhandlungen führt, dem hilft dieses Buch. Die eigene Herangehensweise an Verhandlungen ändert sich nach dem Konsum des Buches. Es wird kein rein theoretisches Feuerwerk gezündet, sondern alle dargestellten Methoden werden durch praktische Beispiele greifbar aufgearbeitet. Die Autoren geben auch klar zu, dass das Harvard-Konzept nicht das Allheilmittel bei Verhandlungen darstellt. Nur durch Anwendung der Methoden können die eigenen Fähigkeiten verbessert werden. Das Lesen ist hier nur der erste Schritt auf dem Weg, Verhandlungen erfolgreicher und stressfreier zu gestalten.

Das Buch ist strukturiert aufgebaut:

  1. Das Problem
  2. Die Methode
  3. Ja, aber …
  4. Zehn Leserfragen zum Harvard-Konzept
  5. Anhang

 

Das “Harvard-Konzept” ist verständlich geschrieben und ist flüssig zu lesen. Während des Lesens lässt sich das eigene Verhandlungsverhalten auf einige Fallbeispiele sehr gut reflektieren und unterzieht sich unmerklich einer Entwicklung.

 

Wertung: absolut lesenswert

Kategorie: Bücher Schlagwörter: ,

MySQL – Speicherplatz optimieren

2017-08-27 von Mario

Um den Speicherverbrauch einer MySQL Datenbank zu optimieren, kann das Tool mysqlcheck verwendet werden. Um einen Vorher-Nachher-Vergleich durchführen zu können, sollte vor einer Optimierung ein Blick auf den Verbrauch des Speicherplatzes der einzelnen Schemata durchgeführt werden.

 

Schritt 1: Anmelden am Datenbankserver

Mit dem Befehl “mysql” an der Datenbank anmelden und danach das Passwort eingeben.

mysql -u username -p

 

Schritt 2: Übersicht Speicherverbrauch je Schema/Tabelle

Wenn für die Anmeldung der User “root” verwendet wird, dann kann mit folgender SQL-Abfrage eine Auflistung aller Datenbanken und deren Speicherverbrauch abgerufen werden:

SELECT table_schema AS "Datenbank",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema
ORDER BY table_schema;

Um einen detaillierten Blick auf einzelne Tabellen zu erhalten, wird eine weitere Abfrage benötigt. Dabei wird der jeweilige Tabellenname und der Speicherverbrauch dargestellt. In der WHERE-Klausel muss dafür der Schemaname (schema_name) angegeben werden.

SELECT table_name AS "Tabelle",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.tables
WHERE table_schema = "schema_name"
ORDER BY (data_length + index_length) DESC;

 

Schritt 3: Speicherverbrauch optimieren

Falls der mysql Client noch geöffnet sein sollte, einfach mit “STRG + C” beenden, um auf die Konsole zu kommen.

Jetzt kann mit dem Befehl “mysqlcheck” der Speicherplatz der Tabellen optimiert werden:

mysqlcheck -u username -p --optimize --databases meinSchemaname

Danach einfach den Schritt 1 und 2 wiederholen, um den Erfolg zu begutachten. Es ist auch möglich, alle Schemata gleichzeitig zu optimieren, hierfür muss nur der Parameter “–databases” mit “–all-databases” ausgetauscht werden und der Wert “meinSchemaname” entfällt.

 

Weiterführender Link:

MySQL Dokumentation: http://dev.mysql.com/doc/refman/5.5/en/mysqlcheck.html

Kategorie: IT Schlagwörter: , , , , ,

Linux – information gathering (part 3)

2017-08-23 von Mario

This is the third part of Linux – information gathering.

Log files

In log files you can found useful information, just take a short look at the files in the following directory:

ls -alh /var/log

A detailed explanation can be found here:

 

File System

The command “df” reports file system disk space usage.

df -h

With the “mount” command, you can check if there are any attached drives.

mount

Check if there are unused file systems.

cat /etc/fstab

Exploiting

The command „find“ will help to find installed development tools. With these tools, it is possible to exploit the current maschine.

find / -name python*

You can also search for “perl*” or “gcc*”.

The following programms “wget”, “nc”, “ftp” and “curl” can help to transfer software to a maschine. You can find the software in the following way:

find / -name wget

 

Previous parts

Linux – information gathering (part 1)

Linux – information gathering (part 2)

Linux – information gathering (part 3)

Kategorie: IT-Security Schlagwörter: