Kali概述:

Kali 一为linux操作系统的一个发行版。

Kali Linux 前身是 BackTrack(基于ubuntu),是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具。支持ARM架构。

手机的CPU  :ARM架构。  PC或PC服务器: x86 : i686(32位CPU),x86_64(64位CPU)

Kali官方网站:

https://www.kali.org/

中文

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协议

有疑问可以私信讨论,谢谢!