Au cours de ma carrière, je suis souvent venu a devoir revoir la sécurité sur certains points et de manières générales.
J'ai donc du me pencher sur comment peu-on entrer dans un système (sans y avoir été invité) et comment puis-je éviter que d'autre suivent mon chemin.
J'ai aussi du me penché sur du forensic (ce qui s'est passé APRES qu'un virus soit entré dans le systeme (comme il est entré et qu'a-t-il fait).
j'ai décidé de compilé ici quelques aide-mémoires de différents solutions...
Nmap 6.01 ( http://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: Input from list of hosts/networks
-iR <num hosts>: Choose random targets
--exclude <host1[,host2][,host3],...>: Exclude hosts/networks
--excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sn: Ping Scan - disable port scan
-Pn: Treat all hosts as online -- skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
--dns-servers <serv1[,serv2],...>: Specify custom DNS servers
--system-dns: Use OS's DNS resolver
--traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
-F: Fast mode - Scan fewer ports than the default scan
-r: Scan ports consecutively - don't randomize
--top-ports <number>: Scan <number> most common ports
--port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
--version-intensity <level>: Set from 0 (light) to 9 (try all probes)
--version-light: Limit to most likely probes (intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
-sC: equivalent to --script=default
--script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories
--script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts
--script-args-file=filename: provide NSE script args in a file
--script-trace: Show all data sent and received
--script-updatedb: Update the script database.
--script-help=<Lua scripts>: Show help about scripts.
<Lua scripts> is a comma separted list of script-files or script-categories.
OS DETECTION:
-O: Enable OS detection
--osscan-limit: Limit OS detection to promising targets
--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
Options which take <time> are in seconds, or append 'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
--min-rate <number>: Send packets no slower than <number> per second
--max-rate <number>: Send packets no faster than <number> per second
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu <val>: fragment packets (optionally w/given MTU)
-D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
-S <IP_Address>: Spoof source address
-e <iface>: Use specified interface
-g/--source-port <portnum>: Use given port number
--data-length <num>: Append random data to sent packets
--ip-options <options>: Send packets with specified ip options
--ttl <val>: Set IP time-to-live field
--spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address
--badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--log-errors: Log errors/warnings to the normal-format output file
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script scanning, and traceroute
--datadir <dirname>: Specify custom Nmap data file location
--send-eth/--send-ip: Send using raw ethernet frames or IP packets
--privileged: Assume that the user is fully privileged
--unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page.
EXAMPLES:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
Hannah Bowen (from comparitech.ltd) send me somes additionnals ressources about nmap https://comparite.ch/nmap-cs and a handfull cheat-sheet (see bellow), many thanks to them for the share guys:
Depuis quelques temps je cherche a savoir ce qui se passe sur mes serveurs... donc je lis le syslog et quelques autres logs... ca prend (un peu) de temps... (en fait beaucoup...).
Comme les logs des services sont copieux, pour faciliter l’analyse en cas de problèmes, un outil comme ceux-ci sont nécessaires pour vous informer en un coup d’oeil.
Le principe de Logwatch est simple : quotidiennement, il va lire les logs de votre serveur pour en extraire les informations du jour, les trier et vous envoyer le résumé par mail.
cela s'installe simplement:
et ca donne par défaut un résultat satisfaisant...
Performance amavisd et clamav, dovcot event statistics et aussi erreurs, postfix, les upgrades et installation qui ont été faites depuis 24h... le fail2ban, les erreurs apache (403, 404, 405, ...) sshd, et aussi l'espace disque...
Bref ca fait le café pour avoir une idée de ce qui se passe... et ca se configure comme toujours via /etc/logwatch/conf/logwatch.conf
iI faut juste penser a mettre le "MailTo" correctement et de vérifier que le paramêtre "mailer" soit correcte (sinon ca marche moins bien).
Vous trouverez aussi quelque options intéressantes...
Dans le dossier /etc/logwatch/conf/services/ se trouvent tous les fichiers de config pour chacun des services qui sont surveillés
Pas grand chose de plus a dire, si ce n'est d'explorer les fichiers de /etc/logwatch, et que c'est une simple tache cron qui s'occupe de l'executer...
La gestion des services surveillés par Logwatch se fait via le paramêtre Service=
fichier de configuration minimal:
Beaucoup plus complexe outils... ce dernier parcours les logs que vous lui demandez à la recherche des anomalies... (par défaut presque tout est une anomalie pour logcheck) et vous envois le résultat par email toutes les heures...
La configuration se fait via /etc/logcheck/logcheck.conf rien de neuf dans ce fichier
mais le plus gros est en fait dans les regex qui filtrent les logs... voici mes fichiers en plus:
amavis-extra
dovcot-extra
freshclam-extra
postfix-extra
Hier j'ai reçu un mail intéressant d'une certaine Angela, mais en fait non, l'email venait d'un certains darell.... bref une belle merde en vue...
Notez l'anglais parfait dans le message et il y avait un document word attaché, je ne mettrais pas ce doc a disposition, mais voici sa petite analyse :D
C'est donc bien un Document Word, en tout cas ca en a tout l'air... même si l'extension n'est pas correcte, elle devrait être "docx"... mais bon passons...
Ca resemble aussi à un word... direction la sandbox
Okaiiii, bien sur un document word a besoin de se connecter a internet, logique quoi...
Virus total ne connait pas ... pour l'instant, mais ce matin (jeudi) plus de 50% des antivirus reconnaissent mon coco...
extrayons donc les macros...
En gras les trucs qui ne devrait (en temps normal) pas être dans ce document... en vrac :
Ce genre de choses ne devraient pas se trouver là, voyons cette macro, j'ai éliminé une grosse partie, mai je garde les plus facile à lire....
Bref un downloader....
En gros cette merde
J'ai dû retrouvé comment un virus était enter dans le systeme (et ce près d'un mois après son intrusion).
Voici rapidement les étapes que j'ai suivit (merci Mortis pour le cours).
Ces étapes peuvent aussi être utilisée pour savoir ce qui s'est réellement passer sur un PC a une date donnée.
Step 1:
Créer une image disque, je vous conseille fortement de booté sur une clé USB et de monté un disque dur externe en USB:
Step 2:
Sur une machine dédiée (Debian par exemple) vous devez regarder l'offset de la partition qui vous intéresse (colonne "Start").
Dans le sleuthkit, se trouve un très bon outils : mmls
step 3:
Sur le même PC, extrayez les meta-données fichiers, utilisez FLS
fls lists the files and directory names in a file system. It will process the contents of a given directory and can display information on deleted files,etc.
Le paramètre -o est la colonne "Start" de l'outils précédent, sans lui, vous n'aurez rien d'autre que un message d'erreur.
step 4:
Il ne reste plus qu'a générer la timeline (complete depuis même avant l'installation de la machine, 1996 (!)), l'outils est mactime
step 5:
Dans cette time line, il faut rechercher le fichier et/ou le temps qui vous intéresse... et voir un peu avant, un peu après l'évenement que vous désirez creuser...
Monter l'image en RO pour exploration:
les 32256 sont en fait le résultat du calcul d'offset 63*512 (63 est l'offset en secteur, et 512 la taille d'un secteur)