Тема: скрипт SET для рассылки

Такая проблема:
делаю (пытаюсь настроить) рассылку в Дебиан через ВДСку при помощи скрипта SET, перезаточенного чьими-то умелыми руками под рассылку.
Скрипт проходится по командам, а далее такая картина:
https://seoxa.net/attachments/neposylka-png.3775/

Что делать?
Почему обрыв?

Картинка не открывается, загрузите её на http://postimage.org/

2

Re: скрипт SET для рассылки

andrykavol, где скрипт? Телепаты в отпуске.

3 (07.01.2015 12:50:23 отредактировано andrykavol)

Re: скрипт SET для рассылки

set-automate

#!/usr/bin/env python
import pexpect
import sys
import os
import time
import subprocess
import re
#
# Simple client mode for SET
#
# try to import pexpect
try: import pexpect
# if pexpect fails
except ImportError:
    print "\n[*] PEXPECT is required, please download and install before running this..."
    print "[*] Exiting SET-AUTOMATE mode..."
    sys.exit()

# try to define filename through argument specified during command line mode
try:
    filename=sys.argv[1]

# if we through an exception spit out the command line syntax
except IndexError:
    print "\nThe Social-Engineer Toolkit Automate - Automatation for SET"
    print "\nSimply create a file that has each option you want from menu mode."
    print "For example your file should look something like this:"
    print "\n2\n2\n2\nhttps://gmail.com\n2\n2\n443\netc.\n"
    print "Usage: ./set-automate <filename>" 
    sys.exit()

# if the filename doesnt exist throw an error
if not os.path.isfile(filename): 
    print "\n[*] Sorry hoss, unable to locate that filename, try again.\n"
    sys.exit()

password="false"
# if the path is around
if os.path.isfile(filename):
    try:
        print "[*] Spawning SET in a threaded process..."
        child=pexpect.spawn("python set")
        #child.delaybeforesend = 0
        fileopen=file(filename,"r")
        for line in fileopen:
                line=line.rstrip()
                # if we just use enter send default
                if line == "": line="default"

                                match1=re.search("OMGPASSWORDHERE", line)
                                if match1:
                                        line=line.replace(" OMGPASSWORDHERE", "")
                                        password="true"

                if password == "false":
                    print "[*] Sending command %s to the interface..." % (line)
                if password == "true":
                    print "[*] Sending command [**********] (password masked) to the interface..."
                    password="false"

                if line == "default":
                    line=""

                if line == "CONTROL-C-HERE":
                    try:
                        print "[*] This may take a few seconds while SET catches up..."
                        child.expect("Next line of the body:")
                        time.sleep(2)
                        child.sendline("\n")
                        child.sendcontrol('c')

                    # if the user is using pexpect < 2.3
                    except AttributeError:
                        print "[-] Error: You are running pexpect < 2.3 which is needed for this function"
                        choice=raw_input("Would you like to install it now yes or no: ")
                        if choice == "yes" or choice == "y":
                            subprocess.Popen("wget http://sourceforge.net/projects/pexpect/files/pexpect/Release%202.3/pexpect-2.3.tar.gz;tar -zxvf pexpect-2.3.tar.gz;cd pexpect-2.3;python setup.py install;cd ..;rm -rf pexpect-2*", shell=True).wait()
                            try:
                                reload(pexpect)
                                child.sendcontrol('c')
                            except: 
                                print "[*] Relaunch the Social-Engineer Toolkit for changes to apply."
                                sys.exit()
                if line != "CONTROL-C-HERE":
                    child.sendline(line)

        print "[*] Finished sending commands, interacting with the interface.." 
        child.interact()

    # sometimes pexpect can throw errors upon exit this handles them
    except OSError:
        sys.exit()

    # handle keyboardinterrupts (controlc)
    except KeyboardInterrupt:
        print "[*] Control-C detected, exiting the Social-Engineer Toolkit.."
        sys.exit()

    # handle everything else
    except Exception,e: print "[*] Something went wrong, printing error: %s" % str(e)

4

Re: скрипт SET для рассылки

SET

#!/usr/bin/python
from src.core import setcore
from src.core.menu import text
import os,subprocess,sys

#########################################
# The Social-Engineer Toolkit (SET)     #
# Written by: David Kennedy (ReL1K)     #
# Email: davek@secmaniac.com            #
#########################################

# this is the main menu structure for SET

# main menu

################################################
# ROOT CHECK
################################################

if os.geteuid() != 0:
        print "\n The Social-Engineer Toolkit (SET) - by David Kennedy (ReL1K)"
        print "\n Not running as root. \n\nExiting the Social-Engineer Toolkit (SET).\n"
        setcore.ExitSet()

setcore.check_pexpect()
setcore.check_beautifulsoup()
define_version = setcore.GetVersion()
setcore.cleanup_routine()

