一、扫描爆破概述
1.windows与kali
-
在kali上有些扫描与爆破软件都是内置的,而且都是一些老牌软件,很稳定,以后会系统学习
-
windows上也有相关的扫描与爆破软件,虽然稳定性不高,但是可以简单的使用。这篇主要讲述windows实现渗透
2.扫描与爆破技术基础知识
1)扫描的目的
- 主机探测与端口扫描:收集目标IP地址,有哪些主机存活在局域网中,寻找在线主机所开放的端口,并且在端口上所运行的服务。甚至可以进一步确定目标主机操作系统类型和更详细的信息
2)扫描和爆破王牌软件代表
-
王牌扫描软件:Nmap
在kali系统是内置的稳定性好,windows的稳定性差一些
-
经典老牌爆破软件:Hydra(九头蛇)
只要通过网络连接别人,弹框需要输入账号密码,就可以用这款软件爆破。在kali上也是内置的。windows上会出现闪退
3.实验环境搭建–攻击方和靶机
- 真实机与虚拟机接到同一虚拟交换机上
-
以前学过将虚拟机桥接到Vmnet0,就相当于用某种技术连接了真实机所连接的网络上。但是现在我们要将真实机连接到虚拟网络中,比如连接到Vmnet1,那么就要启用我们真实机的虚拟网卡
-
只要开启这两个网卡其中一个,那么真实机会开启一个虚拟网卡,连接到虚拟机交换机上Vmnet1或Vmnet8上,如果再将虚拟机也连接到Vmnet1或Vmnet8上,就实现了真实机和虚拟机在同一虚拟局域网中
也可以重新配置其他的Vmnetxxx,但是很麻烦。1和8是安装VMware软件后自带的虚拟网卡,直接用就可以
-
给连接到vmnet1的虚拟机配置IP,再给真实机的vmnet1网卡配置IP,IP地址需要在同一网段
-
此时真实机的信息既可以从真实网卡出去传给真实交换机,与真实世界通信;也可以从虚拟网卡出去,与虚拟机通信
-
二、常见的服务端口号
FTP(文件传输) | 21 | HTTPS(加密传输) | 443 |
---|---|---|---|
SSH(远程登录) | 22 | SMB(文件共享) | 445 |
Telnet(远程登录) | 23 | SQL Server(数据库) | 1433 |
SMTP(邮件传输) | 25 | Oracle(数据库) | 1521 |
DNS(域名解析) | 53 | MySQL(数据库) | 3306 |
DHCP(动态主机配置) | 67/68 | RDP(远程桌面) | 3389 |
HTTP(超文本传输) | 80 |
三、Nmap-扫描器之王
1.常用的重要参数
-sP | ping 扫描(可以ping整个网段),得到网段中在线主机 |
---|---|
-p | 指定端口范围,扫描指定端口号是否开启 |
-sV | 探测端口对应的服务软件版本 |
-O(大写) | 探测操作系统及版本和所有开放端口号 |
-A | 全面扫描 |
-oN | 把扫描出来的信息保存到记事本里,生成扫描报告 |
2.具体说明命令使用
在windows上下载好nmap软件,打开cmd,输入下述命令即可扫描。注意:区分大小写
1)nmap -sP
nmap -sP 105.0.1.0/24 #表示扫描105.0.1.0这个网段的IP地址
nmap -sP 10.1.1.2/16 #表示扫描10.1.0.0这个网段的IP地址(/16表名了子网掩码,所以后面的数字没用)
![image-20211026121537886](https://i-blog.csdnimg.cn/blog_migrate/ccbfe3b3fc2af3f7e8f1ae1c009e598f.png)
2)nmap -O
nmap -O 10.1.1.1 #表示扫描10.1.1.1主机的操作系统版本以及开放的端口号
![image-20211026122910862](https://i-blog.csdnimg.cn/blog_migrate/bb682ed5d188a08ac22abb2c0067a2ae.png)
3)nmap -p
nmap -p 21,23-25,80 10.1.1.1 #扫描10.1.1.1主机上是否开放21,23到25,80端口号
![image-20211026123044356](https://i-blog.csdnimg.cn/blog_migrate/3b72c902ac9e8f8257980b2e83fde9b4.png)
4)nmap -p -sV
nmap -p 21,23 10.1.1.1 -sV #扫描10.1.1.1主机上21,23端口是否开放,且如果开放,扫描端口对应服务是用什么公司的软件搭建的,比如21端口服务是微软的IIS软件提供的,还是linux的相关软件提供的
![image-20211026123603855](https://i-blog.csdnimg.cn/blog_migrate/b0e13550c85715e4dd6f4fd6c540313f.png)
5)nmap -A
nmap -A 10.1.1.1 #全面扫描:
windows上这条指令执行非常慢,未得到结果
6)nmap … -oN
nmap -O 10.1.1.1 -oN d:\report.txt #扫描10.1.1.1主机的操作系统版存到d盘下的名为report记事本中
![image-20211026124315424](https://i-blog.csdnimg.cn/blog_migrate/ac543332f76cd3645ff5250ae187e2e2.png)
四、Hydra-老牌经典爆破
一般爆破软件与扫描软件都是配套使用的,用扫描软件确定了目标主机的IP地址和开放端口,就可以对目标主机的指定服务进行暴力破解,得到用户名和密码。只要需要弹验证登录的窗口的服务,就可以进行爆破获取对方本地用户的密码。根据相应服务的操作,对对方主机进行攻击(比如简单的渗透测试流程笔记中的445漏洞攻击)
1.Hydra使用说明
-
下载好windows版的九头蛇,记住存放路径,打开cmd,进入到有
Hydra.exe
程序的目录下,再在cmd输入命令Hydra.exe
,接着即可使用hydra命令开始爆破; -
也可以下载好后将hydra添加到系统环境变量中,即可打开cmd,直接进入hydra.exe,接着用hydra命令进行爆破
-
hydra爆破也需要密码字典的帮助,提前生成用户名和密码字典(用户名最好确认下来,不然难度翻倍)
-
前面学过一个爆破软件–NTscan10;那款软件是专门针对文件共享服务漏洞爆破的,原理是不断发送连接命令尝试连接,只要收到回应了则密码正确。这次的hydra软件可以针对所有需要弹验证登录的窗口的服务做爆破
2.Hydra命令使用说明
小写l和p后面跟指定确定的用户名和密码;大写L和P表示未知,即需要跟用户名字典和密码字典来爆破
后面跟的爆破的服务端口,一定是对方电脑上开启的端口,所以爆破前要先扫描
1)hydra -l -p
hydra -l a -p 123 10.1.1.1 telnet #小写-l表示指定用户名;小写-p表示指定密码(已知用户名和密码)爆破10.1.1.1主机上23号端口远程控制服务,以a用户远程控制
这条命令没有什么意义,因为都知道对方的账号密码了,还需要爆破???
2)hydra -l -P
hydra -l administrator -P e:\pass.txt 10.1.1.1 rdp #指定用户名,使用pass.txt密码字典对远程桌面进行爆破,以管理员的身份操控远程桌面
![image-20211026130331706](https://i-blog.csdnimg.cn/blog_migrate/d398ebe3a1c2bd9bf605062014510e56.png)
3)hydra -L -p
hydra -L d:\login.txt -p 123.com 10.1.1.1 smb #已知密码,使用login.txt用户名字典对445文件共享爆破
![image-20211026130436598](https://i-blog.csdnimg.cn/blog_migrate/bf4a3abc0f195eb5cd662c234d1a0669.png)
4)hydra -L -P
hydra -L e:\login.txt -P e:\pass.txt 10.1.1.1 mysql #通过用户名和密码字典对目标主机上mysql数据库进行爆破
![image-20211026131139837](https://i-blog.csdnimg.cn/blog_migrate/7daf3f17af4fa039bf6927a4b14abda8.png)
五、本地爆破
上面介绍的爆破方法可以通过远程爆破,即不用接近对方的电脑;前面已经说过利用五次shift漏洞和PE破解windows开机密码,这两个方法的前提是必须要接近对方的主机,这次再介绍两种近身对方主机爆破本地密码的方法:对方开机时提取内存中的开机输入的密码;提取sam文件中密码的HASH值,对HASH值爆破。
1.从内存中提取密码
win7及以前版本的漏洞,内存中会保存开机输入的密码。win10已经修补
- 操作步骤:
-
下载getpass程序,想办法使用对方开机的电脑,将getpass程序植入到对方电脑,记住程序保存路径
-
用管理员身份打开对方cmd,进入getpass所在目录中,运行getpassword_x64.exe程序
-
cmd窗口中就会显示出对方目前登录的用户名和密码,且是以明文的方式的呈现的
-
2.提取Sam中HASH值进行爆破
每个人的用户名、用户标识、和对应密码都保存在本地c盘下的SAM文件中,但是通过HASH值的形式存储的
-
使用pwdump和saminside软件合作对hash值进行爆破
- pwdump提取本地sam文件中的hash值
- saminside软件用于爆破提取出来的hash值(爆破hash值的办法有很多,还可以在网上找爆破hash值的网站等)
-
操作步骤
-
通过管理员身份运行cmd,再运行quarkspwdump.exe程序(因为sam文件只有system系统用户才能操作,其他用户没有权限,用管理员身份运行即表示使用system用户操作)
-
使用命令quarkspwdump.exe -dhl,得到sam文件中存储的hash值,再将NT-hash值复制到一个文本文件中
Sam文件中存有两个hash值:LM-哈希值和NT-哈希值
-
LM哈希值:不安全已被微软弃用,且仅支持14位内的密码
-
NT哈希值:微软最新的hash算法,目前正在使用
-
-
打开saminside.exe图形化界面窗口,将NT-hash值文本文件导入,再使用密码字典生成工具将密码字典中的密码复制粘贴到saminside文件夹下的dic文件中,再点击开始暴力破解。
对NT哈希值进行暴力破解:因为hash算法是不可逆的,无法根据hash值得出原文密码,但是可以不断对各种明文密码使用hash算法得出hash值后,再域sum文件中的hash值进行匹配。所以还需要使用密码字典
-