librex 0.0.47 → 0.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +1 -1
- data/lib/rex/proto/dhcp/server.rb +11 -5
- metadata +3 -3
data/README.markdown
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A non-official re-packaging of the Rex library as a gem for easy of usage of the Metasploit REX framework in a non Metasploit application. I received permission from HDM to create this package.
|
|
4
4
|
|
|
5
5
|
Currently based on:
|
|
6
|
-
SVN Revision:
|
|
6
|
+
SVN Revision: 13637
|
|
7
7
|
|
|
8
8
|
# Credits
|
|
9
9
|
The Metasploit development team <http://www.metasploit.com>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# $Id: server.rb
|
|
1
|
+
# $Id: server.rb 13629 2011-08-24 21:28:31Z scriptjunkie $
|
|
2
2
|
|
|
3
3
|
require 'rex/socket'
|
|
4
4
|
require 'rex/proto/dhcp'
|
|
@@ -91,6 +91,7 @@ class Server
|
|
|
91
91
|
self.leasetime = 600
|
|
92
92
|
self.relayip = "\x00\x00\x00\x00" # relay ip - not currently suported
|
|
93
93
|
self.pxeconfigfile = "update2"
|
|
94
|
+
self.pxealtconfigfile = "update0"
|
|
94
95
|
self.pxepathprefix = ""
|
|
95
96
|
self.pxereboottime = 2000
|
|
96
97
|
end
|
|
@@ -120,7 +121,7 @@ class Server
|
|
|
120
121
|
# Set an option
|
|
121
122
|
def set_option(opts)
|
|
122
123
|
allowed_options = [
|
|
123
|
-
:serveOnce, :servePXE, :relayip, :leasetime, :dnsserv,
|
|
124
|
+
:serveOnce, :pxealtconfigfile, :servePXE, :relayip, :leasetime, :dnsserv,
|
|
124
125
|
:pxeconfigfile, :pxepathprefix, :pxereboottime, :router,
|
|
125
126
|
:give_hostname, :served_hostname, :served_over, :serveOnlyPXE
|
|
126
127
|
]
|
|
@@ -149,7 +150,7 @@ class Server
|
|
|
149
150
|
attr_accessor :listen_host, :listen_port, :context, :leasetime, :relayip, :router, :dnsserv
|
|
150
151
|
attr_accessor :sock, :thread, :myfilename, :ipstring, :served, :serveOnce
|
|
151
152
|
attr_accessor :current_ip, :start_ip, :end_ip, :broadcasta, :netmaskn
|
|
152
|
-
attr_accessor :servePXE, :pxeconfigfile, :pxepathprefix, :pxereboottime, :serveOnlyPXE
|
|
153
|
+
attr_accessor :servePXE, :pxeconfigfile, :pxealtconfigfile, :pxepathprefix, :pxereboottime, :serveOnlyPXE
|
|
153
154
|
attr_accessor :give_hostname, :served_hostname, :served_over
|
|
154
155
|
|
|
155
156
|
protected
|
|
@@ -267,7 +268,7 @@ protected
|
|
|
267
268
|
# if serveOnce & PXE, don't reply to another PXE request
|
|
268
269
|
# if serveOnce & ! PXE, don't reply to anything
|
|
269
270
|
if self.serveOnce == true and self.served.has_key?(buf[28..43]) and
|
|
270
|
-
self.served[buf[28..43]][1] and (pxeclient ==
|
|
271
|
+
self.served[buf[28..43]][1] and (pxeclient == false or self.servePXE == false)
|
|
271
272
|
return
|
|
272
273
|
end
|
|
273
274
|
elsif messageType == DHCPRequest #DHCP Request - send DHCP ACK
|
|
@@ -292,7 +293,12 @@ protected
|
|
|
292
293
|
pkt << dhcpoption(OpDns, self.dnsserv)
|
|
293
294
|
if self.servePXE # PXE options
|
|
294
295
|
pkt << dhcpoption(OpPXEMagic, PXEMagic)
|
|
295
|
-
|
|
296
|
+
if self.serveOnce == true and self.served.has_key?(buf[28..43]) and
|
|
297
|
+
self.served[buf[28..43]][1] and pxeclient == true
|
|
298
|
+
pkt << dhcpoption(OpPXEConfigFile, self.pxealtconfigfile)
|
|
299
|
+
else
|
|
300
|
+
pkt << dhcpoption(OpPXEConfigFile, self.pxeconfigfile)
|
|
301
|
+
end
|
|
296
302
|
pkt << dhcpoption(OpPXEPathPrefix, self.pxepathprefix)
|
|
297
303
|
pkt << dhcpoption(OpPXERebootTime, [self.pxereboottime].pack('N'))
|
|
298
304
|
if ( self.give_hostname == true )
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: librex
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.48
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -10,10 +10,10 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2011-08-
|
|
13
|
+
date: 2011-08-25 00:00:00.000000000Z
|
|
14
14
|
dependencies: []
|
|
15
15
|
description: Rex provides a variety of classes useful for security testing and exploit
|
|
16
|
-
development. Based on SVN Revision
|
|
16
|
+
development. Based on SVN Revision 13637
|
|
17
17
|
email:
|
|
18
18
|
- hdm@metasploit.com
|
|
19
19
|
- jacob.hammack@hammackj.com
|