MCPcopy Create free account

hub / github.com/blacklanternsecurity/MANSPIDER / functions

Functions93 in github.com/blacklanternsecurity/MANSPIDER

↓ 8 callersMethodstart
(self)
man_spider/lib/spider.py:86
↓ 7 callersMethodhandle_impacket_error
Handle arbitrary Impacket errors this is needed because the library doesn't implement proper inheritance for its exceptions
man_spider/lib/smb.py:244
↓ 6 callersMethodlogin
Create a new SMBConnection object (if there isn't one already or if refresh is True) Attempt to log in, and switch to null session if
man_spider/lib/smb.py:127
↓ 5 callersMethodget
Downloads file to self.tmp_filename NOTE: SMBConnection() can't be passed through a multiprocessing queue This means t
man_spider/lib/file.py:24
↓ 4 callersMethodrebuild
Rebuild our SMBConnection() if it gets borked
man_spider/lib/smb.py:237
↓ 3 callersMethod_find_matching_files
Check if loot files contain expected patterns.
tests/test_smb_integration.py:243
↓ 3 callersMethodcheck_spiderling_queue
Empty the spiderling queue
man_spider/lib/spider.py:152
↓ 3 callersFunctioncreate_test_options
Create an options Namespace matching MANSPIDER's expected structure.
tests/test_smb_integration.py:147
↓ 3 callersMethodis_binary_file
Returns true if file is a bad extension type, e.g. encrypted or compressed
man_spider/lib/spiderling.py:393
↓ 3 callersMethodmatch
Finds all regex matches in file content
man_spider/lib/parser/parser.py:106
↓ 3 callersMethodpath_match
Based on whether "or" logic is enabled, return True or False if the filename + extension meets the requirements
man_spider/lib/spiderling.py:324
↓ 3 callersMethodsave_file
Moves a file from temp storage into the loot directory
man_spider/lib/spiderling.py:453
↓ 3 callersMethodstop
Stop the SMB server.
tests/test_smb_integration.py:54
↓ 2 callersFunctionbytes_to_human
converts bytes to human-readable filesize e.g. 1024 --> 1KB
man_spider/lib/util.py:134
↓ 2 callersMethodcolor
(cls, s, level="INFO")
man_spider/lib/logger.py:59
↓ 2 callersMethoddate_match
Return True if file modification time matches date filters file_time is a unix timestamp
man_spider/lib/spiderling.py:485
↓ 2 callersMethodextension_blacklisted
Return True if folder, file name, or extension has been blacklisted
man_spider/lib/spiderling.py:405
↓ 2 callersFunctionextract_text_file
Extract text from plain text file, auto-detecting encoding.
man_spider/lib/parser/parser.py:24
↓ 2 callersMethodformat
(self, record)
man_spider/lib/logger.py:37
↓ 2 callersMethodget_file
Attempts to retrieve "remote_file" from share and returns True if successful
man_spider/lib/spiderling.py:470
↓ 2 callersFunctionget_free_port
Find a free port to use for the SMB server.
tests/test_smb_integration.py:25
↓ 2 callersMethodgo
go spider go spider go
man_spider/lib/spiderling.py:104
↓ 2 callersFunctionimpacket_error
Tries to format impacket exceptions nicely
man_spider/lib/errors.py:47
↓ 2 callersFunctionis_text_file
Detect if file is plain text using charset-normalizer.
man_spider/lib/parser/parser.py:15
↓ 2 callersMethodlist_shares
List shares on the SMB server
man_spider/lib/smb.py:42
↓ 2 callersMethodstart
Start the SMB server in a background thread.
tests/test_smb_integration.py:41
↓ 1 callersMethod_close_queue
(q)
man_spider/lib/processpool.py:115
↓ 1 callersFunctionbetter_decode
Decode bytes to string using charset-normalizer for encoding detection.
man_spider/lib/util.py:159
↓ 1 callersMethoddir_match
Return true if "path" matches any of the directory filters
man_spider/lib/spiderling.py:355
↓ 1 callersMethodextension_whitelisted
Return True if file extension has been whitelisted
man_spider/lib/spiderling.py:421
↓ 1 callersFunctionextract_strings_from_binary
Extract printable ASCII strings from a binary file. Similar to the Unix 'strings' command.
man_spider/lib/parser/parser.py:31
↓ 1 callersMethodextract_text
Extracts text from a file. Uses charset-normalizer for plain text files (handles UTF-16, etc.) Falls back to kreuzberg for bi
man_spider/lib/parser/parser.py:176
↓ 1 callersMethodfilename_match
Return true if "filename" matches any of the filename filters
man_spider/lib/spiderling.py:379
↓ 1 callersMethodget_hostname
Get the hostname from the SMB connection
man_spider/lib/smb.py:84
↓ 1 callersMethodget_smb_client
Check if we already have an smb_client cached If not, then create it
man_spider/lib/spider.py:193
↓ 1 callersMethodgreen
(cls, s)
man_spider/lib/logger.py:49
↓ 1 callersMethodgrep
(self, content, pattern)
man_spider/lib/parser/parser.py:129
↓ 1 callersFunctionhuman_to_int
converts human-readable number to integer e.g. 1K --> 1000
man_spider/lib/util.py:113
↓ 1 callersMethodinit_content_filters
Get ready to search by file content
man_spider/lib/parser/parser.py:88
↓ 1 callersMethodinit_filename_filters
Get ready to search by filename
man_spider/lib/spider.py:129
↓ 1 callersFunctionlist_files
(path)
man_spider/lib/util.py:183
↓ 1 callersMethodlist_files
List files inside a specific directory Only yield files which conform to all filters (except content)
man_spider/lib/spiderling.py:230
↓ 1 callersFunctionload_content_wordlist
Read a plain wordlist (one word/phrase per line) and append each entry to options.content.
man_spider/manspider.py:63
↓ 1 callersMethodlockout_threshold
Return True if we've reached max failed logons
man_spider/lib/spider.py:183
↓ 1 callersMethodls
List files in share/path Raise FileListError if there's a problem @byt3bl33d3r it's really not that bad
man_spider/lib/smb.py:218
↓ 1 callersFunctionmain
()
man_spider/manspider.py:81
↓ 1 callersMethodmap
(self, func, iterable, args=(), kwargs={})
man_spider/lib/processpool.py:40
↓ 1 callersMethodmatch_magic
Returns True if the file isn't of a blacklisted file type
man_spider/lib/parser/parser.py:116
↓ 1 callersMethodmessage_parent
Send a message to the parent spider
man_spider/lib/spiderling.py:440
↓ 1 callersFunctionparse_host_port
Parse a host:port string. Returns (host, port) tuple. Port defaults to 445 if not specified. Handles IPv6 addresses in brackets: [::1]:44
man_spider/lib/util.py:35
↓ 1 callersMethodparse_local_files
(self, files)
man_spider/lib/spiderling.py:447
↓ 1 callersMethodprocess_message
Process messages from spiderlings Log messages, errors, files, etc.
man_spider/lib/spider.py:165
↓ 1 callersFunctionrandom_string
(length)
man_spider/lib/util.py:176
↓ 1 callersMethodshare_match
Return true if "share" matches any of the share filters
man_spider/lib/spiderling.py:338
↓ 1 callersFunctionstr_to_list
(s)
man_spider/lib/util.py:66
Method__enter__
(self)
man_spider/lib/processpool.py:124
Method__eq__
(self, other)
man_spider/lib/util.py:29
Method__exit__
(self, exception_type, exception_value, traceback)
man_spider/lib/processpool.py:128
Method__hash__
(self)
man_spider/lib/util.py:26
Method__init__
(self, share_path: str, port: int)
tests/test_smb_integration.py:35
Method__init__
(self, processes=None, daemon=False, name="")
man_spider/lib/processpool.py:20
Method__init__
"message_type" is a string, and can be: "e" - error "a" - authentication failure
man_spider/lib/spiderling.py:24
Method__init__
(self, target, parent)
man_spider/lib/spiderling.py:57
Method__init__
(self, options)
man_spider/lib/spider.py:15
Method__init__
(self, pattern)
man_spider/lib/logger.py:33
Method__init__
( self, server, username, password, domain, nthash, use_kerberos=False, aes_key="", dc_ip=None, port=4
man_spider/lib/smb.py:18
Method__init__
(self, name, share, target, size=0)
man_spider/lib/file.py:13
Method__init__
(self, filters, quiet=False)
man_spider/lib/parser/parser.py:84
Method__str__
(self)
man_spider/lib/util.py:21
Method__str__
(self)
man_spider/lib/file.py:46
Method_monitor
(self)
man_spider/lib/logger.py:70
Methodexecute
Executes given function and places return value in result queue
man_spider/lib/processpool.py:101
Methodfiles
Yields all files on the target to be parsed/downloaded Premptively download matching files into temp directory
man_spider/lib/spiderling.py:138
Functiongo
(options)
man_spider/manspider.py:20
Methodinit_file_extensions
Get ready to search by file extension
man_spider/lib/spider.py:120
Functionmake_targets
Accepts filename, CIDR, IP, hostname, file, or folder Supports host:port syntax (e.g., 192.168.1.1:4455) Returns list of targets as Targe
man_spider/lib/util.py:82
Methodparse_file
Simple wrapper around self.parent.parser.parse_file() For sole purpose of threading
man_spider/lib/spiderling.py:175
Methodparse_file
Parse a file on the local filesystem
man_spider/lib/parser/parser.py:153
Methodred
(cls, s)
man_spider/lib/logger.py:54
Methodresults
(self)
man_spider/lib/processpool.py:88
Functionrmdir
Recursively remove directory
man_spider/lib/util.py:198
Methodshares
Lists all shares on single target Includes both enumerated shares and user-specified shares (which may be hidden from enumeration)
man_spider/lib/spiderling.py:204
Methodshares
(self)
man_spider/lib/smb.py:68
Functionsmb_server
Fixture that spins up an SMB server with test files. Uses module scope so the server is started once and shared across all tests. Yield
tests/test_smb_integration.py:61
Functionsmb_server_full
Fixture that spins up an SMB server with ALL test files. Uses module scope so the server is started once and shared across all tests.
tests/test_smb_integration.py:183
Methodtest_client_can_connect_and_list_shares
Verify we can connect to the SMB server and list shares.
tests/test_smb_integration.py:111
Methodtest_client_can_list_files
Verify we can list files in the share.
tests/test_smb_integration.py:127
Functiontest_extract_password
Extract text from test files and verify Password123 is found.
tests/test_kreuzberg.py:21
Functiontest_extract_text_encodings
Extract text from various encodings using charset-normalizer.
tests/test_kreuzberg.py:44
Methodtest_manspider_finds_password_in_all_binary_files
MANSPIDER finds Password123 in ALL binary files with embedded text.
tests/test_smb_integration.py:311
Methodtest_manspider_finds_password_in_all_document_files
MANSPIDER finds Password123 in ALL document formats (docx, pdf, xlsx, doc, xls).
tests/test_smb_integration.py:281
Methodtest_manspider_finds_password_in_all_text_files
MANSPIDER finds Password123 in ALL text encoding variants.
tests/test_smb_integration.py:255
Methodtest_server_starts_and_has_files
Verify the SMB server starts and has files.
tests/test_smb_integration.py:98