Vulnstack-ATT&CK(一)
Vulnstack-ATT&CK(一)
0x1前言
红日靶场 http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 靶机初始密码 均为 hongrisec@2019
0x2环境搭建
攻击机 | kali | ip | 192.168.157.137 | |
---|---|---|---|---|
web服务器 | win7 | ip | 192.168.157.153 | 192.168.52.143 |
域成员 | win2003 | ip | **** | 192.168.52.141 |
域控 | win2008 | ip | **** | 192.168.52.138 |
靶场提供的三个主机在同一个网段中,另外Win7主机有两张网卡,模拟可以与外网进行通信的主机,且安装有phpstudy,部署了web网站。
我们在使用VMware设置环境时,为了安全,应该设置两个网段,即新建两个VMnet,均为主机模型(这里是为了防止虚拟机上有什么病毒逃逸到自己的本机电脑上或者在操作过程中有什么错误,感染自己的电脑)。
在VMware中,需要设置一下虚拟网络编辑器,确保其中有两个仅主机模式的VMnet,其中一个VMnet的子网地址设置为192.168.52.0,命名为VMnet19,为靶场网络,对Win server2003和Win server2008均配置静态IP,且属于192.168.52.0/24网段。攻击机kali所用的网卡名为VMnet19,网络地址设置为192.168.60.0。win7配置了VMnet19和VMnet18双网卡。
0x3web渗透
1.信息收集
探测内网存活
|
|
目标靶机ip为192.168.60.128
(254是DHCP服务器地址)
端口扫描&及目录爆破
|
|
(启用了DHCP服务,重启后ip发生变化)
这是一般情况下的扫描结果,只能探测到80和3306端口
下面是将win7靶机的防火墙全部关掉的扫描结果,爆出了更多的端口
进一步探测
1
nmap -sC -sV -Pn -p 1-65535 192.168.60.130
常用扫描工具有:dirsearch、dirmap、御剑,kali自带的dirbuster、nikto,使用多个扫描工具进行探测,可能会发现不同的扫描结果。
开启了80端口,我们可以访问一下
页面下方有sql连接测试的接口,尝试phpstudy的默认账密root/root,连接成功
御剑爆网站目录
dirsearch爆网站目录
扫描工具很多,能不能扫出有用信息还是看字典是否强大。
另外我们还可以通过nikto扫描来获取相关信息
|
|
发现后台页面路径
尝试root/root也能登上
2.利用sql写文件getshell
一般利用mysql获取shell的方法有以下几种:
-
select ‘一句话木马’ into dumpfile/outfile ‘绝对路径’
-
- 条件1:secure_file_priv变量非NULL,表示支持数据导入导出
- 条件2:用户拥有root权限
- 条件3:知道当前网站的绝对路径
-
利用日志文件
判断步骤如下:
查看secure-file-priv值,为NULL时表示禁止导入导出,且无法通过sql语句对该属性值进行修改,说明第1种方式行不通
我们可以通过以下sql语句进行查询
|
|
可见secure_file_priv的值为null,要想修改 Value值 只能修改配置文件 mysql.ini(linux修改配置文件:my.cnf),所以第一种方法行不通
查看是否开启日志记录以及日志保存目录
|
|
为OFF,但可使用SET语句设置为ON
|
|
并将日志保存路径设置为php文件
|
|
再执行一条一句话木马语句,该语句会被记录到日志文件中
|
|
此时,我们已经成功将一句话木马写入主机,然后就可以使用蚁剑或菜刀进行连接,成功getshell
另外我们也可以通过扫描到的cms管理页面进行getshell(账密网站页面直接写了)
登录后可对网站整体内容进行管理,其中可以对模板文件进行编辑,这样就可以向模板文件中增加一句话木马进行连接来getshell。
直接用蚁剑连就可以了
同时该cms还存在xss、sql注入等漏洞,但利用价值不大
3.(拿下webshell后信息收集)内网信息收集
到目前为止,相当于我们已经获取了Win7的控制权,如果想进一步对内网段中其他主机的控制权,便需要进一步收集信息。例如,网段名、域用户、域控IP、管理员信息等等。而内网渗透的终极目标就是控制域控服务器,进而控制整个内网段。
内网信息收集可以考虑以下几种方式:
1.直接在蚁剑中打开终端执行命令–>相当于是在win7的终端上执行各种命令
2.利用蚁剑上传msf反弹木马,执行后反弹shell到msf,在msf中执行命令–>可以利用msf封装的其他命令,但该工具的优点在于一台机器的不断渗透,缺点是有点不稳定,容易掉线。
3.利用蚁剑上传CS反弹木马,执行后反弹shell到CS,然后在CS中执行命令–>可以利用CS提供的其他命令,能较方便的获取同内网其他主机的信息,并获取其他主机的控制权,但是命令执行后的结果返回特别慢,所以如果仅仅是执行一些收集主机信息的命令,建议不要用CS。
基本信息收集
常用命令:
|
|
尝试远程桌面登录
判断3389端口是否开放
|
|
在蚁剑shell执行,发现并没有,这里猜测是被防火墙屏蔽了
在蚁剑shell输入一下命令,尝试开放3389端口
|
|
新建用户名,并添加到管理员组
|
|
ps:要注意这里新建用户时,新用户的密码有强度限制,如果设置的太简单将无法添加。
rdp连不上,可能是被防火墙屏蔽了
关闭防火墙
|
|
随后就可以连接了
0x4后渗透
msf上线
这里的思路是将shell派送给CS或者msf进行下一步渗透。 使用msf生成exe并开启监听(也可以用cs生产exe):
|
|
**tips:**这边的locaohost(lhost)是攻击机kali的ip地址,千万不要填成靶机ip
通过蚁剑上传并执行
在shell里执行run.exe
在kali中进入msf相关模块:
|
|
随后通过sessions
命令来查看反弹回来的shell
随后sessions -i 1
进入这个session
提权system:
这里已经是system权限了,如果是administrator的话,需要先提权getsystem
一般提权流程:
1 2 3
sysinfo getuid (发现是administor权限) getsystem (获取system权限)
随后获取账号密码:
|
|
不知道为啥我除了一堆报错
除了hashdump,msf提供了一个用来获取域内用户hash的脚本,执行以下代码:
|
|
然后把mimikatz上传到靶机
|
|
对mimikatz进行提权
|
|
抓取密码
|
|
看了其他大佬的博客,发现有更方便的方法:
1.导入账号密码hash值:
1
run hashdump
2.mimikatz
加载mimikatz模块,加载模块前需要先将meterpreter迁移到64位的进程(需要system权限):
1
ps
1 2 3
migrate PID load mimikatz mimikatz_command -f sekurlsa::searchPasswords
3.kiwi
1 2
load wiki creds_all
开启3389
|
|
内网搜集
|
|
看到win7的另一个网卡的ip
(中文字符编码问题出现的乱码,将就看吧)
|
|
使用ipconfig /all
查看DNS服务器,推测DNS服务器名为god.org:
查看域信息:net view
查看主域信息:net view /domain
0x5横向渗透
添加路由
查看路由信息,添加路由到目标网络,以此使得MSF能够通过Win7路由转发访问,使得msf命令能够通过win7 访问到内网
查看目标机器所在内网网端信息与公网网端信息:
|
|
添加内网路由 使得msf6能通过win7路由转发访问内网192.168.52.0/24网段:
|
|
扫描192.168.52.0/24网段:
|
|
扫描存活主机:
先从win7的meterpreter session中退出来,执行:
|
|
内网端口信息:
|
|
挂socks4a代理
挂代理是为了让其他工具能够通过win7 ,去访问192.168.52.0/24 网段
配置msf代理:
|
|
|
|
|
|
如果proxychains配置终端代理出现问题 修改一下文件/etc/proxychains4.config
再开一个终端nano编辑proxychains4.config,把端口改成1080,记得用root身份
设置代理成功后 使用其他工具时需要添加proxychains
渗透win2003(远程登录)
信息收集
扫描主机版本
|
|
|
|
(emm,一开始没看到141就把前几个都扫了一遍。。。。)
Nmap扫描 192.168.52.141
|
|
尝试攻击
由nmap看到开放445端口 尝试永恒之蓝攻击win2003
|
|
|
|
经过了几次尝试,没有打下来
可以尝试执行一些系统权限命令,比如添加管理员账户尝试3389登录
|
|
|
|
然后使用proxychains4连接win2003的3389(kun用户登录)
。。。。。。。。。。
没搞完,先搁着吧
msf联动cobaltstrike
msf获取到shell后,可以派发给cobaltstrike
首先cobaltstrike创建监听器: