在不知道路由器管理密码时嗅探路由器拨号账号密码
发表于:2022-09-23 |

现在需要知道一台路由器中保存的拨号账号密码,但是不知道路由器的管理密码,显然也不能重置路由器来重置管理密码。因此,尝试使用抓包的方式来抓取路由器拨号时使用的账号密码。

Reference: PPPoE密码嗅探 (zhufan.net)

  1. 安装一台Ubuntu虚拟机。我之前使用VirtualBox,但开启了Hyper-V之后的VirtualBox性能极其低下,因此改用VMware。

  2. 在Ubuntu虚拟机里安装一个虚假的PPPoE服务器,配置pap明文登录模式,让路由器对这个虚假服务器进行拨号,方便我们进行抓包。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sudo su
    #以下命令使用root用户执行
    ## 安装pppoe并创建用户
    apt update
    apt install -y pppoe tshark
    touch /etc/ppp/pppoe-server-options
    echo "require-pap" > /etc/ppp/pppoe-server-options
    echo "lcp-echo-interval 10" >> /etc/ppp/pppoe-server-options
    echo "lcp-echo-failure 2" >> /etc/ppp/pppoe-server-options
    echo "* * * *" > /etc/ppp/pap-secrets

  3. 将虚拟机的网卡桥接物理机有线网卡。

    将物理机有线网卡连接网线,另一头插入目标路由器的wan口。

    启动目标路由器,等待路由器进行拨号。

    执行以下命令启动抓包。

1
2
3
4
5
6
7
## 启动服务与抓包,需要配置$iface为真实网卡
#iface="eth0"
iface="ens33"
#如果tshark报错link is not ready 需要执行一次
#if link dev $iface up
/usr/sbin/pppoe-server -L 10.5.5.1 -R 10.5.5.10 -I $iface -S yyf
tshark -i $iface -Y "pap.password" -l -T fields -e pap.peer_id -e pap.password
  1. profit。执行tshark的终端会显示出不同验证方式的密码数据(因为路由器会尝试多种方式拨号),找其中共同的部分就是拨号账号密码。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 输出结果范例,用户名和密码用USERNAME和PASSWORD替代。
    2:2u9xv5mogc7 w PASSWORD
    ^^USERNAME E196D0A59DAAB28B
    \r0#.\_.A3dUSERNAME PASSWORD
    \r\n#.\_.Aa9USERNAME PASSWORD
    USERNAME PASSWORDd471eff555fbbc0
    ~lUSERNAME @w PASSWORD
    a:5s5uAvTJfA9BIUuBgzs6DJ48vbSg0HX::USERNAME PASSWORD
    USERNAME PASSWORD
    2:2u9xv5mogc7 w PASSWORD
    ^C^^USERNAME E196D0A59DAAB28B

1
2
# 如果运行完以后虚拟机的网络功能不见了,无法联网,可以尝试:
sudo nmcli network on
上一篇:
CTF比赛中,一键将本地运行的EXP反弹到VPS端口
下一篇:
如何使用magisk在安卓安装https ca证书

由于Valine存在安全问题,我们不会记录您的IP地址。您所填入的内容,和您的User-Agent信息将明文公开存储。