35

成为物理黑客吧!利用树莓派实现P4wnP1项目进行渗透测试

 5 years ago
source link: https://www.freebuf.com/geek/195631.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

*本文作者:Milu。,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

看到标题的各位可能认为物理黑客是这样的。

3qMnyeE.jpg!web

当然今天并不是说的上面这种~

大家在小的时候可能在电影中看到过,一个大黑阔从手里掏出了一个U盘,然后噼里啪啦的操作一番,某大BOSS电脑就被打开了。在电脑被破解的那一刻,大家是否也想过,总有一天我能不能也能这样呢?

这样的U盘就叫badusb,网上有国外团队做好的成品( Bash Bunny ),然而这个价格实在是感人……

那么问题来了,作为具有geek精神的(基)机佬,自然要用最低的成本来完成咯。所以笔者发现了P4wnP1这个开源项目。

P4wnP1 is a highly customizable USB attack platform, based on a low cost Raspberry Pi Zero or Raspberry Pi Zero W (required for HID backdoor).
P4wnP1是一个高度可定制的USB攻击平台,基于低成本的Raspberry Pi Zero或Raspberry Pi Zero W(HID后门所需)。

废话不多说,我们直接进入主题吧!

需要什么

树莓派 Pi Zero W (某宝上有Zero,Zero W,Zero WH,因为我们需要的只有蓝牙和wifi故选择Zero W )

一张microSD(TF)卡(8G就够用了,大了也可以)

USB扩展板【选购】(这样就可以直接插USB进行数据连接,如果不想买的话你拿micro usb的数据线也是一样的)

系统:这里有一个坑,我用最新版的镜像系统安装会出现问题(wifi无法配置连接)… 所以我选择了2017年的raspbian jessie版本。下载地址: 点我下载 。下载后缀为zip的解压成img即可

安装

硬件安装

由于本人比较嫌麻烦,所以就直接买了带USB的扩展版。以下是安装好之后的成品~

nMZNZ3Q.jpg!web

7FJzAzn.jpg!web

uQbumqe.jpg!web

系统安装

用到的软件:win32diskimager 或者 rufus-3.4 ,两个都可以,这里贴一个rufus的下载链接。 rufus下载地址

同样我们里rufus为例,用读卡器将TF卡插入电脑,打开rufus,引导文件选择我们下载好的镜像文件,点击开始即可。

Bf6BB3Z.jpg!web

大概等个5分钟左右,镜像就写入完毕了。

Wifi配置

注意: Pi Zero W 只支持2.4G频率!

写入镜像之后,我们需要对树莓派的网络连接进行配置。我们打开boot分区,在其根目录下创建 wpa_supplicant.conf 以及 ssh 文件(注ssh文件是没有后缀名的)

在wpa_supplicant.conf 文件中写入你的网络配置,(这一步操作是为了让你的电脑和树莓派处于同一个网络环境下,这样你才能通过ssh连接上),配置格式如下:

network={
    ssid="WiFi_name"
    psk="mypassword"
    key_mgmt=WPA-PSK
    priority=1
}

network={
    ssid="WiFi_name2"
    psk="password"
    key_mgmt=WPA-PSK
    priority=2
    scan_ssid=1
}

对以上Wifi配置名称的解释:

ssid - wifi名称
psk - wifi密码
key_mgmt - 如果你的wifi加密方式使用的WPA/WPA2,该类型为WPA-PSK,若为WEP加密或没密码,则为NONE。
priority - wifi优先级,如果你怕某个WiFi连接不上,则可以配置多个wifi,树莓派会按照优先级进行连接。
scan_ssid - 如果你的wifi是隐藏的,则需要指定该值为1

在配置完Wifi后,我们还要在根目录下创建一个名为 ssh 的空文件(记住没有后缀名),配置完后如下图所示。

AVzqAvu.jpg!web

做完上述工作后,我们就可以将TF卡插入树莓派,然后插入电脑。

6r2YJvN.jpg!web

SSH连接到树莓派

当我们插上USB后,等待个1-2分钟,我们就可以在路由器管理界面上找到名为raspberrypi的设备,找到它的IP,记录下来。

R363i2f.jpg!web

接下来我们用putty进行ssh连接,用别的ssh软件也行,我这里以PUTTY为例:

JBj6Jr7.jpg!web

填上树莓派的地址,然后连接。账号为pi 密码为raspberry。

配置安装P4wnP1

建议连接后,先改下源。这样速度快一点(针对国内用户)

修改源的方法:
sudo nano /etc/apt/sources.list
将 deb xxxxx 改成 
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi 
ctrl+o保存,ctrl+x退出

配置环境

sudo apt-get update

sudo apt-get install git john

git clone --recursive http://github.com/mame82/P4wnP1

克隆完毕后,执行下列操作

cd P4wnP1/
./install.sh

需要经过漫长的等待……在安装的时候可能会遇到一些安装询问,均按默认情况执行即可。

U7niAfn.jpg!web

出现这个界面时就代表安装成功了!

使用

上述步骤完成之后,将树莓派插入想要入侵的电脑。(这里以一台win10的台式机为靶机)。

zIVzeya.jpg!web

连接到一个名为P4wnP1的wifi,初始密码是:MaMe82-P4wnP1。

连接成功后,我们打开PUTTY,连接到:172.24.0.1 端口22, 账号密码仍然是树莓派的密码。

输入成功后有些会直接进入如下界面。

MbIVjuU.jpg!web

我们可以进入P4WNP1的安装路径,找到 setup.cfg payloads更换:

sudo nano /P4wnP1/setup.cfg

