实战|对某外企的一次内网渗透复盘

科技   2024-10-09 09:29   重庆  

       


目标

https://www.xxxxxxx.net



外围打点

信息收集

  1. 通过各种工具和在线网站,对子域名进行收集,并解析ip。
  2. 发现主站存在CDN,使用fofa,搜索网站title、js等关键信息和子域名解析的ip对应的C段,发现真实ip。
    3, 对真实ip的ip段进行扫描,发现一台机器存在Weblogic中间件,使用exp进行测试,发现成功Getshell。

Getshell

http://xxx.xxx.xxx.xxx:9001/
weblogicCVE-2017-10271
Administrator权限,使用我们自己的免杀马成功Getshell。
Getshell
内网渗透

权限维持

有杀软,做完免杀之后,直接上线CS,进行进程迁移。
写入注册表,做好权限维持,这里忘记截图了。

shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v "dll" /t REG_SZ /d "rundll32 C:\Windows\Temp\log.dll start"

信息收集

看了一下,当前存在域xxx,但不是域用户,也无法使用命令查询域环境,抓取不到密码。

当前不是域用户
这里使用工作组渗透手法,先拿下域内的机器然后再进行域渗透操作,这里本想上传fscan扫描内网,但在C:/windows/temp下发现有前辈上传的fscan和扫描记录,间隔时间两天,可以拿来一用。扫描结果如下,域内漏洞还挺多的。
fscan
发现172.168.0.3(MAIN_FILESERVER)存在MS17010,该机器名表示着这台机器可能是内网中重要的机器,使用MSF的模块进行攻击,发现成功上线。

没截图,懒得复现了。
在172.168.0.3机器上,发现当前为域用户,可以使用命令查询域环境,mimikatz抓取明文密码和hash,并发现了域控帐户密码(太幸运了吧)。

xxx.COM\Administrator xxxxxx
信息收集结果如下:
  • 明文密码和hash
  • 域用户
  • 域管理员
  • 域机器
    域内机器大概有70-80台左右,属于一个小型的内网。
  • 域控机器
172.168.0.1:SERVER,单域控,域内结构还比较简单。

这里忘记截图了。
  • 各类密码搜集

    查看当前机器上安装的程序,如果有浏览器,那么就可以搜集浏览器的密码,如果有安装的数据库,也可以找数据库的配置文件,读取帐户密码,总之,要对每一台机器进行仔细地信息收集。微信搜索公众号:Linux技术迷,回复:linux 领取资料 。

得到域管理员账户密码就可以进行密码喷洒工具,先使用frp反向代理进行隧道搭建。

这里也没有截图。

横向渗透

将kali代理进内网,扫描内网存活机器,使用域管理员帐户密码,对域内进行密码喷洒(crackmapexec)。

crackmapexec
使用CS自带的psexec对其他机器进行横向渗透,部分机器无法上线,对不能直接CS上线的机器,使用impacket-wmiexec上线机器,然后上传beacon.exe执行中转上线。
无法上线的原因:
1. 账号密码不对。
2. 该账户密码在目标机器上停用。
3. 存在杀软拦截横向渗透。

域渗透

使用impacket-wmiexec和域管帐户密码对域控进行攻击,发现成功执行命令,但无法上传beacon.exe上线CS,判断该机器上存在杀软拦截beacon.exe,但不拦截横向渗透。域控机器:

域控机器
命令行注册表开启远程桌面,发现一个大大的TeamView。
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

远程桌面


AD域服务

到这里已经完成了渗透目标。

对域内部分重要机器进行截图:
  • MAIN_FILESERVER机器

  • ……

痕迹清理

清理日志和上传的webshell、木马和工具,这里没有截图,就放我的笔记内容。
  • 常见日志

    HTML
    应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT;
    安全日志文件:%systemroot%\system32\config\SecEvent.EVT;
    系统日志文件:%systemroot%\system32\config\SysEvent.EVT;
    DNS日志默认位置:%sys temroot%\system32\config,默认文件大小512KB
    Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日志;
    Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志;
    Scheduler服务日志默认位置:%sys temroot%\schedlgu.txt;
    以上日志在注册表里的键:
  1. 应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的:HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。
  2. Schedluler服务日志在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent
  • wevtutil.exe

    支持系统:Win7及以上。
    不支持删除单条内容。
获取日志分类列表:

wevtutil el >1.txt

日志分类列表
查看指定日志的具体内容:

wevtutil qe /f:text "windows powershell"
某日志具体内容
获取单个日志类别的统计信息:

wevtutil gli "windows powershell"

日志类别
删除单个日志类别的所有信息:

wevtutil cl "windows powershell"

删除某日志

攻击结果

使用域管帐户密码对域内机器进行批量上线,部分被上线机器列表如下。
上线机器

拓扑图

总结

  1. 外围打点,注重资产收集,真实ip的寻找、攻击面的扩大,平常要对各种0day进行收集,做好webshell的免杀,方便在项目中直接使用。
  2. 内网渗透,注重对内网机器的信息收集和机器定位,流量代理(有可能被杀,可以二次开发一些流量代理工具),做好木马的免杀和权限维持,要有一套自己的内网渗透方法。
  3. 域渗透,对各类域渗透的攻击手法和工具使用要熟悉,要判断当前在域的结构,如果拿不下域控,可以尝试对一些其余域内的重要服务器进行渗透,运气好直接就能拿到域管帐户密码,那么整个域就相当于直接拿下了。
  4. 做好痕迹清理。

后记

这只是一次比较简单的的内网渗透,在平常的靶场练习时,尽量不要使用Cobalt strike和MSF等内网渗透框架。如在项目中,在允许的情况下,可以使用(毕竟效率比较高)。在进行过几次的实网的内网渗透后,我在后期的学习中会逐渐的把重心放到免杀和工具的二次开发上,会开发一些自己的工具并开源。
如有侵权,请联系删除
往期推荐

2024年热门网络安全行业认证证书
推荐一个资源丰富的永久渗透知识库
2024年工信部职业技术/专项技术认证


HACK之道
HACK之道,专注于红队攻防、实战技巧、CTF比赛、安全开发、安全运维、安全架构等精华技术文章及渗透教程、安全工具的分享。
 最新文章