实战 | 记一次对某企业的一次内网渗透总结

0x01 外网打点到Getshell

目标站点:

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

代码语言:javascript
复制
http://xxx.xxx.xxx.xxx:9001/
weblogic
CVE-2017-10271

administrator权限,使用免杀马成功shell

0x02 内网渗透

有杀软,做完免杀之后,直接上线CS,进行进程迁移。存在杀软

写入注册表,做好权限维持,这里忘记截图了。

代码语言:javascript
复制
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和扫描记录,间隔时间两天,可以拿来一用。扫描结果如下,域内漏洞还挺多的。

发现172.168.0.3(MAIN_FILESERVER)存在MS17010,该机器名表示着这台机器可能是内网中重要的机器,使用MSF的模块进行攻击,发现成功上线。 在172.168.0.3机器上,发现当前为域用户,可以使用命令查询域环境,mimikatz抓取明文密码和hash,并发现了域控帐户密码(太幸运了吧)。

代码语言:javascript
复制
xxx.COM\Administrator xxxxxx

信息收集结果如下:

域用户

域管理员

域机器

域内机器大概有70-80台左右,属于一个小型的内网。

域控机器: 172.168.0.1:SERVER,单域控,域内结构还比较简单。 各类密码搜集: 查看当前机器上安装的程序,如果有浏览器,那么就可以搜集浏览器的密码,如果有安装的数据库,也可以找数据库的配置文件,读取帐户密码,总之,要对每一台机器进行仔细地信息收集。得到域管理员账户密码就可以进行密码喷洒工具,先使用frp反向代理进行隧道搭建。这里也没有截图。

0x03 横向渗透

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

使用CS自带的psexec对其他机器进行横向渗透,部分机器无法上线,对不能直接CS上线的机器,使用impacket-wmiexec上线机器,然后上传beacon.exe执行中转上线。

代码语言:javascript
复制
无法上线的原因:
1. 账号密码不对。
2. 该账户密码在目标机器上停用。
3. 存在杀软拦截横向渗透。

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

命令行注册表开启远程桌面,发现一个大大的TeamView。

代码语言:javascript
复制
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

到这里已经完成了渗透目标。对域内部分重要机器进行截图: MAIN_FILESERVER机器

0x04 痕迹清理

清理日志和上传的webshell、木马和工具。

常见日志

代码语言:javascript
复制
应用程序日志文件:%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 获取日志分类列表:

代码语言:javascript
复制
wevtutil el >1.txt

查看指定日志的具体内容:

代码语言:javascript
复制
wevtutil qe /f:text "windows powershell"

获取单个日志类别的统计信息:

代码语言:javascript
复制
wevtutil gli "windows powershell"

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

代码语言:javascript
复制
wevtutil cl "windows powershell"

0x05 攻击结果

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

0x06 总结

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

作者:Wangfly

作者博客:https://www.hui-blog.cool/posts/4b95.html
如有侵权,请联系删除