原文链接:对某外企的一次内网渗透复盘(一)
目标 https://www.xxxxxxx.net 外围打点 信息收集 通过各种工具和在线网站,对子域名进行收集,并解析ip。 发现主站存在CDN,使用fofa,搜索网站title、js等关键信息和子域名解析的ip对应的C段,发现真实ip。 3, 对真实ip的ip段进行扫描,发现一台机器存在Weblogic中间件,使用exp进行测试,发现成功Getshell。 Getshell http://xxx.xxx.xxx.xxx:9001/ weblogic CVE-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,单域控,域内结构还比较简单。 这里忘记截图了。 各类密码搜集 查看当前机器上安装的程序,如果有浏览器,那么就可以搜集浏览器的密码,如果有安装的数据库,也可以找数据库的配置文件,读取帐户密码,总之,要对每一台机器进行仔细地信息收集。 得到域管理员账户密码就可以进行密码喷洒工具,先使用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; 以上日志在注册表里的键: 应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的:HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。 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" 删除某日志 攻击结果 使用域管帐户密码对域内机器进行批量上线,部分被上线机器列表如下。 上线机器 拓扑图 总结 外围打点,注重资产收集,真实ip的寻找、攻击面的扩大,平常要对各种0day进行收集,做好webshell的免杀,方便在项目中直接使用。 内网渗透,注重对内网机器的信息收集和机器定位,流量代理(有可能被杀,可以二次开发一些流量代理工具),做好木马的免杀和权限维持,要有一套自己的内网渗透方法。 域渗透,对各类域渗透的攻击手法和工具使用要熟悉,要判断当前在域的结构,如果拿不下域控,可以尝试对一些其余域内的重要服务器进行渗透,运气好直接就能拿到域管帐户密码,那么整个域就相当于直接拿下了。 做好痕迹清理。 后记 这只是一次比较简单的的内网渗透,在平常的靶场练习时,尽量不要使用Cobalt strike和MSF等内网渗透框架。如在项目中,在允许的情况下,可以使用(毕竟效率比较高)。在进行过几次的实网的内网渗透后,我在后期的学习中会逐渐的把重心放到免杀和工具的二次开发上,会开发一些自己的工具并开源。
|