内网渗透笔记-Day9
自动收集本地信息
bat脚本
echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@echo off
echo Hello World!
pause

echo Hello World!
pause

call的介绍
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无 法返回当前文件并执行当前文件的后续命令)。
不使用call
@echo off
echo 第一步:开始执行
echo.
:: 直接调用另一个批处理文件
other.bat
:: 这里的命令永远不会执行!
echo 第二步:继续执行 ← 这行不会执行
echo 第三步:执行完成 ← 这行也不会执行
pause
使用call
@echo off
echo 第一步:开始执行
echo.
:: 使用call调用另一个批处理文件
call other.bat
:: 这里的命令会正常执行!
echo 第二步:继续执行 ← 这行会执行
echo 第三步:执行完成 ← 这行也会执行
pause
pause暂停
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用 户按任意键后继续
rem注释
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
@echo off
rem 这里是不会打印和显示的
echo Hello World!
pause
常用命令
@echo off
dir c:\*.* >a.txt
call c:\ucdos\ucdos.bat
echo 你好
pause
rem 准备运行wps
cd ucdos
wps
echo 123 >1.txt
echo 456 >>1.txt
不显示后续命令行及当前命令行
将c盘文件列表写入a.txt
调用ucdos
显示"你好"
暂停,等待按键继续
注释:准备运行wps
进入ucdos目录
运行wps
输出123到1.txt
追加456到1.txt
@echo off
echo ############################## >>1.txt
ipconfig >>1.txt
echo ############################## >>1.txt
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" >>1.txt
systeminfo| findstr /B /C:"OS 名称" /C:"OS 版本"
echo ############################## >>1.txt
echo %PROCESSOR_ARCHITECTURE% >>1.txt
server bat脚本,不能上win11上使用
# 保存为.ps1文件(PowerShell脚本)
# 或者在批处理中调用
# 收集系统信息并生成HTML报告
$html = @"
<!DOCTYPE html>
<html>
<head>
<title>系统信息报告</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
h1 { color: #333; }
table { border-collapse: collapse; width: 100%; margin-bottom: 20px; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
th { background-color: #f2f2f2; }
tr:nth-child(even) { background-color: #f9f9f9; }
</style>
</head>
<body>
<h1>系统信息报告 - $(Get-Date)</h1>
"@
# 1. 操作系统信息
$os = Get-CimInstance Win32_OperatingSystem
$html += "<h2>操作系统信息</h2>"
$html += "<table><tr><th>属性</th><th>值</th></tr>"
$html += "<tr><td>名称</td><td>$($os.Caption)</td></tr>"
$html += "<tr><td>版本</td><td>$($os.Version)</td></tr>"
$html += "<tr><td>安装日期</td><td>$($os.InstallDate)</td></tr>"
$html += "<tr><td>最后启动时间</td><td>$($os.LastBootUpTime)</td></tr>"
$html += "</table>"
# 2. 进程信息
$html += "<h2>进程信息</h2>
win11 bat 脚本
@echo off
chcp 65001 >nul
title Win11系统信息收集
color 0A
echo ========================================
echo Windows 11 系统信息收集工具
echo ========================================
echo.
echo [1/10] 正在收集操作系统信息...
powershell -Command "Get-CimInstance Win32_OperatingSystem | Select-Object Caption,Version,InstallDate,LastBootUpTime | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [2/10] 正在收集计算机信息...
powershell -Command "Get-CimInstance Win32_ComputerSystem | Select-Object Name,Manufacturer,Model | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [3/10] 正在收集处理器信息...
powershell -Command "Get-CimInstance Win32_Processor | Select-Object Name,NumberOfCores,MaxClockSpeed | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [4/10] 正在收集内存信息...
powershell -Command "Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum | ForEach-Object { [math]::Round($_.Sum/1GB, 2) } | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [5/10] 正在收集磁盘信息...
powershell -Command "Get-Volume | Where-Object {$_.DriveLetter} | Select-Object DriveLetter,FileSystemType,@{Name='SizeGB';Expression={[math]::Round($_.Size/1GB,2)}},@{Name='FreeGB';Expression={[math]::Round($_.SizeRemaining/1GB,2)}} | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [6/10] 正在收集网络信息...
powershell -Command "Get-NetIPConfiguration | Select-Object InterfaceAlias,IPv4Address | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [7/10] 正在收集已安装程序...
powershell -Command "Get-Package | Select-Object Name,Version | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [8/10] 正在收集服务信息...
powershell -Command "Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object Name,DisplayName | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [9/10] 正在收集用户信息...
powershell -Command "Get-LocalUser | Select-Object Name,Enabled,LastLogon | ConvertTo-Html -Fragment | Out-File -Append report.html"
echo [10/10] 正在生成完整报告...
:: 创建完整的HTML报告
echo ^<!DOCTYPE html^> > final_report.html
echo ^<html^> >> final_report.html
echo ^<head^> >> final_report.html
echo ^<title^>Windows 11 系统报告^</title^> >> final_report.html
echo ^<style^> >> final_report.html
echo body { font-family: Arial, sans-serif; margin: 20px; } >> final_report.html
echo h1 { color: #2c3e50; } >> final_report.html
echo table { border-collapse: collapse; width: 100^%; margin-bottom: 20px; } >> final_report.html
echo th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } >> final_report.html
echo th { background-color: #3498db; color: white; } >> final_report.html
echo ^</style^> >> final_report.html
echo ^</head^> >> final_report.html
echo ^<body^> >> final_report.html
echo ^<h1^>系统信息报告 - %date% %time%^</h1^> >> final_report.html
type report.html >> final_report.html
echo ^</body^> >> final_report.html
echo ^</html^> >> final_report.html
del report.html
echo.
echo ========================================
echo 报告生成完成:final_report.html
echo ========================================
pause