Russ Magee
dfeb0d709e
Moved client chaff config up so it works for non-interactive (-x) invocations.
2018-05-06 18:20:12 -07:00
Russ Magee
a1f4e0342a
Added chaff cmdline options to client & server
2018-05-06 17:41:09 -07:00
Russ Magee
64e511c3c5
Moved mutex to front of Conn struct
2018-05-04 23:39:19 -07:00
Russ Magee
70448dda08
No need for custom hkexsh.Copy()
2018-05-04 23:31:06 -07:00
Russ Magee
c5498642fc
Got client hangup working again. Security scrub auth vars.
2018-05-04 23:25:26 -07:00
Russ Magee
925e83bbba
Added comment wrt. mutex lock scope in WritePacket
2018-05-04 14:40:06 -07:00
Russ Magee
a49a5d4cc2
Locking in WritePacket() apparently working, client and server-side chaffing functional
2018-05-03 23:53:47 -07:00
Russ Magee
6d606bbbd9
Moved mutex into hkexsh.Conn (hkexnet)
2018-05-02 13:22:37 -07:00
Russ Magee
4d85236d16
Chaffing slight improvements (rand size, timing). TODO: Move into hkexsh.Conn
2018-05-02 12:28:56 -07:00
Russ Magee
b8a07e9648
Chaff packets w/sync.Mutex to allow chaff & main goroutine to both input to server.
...
TODO: smart chaff, mutating or mimicking recent input.
2018-05-01 02:39:45 -07:00
Russ Magee
8162707ffa
- got term resizing working (client SIGWINCH signals -> server_pty(rows,cols)
2018-04-28 19:28:37 -07:00
Russ Magee
50f0433579
-Added error checking for all stages of hkex.Conn.Accept() and GetStream()
...
-Server will log such errors without panic/exit
-Const added but not yet used for 'chaff' packets
2018-04-28 16:05:33 -07:00
Russ Magee
c56d4d9ad9
hmac tampering indication implemented -- local and remote-side
2018-04-15 13:29:06 -07:00
Russ Magee
b45784e07b
Minimal hmac channel verification w/close on tampering
2018-04-15 12:58:24 -07:00
Russ Magee
351f58b6c5
misc. cleanup, LICENSE.{gpl,mit} updates
2018-04-07 13:04:10 -07:00
Russ Magee
ae5a8cfa3b
Quick 'n dirty Makefile
2018-04-04 15:51:03 +00:00
Russ Magee
5da70447b0
MSYS+mintty support; pkg renaming to hkexsh
2018-04-04 15:43:27 -07:00
Russ Magee
dd746cf343
Fixed handling of -x non-interactive command runs and hangup of interactive session
2018-03-26 21:58:42 -07:00
Russ Magee
cb0ce956b9
Server-side client hangup working; TODO - client-side handling of post-exit EOF (broken pipe)
2018-03-25 23:00:37 -07:00
Russ Magee
65b7af8063
Excessive debugging off; client logout (exit) causing panic on server-side, debug TBD
2018-03-25 21:47:38 -07:00
Russ Magee
5ea75e456d
De-packetizing-rebuffering of Read() w/HMAC working, yay
2018-03-25 19:59:07 -07:00
Russ Magee
3f5db06f16
De-packetizing-rebuffering of Read() w/HMAC working, yay
2018-03-25 19:58:04 -07:00
Russ Magee
c0fa2bcdf9
hmac usage commented out, 2nd attempt to re-add usage w/paylaod len
2018-03-25 10:40:23 -07:00
Russ Magee
e14ccbe366
Length calc but not xmit -- grouped Read() likely the issue to handle
2018-02-16 22:12:27 -08:00
Russ Magee
744730ae23
HMAC calc w/no xmit or verification, working..?
2018-02-16 19:25:11 -08:00
Russ Magee
7c76e4d235
pkg paths to private repo
2018-02-16 18:49:49 -08:00
Russ Magee
d465c1ee5b
Initial experiments: HMAC on stream
2018-02-16 18:46:29 -08:00
Russ Magee
6ea206fbc2
Merge of public work on github.com/Russtopia/hkexsh repo
2018-02-16 18:43:37 -08:00
Russ Magee
2b44c87815
Partial fixes to client login env; Added missing Conn.Listener interface methods to hkex.Conn.Listener
2018-01-26 16:15:39 -08:00
Russ Magee
52423b7144
Cleaned up some debug, moved insulter for failed login into project
2018-01-24 18:14:21 -08:00
Russ Magee
d484ec7fd1
Added hkexpasswd util; moved minimal term stuff into hkexauth.go
2018-01-23 13:53:05 -08:00
Russ Magee
3ca98d364c
Oops. Forgot to add hexkauth.go to last few commits.
2018-01-21 22:13:35 -08:00
Russ Magee
4d9ea3cbe1
Brought in ReadPassword from ssh/terminal, enabling entry of authCookie w/o term
...
echo.
TODO: consider methods of securing authCookie in auth file (salt+hash etc.)
2018-01-21 22:02:08 -08:00
Russ Magee
59337db7e3
Changed to use runShellAs() (pass cmdline to bash) rather than runCmdAs (os.exec)
...
to allow pipelines, redir etc.
2018-01-21 17:31:54 -08:00
Russ Magee
6fd8ac1519
Added -u (user), -x (exec cmd) options, -d (dbg) for logging; detection of "-x -" for
...
stdin/pipeline commands.
2018-01-21 15:46:40 -08:00
Russ Magee
39a0890346
Merge branch 'kexsh-proto' of ssh://tripe.blitter.com/~russtopia/git/herradurakex into kexsh-proto
2018-01-20 21:28:55 -08:00
Russ Magee
e3842e4219
Removed channel-based server loop goroutine, solving eaten initial byte issue.
...
Made receivers on hkex.Conn mutators *Conn again (whoops)
TODO: Consider: padding (? probably not, XORKeyStream OFB/CBC/etc. modes prevent
constant header/crib exposure, and would add lots of complexity to Read/Write)
TODO: Add CTR, other modes
2018-01-20 21:20:49 -08:00
Russ Magee
3efdd5cfbd
Removed channel-based server loop goroutine, solving eaten initial byte issue.
...
Made receivers on hkex.Conn mutators *Conn again (whoops)
TODO: Padding in ciphertext data!
2018-01-20 20:37:27 -08:00
Russ Magee
732005d9bf
Some cleanup in prep for possible io.ReadFull() fixed-block session-cmd header to resolve the eaten-byte issue handing Accept off to cmdRunner
2018-01-18 21:17:57 -08:00
Russ Magee
49c589ee8d
Added pty lib to give true terminal capability. raw mode/restore for client working
2018-01-18 18:57:37 -08:00
Russ Magee
e8fe31f6d7
Set lots of KEx Printfs to log.Printf (and off by default). Hacky non=tty shell works!
2018-01-17 21:27:00 -08:00
Russ Magee
cca2895526
Took a step back on cmd exec, just getting EOF/hangup on client/server ends working
2018-01-17 20:36:53 -08:00
Russ Magee
ad5366bdfb
removed hardcoded op 'e' in client demo; hardcoded test server output
2018-01-17 16:55:10 -08:00
Russ Magee
9fb9d073ab
Completed net.Conn interface implementation for hkex.Conn; some tests of Op protocol in server
2018-01-17 16:39:01 -08:00
Russ Magee
e09f052f45
Just some commented-out SetReadDeadline() experiments
2018-01-16 18:30:57 -08:00
Russ Magee
942b8865cf
Start of proto kexsh tool client/server
2018-01-13 10:01:27 -08:00
Russ Magee
78edf1c130
Tucked dbg{client/server} away for testing
2018-01-12 22:47:57 -08:00
Russ Magee
9b3bd6b78b
Added client/server host:port, addr:port options
2018-01-12 22:24:40 -08:00
Russ Magee
1817627234
-Cleaned up lib code with gometalinter.v1
...
-Added -h opt to demo client (hmac)
2018-01-12 22:13:01 -08:00
Russ Magee
5493921e9f
-Added client -c option to pass cipher alg
...
-Note about blowfish iv len (lack of) bounds check in .NewOFB();
-TODO added to enforce keymat from HKex >= 2*chosen cipher blocksize
(assuming keylen == blocksize -- might not be true for all future algs)
2018-01-11 23:01:39 -08:00