Quelques petites options de dig histoire d’ouvrir la nouvelle catégorie “DNS/Bind”

  • Version de Bind
$ dig @ns-ext.isc.org. chaos txt version.bind +short  
"9.4.1-P1"  
$  
$ dig @ns-ext.isc.org. chaos txt authors.bind +short | head -2  
"Bob Halley"  
"David Lawrence"  
$  
$ dig @ns-ext.isc.org. chaos txt hostname.bind +short  
"ns-ext.pao1.isc.org"  
$
  • Transfert de zone
$ dig axfr @raff.debian.org. debian.org | head -10  

; <<>> DiG 9.3.4 <<>> axfr @raff.debian.org. debian.org  
; (1 server found)  
;; global options: printcmd  
debian.org. 3600 IN SOA samosa.debian.org. hostmaster.debian.org. 2007081601 10800 3600 604800 3600  
debian.org. 3600 IN A 192.25.206.10  
debian.org. 3600 IN MX 0 master.debian.org.  
debian.org. 3600 IN NS raff.debian.org.  
debian.org. 3600 IN NS rietz.debian.org.  
debian.org. 3600 IN NS klecker.debian.org.  
$
  • Suivre la chaîne de résolution +trace
$ dig www.isc.org +trace  

; <<>> DiG 9.3.4 <<>> www.isc.org +trace  
;; global options: printcmd  
. 3561749 IN NS d.root-servers.net.  
. 3561749 IN NS a.root-servers.net.  
. 3561749 IN NS l.root-servers.net.  
. 3561749 IN NS c.root-servers.net.  
. 3561749 IN NS m.root-servers.net.  
. 3561749 IN NS h.root-servers.net.  
. 3561749 IN NS f.root-servers.net.  
. 3561749 IN NS e.root-servers.net.  
. 3561749 IN NS j.root-servers.net.  
. 3561749 IN NS i.root-servers.net.  
. 3561749 IN NS g.root-servers.net.  
. 3561749 IN NS k.root-servers.net.  
. 3561749 IN NS b.root-servers.net.  
;; Received 436 bytes from 192.168.1.1#53(192.168.1.1) in 46 ms  

org. 172800 IN NS TLD3.ULTRADNS.org.  
org. 172800 IN NS TLD4.ULTRADNS.org.  
org. 172800 IN NS TLD5.ULTRADNS.INFO.  
org. 172800 IN NS TLD6.ULTRADNS.CO.UK.  
org. 172800 IN NS TLD1.ULTRADNS.NET.  
org. 172800 IN NS TLD2.ULTRADNS.NET.  
;; Received 343 bytes from 128.8.10.90#53(d.root-servers.net) in 123 ms  

isc.org. 86400 IN NS ns-ext.sth1.isc.org.  
isc.org. 86400 IN NS ns-ext.nrt1.isc.org.  
isc.org. 86400 IN NS ns-ext.lga1.isc.org.  
isc.org. 86400 IN NS ns-ext.isc.org.  
;; Received 192 bytes from 199.7.66.1#53(TLD3.ULTRADNS.org) in 126 ms  

www.isc.org. 600 IN A 204.152.184.88  
isc.org. 3600 IN NS ns-ext.isc.org.  
isc.org. 3600 IN NS ns-ext.lga1.isc.org.  
isc.org. 3600 IN NS ns-ext.nrt1.isc.org.  
isc.org. 3600 IN NS ns-ext.sth1.isc.org.  
;; Received 236 bytes from 192.228.89.19#53(ns-ext.sth1.isc.org) in 78 ms  
$
  • Nom associé à une IP
$ dig -x 204.152.184.88 +short
external.isc.org.
$
  • Requête itérative (non récursive)
$ dig mx isc.org @monserveurDNS +norec   

; <<>> DiG 9.3.4 <<>> mx isc.org @monserveurDNS +norec  
; (1 server found)  
;; global options: printcmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48381  
;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 6  

;; QUESTION SECTION:  
;isc.org. IN MX  

;; AUTHORITY SECTION:  
org. 59611 IN NS tld3.ultradns.org.  
org. 59611 IN NS tld4.ultradns.org.  
org. 59611 IN NS tld5.ultradns.info.  
org. 59611 IN NS tld6.ultradns.co.uk.  
org. 59611 IN NS tld1.ultradns.net.  
org. 59611 IN NS tld2.ultradns.net.  

;; ADDITIONAL SECTION:  
tld3.ultradns.org. 59611 IN A 199.7.66.1  
tld4.ultradns.org. 59611 IN A 199.7.67.1  
tld5.ultradns.info. 59611 IN A 192.100.59.11  
tld6.ultradns.co.uk. 59611 IN A 198.133.199.11  
tld1.ultradns.net. 59611 IN A 204.74.112.1  
tld2.ultradns.net. 59611 IN A 204.74.113.1  

;; Query time: 1 msec  
;; SERVER: monserveurDNS#53(monserveurDNS)  
;; WHEN: Wed Jan 01 01:01:01 2007  
;; MSG SIZE rcvd: 283  
  • La même requête récursive (par défaut)
