PowerHuntShares/Scripts/ConfigParsers/parser-jboss-cli.xml.ps1
2024-09-23 10:35:53 -05:00

74 lines
2.4 KiB
PowerShell

# Author: Scott Sutherland, NetSPI (@_nullbind / nullbind)
# Define the function to extract username and password from a jboss-cli.xml file and return an object
function Get-JbossCredentials {
param (
[string]$FilePath
)
# Check if the file exists
if (-not (Test-Path -Path $FilePath)) {
Write-Error "File not found: $FilePath"
return $null
}
# Load the XML file
[xml]$jbossCliXml = Get-Content -Path $FilePath
# Extract the username and password
$username = $jbossCliXml."jboss-cli".authentication.username
$password = $jbossCliXml."jboss-cli".authentication.password
# Return a PowerShell object with the username and password
return [pscustomobject]@{
Username = $username
Password = $password
}
}
# Example usage
$xmlFilePath = "c:\temp\configs\jboss-cli.xml"
$credentials = Get-JbossCredentials -FilePath $xmlFilePath
# Output the returned object (optional for testing)
$credentials
<# jboss-cli.xml
<jboss-cli xmlns="urn:jboss:cli:1.2">
<!-- The default controller host and port -->
<controller>
<host>127.0.0.1</host> <!-- Specify the host, e.g., localhost or a remote address -->
<port>9990</port> <!-- The management port of JBoss/WildFly, default is 9990 -->
</controller>
<!-- The authentication details for the controller -->
<authentication>
<username>admin</username> <!-- Your management user -->
<password>password</password> <!-- Your management user's password -->
</authentication>
<!-- Optionally enable secure connections using SSL -->
<ssl>
<enabled>false</enabled> <!-- Set to true if using SSL/TLS for the connection -->
<keystore-path></keystore-path>
<keystore-password></keystore-password>
<truststore-path></truststore-path>
<truststore-password></truststore-password>
</ssl>
<!-- Custom properties for the CLI session -->
<properties>
<!-- For example, to disable coloring in the CLI output -->
<property name="jboss.cli.color" value="false"/>
</properties>
<!-- Configuration of command history behavior -->
<history>
<enabled>true</enabled> <!-- Whether to enable CLI command history -->
<max-size>500</max-size> <!-- The maximum number of commands to store in history -->
</history>
</jboss-cli>
#>