移动友华PT939G光猫获取超级管理员密码

背景

因为加钱买了移动家庭宽带的独立IP,用光猫超级管理员账号配置端口转发,前段时间光猫自动更新把默认密码改了,网上查了一圈,存在的各种破解方法基本都失效了,所以研究了一下从串口读管理员账号密码。

光猫型号

友华PT939G
硬件版本:V3.0.0
软件版本:V1.3.9391M13

Step1 光猫拆机

Read more »

OpenWrt中DNS配置实现全局去广告

问题

最近家里DNS一直有问题,重新梳理了以下,目前是adguardhome作为dnsmasq的上游服务器,也就是说客户端请求先通过dnsmasq分流,国内的域名上游为adguardhome,国外域名上游为PDNSD,这样就导致adguardhome里的请求都是localhost,而且国外的请求不走adguardhome的过滤

解决思路

让AdGuardHome作为直接接受53端口的DNS请求,AdGuardHome进行给广告过滤后再将请求转发给dnsmasq,dnsmasq对域名根据科学上网列表进行处理,国内域名直接走运营商DNS服务器,科学上网域名转发到PDNSD进行解析。

优点

在去广告列表里的域名可以全局生效,手机也能加强一点点隐私保护;其次AdGuardHome里也能看到不同客户端的DNS请求了,同时也可以看到及过滤外网网站的请求了

配置方法

  • 首先在网络配置-DHCP/DNS-高级设置中,将 DNS 服务器端口改为6666
  • AdGuardHome 插件后台,重定向模式为: “使用53端口替换dnsmasq”
  • AdGuardHome web后台,将上游DNS服务器设置为: 127.0.0.1:6666
  • 然后在网络配置-DHCP/DNS-基本设置中,将上游DNS服务器设置为光猫IP

遇到的问题

  • AdGuardHome设置为“重定向53端口到AdGuardHome”失败,原因是wsdd2服务占用了5355端口,在软件包管理中卸载即可
  • 不需要注释iptables的禁用53端口的规则
Read more »

docker重启配置生效的测试及理解

最近用docker安装一些安全工具,修改容器配置文件如何生效一直有点困惑,以下以nginx容器为例子,测试从镜像,容器,docker-compose编排以及nginx的配置修改,如何重启才能生效。

先说结论

  • 修改Dockerfile只能删除镜像和容器,并重新生成镜像才能生效
  • 修改docker-compose.yml只能先down再up才能生效,其它重启操作都无效
  • 修改nginx配置,任何重启操作都可以生效
    Read more »

openwrt下内核插件不兼容问题的解决

在自己编译的固件下下载和安装官方相关的内核插件时(非内核插件没有这个问题),会出现插件与系统内核版本不兼容问题。如下图,我需要安装dnsmasq-full,出现了内核版本不一致的报错。

经过查证后,发现官方的数字摘要和我们自己编译的数字摘要不一致,这个数字摘要就是生成的MD5值,即然这样,我们把编译后的数字摘要更改为和官方一样即可。

Read more »

社会工程学攻击的一些想法

想法一:以活动为由获取账号密码

案例描述:

某公司楼下出现一个奶茶店广告牌,写着回馈周边企业用户,注册享6折,并提供了注册二维码链接,某员工扫描二维码后,注册页面要求,该活动只面向周边企业客户,必须用企业的邮箱账号和密码来注册,员工未加思索,提供了企业邮箱账号及密码;

案例分析

(1)提供企业邮箱账号后,发了一份激活邮件是正常注册方式;(2)要求提供密码是不正常的要求,应警惕账号骗取风险;

案例启示

禁止或尽可能避免使用企业邮箱及密码在攻防演练期间进行注册行为;

Read more »

Mac下配置JAVA_HOME

今天想调一个JAVA程序,报错,搜了一下是由于Mac JAVA1.8.0_151自身的一个Bug,升级到152就可以解决,然后我IDEA和命令行看了一下JAVA版本是JAVA1.8.0_151,可我之前一直有开启JAVA的自动更新,系统中JAVA的控制面板也显示我的版本是261。

