SAUSERLA commited on
Commit
d891fbc
·
verified ·
1 Parent(s): ecb6c91

Upload 5 files

Browse files
Files changed (3) hide show
  1. Dockerfile +8 -24
  2. kali_server.py +1 -66
  3. mcp_server.py +1 -35
Dockerfile CHANGED
@@ -20,14 +20,11 @@ RUN apt-get update && apt-get install -y \
20
  wpscan \
21
  enum4linux-ng \
22
  aircrack-ng \
23
- androguard \
24
  bettercap \
25
  binwalk \
26
  hashcat \
27
- impacket-scripts \
28
  masscan \
29
  radare2 \
30
- routersploit \
31
  sherlock \
32
  wireshark \
33
  zaproxy \
@@ -38,27 +35,14 @@ RUN apt-get update && apt-get install -y \
38
  RUN pip3 install --break-system-packages \
39
  androguard \
40
  XSStrike \
41
- dalfox
42
-
43
- # Install additional tools from source or special packages
44
- RUN apt-get update && apt-get install -y \
45
- wget \
46
- git \
47
- && rm -rf /var/lib/apt/lists/*
48
-
49
- # Install TheFatRat (requires special handling)
50
- RUN git clone https://github.com/Screetsec/TheFatRat.git /opt/TheFatRat && \
51
- chmod +x /opt/TheFatRat/*.sh
52
-
53
- # Install wifipumpkin3
54
- RUN git clone https://github.com/P0cL4bs/wifipumpkin3.git /opt/wifipumpkin3 && \
55
- cd /opt/wifipumpkin3 && \
56
- python3 setup.py install
57
-
58
- # Note: Skipping installation of large/complex tools like:
59
- # - ghidra (very large, ~1GB)
60
- # - Mobile-Security-Framework-MobSF (requires additional setup)
61
- # These can be added later if specifically needed
62
 
63
  # Set working directory
64
  WORKDIR /app
 
20
  wpscan \
21
  enum4linux-ng \
22
  aircrack-ng \
 
23
  bettercap \
24
  binwalk \
25
  hashcat \
 
26
  masscan \
27
  radare2 \
 
28
  sherlock \
29
  wireshark \
30
  zaproxy \
 
35
  RUN pip3 install --break-system-packages \
36
  androguard \
37
  XSStrike \
38
+ dalfox \
39
+ impacket \
40
+ routersploit
41
+
42
+ # Note: Removed complex tools that cause build issues:
43
+ # - TheFatRat (cloned repo, complex setup)
44
+ # - wifipumpkin3 (setup.py issues)
45
+ # These can be installed manually if needed
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  # Set working directory
48
  WORKDIR /app
kali_server.py CHANGED
@@ -787,49 +787,7 @@ def sherlock():
787
  "error": f"Server error: {str(e)}"
788
  }), 500
789
 
790
- @app.route("/api/tools/thefatrat", methods=["POST"])
791
- def thefatrat():
792
- """Execute TheFatRat with the provided parameters."""
793
- try:
794
- params = request.json
795
- additional_args = params.get("additional_args", "")
796
-
797
- command = f"cd /opt/TheFatRat && ./fatrat {additional_args}"
798
-
799
- result = execute_command(command)
800
- return jsonify(result)
801
- except Exception as e:
802
- logger.error(f"Error in thefatrat endpoint: {str(e)}")
803
- logger.error(traceback.format_exc())
804
- return jsonify({
805
- "error": f"Server error: {str(e)}"
806
- }), 500
807
 
808
- @app.route("/api/tools/wifipumpkin3", methods=["POST"])
809
- def wifipumpkin3():
810
- """Execute wifipumpkin3 with the provided parameters."""
811
- try:
812
- params = request.json
813
- interface = params.get("interface", "")
814
- config = params.get("config", "")
815
- additional_args = params.get("additional_args", "")
816
-
817
- command = "wifipumpkin3"
818
- if interface:
819
- command += f" -i {interface}"
820
- if config:
821
- command += f" -c {config}"
822
- if additional_args:
823
- command += f" {additional_args}"
824
-
825
- result = execute_command(command)
826
- return jsonify(result)
827
- except Exception as e:
828
- logger.error(f"Error in wifipumpkin3 endpoint: {str(e)}")
829
- logger.error(traceback.format_exc())
830
- return jsonify({
831
- "error": f"Server error: {str(e)}"
832
- }), 500
833
 
834
  @app.route("/api/tools/xsstrike", methods=["POST"])
835
  def xsstrike():
@@ -1167,28 +1125,7 @@ def get_capabilities():
1167
  "required": ["username"]
1168
  }
1169
  },
1170
- {
1171
- "name": "thefatrat_run",
1172
- "description": "Execute TheFatRat payload generation tool",
1173
- "parameters": {
1174
- "type": "object",
1175
- "properties": {
1176
- "additional_args": {"type": "string", "default": ""}
1177
- }
1178
- }
1179
- },
1180
- {
1181
- "name": "wifipumpkin3_run",
1182
- "description": "Execute WifiPumpkin3 rogue AP tool",
1183
- "parameters": {
1184
- "type": "object",
1185
- "properties": {
1186
- "interface": {"type": "string", "default": ""},
1187
- "config": {"type": "string", "default": ""},
1188
- "additional_args": {"type": "string", "default": ""}
1189
- }
1190
- }
1191
- },
1192
  {
1193
  "name": "xsstrike_scan",
1194
  "description": "Execute XSStrike XSS vulnerability scanner",
@@ -1265,8 +1202,6 @@ def execute_tool(tool_name):
1265
  "radare2_analyze": radare2,
1266
  "routersploit_scan": routersploit,
1267
  "sherlock_search": sherlock,
1268
- "thefatrat_run": thefatrat,
1269
- "wifipumpkin3_run": wifipumpkin3,
1270
  "xsstrike_scan": xsstrike,
1271
  "zaproxy_scan": zaproxy,
1272
  "execute_command": generic_command,
 
787
  "error": f"Server error: {str(e)}"
788
  }), 500
789
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
790
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
791
 
792
  @app.route("/api/tools/xsstrike", methods=["POST"])
793
  def xsstrike():
 
1125
  "required": ["username"]
1126
  }
1127
  },
1128
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1129
  {
1130
  "name": "xsstrike_scan",
1131
  "description": "Execute XSStrike XSS vulnerability scanner",
 
1202
  "radare2_analyze": radare2,
1203
  "routersploit_scan": routersploit,
1204
  "sherlock_search": sherlock,
 
 
1205
  "xsstrike_scan": xsstrike,
1206
  "zaproxy_scan": zaproxy,
1207
  "execute_command": generic_command,
mcp_server.py CHANGED
@@ -564,41 +564,7 @@ def setup_mcp_server(kali_client: KaliToolsClient) -> FastMCP:
564
  }
565
  return kali_client.safe_post("api/tools/sherlock", data)
566
 
567
- @mcp.tool()
568
- def thefatrat_run(additional_args: str = "") -> Dict[str, Any]:
569
- """
570
- Execute TheFatRat payload generation tool.
571
-
572
- Args:
573
- additional_args: Additional TheFatRat arguments
574
-
575
- Returns:
576
- Tool execution results
577
- """
578
- data = {
579
- "additional_args": additional_args
580
- }
581
- return kali_client.safe_post("api/tools/thefatrat", data)
582
-
583
- @mcp.tool()
584
- def wifipumpkin3_run(interface: str = "", config: str = "", additional_args: str = "") -> Dict[str, Any]:
585
- """
586
- Execute WifiPumpkin3 rogue AP tool.
587
-
588
- Args:
589
- interface: Wireless interface
590
- config: Configuration file
591
- additional_args: Additional wifipumpkin3 arguments
592
-
593
- Returns:
594
- Tool execution results
595
- """
596
- data = {
597
- "interface": interface,
598
- "config": config,
599
- "additional_args": additional_args
600
- }
601
- return kali_client.safe_post("api/tools/wifipumpkin3", data)
602
 
603
  @mcp.tool()
604
  def xsstrike_scan(url: str, additional_args: str = "") -> Dict[str, Any]:
 
564
  }
565
  return kali_client.safe_post("api/tools/sherlock", data)
566
 
567
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
 
569
  @mcp.tool()
570
  def xsstrike_scan(url: str, additional_args: str = "") -> Dict[str, Any]: