Fork of SSH2DOS with more up to date cipher and SHA256 support

Related tags

Cryptography SSH2DOS
Overview
SSH2DOS v0.2.1+SHA256.1 patch by Antti Takala
https://github.com/AnttiTakala/SSH2DOS
Released on 04-14-2021

The aim was to update the ciphers and protocols to more 2021 standards so
the programs would be usable with current ssh servers without the need to
change the server configuration to allow less secure connection methods.

Changes to original:
diffie-hellman-group1-sha1 -> diffie-hellman-group14-sha256
aes128-cbc -> aes128-ctr
hmac-sha1 -> hmac-sha2-256

Implementations for these have been copied from putty-0.70 source. The
latest version was not used because this version was the last one
compatible with the originally copied parts from earlier putty version.

Only tested the ssh and scp clients with password based authentication.

Note that the random number generator used in the program is not
cryptographically secure at all. There may also be other security issues
so USE AT YOUR OWN RISK.


Original readme follows:

SSH2DOS v0.2.1 Copyright (c) 2000-2006 Nagy Daniel
Release date: 04-23-2006


COPYRIGHT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

	SSH2DOS
	Copyright (c) 2000-2006 Nagy Daniel
	This program is distributed under the terms of the GNU General
	Public License. Please read the copying file for details.

	Portions:

	WATT-32 library (which is based on the WATTCP library)
	Copyright (c) 1990, 1991, 1992, 1993 Erick Engelke
	Portions Copyright (c) 1993  Quentin Smart
	Portions Copyright (c) 1991  University of Waterloo
	Portions Copyright (c) 1990  National Center for Supercomputer
				     Applications
	Portions Copyright (c) 1990  Clarkson University
	Portions Copyright (c) 1983, 1986, Imagen Corporation
	http://www.wattcp.com
	http://www.bgnett.no/~giva

	ZLIB library
	Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
	http://www.gzip.org

	PuTTY
	Copyright (c) 1997-2002 Simon Tatham
	PuTTY is distributed under the terms of the MIT licence.
	http://www.chiark.greenend.org.uk/~sgtatham/putty/

	CVT100
	Copyright (c) 1988 Jerry Joplin (CVT100)
	Portions copyright (c) 1981, 1988 Trustees of Columbia University
					  in the City of New York
	Permission is granted to any individual or institution
	to use, copy, or redistribute this program and
	documentation as long as it is not sold for profit and
	as long as the Columbia copyright notice is retained.
	http://www.simtel.net/pub/simtelnet/msdos/commprog/cvt100.zip


INTRODUCTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

	SSH2DOS (SSH2D386) is an SSH client which provides a telnet-like
	interactive login shell to remote hosts. It can be used to run
	commands on remote hosts as well.

	SFTPDOS (SFTP386) and SCPDOS (SCP2D386) are secure file transfer
	utilities capable of transferring files from remote to local or
	from local to remote machines.

	TELNET (TEL386) is the good old telnet utility.

	These programs can run on low-end machines (8086+) when
	compiled as real-mode applications (OpenWatcom large model),
	so it's an ideal solution to connect from el-cheapo machines
	or DOS compatible PDAs.
	The 386 version (OpenWatcom flat model) is much faster,
        but it requires at least a 386 machine.

	Supported cipher: AES
	Implemented SSH protocol version: 2.0
	Supported authentication methods: keyboard-interactive,
	public key and password

        All utilities support SOCKS5 and HTTP proxies with
        user authentication support. This is handy if you're
        behind a firewall.

	SSH2DOS is based on the WATT-32 TCP/IP library, Putty SSH client
	for Windows, the ZLIB compression library and the CVT100
	terminal emulation package.


INSTALLATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

	Unzip the package with subdirectory support (pkunzip -d).

	If you have the binary package, no installation is needed.
	Edit the wattcp.cfg and hosts file first, then install a packet
	driver, or set up your PPP connection if you have a modem.

        To compile the sources, you'll also need the WATT-32 and ZLIB
        sources.
	To build the binaries, build ZLIB and WATT-32 first. Be sure,
        that the WATT_ROOT environment variable points to the proper
	WATT-32 source directory.
	Copy zlib_f.lib or zlib_l.lib (depending on your target)
	to the lib\ directory under the ssh2dos source tree.
        Now run 'make -f filename', where 'filename' is needed makefile:
        watcom_l.mak - OpenWatcom real mode target (for 8086 machines)
        watcom_f.mak - OpenWatcom protected mode target (for 80386 machines)

	Tested compilers:
	- OpenWatcom 1.x


DOCUMENTATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

	To get help for SSH2DOS and SFTPDOS, please use the /? command
	line option.

	-i <identity file> Public key file for public key authentication.
			   You can create keys with PuTTYGen or Linux
			   ssh-keygen.

	-t <terminal type> This string is passed to the server as the
			   'TERM' environment variable. The default is
			   'xterm'. You can set any string here, but be
			   sure to use a correct keymap file. For the
			   nicest results, I recommend 'linux' with the
			   linux keymap file, if your host supports it.

	-p <port number>   Port to connect to at the remote host.
			   The default SSH port is 22.

	-k <keymap file>   Keymap file. Three sample keymap files are
			   included in the package (for vt100/102,
			   linux and xterm-color terminals). The 'xterm'
			   keymap is hard-wired into SSH2DOS, so keymap
			   files should only contain the differences
			   from the 'xterm' keymap.

	-m <mode>          Video mode. Valid modes are:
			   '80x25', '80x60', '132x25' and '132x50'.
			   A VESA VGA card is required for extended modes.

	-s <password>      You can specify your password here. This is
			   useful (but INSECURE) for batch files.

	-l <log file>	   Log the whole session to a file.

	-a <minutes>	   Send keepalive packets. SSH2DOS sends IGNORE
			   packets in every 'minutes'.

	-b <COM[1234]>     Copy all output to a Brailab PC adapter
			   connected to the specified COM port.
			   This adapter is useful for the visually
			   challenged.

	-g		   Use Diffie-Hellman group1 exchange. This may
			   be useful in case of connection problems.

	-P		   Use a non-privileged local port.

	-C		   Enable compression (for real-mode SSH2DOS, you'll
			   need as much free conventional memory as
			   possible).

	-S		   Suppress status line.

	-B		   Use BIOS for screen writes (no direct video access).
                           This may help visually challenged people.

	-V		   Disable VESA BIOS. This can be useful to avoid
			   changing to full-screen mode under WindowsXP
			   or if you have other mode switching problems.

	-n		   Add CR if server sends only LF. Use this to
			   prevent the 'staircase effect'.

	-d		   Save raw SSH packets to file 'debug.pkt'.

	-v		   Be more verbose at startup.


	During interactive session, SHIFT + PGUP/PGDOWN can be used
	to view the scrollback area.

	If the connection seems to be broken and no disconnection
	happens automatically, you may terminate SSH2DOS by
	pressing the ALT-X key combination.

	DOS shell can be invoked using the ALT-E key combination.

	To use proxy support, you must set either SOCKS_PROXY or
	HTTP_PROXY environment variable. The syntax is:
	  [username:password@]proxyhost[:port] 
	The default SOCKS port is 1080, HTTP is 3128.
	Some examples:
	  SOCKS5 proxy with no user authentication using default port:
		SOCKS_PROXY=proxy.foo.bar
	  HTTP proxy with authentication using port 8080:
		HTTP_PROXY=myusername:[email protected]:8080


EXAMPLESÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

	Connect to a linux box:
	  ssh2dos -t linux -k linux.kbd username hostname

	Connect to a host using the 386 version and compression:
	  ssh2d386 -C username hostname

	Connect and run a shell script called 'scriptname':
	  ssh2dos username hostname nohup scriptname &

	Connect to a host with sftp 386 version:
	  sftp386 username@hostname
	Then use the 'help' command to get help.

	Copy a file from the remote host to local:
	  scpdos username@hostname:path_to_remote_file local_file

	Create a batch file to upload to files, "file1" and "file2",
	to a remote directory called "test" on "remotehost".
	This batch file "example.txt" should look like:
	  open username@remotehost
	  cd test
	  put file1
	  put file2
	  bye
	Now use SFTP to do the actual transfer:
	  sftpdos -b example.txt


OFFICIAL SITE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

The official distribution site is http://sshdos.sourceforge.net

The package is available in both executable and source format.
Contact: [email protected]
Comments
  • Just saying thanks

    Just saying thanks

    HI. Thanks for your work on this. I find it works well with password authentication but throws errors on pub/priv key (-i option), but it is great to have a version that can do a more modern key exchange, and I wanted to say thanks.

    Darren

    opened by DJGoossens 1
  • Curser missing

    Curser missing

    After a full-screen program like lynx, your cursor goes missing! Only way to get it to come back (Linux) is to reset your terminal with "reset." Worse, exit to dos, and your everything is missing! Once I had to hit the up arrow(Freedos), ssh back into Linux and type reset so I could see "a:" again.

    A good work around is to use the "-B" option, which appears to solve the issue completely.

    opened by helpdeskdan 0
  • Noise?

    Noise?

    Firstly, bravo! Well done!!

    Secondly, have you considered using noise for dos?
    http://www.ausreg.com/files/noise063.zip

    Noise would solve the random number issue. That's what dos openssl/lynx uses.

    opened by helpdeskdan 2
  • Error

    Error "All attempt to get a IP-address failed"

    Hi there! Am I doing something dumb?

    ssh2d386.exe user 192.168.1.2 -p 22

    I get an error "All attempt to get a IP-address failed"

    It appears SSH2DOS is trying to get an IP? My machine already had a DHCP IP before I ran SSH2DOS - and I can ping gateway and SSH server.

    Happy to provide a screenshot if that helps.

    Thanks!

    opened by SpitFire-666 2
  • PC hangs when running ssh2dos in TCP/IP setup

    PC hangs when running ssh2dos in TCP/IP setup

    Packet driver was correctly configured: 3Com Etherlink III with 3C509.exe. mTCP DHCP got an IP lease and could reach network. PC hangs when running ssh2dos in TCP/IP setup. Tried with old ssh2dos (v0.2.1) and it does the TPC/IP setup but fails connecting due to old protocols being used.

    opened by velouria 6
