added a few bits. Tried a unicode tab

Dirk 2017-06-19 13:56:55 +02:00
parent 97f7d2e6a5
commit 63e22fa16e

@ -4,7 +4,12 @@
### SYNOPSIS
``testssl.sh <OPTIONS> [ --file FILE | URI ]`` or ``testssl.sh <BANNER OPTIONS>``
``testssl.sh <OPTIONS> [ URI | --file FILE ]``
or
``testssl.sh <BANNER OPTIONS>``
### DESCRIPTION
@ -14,7 +19,7 @@ The output rate findings by color (screen) or severity (file output) so that you
Except DNS lookups it doesn't use any third parties for checks, it's only you who sees the result and you also can use it internally on your LAN.
Portability is another core feature. testssl.sh runs under any Unix-like stack (Linux, *BSD, MacOS X, WSL=bash on Windows, Cygwin and MSYS2). ``/bin/bash`` (also version 3) is a prerequisite as well as standard utilities like awk, sed, tr and head. This can be of BSD, System 5 or GNU flavor whereas grep from System V is not yet supported.
Portability is another core feature. testssl.sh runs under any Unix-like stack (Linux, *BSD, MacOS X, WSL=bash on Windows, Cygwin and MSYS2). ``bash`` (also version 3) is a prerequisite as well as standard utilities like awk, sed, tr and head. This can be of BSD, System 5 or GNU flavor whereas grep from System V is not yet supported.
### GENERAL
@ -42,7 +47,7 @@ Portability is another core feature. testssl.sh runs under any Unix-like stack (
### OPTIONS
Options are either short or long options. All options requiring a value can be called with or without '=' e.g. ``testssl.sh -t=smtp --wide --openssl=/usr/bin/openssl <URI>`` is equivalent to ``testssl.sh --starttls smtp --wide --openssl /usr/bin/openssl <URI>``. Some options can also be preset via ENV variables. ``WIDE=true OPENSSL=/usr/bin/openssl testssl.sh --starttls smtp <URI>`` would be the equivalent to the aforementioned examples. Preference has the command line over ENV.
Options are either short or long options. All options requiring a value can be called with or without '=' e.g. ``testssl.sh -t=smtp --wide --openssl=/usr/bin/openssl <URI>`` is equivalent to ``testssl.sh --starttls smtp --wide --openssl /usr/bin/openssl <URI>``. Some options can also be preset via ENV variables. ``WIDE=true OPENSSL=/usr/bin/openssl testssl.sh --starttls smtp <URI>`` would be the equivalent to the aforementioned examples. Preference has the command line over any enviroment variables.
``<URI>`` or ``--file <FILE>`` always needs to be the last parameter.
@ -89,20 +94,22 @@ The nmap output always returns IP addresses and -- only if there's a PTR DNS rec
``--openssl <path_to_openssl>`` testssl.sh tries very hard to find automagically the binary supplied (where the tree of testssl.sh resides, from the directory where testssl.sh has been started from, etc.). If all that doesn't work it falls back to openssl supplied from the OS (``$PATH``). With this option you can point testssl.sh to your binary of choice and override any internal magic to find the openssl binary. ``OPENSSL=<path_to_openssl>`` is equivalent.
``--bugs`` does some workarounds for buggy servers like padding for old F5 devices. The option is passed as ``-bug`` to openssl when needed, see ``s_client(1)``. For the socket part testssl.sh tries its best also without that option to cope with broken server implementations.
``--bugs`` does some workarounds for buggy servers like padding for old F5 devices. The option is passed as ``-bug`` to openssl when needed, see ``s_client(1)``. For the socket part testssl.sh tries its best also without that option to cope with broken server implementations (environment preset via `BUGS="-bugs"`)
``--assuming-http`` testssl.sh does upfront a protocol detection on the application layer. In cases where for some reasons the usage of HTTP cannot be automatically detected you may want to use this option. It helps you to tell testssl.sh not to skip HTTP specific tests and to run the client simulation with browsers. Sometimes also the severity depends on the application protocol, e.g. SHA1 signed certificates, the lack of any SAN matches and some vulnerabilities will be punished harder when checking a web server as opposed to a mail server.
``-n, --no-dns`` instructs testssl.sh to not do any DNS lookups. It's useful if you either can't or are not willing to perform DNS lookups. The latter applies e.g. to some pentests, the former could e.g. help you to avoid timeouts by DNS lookups.
``-n, --no-dns`` &ensp; instructs testssl.sh to not do any DNS lookups. It's useful if you either can't or are not willing to perform DNS lookups. The latter applies e.g. to some pentests, the former could e.g. help you to avoid timeouts by DNS lookups.
``--sneaky`` As a friendly feature for the server side testssl.sh uses a user agent ``TLS tester from <URL>`` (HTTP). With this option your traces are less verbose and a Firefox user agent is being used. Be aware that it doesn't hide your activities. That is just not possible.
``--sneaky`` &ensp; as a friendly feature for the server side testssl.sh uses a user agent ``TLS tester from <URL>`` (HTTP). With this option your traces are less verbose and a Firefox user agent is being used. Be aware that it doesn't hide your activities. That is just not possible (environment preset via `SNEAKY=`true`
### SINGLE OPTIONS
### SINGLE CHECK OPTIONS
Any single option supplied prevents testssl.sh to do a default run. It just takes this and other options and runs them in the order they would also appear in the default run.
-e, --each-cipher checks each local cipher remotely
`-e, --each-cipher` &ensp; checks each of the local 359 cipher (openssl + sockets) remotely on the server and reports back the result in wide mode. I you want to display each cipher tested you need to add `--show-each`
-E, --cipher-per-proto checks those per protocol
-f, --ciphers checks common cipher suites
-p, --protocols checks TLS/SSL protocols
@ -146,7 +153,7 @@ All output options can also be preset via environment variables.
5: display bytes received via sockets
6: whole 9 yards
##### FILE OUTPUT OPTIONS
### FILE OUTPUT OPTIONS
A few file output options can also be preset via environment variables.
@ -166,6 +173,10 @@ A few file output options can also be preset via environment variables.
### TUNING via ENV variables
* DEBUGTIME
* DEBUG_ALLINONE
### EXAMPLES
testssl.sh testssl.sh