-
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6f08600
commit b1f648c
Showing
16 changed files
with
7,280 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +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"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
from PyQt5.QtCore import Qt | ||
from PyQt5.QtGui import QFont, QPixmap | ||
from PyQt5.QtWidgets import ( | ||
QApplication, QMainWindow, QTabWidget, QVBoxLayout, QWidget, QLabel, QGridLayout, QHBoxLayout | ||
) | ||
from SessionsTab import SessionsTab | ||
from HostsTab import HostsTab | ||
from UserManagementTab import UserManagementTab | ||
from SprayingTab import SprayingTab | ||
from PivotingTab import PivotingTab | ||
from Attacks import Attacks | ||
|
||
QApplication.setFont(QFont('Arial', 10)) | ||
|
||
|
||
class AboutTab(QWidget): | ||
def __init__(self): | ||
super().__init__() | ||
|
||
# Main layout - Horizontal layout to split into two parts | ||
mainLayout = QHBoxLayout(self) | ||
|
||
# Left part: Information | ||
leftLayout = QVBoxLayout() | ||
|
||
# Developed by label | ||
developedByLabel = QLabel("Developed by:") | ||
developedByLabel.setAlignment(Qt.AlignCenter) # Center the label | ||
leftLayout.addWidget(developedByLabel) # Add the label to the layout | ||
developedByLabel.setFixedSize(400, 40) | ||
# Developed by image | ||
developedByImageLabel = QLabel() | ||
developedByPixmap = QPixmap('/usr/share/adsuit/hacker.png') # Replace with the path to your image | ||
developedByImageLabel.setPixmap(developedByPixmap.scaled(300, 300, Qt.KeepAspectRatio)) # Scale the image | ||
developedByImageLabel.setAlignment(Qt.AlignCenter) # Center the image | ||
leftLayout.addWidget(developedByImageLabel) # Add the image label to the layout | ||
|
||
# Information grid | ||
gridLayout = QGridLayout() | ||
headerFont = QFont('Arial', 12, QFont.Bold) | ||
|
||
# Name | ||
nameLabel = QLabel("Name:") | ||
nameLabel.setFont(headerFont) | ||
nameValue = QLabel("Tonee Marqus") | ||
nameValue.setTextInteractionFlags(Qt.TextSelectableByMouse) # Make the text selectable | ||
gridLayout.addWidget(nameLabel, 0, 0) | ||
gridLayout.addWidget(nameValue, 0, 1) | ||
|
||
emailLabel = QLabel("Email:") | ||
emailLabel.setFont(headerFont) | ||
emailValue = QLabel("[email protected]") | ||
emailValue.setTextInteractionFlags(Qt.TextSelectableByMouse) # Make the text selectable | ||
gridLayout.addWidget(emailLabel, 1, 0) | ||
gridLayout.addWidget(emailValue, 1, 1) | ||
|
||
# GitHub | ||
githubLabel = QLabel("GitHub:") | ||
githubLabel.setFont(headerFont) | ||
githubValue = QLabel("<a href='https://github.com/toneemarqus'>toneemarqus</a>") | ||
githubValue.setOpenExternalLinks(True) | ||
gridLayout.addWidget(githubLabel, 2, 0) | ||
gridLayout.addWidget(githubValue, 2, 1) | ||
|
||
# Medium | ||
mediumLabel = QLabel("Medium:") | ||
mediumLabel.setFont(headerFont) | ||
mediumValue = QLabel("<a href='https://medium.com/@toneemarqus'>@toneemarqus</a>") | ||
mediumValue.setOpenExternalLinks(True) | ||
gridLayout.addWidget(mediumLabel, 3, 0) | ||
gridLayout.addWidget(mediumValue, 3, 1) | ||
|
||
# Profession | ||
professionLabel = QLabel("Profession:") | ||
professionLabel.setFont(headerFont) | ||
professionValue = QLabel("Penetration Tester") | ||
gridLayout.addWidget(professionLabel, 4, 0) | ||
gridLayout.addWidget(professionValue, 4, 1) | ||
|
||
leftLayout.addLayout(gridLayout) | ||
|
||
# Right part: Image and AD Suit label | ||
rightLayout = QVBoxLayout() | ||
|
||
# AD Suit label | ||
adSuitLabel = QLabel("AD Suit:") | ||
adSuitLabel.setAlignment(Qt.AlignCenter) # Center the label | ||
rightLayout.addWidget(adSuitLabel) # Add the label to the layout | ||
|
||
# Image | ||
imageLabel = QLabel() | ||
pixmap = QPixmap('/usr/share/adsuit/icon.jpg') # Replace with the path to your image | ||
imageLabel.setPixmap(pixmap.scaled(800, 700, Qt.KeepAspectRatio)) # Scale the image | ||
imageLabel.setAlignment(Qt.AlignCenter) # Center the image | ||
rightLayout.addWidget(imageLabel) | ||
|
||
# Add left and right layouts to the main layout | ||
mainLayout.addLayout(leftLayout) | ||
mainLayout.addLayout(rightLayout) | ||
|
||
self.setLayout(mainLayout) | ||
|
||
|
||
class MyTableWidget(QWidget): | ||
def __init__(self, parent): | ||
super(QWidget, self).__init__(parent) | ||
self.layout = QVBoxLayout(self) | ||
|
||
# Initialize tab screen | ||
self.tabs = QTabWidget() | ||
|
||
# Create the tabs | ||
self.hostsTab = HostsTab() # Create HostsTab first | ||
self.userManagementTab = UserManagementTab() | ||
self.sessionsTab = SessionsTab() | ||
self.sprayingTab = SprayingTab() | ||
self.pivotingTab = PivotingTab() | ||
self.Attacks = Attacks() | ||
self.aboutTab = AboutTab() | ||
# Add tabs in the specified order, starting with HostsTab | ||
self.tabs.addTab(self.hostsTab, " Hosts ") # Add Hosts tab first | ||
self.tabs.addTab(self.userManagementTab, " UserManagement ") | ||
self.tabs.addTab(self.sessionsTab, " Sessions ") | ||
self.tabs.addTab(self.sprayingTab, " Spraying ") | ||
self.tabs.addTab(self.pivotingTab, " Pivoting ") | ||
self.tabs.addTab(self.Attacks, " Attacks ") | ||
self.tabs.addTab(self.aboutTab, " About ") | ||
# Add tabs to widget | ||
self.layout.addWidget(self.tabs) | ||
self.setLayout(self.layout) | ||
class ADSuite(QMainWindow): | ||
def __init__(self): | ||
super().__init__() | ||
self.initUI() | ||
|
||
def initUI(self): | ||
self.setWindowTitle('AD Suite') | ||
self.setGeometry(400, 200, 1200, 800) # Set initial position and size | ||
|
||
# Set the fixed size to the initial size to prevent maximizing | ||
self.setFixedSize(1200, 800) | ||
self.table_widget = MyTableWidget(self) | ||
self.setCentralWidget(self.table_widget) | ||
|
||
self.setStyleSheet(""" | ||
QMainWindow { | ||
background-color: #2b2b2b; | ||
} | ||
QTabWidget::pane { | ||
border: 4px solid #444; | ||
background: #2b2b2b; | ||
} | ||
QTabBar::tab { | ||
background: rgb(255, 102, 51); /* Same as button color */ | ||
color: rgb(0, 0, 0); /* Black text for contrast */ | ||
font-weight: bold; /* Make the font bold */ | ||
padding: 8px; | ||
margin: 2px; | ||
border: 1px solid #444; | ||
border-bottom: none; | ||
border-top-left-radius: 4px; | ||
border-top-right-radius: 4px; | ||
font-size: 16px; | ||
} | ||
QTabBar::tab:selected { | ||
background: rgb(230, 92, 46); /* Slightly darker for the selected tab */ | ||
color: rgb(255, 255, 255); /* White text for the selected tab */ | ||
font-weight: bold; /* Ensure the font is bold */ | ||
} | ||
QTabBar::tab:hover { | ||
background: rgb(255, 114, 71); /* A lighter orange for hover */ | ||
color: rgb(0, 0, 0); | ||
} | ||
QLabel, QPushButton, QLineEdit, QTextEdit, QComboBox, QListWidget { | ||
background-color: #313335; | ||
color: #a9b7c6; | ||
border: 1px solid #555; | ||
padding: 5px; | ||
margin: 5px; | ||
border-radius: 5px; | ||
} | ||
QPushButton { | ||
background-color: rgb(255, 102, 51); /* Accent color for important buttons only */ | ||
color: rgb(0, 0, 0); /* Black text for better legibility */ | ||
font: bold 14px 'Arial'; | ||
min-width: 10em; | ||
padding: 10px; | ||
border: none; /* Cleaner look without borders */ | ||
border-radius: 5px; /* Rounded corners */ | ||
} | ||
QPushButton:hover { | ||
background-color: rgb(230, 92, 46); | ||
} | ||
QPushButton:pressed { | ||
background-color: #3c3f41; | ||
} | ||
QPushButton:disabled { | ||
background-color: #393c3e; | ||
color: #575b5e; | ||
} | ||
QListWidget { | ||
border-radius: 5px; | ||
} | ||
""") | ||
|
||
|
||
|
Oops, something went wrong.