man-spider 1.0.4__py3-none-any.whl → 1.1.1__py3-none-any.whl

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.
Files changed (44) hide show
  1. man_spider/__init__.py +0 -0
  2. man_spider/lib/errors.py +0 -26
  3. man_spider/lib/file.py +1 -1
  4. man_spider/lib/parser/parser.py +13 -37
  5. man_spider/lib/smb.py +125 -20
  6. man_spider/lib/spider.py +6 -0
  7. man_spider/lib/spiderling.py +4 -1
  8. man_spider/manspider.py +7 -0
  9. man_spider-1.1.1.dist-info/LICENSE +674 -0
  10. man_spider-1.1.1.dist-info/METADATA +214 -0
  11. man_spider-1.1.1.dist-info/RECORD +18 -0
  12. {man_spider-1.0.4.dist-info → man_spider-1.1.1.dist-info}/WHEEL +1 -1
  13. man_spider/logs/manspider_05-17-2021.log +0 -2070
  14. man_spider/loot/share.blacklanternsecurity.com_Share_BLS_GVT_Booz_Endgame 3.9.0 ovf_README.txt +0 -14
  15. man_spider/loot/share.blacklanternsecurity.com_Share_RA Retrospective_20190626_BLS_RA_Retrospective_Notes_v001.docx +0 -0
  16. man_spider/loot/share.blacklanternsecurity.com_Share_RA Retrospective_20190626_BLS_RA_Retrospective_Notes_v001.pdf +0 -0
  17. man_spider/loot/share.blacklanternsecurity.com_Share_Research_bls_app_01_references_Botconf2016_TomUeltschi_Sysmon.pdf +0 -0
  18. man_spider/loot/share.blacklanternsecurity.com_Share_Research_bls_app_01_references_htaw05tracking_hackers_on_your_network_with_sysinternals_sysmon.pdf +0 -0
  19. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_hipaaIntegrity_20170221_hipaaIntegrity_original_HIPAA_Integrity_Safeguard_Forms_v4.1.docx +0 -0
  20. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_hipaaIntegrity_PP_analysis_20170220_PR_BN_SR_List_v001.xlsx +0 -0
  21. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_hipaaIntegrity_PP_analysis_HIPAA_Integrity_SR_PP_v4.1.docx +0 -0
  22. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_audit_logging_information_logging_standard.docx +0 -0
  23. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_audit_logging_nistspecialpublication80092.pdf +0 -0
  24. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_20170221_BG_IR_v001.docx +0 -0
  25. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_20170221_BG_IR_v002.docx +0 -0
  26. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_20170221_BG_IR_v003.docx +0 -0
  27. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_20170221_BG_IR_v004.docx +0 -0
  28. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_20170221_BG_IR_v005.docx +0 -0
  29. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_NIST.SP.80061r2.pdf +0 -0
  30. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_data_breach_response.docx +0 -0
  31. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_policy_creation_incident_response_eventmonitoringincidentresponse34232.pdf +0 -0
  32. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_sans_docs_riskanalysishipaacompliancy1554.pdf +0 -0
  33. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_HIPAA_sans_docs_riskanalysishipaacompliancy15542.pdf +0 -0
  34. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_NIST_NIST.SP.80053r4.pdf +0 -0
  35. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_NIST_nistspecialpublication80030r1.pdf +0 -0
  36. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_pci_dss_20160809_pcidss_req.xlsx +0 -0
  37. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_pci_dss_PCI_DSS_v32.pdf +0 -0
  38. man_spider/loot/share.blacklanternsecurity.com_Share_Research_regulatory_pci_dss_SAQ_D_v3_Merchant.pdf +0 -0
  39. man_spider/loot/share.blacklanternsecurity.com_Share_Software_Adobe_Download.txt +0 -6
  40. man_spider/loot/share.blacklanternsecurity.com_Share_Software_Tools_RubberDucky_Flashing ducky hak5darren_USBRubberDucky Wiki GitHub.pdf +1 -1141
  41. man_spider/loot/share.blacklanternsecurity.com_Share_Software_Vulnerable_Software_Oracle_CVE20165663_4_5_ RCE and Cardholder Data Exfiltration in Oracles Hotel Management Platform 126Kr.pdf +0 -0
  42. man_spider-1.0.4.dist-info/METADATA +0 -19
  43. man_spider-1.0.4.dist-info/RECORD +0 -45
  44. {man_spider-1.0.4.dist-info → man_spider-1.1.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,214 @@
1
+ Metadata-Version: 2.3
2
+ Name: man-spider
3
+ Version: 1.1.1
4
+ Summary: Full-featured SMB spider capable of searching file content
5
+ License: GPL-3.0
6
+ Author: TheTechromancer
7
+ Requires-Python: >=3.8,<3.14
8
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.8
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Requires-Dist: extractous (>=0.3.0,<0.4.0)
17
+ Requires-Dist: impacket (>=0.12.0,<0.13.0)
18
+ Requires-Dist: python-magic (>=0.4.27,<0.5.0)
19
+ Project-URL: Homepage, https://github.com/blacklanternsecurity/MANSPIDER
20
+ Project-URL: Repository, https://github.com/blacklanternsecurity/MANSPIDER
21
+ Description-Content-Type: text/markdown
22
+
23
+ # MANSPIDER
24
+ ### Crawl SMB shares for juicy information. File content searching + regex is supported!
25
+
26
+ ### UPDATE 2025-05-26
27
+ **Manspider has been updated to support kerberos!** Also, the textract library has been replaced with [Extractous](https://github.com/yobix-ai/extractous), so you can now feel free to run it outside Docker. 🎉
28
+
29
+ ![manspider](https://user-images.githubusercontent.com/20261699/74963251-6a08de80-53df-11ea-88f4-60c39665dfa2.gif)
30
+
31
+ ### File types supported:
32
+ - `PDF`
33
+ - `DOCX`
34
+ - `XLSX`
35
+ - `PPTX`
36
+ - any text-based format
37
+ - and many more!!
38
+
39
+ ### MANSPIDER will crawl every share on every target system. If provided creds don't work, it will fall back to "guest", then to a null session.
40
+ ![manspider](https://user-images.githubusercontent.com/20261699/80316979-f9ab7e80-87ce-11ea-9628-3c22a07e8378.png)
41
+
42
+ ### Installation:
43
+ (Optional) Install these dependencies to add additional file parsing capability:
44
+ ~~~
45
+ # for images (png, jpeg)
46
+ $ sudo apt install tesseract-ocr
47
+
48
+ # for legacy document support (.doc)
49
+ $ sudo apt install antiword
50
+ ~~~
51
+ Install manspider (please be patient, this can take a while):
52
+ ~~~
53
+ $ pip install pipx
54
+ $ pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
55
+ ~~~
56
+
57
+ ## Installation (Docker)
58
+
59
+ ```bash
60
+ docker run --rm -v ./manspider:/root/.manspider blacklanternsecurity/manspider --help
61
+ ```
62
+
63
+ Note there is also a helper script `manspider.sh` which will automatically mount volumes for manspider's `loot` and `logs` directories, making it a bit more convenient to run:
64
+
65
+ ```bash
66
+ ./manspider.sh --help
67
+ ```
68
+
69
+ ### Example #1: Search the network for filenames that may contain creds
70
+ NOTE: matching files are automatically downloaded into `$HOME/.manspider/loot`! (`-n` to disable)
71
+ ~~~
72
+ $ manspider 192.168.0.0/24 -f passw user admin account network login logon cred -d evilcorp -u bob -p Passw0rd
73
+ ~~~
74
+
75
+ ### Example #2: Search for spreadsheets with "password" in the filename
76
+ ~~~
77
+ $ manspider share.evilcorp.local -f passw -e xlsx csv -d evilcorp -u bob -p Passw0rd
78
+ ~~~
79
+
80
+ ### Example #3: Search for documents containing passwords
81
+ ~~~
82
+ $ manspider share.evilcorp.local -c passw -e xlsx csv docx pdf -d evilcorp -u bob -p Passw0rd
83
+ ~~~
84
+
85
+ ### Example #4: Search for interesting file extensions
86
+ ~~~
87
+ $ manspider share.evilcorp.local -e bat com vbs ps1 psd1 psm1 pem key rsa pub reg pfx cfg conf config vmdk vhd vdi dit -d evilcorp -u bob -p Passw0rd
88
+ ~~~
89
+
90
+ ### Example #5: Search for finance-related files
91
+ This example searches financy-sounding directories for filenames containing 5 or more consecutive numbers (e.g. `000202006.EFT`)
92
+ ~~~
93
+ $ manspider share.evilcorp.local --dirnames bank financ payable payment reconcil remit voucher vendor eft swift -f '[0-9]{5,}' -d evilcorp -u bob -p Passw0rd
94
+ ~~~
95
+
96
+ ### Example #6: Search for SSH keys by filename
97
+ ~~~
98
+ $ manspider share.evilcorp.local -e ppk rsa pem ssh rsa -o -f id_rsa id_dsa id_ed25519 -d evilcorp -u bob -p Passw0rd
99
+ ~~~
100
+
101
+ ### Example #7: Search for SSH keys by content
102
+ ~~~
103
+ $ manspider share.evilcorp.local -e '' -c 'BEGIN .{1,10} PRIVATE KEY' -d evilcorp -u bob -p Passw0rd
104
+ ~~~
105
+
106
+ ### Example #8: Search for password manager files
107
+ ~~~bash
108
+ # .kdbx - KeePass Password Database (KeePass, KeePassXC)
109
+ # .kdb - KeePass Classic Database (KeePass 1.x)
110
+ # .1pif - 1Password Interchange Format (1Password)
111
+ # .agilekeychain - Agile Keychain Format (1Password, deprecated)
112
+ # .opvault - OPVault Format (1Password)
113
+ # .lpd - LastPass Data File (LastPass)
114
+ # .dashlane - Dashlane Data File (Dashlane)
115
+ # .psafe3 - Password Safe Database (Password Safe)
116
+ # .enpass - Enpass Password Manager Data File (Enpass)
117
+ # .bwdb - Bitwarden Database (Bitwarden)
118
+ # .msecure - mSecure Password Manager Data File (mSecure)
119
+ # .stickypass - Sticky Password Data File (Sticky Password)
120
+ # .pwm - Password Memory Data File (Password Memory)
121
+ # .rdb - RoboForm Data File (RoboForm)
122
+ # .safe - SafeInCloud Password Manager Data File (SafeInCloud)
123
+ # .zps - Zoho Vault Encrypted Data File (Zoho Vault)
124
+ # .pmvault - SplashID Safe Data File (SplashID Safe)
125
+ # .mywallet - MyWallet Password Manager Data File (MyWallet)
126
+ # .jpass - JPass Password Manager Data File (JPass)
127
+ # .pwmdb - Universal Password Manager Database (Universal Password Manager)
128
+ $ manspider share.evilcorp.local -e kdbx kdb 1pif agilekeychain opvault lpd dashlane psafe3 enpass bwdb msecure stickypass pwm rdb safe zps pmvault mywallet jpass pwmdb -d evilcorp -u bob -p Passw0rd
129
+ ~~~
130
+
131
+ ### Example #9: Search for certificates
132
+ ~~~
133
+ $ manspider share.evilcorp.local -e pfx p12 pkcs12 pem key crt cer csr jks keystore key keys der -d evilcorp -u bob -p Passw0rd
134
+ ~~~
135
+
136
+ ### Usage Tip #1:
137
+ You can run multiple instances of manspider at one time. This is useful when one instance is already running, and you want to search what it's downloaded (similar to `grep -R`). To do this, specify the keyword `loot` as the target, which will search the downloaded files in `$HOME/.manspider/loot`.
138
+
139
+ ### Usage Tip #2:
140
+ Reasonable defaults help prevent unwanted scenarios like getting stuck on a single target. All of these can be overridden:
141
+ - **default spider depth: 10** (override with `-m`)
142
+ - **default max filesize: 10MB** (override with `-s`)
143
+ - **default threads: 5** (override with `-t`)
144
+ - **shares excluded: `C$`, `IPC$`, `ADMIN$`, `PRINT$`** (override with `--exclude-sharenames`)
145
+
146
+ ### Usage Tip #3:
147
+ Manspider accepts any combination of the following as targets:
148
+ - IPs
149
+ - hostnames
150
+ - subnets (CIDR format)
151
+ - files containing any of the above
152
+ - local folders containing files
153
+
154
+ For example, you could specify any or all of these:
155
+ - **`192.168.1.250`**
156
+ - **`share.evilcorp.local`**
157
+ - **`192.168.1.0/24`**
158
+ - **`smb_hosts.txt`**
159
+ - **`loot`** (to search already-downloaded files)
160
+ - **`/mnt/share`** (to recursively search a directory)
161
+ - NOTE: when searching local files, you must specify a directory, not an individual file
162
+
163
+ ## Usage:
164
+ ~~~
165
+ usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-m MAXDEPTH] [-H HASH] [-t THREADS] [-f REGEX [REGEX ...]] [-e EXT [EXT ...]] [--exclude-extensions EXT [EXT ...]]
166
+ [-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]] [--exclude-dirnames DIR [DIR ...]] [-q] [-n]
167
+ [-mfail INT] [-o] [-s SIZE] [-v]
168
+ targets [targets ...]
169
+
170
+ Scan for juicy data on SMB shares. Matching files and logs are stored in $HOME/.manspider. All filters are case-insensitive.
171
+
172
+ positional arguments:
173
+ targets IPs, Hostnames, CIDR ranges, or files containing targets to spider (NOTE: local searching also supported, specify directory name or keyword "loot" to search
174
+ downloaded files)
175
+
176
+ optional arguments:
177
+ -h, --help show this help message and exit
178
+ -u USERNAME, --username USERNAME
179
+ username for authentication
180
+ -p PASSWORD, --password PASSWORD
181
+ password for authentication
182
+ -d DOMAIN, --domain DOMAIN
183
+ domain for authentication
184
+ -m MAXDEPTH, --maxdepth MAXDEPTH
185
+ maximum depth to spider (default: 10)
186
+ -H HASH, --hash HASH NTLM hash for authentication
187
+ -t THREADS, --threads THREADS
188
+ concurrent threads (default: 5)
189
+ -f REGEX [REGEX ...], --filenames REGEX [REGEX ...]
190
+ filter filenames using regex (space-separated)
191
+ -e EXT [EXT ...], --extensions EXT [EXT ...]
192
+ only show filenames with these extensions (space-separated, e.g. `docx xlsx` for only word & excel docs)
193
+ --exclude-extensions EXT [EXT ...]
194
+ ignore files with these extensions
195
+ -c REGEX [REGEX ...], --content REGEX [REGEX ...]
196
+ search for file content using regex (multiple supported)
197
+ --sharenames SHARE [SHARE ...]
198
+ only search shares with these names (multiple supported)
199
+ --exclude-sharenames [SHARE ...]
200
+ don't search shares with these names (multiple supported)
201
+ --dirnames DIR [DIR ...]
202
+ only search directories containing these strings (multiple supported)
203
+ --exclude-dirnames DIR [DIR ...]
204
+ don't search directories containing these strings (multiple supported)
205
+ -q, --quiet don't display matching file content
206
+ -n, --no-download don't download matching files
207
+ -mfail INT, --max-failed-logons INT
208
+ limit failed logons
209
+ -o, --or-logic use OR logic instead of AND (files are downloaded if filename OR extension OR content match)
210
+ -s SIZE, --max-filesize SIZE
211
+ don't retrieve files over this size, e.g. "500K" or ".5M" (default: 10M)
212
+ -v, --verbose show debugging messages
213
+ ~~~
214
+
@@ -0,0 +1,18 @@
1
+ man_spider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ man_spider/lib/__init__.py,sha256=ur53cnY4wqGh1C19LDk61D62vzk0iXZRYshU33Mqe-Q,86
3
+ man_spider/lib/errors.py,sha256=InHvv7ZfWn766Jm6DsWRRZCzWhWxaDzlfmGyDg3SOJo,1061
4
+ man_spider/lib/file.py,sha256=6k1U680OLjuM4uqteeTbUDZojpy7MVDBR3pBp_LD4hk,1503
5
+ man_spider/lib/logger.py,sha256=apDRFLWy2j7ShrxatHqBkYAGyv7b9FQyAO0uDvTHqdM,2440
6
+ man_spider/lib/parser/__init__.py,sha256=m0KGcdcwfM6xh0l1YFLvlXSeCI82auoB6ztrWN7qGyM,21
7
+ man_spider/lib/parser/parser.py,sha256=x2uzuS2ESZrAOR6hnfd5Goi8Sy04wRjNTXVf0LoGask,5006
8
+ man_spider/lib/processpool.py,sha256=KkT7ZCzi6_6c9bNlW04MioSb8G8muoUcxIIF8DXEMrA,3742
9
+ man_spider/lib/smb.py,sha256=uy9SbnwjYwiRh-7TVI7U0D8tcrU34o9pIHIAfo-IinQ,8974
10
+ man_spider/lib/spider.py,sha256=KcklxlgcTCOfBR6wlR8SRDGwES4M-IHedl7wyfjVrao,7185
11
+ man_spider/lib/spiderling.py,sha256=aVHkpyJI8YvKQyNldoLP7CzfMP0HYudpnzkzZx-wypo,15687
12
+ man_spider/lib/util.py,sha256=Ti7R8JMcA9q1iSyqYPBn9aCQtNoua7jYCH70rfgslHE,3130
13
+ man_spider/manspider.py,sha256=l4vfG_1CQjt6jVP_owAHybhajizSXTa9D3nocHOU3BY,8917
14
+ man_spider-1.1.1.dist-info/LICENSE,sha256=qvZcoAC_iNU83gvyvlLTL2TKCCmP0CBDzRQgXZKePAM,35102
15
+ man_spider-1.1.1.dist-info/METADATA,sha256=e1AtliskoGLNQ1iXBzwbtLDHzjRWe8JfWEWvQzIcRWM,9648
16
+ man_spider-1.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
17
+ man_spider-1.1.1.dist-info/entry_points.txt,sha256=ECMHYrXRR3rO40LF4AiKmuM2DbPvdmkxINp0Wa_qVCc,55
18
+ man_spider-1.1.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry 1.0.7
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any