Releases(v0.2.1+SHA256.1)
Owner
Antti Takala
Antti Takala
Implementation and console application of Sha256 hash function.

Sha256 WARNING: This repository was the first version of Sha256, for a newer one check RedLibrary. What is it? This is an implementation and console a

Mr.Red 1 Feb 13, 2022
SHA256 Compute Shader (Kernel) Written in Rust

SHA256 Compute Shader (Kernel) Written in Rust ... with application to Validating the Bitcoin Blockchain Abstract The project consists of two primary

Daniel 38 Nov 10, 2022
a header-file-only, SHA256 hash generator in C++

PicoSHA2 - a C++ SHA256 hash generator Copyright © 2017 okdshin Introduction PicoSHA2 is a tiny SHA256 hash generator for C++ with following propertie

Shintarou Okada 531 Dec 29, 2022
Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool account, worker name.

WiseNoDevFee Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool

null 143 Dec 19, 2022
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.

Google 1.4k Dec 25, 2022
OSS-Sydr-Fuzz - OSS-Fuzz fork for hybrid fuzzing (fuzzer+DSE) open source software.

OSS-Sydr-Fuzz: Hybrid Fuzzing for Open Source Software This repository is a fork of OSS-Fuzz project. OSS-Sydr-Fuzz contains open source software targ

Ivannikov Institute for System Programming of the Russian Academy of Sciences 46 Dec 27, 2022
Ethereum miner with OpenCL, CUDA and stratum support

Ethminer is an Ethash GPU mining worker: with ethminer you can mine every coin which relies on an Ethash Proof of Work thus including Ethereum, Ethereum Classic, Metaverse, Musicoin, Ellaism, Pirl, Expanse and others. This is the actively maintained version of ethminer. It originates from cpp-ethereum project (where GPU mining has been discontinued) and builds on the improvements made in Genoil's fork. See FAQ for more details.

null 5.9k Jan 3, 2023
A useful tool for identifying the architecture, platform type, compiler, and operating system specifications by preprocessor feature support.

Platform-Detector Cross-Platform Information Detector It is a useful tool for identifying the architecture, platform type, compiler, and operating sys

Kambiz Asadzadeh 10 Jul 27, 2022
The UAPKI is crypto library for using in PKI with support of Ukrainian and internationlal cryptographic standards.

UAPKI The UAPKI is crypto library for using in PKI with support of Ukrainian and internationlal cryptographic standards. Fork from Cryptonite. Expert

null 25 Dec 23, 2022
Upbit(업비트) Cryptocurrency Exchange Open API Client of Multi-Programming Language Support

Upbit Client Documents Support Upbit Client Upbit(업비트) Cryptocurrency Exchange API Client Description Upbit(업비트) Cryptocurrency Exchange Open API Clie

Yu Jhin 47 Dec 11, 2022
x509cert is a tool and library for generating X.509 certificates and certificate requests.

x509cert is a tool and library for generating X.509 certificates and certificate requests. It is written in C99 and uses BearSSL to decode keys and compute signatures.

Michael Forney 10 Sep 5, 2022
HashLibPlus is a recommended C++11 hashing library that provides a fluent interface for computing hashes and checksums of strings, files, streams, bytearrays and untyped data to mention but a few.

HashLibPlus HashLibPlus is a recommended C++11 hashing library that provides a fluent interface for computing hashes and checksums of strings, files,

Telepati 6 Dec 22, 2022
Text-Crypt is a tool which encrypts and decrypts texts using a specific and certain key.

Text-Crypt is a tool which encrypts and decrypts texts using a specific and certain key. This tool uses Caesar Cypher Algorithm to encrypt and decrypt a given text.

AnonabdulJ 4 Dec 24, 2021
An open source, portable, easy to use, readable and flexible SSL library

README for Mbed TLS Mbed TLS is a C library that implements cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocol

Arm Mbed 3.9k Jan 7, 2023
TLS/SSL and crypto library

Welcome to the OpenSSL Project OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit for the Transport Layer Security (TLS) protoco

OpenSSL 20.5k Jan 6, 2023
Library and command line tool to detect SHA-1 collision in a file

sha1collisiondetection Library and command line tool to detect SHA-1 collisions in files Copyright 2017 Marc Stevens [email protected] Distributed

Marc Stevens 1.2k Dec 29, 2022
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

Tink A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. Ubuntu

Google 12.9k Jan 9, 2023