渗透实战之内网渗透流程( 二 )


渗透实战之内网渗透流程

文章插图
 
利用
auxiliary/scanner/portscan/tcp去扫描10.0.1.0/24段 , 如下:
渗透实战之内网渗透流程

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

文章插图
 
这时 , 我们再次登录我们的Windows渗透机器(10.0.0.7)来查看一下这是个什么网站 。
渗透实战之内网渗透流程

文章插图
 
经过测试发现 , 这个登录功能存在SQL Injection , 可以通过以下的用户名和密码登录:
username: admin
password: ’ or ‘1’='1

渗透实战之内网渗透流程

文章插图
 
经过观察发现 , 这个网站应该直接本地文件包含了web服务器的access_log , 因此我们可以想到利用文件包含漏洞来生成一个webshell , 具体步骤如下:
1. 发送一个包含webshell代码的HTTP请求使其被写入到access_log里, 如一个仅包含上传功能的php小马
渗透实战之内网渗透流程

文章插图
 
2. 访问
http://10.0.0.5:8080/admin.php来文件包含access_log使其中的php代码被执行 , 从获取一个具备上传功能的php小马
渗透实战之内网渗透流程

文章插图
 
3. 访问
http://10.0.0.5:8080/upload.php并上传一个功能齐全的PHP webshell
渗透实战之内网渗透流程

文章插图
 
4. 访问
http://10.0.0.5:8080/shell.php并输入密码qwer , 则成功地获取了一个webshell
渗透实战之内网渗透流程

文章插图
 
利用webshell提供的功能我们发现这只是一个用于运行web service的低权限的用户(daemon) , 那么接下来我们需要解决的问题就是本地提权到root权限 。
渗透实战之内网渗透流程

文章插图
 

渗透实战之内网渗透流程

文章插图
 
如上图 , 我们找到了一个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
system(‘chmod +x /opt/lampp/htdocs/root.elf’);
接着 , 修改
/etc/cron.hourly/clean_up_access_log使其可以执行我们上传的payload并等待cronjob的下次执行;
渗透实战之内网渗透流程

文章插图
 
利用上面获得的root权限的meterpreter session , 我意外的发现了一个有趣的文件/root/readme.txt , 其中包含了一个远程FTP(10.0.1.26)的口令和密码 。
cat /root/readme.txt
Credentials for FTP:
IP: 10.0.1.26 User: ftpadmin Password: nKG6aqwvveFutn$@
既然拿到了这个信息 , 我们不妨再次探测一下我们的下一个目标(10.0.1.26) 。
渗透实战之内网渗透流程

文章插图
 
果不其然 , 目标机(10.0.1.26)确实存在一个FTP站点 。进入上面获得的session 2,在目标机10.0.0.9(10.0.1.9)上添加一个管理员账号:
渗透实战之内网渗透流程

文章插图
 
接着RDP到目标主机10.0.0.9(10.0.1.9)上 , 并尝试使用已经获取的口令登录 。
渗透实战之内网渗透流程

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


推荐阅读