Commit Graph

207 Commits

Author SHA1 Message Date
Joe Testa 8527d13343 Added documentation on ALGORITHMS structure. 2019-08-18 00:32:59 -04:00
Joe Testa f8fcd119e2 Tagged sntrup4591761x25519-sha512@tinyssh.org as experimental, just as the OpenSSH 8.0 release notes say. 2019-08-18 00:16:42 -04:00
Joe Testa 76a4750934 Added support for kex sntrup4591761x25519-sha512@tinyssh.org, introduced in OpenSSH 8.0. 2019-08-18 00:09:40 -04:00
Joe Testa 7155efeb4a Added CVEs for Dropbear & libssh. Fixed libssh CVE parsing. Now prints CVEs in red when score is >= 8.0, otherwise they are printed in orange. 2019-08-17 23:11:03 -04:00
Joe Testa 41d396f551 Updated version, copyright header, URL, and added Python 2 warning. 2019-08-17 20:59:23 -04:00
Shaun Hammill f2e6f1a71c
Replace getopt.getopt with getopt.gnu_getopt
Addresses Issue #41, gnu_getopt allows non-option arguments to be intermingled with option arguments whereas getopt stops processing arguments when a non option is found.
2019-06-05 16:19:33 -04:00
Joe Testa f44663bfc4 Fixed Socket.connect() method arguments. 2017-10-31 16:49:19 -04:00
Joe Testa 95ca0bb243 Fixed merge collision in connect() method. 2017-10-31 16:40:02 -04:00
Joe Testa a9f6b93391 Merge branch 'timeout_arg' into all_my_patches 2017-10-31 16:36:20 -04:00
Joe Testa 04973df2af Added command-line option to modify connection/read timeout. 2017-10-29 17:48:04 -04:00
Joe Testa a3f126a1dd Added missing algorithms from RFC4250 and RFC4432. 2017-10-11 15:47:01 -04:00
Joe Testa 1bb5490e01 Added new algorithms (some as per RFC4344). 2017-10-11 15:13:58 -04:00
Joe Testa c1d0540d1e Fixed one more warning. 2017-09-27 22:42:49 -04:00
Joe Testa cd80917c62 Fixed more warnings. 2017-09-27 22:36:23 -04:00
Joe Testa b7bf8ab38a Suppressed more unused variables warnings. 2017-09-27 22:22:42 -04:00
Joe Testa a3c6d16500 Suppressing pylint warnings on unused variables. 2017-09-27 22:14:48 -04:00
Joe Testa 4f6e23e568 Fixed send_init() inheritance problems. Now kex failures will try to continue on instead of terminating the program. 2017-09-27 21:27:08 -04:00
Joe Testa b2775c9cf9 Python3 fixes. 2017-09-26 20:51:10 -04:00
Joe Testa ee5dde1cde Added RSA certificate auditing. 2017-09-26 20:46:00 -04:00
Joe Testa 33ae2946ea Syntax fix for Python2. 2017-09-22 15:01:51 -04:00
Joe Testa 7c919b093b Added RSA & DH modulus size auditing. 2017-09-21 22:44:34 -04:00
Andris Raugulis d8eb46d766 Correct IPv6 parsing in command-line. Fixes #26. 2017-05-05 14:12:45 +03:00
Andris Raugulis 1d1f842bed Refactor output level/colors, fix python:S1845. 2017-04-10 19:20:31 +03:00
Andris Raugulis 72a6b9eeaf Refactor and test SSH.Algorithm. 2017-04-10 13:20:32 +03:00
Andris Raugulis 21a93cbd66 Condition must be a boolean fixes. 2017-04-06 05:27:29 +03:00
Andris Raugulis 0d555d43b3 Condition must be a boolean fixes. 2017-04-05 18:12:26 +03:00
Andris Raugulis e4bdabb891 Fix method type and naming. 2017-04-05 17:34:19 +03:00
Andris Raugulis c132c62b96 Remove useless parentheses. 2017-04-05 16:13:35 +03:00
Andris Raugulis bb122ffe13 Replace assertions with exceptions. 2017-04-05 16:02:40 +03:00
Andris Raugulis 09c2e7b2d5 Fix SonarQube python:S1871. 2017-04-05 04:27:39 +03:00
Andris Raugulis 76849540be It's 2017 already. 2017-03-26 06:31:06 +03:00
Andris Raugulis 57a8744d03 Fix some unused variable warnings. 2017-03-26 06:24:07 +03:00
Andris Raugulis 3ebb59108b Ignore pylint's else-if-used in validly used places. 2017-03-26 05:58:39 +03:00
Andris Raugulis 74d1b5c7b5 Fix pylint's bad-builtin and deprecated-lambda with list comprehension. 2017-03-26 05:54:14 +03:00
Andris Raugulis 29d9e4270d Fix flake8 reported issues. 2017-03-25 08:44:37 +02:00
Andris Raugulis 65ef250aae Upgrade to Mypy 0.501 and fix issues. Add requirements.txt. 2017-03-23 23:17:35 +02:00
Andris Raugulis 9ac03d368a Add OpenSSH 7.4 changes and use as default banner. 2017-01-24 12:45:53 +02:00
Andris Raugulis 54b0960502 Upgrade to Mypy 0.470. Add colorama stub. Fix identation. 2017-01-23 19:34:06 +02:00
bs ff500ba84b Add OpenSSH CVE list (#25) 2017-01-23 17:45:25 +02:00
Andris Raugulis 9a409e835e Refactor outer functions within classes.
Use mypy strict optional checks and fix them.
Use better comparison for compatiblity output.
Add initial socket tests.
2016-11-03 19:10:49 +02:00
Andris Raugulis 6c4b9fcadf Banner should be in printable ASCII, not the whole ASCII space. 2016-11-02 18:25:13 +02:00
Andris Raugulis 5bb0ae0ceb Rework is/to ASCII and implement printable ASCII is/to functions.
Add Utils tests.
2016-11-02 18:23:55 +02:00
Andris Raugulis 44c1d4827c Specify error when couldn't get banner. Test for timeout and retry cases. 2016-11-02 13:00:24 +02:00
Andris Raugulis dd3ca9688e Back to development version. 2016-10-26 19:14:03 +03:00
Andris Raugulis e42064b9b9 Release 1.7.0. 2016-10-26 19:02:13 +03:00
Andris Raugulis 66b9e079a8 Implement new options (-4/--ipv4, -6/--ipv6, -p/--port <port>).
By default both IPv4 and IPv6 is supported and order of precedence depends on OS.
By using -46, IPv4 is prefered, but by using -64, IPv6 is preferd.
For now the old way how to specify port (host:port) has been kept intact.
2016-10-26 18:33:00 +03:00
Andris Raugulis 4684ff0113 Add linter fixes for tests. 2016-10-25 17:19:08 +03:00
Andris Raugulis aa4eabda66 Do not count coverage for missing import. 2016-10-25 14:04:54 +03:00
Andris Raugulis 4bbb1f4d11 Use safer UTF-8 decoding (with replace) and add related tests. 2016-10-25 13:53:51 +03:00
Andris Raugulis 182467e0e8 Fix typo, which slipped in while adding type system. 2016-10-25 11:52:55 +03:00
Andris Raugulis 385c230376 Add colors support for Microsoft Windows via optional colorama dependency. 2016-10-25 11:50:12 +03:00
Andris Raugulis 5b3b630623 Fix pylint reported issues and disable unnecessary ones. 2016-10-20 20:00:51 +03:00
Andris Raugulis cdfe06e75d Fix type after argument removal. 2016-10-20 17:19:37 +03:00
Andris Raugulis cbe7ad4ac3 Fix pylint reported no-self-use and disable checks in py2/3 compatibility code. 2016-10-20 17:06:23 +03:00
Andris Raugulis dfb8c302bf Fix pylint reported attribute-defined-outside-init. 2016-10-20 16:46:53 +03:00
Andris Raugulis 4120377c0b Remove unnecessary argument. 2016-10-20 16:41:44 +03:00
Andris Raugulis 5be64a8ad2 Fix pylint reported dangerous-default-value. 2016-10-20 16:31:48 +03:00
Andris Raugulis 67087fb920 Fix pylint reported anomalous-backslash-in-string. 2016-10-20 16:27:11 +03:00
Andris Raugulis fabb4b5bb2 Add static typing and refactor code to pass all mypy checks.
Move Python compatibility types to first lines of code.
Add Python (text/byte) compatibility helper functions.
Check for SSH banner ASCII validity.
2016-10-19 20:47:13 +03:00
Andris Raugulis 8ca6ec591d Handle the case when received data is in wrong encoding (not utf-8). 2016-10-18 09:45:03 +03:00
Andris Raugulis 6b76e68d0d Fix wrongly introduced Python 3 incompatibility. Fixes #14 and #15.
Add static type checks via mypy (optional static type checker),
Add relevant tests, which could trigger the issue.
2016-10-17 20:31:13 +03:00
Andris Raugulis c9d58bb827 Switch to new development version. 2016-10-14 09:14:07 +03:00
Andris Raugulis e60d4ff809 Add kex/pkm payload generation. 2016-10-13 17:53:39 +03:00
Andris Raugulis 93b908f890 Fix error output. 2016-10-13 17:53:01 +03:00
Andris Raugulis f1e8231b67 Make usage's output independent. 2016-10-10 12:42:01 +03:00
Andris Raugulis 84ac5a30ab Decouple AuditConf from Output. 2016-10-07 19:55:31 +03:00
Andris Raugulis 705bedd608 Do not output empty algorithm. 2016-10-06 16:22:09 +03:00
Andris Raugulis 4b456dd01e Return level name, not level itself (make consistent with setter). 2016-10-06 15:18:39 +03:00
Andris Raugulis 301a27ae27 Wrap utils in single class. 2016-10-06 14:36:30 +03:00
Andris Raugulis 76f49d4016 Output unicode not bytes in Python3. 2016-10-06 03:42:43 +03:00
Andris Raugulis ec0b4704e9 Move Kex to SSH2. 2016-10-06 02:59:15 +03:00
Andris Raugulis a193059bc9 Lazy CRC32 initialization. 2016-10-05 14:56:36 +03:00
Andris Raugulis 7959c7448a Fix and update write buffer. Add buffer tests. 2016-10-05 06:06:26 +03:00
Andris Raugulis 262c65b7be Fix version comparison and update tests. 2016-10-05 04:09:50 +03:00
Andris Raugulis 407ddbd7ea Cosmetic whitespace fix. 2016-10-05 03:31:03 +03:00
Andris Raugulis aee949a717 Fix software representation. Add software tests. 2016-10-05 03:27:43 +03:00
Andris Raugulis 489a24c564 Fix banner protocol (1.99) recognition and clean banner comments. Add banner tests. 2016-10-05 03:25:54 +03:00
Andris Raugulis 5269b63e64 Weigh faults to recommend lesser evil. Colorize recommendations. 2016-10-04 11:14:03 +03:00
Andris Raugulis 5de7b913fd Recognize libssh (software, history, compatibility, security, etc). Closes #8. 2016-10-04 10:27:27 +03:00
Andris Raugulis 0c98bc1397 If software is not recognized, output recommendations based on compatibility. 2016-10-03 00:29:28 +03:00
Andris Raugulis f25e6caa2a Implement algorithm recommendations sections. 2016-09-28 17:03:38 +03:00
Andris Raugulis 29a0bb86fa Refactor algorithm pair/set reuse. 2016-09-28 17:01:37 +03:00
Andris Raugulis 1fda7b2a3e Support simple software output (without patch). 2016-09-28 16:58:58 +03:00
Andris Raugulis 7d5f74810b Back to development version. 2016-09-20 12:36:14 +03:00
Andris Raugulis e9b9a457dd Release 1.5.0. 2016-09-20 12:26:14 +03:00
Andris Raugulis 4dcf1c91cd Bump version. 2016-09-17 20:37:48 +03:00
Andris Raugulis 3421c8e294 Output fingerprint (defaults to SHA256 format). 2016-09-17 20:37:03 +03:00
Andris Raugulis 684ea315ec Shorten variables. 2016-09-17 20:24:53 +03:00
Andris Raugulis a70b93862a Output SSH1 host-key algorithm. 2016-09-17 20:21:18 +03:00
Andris Raugulis b16ef4d040 Add fingerprint support. 2016-09-17 20:15:47 +03:00
Andris Raugulis 5bc31ea70c Implement SSH1 support (cipher, auth, compatibility, texts, etc) #6. 2016-09-17 20:15:21 +03:00
Andris Raugulis fce491767c Signed mpint. 2016-09-17 19:23:24 +03:00
Andris Raugulis ddc5ea22f5 Refactor algorithm functions. 2016-09-17 05:38:11 +03:00
Andris Raugulis adba0ea08a Refactor timeframe and compatibility functions. 2016-09-17 00:58:06 +03:00
Andris Raugulis 11ee9ecd05 Fix output compatibility for ssh client. 2016-09-17 00:35:33 +03:00
Andris Raugulis a861fe0c8a Since text could be empty or client-only. 2016-09-17 00:30:04 +03:00
Andris Raugulis f6a6fb98bc Recognize Allegro Software RomSShell. 2016-09-16 16:09:49 +03:00
Andris Raugulis cb19718568 Add SSH1 and SSH2 forcing options. By default, both are allowed. 2016-09-16 14:55:27 +03:00
Andris Raugulis 9030e71892 Initial SSH1 support (packet reading, SMSG_PUBLIC_KEY, CRC32, etc) #6. 2016-09-15 18:00:09 +03:00
Andris Raugulis d6980242ba Pyython 2.6 compatible bit length. 2016-09-15 15:55:27 +03:00