Kali概述:
Kali 一为linux操作系统的一个发行版。
Kali Linux 前身是 BackTrack(基于ubuntu),是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具。支持ARM架构。
手机的CPU :ARM架构。 PC或PC服务器: x86 : i686(32位CPU),x86_64(64位CPU)
Kali官方网站:
中文
http://cn.docs.kali.org/installing-kali-linux-cn/硬盘安装kali-linux
下载镜像:
https://www.kali.org/downloads/
kali和BT5关系 放一个视频
要联网,需要配置apt-get 源
安装软件包方式不一样:
kali 使用 apt-get命令来安装软件
RHEL/centos : rpm 或 yum
例:kali / ubuntu下apt-get 命令参数
常用的APT命令参数
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
其中:
1 有SUDO的表示需要管理员特权!
2 在UBUNTU中命令后面参数为短参数是用“-”引出,长参数用“--”引出
3 命令帮助信息可用man 命令的方式查看或者命令 -H(--help)方式查看
4 在MAN命令中需要退出命令帮助请按“q”键!!
实例: 配置静态IP地址
配置IP方式有两种:
1、通过命令直接配置
ifconfig eth0 IP地址
route add default gw 网关------------添加默认路由
vi /etc/resolv.conf 配置文件 添加nameserver DNS----配置DNS
但是方式只能临时修改,当服务器重启后,配置信息丢失
例:
root@localhost:~# ifconfig eth0 192.168.1.63
root@localhost:~# route add default gw 192.168.1.1
2、直接修改配置文件
Ubuntu 系统配置文件在:/etc/network/interfaces编辑配置文件:
vim /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interfaceauto eth0iface eth0 inet staticaddress 192.168.1.64gateway 192.168.1.1netmask 255.255.255.0/etc/init.d/networking restart--重启网卡;使之配置生效
配置IP地址后,需要配置DNS;具体方式如下;
sudo vi //etc/resolv.conf search chotim.comnameserver 8.8.8.8sudo /etc/init.d/networking restart--重启网卡服务即可
实战2:修改apt-get外部网络源为国内较快的源
1.更新软件源:
先备份软件源文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
修改sources.list文件:
vim /etc/apt/sources.list#在把原文件中的源替换了,添加以下较快的源:
# 163 源
deb http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy main non-free contrib
deb http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.163.com/debian-security wheezy/updates main non-free contrib
deb http://mirrors.163.com/debian-security wheezy/updates main non-free contrib
#中科大kali源
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free
#debian_wheezy国内源
deb http://ftp.sjtu.edu.cn/debian wheezy main non-free contrib
deb-src http://ftp.sjtu.edu.cn/debian wheezy main non-free contrib
deb http://ftp.sjtu.edu.cn/debian wheezy-proposed-updates main non-free contrib
deb-src http://ftp.sjtu.edu.cn/debian wheezy-proposed-updates main non-free contrib
deb http://ftp.sjtu.edu.cn/debian-security wheezy/updates main non-free contrib
deb-src http://ftp.sjtu.edu.cn/debian-security wheezy/updates main non-free contrib
#官方源
deb http://http.kali.org/kali kali main non-free contrib
deb-src http://http.kali.org/kali kali main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
#新加坡kali源
deb http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
deb-src http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
deb http://mirror.nus.edu.sg/kali/kali-security kali/updates main contrib non-free
deb-src http://mirror.nus.edu.sg/kali/kali-security kali/updates main contrib non-free
保存之后运行:
更新源并升级系统
apt-get update && apt-get dist-upgrade
注: 也可以不升级系统
2.kali-linux安装中文输入法(以下任意选择一种安装):
#拼音和五笔
apt-get install fcitx-table-wbpy ttf-wqy-microhei ttf-wqy-zenhei
#经典的ibus
apt-get install ibus ibus-pinyin
#fcitx拼音,个人推荐用这个
apt-get install fcitx fcitx-googlepinyin fcitx-pinyin fcitx-module-cloudpinyin
输入法安装完成后需要注销当前用户重新登录之后才能使用
3.kali-linux安装flash player:
apt-get install flashplugin-nonfree
update-flashplugin-nonfree --install
4.安装一些工具:
apt-get install gnome-tweak-tool #安装gnome管理软件
apt-get install synaptic #安装新立德
apt-get install file-roller #安装解压缩软件
apt-get install clementine #clementine音乐播放器
apt-get install smplayer #安装smplayer视频播放器
apt-get install terminator #安装多窗口终端
实战3:linux之kali系统ssh服务开启
默认情况下,kali系统ssh服务没有开启.
具体按如下操作进行设置:1、修改sshd_config文件,命令为:vi /etc/ssh/sshd_config 改:54 #PasswordAuthentication yes
为:PasswordAuthentication yes
在:30 #PermitRootLogin without-password之后
插入:
PermitRootLogin yes
4、启动SSH服务,
/etc/init.d/ssh start
或者
service ssh start
或:root@localhost:~# systemctl restart ssh
5、验证SSH服务状态,命令为:/etc/init.d/ssh status
实战: kali下的nmap扫描工具
nmap 命令:
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。
nmap :支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。可以探测操作系统类型。
名称:
nmap-网络探测和安全扫描工具
安装:
2、语法:
nmap [Scan Type(s)] [Options]
例:
[root@ ~]# nmap 192.168.1.63
Starting Nmap 5.21 ( http://nmap.org ) at 2015-08-16 20:38 CST
Nmap scan report for 192.168.1.63
Host is up (0.000029s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
Nmap done: 1 IP address (1 host up) scanned in 1.41 seconds
查看详细信息:-v
例1: 扫描一台机器查看,它打开的端口
[root@Desktop]# nmap -v 主机名
Starting Nmap 5.21 ( http://nmap.org ) at 2014-12-30 20:50 CST
Initiating ARP Ping Scan at 20:50
Scanning 192.168.1.64 [1 port]
Completed ARP Ping Scan at 20:50, 0.04s elapsed (1 total hosts)
Initiating SYN Stealth (隐身)Scan at 20:50
Scanning 192.168.1.64 [1000 ports]#对扫描的主机1000个端口进行扫描
Discovered open port 111/tcp on 192.168.1.64
Discovered open port 22/tcp on 192.168.1.64
Completed SYN Stealth Scan at 20:50, 1.30s elapsed (1000 total ports)
Nmap scan report for 192.168.1.64
Host is up (0.00054s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
例2: 扫描一台机器:查看此服务器开放的端口号和操作系统类型。
[root@~]# nmap -sS -O
Starting Nmap 5.21 ( http://nmap.org ) at 2014-12-30 21:04 CST
Nmap scan report for 112.124.185.97
Host is up (0.044s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
443/tcp closed https
3306/tcp open mysql
Aggressive OS guesses: Linux 2.6.28 (93%), Linux 2.6.9 - 2.6.27 (93%), Riverbed Steelhead 200 proxy server (93%), Linux 2.6.9 (93%), Linux 2.6.30 (92%), Linux 2.6.9 (CentOS 4.4) (92%), Linux 2.6.11 (90%), Linux 2.6.18 (CentOS 5.1, x86) (89%), FreeBSD 6.2-RELEASE (89%), Linux 2.6.18 (89%)
No exact OS matches for host (test conditions non-ideal).
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.45 seconds
参数说明:
-sS:
TCP同步扫描(TCP SYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上由我们的操作系统内核自动完成的。
总结:就是tcp三次握手,少发最一个ACK包。
-O: 显示出操作系统的类型。 每一种操作系统都有一个指纹。 fingerprinting.
测试自己的电脑:
[root@ ~]# nmap -sS -O 192.168.1.224
Starting Nmap 5.21 ( http://nmap.org ) at 2015-08-16 21:01 CST
Nmap scan report for localhost (192.168.1.224)
Host is up (0.00063s latency).
Not shown: 990 closed ports
PORT STATE SERVICE
135/tcp open msrpc
443/tcp open https
445/tcp open microsoft-ds
902/tcp open iss-realsecure
912/tcp open unknown
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49165/tcp open unknown#这是QQ的通信端口
MAC Address: E8:9A:8F:C8:C2:09 (Unknown)
Device type: general purpose
Running: Microsoft Windows Vista
OS details: Microsoft Windows Vista
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.98 seconds
[root@~]# nmap -sS -O 202.106.199.0/24#扫描一个网段,中所有机器是什么类型的操作系统。
实战4 :
今天所讲的内容:
MITM中间人gongji理论
实战-使用 Ettercap 工具实现中间人gongji。
中间人gongji(Man in the Middle Attack,简称“MITM gongji”)是一种间接的入侵gongji。
通过各种技术手段,将入侵者控制的一台计算机,放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
下面将介绍使用 Ettercap 工具实现中间人gongji。
如果你的主机被gongji说明什么问题呢?
主机既然被gongji,则说明在传输数据的过程中存在有loudong。
当主机之间进行通信时,通过封装数据包进而转发到目标主机上。转发的数据包中包
括源。
但是当主机在自己的缓存表中找不到目标主机的地址时,它会发送 ARP 广播,在此过程中就可能被其他gongji者冒充目标主机。
ARP欺骗原理
一般情况下,ARP 欺骗并不是使网络无法正常通信,而是通过冒充网关或其他主机使得到达网关或主机的数据流通过gongji主机进行转发。
通过转发流量可以对流量进行控制和查看,从而控制流量或得到机密信息。
当主机 A 和主机 B 之间通信时,如果主机 A 在自己的 ARP 缓存表中
没有找到主机 B 的 MAC 地址时,主机 A 将会向整个局域网中所有计算机发送 ARP 广播,
广播后整个局域网中的计算机都收到了该数据。
这时候,主机 C 响应主机 A,说我是主机B,我的 MAC 地址是 XX-XX-XX-XX-XX-XX,主机 A 收到地址后就会重新更新自己的缓冲表。
当主机 A 再次与主机 B 通信时,该数据将被转发到gongji主机(主机 C)上,则该数
据流会经过主机 C 转发到主机 B。
. 中间人gongji
实现中间人gongji分为两个阶段。第一是通过某种手段去gongji一台计算机;第二是欺骗主机。
第一步
在该阶段主机 B 通过 ARP 注入gongji的方法以实现 ARP 欺骗,通过 ARP 欺骗的方法
控制主机 A 与其他主机间的流量及机密信息。
第二步
在第一个阶段gongji成功后,主机 B 就可以在这个网络中使用中间人的身份,转发或查
看主机 A 和其他主机间的数据流
(1)在这个局域网中当主机 A 向主机 C 发送请求,此时该数据将被发送到主机 B 上。
(2)主机 A 发送给主机 C 的数据流将会经主机 B 转发到主机 C 上。
(3)主机 C 收到数据以为是主机 A 直接发送的。此时主机 C 将响应主机A 的请求,
同样的该数据流将会被主机 B 转发到主机 A 上。
(4)主机 A 收到响应后,将登录主机 C。这样主机 A 登录时的用户名及密码,将会被
主机 B 查看到。
实战-使用 Ettercap 工具实现中间人gongji。
实验主机
192.168.1.62
192.168.1.63
kali-Linux 192.168.192.159
安装ftp服务
添加一个系统用户:mk 密码: 123456 用于后期登录ftp
[root@ ~]# useradd mk
[root@~]# echo 123456 | passwd --stdin mk
安装ftp客户端工具
kali-linux 配置
初始化ettercap
选择Sniff 抓包
开始抓包
选择网卡
选择主机à 开始扫描主机
生成主机列表
点开主机列表
查看被扫描的主机
[root@~]# ftp 192.18.1.62
Connected to 192.18.1.62 (192.18.1.62).
220 (vsFTPd 2.2.2)
Name (192.18.1.62:root): mk#这个名字可以随意写
331 Please specify the password.
Password:123456
530 Login incorrect.
Login failed.
ftp>
此时,当登录 192.168.1.62主机的mk和123456相关的敏感信息将会被传递给gongji者。
登录kali查看:
从该界面可以看到,有用户登录 192.168.1.62主机的
其用户名为 mk,密码为
获取这些信息后停止嗅探,在菜单栏中依次单击
停止嗅探后,还需要停止中间人gongji。在菜单栏中依次单击 Mitm|Stop mitm
attack(s)命令。
扩展:
手机app 使用http协议 加密了吗? 没有 这样用户名和密码 可以在局域网中被抓到
解决方法:
所有手机app 软件通信都应该使用https协议
有疑问可以私信讨论,谢谢!