Compare commits

...
Author SHA1 Message Date
moloch-- 8471a8692f use default handler, clear stage bytes on job stop 2022-02-07 22:02:55 -06:00
3 changed files with 3 additions and 27 deletions

No files matched your search

+1 -1
View File
@@ -673,7 +673,7 @@ func (s *SliverHTTPC2) stagerHander(resp http.ResponseWriter, req *http.Request)
httpLog.Infof("Serving sliver shellcode (size %d) to %s", len(s.SliverStage), getRemoteAddr(req))
resp.WriteHeader(http.StatusOK)
} else {
resp.WriteHeader(http.StatusNotFound)
s.defaultHandler(resp, req)
}
}
+1 -25
View File
@@ -305,6 +305,7 @@ func StartHTTPStagerListenerJob(conf *HTTPServerConfig, data []byte) (*core.Job,
cleanup := func(err error) {
server.Cleanup()
core.Jobs.Remove(job)
server.SliverStage = []byte{}
core.EventBroker.Publish(core.Event{
Job: job,
EventType: consts.JobStoppedEvent,
@@ -393,31 +394,6 @@ func StartPersistentJobs(cfg *configs.ServerConfig) error {
return nil
}
// checkInterface verifies if an IP address
// is attached to an existing network interface
func checkInterface(a string) bool {
interfaces, err := net.Interfaces()
if err != nil {
return false
}
for _, i := range interfaces {
addresses, err := i.Addrs()
if err != nil {
return false
}
for _, netAddr := range addresses {
addr, err := net.ResolveTCPAddr("tcp", netAddr.String())
if err != nil {
return false
}
if addr.IP.String() == a {
return true
}
}
}
return false
}
// Fuck'in Go - https://stackoverflow.com/questions/30815244/golang-https-server-passing-certfile-and-kyefile-in-terms-of-byte-array
// basically the same as server.ListenAndServerTLS() but we can pass in byte slices instead of file paths
func listenAndServeTLS(srv *http.Server, certPEMBlock, keyPEMBlock []byte) error {
+1 -1
View File
@@ -184,7 +184,7 @@ func acceptWGSliverConnections(ln net.Listener) {
func handleWGSliverConnection(conn net.Conn) {
wgLog.Infof("Accepted incoming connection: %s", conn.RemoteAddr())
implantConn := core.NewImplantConnection("wg", fmt.Sprintf("%s", conn.RemoteAddr()))
implantConn := core.NewImplantConnection("wg", conn.RemoteAddr().String())
implantConn.UpdateLastMessage()
defer func() {
implantConn.Cleanup()