google / tsunami-security-scanner

Tsunami is a general purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities with high confidence.
Apache License 2.0
8.28k stars 895 forks source link

Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord #4

Closed tuxevil closed 10 months ago

tuxevil commented 4 years ago

Hi everyone, thanks for this great project! Im trying to install it following the quick_start.sh command, but im having this issue.

` Fetching source code for Tsunami scanner ... Cloning into 'tsunami-security-scanner'... remote: Enumerating objects: 403, done. remote: Counting objects: 100% (403/403), done. remote: Compressing objects: 100% (194/194), done. remote: Total 403 (delta 147), reused 381 (delta 125), pack-reused 0 Receiving objects: 100% (403/403), 235.64 KiB | 652.00 KiB/s, done. Resolving deltas: 100% (147/147), done.

Fetching source code for Tsunami scanner plugins ... Cloning into 'tsunami-security-scanner-plugins'... remote: Enumerating objects: 377, done. remote: Counting objects: 100% (377/377), done. remote: Compressing objects: 100% (154/154), done. remote: Total 377 (delta 75), reused 353 (delta 51), pack-reused 0 Receiving objects: 100% (377/377), 159.61 KiB | 501.00 KiB/s, done. Resolving deltas: 100% (75/75), done.

Building all Google plugins ...

Building detectors/credentials/ncrack ... Downloading https://services.gradle.org/distributions/gradle-5.2.1-bin.zip

Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1064) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:395) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250) at org.gradle.wrapper.Download.downloadInternal(Download.java:67) at org.gradle.wrapper.Download.download(Download.java:52) at org.gradle.wrapper.Install$1.call(Install.java:62) at org.gradle.wrapper.Install$1.call(Install.java:48) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) at org.gradle.wrapper.Install.createDist(Install.java:48) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:62) Suppressed: java.net.SocketException: Broken pipe (Write failed) at java.base/java.net.SocketOutputStream.socketWrite0(Native Method) at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:351) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:398) ... 13 more Caused by: java.net.SocketException: Broken pipe (Write failed) at java.base/java.net.SocketOutputStream.socketWrite0(Native Method) at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:221) at java.base/sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:162) at java.base/sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:118) at java.base/sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:395) at java.base/sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:379) at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436) at java.base/sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1144) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1055) ... 14 more `

How can I solve it? What Im missing?

magl0 commented 4 years ago

Hi, thanks for reporting this issue. In order for us to reproduce this, can you please let us know the versions of gradle and java and the OS of your host?

gradle -v

java -version
tuxevil commented 4 years ago

it seems Im missing gradle, I will install it and let you know if now it works fine

java -version openjdk version "11.0.7-ea" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7-ea+9-post-Debian-1) OpenJDK Zero VM (build 11.0.7-ea+9-post-Debian-1, interpreted mode)

gradle -v -bash: gradle: command not found

tuxevil commented 4 years ago

Well, Im on Kali P4wnP1 ALOA root@kali '--------- OS: Kali GNU/Linux Rolling armv6l Host: Raspberry Pi Zero W Rev 1.1 Kernel: 4.14.80-Re4son+ Uptime: 2 days, 2 hours, 33 mins Packages: 1150 (dpkg) Shell: bash 5.0.16 Terminal: /dev/pts/0 CPU: BCM2835 (1) @ 1.000GHz Memory: 51MiB / 433MiB

and I just installed using this tutorial https://www.howtoforge.com/how-to-install-gradle-on-ubuntu-1804/ so my output for gradle -v

'------------------------------------------------------------ Gradle 4.4.1 '------------------------------------------------------------

Build time: 2012-12-21 00:00:00 UTC Revision: none

Groovy: 2.4.17 Ant: Apache Ant(TM) version 1.10.8 compiled on January 8 1970 JVM: 11.0.7-ea (Debian 11.0.7-ea+9-post-Debian-1) OS: Linux 4.14.80-Re4son+ arm

But im still having the same error: Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord

I guess, my gradle 4.4.1 is too old? (2012)

tuxevil commented 4 years ago

Ok now i have Gradle 6.5

Welcome to Gradle 6.5!

Here are the highlights of this release:

For more details see https://docs.gradle.org/6.5/release-notes.html '------------------------------------------------------------ Gradle 6.5 '------------------------------------------------------------

Build time: 2020-06-02 20:46:21 UTC Revision: a27f41e4ae5e8a41ab9b19f8dd6d86d7b384dad4

Kotlin: 1.3.72 Groovy: 2.5.11 Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019 JVM: 11.0.7-ea (Debian 11.0.7-ea+9-post-Debian-1) OS: Linux 4.14.80-Re4son+ arm

but im still having the same error message

Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1064) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:395) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250) at org.gradle.wrapper.Download.downloadInternal(Download.java:67) at org.gradle.wrapper.Download.download(Download.java:52) at org.gradle.wrapper.Install$1.call(Install.java:62) at org.gradle.wrapper.Install$1.call(Install.java:48) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) at org.gradle.wrapper.Install.createDist(Install.java:48) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:62) Suppressed: java.net.SocketException: Broken pipe (Write failed) at java.base/java.net.SocketOutputStream.socketWrite0(Native Method) at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:351) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:398) ... 13 more Caused by: java.net.SocketException: Broken pipe (Write failed) at java.base/java.net.SocketOutputStream.socketWrite0(Native Method) at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:221) at java.base/sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:162) at java.base/sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:118) at java.base/sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:395) at java.base/sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:379) at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436) at java.base/sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1144) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1055) ... 14 more

tuxevil commented 4 years ago

Ok, I got it running on my x86 kali machine with no problems, so it seems its a problem on my ARM kali machine.

I dont know what else can be

magl0 commented 4 years ago

Hi, I cannot reproduce it on my kali x86 box either. So this might be an ARM specific problem. I don't have an ARM device available now for triaging so I'll keep this open until we have a fix for ARM.

yaml-007 commented 2 years ago

I got the same exception. The reasion of my case is that the time difference between client and server is 22 years. Hope this can help you.

tooryx commented 10 months ago

Hi,

I am triaging the issue list and I think this might be obsolete. Feel free to reopen if this is still an issue.

~tooryx

yaml-007 commented 10 months ago

您好,您的邮件我已收到。如有需具体回复的内容,我会额外回复。谢谢~