librex 0.0.4 → 0.0.5
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.md +12 -0
- data/lib/rex.rb +0 -0
- data/lib/rex.rb.ts.rb +0 -0
- data/lib/rex/LICENSE +0 -0
- data/lib/rex/arch.rb +0 -0
- data/lib/rex/arch/sparc.rb +0 -0
- data/lib/rex/arch/sparc.rb.ut.rb +0 -0
- data/lib/rex/arch/x86.rb +0 -0
- data/lib/rex/arch/x86.rb.ut.rb +0 -0
- data/lib/rex/assembly/nasm.rb +0 -0
- data/lib/rex/assembly/nasm.rb.ut.rb +0 -0
- data/lib/rex/codepage.map +0 -0
- data/lib/rex/compat.rb +0 -0
- data/lib/rex/constants.rb +0 -0
- data/lib/rex/elfparsey.rb +0 -0
- data/lib/rex/elfparsey/elf.rb +0 -0
- data/lib/rex/elfparsey/elfbase.rb +2 -4
- data/lib/rex/elfparsey/exceptions.rb +0 -0
- data/lib/rex/elfscan.rb +0 -0
- data/lib/rex/elfscan/scanner.rb +0 -0
- data/lib/rex/elfscan/search.rb +10 -10
- data/lib/rex/encoder/alpha2.rb +0 -0
- data/lib/rex/encoder/alpha2/alpha_mixed.rb +0 -0
- data/lib/rex/encoder/alpha2/alpha_upper.rb +0 -0
- data/lib/rex/encoder/alpha2/generic.rb +0 -0
- data/lib/rex/encoder/alpha2/unicode_mixed.rb +0 -0
- data/lib/rex/encoder/alpha2/unicode_upper.rb +0 -0
- data/lib/rex/encoder/ndr.rb +0 -0
- data/lib/rex/encoder/ndr.rb.ut.rb +0 -0
- data/lib/rex/encoder/nonalpha.rb +0 -0
- data/lib/rex/encoder/nonupper.rb +0 -0
- data/lib/rex/encoder/xdr.rb +0 -0
- data/lib/rex/encoder/xdr.rb.ut.rb +0 -0
- data/lib/rex/encoder/xor.rb +0 -0
- data/lib/rex/encoder/xor/dword.rb +0 -0
- data/lib/rex/encoder/xor/dword_additive.rb +0 -0
- data/lib/rex/encoders/xor_dword.rb +0 -0
- data/lib/rex/encoders/xor_dword_additive.rb +0 -0
- data/lib/rex/encoders/xor_dword_additive.rb.ut.rb +0 -0
- data/lib/rex/encoding/xor.rb +0 -0
- data/lib/rex/encoding/xor.rb.ts.rb +0 -0
- data/lib/rex/encoding/xor/byte.rb +0 -0
- data/lib/rex/encoding/xor/byte.rb.ut.rb +0 -0
- data/lib/rex/encoding/xor/dword.rb +0 -0
- data/lib/rex/encoding/xor/dword.rb.ut.rb +0 -0
- data/lib/rex/encoding/xor/dword_additive.rb +0 -0
- data/lib/rex/encoding/xor/dword_additive.rb.ut.rb +0 -0
- data/lib/rex/encoding/xor/exceptions.rb +0 -0
- data/lib/rex/encoding/xor/generic.rb +0 -0
- data/lib/rex/encoding/xor/generic.rb.ut.rb +0 -0
- data/lib/rex/encoding/xor/qword.rb +0 -0
- data/lib/rex/encoding/xor/word.rb +0 -0
- data/lib/rex/encoding/xor/word.rb.ut.rb +0 -0
- data/lib/rex/exceptions.rb +0 -0
- data/lib/rex/exceptions.rb.ut.rb +0 -0
- data/lib/rex/exploitation/cmdstager.rb +0 -0
- data/lib/rex/exploitation/cmdstager/base.rb +6 -1
- data/lib/rex/exploitation/cmdstager/debug_asm.rb +0 -0
- data/lib/rex/exploitation/cmdstager/debug_write.rb +0 -0
- data/lib/rex/exploitation/cmdstager/tftp.rb +8 -8
- data/lib/rex/exploitation/cmdstager/vbs.rb +0 -0
- data/lib/rex/exploitation/egghunter.rb +143 -36
- data/lib/rex/exploitation/egghunter.rb.ut.rb +0 -0
- data/lib/rex/exploitation/encryptjs.rb +0 -0
- data/lib/rex/exploitation/heaplib.js.b64 +0 -0
- data/lib/rex/exploitation/heaplib.rb +0 -0
- data/lib/rex/exploitation/javascriptosdetect.rb +114 -15
- data/lib/rex/exploitation/obfuscatejs.rb +0 -0
- data/lib/rex/exploitation/omelet.rb +320 -0
- data/lib/rex/exploitation/omelet.rb.ut.rb +13 -0
- data/lib/rex/exploitation/opcodedb.rb +0 -0
- data/lib/rex/exploitation/opcodedb.rb.ut.rb +0 -0
- data/lib/rex/exploitation/seh.rb +0 -0
- data/lib/rex/exploitation/seh.rb.ut.rb +0 -0
- data/lib/rex/file.rb +1 -1
- data/lib/rex/file.rb.ut.rb +0 -0
- data/lib/rex/image_source.rb +0 -0
- data/lib/rex/image_source/disk.rb +0 -0
- data/lib/rex/image_source/image_source.rb +0 -0
- data/lib/rex/image_source/memory.rb +0 -0
- data/lib/rex/io/bidirectional_pipe.rb +0 -0
- data/lib/rex/io/datagram_abstraction.rb +0 -0
- data/lib/rex/io/stream.rb +1 -1
- data/lib/rex/io/stream_abstraction.rb +0 -0
- data/lib/rex/io/stream_server.rb +0 -0
- data/lib/rex/job_container.rb +0 -1
- data/lib/rex/logging.rb +0 -0
- data/lib/rex/logging/log_dispatcher.rb +0 -0
- data/lib/rex/logging/log_sink.rb +0 -0
- data/lib/rex/logging/sinks/flatfile.rb +0 -0
- data/lib/rex/logging/sinks/stderr.rb +0 -0
- data/lib/rex/machparsey.rb +0 -0
- data/lib/rex/machparsey/exceptions.rb +0 -0
- data/lib/rex/machparsey/machbase.rb +0 -0
- data/lib/rex/machscan.rb +0 -0
- data/lib/rex/machscan/scanner.rb +0 -0
- data/lib/rex/mime.rb +0 -0
- data/lib/rex/mime/header.rb +0 -0
- data/lib/rex/mime/message.rb +0 -0
- data/lib/rex/mime/part.rb +0 -0
- data/lib/rex/nop/opty2.rb +0 -0
- data/lib/rex/nop/opty2.rb.ut.rb +0 -0
- data/lib/rex/nop/opty2_tables.rb +0 -0
- data/lib/rex/ole.rb +0 -0
- data/lib/rex/ole/clsid.rb +0 -0
- data/lib/rex/ole/difat.rb +0 -0
- data/lib/rex/ole/directory.rb +0 -0
- data/lib/rex/ole/direntry.rb +0 -0
- data/lib/rex/ole/docs/dependencies.txt +8 -0
- data/lib/rex/ole/docs/references.txt +1 -0
- data/lib/rex/ole/fat.rb +0 -0
- data/lib/rex/ole/header.rb +3 -3
- data/lib/rex/ole/minifat.rb +0 -0
- data/lib/rex/ole/storage.rb +4 -4
- data/lib/rex/ole/stream.rb +0 -0
- data/lib/rex/ole/substorage.rb +0 -0
- data/lib/rex/ole/util.rb +0 -0
- data/lib/rex/parser/arguments.rb +0 -0
- data/lib/rex/parser/arguments.rb.ut.rb +0 -0
- data/lib/rex/parser/ini.rb +0 -0
- data/lib/rex/parser/ini.rb.ut.rb +0 -0
- data/lib/rex/parser/nexpose_xml.rb +0 -0
- data/lib/rex/parser/nmap_xml.rb +0 -0
- data/lib/rex/payloads.rb +0 -0
- data/lib/rex/payloads/win32.rb +0 -0
- data/lib/rex/payloads/win32/common.rb +0 -0
- data/lib/rex/payloads/win32/kernel.rb +0 -0
- data/lib/rex/payloads/win32/kernel/common.rb +0 -0
- data/lib/rex/payloads/win32/kernel/migration.rb +0 -0
- data/lib/rex/payloads/win32/kernel/recovery.rb +0 -0
- data/lib/rex/peparsey.rb +0 -0
- data/lib/rex/peparsey/exceptions.rb +0 -0
- data/lib/rex/peparsey/pe.rb +7 -1
- data/lib/rex/peparsey/pe_memdump.rb +0 -0
- data/lib/rex/peparsey/pebase.rb +27 -2
- data/lib/rex/peparsey/section.rb +0 -0
- data/lib/rex/pescan.rb +0 -0
- data/lib/rex/pescan/analyze.rb +0 -0
- data/lib/rex/pescan/scanner.rb +0 -0
- data/lib/rex/pescan/search.rb +0 -0
- data/lib/rex/platforms.rb +0 -0
- data/lib/rex/platforms/windows.rb +0 -0
- data/lib/rex/poly.rb +0 -0
- data/lib/rex/poly/block.rb +0 -0
- data/lib/rex/poly/register.rb +0 -0
- data/lib/rex/poly/register/x86.rb +0 -0
- data/lib/rex/post.rb +0 -0
- data/lib/rex/post/dir.rb +0 -0
- data/lib/rex/post/file.rb +0 -0
- data/lib/rex/post/file_stat.rb +0 -0
- data/lib/rex/post/gen.pl +0 -0
- data/lib/rex/post/io.rb +0 -0
- data/lib/rex/post/meterpreter.rb +0 -0
- data/lib/rex/post/meterpreter/channel.rb +0 -0
- data/lib/rex/post/meterpreter/channel_container.rb +0 -0
- data/lib/rex/post/meterpreter/channels/pool.rb +0 -0
- data/lib/rex/post/meterpreter/channels/pools/file.rb +0 -0
- data/lib/rex/post/meterpreter/channels/pools/stream_pool.rb +0 -0
- data/lib/rex/post/meterpreter/channels/stream.rb +0 -0
- data/lib/rex/post/meterpreter/client.rb +3 -0
- data/lib/rex/post/meterpreter/client_core.rb +0 -0
- data/lib/rex/post/meterpreter/dependencies.rb +0 -0
- data/lib/rex/post/meterpreter/extension.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/espia/espia.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/espia/tlv.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/incognito/incognito.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/incognito/tlv.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb +57 -0
- data/lib/rex/post/meterpreter/extensions/networkpug/tlv.rb +15 -0
- data/lib/rex/post/meterpreter/extensions/priv/fs.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/priv/passwd.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/priv/priv.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/priv/tlv.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/sniffer/sniffer.rb +2 -1
- data/lib/rex/post/meterpreter/extensions/sniffer/tlv.rb +12 -10
- data/lib/rex/post/meterpreter/extensions/stdapi/constants.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/fs/dir.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/fs/file.rb +31 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/fs/file_stat.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/fs/io.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/net/config.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/net/interface.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/net/route.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/tcp_server_channel.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/api_constants.rb +38106 -38105
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_advapi32.rb +1804 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_iphlpapi.rb +96 -0
- data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun/def}/def_kernel32.rb +3848 -3678
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ntdll.rb +153 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_shell32.rb +21 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_user32.rb +3169 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ws2_32.rb +599 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/model.rb +540 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb +308 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb +196 -0
- data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/tlv.rb +6 -9
- data/lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb +5 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/config.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log_subsystem/event_record.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/power.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/process.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/image.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/io.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/memory.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/thread.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_key.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_value.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/sys/thread.rb +0 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/tlv.rb +6 -0
- data/lib/rex/post/meterpreter/extensions/stdapi/ui.rb +0 -0
- data/lib/rex/post/meterpreter/inbound_packet_handler.rb +0 -0
- data/lib/rex/post/meterpreter/object_aliases.rb +0 -0
- data/lib/rex/post/meterpreter/packet.rb +23 -1
- data/lib/rex/post/meterpreter/packet_dispatcher.rb +13 -2
- data/lib/rex/post/meterpreter/packet_parser.rb +0 -0
- data/lib/rex/post/meterpreter/packet_response_waiter.rb +17 -10
- data/lib/rex/post/meterpreter/ui/console.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb +12 -7
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/espia.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/incognito.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/networkpug.rb +221 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/elevate.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/passwd.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/timestomp.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/sniffer.rb +4 -3
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb +56 -1
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/net.rb +22 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/sys.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/ui.rb +0 -0
- data/lib/rex/post/meterpreter/ui/console/interactive_channel.rb +0 -0
- data/lib/rex/post/permission.rb +0 -0
- data/lib/rex/post/process.rb +0 -0
- data/lib/rex/post/thread.rb +0 -0
- data/lib/rex/post/ui.rb +0 -0
- data/lib/rex/proto.rb +0 -0
- data/lib/rex/proto.rb.ts.rb +0 -0
- data/lib/rex/proto/dcerpc.rb +0 -0
- data/lib/rex/proto/dcerpc.rb.ts.rb +0 -0
- data/lib/rex/proto/dcerpc/client.rb +3 -1
- data/lib/rex/proto/dcerpc/exceptions.rb +0 -0
- data/lib/rex/proto/dcerpc/handle.rb +0 -0
- data/lib/rex/proto/dcerpc/handle.rb.ut.rb +0 -0
- data/lib/rex/proto/dcerpc/ndr.rb +0 -0
- data/lib/rex/proto/dcerpc/ndr.rb.ut.rb +0 -0
- data/lib/rex/proto/dcerpc/packet.rb +0 -0
- data/lib/rex/proto/dcerpc/packet.rb.ut.rb +0 -0
- data/lib/rex/proto/dcerpc/response.rb.ut.rb +0 -0
- data/lib/rex/proto/dcerpc/uuid.rb +0 -0
- data/lib/rex/proto/dcerpc/uuid.rb.ut.rb +0 -0
- data/lib/rex/proto/dhcp.rb +7 -0
- data/lib/rex/proto/dhcp/constants.rb +33 -0
- data/lib/rex/proto/dhcp/server.rb +285 -0
- data/lib/rex/proto/drda.rb +0 -0
- data/lib/rex/proto/drda.rb.ts.rb +0 -0
- data/lib/rex/proto/drda/constants.rb +0 -0
- data/lib/rex/proto/drda/constants.rb.ut.rb +0 -0
- data/lib/rex/proto/drda/packet.rb +0 -0
- data/lib/rex/proto/drda/packet.rb.ut.rb +0 -0
- data/lib/rex/proto/drda/utils.rb +0 -0
- data/lib/rex/proto/drda/utils.rb.ut.rb +0 -0
- data/lib/rex/proto/http.rb +0 -0
- data/lib/rex/proto/http.rb.ts.rb +0 -0
- data/lib/rex/proto/http/client.rb +27 -2
- data/lib/rex/proto/http/client.rb.ut.rb +4 -2
- data/lib/rex/proto/http/handler.rb +0 -0
- data/lib/rex/proto/http/handler/erb.rb +0 -0
- data/lib/rex/proto/http/handler/erb.rb.ut.rb +0 -0
- data/lib/rex/proto/http/handler/erb.rb.ut.rb.rhtml +0 -0
- data/lib/rex/proto/http/handler/proc.rb +6 -0
- data/lib/rex/proto/http/handler/proc.rb.ut.rb +0 -0
- data/lib/rex/proto/http/header.rb +0 -0
- data/lib/rex/proto/http/header.rb.ut.rb +0 -0
- data/lib/rex/proto/http/packet.rb +20 -19
- data/lib/rex/proto/http/packet.rb.ut.rb +0 -0
- data/lib/rex/proto/http/request.rb +0 -0
- data/lib/rex/proto/http/request.rb.ut.rb +0 -0
- data/lib/rex/proto/http/response.rb +0 -0
- data/lib/rex/proto/http/response.rb.ut.rb +0 -0
- data/lib/rex/proto/http/server.rb +5 -3
- data/lib/rex/proto/http/server.rb.ut.rb +0 -0
- data/lib/rex/proto/proxy/socks4a.rb +440 -0
- data/lib/rex/proto/smb.rb +0 -0
- data/lib/rex/proto/smb.rb.ts.rb +0 -0
- data/lib/rex/proto/smb/client.rb +110 -61
- data/lib/rex/proto/smb/client.rb.ut.rb +0 -0
- data/lib/rex/proto/smb/constants.rb +5 -3
- data/lib/rex/proto/smb/constants.rb.ut.rb +0 -0
- data/lib/rex/proto/smb/crypt.rb +0 -0
- data/lib/rex/proto/smb/crypt.rb.ut.rb +0 -0
- data/lib/rex/proto/smb/exceptions.rb +0 -0
- data/lib/rex/proto/smb/simpleclient.rb +0 -0
- data/lib/rex/proto/smb/simpleclient.rb.ut.rb +0 -0
- data/lib/rex/proto/smb/utils.rb +2 -0
- data/lib/rex/proto/smb/utils.rb.ut.rb +0 -0
- data/lib/rex/proto/sunrpc.rb +0 -0
- data/lib/rex/proto/sunrpc/client.rb +0 -0
- data/lib/rex/proto/tftp.rb +10 -1
- data/lib/rex/proto/tftp/constants.rb +5 -3
- data/lib/rex/proto/tftp/server.rb +79 -9
- data/lib/rex/script.rb +0 -0
- data/lib/rex/script/base.rb +0 -0
- data/lib/rex/script/meterpreter.rb +0 -0
- data/lib/rex/script/shell.rb +0 -0
- data/lib/rex/service.rb +0 -0
- data/lib/rex/service_manager.rb +0 -0
- data/lib/rex/service_manager.rb.ut.rb +0 -0
- data/lib/rex/services/local_relay.rb +0 -0
- data/lib/rex/socket.rb +6 -4
- data/lib/rex/socket.rb.ut.rb +0 -0
- data/lib/rex/socket/comm.rb +0 -0
- data/lib/rex/socket/comm/local.rb +0 -0
- data/lib/rex/socket/comm/local.rb.ut.rb +0 -0
- data/lib/rex/socket/ip.rb +0 -0
- data/lib/rex/socket/parameters.rb +0 -0
- data/lib/rex/socket/parameters.rb.ut.rb +0 -0
- data/lib/rex/socket/range_walker.rb +0 -0
- data/lib/rex/socket/range_walker.rb.ut.rb +0 -0
- data/lib/rex/socket/ssl_tcp.rb +1 -1
- data/lib/rex/socket/ssl_tcp.rb.ut.rb +0 -0
- data/lib/rex/socket/ssl_tcp_server.rb +0 -0
- data/lib/rex/socket/ssl_tcp_server.rb.ut.rb +0 -0
- data/lib/rex/socket/subnet_walker.rb +0 -0
- data/lib/rex/socket/subnet_walker.rb.ut.rb +0 -0
- data/lib/rex/socket/switch_board.rb.ut.rb +0 -0
- data/lib/rex/socket/tcp.rb +0 -0
- data/lib/rex/socket/tcp.rb.ut.rb +0 -0
- data/lib/rex/socket/tcp_server.rb +0 -0
- data/lib/rex/socket/tcp_server.rb.ut.rb +0 -0
- data/lib/rex/socket/udp.rb +0 -0
- data/lib/rex/socket/udp.rb.ut.rb +0 -0
- data/lib/rex/struct2.rb +0 -0
- data/lib/rex/struct2/c_struct.rb +0 -0
- data/lib/rex/struct2/c_struct_template.rb +0 -0
- data/lib/rex/struct2/constant.rb +0 -0
- data/lib/rex/struct2/element.rb +0 -0
- data/lib/rex/struct2/generic.rb +0 -0
- data/lib/rex/struct2/restraint.rb +0 -0
- data/lib/rex/struct2/s_string.rb +0 -0
- data/lib/rex/struct2/s_struct.rb +0 -0
- data/lib/rex/sync.rb +0 -0
- data/lib/rex/sync/event.rb +0 -0
- data/lib/rex/sync/read_write_lock.rb +0 -0
- data/lib/rex/sync/ref.rb +0 -0
- data/lib/rex/sync/thread_safe.rb +0 -0
- data/lib/rex/test.rb +0 -0
- data/lib/rex/text.rb +13 -3
- data/lib/rex/text.rb.ut.rb +9 -4
- data/lib/rex/time.rb +0 -0
- data/lib/rex/transformer.rb +0 -0
- data/lib/rex/transformer.rb.ut.rb +0 -0
- data/lib/rex/ui.rb +0 -0
- data/lib/rex/ui/interactive.rb +0 -0
- data/lib/rex/ui/output.rb +0 -0
- data/lib/rex/ui/output/none.rb +0 -0
- data/lib/rex/ui/progress_tracker.rb +0 -0
- data/lib/rex/ui/subscriber.rb +0 -0
- data/lib/rex/ui/text/color.rb +0 -0
- data/lib/rex/ui/text/color.rb.ut.rb +0 -0
- data/lib/rex/ui/text/dispatcher_shell.rb +0 -0
- data/lib/rex/ui/text/input.rb +0 -0
- data/lib/rex/ui/text/input/buffer.rb +0 -0
- data/lib/rex/ui/text/input/readline.rb +0 -0
- data/lib/rex/ui/text/input/socket.rb +0 -0
- data/lib/rex/ui/text/input/stdio.rb +0 -0
- data/lib/rex/ui/text/irb_shell.rb +0 -0
- data/lib/rex/ui/text/output.rb +0 -0
- data/lib/rex/ui/text/output/buffer.rb +0 -0
- data/lib/rex/ui/text/output/file.rb +0 -0
- data/lib/rex/ui/text/output/socket.rb +0 -0
- data/lib/rex/ui/text/output/stdio.rb +0 -0
- data/lib/rex/ui/text/progress_tracker.rb +0 -0
- data/lib/rex/ui/text/progress_tracker.rb.ut.rb +0 -0
- data/lib/rex/ui/text/shell.rb +9 -6
- data/lib/rex/ui/text/table.rb +5 -0
- data/lib/rex/ui/text/table.rb.ut.rb +0 -0
- data/lib/rex/zip.rb +0 -0
- data/lib/rex/zip/archive.rb +29 -1
- data/lib/rex/zip/blocks.rb +0 -0
- data/lib/rex/zip/entry.rb +5 -1
- metadata +369 -413
- data/README +0 -8
- data/lib/rex/post/meterpreter/extensions/railgun/api.rb +0 -9303
- data/lib/rex/post/meterpreter/extensions/railgun/railgun.rb +0 -815
- data/lib/rex/post/meterpreter/ui/console/command_dispatcher/railgun.rb +0 -57
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# $Id$
|
|
2
|
+
|
|
3
|
+
require 'omelet.rb'
|
|
4
|
+
|
|
5
|
+
x = Rex::Exploitation::Omelet.new('win', ARCH_X86)
|
|
6
|
+
x.generate("\xcc" * 1024, '', {
|
|
7
|
+
#:eggsize => 31336, # default: 123
|
|
8
|
+
#:eggtag => "b00", # default: 00w
|
|
9
|
+
#:searchforward => false, # default: true
|
|
10
|
+
#:reset => true, # default: false
|
|
11
|
+
#:startreg => "EBP", # default: none
|
|
12
|
+
:checksum => true # default: false
|
|
13
|
+
})
|
|
File without changes
|
|
File without changes
|
data/lib/rex/exploitation/seh.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/file.rb
CHANGED
data/lib/rex/file.rb.ut.rb
CHANGED
|
File without changes
|
data/lib/rex/image_source.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/rex/io/stream.rb
CHANGED
|
File without changes
|
data/lib/rex/io/stream_server.rb
CHANGED
|
File without changes
|
data/lib/rex/job_container.rb
CHANGED
data/lib/rex/logging.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/logging/log_sink.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/rex/machparsey.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/rex/machscan.rb
CHANGED
|
File without changes
|
data/lib/rex/machscan/scanner.rb
CHANGED
|
File without changes
|
data/lib/rex/mime.rb
CHANGED
|
File without changes
|
data/lib/rex/mime/header.rb
CHANGED
|
File without changes
|
data/lib/rex/mime/message.rb
CHANGED
|
File without changes
|
data/lib/rex/mime/part.rb
CHANGED
|
File without changes
|
data/lib/rex/nop/opty2.rb
CHANGED
|
File without changes
|
data/lib/rex/nop/opty2.rb.ut.rb
CHANGED
|
File without changes
|
data/lib/rex/nop/opty2_tables.rb
CHANGED
|
File without changes
|
data/lib/rex/ole.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/clsid.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/difat.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/directory.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/direntry.rb
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[MS-CFB].pdf
|
data/lib/rex/ole/fat.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/header.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
##
|
|
2
|
-
# $Id: header.rb
|
|
3
|
-
# Version: $Revision:
|
|
2
|
+
# $Id: header.rb 10394 2010-09-20 08:06:27Z jduck $
|
|
3
|
+
# Version: $Revision: 10394 $
|
|
4
4
|
##
|
|
5
5
|
|
|
6
6
|
##
|
|
@@ -91,7 +91,7 @@ class Header
|
|
|
91
91
|
ret << ",\n"
|
|
92
92
|
|
|
93
93
|
if (@_csectFat)
|
|
94
|
-
|
|
94
|
+
ret << " _csectFat => 0x%08x" % @_csectFat
|
|
95
95
|
else
|
|
96
96
|
ret << " _csectFat => UNALLOCATED"
|
|
97
97
|
end
|
data/lib/rex/ole/minifat.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/storage.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
##
|
|
2
|
-
# $Id: storage.rb
|
|
3
|
-
# Version: $Revision:
|
|
2
|
+
# $Id: storage.rb 10394 2010-09-20 08:06:27Z jduck $
|
|
3
|
+
# Version: $Revision: 10394 $
|
|
4
4
|
##
|
|
5
5
|
|
|
6
6
|
##
|
|
@@ -174,7 +174,7 @@ class Storage
|
|
|
174
174
|
@header.write @fd
|
|
175
175
|
write_user_data
|
|
176
176
|
|
|
177
|
-
# NOTE: we call write_stream here since we MUST write this to
|
|
177
|
+
# NOTE: we call write_stream here since we MUST write this to
|
|
178
178
|
# the regular stream (regardless of size)
|
|
179
179
|
ms_start = write_stream(@ministream)
|
|
180
180
|
@directory.set_ministream_params(ms_start, @ministream.length)
|
|
@@ -249,7 +249,7 @@ class Storage
|
|
|
249
249
|
@directory.each_entry { |stm|
|
|
250
250
|
# only regular streams this pass
|
|
251
251
|
next if (stm.type != STGTY_STREAM)
|
|
252
|
-
|
|
252
|
+
|
|
253
253
|
if (stm.length >= @header._ulMiniSectorCutoff)
|
|
254
254
|
stm.start_sector = write_stream(stm)
|
|
255
255
|
else
|
data/lib/rex/ole/stream.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/substorage.rb
CHANGED
|
File without changes
|
data/lib/rex/ole/util.rb
CHANGED
|
File without changes
|
data/lib/rex/parser/arguments.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/parser/ini.rb
CHANGED
|
File without changes
|
data/lib/rex/parser/ini.rb.ut.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/parser/nmap_xml.rb
CHANGED
|
File without changes
|
data/lib/rex/payloads.rb
CHANGED
|
File without changes
|
data/lib/rex/payloads/win32.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/rex/peparsey.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/peparsey/pe.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
# $Id: pe.rb
|
|
3
|
+
# $Id: pe.rb 10036 2010-08-18 04:39:38Z jduck $
|
|
4
4
|
|
|
5
5
|
require 'rex/image_source'
|
|
6
6
|
require 'rex/peparsey/exceptions'
|
|
@@ -202,5 +202,11 @@ class Pe < PeBase
|
|
|
202
202
|
_isource.read(offset, len)
|
|
203
203
|
end
|
|
204
204
|
|
|
205
|
+
def size
|
|
206
|
+
_isource.size
|
|
207
|
+
end
|
|
208
|
+
def length
|
|
209
|
+
_isource.size
|
|
210
|
+
end
|
|
205
211
|
|
|
206
212
|
end end end
|
|
File without changes
|
data/lib/rex/peparsey/pebase.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
# $Id: pebase.rb
|
|
3
|
+
# $Id: pebase.rb 10036 2010-08-18 04:39:38Z jduck $
|
|
4
4
|
|
|
5
5
|
require 'rex/peparsey/exceptions'
|
|
6
6
|
require 'rex/struct2'
|
|
@@ -1650,6 +1650,31 @@ class PeBase
|
|
|
1650
1650
|
|
|
1651
1651
|
rname.to_s
|
|
1652
1652
|
end
|
|
1653
|
+
|
|
1654
|
+
def update_checksum
|
|
1655
|
+
off = _dos_header.e_lfanew + IMAGE_FILE_HEADER_SIZE + 0x40
|
|
1656
|
+
_isource.rawdata[off, 4] = [0].pack('V')
|
|
1657
|
+
|
|
1658
|
+
rem = _isource.size % 4
|
|
1659
|
+
sum_me = ''
|
|
1660
|
+
sum_me << _isource.rawdata
|
|
1661
|
+
sum_me << "\x00" * (4 - rem) if rem > 0
|
|
1662
|
+
|
|
1663
|
+
cksum = 0
|
|
1664
|
+
sum_me.unpack('V*').each { |el|
|
|
1665
|
+
cksum = (cksum & 0xffffffff) + (cksum >> 32) + el
|
|
1666
|
+
if cksum > 2**32
|
|
1667
|
+
cksum = (cksum & 0xffffffff) + (cksum >> 32)
|
|
1668
|
+
end
|
|
1669
|
+
}
|
|
1653
1670
|
|
|
1654
|
-
|
|
1671
|
+
cksum = (cksum & 0xffff) + (cksum >> 16)
|
|
1672
|
+
cksum += (cksum >> 16)
|
|
1673
|
+
cksum &= 0xffff
|
|
1674
|
+
|
|
1675
|
+
cksum += _isource.size
|
|
1655
1676
|
|
|
1677
|
+
_isource.rawdata[off, 4] = [cksum].pack('V')
|
|
1678
|
+
end
|
|
1679
|
+
|
|
1680
|
+
end end end
|
data/lib/rex/peparsey/section.rb
CHANGED
|
File without changes
|
data/lib/rex/pescan.rb
CHANGED
|
File without changes
|
data/lib/rex/pescan/analyze.rb
CHANGED
|
File without changes
|
data/lib/rex/pescan/scanner.rb
CHANGED
|
File without changes
|
data/lib/rex/pescan/search.rb
CHANGED
|
File without changes
|
data/lib/rex/platforms.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/poly.rb
CHANGED
|
File without changes
|
data/lib/rex/poly/block.rb
CHANGED
|
File without changes
|
data/lib/rex/poly/register.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/rex/post.rb
CHANGED
|
File without changes
|
data/lib/rex/post/dir.rb
CHANGED
|
File without changes
|
data/lib/rex/post/file.rb
CHANGED
|
File without changes
|
data/lib/rex/post/file_stat.rb
CHANGED
|
File without changes
|
data/lib/rex/post/gen.pl
CHANGED
|
File without changes
|
data/lib/rex/post/io.rb
CHANGED
|
File without changes
|
data/lib/rex/post/meterpreter.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -68,6 +68,9 @@ class Client
|
|
|
68
68
|
# Cleans up the meterpreter instance, terminating the dispatcher thread.
|
|
69
69
|
#
|
|
70
70
|
def cleanup_meterpreter
|
|
71
|
+
ext.aliases.each_value do | extension |
|
|
72
|
+
extension.cleanup if extension.respond_to?( 'cleanup' )
|
|
73
|
+
end
|
|
71
74
|
dispatcher_thread.kill if dispatcher_thread
|
|
72
75
|
end
|
|
73
76
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'rex/post/meterpreter/extensions/networkpug/tlv'
|
|
4
|
+
|
|
5
|
+
module Rex
|
|
6
|
+
module Post
|
|
7
|
+
module Meterpreter
|
|
8
|
+
module Extensions
|
|
9
|
+
module NetworkPug
|
|
10
|
+
|
|
11
|
+
# NetworkPug implements a remote packet recieve/send on a network interface
|
|
12
|
+
# on the remote machine
|
|
13
|
+
|
|
14
|
+
class NetworkPug < Extension
|
|
15
|
+
|
|
16
|
+
def initialize(client)
|
|
17
|
+
super(client, 'networkpug')
|
|
18
|
+
|
|
19
|
+
client.register_extension_aliases(
|
|
20
|
+
[
|
|
21
|
+
{
|
|
22
|
+
'name' => 'networkpug',
|
|
23
|
+
'ext' => self
|
|
24
|
+
},
|
|
25
|
+
])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def networkpug_start(interface, filter)
|
|
29
|
+
request = Packet.create_request('networkpug_start')
|
|
30
|
+
request.add_tlv(TLV_TYPE_NETWORKPUG_INTERFACE, interface)
|
|
31
|
+
request.add_tlv(TLV_TYPE_NETWORKPUG_FILTER, filter) if(filter and filter != "")
|
|
32
|
+
response = client.send_request(request)
|
|
33
|
+
|
|
34
|
+
channel = nil
|
|
35
|
+
channel_id = response.get_tlv_value(TLV_TYPE_CHANNEL_ID)
|
|
36
|
+
|
|
37
|
+
if(channel_id)
|
|
38
|
+
channel = Rex::Post::Meterpreter::Channels::Pools::StreamPool.new(
|
|
39
|
+
client,
|
|
40
|
+
channel_id,
|
|
41
|
+
"networkpug_interface",
|
|
42
|
+
CHANNEL_FLAG_SYNCHRONOUS
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
return response, channel
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def networkpug_stop(interface)
|
|
50
|
+
request = Packet.create_request('networkpug_stop')
|
|
51
|
+
request.add_tlv(TLV_TYPE_NETWORKPUG_INTERFACE, interface)
|
|
52
|
+
response = client.send_request(request)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end; end; end; end; end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Rex
|
|
2
|
+
module Post
|
|
3
|
+
module Meterpreter
|
|
4
|
+
module Extensions
|
|
5
|
+
module NetworkPug
|
|
6
|
+
|
|
7
|
+
TLV_TYPE_EXTENSION_NETWORKPUG = 0
|
|
8
|
+
TLV_TYPE_NETWORKPUG_INTERFACE = TLV_META_TYPE_STRING | (TLV_TYPE_EXTENSION_NETWORKPUG + TLV_EXTENSIONS + 1)
|
|
9
|
+
TLV_TYPE_NETWORKPUG_FILTER = TLV_META_TYPE_STRING | (TLV_TYPE_EXTENSION_NETWORKPUG + TLV_EXTENSIONS + 2)
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -47,10 +47,11 @@ class Sniffer < Extension
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
# Start a packet capture on an opened interface
|
|
50
|
-
def capture_start(intf,maxp=200000)
|
|
50
|
+
def capture_start(intf,maxp=200000,filter="")
|
|
51
51
|
request = Packet.create_request('sniffer_capture_start')
|
|
52
52
|
request.add_tlv(TLV_TYPE_SNIFFER_INTERFACE_ID, intf.to_i)
|
|
53
53
|
request.add_tlv(TLV_TYPE_SNIFFER_PACKET_COUNT, maxp.to_i)
|
|
54
|
+
request.add_tlv(TLV_TYPE_SNIFFER_ADDITIONAL_FILTER, filter) if filter.length
|
|
54
55
|
response = client.send_request(request)
|
|
55
56
|
end
|
|
56
57
|
|