Cybersecurity
some stuff I keep about cyber and co.
Training websites​
Name | Priority | website |
---|---|---|
Defend the Web | High 🔥 | https://defendtheweb.net/auth |
ROOTME | High 🔥 | https://www.root-me.org/?page=news&lang=fr |
Hacksplaining | https://www.hacksplaining.com | |
cryptohack | https://cryptohack.org | |
tryhackme | https://tryhackme.com | |
pwnbox | https://www.hackthebox.com/ |
Capture the Flag​
https://github.com/apsdehal/awesome-ctf
Threat modelling​
https://github.com/hysnsec/awesome-threat-modelling
Threat intelligence​
https://github.com/hslatman/awesome-threat-intelligence
Awesome Threat Detection and Hunting​
A curated list of awesome threat detection and hunting resources
https://github.com/0x4D31/awesome-threat-detection
Niveau attendu en cybersec par l’anssi​
Annexe B : Description des thèmes de la cybersécurité Thèmes principaux, Détail
- FONDAMENTAUX Historique de la cybersécurité Vocabulaire et principes fondamentaux de la cybersécurité Objectifs et propriétés de la sécurité Objectifs et profils des attaquants, typologie des attaques Vulnérabilité, menaces et contre-mesures Malware : types et évolution, principes de fonctionnement, protection contre les malwares Analyse et gestion de risques Les acteurs de la cybersécurité France/Monde Sûreté de fonctionnement
- ELECTRONIQUE ET ARCHITECTURES MATERIELLES Attaques physiques Conception de composants sécurisés / électronique Architecture des ordinateurs Systèmes embarqués Carte à puce
- SYSTEMES D’EXPLOITATION Principes génériques Unix / Linux / MacOS X Windows OS embarqués, OS mobiles (Android) Hyperviseurs et virtualisation Malwares : rétro-ingénierie Equipements et produits de sécurité système (Antivirus, FW, HIDS)
- RESEAUX ET PROTOCOLES Modèles (OSI) et types de réseaux (PAN, LAN, WLAN...) Protocoles et services Équipements et produits de sécurité réseaux (Firewall, sondes IDS/IPS, passerelles VPN, concentrateurs SSL, switches) Outils d’analyse et d’inspection
- CRYPTOLOGIE Fondamentaux des principes (symétrique, asymétrique, hachage) Fondamentaux des services (chiffrement, signature…) Application, et services (TLS/SSL, chiffrement de disque, dans le Cloud…) Ingénierie de la cryptologie IGC, gestion des clés / certificats Implantations matérielle et logicielles de la cryptographie Algorithmes, modes (spécialisation)
- STEGANOGRAPHIE ET TATOUAGE DĂ©finitions, principes, applications
- BASES DE DONNEES Sécurité des bases de données SQL/NoSQL Problématiques Big Data, Open Data… Vulnérabilité des applications
- ASPECTS SYSTEMES ET SYSTEMES DE SYSTEMES Architecture produits Architecture systèmes Architecture applicatives (sécurisation des applications web…) Intégration de la ToIP/VoIP
- NORMES, CERTIFICATIONS ET GUIDES ISO 2700X ISO 22301 PCA/PRA Standards émanant de l’industrie, normes métiers : trusted computing, UEFI, UIT, IETF, IEEE, W3C, PCI-DSS PDCA Management de la qualité: projets (processus / apprentissage) CMMI, SCRUM; Services: ITIL, Lean software Guides (ANSSI, ENISA, NIST, SANS, NSA/CSS...)
- CERTIFICATIONS ET EVALUATION Schéma de certifications « critères communs » Autres schémas : CSPN…
- POLITIQUE CYBERSECURITE ET SMSI Organisation de la cybersécurité en France et à l’étranger Démarche d’analyse de risque Conception et mise en place d’une PSSI Supervision Contrôle, audit CERT SOC Traitement des incidents de sécurité : CISRT / CALID / DGA-MI
- DROIT ET REGLEMENTATION Droit et réglementation génériques en France Droit et réglementation spécifiques (O.I.V., métiers) Droit et réglementation au niveau international
- DEVELOPPEMENT LOGICIEL ET INGENIERIE LOGICIELLE Compilation / interprétation et exécution Développement sécurisé, durcissement de code, analyse formelle Architecture logicielle Relecture, analyse statique de code, tests Environnement de développement
- GESTION DE PROJET Gestion de la SSI dans les projets Démarche « homologation »
- CYBERDEFENSE Doctrine d’emploi (en France et à l’étranger) Détection, agrégation, normalisation, corrélation, reporting, stockage Réaction, traitement, CISRT, coordination, PCA/PRA, cyberrésilience Gestion de crise, communication Préservation de la preuve, Réponse juridique
- FORENSICS Forensics, analyse post mortem, sûreté des logs
- SYSTEMES SPECIFIQUES, INFORMATIQUE INDUSTRIELLE SCADAs Objets connectés
- ASPECTS SOCIAUX ET SOCIETAUX Ingénierie sociale Phishing Contournement de la politique de sécurité Ergonomie de la sécurité Hygiène informatique : guides ANSSI / ENISA / NIST Géopolitique et Intelligence économique
- TESTS D’INTRUSION Principes Droit Outils
- SECURITE PHYSIQUE Sécurité physique des SI : de conception, de fonctionnement Contrôle d’accès: authentification, autorisation, traçabilité
- PROBLEMATIQUE SSI EN CONTEXTES SPECIFIQUES Informatique nébuleuse (cloud computing) Infogérance, externalisation, dépérimétrisation Mobilité Multi-niveaux
Cybersec OS​
knowledge in cybersec about diff OS.
MOBILE​
https://github.com/vaib25vicky/awesome-mobile-security
android​
https://github.com/ashishb/android-security-awesome
WINDOWS​
https://github.com/marcosValle/awesome-windows-red-team
OSX​
OSX security and stuff related
IOS and macOS security related tools awesome macOS and iOS Security Related Tools
QUBE OS​
Networks​
Network Health checklist​
https://github.com/fukawi2/NetworkHealthChecklist
cheatsheets​
CloudFlare​
DNS + DDOs protection
Network analysis​
https://github.com/briatte/awesome-network-analysis
ROUTER​
Router Security Checklist​
https://github.com/jonmbake/router-security-checklist
Payloads​
Les payloads, ou charges utiles, sont les éléments de cyberattaques qui provoquent des dégâts. Les payloads malveillants peuvent rester en sommeil sur un ordinateur ou un réseau pendant plusieurs secondes, voire plusieurs mois, avant d'être déclenchés.
Dans le cadre d'une cyber-attaque, le payload malveillant est le composant de l'attaque qui cause un préjudice à la victime. À la manière des soldats grecs dissimulés à l'intérieur du cheval de Troie, un payload malveillant peut demeurer inoffensif pendant un certain temps jusqu'à ce qu'il soit déclenché.
Les vecteurs d'attaque tels que les virus, les vers et les logiciels malveillants peuvent tous contenir un ou plusieurs payloads malveillants. Des payloads malveillants peuvent également être dissimulés dans les pièces jointes des e-mails. En fait, Symantec a révélé qu'un e-mail sur 359 contient un payload malveillant, et ce rapport tend à augmenter.
dommages causés par des payloads malveillants :
- Vol de données : le vol d'informations sensibles, telles que des identifiants de connexion ou des coordonnées bancaires, est particulièrement fréquent dans les différentes formes de violations de données.
- Surveillance des activités : un payload malveillant exécuté peut servir à surveiller l'activité des utilisateurs sur un ordinateur, à des fins d'espionnage, de chantage, ou pour déterminer des modèles de comportement des consommateurs qui peuvent être vendus à des annonceurs.
- Affichage de publicités : certains payloads malveillants affichent des publicités persistantes et indésirables, par exemple des pop-ups et des pop-unders, sur l'appareil de la victime.
- Suppression ou modification de fichiers : Voilà l'une des conséquences les plus graves engendrées par un payload malveillant. Des fichiers peuvent être supprimés ou modifiés dans le but de modifier le comportement d'un ordinateur, voire de désactiver le système d'exploitation et/ou les processus de démarrage. Par exemple, certains payloads malveillants sont conçus pour « briquer » des smartphones, ce qui signifie qu'il devient impossible de les allumer ou de les utiliser de quelque manière que ce soit.
- Téléchargement de nouveaux fichiers : Certains payloads malveillants se présentent sous la forme de fichiers très légers et faciles à distribuer, mais une fois exécutés, ils déclenchent le téléchargement d'un logiciel malveillant beaucoup plus néfaste.
- Exécution de processus en arrière-plan : Un payload malveillant peut également être activé pour exécuter discrètement des processus en arrière-plan, par exemple pour miner des crypto-monnaies ou stocker des données.
Comment les payloads malveillants sont-ils exécutés ?
Les pirates doivent d'abord trouver une méthode pour introduire le payload malveillant dans l'ordinateur de la victime. Les attaques par ingénierie sociale et le détournement du DNS sont deux exemples courants de techniques de transmission de payload malveillant.
Une fois le payload malveillant en place, ce dernier reste généralement en sommeil jusqu'à son exécution. Les pirates peuvent exécuter leurs payloads malveillants de différentes manières. Voici quelques exemples courants de méthodes d'exécution d'un payload malveillant :
- Ouverture d'un fichier exécutable : par exemple, une victime télécharge la pièce jointe d'un e-mail qui est en fait un logiciel piraté et double-clique sur le fichier d'installation qui exécute le payload.
- Déclenchement d'un ensemble spécifique de comportements : appelé « bombe logique ». Par exemple, un employé peu scrupuleux pourrait introduire dans le réseau de son entreprise une bombe logique qui vérifierait en permanence si cet employé figure toujours sur le registre du personnel. Lorsqu'il ne sera plus employé, la condition de déclenchement de la bombe logique sera remplie et le payload malveillant sera activé.
- Ouverture de certains fichiers non exécutables : certains fichiers non exécutables peuvent également contenir des payloads malveillants. Ainsi, certaines attaques cachent des payloads malveillants dans des fichiers d'images PNG. Lorsqu'une victime ouvre ces images, le payload malveillant est activé.
MĂ©thodes permettant de bloquer les payloads malveillants
Compte tenu de la grande diversité des méthodes de distribution et d'activation des payloads malveillants, il n'existe aucune solution universelle pour les atténuer. Il est important de se méfier des escroqueries par hameçonnage et des autres attaques d'ingénierie sociale, mais il convient également de prendre des précautions lors du téléchargement de fichiers ou de la réception de tout type de données sur Internet. Il est conseillé de toujours effectuer une recherche de virus sur les fichiers téléchargés, même s'ils semblent provenir d'une source fiable. Il est important de se méfier des escroqueries par hameçonnage et des autres attaques d'ingénierie sociale, mais il convient également de prendre des précautions lors du téléchargement de fichiers ou de la réception de tout type de données sur Internet. Il est conseillé de toujours effectuer une recherche de virus sur les fichiers téléchargés, même s'ils semblent provenir d'une source fiable.
NMAP​
nmap -PR 192.168.1.1-1/24 pour découvrir mon réseau local
Nmap Cheat Sheet 2023: All the Commands, Flags & Switches
Forensic​
liste des awesome githubs à lire​
fbi tools awesome forensictools Digital forensics Guide
Incident Response​
A curated list of tools and resources for security incident response, aimed to help security analysts and DFIR teams.
Digital Forensics and Incident Response (DFIR) teams are groups of people in an organization responsible for managing the response to a security incident, including gathering evidence of the incident, remediating its effects, and implementing controls to prevent the incident from recurring in the future. https://github.com/meirwah/awesome-incident-response
Honeypots​
https://github.com/paralax/awesome-honeypots
Cryptography​
mooc​
- Applied Cryptography MOOC
Websites​
Python stuff​
going from hex to bytes in python :​
In Python, the bytes.fromhex()
 function can be used to convert hex to bytes. The .hex()
 instance method can be called on byte strings to get the hex representation.
