Skip to content

Commit b1f648c

Browse files
authored
test_&&_client
1 parent 6f08600 commit b1f648c

16 files changed

+7280
-0
lines changed

tests/PowerUp.ps1

Whitespace-only changes.

tests/SharpHound.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"payload":{"allShortcutsEnabled":false,"fileTree":{"Collectors":{"items":[{"name":"DebugBuilds","path":"Collectors/DebugBuilds","contentType":"directory"},{"name":"AzureHound.md","path":"Collectors/AzureHound.md","contentType":"file"},{"name":"SharpHound.exe","path":"Collectors/SharpHound.exe","contentType":"file"},{"name":"SharpHound.ps1","path":"Collectors/SharpHound.ps1","contentType":"file"}],"totalCount":4},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"Collectors","path":"Collectors","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".eslintrc.json","path":".eslintrc.json","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".prettierrc","path":".prettierrc","contentType":"file"},{"name":"LICENSE-3RD-PARTY.md","path":"LICENSE-3RD-PARTY.md","contentType":"file"},{"name":"LICENSE.md","path":"LICENSE.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"index.html","path":"index.html","contentType":"file"},{"name":"main.js","path":"main.js","contentType":"file"},{"name":"package-lock.json","path":"package-lock.json","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"},{"name":"renderer.js","path":"renderer.js","contentType":"file"},{"name":"server.js","path":"server.js","contentType":"file"},{"name":"webpack.config.development.js","path":"webpack.config.development.js","contentType":"file"},{"name":"webpack.config.production.js","path":"webpack.config.production.js","contentType":"file"}],"totalCount":19}},"fileTreeProcessingTime":4.532902999999999,"foldersToFetch":[],"reducedMotionEnabled":null,"repo":{"id":56452110,"defaultBranch":"master","name":"BloodHound","ownerLogin":"BloodHoundAD","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-04-17T18:36:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/25502277?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1684939350.2286022","canEdit":false,"refType":"branch","currentOid":"a78dff384767f06febf85dc9940e0d84890cfb51"},"path":"Collectors/SharpHound.ps1","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":[],"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/BloodHoundAD/BloodHound/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null,"repoAlertsPath":"/BloodHoundAD/BloodHound/security/dependabot","repoSecurityAndAnalysisPath":"/BloodHoundAD/BloodHound/settings/security_analysis","repoOwnerIsOrg":true,"currentUserCanAdminRepo":false},"displayName":"SharpHound.ps1","displayUrl":"https://github.com/BloodHoundAD/BloodHound/blob/master/Collectors/SharpHound.ps1?raw=true","headerInfo":{"blobSize":"1.25 MB","deleteInfo":{"deleteTooltip":"You must be signed in to make or propose changes"},"editInfo":{"editTooltip":"You must be signed in to make or propose changes"},"ghDesktopPath":"https://desktop.github.com","gitLfsPath":null,"onBranch":true,"shortPath":"89054a4","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FBloodHoundAD%2FBloodHound%2Fblob%2Fmaster%2FCollectors%2FSharpHound.ps1","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":null,"truncatedSloc":null},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplateHelpUrl":"https://docs.github.com/articles/about-issue-and-pull-request-templates","issueTemplate":null,"discussionTemplate":null,"language":null,"languageID":null,"large":true,"loggedIn":false,"newDiscussionPath":"/BloodHoundAD/BloodHound/discussions/new","newIssuePath":"/BloodHoundAD/BloodHound/issues/new","planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/BloodHoundAD/BloodHound/blob/master/Collectors/SharpHound.ps1","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","dismissStackNoticePath":"/settings/dismiss-notice/publish_stack_from_file","releasePath":"/BloodHoundAD/BloodHound/releases/new?marketplace=true","showPublishActionBanner":false,"showPublishStackBanner":false},"rawBlobUrl":"https://github.com/BloodHoundAD/BloodHound/raw/master/Collectors/SharpHound.ps1","renderImageOrRaw":true,"richText":null,"renderedFileInfo":null,"shortPath":null,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"repoOwner":"BloodHoundAD","repoName":"BloodHound","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","showDependabotConfigurationBanner":false,"actionsOnboardingTip":null},"truncated":true,"viewable":false,"workflowRedirectUrl":null,"symbols":{"timedOut":true,"notAnalyzed":true,"symbols":[],"error":{"code":"invalid_argument","msg":"content required","meta":{}}}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/BloodHoundAD/BloodHound/branches":{"post":"lMjwsdpmNFEGemksiLEs8pOgAcr_khMZO0XTOt_DsTnSeVVraGgzw1uqPjNJ9PcKRrMhvo9auk3liouiWPPVGw"},"/repos/preferences":{"post":"gxHog_dOhFBNPU2W1hHlO0NlYUsNieGNm9FObS-2Byo0nMmW6i9m_R3Lfet0Mnv6m8AdDpu7WiWBQoD-2x-5Wg"}}},"title":"BloodHound/Collectors/SharpHound.ps1 at master · BloodHoundAD/BloodHound"}

tests/active_directory/ADSuite.py

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
from PyQt5.QtCore import Qt
2+
from PyQt5.QtGui import QFont, QPixmap
3+
from PyQt5.QtWidgets import (
4+
QApplication, QMainWindow, QTabWidget, QVBoxLayout, QWidget, QLabel, QGridLayout, QHBoxLayout
5+
)
6+
from SessionsTab import SessionsTab
7+
from HostsTab import HostsTab
8+
from UserManagementTab import UserManagementTab
9+
from SprayingTab import SprayingTab
10+
from PivotingTab import PivotingTab
11+
from Attacks import Attacks
12+
13+
QApplication.setFont(QFont('Arial', 10))
14+
15+
16+
class AboutTab(QWidget):
17+
def __init__(self):
18+
super().__init__()
19+
20+
# Main layout - Horizontal layout to split into two parts
21+
mainLayout = QHBoxLayout(self)
22+
23+
# Left part: Information
24+
leftLayout = QVBoxLayout()
25+
26+
# Developed by label
27+
developedByLabel = QLabel("Developed by:")
28+
developedByLabel.setAlignment(Qt.AlignCenter) # Center the label
29+
leftLayout.addWidget(developedByLabel) # Add the label to the layout
30+
developedByLabel.setFixedSize(400, 40)
31+
# Developed by image
32+
developedByImageLabel = QLabel()
33+
developedByPixmap = QPixmap('/usr/share/adsuit/hacker.png') # Replace with the path to your image
34+
developedByImageLabel.setPixmap(developedByPixmap.scaled(300, 300, Qt.KeepAspectRatio)) # Scale the image
35+
developedByImageLabel.setAlignment(Qt.AlignCenter) # Center the image
36+
leftLayout.addWidget(developedByImageLabel) # Add the image label to the layout
37+
38+
# Information grid
39+
gridLayout = QGridLayout()
40+
headerFont = QFont('Arial', 12, QFont.Bold)
41+
42+
# Name
43+
nameLabel = QLabel("Name:")
44+
nameLabel.setFont(headerFont)
45+
nameValue = QLabel("Tonee Marqus")
46+
nameValue.setTextInteractionFlags(Qt.TextSelectableByMouse) # Make the text selectable
47+
gridLayout.addWidget(nameLabel, 0, 0)
48+
gridLayout.addWidget(nameValue, 0, 1)
49+
50+
# Email
51+
emailLabel = QLabel("Email:")
52+
emailLabel.setFont(headerFont)
53+
emailValue = QLabel("[email protected]")
54+
emailValue.setTextInteractionFlags(Qt.TextSelectableByMouse) # Make the text selectable
55+
gridLayout.addWidget(emailLabel, 1, 0)
56+
gridLayout.addWidget(emailValue, 1, 1)
57+
58+
# GitHub
59+
githubLabel = QLabel("GitHub:")
60+
githubLabel.setFont(headerFont)
61+
githubValue = QLabel("<a href='https://github.com/toneemarqus'>toneemarqus</a>")
62+
githubValue.setOpenExternalLinks(True)
63+
gridLayout.addWidget(githubLabel, 2, 0)
64+
gridLayout.addWidget(githubValue, 2, 1)
65+
66+
# Medium
67+
mediumLabel = QLabel("Medium:")
68+
mediumLabel.setFont(headerFont)
69+
mediumValue = QLabel("<a href='https://medium.com/@toneemarqus'>@toneemarqus</a>")
70+
mediumValue.setOpenExternalLinks(True)
71+
gridLayout.addWidget(mediumLabel, 3, 0)
72+
gridLayout.addWidget(mediumValue, 3, 1)
73+
74+
# Profession
75+
professionLabel = QLabel("Profession:")
76+
professionLabel.setFont(headerFont)
77+
professionValue = QLabel("Penetration Tester")
78+
gridLayout.addWidget(professionLabel, 4, 0)
79+
gridLayout.addWidget(professionValue, 4, 1)
80+
81+
leftLayout.addLayout(gridLayout)
82+
83+
# Right part: Image and AD Suit label
84+
rightLayout = QVBoxLayout()
85+
86+
# AD Suit label
87+
adSuitLabel = QLabel("AD Suit:")
88+
adSuitLabel.setAlignment(Qt.AlignCenter) # Center the label
89+
rightLayout.addWidget(adSuitLabel) # Add the label to the layout
90+
91+
# Image
92+
imageLabel = QLabel()
93+
pixmap = QPixmap('/usr/share/adsuit/icon.jpg') # Replace with the path to your image
94+
imageLabel.setPixmap(pixmap.scaled(800, 700, Qt.KeepAspectRatio)) # Scale the image
95+
imageLabel.setAlignment(Qt.AlignCenter) # Center the image
96+
rightLayout.addWidget(imageLabel)
97+
98+
# Add left and right layouts to the main layout
99+
mainLayout.addLayout(leftLayout)
100+
mainLayout.addLayout(rightLayout)
101+
102+
self.setLayout(mainLayout)
103+
104+
105+
class MyTableWidget(QWidget):
106+
def __init__(self, parent):
107+
super(QWidget, self).__init__(parent)
108+
self.layout = QVBoxLayout(self)
109+
110+
# Initialize tab screen
111+
self.tabs = QTabWidget()
112+
113+
# Create the tabs
114+
self.hostsTab = HostsTab() # Create HostsTab first
115+
self.userManagementTab = UserManagementTab()
116+
self.sessionsTab = SessionsTab()
117+
self.sprayingTab = SprayingTab()
118+
self.pivotingTab = PivotingTab()
119+
self.Attacks = Attacks()
120+
self.aboutTab = AboutTab()
121+
# Add tabs in the specified order, starting with HostsTab
122+
self.tabs.addTab(self.hostsTab, " Hosts ") # Add Hosts tab first
123+
self.tabs.addTab(self.userManagementTab, " UserManagement ")
124+
self.tabs.addTab(self.sessionsTab, " Sessions ")
125+
self.tabs.addTab(self.sprayingTab, " Spraying ")
126+
self.tabs.addTab(self.pivotingTab, " Pivoting ")
127+
self.tabs.addTab(self.Attacks, " Attacks ")
128+
self.tabs.addTab(self.aboutTab, " About ")
129+
# Add tabs to widget
130+
self.layout.addWidget(self.tabs)
131+
self.setLayout(self.layout)
132+
class ADSuite(QMainWindow):
133+
def __init__(self):
134+
super().__init__()
135+
self.initUI()
136+
137+
def initUI(self):
138+
self.setWindowTitle('AD Suite')
139+
self.setGeometry(400, 200, 1200, 800) # Set initial position and size
140+
141+
# Set the fixed size to the initial size to prevent maximizing
142+
self.setFixedSize(1200, 800)
143+
self.table_widget = MyTableWidget(self)
144+
self.setCentralWidget(self.table_widget)
145+
146+
self.setStyleSheet("""
147+
QMainWindow {
148+
background-color: #2b2b2b;
149+
}
150+
QTabWidget::pane {
151+
border: 4px solid #444;
152+
background: #2b2b2b;
153+
}
154+
QTabBar::tab {
155+
background: rgb(255, 102, 51); /* Same as button color */
156+
color: rgb(0, 0, 0); /* Black text for contrast */
157+
font-weight: bold; /* Make the font bold */
158+
padding: 8px;
159+
margin: 2px;
160+
border: 1px solid #444;
161+
border-bottom: none;
162+
border-top-left-radius: 4px;
163+
border-top-right-radius: 4px;
164+
font-size: 16px;
165+
}
166+
167+
QTabBar::tab:selected {
168+
background: rgb(230, 92, 46); /* Slightly darker for the selected tab */
169+
color: rgb(255, 255, 255); /* White text for the selected tab */
170+
font-weight: bold; /* Ensure the font is bold */
171+
}
172+
173+
QTabBar::tab:hover {
174+
background: rgb(255, 114, 71); /* A lighter orange for hover */
175+
color: rgb(0, 0, 0);
176+
}
177+
QLabel, QPushButton, QLineEdit, QTextEdit, QComboBox, QListWidget {
178+
background-color: #313335;
179+
color: #a9b7c6;
180+
border: 1px solid #555;
181+
padding: 5px;
182+
margin: 5px;
183+
border-radius: 5px;
184+
}
185+
QPushButton {
186+
background-color: rgb(255, 102, 51); /* Accent color for important buttons only */
187+
color: rgb(0, 0, 0); /* Black text for better legibility */
188+
font: bold 14px 'Arial';
189+
min-width: 10em;
190+
padding: 10px;
191+
border: none; /* Cleaner look without borders */
192+
border-radius: 5px; /* Rounded corners */
193+
}
194+
QPushButton:hover {
195+
background-color: rgb(230, 92, 46);
196+
}
197+
QPushButton:pressed {
198+
background-color: #3c3f41;
199+
}
200+
QPushButton:disabled {
201+
background-color: #393c3e;
202+
color: #575b5e;
203+
}
204+
QListWidget {
205+
border-radius: 5px;
206+
}
207+
""")
208+
209+
210+

0 commit comments

Comments
 (0)