Andrew Rioux
35bcf5352b
feat: added test tcp client
2023-09-19 10:24:51 -04:00
Andrew Rioux
e5f6c2aa7e
feat: added modified TCP packet parser
...
checksum generation code is different, to allow for
some sneaky tricks with regards to identifying the sparse
session but binding to the same port multiple times
2023-09-18 01:29:05 -04:00
Andrew Rioux
25948a17f4
feat: starting the TCP client proof of concept
2023-09-17 14:07:31 -04:00
Andrew Rioux
0ef459bcfe
feat: added framework for TCP client
2023-09-14 01:30:29 -04:00
Andrew Rioux
fb98d062ef
fix: file operations acknowledge pwd now
...
file operations (edit, download, upload) on the client did not work
outside of the current working directory of the binary on the server, as
they did not acknowledge the current working directory on the client
2023-09-12 19:55:37 -04:00
Andrew Rioux
726e6dff13
feat: added cd
...
added cd and fixed all the warnings in the source code
2023-09-08 23:26:10 -04:00
Andrew Rioux
ae24c2e0ad
feat: added the ability to edit files remotely
2023-09-08 22:48:02 -04:00
Andrew Rioux
eb5e86067b
feat: added ability to download files
2023-09-08 21:25:20 -04:00
Andrew Rioux
239c5ccc40
fix: made code compile for now
2023-09-07 12:56:30 -04:00
Andrew Rioux
cd23ec1b80
feat: continuing work on downloading files
2023-09-06 19:44:13 -04:00
Andrew Rioux
50b5c1a921
feat: added upload file capability
2023-09-06 14:56:21 -04:00
Andrew Rioux
231108f2c3
fix: swapped to just run the binary on the server
...
moved away from `sh -c`
2023-09-06 09:04:26 -04:00
Andrew Rioux
17e6056a03
fix: fixed stdin for processes
...
started work on upload file command
2023-09-06 00:07:15 -04:00
Andrew Rioux
9bb31ee6fa
feat: added the ability to run commands remotely
...
commands can now be sent and their outputs received
2023-09-05 19:58:40 -04:00
Andrew Rioux
52538ac7d7
feat: added the ability to send commands
2023-09-05 19:05:26 -04:00
Andrew Rioux
47b2191335
feat: working on spawning commands
2023-09-05 09:43:00 -04:00
Andrew Rioux
1e5f515a25
feat: adding packet handling to server
2023-09-04 19:10:43 -04:00
Andrew Rioux
fb43a27ba3
feat: added ip to sysinfo
2023-09-04 01:30:01 -04:00
Andrew Rioux
7f1f43a601
feat: added a basic interactivity to the client
2023-09-04 01:11:55 -04:00
Andrew Rioux
7876e00dc8
fix: improved the logic for generating binaries
...
cross platform logic wasn't handled well for generating linux binaries
on windows or vice versa
2023-09-02 23:59:28 -04:00
Andrew Rioux
81fb2ed548
feat: added windows support
...
factored out the packet parsing logic from libpcap
will probably come back to linking against libpcap in a later version
2023-09-02 23:09:05 -04:00
Andrew Rioux
4449a771e2
feat: added connection and authentication
...
client can now generate a server binary, and try to connect to it and
get capabilities
2023-09-02 22:29:13 -04:00
Andrew Rioux
cda6388596
feat: fleshed out handling a new connection
2023-09-02 16:58:25 -04:00
Andrew Rioux
d7a0deba0c
feat: added transport layers for sparse 0.5 target
2023-09-02 15:26:58 -04:00
Andrew Rioux
aecf1c9b80
feat: adding a bind shell example with more stuff
...
adding a bind shell that can allow for more practice with future
features such as multiple transports, encryption, transferring files,
and a more robust client interface
2023-09-02 14:32:34 -04:00
Andrew Rioux
180b29531a
feat: added setuid capabilities
2023-08-23 22:40:21 -04:00
Andrew Rioux
1517ca6f1c
fix: addressed edge cases for external routing
2023-08-17 18:18:05 -04:00
Andrew Rioux
b770d53f57
feat: added a way to specify port to listen on
...
the backdoor example always listened on port 54248 and did not allow for
configuration, but now it can be changed by passing in a command line argument
2023-05-28 15:17:09 -04:00
Andrew Rioux
bd31c6457d
feat: added a docker breakout feature
...
if the bind shell example is compiled with the right feature and is run
inside a(n) (im)properly configured Docker container, it is now able to
break out and run some commands on the host
for some reason, under this breakout mode, it runs a little weird with
networking commands, but does fine with file system or IPC based commands
2023-05-12 17:41:20 -04:00
Andrew Rioux
a03b50ead4
fix: added a default route for MAC addresses
...
there were issues with MAC addresses not having a valid route when it
couldn't find the right route
2023-05-12 17:33:22 -04:00
Andrew Rioux
5ab43a10fe
fix: fixing revshell example and its routes
2023-05-12 01:16:52 -04:00
Andrew Rioux
4123175eda
doc: converting org mode to markdown
2023-05-10 21:54:19 -04:00
Andrew Rioux
d5e78b5746
fix: made it so that the TERM variable is shared
...
now commands like clear work
2023-05-09 21:26:53 -04:00
Andrew Rioux
57cd4aa2be
docs: updated docs to use cargo make
2023-05-09 21:26:29 -04:00
Andrew Rioux
f1e5b2d979
refactor: redid the bindshell example
...
Made it use a single UDP client as well as proper randomized ports to go
through network firewalls, requiring stdin, status, stderr, and stdout
all go over a single UDP socket
Updated the client to have a prompt
2023-05-09 21:02:46 -04:00
Andrew Rioux
8ad7127d4d
feat: added the beginnings of sparse-protocol
...
sparse protocol allows for composing of different "protocols" at
runtime, and will allow for DNS and TCP as well as different TCP
protocols like HTTP
2023-05-09 10:34:03 -04:00
Andrew Rioux
968df54f59
build: added auto deleting of configure~ for git
2023-05-07 18:12:28 -04:00
Andrew Rioux
8aab9be638
build: made it so dev containers can partly debug
...
symbol tables appear to be messed up and it doesn't work with async
Rust, so will try to refactor the code to be sync and see how it fares
2023-05-07 14:17:28 -04:00
Andrew Rioux
813dc104e8
build: added git tasks to Makefile
2023-05-07 00:39:22 -04:00
Andrew Rioux
52e458296c
build: made it easier to build bind-shell
2023-05-07 00:08:04 -04:00
Andrew Rioux
318e1b6d05
build: added GitHub docs and workflows
2023-05-06 23:35:38 -04:00
Andrew Rioux
3257dfced0
build: adding to Cargo make config
...
Adding default tasks and setup task to run when container is made
2023-05-06 23:35:38 -04:00
Andrew Rioux
c984b9eb56
docs: removed extra comments
2023-05-06 23:35:38 -04:00
Andrew Rioux
f72aa6e98d
refactor: changed workflow to use Ubuntu
...
replaced dev container Dockerfile with one which uses
Ubuntu instead of Alpine. The Docker in Docker feature only
works on Ubuntu, not Debian or Alpine, and the LLDB extension
to enable debugging only supports Debian/Ubuntu
2023-05-06 23:35:38 -04:00
Andrew Rioux
f3453f4399
fix: removing unneeded code
2023-05-06 23:35:38 -04:00
Andrew Rioux
0fe2c033b3
build: adding debugging to dev container
2023-05-06 23:35:33 -04:00
Andrew Rioux
978d7cb089
chore: run cargo fmt
2023-05-06 22:50:34 -04:00
Andrew Rioux
798eda764f
refactor: removed debug code
2023-05-06 22:50:31 -04:00
Andrew Rioux
c142af62f1
fix: added forgotten error handling
...
AggregateInterface was lacking some special error handling for certain cases
2023-05-06 22:49:28 -04:00
Andrew Rioux
24dff10b6b
feat: added AggregateInterface
...
AggregateInterface can be used to gather multiple libpcap interfaces
together in order to listen to all simultaneously and also selectively
send on different interfaces
2023-05-06 22:48:04 -04:00