$ dig mx isc.org @monserveurDNS  

; <<>> DiG 9.3.4 <<>> mx isc.org @monserveurDNS  
; (1 server found)  
;; global options: printcmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25492  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2  

;; QUESTION SECTION:  
;isc.org. IN MX  

;; ANSWER SECTION:  
isc.org. 3249 IN MX 10 mx.isc.org.  
isc.org. 3249 IN MX 15 mx.sth1.isc.org.  

;; ADDITIONAL SECTION:  
mx.isc.org. 3249 IN A 204.152.184.167  
mx.sth1.isc.org. 3249 IN A 192.228.89.21  

;; Query time: 5 msec  
;; SERVER: monserveurDNS#53(monserveurDNS)  
;; WHEN: Wed Jan 01 01:01:01 2007  
;; MSG SIZE rcvd: 100  
$
  • Simplifier la lecture des valeurs du SOA (+multiline)
$ dig soa isc.org. @ns-ext.isc.org. +multiline  
(extrait)  
isc.org. 3600 IN SOA ns-int.isc.org. hostmaster.isc.org. (  
2007090900 ; serial  
7200 ; refresh (2 hours)  
3600 ; retry (1 hour)  
24796800 ; expire (41 weeks)  
3600 ; minimum (1 hour)  
)  

Sinon c’est moins lisible

$ dig soa isc.org. @ns-ext.isc.org.  
(extrait)  
isc.org. 3600 IN SOA ns-int.isc.org. hostmaster.isc.org. 2007090900 7200 3600 24796800 3600  

vtuploader.pl est un script écrit par Cd-MaN qui permet d’uploader des fichiers suspects chez VirusTotal.com pour être analysés par plus d’une trentaine de moteurs anti-virus.

$ wget http://hype.free.googlepages.com/vtuploader.pl  
$ chmod +x vtuploader.pl

Nous allons prendre pour tests les virus fournis dans le récent article http://blog.untangle.com/?p=96
Les détails sont aussi sur http://virus.untangle.com/

$ wget http://virus.untangle.com/samples.zip  
$ unzip -P a samples.zip  
$ ./vtuploader.pl -nv all/000\_eicar.com  
Processing file all/000\_eicar.com  
MD5: 44d88612fea8a8f36de82e1278abb02f  
File size: 68 bytes  

Upload finished, waiting for scanning  
Enqued in position 10. Estimated start time between 93 and 133 seconds  
Scanning. Scanned with 31 engines  
Scanning done   
Infection count 32 out of 32  

File all/000\_eicar.com  

Antivirus...... Version ...... Last Update ......Result   
AVG ...... 7.5.0.476 ...... 2007.08.13 ...... EICAR\_Test  
AhnLab-V3 ...... 2007.8.9.2 ...... 2007.08.13...... EICAR\_Test\_File  
AntiVir ...... 7.4.0.60 ...... 2007.08.13 ...... Eicar-Test-Signature  
Authentium ...... 4.93.8 ...... 2007.08.13 ...... EICAR\_Test\_File  
Avast ...... 4.7.1029.0 ...... 2007.08.13 ...... EICAR Test-NOT virus!!  
BitDefender ...... 7.2 ...... 2007.08.13...... EICAR-Test-File (not a virus)  
CAT-QuickHeal ...... 9.00 ...... 2007.08.13 ...... EICAR Test File  
ClamAV ...... 0.91 ...... 2007.08.13 ...... Eicar-Test-Signature  
DrWeb ...... 4.33 ...... 2007.08.13...... EICAR Test File (NOT a Virus!)  
Ewido ...... 4.0 ...... 2007.08.13...... Not-A-Virus.Test.Eicar  
F-Prot ...... 4.3.2.48 ...... 2007.08.13...... EICAR\_Test\_File  
F-Secure ...... 6.70.13030.0 ......2007.08.13 ...... EICAR\_Test\_File  
FileAdvisor ...... 1 ...... 2007.08.13...... High threat detected  
Fortinet ...... 2.91.0.0 ...... 2007.08.13...... EICAR\_TEST\_FILE  
Ikarus ...... T3.1.1.12 ...... 2007.08.13 ...... EICAR-ANTIVIRUS-TESTFILE  
Kaspersky ...... 4.0.2.24 ...... 2007.08.13...... EICAR-Test-File  
McAfee ...... 5096 ...... 2007.08.13 ...... EICAR test file  
Microsoft ...... 1.2704 ...... 2007.08.13...... Virus:DOS/EICAR\_Test\_File  
NOD32v2 ...... 2457 ...... 2007.08.13...... Eicar test file  
Norman ...... 5.80.02 ...... 2007.08.13...... EICAR\_Test\_file\_not\_a\_virus! 
Panda ...... 9.0.0.4 ...... 2007.08.12 ...... EICAR-AV-TEST-FILE  
Prevx1...... V2 ...... 2007.08.13 ...... Win32.Malware.gen  
Rising ...... 19.36.02.00 ...... 2007.08.13...... EICAR-Test-File  
Sophos ...... 4.20.0 ...... 2007.08.12...... EICAR-AV-Test  
Sunbelt ...... 2.2.907.0 ...... 2007.08.11 ...... EICAR (v)  
Symantec ...... 10 ...... 2007.08.13...... EICAR Test String  
TheHacker ...... 6.1.8.167 ...... 2007.08.13 ...... EICAR\_Test\_File  
VBA32 ...... 3.12.2.2 ...... 2007.08.13...... EICAR-Test-File  
VirusBuster...... 4.3.26:9 ...... 2007.08.13 ...... EICAR\_test\_file  
Webwasher-Gateway...... 6.0.1 ...... 2007.08.13 ...... Virus.Eicar-Test-Signature  
eSafe ...... 7.0.15.0 ...... 2007.08.10...... EICAR Test File  
eTrust-Vet ...... 31.1.5055 ...... 2007.08.13...... the EICAR test string  

