WIFI无人机渗透测试框架:dronesploit 教程

dronesploit此CLI框架基于sploitkit(https://github.com/dhondta/sploitkit)并且试图收集特别针对无人机黑客的黑客技术和漏洞。为了易于使用,该界面具有类似于Metasploit的布局。

 

注意:运行此框架建议大家用python3.7;

 

下面就是我以 Kali Linux 的具体操作步骤。

 

一、dronesploit 下载

下载方法很多,我这就直接git克隆了。

[email protected]:/usr/local# git clone https://github.com/dhondta/dronesploit.git

 

二、dronesploit 安装

 

第一步:安装python和pip

首先要确保自己电脑上有pyhton和pip,我这里是pyhton3.7和pip,注意,pip一定要和python版本相对应。由于Kali Linux已经有了,我就不用安装了,大家知道这一个步骤就可以了。

python 和pip

 

第二步:安装依赖模块 tinyscript

如果我们不安装的话,直接运行dronesploit就会报“ModuleNotFoundError: No module named 'tinyscript',“ ModuleNotFoundError:没有名为“ tinyscript”的模块”“错误。

oduleNotFoundError: No module named 'tinyscript

 

安装tinyscript模块方法也很简单,具体如下:

[email protected]:/usr/local/dronesploit# pip install tinyscript

 

第三步:安装依赖模块 sploitkit

[email protected]:/usr/local/dronesploit# pip install sploitkit

 

第四步:重新安装模块 prompt-toolkit

[email protected]:/usr/local/dronesploit# pip install prompt-toolkit

 

先说一下为什么要重装安装吧?如果不安装,直接运行dronesploit,就会报如下错误:

[email protected]:/usr/local/dronesploit# python main.py
Traceback (most recent call last):
  File "main.py", line 3, in <module>
    from lib import DronesploitConsole
  File "/usr/local/dronesploit/lib/__init__.py", line 3, in <module>
    from sploitkit import FrameworkConsole
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/__init__.py", line 4, in <module>
    from .core import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/__init__.py", line 1, in <module>
    from .console import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/console.py", line 11, in <module>
    from prompt_toolkit import print_formatted_text, PromptSession
ImportError: cannot import name 'print_formatted_text' from 'prompt_toolkit' (/usr/lib/python3/dist-packages/prompt_toolkit/__init__.py)

 

由于根据我这上面的报错,我必须要先删除(rm -rf) /usr/lib/python3/dist-packages/prompt_toolkit/  这个目录,才能安装。(因为我 pip uninstall 卸载还不管用)

cd  /usr/lib/python3/dist-packages
rm -rf prompt_toolkit 
rm -rf prompt-toolkit1.8.1.egg-info

 

由于我的Kali Linux有一个问题,我的pip命令安装路径在“/usr/lib/python3/dist-packages/pip”。

但是,pip默认安装模块位置又在“/usr/local/lib/python3.7/dist-packages”。

因此,我估计好多模块都得先删除,再重新安装。

一般来说,python默认情况下,pip命令的位置和安装模块默认位置都是在同一个路径下的。

 

第五步:重新安装模块 pygments

[email protected]:/usr/local/dronesploit# pip install Pygments

 

如果不重新安装,直接运行会报错如下:

[email protected]:/usr/local/dronesploit# python main.py
Traceback (most recent call last):
  File "main.py", line 3, in <module>
    from lib import DronesploitConsole
  File "/usr/local/dronesploit/lib/__init__.py", line 3, in <module>
    from sploitkit import FrameworkConsole
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/__init__.py", line 4, in <module>
    from .core import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/__init__.py", line 1, in <module>
    from .console import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/console.py", line 17, in <module>
    from .command import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/command.py", line 6, in <module>
    from .components.config import Config
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/components/__init__.py", line 2, in <module>
    from .config import *
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/core/components/config.py", line 5, in <module>
    from ...utils.objects import BorderlessTable
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/utils/__init__.py", line 5, in <module>
    from .path import Path
  File "/usr/local/lib/python3.7/dist-packages/sploitkit/utils/path.py", line 8, in <module>
    from pygments.lexers import Python2Lexer
ImportError: cannot import name 'Python2Lexer' from 'pygments.lexers' (/usr/lib/python3/dist-packages/pygments/lexers/__init__.py)

解决这个报错也很简单,如下:其实,这里跟上面的原理是相同的。

cd  /usr/lib/python3/dist-packages
rm -rf pygments 
rm -rf Pygments2.0.1.egg-info

 

第六步:运行无人机框架:dronesploit 

python main.py

所有的都搞好了,我运行报了一个错误:IndexError:list index out of range

IndexError:list index out of range

 

这个错误还能接受吧!毕竟说明已经运行没什么问题了,只是py报错了而已,我查了下这几个文件的源代码,看了一下,这是我台式电脑的原因,我台式电脑上面没有任何网卡的,它没有获取到interfaces接口,i.split()[0] 是空的,所以才报了这个错误。

 

如果你的电脑上有插入网卡接口的话,除了eth0lo,还有一个类似于wlan0mon,效果如下图:

kali有网卡接口

 

注意:还有一种“快速安装”的方法,我没有亲测试过,大家可以试一个,具体如下:

 

1、 克隆仓库

$ git clone https://github.com/dhondta/dronesploit.git

 

2、安装依赖模块

$ cd dronesploit

$ pip install -r requirements.txt

 

3、启动

$ python3 main.py

 

三、dronesploit  使用

只要你能成功启动dronesploit,它的用法就更加简单了,类似于Metasploit。下面就简单给大家说一下:

 

第一步:启动 dronesploit 框架

$ python main.py   #这里要用python3版本

 

我们可以获取帮助:

dronesploit > help

 

第二步:设置

 

1、将iface设置为监视模式

dronesploit > toggle wlp4s0

toggle wlp4s0

 

2、在监视器模式下,在iface上扫描

dronesploit > scan wlp4s0

scan wlp4s0

 

3、获得目标

dronesploit > targets

dronesploit > targets

 

第三步:使用模块

 

1、选择相应的破解模块

dronesploit > use auxiliary/wifi/wpa2psk_crack

 

2、发起攻击

Dronesploit auxiliary(…) > run

 

Dronesploit 使用模块

 

第四步:连接破解后的目标

 

1、连接一个目标

dronesploit > connect [target]

 

2、选择一个模块

dronesploit > use …

 

3、显示模板选项

dronesploit exploit(…) > show options

 

4、开始运行

dronesploit exploit(…) > run

 

dronesploit 漏洞利用

 

dronesploit run

 

到这里为止,dronesploit如何使用就算讲完了,下面再给大家简单展示一下其它相关的,大家有兴趣的话,可以简单了解一下。

 

1、接口dronesploit 

 

dronesploit  用法

 

2、模块

此示例显示了DroneSploit的模块示例,该模块旨在更改特定型号的无人机的密码或SSID。dronesploit  模块

 

总结:

此工具一定、一定、一定不要在Windows上安装、使用,我亲自测试过,没有成功,报错很多,虽然大部份都解决了。但是,其中会报两个很重要错误:

 

1、错误:需要Microsoft Visual C++ 14.0

error: Microsoft Visual C++ 14.0 is required

具体错误如下:

Installing collected packages: peewee, wcwidth, prompt-toolkit, pyminizip, requests, sploitkit
    Running setup.py install for peewee ... done
    Running setup.py install for pyminizip ... error
    ERROR: Command errored out with exit status 1:
     command: 'f:\python3.7.0\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\fujie\\
AppData\\Local\\Temp\\pip-install-banau2ha\\pyminizip\\setup.py'"'"'; __file__='"'"'C:\\Users\\fujie\\AppData\\Local\\Te
mp\\pip-install-banau2ha\\pyminizip\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().rep
lace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\f
ujie\AppData\Local\Temp\pip-record-64o08zgv\install-record.txt' --single-version-externally-managed --compile
         cwd: C:\Users\fujie\AppData\Local\Temp\pip-install-banau2ha\pyminizip\
    Complete output (5 lines):
    running install
    running build
    running build_ext
    building 'pyminizip' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.micr
osoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'f:\python3.7.0\python.exe' -u -c 'import sys, setuptools, tokenize; sys.
argv[0] = '"'"'C:\\Users\\fujie\\AppData\\Local\\Temp\\pip-install-banau2ha\\pyminizip\\setup.py'"'"'; __file__='"'"'C:\
\Users\\fujie\\AppData\\Local\\Temp\\pip-install-banau2ha\\pyminizip\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"',
open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"
'))' install --record 'C:\Users\fujie\AppData\Local\Temp\pip-record-64o08zgv\install-record.txt' --single-version-extern
ally-managed --compile Check the logs for full command output.

 

2、AttributeError:模块“ os”没有属性“ geteuid”。

AttributeError: module 'os' has no attribute 'geteuid'

具体错误如下:

Traceback (most recent call last):
  File "main.py", line 13, in <module>
    initialize(exit_at_interrupt=False, sudo=True)
  File "E:\python3.7.5\lib\site-packages\tinyscript\parser.py", line 290, in initialize
    if os.geteuid() != 0:
AttributeError: module 'os' has no attribute 'geteuid'

 

这个错误解决不了,因为python模块 os.geteuid() 只能用于uninx。下面是官方文档的说明:

os.geteuid()

返回当前进程的有效用户ID。

 

可用性:Unix。

    A+
发布日期:2019年12月13日 18:32:50  所属分类:渗透测试
最后更新时间:2020-02-06 21:56:25
评分: (2 票;平均数5.00 ;最高评分 5 ;用户总数2;总得分 10;百分比100.00)
付杰
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
  • ¥ 199.9元
  • 市场价:20000元
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
PHP运行环境 wamp lamp lnmp 安装 配置 搭建
PHP运行环境 wamp lamp lnmp 安装 配置 搭建
  • ¥ 9.9元
  • 市场价:49.9元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

  1. 头像 Manhattan 0

    我想请问您下,当我运行dronesploit时,报错显示ImportError: cannot import name FrameworkConsole,请问该怎么解决呀?

    • 付杰 付杰

      @Manhattan 你应该是没有安装sploitkit,注意,一定要安装到python3下面才行。下面是sploitkit的介绍:

      sploitkit
      Toolkit for easilly building Metasploit-like framework consoles