度量衡のウェブサイト
huanat
全部博文(671)
设计模式(3)
UML(1)
Visual C++(1)
C(1)
J2ME(0)
汇编语言(61)
C&C++精华(15)
Sco Unix(1)
FreeBSD架设管理(19)
Nexenta(1)
Solaris(5)
FreeBSD(13)
AIX(4)
Fedora(0)
MagicLinux(1)
RedFlag(1)
LFS(0)
SuseLinux(0)
Ubuntu(2)
Cent OS(0)
Gentoo(0)
ArchLinux(1)
Debian(8)
RedHat Linux(23)
SQL技巧(1)
PostgreSql(0)
MSSql(1)
MySql(8)
Oracle(11)
tomcat(1)
weblogic(1)
wxWidgets(0)
VB(1)
CSharp(3)
Visual Basic(1)
Linux_C(7)
JAVA(2)
Delphi(1)
VC++(330)
Gtk(1)
Python(1)
Perl(4)
Qt开发(7)
JavaScript(3)
Php精华(9)
Lotus Domino(0)
Java精华(3)
Asp精华(2)
JSF(0)
Jsp精华(6)
Struts(1)
2011年(1)
2010年(2)
2009年(24)
2008年(271)
2007年(319)
2006年(54)
windycha
旭程海运
kingli-2
hjshajsh
lijunlin
snow888
gaokeke1
wb123456
cynthia
浪花小雨
分类: C/C++
2008-02-18 13:17:24
作者:何建敏
[VC知识库说明]本文作为利用替换动态库的方法来跟踪WinSock通讯的具体应用,该技术适合于研究某个程序具体的通讯过程,所以很有价值。需要注意的是本文及提供的示例代码仅用于研究,请勿用于任何破坏及进攻,否则后果自负!破解网上邻居密码示例源代码 大小:12K[前言]前几天在网上看到一个程序是关于破解网上邻居密码的程序,DOWN下来一用,果真不错,速度很快,没几秒钟就能搞定一个win95(98,ME)的共享密码。我想一下,自己何不尝试写一个看看。要写一个,必须首先理解PQwak的原理,手中得有以下几个工具才行。1、 VC(这是写程序至少的)2、 请看《》一文和vchelp.net提供的用于。3、 防火墙,就用Xfilter吧,据说只要交50元还能得到源代码,要是哪位大哥有源代码,不妨给小弟寄一份 4、 UltraEdit5、 最后PQwak.exe这个扫描程序可不能少好,现在就进入正题。[具体步骤]步骤一、在被扫描机器打开防火墙,用PQwak.exe扫描,这里你会发现防火墙发现有黑客进攻,对,我就是要利用这个。这不,很明显的显示出所进攻的IP地址和端口号。利用防火墙就是要证明pawak.exe是利用netbios与主机进行通讯。好,知道了这一步,我们接着就来干下一步步骤二、将所需动态链接库编译后将被扫描机wsock32.dll替换,再次运行pqwak.exe 进行扫描步骤三、分析c:\popsocket.txt看到没有,pqwak与被扫描方的通讯内容全部显示出来了,具体连接过程在这里就不多叙述了,还是讲一下二次握手和发送解码包的进程吧
第一次握手:发送如下图选中部分,长度为72个字符,\000为十六进制0x00,其中乗为二个字符,0x81、0x5c,要用ultraedit而不用记事本的目的就是为了能区别其中的一些内容。0x5c=''\'',这下不就清楚了,实际上 乗000\000D=0x81 0x00 0x00 0x44,明白了这些就好办了让我们再来看看后面一点到底代表了什么:
EKFIDBDCDDCACACACACACACACACACACA\000 EKFIDBDCDDCACACACACACACACACACACA\000
上面一段内容实际上代表的是被入侵的计算机名://0----9==DA---DJ//A----O==EB---EP//P----Z==FA---FK要是剩余的全部为CA(即所空字符)由于我所入侵的计算机名为hjm123所以就变成了EKFIDBDCDD,其中入侵所涉及英文字符全转换为大写。其中计算机名要发二遍,不知为何,大概是为了冗余吧。发送过上述包后主机后返还4个字节,用来说明连接的计算机是否成功成功 0x82 0x00 0x00 0x00失败 0x83 0x00 0x00 0x01现在来进行第二次握手
这其中的内容由于我只在一台机器上试过发现都只是完全一样的封包格式,所以也就直接拿来用吧,至于说返回包的格式,每次返回的都不一样,好像也对连接并没有多大影响,也就不去管他了。现在进入最重要的一步,密码扫描
这里就说说要点吧,其中第3个字符为后这里就说说要点吧,其中第3个字符为后面字符的长度(字符计数从0开始)//43=密码长度 45=密码+URL名长度47=密码+URL//密码+URL前为47个字符//例如 1\\hjm\c\ a: 7就是其中的\\+\+ +a:共为七个字符如正确则返回包未尾有A:要是你觉得密码正确可以将3位增加1,43位增加1,45位上增加1如再有返回包未尾为A:则证明密码正确
好就写到这里吧,剩下的东西还是等各位朋友自己慢慢去摸索吧,由于本文所涉及内容并未在多台机器,多种操作系统上试验过,难免有疏漏之处,请各位谅解。何建敏 2001/10/11早10:00
上一篇:WinSNMP API规范
下一篇:用WinInet开发Internet客户端应用指南(一)
登录 注册