cxcrypt 0.1.0__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cxcrypt-0.2.0/PKG-INFO +29 -0
- cxcrypt-0.2.0/README.md +22 -0
- cxcrypt-0.2.0/cxcrypt/__init__.py +1 -0
- cxcrypt-0.2.0/cxcrypt/__main__.py +36 -0
- cxcrypt-0.2.0/cxcrypt/practicals/Encrypt_decrypt___Hashing_algo.txt +38 -0
- cxcrypt-0.2.0/cxcrypt/practicals/Pract_7___WIRESHARK_SNIFFER.txt +116 -0
- cxcrypt-0.2.0/cxcrypt/practicals/Reconnaissance_Footprinting_Prac3__EH.txt +99 -0
- cxcrypt-0.2.0/cxcrypt/practicals/session_hack_EH_PRAC15.txt +35 -0
- cxcrypt-0.2.0/cxcrypt.egg-info/PKG-INFO +29 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt.egg-info/SOURCES.txt +6 -1
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/pyproject.toml +3 -4
- cxcrypt-0.1.0/PKG-INFO +0 -31
- cxcrypt-0.1.0/README.md +0 -23
- cxcrypt-0.1.0/cxcrypt/__init__.py +0 -1
- cxcrypt-0.1.0/cxcrypt.egg-info/PKG-INFO +0 -31
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt/practicals/Encrypt_decrypt_&_Hashing_algo.docx +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt/practicals/Pract 7 _ WIRESHARK (SNIFFER).docx +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt/practicals/Reconnaissance_Footprinting_Prac3 _EH.docx +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt/practicals/session_hack_EH_PRAC15.docx +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt.egg-info/dependency_links.txt +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt.egg-info/top_level.txt +0 -0
- {cxcrypt-0.1.0 → cxcrypt-0.2.0}/setup.cfg +0 -0
cxcrypt-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cxcrypt
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Menu-based viewer for selected original Ethical Hacking practical materials
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# cxcrypt
|
|
9
|
+
|
|
10
|
+
Menu-based viewer for four selected Ethical Hacking practicals.
|
|
11
|
+
|
|
12
|
+
The original DOCX files are included unchanged. Plain-text files are generated by extracting document paragraphs and tables so the practical material can be viewed in a terminal output. Formatting, images, and text embedded in screenshots may not appear in the text view.
|
|
13
|
+
|
|
14
|
+
## Run locally
|
|
15
|
+
From the folder containing `pyproject.toml`:
|
|
16
|
+
```cmd
|
|
17
|
+
python -m pip install .
|
|
18
|
+
python -m cxcrypt
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Build and upload
|
|
22
|
+
```cmd
|
|
23
|
+
python -m pip install --upgrade build twine
|
|
24
|
+
python -m build
|
|
25
|
+
python -m twine check dist/*
|
|
26
|
+
python -m twine upload dist/*
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The viewer displays the extracted original document text; it does not execute the practical steps.
|
cxcrypt-0.2.0/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# cxcrypt
|
|
2
|
+
|
|
3
|
+
Menu-based viewer for four selected Ethical Hacking practicals.
|
|
4
|
+
|
|
5
|
+
The original DOCX files are included unchanged. Plain-text files are generated by extracting document paragraphs and tables so the practical material can be viewed in a terminal output. Formatting, images, and text embedded in screenshots may not appear in the text view.
|
|
6
|
+
|
|
7
|
+
## Run locally
|
|
8
|
+
From the folder containing `pyproject.toml`:
|
|
9
|
+
```cmd
|
|
10
|
+
python -m pip install .
|
|
11
|
+
python -m cxcrypt
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Build and upload
|
|
15
|
+
```cmd
|
|
16
|
+
python -m pip install --upgrade build twine
|
|
17
|
+
python -m build
|
|
18
|
+
python -m twine check dist/*
|
|
19
|
+
python -m twine upload dist/*
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The viewer displays the extracted original document text; it does not execute the practical steps.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Viewer for selected original Ethical Hacking practical materials."""
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
PRACTICALS_DIR = Path(__file__).parent / "practicals"
|
|
4
|
+
|
|
5
|
+
def list_practicals():
|
|
6
|
+
return sorted(PRACTICALS_DIR.glob("*.txt"))
|
|
7
|
+
|
|
8
|
+
def main():
|
|
9
|
+
practicals = list_practicals()
|
|
10
|
+
if not practicals:
|
|
11
|
+
print("No practical text files were found.")
|
|
12
|
+
return
|
|
13
|
+
|
|
14
|
+
while True:
|
|
15
|
+
print("\\n=== CXCrypt: Original Practical Code/Text Viewer ===")
|
|
16
|
+
for number, path in enumerate(practicals, 1):
|
|
17
|
+
print(f"{number}. {path.stem.replace('_', ' ')}")
|
|
18
|
+
print("0. Exit")
|
|
19
|
+
|
|
20
|
+
choice = input("\\nEnter practical number to view: ").strip()
|
|
21
|
+
if choice == "0":
|
|
22
|
+
print("Exiting CXCrypt.")
|
|
23
|
+
break
|
|
24
|
+
if not choice.isdigit() or not (1 <= int(choice) <= len(practicals)):
|
|
25
|
+
print("Invalid choice. Try again.")
|
|
26
|
+
continue
|
|
27
|
+
|
|
28
|
+
path = practicals[int(choice) - 1]
|
|
29
|
+
print("\\n" + "=" * 72)
|
|
30
|
+
print(path.stem.replace("_", " "))
|
|
31
|
+
print("=" * 72 + "\\n")
|
|
32
|
+
print(path.read_text(encoding="utf-8"))
|
|
33
|
+
input("\\nPress Enter to return to the menu...")
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
main()
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
Prac 1:-Encrypt and decrypt algo
|
|
2
|
+
Code:-
|
|
3
|
+
def encrypt(text,s):
|
|
4
|
+
result=""
|
|
5
|
+
for i in range(len(text)):
|
|
6
|
+
char=text[i]
|
|
7
|
+
if (char.isupper()):
|
|
8
|
+
result+=chr((ord(char) + s-65) % 26 +65)
|
|
9
|
+
else:
|
|
10
|
+
result+=chr((ord(char) + s-97) % 26 +97)
|
|
11
|
+
return result
|
|
12
|
+
def decrypt(text,s):
|
|
13
|
+
result=""
|
|
14
|
+
for i in range(len(text)):
|
|
15
|
+
char=text[i]
|
|
16
|
+
if (char.isupper()):
|
|
17
|
+
result+=chr((ord(char) - s-65) % 26 +65)
|
|
18
|
+
else:
|
|
19
|
+
result+=chr((ord(char) - s-97) % 26 +97)
|
|
20
|
+
return result
|
|
21
|
+
text="attackontitan"
|
|
22
|
+
s=5
|
|
23
|
+
print("text is:",text)
|
|
24
|
+
print("shift of:",s)
|
|
25
|
+
print("encrypted result:",encrypt(text,s))
|
|
26
|
+
de=encrypt(text,s)
|
|
27
|
+
print(decrypt(de,s))
|
|
28
|
+
Output:-
|
|
29
|
+
2.Hashing
|
|
30
|
+
import bcrypt
|
|
31
|
+
pwd=b'Mypass'
|
|
32
|
+
salt=bcrypt.gensalt()
|
|
33
|
+
hashed=bcrypt.hashpw(pwd,salt)
|
|
34
|
+
print("Salt :")
|
|
35
|
+
print(salt)
|
|
36
|
+
print("Hashed")
|
|
37
|
+
print(hashed)
|
|
38
|
+
Output:-
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Practical 7 : WIRESHARK (SNIFFER)
|
|
2
|
+
Aim : Use Wireshark (Sniffer) to capture network traffic and analyze and thus check vulnerability of network systems.
|
|
3
|
+
Wireshark is a free, open-source network protocol analyzer. It acts as a "packet sniffer," allowing IT professionals and security analysts to capture, inspect, and deeply examine data traffic traveling across a computer network in real time.
|
|
4
|
+
What is Wireshark?
|
|
5
|
+
Wireshark is a network packet analyzer. A network packet analyzer presents captured packet data in as much detail as possible.
|
|
6
|
+
You could think of a network packet analyzer as a measuring device for examining what’s happening inside a network cable, just like an electrician uses a voltmeter for examining what’s happening inside an electric cable (but at a higher level, of course).
|
|
7
|
+
In the past, such tools were either very expensive, proprietary, or both. However, with the advent of Wireshark, that has changed. Wireshark is available for free, is open source, and is one of the best packet analyzers available today.
|
|
8
|
+
Some intended purposes
|
|
9
|
+
Here are some reasons people use Wireshark:
|
|
10
|
+
Network administrators use it to troubleshoot network problems
|
|
11
|
+
Network security engineers use it to examine security problems
|
|
12
|
+
QA engineers use it to verify network applications
|
|
13
|
+
Developers use it to debug protocol implementations
|
|
14
|
+
People use it to learn network protocol internals
|
|
15
|
+
Wireshark can also be helpful in many other situations.
|
|
16
|
+
Features
|
|
17
|
+
The following are some of the many features Wireshark provides:
|
|
18
|
+
Available for UNIX and Windows.
|
|
19
|
+
Capture live packet data from a network interface.
|
|
20
|
+
Open files containing packet data captured with tcpdump/WinDump, Wireshark, and many other packet capture programs.
|
|
21
|
+
Import packets from text files containing hex dumps of packet data.
|
|
22
|
+
Display packets with very detailed protocol information.
|
|
23
|
+
Save packet data captured.
|
|
24
|
+
Export some or all packets in a number of capture file formats.
|
|
25
|
+
Filter packets on many criteria.
|
|
26
|
+
Search for packets on many criteria.
|
|
27
|
+
Colorize packet display based on filters.
|
|
28
|
+
Create various statistics.
|
|
29
|
+
…and a lot more!
|
|
30
|
+
Live capture from many different network media
|
|
31
|
+
Wireshark can capture traffic from many different network media types, including Ethernet, Wireless LAN, Bluetooth, USB, and more. The specific media types supported may be limited by several factors, including your hardware and operating system.
|
|
32
|
+
Here are some things Wireshark does not provide:
|
|
33
|
+
Wireshark isn’t an intrusion detection system. It will not warn you when someone does strange things on your network that he/she isn’t allowed to do. However, if strange things happen, Wireshark might help you figure out what is really going on.
|
|
34
|
+
Wireshark will not manipulate things on the network, it will only “measure” things from it. Wireshark doesn’t send packets on the network or do other active things.
|
|
35
|
+
1.Inspect traffic for a specific IP address.
|
|
36
|
+
Filter : ip.addr==192.168.2.34
|
|
37
|
+
(Check the IP address of machine using ipconfig command in cmd line)
|
|
38
|
+
Output :
|
|
39
|
+
Comments :
|
|
40
|
+
~ The first image shows all the packets and network traffic being captured.
|
|
41
|
+
~ Second image shows the terminal.
|
|
42
|
+
~ Third image shows the Frame 1’s (transmission no. 1) all the details like – source, destination, arrival time, epoch time. Similarly if any other transmission is selected (Ex : Frame 15) then the details regarding that frame/transmission are displayed.
|
|
43
|
+
~ Last image shows the output in the third window i.e. some hexadecimal digits marked in blue. These are the actual raw data carried by the frame from the source to the destination but in hexadecimal format.
|
|
44
|
+
|
|
45
|
+
2.Sniff the credentials details from a vulnerable website: techpanda.com.
|
|
46
|
+
Filter : Keep scanning first. Goto website and then stop scanning and put filter “http”. Click the blue arrow at the side.
|
|
47
|
+
Output :
|
|
48
|
+
Comments : The new area in console Hypertext Transfer Protocol has appeared. It shows the host i.e. the website we logged in into, the user agent i.e. the browser that it works on and other details. While logging in, the get method was used. That too is seen.
|
|
49
|
+
|
|
50
|
+
3.Check what user has typed in browser
|
|
51
|
+
-http://www.techpanda.org/index.php
|
|
52
|
+
Filter : http.referer contains "search"
|
|
53
|
+
Output :
|
|
54
|
+
Comments : The details for the search appear in the console.
|
|
55
|
+
|
|
56
|
+
4.Check what string user has passed in google search engine.
|
|
57
|
+
Filter : http.referer contains “search”
|
|
58
|
+
(here I used directly http as filter and then checked the console to get the details…see image 2 in output)
|
|
59
|
+
(First scan, then search on browser with word search in URL, then stop scanning and add filter)
|
|
60
|
+
Output :
|
|
61
|
+
Comments : Details regarding the search wherein “search” word was used during query put into browser, appears on wireshark. Sniffing is successful.
|
|
62
|
+
|
|
63
|
+
5. Find out packets which are getting the response as PAGE
|
|
64
|
+
NOT FOUND.
|
|
65
|
+
URL used : http://info.cern.ch/authentication
|
|
66
|
+
Filter : http.response.code==404
|
|
67
|
+
Output :
|
|
68
|
+
Browser search :
|
|
69
|
+
Comments :
|
|
70
|
+
404 code is for page not found. So thus when you search for the page, the browser throws a 404 not found error. Wireshark sniffs this as well and when we put the above filter details regarding the search appears.
|
|
71
|
+
|
|
72
|
+
6. Find out those packets which are getting responses.
|
|
73
|
+
Filter : http.response.code==200
|
|
74
|
+
Output :
|
|
75
|
+
Comments :
|
|
76
|
+
200 code is for page found/all ok. So thus when you search for the page, the browser returns the status of the page as 200 i.e. found the searched page. Wireshark sniffs this as well and when we put the above filter details regarding the search appears.
|
|
77
|
+
|
|
78
|
+
7. Find Packets-: Browser Specific.
|
|
79
|
+
Filter : http.user_agent contains Firefox
|
|
80
|
+
Output :
|
|
81
|
+
Browser search :
|
|
82
|
+
Codes for server.py and client.py :
|
|
83
|
+
Server.py :
|
|
84
|
+
import socket
|
|
85
|
+
s=socket.socket()
|
|
86
|
+
print("Socket created successfully !")
|
|
87
|
+
port=8080
|
|
88
|
+
s.bind(('localhost',port))
|
|
89
|
+
print("Socket binded to %s"%(port))
|
|
90
|
+
s.listen(5)
|
|
91
|
+
print("Socket is listening...")
|
|
92
|
+
while True:
|
|
93
|
+
c,addr=s.accept()
|
|
94
|
+
print("Got connection from ",addr)
|
|
95
|
+
c.sendall('Thank you for connecting! '.encode())
|
|
96
|
+
c.close()
|
|
97
|
+
Client.py :
|
|
98
|
+
import socket
|
|
99
|
+
s=socket.socket()
|
|
100
|
+
port=8080
|
|
101
|
+
s.connect(('localhost',port))
|
|
102
|
+
print(s.recv(1024).decode())
|
|
103
|
+
Comments :
|
|
104
|
+
The above filter finds browser specific packets. The request made to the browser and the browser’s response both are sniffed and captured by wireshark. In the above case it is seen that the request is captured in Frame (transmission no.) 546 and its response is given in frame no. 548. So these details are also given for easy understanding.
|
|
105
|
+
|
|
106
|
+
8.Inspect traffic between specific source and destination
|
|
107
|
+
Filter : ip.aadr==192.168.0.107 && ip.addr==192.168.0.108
|
|
108
|
+
Output :
|
|
109
|
+
Comments :
|
|
110
|
+
The traffic i.e. data packets being sent between the two IPs is sniffed.
|
|
111
|
+
|
|
112
|
+
9.To sniff communication between client and server
|
|
113
|
+
Filter :
|
|
114
|
+
Output :
|
|
115
|
+
Comments :
|
|
116
|
+
If we see the wireshark output, the 7th frame shows the ACK flag data packet being sent from server to client (443 to 23303) and then in 15th frame the other way round. Communication then happens. This is sniffed using wireshark. In Internet Protocol the source and destination also changes accordingly.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Practical 3 Google dorks
|
|
2
|
+
1. Display R Programming PDF files from TutorialsPoint.
|
|
3
|
+
Dork:
|
|
4
|
+
filetype:pdf site:tutorialspoint.com "R programming"
|
|
5
|
+
2. Display the Facebook page of DCSIT.
|
|
6
|
+
Dork:
|
|
7
|
+
site:facebook.com DCSIT
|
|
8
|
+
3. Display information about COVID-19 vaccinations.
|
|
9
|
+
Dork:
|
|
10
|
+
intext:"COVID-19 vaccinations"
|
|
11
|
+
4. Display all web pages that link to Apple's website.
|
|
12
|
+
Dork:
|
|
13
|
+
link:apple.com
|
|
14
|
+
5. Display Instagram pages related to food channels.
|
|
15
|
+
Dork:
|
|
16
|
+
site:instagram.com food
|
|
17
|
+
6. Display all PDF files from the NASA website.
|
|
18
|
+
Dork:
|
|
19
|
+
filetype:pdf site:nasa.gov
|
|
20
|
+
7. Display all PHP files containing information about Bill Gates.
|
|
21
|
+
Dork:
|
|
22
|
+
inurl:php intext:"Bill Gates"
|
|
23
|
+
|
|
24
|
+
8. Display information related to the New Education Policy.
|
|
25
|
+
Dork:
|
|
26
|
+
allintext:"New Education Policy"
|
|
27
|
+
9. Display today's weather in Australia.
|
|
28
|
+
Dork:
|
|
29
|
+
weather:Australia
|
|
30
|
+
|
|
31
|
+
10. Display all web pages containing copyright information.
|
|
32
|
+
Dork:
|
|
33
|
+
Allintext:"copyright"
|
|
34
|
+
11. Find national-level security plans from Indian government websites.
|
|
35
|
+
Dork:
|
|
36
|
+
intext:"security plans" site:gov.in
|
|
37
|
+
12. Display web pages related to the Mumbai Cycling Marathon 2023.
|
|
38
|
+
Dork:
|
|
39
|
+
allintext:"Mumbai Cycling Marathon 2023"
|
|
40
|
+
13. Display information about Python TypeError.
|
|
41
|
+
Dork:
|
|
42
|
+
TypeError Python
|
|
43
|
+
|
|
44
|
+
14. Find routes from Mumbai to Gujarat.
|
|
45
|
+
Dork:
|
|
46
|
+
allintext:"Mumbai to Gujarat routes"
|
|
47
|
+
15. Display all web pages related to connecting to Facebook.
|
|
48
|
+
Dork:
|
|
49
|
+
allintitle:"Connect to Facebook"
|
|
50
|
+
16. Find the Bitcoin White Paper.
|
|
51
|
+
Dork:
|
|
52
|
+
intext:Bitcoin filetype:pdf
|
|
53
|
+
|
|
54
|
+
17. Display today's Maharashtra pandemic report.
|
|
55
|
+
Dork:
|
|
56
|
+
allintext:"Maharashtra pandemic report today"
|
|
57
|
+
|
|
58
|
+
18. Find a video of Prime Minister Modi explaining the importance of Yoga on International Yoga Day.
|
|
59
|
+
Dork:
|
|
60
|
+
video:Modi Yoga Day
|
|
61
|
+
|
|
62
|
+
19. Display the ATKT timetable for June 2023 from Ruia College.
|
|
63
|
+
Dork:
|
|
64
|
+
site:ruiacollege.edu allintext:"ATKT timetable June 2023"
|
|
65
|
+
20. Display today's weather in Mumbai.
|
|
66
|
+
Dork:
|
|
67
|
+
intitle:weather Mumbai
|
|
68
|
+
21. Display information about websites containing the keyword "Inspiration".
|
|
69
|
+
Dork:
|
|
70
|
+
intitle:Inspiration
|
|
71
|
+
|
|
72
|
+
22. Display PDF files related to Cyber Security.
|
|
73
|
+
Dork:
|
|
74
|
+
filetype:pdf allintext:"Cyber Security"
|
|
75
|
+
|
|
76
|
+
23. Display information about Telegram.
|
|
77
|
+
Dork:
|
|
78
|
+
info:telegram.org
|
|
79
|
+
24. Display Ruia College admission notices for 2023.
|
|
80
|
+
Dork:
|
|
81
|
+
site:ruiacollege.edu allintext:"Admissions 2023"
|
|
82
|
+
25. Display the definition of the term "Hacking".
|
|
83
|
+
Dork:
|
|
84
|
+
Define:hacking
|
|
85
|
+
Shodan dork
|
|
86
|
+
Search 1: Apache Servers in the United States
|
|
87
|
+
Search 2: Open MongoDB Databases
|
|
88
|
+
Search 3: IoT Devices in a Specific City
|
|
89
|
+
WHOIS in Python (Advanced Use)
|
|
90
|
+
1. WHOIS Lookup Using Python
|
|
91
|
+
import whois
|
|
92
|
+
domain = whois.whois("www.ruiacollege.edu")
|
|
93
|
+
print(domain)
|
|
94
|
+
Output
|
|
95
|
+
2.
|
|
96
|
+
import whois
|
|
97
|
+
domain = whois.whois("kraftonindiaesports.com")
|
|
98
|
+
print(domain)
|
|
99
|
+
1. Online WHOIS Lookup Tools
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
PRACTICAL NO:15
|
|
2
|
+
SESSION HIJACKING
|
|
3
|
+
CODE:
|
|
4
|
+
from flask import Flask, request, make_response, redirect
|
|
5
|
+
app = Flask(__name__)
|
|
6
|
+
USERS = {
|
|
7
|
+
"student": "1234"
|
|
8
|
+
}
|
|
9
|
+
@app.route("/")
|
|
10
|
+
def home():
|
|
11
|
+
session_id = request.cookies.get("session")
|
|
12
|
+
if session_id == "student-session":
|
|
13
|
+
return """
|
|
14
|
+
<h2>Welcome Student!</h2>
|
|
15
|
+
<p>You are logged in.</p>
|
|
16
|
+
"""
|
|
17
|
+
return """
|
|
18
|
+
<h2>Demo Login</h2>
|
|
19
|
+
<form method="POST" action="/login">
|
|
20
|
+
Username: <input name="username"><br><br>
|
|
21
|
+
Password: <input name="password" type="password"><br><br>
|
|
22
|
+
<button type="submit">Login</button>
|
|
23
|
+
</form>
|
|
24
|
+
"""
|
|
25
|
+
@app.route("/login", methods=["POST"])
|
|
26
|
+
def login():
|
|
27
|
+
username = request.form["username"]
|
|
28
|
+
password = request.form["password"]
|
|
29
|
+
if USERS.get(username) == password:
|
|
30
|
+
response = make_response(redirect("/"))
|
|
31
|
+
response.set_cookie("session", "student-session")
|
|
32
|
+
return response
|
|
33
|
+
return "Invalid credentials"
|
|
34
|
+
app.run(host="127.0.0.1", port=5000)
|
|
35
|
+
OUTPUT:
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cxcrypt
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Menu-based viewer for selected original Ethical Hacking practical materials
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# cxcrypt
|
|
9
|
+
|
|
10
|
+
Menu-based viewer for four selected Ethical Hacking practicals.
|
|
11
|
+
|
|
12
|
+
The original DOCX files are included unchanged. Plain-text files are generated by extracting document paragraphs and tables so the practical material can be viewed in a terminal output. Formatting, images, and text embedded in screenshots may not appear in the text view.
|
|
13
|
+
|
|
14
|
+
## Run locally
|
|
15
|
+
From the folder containing `pyproject.toml`:
|
|
16
|
+
```cmd
|
|
17
|
+
python -m pip install .
|
|
18
|
+
python -m cxcrypt
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Build and upload
|
|
22
|
+
```cmd
|
|
23
|
+
python -m pip install --upgrade build twine
|
|
24
|
+
python -m build
|
|
25
|
+
python -m twine check dist/*
|
|
26
|
+
python -m twine upload dist/*
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The viewer displays the extracted original document text; it does not execute the practical steps.
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
README.md
|
|
2
2
|
pyproject.toml
|
|
3
3
|
cxcrypt/__init__.py
|
|
4
|
+
cxcrypt/__main__.py
|
|
4
5
|
cxcrypt.egg-info/PKG-INFO
|
|
5
6
|
cxcrypt.egg-info/SOURCES.txt
|
|
6
7
|
cxcrypt.egg-info/dependency_links.txt
|
|
7
8
|
cxcrypt.egg-info/top_level.txt
|
|
8
9
|
cxcrypt/practicals/Encrypt_decrypt_&_Hashing_algo.docx
|
|
10
|
+
cxcrypt/practicals/Encrypt_decrypt___Hashing_algo.txt
|
|
9
11
|
cxcrypt/practicals/Pract 7 _ WIRESHARK (SNIFFER).docx
|
|
12
|
+
cxcrypt/practicals/Pract_7___WIRESHARK_SNIFFER.txt
|
|
10
13
|
cxcrypt/practicals/Reconnaissance_Footprinting_Prac3 _EH.docx
|
|
11
|
-
cxcrypt/practicals/
|
|
14
|
+
cxcrypt/practicals/Reconnaissance_Footprinting_Prac3__EH.txt
|
|
15
|
+
cxcrypt/practicals/session_hack_EH_PRAC15.docx
|
|
16
|
+
cxcrypt/practicals/session_hack_EH_PRAC15.txt
|
|
@@ -4,15 +4,14 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cxcrypt"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "Menu-based viewer for selected original Ethical Hacking practical materials"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
11
|
-
license = { text = "Educational use" }
|
|
12
11
|
|
|
13
12
|
[tool.setuptools]
|
|
14
13
|
packages = ["cxcrypt"]
|
|
15
14
|
include-package-data = true
|
|
16
15
|
|
|
17
16
|
[tool.setuptools.package-data]
|
|
18
|
-
cxcrypt = ["practicals/*.docx"]
|
|
17
|
+
cxcrypt = ["practicals/*.txt", "practicals/*.docx"]
|
cxcrypt-0.1.0/PKG-INFO
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: cxcrypt
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: Original Ethical Hacking practical documents
|
|
5
|
-
License: Educational use
|
|
6
|
-
Requires-Python: >=3.9
|
|
7
|
-
Description-Content-Type: text/markdown
|
|
8
|
-
|
|
9
|
-
# cxcrypt
|
|
10
|
-
|
|
11
|
-
This distribution contains four original Ethical Hacking practical DOCX files copied byte-for-byte from the supplied ZIP.
|
|
12
|
-
|
|
13
|
-
Included originals:
|
|
14
|
-
1. Encryption, Decryption & Hashing
|
|
15
|
-
2. Reconnaissance / Footprinting (Practical 3)
|
|
16
|
-
3. Wireshark (Sniffer) (Practical 7)
|
|
17
|
-
4. Session Hijacking (Practical 15)
|
|
18
|
-
|
|
19
|
-
The practical documents are included unchanged. No practical code was rewritten or added.
|
|
20
|
-
This is a document distribution package; it does not execute the practicals.
|
|
21
|
-
|
|
22
|
-
## Build and upload
|
|
23
|
-
|
|
24
|
-
From the folder containing `pyproject.toml`:
|
|
25
|
-
|
|
26
|
-
```cmd
|
|
27
|
-
python -m pip install --upgrade build twine
|
|
28
|
-
python -m build
|
|
29
|
-
python -m twine check dist/*
|
|
30
|
-
python -m twine upload dist/*
|
|
31
|
-
```
|
cxcrypt-0.1.0/README.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# cxcrypt
|
|
2
|
-
|
|
3
|
-
This distribution contains four original Ethical Hacking practical DOCX files copied byte-for-byte from the supplied ZIP.
|
|
4
|
-
|
|
5
|
-
Included originals:
|
|
6
|
-
1. Encryption, Decryption & Hashing
|
|
7
|
-
2. Reconnaissance / Footprinting (Practical 3)
|
|
8
|
-
3. Wireshark (Sniffer) (Practical 7)
|
|
9
|
-
4. Session Hijacking (Practical 15)
|
|
10
|
-
|
|
11
|
-
The practical documents are included unchanged. No practical code was rewritten or added.
|
|
12
|
-
This is a document distribution package; it does not execute the practicals.
|
|
13
|
-
|
|
14
|
-
## Build and upload
|
|
15
|
-
|
|
16
|
-
From the folder containing `pyproject.toml`:
|
|
17
|
-
|
|
18
|
-
```cmd
|
|
19
|
-
python -m pip install --upgrade build twine
|
|
20
|
-
python -m build
|
|
21
|
-
python -m twine check dist/*
|
|
22
|
-
python -m twine upload dist/*
|
|
23
|
-
```
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"""Distribution of original practical documents; practical contents are unmodified."""
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: cxcrypt
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: Original Ethical Hacking practical documents
|
|
5
|
-
License: Educational use
|
|
6
|
-
Requires-Python: >=3.9
|
|
7
|
-
Description-Content-Type: text/markdown
|
|
8
|
-
|
|
9
|
-
# cxcrypt
|
|
10
|
-
|
|
11
|
-
This distribution contains four original Ethical Hacking practical DOCX files copied byte-for-byte from the supplied ZIP.
|
|
12
|
-
|
|
13
|
-
Included originals:
|
|
14
|
-
1. Encryption, Decryption & Hashing
|
|
15
|
-
2. Reconnaissance / Footprinting (Practical 3)
|
|
16
|
-
3. Wireshark (Sniffer) (Practical 7)
|
|
17
|
-
4. Session Hijacking (Practical 15)
|
|
18
|
-
|
|
19
|
-
The practical documents are included unchanged. No practical code was rewritten or added.
|
|
20
|
-
This is a document distribution package; it does not execute the practicals.
|
|
21
|
-
|
|
22
|
-
## Build and upload
|
|
23
|
-
|
|
24
|
-
From the folder containing `pyproject.toml`:
|
|
25
|
-
|
|
26
|
-
```cmd
|
|
27
|
-
python -m pip install --upgrade build twine
|
|
28
|
-
python -m build
|
|
29
|
-
python -m twine check dist/*
|
|
30
|
-
python -m twine upload dist/*
|
|
31
|
-
```
|
|
File without changes
|
|
File without changes
|
{cxcrypt-0.1.0 → cxcrypt-0.2.0}/cxcrypt/practicals/Reconnaissance_Footprinting_Prac3 _EH.docx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|