【渗透测试】Arsenal Shell Manage Tool

先上效果图:

use.gif

这就是一个简单的不能再简单的管理工具,避免日常渗透的时候反复的切换目录或文件窗口

想法源自ghealer师傅的GUI图形化武器管理工具

用来管理自己的渗透武器库,基于Win平台开发,Linux其实也相同的道理,只不过是命令不相同。

这里只上传例子程序,后面完全可以自行开发

考虑到武器库是时常更新的,所以没有使用编号,这样后续对每一类的工具进行添加或删除的时候,

不至于要修改很多编号,当然也可以再分开一下将每一类单独再写,但是稍稍有一点麻烦。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/usr/bin/ python
#Author: Givemefivw
#Data: 2021-09-08
'''
这就是一个简单的不能再简单的管理工具,避免日常渗透的时候反复的切换目录或文件窗口

想法源自ghealer师傅的GUI图形化武器管理工具
'''

from os import X_OK
import sys
import subprocess
import wx
from wx.core import CAP_PROJECTING


def choices():
choices = '''

Arsenal Shell Manage Tool

Coding by Givemefivw

ReControl

Behinder Godzila

Webinfo

Finger Goon
Dirsearch Dismap
Ffuf Webalive
XSStrike SQLMap

CMSVulCheck

Dedecmscan fastjson_rce
jbosscan Shiro
Struts

Scanner

Fsan Glass

输入工具全名即可使用
'''
print(choices)

class recontrol(object):

def behinder_click():
subprocess.Popen(r"cd G:\\Arsenal\\ReControl\\Behinder && run.bat" , shell=True)

def godzilla_click():
subprocess.Popen(r"cd G:\\Arsenal\\ReControl\\Godzila && run.bat" , shell=True)

class webinfo(object):

def finger_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\Finger && start", shell=True)

def goon_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\goon && start", shell=True)

def dirseach_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\dirsearch && start" , shell=True)

def dismap_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\dismap && start" , shell=True)

def ffuf_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\Ffuf && start", shell=True)

def webalive_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\Webinfo\\weblive && start", shell=True)

def xsstrike_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\XSSTool\\XSStrike && start", shell=True)

def sqlmap_click():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\SQLMap && start", shell=True)

class CMSVulCheck(object):
def dedecmscan():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\CMSVulCheck\\dedecmscan && start", shell=True)

def fastjsonrce():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\CMSVulCheck\\\\fastjson_rce && start", shell=True)

def jbosscan():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\CMSVulCheck\\jbossScan && start", shell=True)

def shiro():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\CMSVulCheck\\Shiro\\ShiroExploit.V2.51\\ShiroExploit.V2.51 && Shiro.bat", shell=True)

def struts():
subprocess.Popen(r"cd G:\\Arsenal\\WebTool\\CMSVulCheck\\Struts2 && Struts2_T.jar", shell=True)

class scanner(object):

def fsan():
subprocess.Popen(r"cd G:\\Arsenal\\CompreTool\\Fscan && start", shell=True)

def glass():
subprocess.Popen(r"cd G:\\Arsenal\\CompreTool\\Glass && start", shell=True)

def main():
try:
while True:
choices = input("[+] Shell@Arsenal# ")
if choices == 'Behinder':
recontrol.behinder_click()
elif choices == 'Godzila':
recontrol.godzilla_click()
elif choices == 'Finger':
webinfo.finger_click()
elif choices == 'Goon':
webinfo.goon_click()
elif choices == 'Dirsearch':
webinfo.dirseach_click()
elif choices == 'Dismap':
webinfo.dismap_click()
elif choices == 'Ffuf':
webinfo.ffuf_click()
elif choices == 'Weblive':
webinfo.webalive_click()
elif choices == 'XssTrike':
webinfo.xsstrike_click()
elif choices == 'SQLMap':
webinfo.sqlmap_click()
elif choices == 'Dedecmscan':
CMSVulCheck.dedecmscan()
elif choices == 'fastjson':
CMSVulCheck.fastjsonrce()
elif choices == 'jbosscan':
CMSVulCheck.jbosscan()
elif choices == 'Shiro':
CMSVulCheck.shiro()
elif choices == 'Struts':
CMSVulCheck.struts()
elif choices == 'Fscan':
scanner.fsan()
elif choices == 'Glass':
scanner.glass()
except KeyboardInterrupt:
sys.exit()


if __name__ == '__main__':
choices()
main()
app = wx.App()
app.MainLoop()

程序编写完成后,可以选择使用pyinstaller打包成exe文件

1
pyinstaller -F -i logo.icp Arsenal.py