[АСУТП, PLC, SCADA, AC & DC DRIVES INVERTERS ]
Главная » 2019 » Октябрь » 28 » AutoIT Подбор пароля ПЛК Samsung
09:12
AutoIT Подбор пароля ПЛК Samsung

Рассмотрим на примере ПЛК фирмы SAMSUNG RS Oemax CPU750A подбор пароля. Из документации выяснено, что пароль содержит в себе 4 знака в 16-тиричном формате (HEX). Подключение производится через TOOL-PORT с помощью преобразователя USB-COM. Для этого необходимо заранее выбрать в настройках программы необходимый Com-порт.

В настройках Windows узнаем номер порта = 3

Указываем этот номер в настройках программы WinFPST v2.24

 

Пример подключения ПК к ПЛК

Листинг кода программы в AutoIT v3.5.4 

run ("C:\Program Files\FARA PLC\WinFPST 2\WinFPST.exe")
winwaitactive('WinFPST','U p l o a d   f r o m   P L C')
ControlClick ('WinFPST','U p l o a d   f r o m   P L C', '[CLASS:Button; INSTANCE:3]')
winwaitactive('WinFPST','PLC is disabled to write/read')
ControlClick ('WinFPST','PLC is disabled to write/read', '[CLASS:Button; INSTANCE:1]')
winwaitactive('Set PLC Password - Untitle1')
send('{tab}')
clipput('')
$a=0
$b=65535
for $i=$a to $b; от 0 до 65535
$pas = hex($i,4)
clipput($pas)
send('^v')
$c=clipget()
send('{enter}')
sleep(500)
if winactive ('WinFPST','Entered password is incorrect') then
   send('{enter}')
elseif not winactive ('WinFPST','Entered password is incorrect') then
   sleep(500)
   if winactive ('WinFPST','Entered password is incorrect') then
      send('{enter}')
   elseif not winactive ('WinFPST','Entered password is incorrect') then
      sleep(500)
      if winactive ('WinFPST','Entered password is incorrect') then
         send('{enter}')
      elseif not winactive ('WinFPST','Entered password is incorrect') Then
         sleep(2500)
         if winactive ('WinFPST','Entered password is incorrect') then
            send('{enter}')
         elseif not winactive ('WinFPST','Entered password is incorrect') Then
            sleep(2500)
            if winactive ('WinFPST','PLC became enabled to write/read') then
               MsgBox(0,"пароль определен",$c)
               exit
            elseif not winactive ('WinFPST','PLC became enabled to write/read') then
               msgbox(16,'ошибка!! подбор остановился на',$c)
               exit
            endif
         endif
      EndIf
   EndIf
EndIf
next
MsgBox(48, "","пароль не определен. попробуй еще!")

Скачать листинг программы - Подбор пароля для 4-х знаков HEX.au3

Версия 2

Сохраняет в текстовый файл все перебранные пароли в файл AllPasswords.txt, а также сохраняет отдельно подобранный пароль в файл CorrectPassword.txt.

run ("C:\Program Files\FARA PLC\WinFPST 2\WinFPST.exe")
winwaitactive('WinFPST','U p l o a d   f r o m   P L C')
ControlClick ('WinFPST','U p l o a d   f r o m   P L C', '[CLASS:Button; INSTANCE:3]')
winwaitactive('WinFPST','PLC is disabled to write/read')
ControlClick ('WinFPST','PLC is disabled to write/read', '[CLASS:Button; INSTANCE:1]')
;winwaitactive('Set PLC Password - Untitle1')
sleep (100)
send('{tab}')
clipput('')
$a=0
$b=65535
for $i=$a to $b; от 0 до 65535
$pas = hex($i,4)
;winwaitactive('Set PLC Password - Untitle7')
;sleep(150)
;MsgBox(0, "текущий проверяемый пароль", $pas)
;-----------------------------------------------------------------------------
            ;--------- ЗАПИСЬ ДАННЫХ В ТХТ ФАЙЛ -------------------
            ;-----------------------------------------------------------------------------
            ; Открываем текстовый файл для записи и добавляем в конец новую строчку
            ; В режиме для записи файл создается, даже если его нет.
               $TXTAll = FileOpen ( 'C:\AllPasswords.txt', 1)
               sleep (50)
            ; Пишем в ранее открытый файл в первую строку текущую дату ДЕНЬ.МЕСЯЦ.ГОД
               FileWrite($TXTAll ,$pas & @CRLF)
            ; Закрываем ранее открытый файл
               FileClose($TXTAll)
               sleep (50)

clipput($pas)
send('^v')
$c=clipget()
send('{enter}')
sleep(850)
if winactive ('WinFPST','PLC became enabled to write/read') then
               MsgBox(0,"пароль определен",$c)
               sleep (1000)
               send('{enter}')
               $TXT = FileOpen ( 'C:\CorrectPassword.txt', 1)
               sleep (100)
            ; Пишем в ранее открытый файл в первую строку текущую дату ДЕНЬ.МЕСЯЦ.ГОД
               FileWrite($TXT ,$c & @CRLF)
            ; Закрываем ранее открытый файл
               FileClose($TXT)
               sleep (100)
               exit
endif
send('{enter}')
sleep(350)
next
MsgBox(48, "","цикл завершен")

Upassword_PLC_Samsung_fast2

Скачать WinFPST v2.24 eng или WinFPST VER2.2427_ENG.zip

Файлы для запуска WInFPST WIN7 или здесь

Видео работы программы версия 2

 

Просмотров: 1188 | Добавил: gt7600 | Теги: взлом ПЛК, AutoIT, Samsung, PLC Unpassword | Рейтинг: 5.0/2
Всего комментариев: 0
avatar