From 6b89145e8070f2bd88bbfe2e549b70fff8b727c7 Mon Sep 17 00:00:00 2001 From: evilsocket Date: Fri, 17 Nov 2017 15:07:25 +0100 Subject: [PATCH] Some fixes on recon and probing. --- .gitignore | 6 +++++- core/build.go | 4 ---- session/modules/net_probe.go | 4 ++-- session/modules/net_recon.go | 11 +++++++++++ 4 files changed, 18 insertions(+), 7 deletions(-) delete mode 100644 core/build.go diff --git a/.gitignore b/.gitignore index b0a295f3..7897e143 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ *.cap -bettercap +*.sw* + +core/build.go net/oui_compiled.go +bettercap +bettercap.history diff --git a/core/build.go b/core/build.go deleted file mode 100644 index 64d2d315..00000000 --- a/core/build.go +++ /dev/null @@ -1,4 +0,0 @@ -package core -const ( - BuildDate = "2017-11-16 19:24" -) diff --git a/session/modules/net_probe.go b/session/modules/net_probe.go index 78fb8977..ac30f435 100644 --- a/session/modules/net_probe.go +++ b/session/modules/net_probe.go @@ -65,7 +65,7 @@ func (p Prober) OnSessionEnded(s *session.Session) { } } -func (p *Prober) sendUDP(from net.IP, from_hw net.HardwareAddr, ip net.IP) { +func (p *Prober) sendProbe(from net.IP, from_hw net.HardwareAddr, ip net.IP) { name := fmt.Sprintf("%s:137", ip) if addr, err := net.ResolveUDPAddr("udp", name); err != nil { log.Errorf("Could not resolve %s.", name) @@ -109,7 +109,7 @@ func (p *Prober) Start() error { continue } - p.sendUDP(from, from_hw, ip) + p.sendProbe(from, from_hw, ip) if throttle > 0 { time.Sleep(time.Duration(throttle) * time.Millisecond) diff --git a/session/modules/net_recon.go b/session/modules/net_recon.go index 4ad23312..39797709 100644 --- a/session/modules/net_recon.go +++ b/session/modules/net_recon.go @@ -91,6 +91,17 @@ func (d *Discovery) Start() error { } if len(new) > 0 || len(rem) > 0 { + n_gw_shared := 0 + for ip, mac := range new { + if ip != d.Session.Gateway.IpAddress && mac == d.Session.Gateway.HwAddress { + n_gw_shared++ + } + } + + if n_gw_shared > 0 { + log.Warningf("WARNING: %d endpoints share the same MAC of the gateway, there're might be some IP isolation going on.\n", n_gw_shared) + } + // refresh target pool for ip, mac := range new { d.Session.Targets.AddIfNotExist(ip, mac)