Tråd bedømmelse:
  • 0 Stemmer - 0 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Python projekt
19-07-2015, 15:42 (Denne besked var sidst ændret: 19-07-2015, 20:43 af TrueStory.)
#1
Python projekt
Fik bevæget mig ud i et python projekt, og har nu brug for noget hjælp fra jer de lidt mere erfarne herinde Happy

kunne jeg lokke jer gutter til at kigge mit lille program igennem? Det ville være fantastisk.

Er ikke den bedste til det her, men har prøvet mig frem Devil

Kode:
#!/usr/bin/env python

import sys
import socket
import getopt
import threading
import subprocess

# Her er der bare defineret nogle globale variabler
listen = False
command = False
upload = False
execute = ""
target = ""
upload_destination = ""
port = 0


def usage():
    print 'Fetchr'
    print
    print "Usage: bhpnet.py -t target_host -p port"
    print "-l --listen              - listen on [host]:[port] for - incoming connections"
    print "-e --execute=file_to_run - execute the given file upon - receiving a connection"
    print "-c --command             - initialize a command shell"
    print "-u --upload=destination  - upon receiving connection upload a - file and write to [destination]"
    print
    print
    print "Examples: "
    print "bhpnet.py -t 192.168.0.1 -p 5555 -l -c"
    print "bhpnet.py -t 192.168.0.1 -p 5555 -l -u=c:\\target.exe"
    print "bhpnet.py -t 192.168.0.1 -p 5555 -l -e=\"cat /etc/passwd\""
    print "echo 'ABCDEFGHI' | ./bhpnet.py -t 192.168.11.12 -p 135"
    
sys.exit(0)

def client_sender(buffer):
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    try:
        client.connect((target, port))
        if len(buffer):
            client.send(buffer)
        while recv_len:
            data = client.recv(4096)
            recv_len = len(data)
            repsonse += data
            if recv_len < 4096:
                break
                print response,

        buffer = raw_input("")
        buffer += "\n"

        client.send(buffer)
    except:
        print "[*] Exeption! Exiting."
    client.close()

def client_handler(client_socket):
    global upload
    global execute
    global command

# Checker for upload
    if len(upload_destination):
        file_buffer = ""

    while true:
        data = client_socket.recv(1024)
        if not data:
            break
        else:
            file_buffer += data

    try:
        file_descriptor = open(upload_destination,"wb")
        file_descriptor.write(file_buffer)
        file_descriptor.close()

        client_socket.send("Successfully saved file to %s\r\n" % upload_destination)
    except:
        client_socket.send("Failed to save file to %s\r\n" % upload_destination)

    if len(execute):
        output = run_command(execute)
        client_socket.send(output)

while True:
    client_socket.send("<BHP:#> ")
    while "\n" not in cmd_buffer:
        cmd_buffer += client_socket.recv(1024)
        response = run_command(cmd_buffer)
        client_socket.send(response)


def main():
    global listen
    global port
    global execute
    global command
    global upload_destination
    global target

    if not len(sys.argv[1:]):
        usage()
    # kommando optioner
    try:
        opts, args = getopt.getopt(sys.argv[1:], "hle:t:p:cu:",
                               - ["help", "listen", "execute", "target", "port", "command", "upload"])
    except getopt.getoptError as err:
        print str(err)
        usage()

for o,a in opts:
    if o in ("-h", "--help"):
        usage()
    elif o in ("-l", "--listen"):
        listen = True
    elif o in ("-p", "--port"):
        port = int(a)
    elif o in ("-e", "--execute"):
        execute = a
    elif o in ("-c", "--command"):
        command = True
    elif o in ("-t", "--target"):
        target = a
    elif o in ("-u", "--upload"):
        upload_destination = a
    else:
        assert False, "Unhandled option"

# Vi skal lytte eller sende data?
if not listen and len(target) and port > 0:
    # bufferen fra command line
    buffer = sys.stdin.read()
    client.sender(buffer)
    if listen:
        server.loop()
main()
Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-07-2015, 16:05
#2
RE: Python projekt
Tager en kigger på det senere :)
Methaqualon 4 life
Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-07-2015, 16:12
#3
RE: Python projekt
Virker det med nedenstående? :)
#! usr/bin/python

Jeg ville nok bruge:
#!/usr/bin/python
eller
#!/usr/bin/env python
Ikke at det gør den store forskel, men den nederste er nok at foretrække.
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-07-2015, 16:46
#4
RE: Python projekt
(19-07-2015, 16:12)iTick Skrev: Virker det med nedenstående? :)
#! usr/bin/python

Jeg ville nok bruge:
#!/usr/bin/python
eller
#!/usr/bin/env python
Ikke at det gør den store forskel, men den nederste er nok at foretrække.

Så er det ændret Happy (Y)
Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)