Additional information  

File size: 68 bytes  
MD5: 44d88612fea8a8f36de82e1278abb02f  
SHA1: 3395856ce81f2b7382dee72602f798b642f14140  
$  

Le test complet:

$ ./vtuploader.pl -nv all/*

/!\ Le script est à utiliser avec parcimonie pour éviter un DOS sur VirusTotal.com ou un filtrage du script de leur part…

  • La théorie

Le Chiffre de Vigenère est un système de chiffrement, publié en 1586 par Blaise de Vigenère.

Ce système de chiffrement fût une petite révolution et resta “incassable” jusqu’en 1854, année où Charles Babbage en réussit la cryptannalyse.

Les travaux de Babbage restèrent secret jusqu’au XXème siècle (en effet il travaillait pour le roi… donc on imagine l’intérêt à ne rien révéler), mais la cryptannalyse avait été également réussie et publiée par Friedrich Wilhem Kasinski en 1863.

Je laisse le lecteur allez lire comment fonctionne le chifffrement et sa cryptannalyse.

  • La pratique - Chiffrer/Déchiffrer

Un des moyens est d’utiliser gcipher qui est utilisable aussi bien en ligne de commande qu’en interface graphique.

sudo apt-get install gcipher

$ gcipher -c Vigenere -k linux  
yes yes yo yo  
jmf sbd gb sl  
$  
$ echo jmf sbd gb sl | gcipher -C Vigenere -k linux  
yes yes yo yo  
$

On peut constater que la “force” du chiffre de Vigenère est qu’une même lettre du texte en clair n’est pas chiffrée par la même lettre.

  • La pratique - Décrypter

Simon Liu à écrit une petite librairie python pour décrypter un texte chiffré en Vigenère. Il est préférable de “deviner” en quelle langue le texte est écrit, et de disposer d’un texte suffisament long pour fournir les répétitions nécessaires…

$ cd /usr/include/python2.5/  
$ sudo wget http://smurfoncrack.com/pygenere/pygenere.py  
$ python  
>>> from pygenere import *  

On insert la chaine chiffrée:

>>> encrypted = 'Yfi. 1cf Acg wmabcg cywhqscr si bsbcigcbi jwqpsh ch teojv sc bfdghh.[suite tronquée]

On demande à décrypter le texte (on ne connait pas la clé):

>>> print VigCrack(encrypted).set\_language('FR').crack\_message()  
Art. 1er Les hommes naissent et demeurent libres et egaux en droits.[suite tronquée]

Si on veut afficher la clé:

>>> print VigCrack(encrypted).set\_language('FR').crack\_codeword()  `
  YOPYOP 
>>> print VigCrack(encrypted).set\_language('FR').crack\_codeword(3)  
  YOP  

A noter:

  • J’ai utilisé dans l’exemple ci-dessus uniquement les 2 premiers articles (4 phrases).

  • Même sans préciser la langue (et avec le texte de l’exemple), le texte est correctement décrypté.

  • Avec un texte trop court (uniquement le premier article) nous obtenons tout de même:

Led romnes natcseot et dpweusent ltlret et eglex eo droiec.
  • Conclusion
We Esmqftp hp Vkriyetp rp pgfx oopn tls upvgit oi you usfru asfr esmqftpv oeu xidscrid mctw di kw e eowe hp mgxi ceutwee rcid dg 3 dmpcnpw pt npw ceesiccjpw oe epw 3 nraaxzgtltseu aifvgyx pttp wllwpid :) Mgcgt d cgstr hlme l gqjzrv oi oeeccatgc pl cqygwuutsy dg nie atemnlg !

cmailq de Craig Sanders permet d’afficher la queue postfix avec un message par ligne.

$ ./cmailq.pl
AADB7D3A19 * 1580373 Mon Jul 2 15:15:40 sender@me.com recipient@toto.com

nautilus-search-tool permet d’accéder a la fenêtre de recherche gnome par le clic droit sous nautilus…

Avec le dépot asher256:

sudo apt-get install nautilus-search-tool

…un restart de gnome..puis..

nautilus-search-tool-1

(Il y a déjà “nautilus-open-terminal” sur le screenshot)

nautilus-search-tool-2

L' applet gnomequi existe déjà par défaut

nautilus-search-tool-3