new: syn.scan will now perform basic tcp banner grabbing

This commit is contained in:
evilsocket 2019-04-21 15:45:32 +02:00
commit aea68460c8
No known key found for this signature in database
GPG key ID: 1564D7F30393A456
5 changed files with 160 additions and 3 deletions

View file

@ -8,6 +8,8 @@ import (
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
"github.com/evilsocket/islazy/async"
)
type OpenPort struct {
@ -60,13 +62,17 @@ func (mod *SynScanner) onPacket(pkt gopacket.Packet) {
}
if host != nil {
ports := host.Meta.GetOr("ports", map[int]OpenPort{}).(map[int]OpenPort)
ports := host.Meta.GetOr("ports", map[int]*OpenPort{}).(map[int]*OpenPort)
if _, found := ports[port]; !found {
ports[port] = OpenPort{
openPort := &OpenPort{
Proto: "tcp",
Port: port,
Service: network.GetServiceByPort(port, "tcp"),
}
ports[port] = openPort
mod.bannerQueue.Add(async.Job(grabberJob{host, openPort}))
}
host.Meta.Set("ports", ports)