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

VSole2023-07-10 10:32:09

0x01 外网打点到Getshell

目标站点:

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

http://xxx.xxx.xxx.xxx:9001/
weblogic
CVE-2017-10271

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

0x02 内网渗透

有杀软,做完免杀之后,直接上线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和扫描记录,间隔时间两天,可以拿来一用。扫描结果如下,域内漏洞还挺多的。

发现172.168.0.3(MAIN_FILESERVER)存在MS17010,该机器名表示着这台机器可能是内网中重要的机器,使用MSF的模块进行攻击,发现成功上线。

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

xxx.COM\Administrator xxxxxx

信息收集结果如下:

域用户

域管理员

域机器

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

域控机器:

172.168.0.1:SERVER,单域控,域内结构还比较简单。

各类密码搜集:

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

0x03 横向渗透

将kali代理进内网,扫描内网存活机器,使用域管理员帐户密码,使用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

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

MAIN_FILESERVER机器

0x04 痕迹清理

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

常见日志

应用程序日志文件:%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 el >1.txt

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

wevtutil qe /f:text "windows powershell"

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

wevtutil gli "windows powershell"

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

wevtutil cl "windows powershell"

0x05 攻击结果

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

0x06 总结

1.外围打点,注重资产收集,真实ip的寻找、攻击面的扩大,平常要对各种0day进行收集,做好webshell的免杀,方便在项目中直接使用。

2.内网渗透,注重对内网机器的信息收集和机器定位,流量代理(有可能被杀,可以二次开发一些流量代理工具),做好木马的免杀和权限维持,要有一套自己的内网渗透方法。

3.域渗透,对各类域渗透的攻击手法和工具使用要熟悉,要判断当前在域的结构,如果拿不下域控,可以尝试对一些其余域内的重要服务器进行渗透,运气好直接就能拿到域管帐户密码,那么整个域就相当于直接拿下了。

4.做好痕迹清理。

注册表
本作品采用《CC 协议》,转载必须注明作者和本文链接
实际上,之所以很少有文章讨论这种注册表功能,并不是因为整个信息安全社区的技术差距。但是,注册表的杂乱无章的特性,貌似对攻击者特别有利,因为这便于藏匿其权限维护机制,并在网络外潜伏,直到蓝队转移视线。运行键存在于注册表中。因此,攻击者的one-liner命令的字符数不能超过这个限制。如果被写入到\Run的话,它在执行后并不会被删除。在进行安全审计时,有时需
Windows 注册表中包含有二进制块,有些二进制块用于存储证书,如下所示:以下的注册表位置都存储证书:
简介实验环境是Win7 X86系统。曾经在这篇文章中常见的几种DLL注入技术说过,通过修改注册表的内容可以实现AppInit_DLLs注入。那么本文的实验是通过CmRegisterCallback来实现对注册表修改的监控以此来阻止修改。并通过对CmRegisterCallback的逆向分析来实现对监控函数的删除。
在win2012以前的操作系统版本下,由于WDigest将明文储存到lsass进程中,可以抓取明文密码。
mimikatz的这个功能从本质上是解析Windows的数据库文件,从而获取其中存储的用户哈希。
2023年3月6日,基于星火·链网区块链基础设施构建的分布式标识BID解析服务全球专用端口号正式写入IANA的服务端口注册表,形成全球共识,标志着分布式标识BID向全球提供统一解析服务又迈出坚实的一步。IANA工作组的职责包括:为全球互联网提供IP地址空间分配、维护根域名服务器和协议标识符等标准数字资源。
系统安全第41篇是PowerShell系列的基础知识和注册表操作,希望您喜欢
代码框架 想法是尽量用一个通用的注入框架,有异常接收,令牌权限开启,获取进程PID的功能
文件系统Process Monitor显示所有的Windows文件系统活动,包括本地磁盘和远程文件系统。它会自动探测到新的文件系统设备并监听它们。所有的系统路径都会被显示为相对于在用户会话中的一个文件系统操作的执行。最后5个并排的按钮,是用来设置捕获哪些类型的事件,分别表示注册表的读写、文件的读写、网络的连接、进程和线程的调用和配置事件。
VSole
网络安全专家