vendredi 18 septembre 2015

Apache: visualiser la configuration (PROTIP)

Pour ne visualiser que les lignes non-commentées (donc effectives) d'un fichier de configuration Apache:


grep -v '^#' /etc/httpd/conf/httpd.conf


vendredi 7 août 2015

DNS Sinkhole et proxy HTTP




#PROTIP

 Comment empêcher à peu de frais les systèmes d'un LAN d'accéder aux ressources d'un domaine web ? Différents contextes peuvent légitimer ce type de besoin: un malware résident a été repéré au sein du LAN essayant de contacter un hôte extérieur par son nom FQDN fixe pour exfiltrer des données ou prendre des prérogatives, un nouveau service Cloud hébergé sur un domaine extérieur  doit être rendu inopérant pour les utilisateurs du LAN,...

La solution qui vient naturellement à l'idée est l'utilisation du DNS.

Imaginons que le domaine à bloquer soit malware.ex, il suffit simplement de créer une nouvelle zone DNS "malware.ex" sur le serveur DNS ayant autorité au sein du LAN. Aucun enregistrement particulier supplémentaire à créer.
Dès que le cache DNS client se videra, ces deniers n'auront plus accès au domaine concerné...
Attention: si le malware ou les clients utilisent un proxy d'entreprise pour se connecter à internet il faudra créér la zone "malware.ex" sur le serveur DNS utilisé par le proxy web.

En effet lors de l'utilisation d'un proxy la resolution DNS peut être déléguée de la manière suivante:

- l'utilisateur ou le malware cherche a se connecter sur le domaine malware.ex

- l'adresse malware.ex est cherchée dans les exceptions du proxy client (visibles dans "Ne pas utiliser de proxy pour les adresses..." dans les options de configuration du browser)

- si malware.ex figure dans la liste des exclusions proxy client, le client se connecte directement à la cible via la requète suivante:

GET /control.php HTTP/1.1
Host:foo.malware.ex

 ...en réalisant lui même la résolution DNS.


- si malware.ex ne figure pas dans la liste des exclusions proxy client, le client se connecte à son proxy via la requète suivante:


et dans son rôle de mandataire, le proxy  réalisera la résolution DNS (ie: à la place du client) et se connectera directement à la cible.
   (à completer)


 






mardi 4 novembre 2014

DNS Queries in the LAN: an interesting source of information


Observing DNS queries inside your LAN is a very simple way to detect security problems and/or various misconfiguration issues.

The only pre-requisite for the operator: a good knowledge of his network infrastructure and technologies. The operation can be realized with the builtin Windows features, enabling the DNS debugging (http://technet.microsoft.com/en-us/library/cc759581(v=ws.10).aspx)

I prefer use a simple tool “NirSoft DNS Query Sniffer” available here: http://www.nirsoft.net/utils/dns_query_sniffer.html

1/ Copy and launch it locally on your DNS server. DNS queries appear in real-time.

2/ Stop the acquisition

3/ Analyze in the GUI or export in a file

...easy and simple.



Examples of use:

-          Internet Explorer configuration issue:

A request to wpad.landnssuffix indicates the use of Web ProxyAuto-Discovery Protocol by clients. Of course you can always retrieve IP adress of the requesting source in the dedicated column on the right side (not shown on screenshot) and modify the browser settings as convenient.

 




-          Misconfiguration of a client process:

Here we can see a double dns suffix generating an error. The client, for an unknown reason append the lan dns suffix twice.




 

-          Browser Addon characterization and detection

Look at the Ask toolbar in action and find the clients


 

 

-          Usage of Network Connectivity Status Indicator:

A good explanation can be find here http://www.techrepublic.com/blog/data-center/what-do-microsoft-and-ncsi-have-in-common/






-          CRL checking :

 


And this…


Microsoft puts non-qualified domain name in some certificates. They contain the following CRL distribution point: http://corppki/crl/Microsoft Secure Server Authority.crl which probably only works inside Microsoft LANs.

 

-          Malware detection:

The more powerful usage according to me. Example of requests done by an infected client.






-          Other cases:

Be aware of isolated systems that don’t have internet access and realize outside DNS requests. It can be a data exfiltration in a covert channel
(see https://blog.gdatasoftware.com/blog/article/new-frameworkpos-variant-exfiltrates-data-via-dns-requests.html and http://bernardodamele.blogspot.fr/2012/06/data-retrieval-over-dns-in-sql.html )
 

Capturing DNS queries is an easy way to observe your network infrastructure in action. There's a lot of stuff to do with this little tool. Thanks Nirsoft!