Commandes Linux
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
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.
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