Commandes Linux

De Justine's wiki
Aller à la navigation Aller à la recherche

Commandes Linux

Des commandes diverses, classées selon leur domaine.

Divers

echo ‘ message ‘ | wall #Balance un message à tous les shells

wall sert à lire le contenu d’un fichier ou autre à tous les shells connectés

grep

grep sert à rechercher une chaîne de caractères dans un fichier. Elle peut s'utiliser avec des regex pour devenir un puissant outil de recherche. Dans sa forme la plus simple:

grep texte-à-trouver monfichier.txt

La commande affiche les lignes contenant une occurence du texte recherché.

Elle a des options utiles :

  • -i pour ignorer la casse
  • -n pour indiquer le numéro de ligne contenant le texte

grep est assez utile dans les redirections.

 

Editions de fichiers

Sous vim/vi :


supprimer une ligne entière(raccourci de "couper") : dd
    • supprimer un caractère : x
    • annuler la dernière action : u
    • copier une ligne: Y
    • coller la ligne : p 
    • quitter vi sans enregistrer: faire ESC puis deux points (:) et saisir q (pour quit) soit ESC puis :q
    • enregistrer son fichier : faire ESC puis deux points (:) et saisir w (pour write) 
    • enregistrer son fichier et quitter : faire ESC puis deux points (:) et saisir wq
    • ...

Sécurité

dpkg –verify : Sert à vérifier tous les fichiers modifiés, à prendre avec des pincettes (il se sert de ses propres checksums, qu’un attaquant pourrait modifier)

aide : cf https://kali.training/topic/monitoring-and-logging/ fait à peu près la même chose mais en plus complet

chkrootkit / rkhunter : Ces scripts servent à détecter les rootkits.

theharvester (sur kali): Recueuille des infos en cherchant des adresses mail et autres sur des moteurs de recherche : Exemple :
    theharvester - d innertech.ovh -l 10 -b google : -d le domaine, -l limite à 10 résultats, -b google le moteur de recherche.

chntpw : En root : Une fois la partition windows montée sur un Linux, et qu’on est dans le dossier Windows/System32/config :
    chntpw -i SAM: Permet de modifier des mots de passe Windows, changer le rôle d’utilisateurs, etc

iptables :
    backup des règles : iptables-save > fichier.rules
    restauration : iptables-restore < fichier.rules
    lister les règles : iptables -L
    faire une règle : iptables -A INPUT -i eth0 -p tcp --dport 22 -j         ACCEPT #Adaptable
    Supprimer une règle :  iptables -D  INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

macof Permet d’innonder la table mac-address d’un switch cible avec de fausses @MAC générées aléatoirement. Le but est soit de faire tomber un switch, soit de la faire fonctionner en mode hub pour récupérer tout ce qui passe ensuite avec un wireshark.
    macof -i eth0 -s 10.0.0.8 -d 10.0.0.50
    -i : interface -s source -d : destination (aucun argument obligatoire)

dsniff Sert à sniffer des mots de passe en clair qui passeraient par là. Pas besoin d’options de base, même si -d (debug mode) peut être utile.

Gestion de fichiers

which : similaire à whereis : cherche l’emplacement d’une commande

SCP :
Copy the file "foobar.txt" from a remote host to the local host
$ scp your_username@remotehost.edu:foobar.txt /some/local/directory
Copy the file "foobar.txt" from the local host to a remote host
$ scp foobar.txt your_username@remotehost.edu:/some/remote/directory

Réseau

dig @adresseip : Permet de demander un transfert de zone dns
Exemple : dig@10.0.0.1 ju.lab -t AXFR
Renvoie tous les enregistrement (-t AXFR) pour la zone ju.lab
fierce -dns innertech.lab : fierce receuille des infos sur le DNS de façon plus efficace et bourrine, en tentant un transfert de zone puis en bruteforce. Ca reste dans le domaine du pentest.

nslookup : sert aussi à discuter avec les serveurs DNS.

Exemple de session nslookup ou je cherche l’adresse d’un serveur mail :
justine@Justine-pc:~$ nslookup
> server 1.1.1.1
Default server: 1.1.1.1
Address: 1.1.1.1#53
> set type=mx
> google.com
Server:        1.1.1.1
Address:    1.1.1.1#53
Non-authoritative answer:
google.com    mail exchanger = 40 alt3.aspmx.l.google.com.
google.com    mail exchanger = 50 alt4.aspmx.l.google.com.
google.com    mail exchanger = 10 aspmx.l.google.com.
google.com    mail exchanger = 20 alt1.aspmx.l.google.com.
google.com    mail exchanger = 30 alt2.aspmx.l.google.com.
Authoritative answers can be found from:
> server alt3.aspmx.l.google.com
Default server: alt3.aspmx.l.google.com
Address: 108.177.125.26#53
Default server: alt3.aspmx.l.google.com
Address: 2404:6800:4008:c01::1a#53

netstat : Montrer connexions et ports ouverts
    netstat -l liste les ports en listen
    netstat -lntup : -l pour listen, t pour tcp, u pour udp, -n pour le numéro sans resolve le nom, p pour le programme

lsof -i : montre les connexions avec le PID correspondant

nmap -sS -p- -Pn : Fait un scan nmap syn/stealth sur tous les ports en passant la découverte des hôtes
    -sS pour SYN, -sT pour tcp connect, -sU pour udp, -sUV pour udp avec versions…
    -iL permet de chharger les ip à partir d’un fichier texte (une ip par ligne)
    -nmap a aussi des scripts, avec --script. Ils sont rangés en catégories : par ex’emple on peut utiliser auth, brute, broadcast, default, discovery, dos, exploit, vuln, discovery, external, fuzzer, intrusive, malware, safe ou version : ce sont toutes les catégories de scripts. Si je fais nmap --script vuln @ip, je ferais un scan de toutes les vulnérabilités sur ma cible.

fping : permet les balayages ping. Exemple :
    fping -a -g 192.168.0.1 192.168.0.100 : -a sert à afficher uniquement les actifs, -g permet de définir la plage ip

TCPdump

tcpdump : capture de traces réseaux, analysables en live ou avec wireshark. En Sudo .
    tcpdump -i eth0 : basique
    tcpdump -i eth0 -n : affichage numérique
    tcpdump -i eth0 -n -v : verbeux
    tcpdump -i eth0 -n -v -A : Dump des paquets.
    tcpdump -i eth0 -n -v -A -w fichier_trace.out : Génère un fichier de la trace lisible par Wireshark (un fichier binaire, pas du texte). on peut y coller du grep en live.

Utilisation avancée avec des filtres

TCPDump permet de faire des filtres, un peu comme Wireshark. Il suffit de taper ma commande suivie d'un filtre en quotes. Exemples:

  • 'port http'
  • 'port 80'
  • 'src port http'
  • 'dst port 80'
  • 'src host 192.168.1.1'
  • 'dst host 192.168.1.1'
  • 'host 192.168.168.1.1' ---> S'applique aux adresses IP source et destinataire
  • 'tcp'
  • 'udp'
  • 'icmp' [Et plein d'autres protocoles reconnus par TCPdump]

On peut combiner des filtres:

  • 'host www.google.fr or linuxfr.org' [On peut utiliser des opérateurs booléens]
  • 'port http and host not proxy.societe.local'
  • '(port http or https) and net proxy.societe.local' [net correspond à tout ce qui vient du même réseau que le proxy

Exemple de commande complète :sudo tcpdump -i enp0s3 -w monfichier.out 'filtre' #Ici le filtre sera activé dans le fichier

 

 

Gestion d'utilisateurs

usermod : permet de modifier les paramètres d'un utilisateur