思考了一下应该是更新之后另外写到了其他目录下。

1
2
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/ 目录下没有其他目录,网上搜了一下,更新后的文件会被放在 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin 中

在目录下执行

1
2
$ ./java -version
java version "1.8.0_261"

剩下的就是替换自己profile文件里的JAVA_HOME了:

1
export JAVA_HOME='/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home'

保存,执行

1
2
3
$ source ~/.zshrc
$ java -version
java version "1.8.0_261"

整理红队打点常用的利用点

一般攻击流程

1
入口权限 => 内网搜集/探测 => 免杀提权[非必须] => 抓取登录凭证 => 跨平台横向 => 入口维持 => 数据回传 => 定期权限维护

0x01 入口权限获取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
绕CDN找出目标所有真实ip段
找目标的各种Web管理后台登录口
批量抓取目标所有真实C段 Web banner
批量对目标所有真实C段 进行基础服务端口扫描探测识别
尝试目标DNS是否允许区域传送,如果不允许则继续尝试子域爆破
批量抓取目标所有子域 Web banner
批量对目标所有子域集中进行基础服务端口探测识别
批量识别目标 所有存活Web站点的Web程序指纹 及其详细版本
从 Git 中查找目标泄露的各类 敏感文件 及 账号密码,偶尔甚至还能碰到目标不小心泄露的各种云的 "AccessKey"
从网盘 / 百度文库 中查找目标泄露的各类 敏感文件 及 账号密码
从各第三方历史漏洞库中查找目标曾经泄露的 各种敏感账号密码 [ 国内目标很好使 ]
目标Svn里泄露的各类 敏感文件
网站目录扫描 [ 查找目标网站泄露的各类敏感文件, 网站备份文件, 敏感配置文件, 源码 , 别人的webshell, 等等等...]
目标站点自身在前端代码中泄露的各种敏感信息
fofa / shodan / bing / google hacking 深度利用
搜集目标 学生学号 / 员工工号 / 目标邮箱 [ 并顺手到各个社工库中去批量查询这些邮箱曾经是否泄露过密码 ]
目标自己对外提供的各种 技术文档 / wiki 里泄露的各种账号密码及其它敏感信息
目标微信小程序
分析目标app Web请求
借助js探针搜集目标内网信息
想办法混入目标的各种 内部QQ群 / 微信群
分析目标直接供应商 [尤其是技术外包]
根据前面已搜集到的各类信息制作有针对性的弱口令字典
目标所用 Waf 种类识别 与 绕过
BypassWAF 文件上传 / 读取 / 下载
BypassWAF Sql注入
BypassWAF RCE
BypassWAF 各类Java Web中间件已知Nday漏洞利用
BypassWAF Webshell 免杀

其它更多 , 待补充修正...
Read more »

常用反弹shell方法

什么是反弹shell

通常情况下,攻击者通过漏洞获取的shell,都是由攻击者主动发起连接,连接到受害者的主机上。

反弹shell又称反向shell,即受害者主机发起连接,连接到攻击者的主机上。

为什么需要反弹shell

Read more »

TTRSS的SELF_URL_PATH错误问题

给自建的 TTRSS 增加https,签名完证书后时提示

1
Please set SELF_URL_PATH to the correct value for your server

解决方法如下

  • docker-compose.yml 配置中 SELF_URL_PATH 的URL需要是博客完整路径,如https://xx.xx.com
  • nginx 配置文件中 proxy_pass 只能写成http://,不能写成https://
  • 80端口自动跳转参考代码如下
    1
    2
    3
    4
    5
    server {
    listen 80;
    server_name xxx.xxx.wang;
    return 301 https://xxx.xxx.wang$request_uri;
    }

参考:https://ttrss.henry.wang/#configure-https

前言

本文详细介绍微软软件安全开发生命周期(SDL)相关概念,并讨论要遵循 SDL 过程所应执行的各种安全活动,其中着重对软件安全设计的原则进行探讨。并对STRIDE威胁建模方法进行深入介绍。

SDL介绍

Read more »