作者介绍:杨秀璋
自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授给自己的学生,帮助更多陌生人。
这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具,社会工程学中的IP物理位置定位、IP获取、收集查找,机器学习是如何运用到恶意代码攻击中的。这篇文章作者将带领大家认识Kali,事实上,Kali仍是安全专家手头的重要工具集。
Kali 是基于Debian的Linux发行版,其目的是为了设计一个实用的工具包,里面尽可能多的包含渗透和审计工具(600多个)。它最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成。目前,Kali Linux在渗透测试和白帽子方面是业界领先的Linux发行版,它把大多数做安全测试的开源工具都囊括在内,包括Nmap 、Wireshark 、John the Ripper、Sqlmap等。用户可通过硬盘、live CD或live USB运行Kali Linux。
Kali的优势包括永久开源免费、支持多种无线网卡、定制内核支持无限注入、支持手机PADARM平台、高度可定制、更新频繁涵盖最新内核和软件等。使用Kali的人员涉及渗透测试者、安全审计者、安全研究者、电子取证者、逆向工程师、黑客(白帽子、灰帽子、红帽子、黑帽子)等。提醒一句,由于Kali采用Root登录,会带来一定安全风险,它毕竟是攻击工具,而不是防御工具,学习安全的同学,还是很值得学习它的。
百度网盘:
https://pan.baidu.com/s/1dsunH8EmOB_tlHYXXguOeA 提取码:izeb
PS:这篇文章非常基础,作为小白的作者,也将继续深入学习网络安全和系统安全相关知识并分享相关实验。希望对初学者有帮助,大神请飘过,谢谢各位看官!
一.虚拟机安装
1.首先需要下载VMware虚拟机,并对其进行安装。下载地址:https://www.vmware.com/cn.html
2.选择合适的版本进行下载,作者这里安装的版本为“VMware-workstation-full-12.5.2-4638234.ext”,并且上传至百度云分享给大家。
3.双击EXE文件,开始进行安装。
4.安装完成之后输入序列号激活。
5.运行VMware软件如下图所示,接下来需要进行第二部分的Kali配置。
二.创建虚拟机并载入Kali Linux
1.去Kali官网Downloads页面下载64位Kali Linux的torrent文件,再通过迅雷下载。下载地址:https://www.kali.org/downloads/,作者百度云网盘已上传。
2.下载成功后,新建虚拟机,选择“自定义”设置。
3.导入下载好的Kali Linux镜像文件,选择操作系统为Linux。
4.输入虚拟机的名称和安装位置。
5.设置内存分配大小,建议不要超过提示的最大内存推荐。
6.接着点击下一步,包括。
7.选择磁盘容量大小,建议比分配容量大些,并设为。
8.创建完成之后,如下图所示。
三.安装Kali Linux
.1.开启虚拟机,进入安装界面,如下图所示,点击“开启此虚拟机”。
2.选择安装方式为“Graphical install”。
3.选择语言“中文简体”和地区“中国”,点击“继续”按钮安装。
4.自定义主机名,默认为“kali”,域名直接跳过即可。
5.设置用户密码,这是类似于Windows的开机密码,接着安装。
6.设置磁盘分区。
7.接着接续安装。
8.在询问是否要选择网络镜像时,如果你的网络很好可以选择是,这里我选择否。
下面这个GRUB安装至硬盘要选择“是”!
9.安装成功之后,等待系统重启即安装完成。
10.最终界面如下图所示。
Kali其他设置包括分辨率、中文输入、全屏显示等,请同学们自行百度学习。
四.Kali功能介绍
1.信息收集
2.漏洞分析
3.Web程序
4.数据库评估软件
5.密码攻击
6.无线攻击
7.逆向工程
8.漏洞利用工具集
9.嗅探/欺骗
10.权限维护
11.数字取证
12.报告工具集
13.Social Engineering Tools
打开某个软件,如下图所示。
五.Sqlmap基本用法
下面作者结合Sqlmap简单讲述一个Kali环境中的实战案例。
Web漏洞包括网站本身漏洞、软件漏洞、服务器漏洞、外部攻击等,其拿站的基本方法包括通用型、SQL注入、DDoS、XXS跨站、越权漏洞、旁站注入、CSRF跨站请求、上传漏洞、支付漏洞等。
Sqlmap 是一款非常强大的开源渗透测试工具,用于自动检测和利用SQL注入漏洞控制数据库服务器的过程。它配备了一个强大的检测引擎,由Python语言开发完成,通过外部连接访问数据库底层文件系统和操作系统,并执行命令实现渗透。
Sqlmap的基本流程如下:
找注入点并检测:sqlmap –u “链接”
列库显示数据库:sqlmap –u “链接” --dbs
列表显示表:sqlmap –u “链接” –D 数据库 --tables
列字段显示表中字段:sqlmap –u “链接” –D 数据库 –T 表名 --columns
爆内容显示字段内容:sqlmap –u “链接” –D 数据库 –T 表名 –C 字段 --dump
作者本来想以“实验吧”的CTF题目作为测试地址(http://ctf5.shiyanbar.com/8/index.php?id=1),但最近它维修中,无法访问;但使用“inurl:.asp?id=”未能搜索到目标网站。希望读者后续尝试“实验吧”的那个例子,或者自行搭建本地网站环境进行SQL注入学习。
第一步:寻找目标网站,通过浏览器“inurl:.asp?id=”搜索,寻找存在SQL注入漏洞的目标,可以先尝试手工注入判断。
判断注入点的方法很多,比如show.asp?code=115’ 加单引号,show.asp?code=115-1 减1,这里介绍一个经典的方法。
(1) http://xxxxx/show.asp?code=115’ and 1=1 – (正常显示)
对应的SQL语句:
select … from table where code=‘115’ and 1=1 – and xxxx;
单引号(’)匹配code='115,然后and连接,1=1恒成立,注释(–)掉后面语句。
(2) http://xxxxx/show.asp?code=115’ and 1=2 – (错误显示)
对应的SQL语句:
select … from table where code=‘115’ and 1=2 – and xxxx;
单引号(’)匹配code='115,然后and连接,1=2恒错误,注释(–)掉后面语句。
但很多网站都会有防火墙,防止SQL注入,如下图所示。
第二步:打开Kali环境中的Sqlmap环境,如下图所示。(后续采用之前的文章进行讲解,也希望读者自己尝试下)
第三步:获取所有数据库。
运行结果如下图所示,获取9个数据库,其中–dbs参数表示databases。
第四步:获取当前数据库。
运行结果如下图所示,获取9个数据库。其中–current-db参数表示当前数据库,相当于前文MSSQL的db_name()获取数据库字段。输出结果:akykd_new。
第五步:获取数据库当前用户。
运行结果如下图所示,获取当前数据库用户sa。
第六步:获取数据库所有用户和密码。
运行结果如下图所示,获取数据库用户和密码。
第七步:获取数据库所有表。
运行结果如下图所示,获取数据库ahykd_new的所有表,其中-D表示数据库,–tables表示所有表。 通过人为猜解,知道登录表位usr。
第八步:获取数据库登录表所有字段。
运行结果如下图所示,获取数据库ahykd_new的登录表usr所有字段,其中-D表示数据库,-T表示表,–columns表示usr表所有列。
是不是感觉到了SQLMAP的强大,其中用户名usr_name、密码passwd。
第九步:获取数据库登录表用户名和密码。
获取数据库ahykd_new的登录表usr所有字段,其中-D表示数据库,-T表示表,-C表示输出字段(usr_name、passwd),–dump输出所有值。
如果字段内容太多,可以设置输出个数,如10个用户名和密码。 参数:-D ahykd_new -T usr -C “usr_name,passwd” --start 1 --stop 10 --dump
正常的输出结果例如下图所示,再通过md5解密即可。
六.总结
又忙了16个小时,发现自己网络安全方向的基础非常薄弱,有太多实践知识想学,太多学术论文想看,每天都在忙碌,过程非常艰辛,博士哪有这么好毕业。但是这种苦中带甜,充实的滋味又让我陶醉,还有远方的女神、许多朋友和博友的陪伴。希望未来在网络态势感知、恶意代码检测、嫌疑识别和知识图谱方面能再深入点,多读文献,多找创新,加油。
天行健,君子以自强不息。
地势坤,君子以厚德载物。
最后希望基础性文章对您有所帮助,作者也是这个领域的菜鸟一枚,希望与您共同进步,共勉。