Base 64​
la base 64 est un encodage particulier qui permet de représenter des données binaires en utilisant 64 caractères. Un char de base64 encode 6 bits.
la base 64 est très utilisée en encoding en ligne pour les images par exemple.
in Python, after importing the base64 module with import base64
, you can use the base64.b64encode()
function. Remember to decode the hex first as the challenge description states.
cheatsheets​
https://cheatography.com/deudaz15/cheat-sheets/15-kryptologie/pdf/
books​
to look into​
https://github.com/sobolevn/awesome-cryptography
Awesome Homomorphic Encryption​
###TODO https://github.com/jonaschn/awesome-he
Hash et Keys​
Category: Security
Hash and key verification​
Why should anyone verify keys and signatures?​
Digital signatures can both prove authenticity and integrity to a reasonable degree of certainty. Authenticity ensures that a given file was indeed created by the person who signed it (i.e. that it was not forged by a third party). Integrity ensures that the contents of the file have not been tampered with (i.e. that a third party has not undetectably altered its contents en route).
Digital signatures cannot prove any other property (e.g. that the signed file is not malicious). There is nothing that could stop someone from signing a malicious program (and it happens from time to time in reality).
The point is that we must decide who we will trust (e.g. Linus Torvalds, Microsoft, or the Parrot Project) and assume that if a given file was signed by a trusted party, then it should not be malicious or negligently buggy. The decision of whether to trust any given party is beyond the scope of digital signatures. It’s more of a sociological and political decision.
Once we decide to trust certain parties, digital signatures are useful, because they make it possible for us to limit our trust only to those few parties we choose and not to worry about all the bad things that can happen between us and them, e.g. server compromises (parrotsec.org will surely be compromised one day, so don’t blindly trust the live version of this site), dishonest IT staff at the hosting company, dishonest staff at the ISPs, Wi-Fi attacks, etc.
By verifying all the files we download that purport to be authored by a party we’ve chosen to trust, we eliminate concerns about the bad things discussed above, since we can easily detect whether any files have been tampered with (and subsequently choose to refrain from executing, installing, or opening them).
However, for digital signatures to make any sense, we must ensure that the public keys we use for signature verification are indeed the original ones. Anybody can generate a GPG key pair that purports to belong to the “Parrot OS” but of course only the key pair that we (i.e. the Parrot Team) generated is the legitimate one. The next section explains how to verify the validity of the ParrotOS signing keys in the process of verifying a Parrot OS ISO. However, the same general principles apply to all cases in which you may wish to verify a PGP signature, such as verifying repositories, not just ISOs.
Fetch the key and Verify the repositories​
Optional: Complete the steps below if unfamiliar with GnuPG or if they haven't already been performed. This will fix eventual GPG: WARNING: unsafe ownership warnings.
steganography​
snow, a steganography app​
https://cheatography.com/tynamoguy/cheat-sheets/snow-usage/pdf/
awesome pages
https://github.com/carpedm20/awesome-hacking
https://github.com/Hack-with-Github/Awesome-Hacking
Damn Vulnerable Web Application Docker container
awesome vulnerable
VIRTUALISATION
https://github.com/WinMin/awesome-vm-exploit
Shodan​
cheat sheet​
https://cheatography.com/sir-slammington/cheat-sheets/shodan/pdf/
Privilege escalation
https://github.com/m0nad/awesome-privilege-escalation
PASSIVE RECON
The harvester
TheHarvester is used for gathering a range of information such as emails, sub-domains, hosts, from different public sources. This is a passive reconnaissance tool.
https://cheatography.com/classassignment124/cheat-sheets/theharvester-cheat-sheet/pdf/
Nmap
Host dicovery​
liste des principales commandes pour découvrir des hôtes sur un réseau.
$ nmap -sL # (List Scan)
$ nmap -sn # (No port scan)
$ nmap -Pn # (No ping)
$ nmap -PS <port list> # (TCP SYN Ping)
$ nmap -PA <port list> # (TCP ACK Ping)
$ nmap -PU <port list> # (UDP Ping)
$ nmap -PY <port list> # (SCTP INIT Ping)
$ nmap -PE; -PP; -PM # (ICMP Ping Types)
$ nmap -PO <protocol list> # (IP Protocol Ping)
$ nmap --disable-arp-ping # (No ARP or ND Ping)
$ nmap --traceroute # (Trace path to host)
$ nmap -n # (No DNS resolution)
$ nmap -R # (DNS resolution for all targets)
$ nmap --resolve-all # (Scan each resolved address)
$ nmap --system-dns # (Use system DNS resolver)
$ nmap --dns-servers <server1>[,<server2>[,...]] # (Servers to use for reverse DNS queries)
Nmap Port Scanning Basics​
While Nmap has grown in functionality over the years, it began as an efficient port scanner, and that remains its core function. The simple command nmap scans 1,000 TCP ports on the host . While many port scanners have traditionally lumped all ports into the open or closed states, Nmap is much more granular. It divides ports into six states: open, closed, filtered, unfiltered, open|filtered, or closed|filtered.
These states are not intrinsic properties of the port itself, but describe how Nmap sees them. For example, an Nmap scan from the same network as the target may show port 135/tcp as open, while a scan at the same time with the same options from across the Internet might show that port as filtered
Six port states recognized by Nmap​
- open
An application is actively accepting TCP connections, UDP datagrams or SCTP associations on this port. Finding these is often the primary goal of port scanning. Security-minded people know that each open port is an avenue for attack. Attackers and pen-testers want to exploit the open ports, while administrators try to close or protect them with firewalls without thwarting legitimate users. Open ports are also interesting for non-security scans because they show services available for use on the network.
- closed
A closed port is accessible (it receives and responds to Nmap probe packets), but there is no application listening on it. They can be helpful in showing that a host is up on an IP address (host discovery, or ping scanning), and as part of OS detection. Because closed ports are reachable, it may be worth scanning later in case some open up. Administrators may want to consider blocking such ports with a firewall. Then they would appear in the filtered state, discussed next.
- filtered
Nmap cannot determine whether the port is open because packet filtering prevents its probes from reaching the port. The filtering could be from a dedicated firewall device, router rules, or host-based firewall software. These ports frustrate attackers because they provide so little information. Sometimes they respond with ICMP error messages such as type 3 code 13 (destination unreachable: communication administratively prohibited), but filters that simply drop probes without responding are far more common. This forces Nmap to retry several times just in case the probe was dropped due to network congestion rather than filtering. This slows down the scan dramatically.
- unfiltered
The unfiltered state means that a port is accessible, but Nmap is unable to determine whether it is open or closed. Only the ACK scan, which is used to map firewall rulesets, classifies ports into this state. Scanning unfiltered ports with other scan types such as Window scan, SYN scan, or FIN scan, may help resolve whether the port is open
- open|filtered
Nmap places ports in this state when it is unable to determine whether a port is open or filtered. This occurs for scan types in which open ports give no response. The lack of response could also mean that a packet filter dropped the probe or any response it elicited. So Nmap does not know for sure whether the port is open or being filtered. The UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.
- closed|filtered
This state is used when Nmap is unable to determine whether a port is closed or filtered. It is only used for the IP ID idle scan.
Not shown: 995 filtered ports
PORT STATE SERVICE
80/tcp open http
113/tcp closed ident
443/tcp open https
8080/tcp open http-proxy
8443/tcp open https-alt
Nmap done: 1 IP address (1 host up) scanned in 18.57 seconds
# Notice the STATE
MIMIKATZ
Mimikatz est une application en accès libre qui permet aux utilisateurs de voir et enregistrer des informations d’authentification comme les tickets Kerberos. Étant donné que Benjamin Delpy dirige toujours les développements de Mimikatz, l’ensemble d’outils fonctionne avec la version actuelle de Windows et intègre les attaques les plus récentes.
Les hackers utilisent couramment Mimikatz pour voler des données d’identification et augmenter les droits : dans la plupart des cas, un logiciel de protection des terminaux et des systèmes antivirus le détecteront et le supprimeront. À l’inverse, les testeurs d’intrusion utilisent Mimikatz pour détecter et exploiter les vulnérabilités de vos réseaux afin que vous puissiez leur trouver une parade.
tutoriel
LOCKPICKING
https://github.com/fabacab/awesome-lockpicking
KERNEL EXPLOITS
Linux
https://github.com/SecWiki/linux-kernel-exploits
rootkit​
https://github.com/milabs/awesome-linux-rootkits
HACKER SEARCH ENGINES
https://github.com/edoardottt/awesome-hacker-search-engines
Get hothotspots wifis
GAME HACKING​
https://github.com/gmh5225/awesome-game-security
FLIPPER ZERO​
liens utiles Flipper Zero​
awesome github https://github.com/djsime1/awesome-flipperzero
ESP8266_ESP32
https://github.com/agucova/awesome-esp
BLACK HAT METHODOLOGIES​
Lockheed Martin Cyber Kill Chain (CKC).​
The CKC consists of seven steps that a black hat must accomplish for their attack to be effective. They include reconnaissance, weaponization, delivery, exploitation, installation, command and control, and attack on objectives.
References​
- Newbie Contest - Challenges informatiques francophones
- picocrypt - tool for encryption
- some thingy about honeypots
- Blog de Gentil Kiwi
- DevSecOps
- awesome-devsecops
- awesome-malware-analysis
- how to become a hacker
- awesome-browser-exploit
- awesome vulnerable
- awesome-shodan-queries
- Aircrack-ng
- awesome-pentest-cheat-sheets
- enaqx/awesome-pentest