目录
第一章 渗透测试概述
1.1 什么是渗透测试
1.1.1 黑盒测试
黑盒测试(Black-box Testing)也称为外部测试(External Testing)。采用这种方式,测试者将从一个远程网络位置评估目标网络基础设施,并没有任何目标网络内部拓扑等相关信息。完全模拟真实网络环境中的外部攻击者,采用流行技术与工具有组织、有步骤的对目标组织进行渗透和入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞能否被利用。
优点:有利于挖掘出系统潜在的漏洞,以及脆弱环节和薄弱点。
缺点:测试较为费时和费力,同时需要渗透测试者具备较高的技术能力。
1.1.2 白盒测试
白盒测试(White-box Testing)也称为内部测试(Internal Testing)。采用这种方式,测试者可以了解到关于目标环境的所有内部和底层信息,这可以让渗透测试人员以最小的代价发现和验证系统中最严重的漏洞。白盒测试的实验流程与黑盒测试类似,但是不需要进行目标定位和情报收集。测试人员可以通过正常渠道从被测试机构获取各种资料(网络拓扑、员工资料、网站程序代码片段),也可以与员工面对面沟通。
优点:发现和解决问题所花费的时间和代价要比黑盒测试少很多。
缺点:无法有效的测试客户组织的应急响应程序,也无法判断出他们的安全防护计划对特定攻击的检测效率
1.1.3 灰盒测试
灰盒测试(Grey-box Testing)是白盒测试和黑盒测试基本类型的组合,提供对目标系统更加全面和深入的安全审查。测试者需要从外部逐步渗透进目标网络,选择更好的选择攻击途径与方法,从而达到更好的渗透测试效果。
1.2 渗透测试流程
渗透测试的工作流程:
-
前期交互 进行渗透测试前,测试者需要与渗透测试目标、渗透测试范围、渗透测试方式、服务合同等细节进行商议,以达成一致协议。是之后进行渗透测试的基础与关键。
-
信息收集 渗透测试者需要使用各种公开的资源尽可能地获取与测试目标相关的信息。可以借助互联网进行信息收集,如官网、论坛、博客等。同时,也可以借助各大搜索引擎来获取相关信息(Baidu、Google),还可以借助Kali Linux的工具来对DNS信息、注册人信息、服务信息、WAF信息等进行收集,这个阶段收集的信息越充分,对之后的测试越成功。
-
漏洞扫描 当渗透测试者收集到足够的信息,就可以对目标实施漏洞扫描了。测试者通过网络对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举出目标系统上存在的漏洞。
-
漏洞利用 当测试者探测到目标主机存在漏洞之后就可以通过已有的漏洞利用程序对目标进行渗透。一般情况下,测试者需要考虑到目标系统的环境对漏洞利用程序进行修改和额外的研究,否则无法进行工作。同时,在该阶段也要考虑到对目标系统的安全机制的逃逸,从而避免让目标系统发现。
-
编写报告 完成渗透测试后,需要对此次渗透测试编写测试报告。在报告中需要包括获取到的各种有价值的信息,以及探测和挖掘出来的安全漏洞、成功攻击过程及对业务造成的影响和后果分析等。同时,还要明确写出目标系统中存在的漏洞及漏洞的修补方法。
1.3 Kali Linux系统概述
Kali Linux是一个基于Debian的Linux发行版,包括很多安全和取证方面的相关工具。
1.3.1 为什么使用Kali Linux
1.工具仓库
信息收集 工具集 | 嗅探欺骗 工具集 | 密码攻击 工具集 | 漏洞分析 工具集 | 漏洞利用 工具集 | 无限渗透 工具集 |
---|---|---|---|---|---|
DNSRecon | EtterCap | Crunch | SQLmap | Msfconsole | Aircrack-ng |
Dnsenum | driftnet | CeWL | sqlsus | BeFF | Fern WiFi Cracker |
DotDotPwn | dsniff | Hash-Identifier | Sqlninja | SQLmap | Wifite |
parsero | ferret-sidjack | findmyhash | BBQSQL | RouterSploit | Reaver |
Maltego | 0trace | RainbowCrack | jSQL | Yersinia | Bully |
Amap | HexInject | John | Oscanner | Social-Engineer Toolkit | PixieWPS |
Fping | prettypacket | Ncrack | SidGuesser | exploitdb | Kismet |
Sparta | hex2raw | THC-Hydra | Doona | sandi | Cowpatty |
Hping3 | tcpreplay | Patator | Lynis | shellnood | MDK3 |
Ghost Phisher | Wafw00f | Medusa | Powerfuzzer | Backdoor Factory | Wifi Honey |
Nmap | DNSChef | acccheck | Yersinia | sandi | Pyrit |
2.不断更新
Kali Linux更新速度快,大约每三个月会更新一次
1.3.2 Kali Linux发展史
1.前身BackTrack Linux
是一套专业的计算机安全检测Linux操作系统。集成了包括Metasploit等200多种安全渗透工具。
2.历史版本
Kali Linux从发布至今共有4个版本代号,分别是moto、kali、sana和kali-rolling。
Kali 2019.2 - 2019年5月21日 - 2019年第二次Kali Rolling发布。内核4.19.28,GNOME 3.30.2
Kali 2019.1a - 2019年3月4日 - 次要BugFix版本(VMware Installer)。
Kali 2019.1 - 2019年2月18日 - 第一个2019年Kali Rolling发行。内核4.19.13,GNOME 3.30.2
Kali 2018.4 - 2018年10月29日 - 第2018年Kali Rolling发布。内核4.18.0,GNOME 3.30.1
Kali 2018.3 - 2018年8月27日 - 第2018年Kali Rolling第三次发布。内核4.17.0,GNOME 3.28.2
Kali 2018.2 - 2018年4月30日 - 第二次2018年Kali Rolling发行。内核4.15.0,GNOME 3.28.0
Kali 2018.1 - 2018年2月6日 - 第2018年Kali Rolling发布。内核4.14.12,GNOME 3.26.2
Kali 2017.3 - 2017年11月21日 - 2017年第三届Kali Rolling发布。内核4.13,GNOME 3.26
Kali 2017.2 - 2017年9月20日 - 2017年第二届Kali Rolling发布。内核4.12,GNOME 3.25。
Kali 2017.1 - 2017年4月25日 - 2017年第一次Kali Rolling发布。内核4.9,GNOME 3.22。
Kali 2016.2 - 2016年8月31日 - 第二次Kali Rolling发行。内核4.6,GNOME 3.20.2。
Kali 2016.1 - 2016年1月21日 - 第一次Kali Rolling发布。内核4.3,GNOME 3.18。
Kali 2.0 - 2015年8月11日 - 主要版本,“safi”,现在是一个滚动发行版,主要UI更改。
Kali 1.1.0a - 2015年3月13日 - 没有大张旗鼓发布修复安装程序内核ABI不一致的问题。
Kali 1.1.0 - 2015年2 月9日 - 2年内首次发布。新内核,新工具和更新。
Kali 1.0.9a - 2014年10月6日 - 安全BugFix版本,涵盖shellshock和Debian apt漏洞。
Kali 1.0.9 - 2014年8月25日 - BugFix发布包括安装程序和一组工具更新和软件包修复。
Kali 1.0.8 - 2014年7月22日 - EFI支持我们的“完整”ISO和一系列工具更新和软件包修复。
Kali 1.0.7 - 2014年5月27日 - 内核3.14,工具更新,软件包修复,Kali Live加密USB持久性。
Kali 1.0.6 - 2014年1月9日 - 内核3.12,cryptsetup nuke选项,Amazon AMI,ARM构建脚本。
Kali 1.0.5 - 2013年9月5日 - BugFix汇总。LVM加密安装,软件定义无线电(SDR)工具。
Kali 1.0.4 - 2013年7月25日 - BugFix汇总。渗透测试工具的添加和更新。
Kali 1.0.3 - 2013年4月26日 - BugFix汇总。新的辅助功能。添加实时桌面安装程序
Kali 1.0.2 - 2013年3月27日 - 次要BugFix发布和更新汇总。
Kali 1.0.1 - 2013年3月14日 - 小型BugFix版本(USB键盘)。
Kali 1.0.0 - 2013年3月13日 - 首次发布,“moto”。
3.当前版本
Kali 2019.3 - 2019年9月2日 - 第2019年Kali Rolling发布。内核5.2.9,GNOME 3.30.2
1.4 法律边界
1.4.1 获取合法权限
以下列举几条与渗透测试相关的法律条文: (1)违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。 (2)违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。 (3)提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。 (4)违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。 (5)故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。
1.4.2 部分操作的危害性
渗透测试者在渗透测试前必须要以正式的方式告诉目标主机所有者渗透测试可能造成的影响,并要求对方确认。
(1)占用系统资源 渗透测试过程中,部分操作会占用大量的系统资源。DOS攻击、暴力破解操作、网络端口扫描等。
(2)留下后门 渗透测试在利用漏洞实施攻击后,可能会留下后面,需要及时清理后门,以免被他人利用。
第二章 安装Kali Linux系统
2.1 下载镜像
2.1.1 获取镜像
1.镜像种类
(1)稳定版:经过完整测试,使用更稳定。
(2)周更新版:包含的工具为最新版本,但测试不充分,存在一定的不稳定性。
2.位数区别
(1)i386:32位架构。
(2)amd64:64位架构。
3.桌面类型
(1)GNOME(推荐)
(2)E17
(3)KDE
(4)MATE
(5)XFCE
(6)LXDE
4.下载镜像
可以直接去官网下载链接
Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
下载中间的稳定版,下载好之后他在文件夹显示的文件是:
是压缩文件没问题,这个就可以直接用了
ISO:ISO文件其实就是光盘的镜像文件,刻录软件可以直接把ISO文件刻录成可安装的系统光盘,ISO文件一般以iso为扩展名
2.1.2 校验镜像
下载过程中有可能出现文件损坏,用户可以使用校验工具进行校验。然后对比校验获取的值和镜像文件提供的值是否相同。
1. win+R打开对话框,输入cmd命令回车,打开命令行窗口。
-
输入命令certutil -hashfile D:\vm\镜像\kali-linux-2021.3a-installer-amd64.iso sha256
-
查看与官方hash值是否相等
网址为【mirrors.neusoft.edu.cn/kali-images/kali-2021.3/SHA256SUMS】
-
对比文件的校验值
2.2 虚拟机安装
2.2.1 获取VMware软件
官方网站:【下载 VMware Workstation Pro | CN】
2.2.2 安装VMware
由于本人已经下载安装完,所以放两个我对着下载安装的博客。
VMware的安装教程参考下方博客:
VM虚拟机下载及安装教程糯米-CSDN博客vmware下载及安装步骤
Kali Linux安装教程参考下方博客:
kali linux虚拟机镜像的安装saqbanban的博客-CSDN博客kali linux 镜像
2.3 实体机安装
电脑太垃圾,没进行这一步,放个链接:
windows 10下安装kali linux 双系统教程Cyanogen_dom的博客-CSDN博客windows安装kali双系统
第三章 配置Kali Linux
3.1 认识Kali Linux
3.1.1 命令菜单
在Kali Linux中提供了大量的渗透测试工具。如信息收集、漏洞分析、Web程序等。
3.1.2 “文件”工具
树状目录结构:
以下是对这些目录的解释:
-
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
-
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
-
/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
-
/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
-
/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
-
/media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
-
/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
-
/opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
-
/proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。
-
/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
-
/selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
-
/srv: 该目录存放一些服务启动之后需要提取的数据。
-
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
-
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
-
/usr/bin: 系统用户使用的应用程序。
-
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
-
/usr/src: 内核源代码默认的放置目录。
-
/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
-
/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
3.1.3 终端
1.打开终端
2.查看目录
3.切换目录
cd 命令切换到/etc目录,并使用pwd查看当前工作目录。
4.编辑文件
执行命令后,便可以打开source.list文件的编辑界面。
3.2 配置网络
3.2.1 配置无线网络
设置VMware8的地址
右键属性。
查看IP地址
设置VMware网络
在Kali Linux上输入ifconfig查看IP
输入vim /etc/network/interfaces修改文件
在终端下,输入:/etc/init.d/networking restart 回车,进行重启网卡
在终端下,输入 update-rc.d networking defaults 回车,设置设置系统启动后自动启用网卡
3.3 配置软件源
3.3.1 什么是软件源
-
软件源的作用 通过配置软件源,可以提高安装软件的效率,,而且非常方便。配置软件源后,安装软件时将自动到软件源仓库中下载。
-
软件源的格式
deb 下载地址 版本代号 限定词 deb Index of /kali kali-rolling main non-free contrib 第一部分:代表软件包的位置 第二部分:代表软件下载地址 第三部分:表示Kali的版本号 第四部分:所有目录中都包含的三个目录
3.3.2 添加软件源
-
官方软件源(稳定但是速度比较慢)
deb http://http.kali.org/kali kali-rolling main non-free contrib
-
常用的第三方软件源
-
东软Kali Linux源
deb http://mirrors.neusoft.edu.cn/kali kali-rolling main non-free contrib
-
阿里云Kali Linux源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
-
中科大Kali Linux源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
-
清华Kali Linux源
deb http://mirrors.tuna.tsinghua.edu.cn/kali/ kali-rolling main non-free contrib
-
-
HTTP和HTTPS方式的选择 安全起见,这些软件源都支持HTTPS协议。将URL地址的http改为https即可。
-
deb-src软件源 部分软件没有二进制包,只提供源代码。对于这类软件,必须添加deb-src的软件源。如
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
3.3.3 更新软件源/系统
更新软件源。执行命令如下
(root💀kali)-[~]# apt-get update
更新操作系统。执行命令如下
(root💀kali)-[~]# apt-get dist-upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
正在计算更新... 完成
下列软件包是自动安装的并且现在不需要了:
fastjar gnome-desktop3-data jarwrapper libaom0 libcbor0 libcodec2-0.9
libdap27 libdapclient6v5 libdav1d4 libepsilon1 libfluidsynth2 libgdal28
libgdk-pixbuf-xlib-2.0-0 libgdk-pixbuf2.0-0 libgeos-3.9.1
libgnome-desktop-3-19 libgupnp-1.2-0 libidn11 libnetcdf18 libntfs-3g883
libodbc1 libodbccr2 libomp-11-dev libomp5-11 libproj19 liburcu6 liburing1
libwireshark14 libwiretap11 libwsutil12 libx265-192 libxkbregistry0
libyara4 maltego odbcinst odbcinst1debian2 python-is-python2
python3-editor python3-exif python3-ipython-genutils python3-orjson
python3-pylnk python3-stem ruby-atomic ruby-thread-safe starkiller
zaproxy
使用'apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
libsemanage1
下列【新】软件包将被安装:
cpp-11 cryptsetup-initramfs dbus-bin dbus-daemon dbus-session-bus-common
dbus-system-bus-common g++-11 gcc-11 gcc-11-base ghostscript gsfonts
icu-devtools imagemagick-6-common kali-linux-firmware libaom3 libcbor0.8
libcodec2-1.0 libcommon-sense-perl libdav1d5 libdecor-0-0
libdecor-0-plugin-1-cairo libffi8 libfftw3-single3 libfluidsynth3
.......
下列软件包将被升级:
acl adwaita-icon-theme alsa-topology-conf amass amass-common apache2
apache2-bin apache2-data apache2-utils apparmor apt apt-utils aspell
at-spi2-core atftpd attr base-files base-passwd bash bash-completion
bind9-dnsutils bind9-host bind9-libs binutils binutils-common
binutils-x86-64-linux-gnu binwalk blueman bluez bluez-firmware
bluez-hcidump bluez-obexd bsdextrautils bsdutils bulk-extractor bundler
burpsuite busybox bzip2 catfish cherrytree clang-11 commix console-setup
console-setup-linux coreutils cpp cpp-10 crackmapexec creddump7
cryptsetup cryptsetup-bin curl cython3 dash dbus dbus-user-session
dbus-x11 dconf-gsettings-backend dconf-service dcraw debconf debconf-i18n
xtightvncviewer xvfb xxd zaproxy zenity zenity-common zsh zsh-common
.......
升级了 975 个软件包,新安装了 115 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
需要下载 2,039 MB 的归档。
解压缩后会消耗 955 MB 的额外空间。
您希望继续执行吗? [Y/n] y
3.4 安装软件源的软件
3.4.1 确认软件包名
-
什么是软件包 软件包是指具有特定的功能,用来完成指定任务的一个程序或一组程序。软件包由一个基本组件和若干个可选部件组成。软件包主要有两种形式,分别是二进制包和源码包。其中最常见的二进制包格式为deb(Debian系列)和rpm(Red Hat系列),源码包的格式为tar.gz、tar.bz2和zip。
-
根据关键字搜软件包 用户可以用apt-cache命令根据关键字搜索关键包。命令语法格式如下:
apt-cache search [package_name]
-
根据命令搜软件包 Kali Linux提供了一个工具apt-file,可以根据命令搜索软件包
默认是没有这个工具的,所以需要自己下载 apt-get install apt-file 执行后若没有报错,则安装成功。搜索语法格式如下 apt-file search [pattern] 例如:apt-file search arpspoof 可以查看到arpspoof工具对应的软件包名为dsniff
-
查看软件包结构
使用apt-file 命令可以查看软件包结构。语法格式如下 apt-file list [pattern]
3.4.2 安装/更新软件
-
安装软件 Kali Linux中,主要使用apt-get install命令来安装软件源中的软件。命令语法格式如下
apt-get install [packet_name] 例如安装金山词霸,Kali Linux软件源中提供了该字典框架 apt-get install qstardict stardict-* 执行命令后,如果安装成功。此时将其他翻译工具的词库文件(.dict.dz、.dix、.ifo.syn)复制到/usr/share/stardict/dic目录下,就可以使用该工具。
-
更新软件 用户可以通过重新安装软件的方式对软件进行更新
例如,更新wpscan,执行命令如下 apt-get install wpscan 如果想要更新所有软件,执行命令如下 apt-get upgrade
3.4.3 移除软件
当用户不需要某个软件时,可以将其删除
仅删除软件包 apt-get remove [package_name] 卸载并清除软件包的配置 apt-get purge [package_name]
3.4.4 安装虚拟机增强工具
open-vm-tools是针对VMware虚拟机的一种增强工具。只有在VMware中安装好了open-vm-tools工具,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽功能,鼠标也可以自由移动。执行命令如下
apt-get install open-vm-tools-desktop fuse
3.4.5 使用VMware共享文件夹
-
VMware设置共享目录
-
使用vmware-hgfsclient命令查看共享的文件夹
root@kali:/mnt/hgfs# vmware-hgfsclient share 显示我的共享文件夹是kali_share
-
使用vmhgfs-fuse命令挂载共享文件夹
root@kali:~# vmhgfs-fuse .host:/share /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
如果没有其他显示报错,就可以认为挂载成功了。
注意:我的/mnt文件夹下的hgfs是自己创建的,如果没有,可以用mkdir /mnt/hgfs命令创建。
-
查看是否挂载成功
直接用ls命令查看 root@kali:/# ls /mnt/hgfs 1.txt
显示挂载的共享文件已经有我在win10放入的1.txt,表示成功挂载。
-
直接把挂载放入启动文件
首先,备份/etc/fstab文件 root@kali:/etc# cp fstab fstab_bak 其次,编辑fstab root@kali:/etc# vim fstab 在最后一句添加 # mount hgfs .host:/share /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0 然后就能够不用每次重启挂载一遍。
3.5 安装第三方软件
Kali Linux系统默认安装了大量渗透测试软件。但是有一些渗透测试工具没有安装(比如Nessus),需要从第三方下载并且安装。通常情况下,从第三方获取到的软件包格式有.deb、tar.gz、zip和rar等。
3.5.1 安装二进制文件
二进制包里面包含已经编译、马上可以运行的程序。所以用户只需要将其下载和解包以后就可以使用。在Linux系统中,二进制软件包括RPM和DEB两种格式。其中RPM是基于Red Hat的Linux发行版的包管理器,后缀名为.rpm。DEB是基于Debian的包管理器,后缀名为.deb。Kali Linux是基于Debian的。以下载Nessus为例:
-
在官网找到二进制包。地址为Download Nessus | Tenable®
-
安装Nessus工具 执行命令如下:
dpkg -i Nessus-10.0.2-debian6_amd64.deb
正在选中未选择的软件包 nessus。
(正在读取数据库 ... 系统当前共安装有 284888 个文件和目录。)
准备解压 Nessus-10.0.2-debian6_amd64.deb ...
正在解压 nessus (10.0.2) ...
正在设置 nessus (10.0.2) ...
Unpacking Nessus Scanner Core Components...
- You can start Nessus Scanner by typing /bin/systemctl start nessusd.service
- Then go to https://kali:8834/ to configure your scanner
执行命令前应提前进入下载目录文件路径下。否则会报错。
3.5.2 安装源码包
源代码包里面包含程序原始的程序代码,需要用户进行编译后才可以产生可以运行的程序。在Linux中,最常见的源码包格式为tar.gz和.tar.bz2。
如果要安装tar.gz和.tar.bz2格式的源码包,需要先使用tar命令进行解压,然后进行配置、编译及安装。
解压tar.gz源码包的语法格式如下:
tar zxvf 源码包文件名 [-C 目标目录]
解压tar.bz2源码包的语法格式如下:
tar jxvf 源码包文件名 [-C 目标目录]
3.5.3 安装源码共享式
通常情况下,一些被选中的源码包都是使用.zip格式压缩的。如果要安装.zip格式的源码包,必须先进行解压,然后执行对应的可执行脚本即可安装对应的软件。语法格式如下:
unzip 源码包文件名 -d [path]
3.5.4 安装Windows软件
Windows软件常见的软件格式就是.exe。对于这类工具,运行时需要借助wine或wine64工具。其中wine用来运行Windows32位架构的软件包。wine64用来运行64位架构的软件包。
使用wine工具安装.exe软件的语法格式如下:
wine .exe 文件名
3.6 执行软件
当用户将软件安装成功后,就可以启动软件对应的工具。其中一些软件是通过命令或图形界面方式来启动,还有一些软件是可执行脚本。
3.6.1 普通软件
一般情况下,启动普通软件的方式就是命令行和图形化界面。另外,Kali Linux提供了Alt+F2快捷键:
-
图形界面方式 图形界面方式就是通过菜单命令来启动。以Wireshark软件为例
-
命令行方式 通过终端执行,以Metasploit框架为例。
-
命令行提示符 使用Alt+F2启动命令行提示符,输入启动软件的命令。以DirBuster为例
3.6.2 执行脚本
一些软件在安装后是需要通过脚本方式方式来启动的。其中,最常见的可执行脚本有Python、Ruby、Perl、Shell等。
-
执行Ruby脚本 执行Ruby脚本时,可能会缺少Ruby库文件。可以使用gem install命令安装对应的库。
gem install [软件包]
然后使用ruby命令执行脚本
ruby hello.rb
-
执行Python脚本 执行Python脚本时,可能会出现缺少依赖包情况。可以使用pip install命令安装对应的依赖包。例如impacket 0.9.11,命令如下
pip install impacket==0.9.11 Successfully installed impacket-0.9.11 即安装成功
某些依赖包需要使用pip3命令,需要先进行下载
apt-get install python3-pip pip3 install scapy-python3 python-nmap netifaces
-
执行Perl脚本 可能会遇见缺少Perl模块的问题,需要使用cpan命令安装。例如使用第三方工具7z2hashcat需要Compress::Raw::Lzma组件。cpan工具包含在perl-doc软件包中,所以要先安装perl-doc包。(执行前先下载7z2hashcat工具)
apt-get install perl-doc
出现这种情况使用install Term::ReadLine::Perl命令
然后执行以下命令,install Compress::Raw::Lzma
-
执行Shell脚本 比较简单,只需要添加权限即可。
添加可执行权限 chmod + x test.sh 执行脚本 ./test.sh || sh test.sh
3.7 安装驱动
安装驱动存在风险,安装前建议备份重要数据(只显示默认(●'◡'●))
3.7.1 查看设备
在安装驱动前,使用lsusb和lspci命令查看USB或PCI设备的详细信息,以确定是否正确驱动。如果成功启动,则需要安装驱动
-
查看USB设备 lsusb -v查看详细信息
-
查看PCI设备 lspci -v查看详细信息
-
虚拟机使用USB设备 当用户实施无线渗透测试时,必须使用无线网卡。但是一般情况下系统内置的无线网卡芯片不支持无限监听。必须使用USB接口的无线网卡来实现。如果是物理机,直接将USB设备插入主机中即可,若是虚拟机,需要手动连接。此外必须启动虚拟机的USB服务。
先写这么多,剩下的不定时更新