P
PevGen
Здравы всем.
По скольку я не имею никакого опыта в программировании, то хотел бы просить Bашей помощи.
Помогите разобрать файл. А именно вытащить все логины, пароли, явки. Голову сломал сидя и пытаясь понять как работает PS.
Заранее благодарю. Так же, если уж получится или потребуется, постараюсь наградить рублём.
-
объясню что-за файл. Нашу компанию обслуживают айтишники. Только удалёнка. Для типовой настройки каждой машины (парк машин около 700 и постоянно растёт) они используют скрипт. Там кроме офисных приложений ничего не ставится.
Насколько я понял, 51 и 52 строка используют ключ шифрования пароля.
На всех компьютерах стоит программа перехвата действий пользователя и логирование всего на наши сервера.
На картинке, айтишники выбирают пароль номер 2. Мне необходим походу он. Как я понял, это выбирается пароль администратора системы.
По скольку я не имею никакого опыта в программировании, то хотел бы просить Bашей помощи.
Помогите разобрать файл. А именно вытащить все логины, пароли, явки. Голову сломал сидя и пытаясь понять как работает PS.
Заранее благодарю. Так же, если уж получится или потребуется, постараюсь наградить рублём.
-
объясню что-за файл. Нашу компанию обслуживают айтишники. Только удалёнка. Для типовой настройки каждой машины (парк машин около 700 и постоянно растёт) они используют скрипт. Там кроме офисных приложений ничего не ставится.
Python:
cls
Import-Module BitsTransfer
<#Создаем папки#>
New-Item -Path ‘C:\Scan’ -ItemType 'Directory' -Force | Out-Null
New-Item -Path ‘C:\Settings\PS’ -ItemType 'Directory' -Force | Out-Null
New-Item -Path ‘C:\98765’ -ItemType 'Directory' -Force | Out-Null
Write-Host " "
Write-Host "Добро пожаловать в настройку ПК!"
Write-Host " "
Write-Host "1 Настройка системы"
Write-Host "2 Установка программ"
Write-Host "3 Тест сети"
Write-Host "4 Новый ПК"
Write-Host "5 Ничего не хочу, просто выйти"
Write-Host " "
$sw1=read-host "Выбирите цифрой какую операцию вы хотите сделать"
Switch ($sw1) {
1 {$menu=1}
2 {$menu=2}
3 {$menu=3}
4 {$menu=4}
5 {Remove-Item -Path C:\98765 -Force -Recurse
Set-ExecutionPolicy Restricted -Force
Stop-Process -Name powershell}
}
if (($menu -eq 1) -or ($menu -eq 4)) {
$setting=read-host "Введите город"
$number=read-host "Введите номер компьютера"
$numpass=read-host "Введите номер пароля"
}
if (($menu -eq 1) -or ($menu -eq 4) -or ($menu -eq 2)){
Write-Host " "
Write-Host "1 32 разрядная операционная система (х86)"
Write-Host "2 64 разрядная операционная система (х64)"
$bit=read-host "Выбирите архитектуру"}
if (($menu -eq 2) -or ($menu -eq 4)){
$office=read-host "Устанавливаем офис? (y/n)"}
$path="C:\98765\"
$newpath="C:\Users\"+$user
<# Скачиваем установки #>
$client = new-object System.Net.WebClient
if (($menu -eq 1) -or ($menu -eq 4)){
Write-Host "Идет скачивание файла настроек..."
<#Start-BitsTransfer -ErrorAction SilentlyContinue -ErrorVariable download -Source http://help.11101.ru/prog/settings/PS/$setting.ini -Destination C:\Settings\PS\$setting.ini
if ($download) {Write-Host "Скачивание произойдет без показа процесса"
$client.DownloadFile("http://help.11101.ru/prog/settings/PS/"+$setting+".ini","C:\Settings\PS\"+$setting+".ini")}#>
"pass : $numpass">C:\Settings\PS\pass.ini
$val = (Get-Content C:\Settings\PS\$setting.ini) -replace " : ","=" | ConvertFrom-StringData}
<# Формируем переменные #>
if (($menu -eq 4) -or ($menu -eq 2)){
if ($bit -eq 1)
{
$first="x86.exe"
$7z="7z1806.exe"
$teams="Teams_windows.exe"
$sumatra="SumatraPDF-3.1.2-install.exe"
$office="confx86.xml"
}
if ($bit -eq 2)
{
$first="x64.exe"
$7z="7z1806-x64.exe"
$teams="Teams_windows_x64.exe"
$sumatra="SumatraPDF-3.1.2-64-install.exe"
$office="confx64.xml"
}
<# Скачивание и установка программ#>
<#Write-Host "Пожалуйста ждите, идет скачивание программ, это займет некоторое время...."
Start-BitsTransfer -ErrorAction SilentlyContinue -ErrorVariable download -Source http://help.11101.ru/prog/$first -Destination $path$first
if ($download) {Write-Host "Скачивание произойдет без показа процесса"
$client.DownloadFile("http://help.11101.ru/prog/"+$first , $path+$first)}
Write-Host "Пожалуйста ждите, идет установка программ, это займет некоторое время...."#>
$pass="-p"+$val.45+$val.87+$val.65
<#& $path$first $pass | Out-Null #>
& $path$first | Out-Null
& $path$7z /S | Out-Null
& $path$sumatra /s /register /opt pdffilter,pdfpreviewer | Out-Null
& $path$teams | Out-Null
<#if ($port -eq "y") {
& $path"PortGo.exe" /VERYSILENT /NORESTART /DIR=$newpath"\PortGo" | Out-Null
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\$user\Desktop\PortGo.lnk")
$Shortcut.TargetPath = "C:\Users\$user\PortGo\PortGo.exe"
$Shortcut.Save()
}#>
& $path"ChromeSetup.exe" | Out-Null
& msiexec.exe /norestart /l*vx $path\temp.log /qn /i $path\agent.msi GATE_URL=atlex.edin-center.ru GATE_PORT=443 ALLUSERS=1 REBOOT=ReallySuppress | Out-Null
& $path"M2040DN\en\Setup.exe" | Out-Null
if ($office -eq "y") {& $path"setup.exe" /configure $path$office | Out-Null}
}
if ($menu -eq 3){
Write-Host "Пожалуйста ждите, идет провервка сети, это займет некоторое время...."
powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -tiddefaca Allow -tiddefaci 252013
<#Start-BitsTransfer -ErrorAction SilentlyContinue -ErrorVariable download -Source http://help.11101.ru/prog/agent.msi -Destination $path\agent.msi
if($download) {Write-Host "Скачивание произойдет без показа процесса"
$client.DownloadFile("http://help.11101.ru/prog/agent.msi" , $path+"agent.msi")}#>
& msiexec.exe /norestart /l*vx $path\temp.log /qn /i $path\agent.msi GATE_URL=atlex.edin-center.ru GATE_PORT=443 ALLUSERS=1 REBOOT=ReallySuppress | Out-Null
}
if (($menu -eq 1) -or ($menu -eq 4)) {
Write-Host "Пожалуйста ждите, ведется настройка системы, это займет некоторое время...."
$pc=$val.0+"-"+$number
$passadm=$val.$numpass+$val.45+$val.87+$val.65+$val.105
$passscan=$val.82+$val.77+$val.88
Rename-Computer -NewName $pc
$SystemInfo = Get-WmiObject -class Win32_ComputerSystem
$SystemInfo.JoinDomainOrWorkgroup($val.0)
Get-LocalGroup -Name Администраторы -ErrorAction SilentlyContinue -ErrorVariable rusadm
Get-LocalGroup -Name Пользователи -ErrorAction SilentlyContinue -ErrorVariable rususer
Get-LocalGroup -Name Administrators -ErrorAction SilentlyContinue -ErrorVariable enadm
Get-LocalGroup -Name Users -ErrorAction SilentlyContinue -ErrorVariable enuser
$SecurePassword = $passadm | ConvertTo-SecureString -AsPlainText -Force
if (!$rusadm) {$groupadmin='Администраторы'} else {$groupadmin='Administrators'}
if (!$rususer) {$groupuser='Пользователи'} else {$groupuser='Users'}
New-LocalUser -Name Admin -AccountNeverExpires:$true -Password $SecurePassword -PasswordNeverExpires:$true -Verbose
Add-LocalGroupMember -Group $groupadmin -Member ('Admin')
$SecurePassword = $passscan | ConvertTo-SecureString -AsPlainText -Force
New-LocalUser -Name Scan -AccountNeverExpires:$true -Password $SecurePassword -PasswordNeverExpires:$true -Verbose
Add-LocalGroupMember -Group $groupuser -Member ('Scan')
Remove-LocalGroupMember -Group $groupadmin -Member ($env:Username)
Add-LocalGroupMember -Group $groupuser -Member ($env:Username) -ErrorAction SilentlyContinue
$inheritCO = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagationIO = [system.security.accesscontrol.PropagationFlags]"InheritOnly"
$PropagationN = [system.security.accesscontrol.PropagationFlags]"None"
New-SmbShare -Name Scan -Path C:\Scan\ -FullAccess Scan
$acl = Get-Acl C:\Scan
$acl.SetAccessRuleProtection($true,$false)
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($groupuser,'FullControl',$inheritCO, $propagationN,'Allow')
$acl.SetAccessRule($AccessRule)
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($groupadmin,'FullControl',$inheritCO, $propagationN,'Allow')
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl C:\Scan
$acl = Get-Acl C:\Settings
$acl.SetAccessRuleProtection($true,$false)
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule('Scan','FullControl',$inheritCO, $propagationN,'Allow')
$acl.SetAccessRule($AccessRule)
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($groupadmin,'FullControl',$inheritCO, $propagationN,'Allow')
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl C:\Settings
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\$user\Desktop\Scan.lnk")
$Shortcut.TargetPath = "C:\Scan\"
$Shortcut.Save()
}
Write-Host "Все операции завершены, проверьте наличие ошибок, перезагрузите ПК"
Write-Host "Для выхода нажмите любую клавишу"
$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | out-null
<#Remove-Item -Path C:\98765 -Force -Recurse
Set-ExecutionPolicy Restricted -Force#>
Stop-Process -Name powershell
Насколько я понял, 51 и 52 строка используют ключ шифрования пароля.
На картинке, айтишники выбирают пароль номер 2. Мне необходим походу он. Как я понял, это выбирается пароль администратора системы.