try:
        # Remove old Signed_Updates
        if os.path.isfile("src/program_junk/Signed_Update.jar"):
                subprocess.Popen("rm src/program_junk/Signed_Update.jar", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

        # intitial user menu
        if not os.path.isfile("src/agreement"):
                print """Copyright 2011, The Social-Engineer Toolkit (SET)
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
      in the documentation and/or other materials provided with the distribution.
    * Neither the name of Social-Engineer Toolkit nor the names of its contributors may be used to endorse or promote products derived from
      this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The above licensing was taken from the BSD licensing and is applied to Social-Engineer Toolkit as well.

Note that the Social-Engineer Toolkit is provided as is, and is a royalty free open-source application.

Feel free to modify, use, change, market, do whatever you want with it as long as you give the appropriate credit where credit
is due (which means giving the authors the credit they deserve for writing it).\n"""

                print setcore.bcolors.RED + """
The Social-Engineer Toolkit is designed purely for good and not evil. If you are planning on using this tool for malicious purposes that are 
not authorized by the company you are performing assessments for, you are violating the terms of service and license of this toolset. By hitting 
yes (only one time), you agree to the terms of service and that you will only use this tool for lawful purposes only."""
                choice = raw_input("\nDo you agree to the terms of service [y/n]: ")
                if choice == "yes" or choice == "y":
                        filewrite = file("src/agreement", "w")
                        filewrite.write("user accepted")
                        filewrite.close()
                        print setcore.bcolors.ENDC
                else: 
                        print "[!] Exiting the Social-Engineer Toolkit, have a nice day." + setcore.bcolors.ENDC
                        sys.exit()
                      
    while 1:
        setcore.show_banner(define_version,'1')
        show_main_menu = setcore.CreateMenu(text.main_text, text.main_menu)

        # special case of list item 99
        print '\n  99) Exit the Social-Engineer Toolkit\n'

        # mainc ore menu
        main_menu_choice = (raw_input(setcore.setprompt("0", "")))

        # quit out
        if main_menu_choice == 'exit' or main_menu_choice == "99" or main_menu_choice == "quit":
            setcore.ExitSet()
                        # cleans up stale processes from SET
                        try:
                                # kill anything python running on 80
                                kill_proc("80","python")
                                # kill anything on 443 ruby which is generally a rogue listener
                                kill_proc("443", "ruby")
                        except: pass
            subprocess.Popen("killall python 1> /dev/null 2> /dev/null", shell = True).wait()

        # load set
        if main_menu_choice == '1':
            try:
                reload(src.core.set)
            except:
                import src.core.set

        # load fasttrack
        if main_menu_choice == '2':
            try: reload(src.core.fasttrack)
            except: import src.core.fasttrack
    
        # third party modules
        if main_menu_choice == '3':
            try: reload(src.core.module_handler)
            except: import src.core.module_handler

        # update metasploit
        if main_menu_choice == '4':
            setcore.update_metasploit()

        # update set
        if main_menu_choice == '5':
            setcore.update_set()

        # credits
        if main_menu_choice == '6':
            setcore.help_menu()

# handle keyboard interrupts
except KeyboardInterrupt:
        print "\n\n Thank you for " + setcore.bcolors.RED+"shopping" + setcore.bcolors.ENDC+" at the Social-Engineer Toolkit.\n\n Hack the Gibson...and remember...hugs are worth more than handshakes.\n"

# handle exceptions
#except Exception, error:
 #       setcore.log(error)
  #      print "\n\n Something went wrong, printing the error: "+ str(error)

5

Re: скрипт SET для рассылки

Запуск рассылки командой:      cd /set/ && ./set-automate email/sent

6

Re: скрипт SET для рассылки

Ok, а где ошибки?

7

Re: скрипт SET для рассылки

Понимаете, я человек - несведущий, еще пока учусь работе в Линуксе.. не знаю куда посмотреть, чтоб ответить на вопрос Ваш.
Вообще после строчки (я про картинку сверху) [ * ] This may take.... должна запуститься сама рассылка.

8

Re: скрипт SET для рассылки

хм.. кажется Вам не видно картинку..

9

Re: скрипт SET для рассылки

http://s9.postimg.org/i9037s59b/image.png

10

Re: скрипт SET для рассылки

drBatty пишет

Ok, а где ошибки?

Можете что-то подсказать?

11

Re: скрипт SET для рассылки

Уважаемые Умные и Знающие!
Помогите, пожалуйста, хотя бы направьте примерно куда глядеть.
Это вопрос ЖИЗНИ и смерти!!!!!! Нужно срочно разобраться!!!!

12

Re: скрипт SET для рассылки

Похоже что-то недокачалось.

13

Re: скрипт SET для рассылки

Абсолютно точно такая же проблема. Может кто-нибудь что-нибудь подсказать?

14

Re: скрипт SET для рассылки

andrykavol пишет

еще пока учусь работе в Линуксе

andrykavol пишет

The Social-Engineer Toolkit

Не тем вещам. Хацкером с чьей-то помощью не станешь. Хакером -- тем более.