关于字典
简单说明:
操作系统将用户和密码信息加密后存放在特定的地方和文件中。典型的如windowsNT里的sam文件和Linux里的etc/passwd。由于加密算法是单向散列的,所以几乎不可能找到逆向算法。因此,不得不使用同样的算法加密各种口令,将结果去吻合散列值。字典就是有选择地储存了一批口令的文件。例如生日、常用单词、中文名字的拼音等。著名的破解密码的工具,一般自带一些字典。也可以使用字典工具制作符合要求的字典。
相关工具:
乱刀 小榕出品,破解UNIX系统的密码
http://www.netxeyes.org/bladese.exe john 最著名的UNIX密码破解工具(windows版)
http://www.heibai.net/download/show.php?id=1595&down=1 producepass 通用字典生成器
http://www.heibai.net/download/show.php?id=2666&down=3 hh_dictall 英文单词大全字典
http://www.heibai.net/download/show.php?id=396&down=1 sr-password 生日密码生成器
http://www.heibai.net/download/show.php?id=2442&down=1 关于ipc$、空连接和默认共享
简单说明:
首先需要指出的是空连接和ipc$是不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。有许多的工具必须用到ipc$。默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
相关帖子:
尝试自己解决问题的学习思路
http://www.sandflee.net/txt/list.asp?id=100 IPC进攻方法
http://www.sandflee.net/cgi-bin/ ... =2498&show=1034
常见问题和回答:
1,怎样建立空连接,它有什么用?
答:使用命令 net use \IPipc$ "" /user:"" 就可以简单地和目标建立一个空连接(需要目标开放ipc$)。
对于NT,在默认安全设置下,借助空连接可以列举目标用户、共享,访问everyone权限的共享,访问小部分注册表等,没有什么利用价值。对2000作用就更小了。而且实现也不方便,需借助工具。如果你不理解“没用”的东西为什么还会存在,就看看“专业”的解释吧:
在NT/2000下的空连接
http://www.3389.net/bbs/dispbbs. ... ;ID=3424&page=1:
解剖WIN2K下的空会话
http://www.sandflee.net/txt/list.asp?id=117 2,为什么我连不上IPC$?
答:1,只有nt/2000/xp及以上系统才可以建立ipc$。如果你用的是98/me是没有该功能的。
2,确认你的命令没有打错。正确的命令是: net use \目标IPipc$ "密码" /user:"用户名"
注意别多了或少了空格。当用户名和密码中不包含空格时两边的双引号可以省略。空密码用""表示。
3,根据返回的错误号分析原因:
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
错误号51,Windows 无法找到网络路径 : 网络有问题;
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;
错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
错误号1326,未知的用户名或错误密码 : 原因很明显了;
错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
4,关于ipc$连不上的问题比较复杂,本论坛没有总结出一个统一的认识,我在肉鸡上实验有时会得出矛盾的结论,十分棘手。
而且知道了问题所在,如果没有用其他办法获得shell,很多问题依然不能解决。问题过于细致后就不适合在本文章里探讨了。
各位看着办吧,呵呵。
3,怎样打开目标的IPC$?
答:首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、木马。当然,这shell必须是admin权限的。然后你可以使用shell执行命令 net share ipc$ 来开放目标的ipc$。从上一问题可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法)。还是不行的话(比如有防火墙,杀不了)建议放弃。
4,怎样映射和访问默认共享?
答:使用命令 net use z: \目标IPc$ "密码" /user:"用户名" 将对方的c盘映射为自己的z盘,其他盘类推。
如果已经和目标建立了ipc$,则可以直接用IP加盘符加$访问。比如 copy muma.exe \IPd$pathmuma.exe 。或者再映射也可以,只是不用用户名和密码了:net use y: \IPd$ 。然后 copy muma.exe y:pathmuma.exe 。当路径中包含空格时,须用""将路径全引住。
5,如何删除映射和ipc$连接?
答:用命令 net use \IPipc$ /del 删除和一个目标的ipc$连接。
用命令 net use z: /del 删除映射的z盘,其他盘类推。
用命令 net use * /del 删除全部。会有提示要求按y确认。
6,连上ipc$然后我能做什么?
答:能使用管理员权限的帐号成功和目标连接ipc$,表示你可以和对方系统做深入“交流”了。你可以使用各种命令行方式的工具(比如pstools系列、 Win2000SrvReskit、telnethack等)获得目标信息、管理目标的进程和服务等。如果目标开放了默认共享(没开你就帮他开),你就可以上传木马并运行。也可以用tftp、ftp的办法上传。像dwrcc、VNC、RemoteAdmin等工具(木马)还具有直接控屏的功能。如果是 2000server,还可以考虑开启终端服务方便控制。这里提到的工具的使用,请看自带的说明或相关教程。
7,怎样防止别人用ips$和默认共享入侵我?
答:A、一种办法是把ipc$和默认共享都删除了。但重起后还会有。这就需要改注册表。
1,先把已有的删除
net share ipc$ /del
net share admin$ /del
net share c$ /del
…………(有几个删几个)
2,禁止建立空连接
首先运行regedit,找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA]把RestrictAnonymous(DWORD)的键值改为:00000001。
3,禁止自动打开默认共享
对于server版,找到如下主键 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters] 把AutoShareServer(DWORD)的键值改为:00000000。
对于pro版,则是[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareWks(DWORD)的键值改为:00000000。
B、另一种是关闭ipc$和默认共享依赖的服务(不推荐)
net stop lanmanserver
可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。
C、最简单的办法是设置复杂密码,防止通过ipc$穷举密码。但如果你有其他漏洞,ipc$将为进一步入侵提供方便。
D、还有一个办法就是装防火墙,或者端口过滤。防火墙的方法就不说了,端口过滤看这里:
过配置本地策略来禁止139/445端口的连接
http://www.sandflee.net/txt/list.asp?id=98