setup.cfg里面有很多配置,你可以根据需要进行一些修改. 这里可能会出现一些配置问题,你可以拉到最下面查看解决方案。

payloads更换

更换payloads需要进入程序的安装目录进行更改,但是这里可能会有一些问题出现,笔者曾经安装过一次,它的安装目录会变到其他位置,但是后面几次安装它的安装目录仍然在当前目录下,如果遇到找不到安装路径的情况,可以试试以下命令。

sudo find -name P4wnP1

进入到安装目录后,对setup.cfg进行修改。

sudo nano /P4wnP1/setup.cfg

到最底部,找到Payload selection:

bmYBBnB.jpg!web

这里有很多以#号开头的payload,意味着他们是未被使用的。该项目只能一次性加载一个payload,所以你选择了network_only就不能选择别的payload. 这里我们以hid_backdoor_remote.txt为例。

首先在network_only前加上#号,再去掉backdoor_remote前的#号。

aIZF3uU.jpg!web

保存,退出。 你可以直接reboot,或者拔了数据线再插上去。

当我们再次连接的时候,如果出现如下图的情况,说明更换成功,你就可以开始搞事情了~

NnaAfqe.jpg!web

实战(以hid_backdoor_remote为例)

在进入到P4wnP1 shell时,我们需要先输入FireStage1,其对靶机进行连接操作。当出现”client connect”字样时说明连接成功。

P.S:你可以输入help查看可以用的命令。

这里以shell为例,我们输入shell

JneYZjf.jpg!web

可以看到我们正在以当前主机的身份进行了操作。

如果想要退出shell模式,按Ctrl+C即可退出。

以下对一些命令的解释

SendDuckyScript 发送键盘脚本
SendMouseScript 发送鼠标脚本
download 下载文件到树莓派
upload 上传文件到主机
shell 以靶机的身份访问控制台
CreateProc 创建进程 (打开记事本的命令为: CreateProc notepad)
sendkeys xxx 发送‘xxx’键盘输入

其它很多命令的解释可以在 官方手册 查看

在上Win10破解密码

这个是P4wnP1上比较特别的一个点。但是经过我个人测试之后,其实是存在一定限制的。

简单的说一下原理,先插好设备,在输入密码进去系统界面时,树莓派会截取到有密码的hash值,然后暴力破解一个一个进行对比… 简单的字母比如abc,123速度确实很快,但是如果是字母+数字或者又长又复杂的组合密码可能要破解到猴年马月了。

假如密码是弱密码

我们设置完payloads后,插入电脑。在受害者输入密码后,树莓派会自己利用 John the Ripper 模块进行破解,这个作者在文档说明中也提到了。

you leave P4wnP1 plugged and the hashes are handed over to John the Ripper, which tries to bruteforce the captured hash.
If the ´password of the user who locked the box is weakly choosen, chances are high that John the Ripper is able to crack it, which leads to…

例如,笔者靶机上密码为abc,当插上树莓派时等待一会,输入密码进入windows系统,此时我们用另一台机子连接到树莓派的热点。执行以下命令

cd /P4wnP1/collected
ls

在collected文件夹内存储了窃听到的hash值。如果是弱密码,在后面会直接生成 .hashes.cracked .此时我们直接查看即可获得密码。

E736Jjj.jpg!web

v6NRfun.jpg!web

假如密码是强密码,且知道密码的组成

这里就要推荐一个工具了。 叫hashcat 下载地址 ,它需要GPU进行运算。

将我们得到的hash值,运用下面的命令执行

hashcat64.exe -m 5600 hash.txt -a 3 ?d?d?d?d?d?l?l

解释一下上面的命令,hash.txt是.hashes文件中的内容。后面问号表示不同位置密码的取值范围。例如上面的例子,密码的前五位是数字,后两位是字母。

2YzEfau.jpg!web

详细的解释可以看这个: 点我

在手机上进行渗透测试

推荐俩APP

安卓:JuiceSSH

苹果:shelly

遇到的问题

如果真的嫌安装过程麻烦

作者提供了一个打包好的系统镜像,可以直接写入tf卡。

下载地址

SSH连接问题

如果遇到SSH拒绝连接,先想想你在配置完WiFi后有没有创建ssh文件,如果创建了但还是连不上,你可以重启一下路由器,看下是否是路由器记录出现了问题(这种情况会发生在你原来用这个树莓派装过系统,但是你重新安装系统后导致连不上),最后还是不行的话,再重装系统。

WiFi名设置问题

“为什么我在 setup.cfg 中修改了wifi名为什么加载出来的不是我修改的?”.

这是因为在加载payload的时候,项目会先从payload里面加载一些配置,而payload设置是默认原来setup.cfg中的。如何修改? 注释掉payload中相应的选项,只要程序发现payload中缺少一些选项的配置(如wifi名,密码等),程序会自动到setup.cfg补上缺少的选项。

树莓派没有开启热点模式,仍然是作为wifi连接的情况

sudo -i
nano /etc/network/interfaces

将图中框住的部分删掉即可 QN7NVzi.jpg!web

连接成功,但是弹不出主程序shell界面

在靶机上尽量选3.0接口,笔者用2.0的有时候就会出现这样的情况。

win10破解密码模式无法获得hash值

笔者是在锁屏的状态下,插上树莓派,等待了一会后才进入。 有时候会出现一定的延迟,或者压根不截取hash值,此时最好先清空collected文件内的内容,然后将靶机注销再进行尝试。

参考文档

P4wnP1

P4wnP1_Offical_Wiki

hashcat

如何将自己的树莓派打造成“渗透测试神器”

Snag Windows Passwords With Pi Zero | P4wnp1

*本文作者:Milu。,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK