day10、1 - 扫描与爆破

本文探讨了如何在Windows与Kali Linux环境下使用Nmap进行主机探测和端口扫描,以及Hydra进行爆破技术的应用。涵盖了基础的扫描与爆破知识,如常用服务端口,以及Nmap的高级参数和Hydra的命令使用实例。

一、扫描爆破概述

1.windows与kali

  • 在kali上有些扫描与爆破软件都是内置的,而且都是一些老牌软件,很稳定,以后会系统学习

  • windows上也有相关的扫描与爆破软件,虽然稳定性不高,但是可以简单的使用。这篇主要讲述windows实现渗透

2.扫描与爆破技术基础知识

1)扫描的目的
  • 主机探测端口扫描:收集目标IP地址,有哪些主机存活在局域网中,寻找在线主机所开放的端口,并且在端口上所运行的服务。甚至可以进一步确定目标主机操作系统类型和更详细的信息
2)扫描和爆破王牌软件代表
  • 王牌扫描软件:Nmap

    在kali系统是内置的稳定性好,windows的稳定性差一些

  • 经典老牌爆破软件:Hydra(九头蛇)

    只要通过网络连接别人,弹框需要输入账号密码,就可以用这款软件爆破。在kali上也是内置的。windows上会出现闪退

3.实验环境搭建–攻击方和靶机

  • 真实机与虚拟机接到同一虚拟交换机
    • 以前学过将虚拟机桥接到Vmnet0,就相当于用某种技术连接了真实机所连接的网络上。但是现在我们要将真实机连接到虚拟网络中,比如连接到Vmnet1,那么就要启用我们真实机的虚拟网卡

      image-20211025193553686

    • 只要开启这两个网卡其中一个,那么真实机会开启一个虚拟网卡,连接到虚拟机交换机上Vmnet1或Vmnet8上,如果再将虚拟机也连接到Vmnet1或Vmnet8上,就实现了真实机和虚拟机在同一虚拟局域网中

      也可以重新配置其他的Vmnetxxx,但是很麻烦。1和8是安装VMware软件后自带的虚拟网卡,直接用就可以

    • 给连接到vmnet1的虚拟机配置IP,再给真实机的vmnet1网卡配置IP,IP地址需要在同一网段

      image-20211026115912275
    • 此时真实机的信息既可以从真实网卡出去传给真实交换机,与真实世界通信;也可以从虚拟网卡出去,与虚拟机通信

二、常见的服务端口号

FTP(文件传输)21HTTPS(加密传输)443
SSH(远程登录)22SMB(文件共享)445
Telnet(远程登录)23SQL Server(数据库)1433
SMTP(邮件传输)25Oracle(数据库)1521
DNS(域名解析)53MySQL(数据库)3306
DHCP(动态主机配置)67/68RDP(远程桌面)3389
HTTP(超文本传输)80

三、Nmap-扫描器之王

1.常用的重要参数

-sPping 扫描(可以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
2)nmap -O
nmap -O 10.1.1.1         #表示扫描10.1.1.1主机的操作系统版本以及开放的端口号
image-20211026122910862
3)nmap -p
nmap -p 21,23-25,80 10.1.1.1         #扫描10.1.1.1主机上是否开放21,23到25,80端口号
image-20211026123044356
4)nmap -p -sV
nmap -p 21,23 10.1.1.1 -sV       #扫描10.1.1.1主机上21,23端口是否开放,且如果开放,扫描端口对应服务是用什么公司的软件搭建的,比如21端口服务是微软的IIS软件提供的,还是linux的相关软件提供的
image-20211026123603855
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

四、Hydra-老牌经典爆破

一般爆破软件与扫描软件都是配套使用的,用扫描软件确定了目标主机的IP地址和开放端口,就可以对目标主机的指定服务进行暴力破解,得到用户名和密码。只要需要弹验证登录的窗口的服务,就可以进行爆破获取对方本地用户的密码。根据相应服务的操作,对对方主机进行攻击(比如简单的渗透测试流程笔记中的445漏洞攻击)

1.Hydra使用说明

  • 下载好windows版的九头蛇,记住存放路径,打开cmd,进入到有Hydra.exe程序的目录下,再在cmd输入命令Hydra.exe,接着即可使用hydra命令开始爆破;

    image-20211026124537925
  • 也可以下载好后将hydra添加到系统环境变量中,即可打开cmd,直接进入hydra.exe,接着用hydra命令进行爆破

  • hydra爆破也需要密码字典的帮助,提前生成用户名和密码字典(用户名最好确认下来,不然难度翻倍)

    image-20211026125019249
  • 前面学过一个爆破软件–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
3)hydra -L -p
hydra -L d:\login.txt -p 123.com 10.1.1.1 smb   #已知密码,使用login.txt用户名字典对445文件共享爆破
image-20211026130436598
4)hydra -L -P
hydra -L e:\login.txt -P e:\pass.txt 10.1.1.1 mysql   #通过用户名和密码字典对目标主机上mysql数据库进行爆破
image-20211026131139837

五、本地爆破

上面介绍的爆破方法可以通过远程爆破,即不用接近对方的电脑;前面已经说过利用五次shift漏洞和PE破解windows开机密码,这两个方法的前提是必须要接近对方的主机,这次再介绍两种近身对方主机爆破本地密码的方法:对方开机时提取内存中的开机输入的密码;提取sam文件中密码的HASH值,对HASH值爆破。

1.从内存中提取密码

win7及以前版本的漏洞,内存中会保存开机输入的密码。win10已经修补

  • 操作步骤:
    1. 下载getpass程序,想办法使用对方开机的电脑,将getpass程序植入到对方电脑,记住程序保存路径

      image-20211026153801742
    2. 用管理员身份打开对方cmd,进入getpass所在目录中,运行getpassword_x64.exe程序

    3. cmd窗口中就会显示出对方目前登录的用户名和密码,且是以明文的方式的呈现的

      image-20211026154042810

2.提取Sam中HASH值进行爆破

每个人的用户名、用户标识、和对应密码都保存在本地c盘下的SAM文件中,但是通过HASH值的形式存储的

  • 使用pwdumpsaminside软件合作对hash值进行爆破

    • pwdump提取本地sam文件中的hash值
    • saminside软件用于爆破提取出来的hash值(爆破hash值的办法有很多,还可以在网上找爆破hash值的网站等)
  • 操作步骤

    1. 通过管理员身份运行cmd,再运行quarkspwdump.exe程序(因为sam文件只有system系统用户才能操作,其他用户没有权限,用管理员身份运行即表示使用system用户操作)

      image-20211026154415444
    2. 使用命令quarkspwdump.exe -dhl,得到sam文件中存储的hash值,再将NT-hash值复制到一个文本文件中

      image-20211026154530550

      Sam文件中存有两个hash值:LM-哈希值和NT-哈希值

      • LM哈希值:不安全已被微软弃用,且仅支持14位内的密码

      • NT哈希值:微软最新的hash算法,目前正在使用

    3. 打开saminside.exe图形化界面窗口,将NT-hash值文本文件导入,再使用密码字典生成工具将密码字典中的密码复制粘贴到saminside文件夹下的dic文件中,再点击开始暴力破解。

      image-20211026154941458 image-20211026155617023

      对NT哈希值进行暴力破解:因为hash算法是不可逆的,无法根据hash值得出原文密码,但是可以不断对各种明文密码使用hash算法得出hash值后,再域sum文件中的hash值进行匹配。所以还需要使用密码字典

ntscan是一个扫描器,可以扫描没有密码保护的管理员共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。 ntscan变态扫描NTscan变态扫描器为什么报毒? 一般杀毒软件会把NTscan报告成黑客程序,导致NTscan无法运行。 如果想正常运行NTscan,必须把杀毒软件关掉,同时把安装的防火墙也关掉。 NTscan变态扫描器命令详解 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名 密码 /add 建立用户 net user guest /active:yes 激活guest用户 net user 查看有哪些用户 net user 帐户名 查看帐户的属性 net localgroup administrators 用户名 /add 把"用户"添加到管理员中使其具有管理员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名 开启服务;(如:net start telnet, net start schedule) net stop 服务名 停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间"目标IP"主机的时间同步,加上参数/yes可取消确认信息 net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置 net logoff 断开连接的共享 net pause 服务名 暂停某服务 net send ip "文本信息" 向对方发信息 net ver 局域网内正在使用的网络连接类型和信息 net share 查看本地开启的共享 net share ipc$ 开启ipc$共享 net share ipc$ /del 删除ipc$共享 net share c$ /del 删除C:共享 net user guest 12345 用guest用户登陆后用将密码改为12345 net password 密码 更改系统登陆密码 netstat -a 查看开启了哪些端口,常用netstat -an netstat -n 查看端口的网络连接情况,常用netstat -an netstat -v 查看正在进行的工作 netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况) netstat -s 查看正在使用的所有协议使用情况 nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写 tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:"-w数字"用于设置超时间隔。 ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:"-l[空格]数据包大小";"-n发送数据次数";"-t"指一直ping。 ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping) ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数"/all"显示全部配置信息 tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内) kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内) del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如"DEL/AR *.*"表示删除当前目录下所有只读文件,"DEL/A-S *.*"表示删除当前目录下除系统文件以外的所有文件 NTscan为什么扫不出弱口令? 如果是内网的用户,只能扫内网的ip,其次你的机子要突破线程限制,改到一千左右,NTSCAN,X-SCAN和流光扫描器这些现在只能扫本地ip了。所以假如你是用135端口抓鸡的话,现在只能抓本地的,本地ip可以打开“运行”输入ipconfig 可以看到,想扫外网的话,用路由器映射端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值