Author

Linux PrivEsc 常用的方法

常用一键工具箱 https://github.com/diego-treitos/linux-smart-enumeration https://github.com/sleventyeleven/linuxprivchecker https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite https://github.com/rebootuser/LinEnum Linux Exploit Suggester 和 MSF 的辅助工具 具体描述见下方。 服务漏洞配合权限设定不当 常见的例如:MySQL UDF SQLMap 系列: https://github.com/sqlmapproject/udfhack , ExploitDB: https://www.exploit-db.com/exploits/1518 以 Raptor UDF 为例: 最后确保 UDF 插件目录可写: 执行:/tmp/rootbash -p 即可获得 Shell /etc/shadow , /etc/passwd 滥用 简单的文件覆盖问题,不过多阐述。 sudo -l 滥用 https://GTFOBins.github.io LD_PRELOAD 环境变量滥用,配合 sudo ENV_KEEP 使用 编译指令: 使用指令: 同理 LD_LIBRARY_PATH滥用: 编译执行: Shell 中 PATH 环境变量导致查找可执行文件的先后顺序,配合文件夹的可写权限造成的提权... » read more

与一个城市说再见——2020秋

秋天是丰收的季节,也是离别的季节。 上一次更新已经是五个月前了。2020 年新冠这个“黑天鹅”到现在已经足足持续了十个月之久,Donald Trump 也如 The Simpsons 预言的那样感染了新冠,然而有钱人就是可以这样间接的控制新冠、第一时间用上最新的医疗技术,这与我又有什么关系呢? 念念念念,天天念,念着的高数终于在肉身尚在学校的最后一个学期修过了。网课还是一如既往的无聊,12000 一年的学分实际只是在学校上一个月的自习,1200 的住宿费也只是一个月的暂住和十一个月的仓库。 这一切实在是过于突然,得知要被封闭在学校、又要马上离校、网课一塌糊涂还是回来线下考试,好在最后拼过了。很久没见的亲戚也见了,分析利弊之后决定还是考研,但是反应过来终究太晚了。这种不可能完全脱产的学习,注定3个月是来不及了,可能二战吧。所谓的大学生真的太多了,这种教育机制下,教育出来的大学生真的能叫“大学生”吗…..能力不足,浑水摸鱼,所谓的“精明的利己主义者”也大概就是这样吧。不过也挺正常,这种体制和文化之下也不得不这样了。人,终究不是人,只是一堆破烂骨头罢了。而我,只是无情的工作机器。 家人有在同一个学校做老师的,同时接触大学生和自己的孩子,孩子才上幼儿园,尝试着沟通聊了聊,发现他们看我们的视角又是充满鼓励性的、从学生的发展潜力去考虑的。总归是能看出学生内心的 “不甘心”。 一个人筋疲力尽打包了2天之后产生了接近 75kg 的行李也一个人拼了老命搬回了家,没车的烦恼袭上心头。 回到家第二天,父亲上来了,吵了一大架,所谓的我不过是个提线木偶罢了,没有任何感情,没有任何概念,就是一个无聊的工具,一个赚钱还养育债的工具罢了…这哪里有我的位置,有我的地方,不过是一个名字叫做“家”的旅馆罢了。 我考研是为了我自己,我做的这一切就是为了我自己。我只有自己,没有人、没有家庭,只有自己。只是这个世界还有很多我没有探索的部分,我还想去看看,仅此而已。所谓的家庭、未来的孩子与媳妇与我又有什么关系?了然一生,无牵无挂,安顿好父母,准备好他们下葬和墓地的钱,我也就无所谓了。 我工作也为了我自己,我很无情,我只是想保持足够强的竞争力,一步一步靠自己给我的生活打下快乐的基石和至少有能与同龄人一战的竞争力,而不是在推诿、扯皮中养老式的碌碌无为的度过一生。正如面试的时候一位面试官提到的,安全是需要基础的,也是需要兴趣和信仰的,做安全,要耐得住寂寞。 所谓的公务员、省属企业、国有企业,与我又有什么关系?安定?加上黑色收入之后待遇很高?那又怎么样呢,我不开心。实习的这几个月也罢,之前在网络上碰到了老哥也罢,朋友们也好,形形色色,畸形的社会、畸形的人才,终将走向覆灭。 不管怎么说,既然我也没有归属了,那也自然没有必要回来了。这旅馆,不住也罢,住着还闹心。这家,不要也罢,毕竟是旅馆。这钱,赚过了,留够自己生活的部分,该还的人情债还清了,我也就成为一个不存在的蒸发人口了。 等着毕业答辩,拿到学位证和毕业证,我也就不是一个人了,就是个无情的机器。 再见,昆明。城市很好,人有温度,但却凉透了我的心。 你好,成都,不知道还有多少的美好的未来能与你共度。 —— 2020.10.3 昆明悦云天地Starbucks 感谢矿哥、感谢一直关心我的兄弟和朋友,感谢教导过我的老师们,感谢这个世界。我永远都不会回来了,过年什么的也不存在了。各位有缘再见。 我永远只能成为我自己。

Wireshark 大流量抓包的丢包问题

问题背景 TCP 传输,本地同 Host,跨 VM,以多线程形式/多进程形式使用 TCP Socket 传输二进制文件。 测试方式:netcat 测试,文件大小 10M,据客户反馈 5M 大小之后即存在此问题。 测试环境: Windows 10 Host + 2 Windows VM guests on VMWare Arch Linux Host + Docker Container * 2 (both Debian) as guests 问题描述 两边传输过程中使用 Wireshark 抓包,出现如下问题: 此处发现默认配置的 Buffer 为 2M, 传输过程中出现: 发现存在丢包。 尝试解决问题 猜测 虚拟化平台问题? 答:不会,VMWare 和 Docker 同时复现该问题,且收发两端的文件经过 SHA256 Hash... » read more

字符串模式匹配算法简析(2)—— Rabin Karp 算法

前情提要 之前写过一篇:https://www.kmahyyg.xyz/archives/105 简要介绍了大学课本中常见的 KMP 和 BruteForce 子字符串模式匹配算法,同时根据 WikiPedia 的内容扩展了 Sunday 算法。 今天在完成 LeetCode 的过程中 https://leetcode.com/problems/implement-strstr 发现 builtin 的 strings 的库速度最快,引起了我的好奇。 本科阶段几乎都学过 KMP 算法,然而 KMP 算法的 next 数组的生成难于理解,生成算法也不是很方便,没有通用性、记忆的性价比也不够高。不论是实际应用还是面试,我想都不是一个好的选择。 常见的几个语言中: Java String 类中的 indexOf() 方法,C++ 的 strstr() 函数,使用了 O(n*m) 的暴力比较;Golang strings 包中的 Index() 方法中使用了下述 Rabin-Karp 算法,时间复杂度 O(n+m),同样没有使用 KMP。Golang 使用 R-K 配合上其对 Bytes 序列的优化,达成了较好的运算速度。 Rabin Karp 依赖 ——... » read more

写在 2020 年初:谎言的代价

写在最前 自大年初,心中便一直有一种该写一点东西的冲动(人类的本质是鸽子)。加之最近诸事不顺,关在家中郁结不已。故作此篇,延续 2017 年开始的每年一定会总结新年、回望过去的传统。 笔是永恒的容器,公开真相是灾难的预防针 疫情 在即將到來的被稱為戰爭勝利的萬人合唱中,讓我們默默站到一邊,成為一個心裏有墳墓的人;有記性烙印的人;可以在某天把這種記性生成個人記憶傳遞給後人的人。 端传媒 庚子之年,大疫肆虐神州。君不见,癸未年之训,早已荡然无存。 新年伊始,便是突如其来的 COVID-19 的爆发。正值新春佳节,中国正在经历世界最大规模的人口迁徙,正如上帝开始了一场“瘟疫公司”一般,传染性点满、致死率不高的病毒开始爆发。停工、停产、学生放假、相关官员的玩忽职守、传统官场思维的 “对上负责” 而非 “对民负责”,加之大规模的言论审查、民智尚不成熟、公民意识缺乏培养,几个因素结合起来,造就了这次的 “人祸”。 微信(WeChat,简称 WC,即公共厕所)和 为你增智慧的新狼微博 迫于恰饭的压力和国人被迫的无知(很多人不知道:扫二维码可以用系统的相机、浏览器可以打开微信里不能打开的链接),加之封闭生态形成恶性竞争导致了信息难以被除发布平台外的三方平台索引和检索,也是疫情在初期没有得到控制的一个间接原因。 为了让我们在 2020 年的教训继续流传下去,还是建议广大的媒体搭建自有网站,并尽可能允许采集和搜索引擎的索引,这样才是正确的选择。(我也有自己的微信公众号,然而用户体验实在令人作呕、加之难以被微信之外的平台搜索,于是废弃不用。毕竟我的公众号的目标受众不是普通民众,而是相关从业人士,也没几个从业人士会信任微信。) 回到正题,倘若加大教育投入用于提升民众的受教育水平,将用于监视用户言论的相关开支用于早期发现用户开始 Post 异常,或许这件事情不会变得那么糟糕。而中心的武汉,在中国大陆已经可以说是 Top 5 发达的城市,管理却亦如此混乱、内斗严重,可以想见其他省份的管理也不会好到哪去。 更令人作呕的是近期民族主义的又一个高潮,民族主义可以帮助一个民族从灾难中极快的复兴,更可以将一个民族拖入永世不得轮回的战争深渊(例如:二战的德国)。所谓的饭圈文化,甚至官方媒体所谓的 “呕泥酱”,出发点是安慰民众、避免恐慌、贴近民众,固然是好的,但民众不是傻子,提高民众的受教育程度的同时告诉民众真相才是最好的安慰剂。这样畸形的饭圈文化和“丧事喜办”值得我们高度警惕。 我认为中国最大的幸运是有生活在这片土地上的人民,中国总是被他们最勇敢的人保护得很好。 基辛格《论中国》 但换一个方向来看问题,这次的后期被迫公开后的疫情处理和举国支援的民族大义是其他国家做不到的,这正是中国人民最伟大的地方。 而隔壁的日本和韩国,则在这样一场对执政能力的考试中,通篇照抄了中国的错题集、又没有民族大义和相应的制造业支撑医疗,最终必然导致大规模疫情爆发和对医疗系统 DDoS ,成为又一个执政不当的典型案例。估计隔海相望的中国人民,看着这场大戏,应该感触很深吧。 真相 真相是什么?没有绝对的真相,只有你认为的真相。 恰逢期末过去,难以安眠之际刷完了《切尔诺贝利(2019 HBO)》,它并不是一部理论剧和科普剧,它只是如此真实的还原了一场人祸。 We’re on dangerous ground right now, because of our secrets and our lies. They... » read more

LTAC 离线下载套件

原有 CAMAL 下载套件由于 Caddy FileManager 停更、Caddy v1 逐步退市、Mldonkey Bug 、配置安全性等原因,已经弃用,请使用此文。 Patrick Young 2020-02-14 什么是 LTAC Linux – Triple A – Caddy 离线下载套件。其中 Triple A 指的是 Aria2 – AriaNg – aMule. 环境 Hostsolutions.ro KVM 1G-1U-1T-10TB/m-1Gbps_FairShare, 14.5 USD/Q. Debian 10 Minimal. 购买链接:https://secure.hostsolutions.ro/aff.php?aff=513&pid=393 依赖安装 确保 non-free 和 backports 开启。 开启 unstable 源,安装 wireguard 供后续组网使用。Wireguard 部署请参见另一篇博文: https://www.kmahyyg.xyz/?p=263 由于是 minimal... » read more

Wireguard 异地组网与内网穿透

编者按 曾经使用 ZeroTier 方案组网,要求两端存在直连路由,任何一端在 NAT/Firewall 背后都会造成体验极差,中转使用的 Moon 服务器部署,从来就没成功过… 前期使用 FRP 方案做内网穿透,用户态进程带来了不稳定性,同时没有跨版本的后向兼容保障,实际使用下来仍然提心吊胆且体验不佳。中期测试过 OpenVPN 方案,由于前几年免流软件的火热,导致 CMCC 对其网络下的 OpenVPN 类软件“用药过猛”,QoS 几乎严重到无法使用,造成了极大的不便。考虑到整体的成本、通信安全、传输速率、稳定性、法律合规性的要求,在结合最近 Wireguard 顺利合入 Linux Kernel 主线的东风,本次尝试了初步体验。实际效果不错,穿国内的 NAT 也好、穿国际的 Wall 也好,体验都还令人满意。 但这里需要注意的是,这类软件大多默认使用 UDP 作为传输层协议,国内运营商普遍 UDP QoS 较重,需要根据各地实际情况使用、部署。 关于 OpenWrt 的部署 OpenWrt 上的部署仅提出几个客户端部署的痛点,本人不建议在路由器端部署 Wireguard 服务端(虽然 Peer 是对等的,即并不存在 Client 和 Server 的概念)。依赖:kmod-wireguard , luci-app-wireguard 首先依然常规操作,此处以 Lean 的固件为例: 如果您在使用路由器级别的梯子,请修改 /etc/init.d/shadowsocksr 中的 235... » read more

pb-go: 又一个使用 Golang 编写的 PasteBin 服务

前言 作者按:假期中闲来无事,想把 Golang 学习一下。 趁着疫情导致的“加长版”假期,编写了一个自己的 Pastebin 服务,对标 ptpb/pb 这套服务(公开实例: https://fars.ee ),之前自己也架设过一套这类服务,这套服务易用,但是没有任何的清理和防滥用机制,Python 编写也导致性能奇差。而我是一个注重隐私和安全的人,希望能够自己掌控自己的数据,同时向公众提供高效可靠的服务。 我曾经还架设过 fiche (公开实例: https://termbin.com ),这个用 c 编写的纯 Socket Pastebin,虽然好用,但是没有办法抵挡住任何的 Bot,且会产生大量的磁盘碎片。也没有代码高亮功能。 Golang 编写的程序具有原生交叉编译和单二进制文件的特性,同时也兼具了编译语言相对解释语言的高效,同时门槛较低。在实现这个产品的过程中,得到了 STRRL 的支持,非常感谢。这个产品的实践也让我加深了对 OOP 的理解和软件工程设计、流程、项目协作的了解,也踩了一些新手容易踩的 Golang 的坑,积累了一定的经验。 产品特性(EN) 服务地址 公共实例:https://pbgo.top 项目开源地址:https://github.com/pb-go/pb-go 如果您喜欢的话,不妨给我个 Star,谢谢。我们也欢迎您在使用过程中对我们的项目提出宝贵的意见和建议。项目 Readme 页面有我们的交流群地址,项目 Issue 也同时为您开放。

Arch 启动后丢失触摸板问题解决

背景 大概半年前不到吧,电脑启动完成之后风扇仍在狂转个不停,由于我的笔电是轻薄本,因此这个现象还是立即引起了我的注意。查看后台进程发现 systemd-udevd 产生了多个子进程并持续工作,造成了这一现象。当时根据 Arch Wiki 的描述,修改了 /etc/udev/udev.conf 的配置文件,如下: 后来问题解决。但今年一月购买 YubiKey 之后便时常出现了若启动时或启动前或从休眠中恢复时插入 YubiKey,则 X 一定无法正确识别 Synaptics 触摸板并应用 libinput 驱动的问题,导致触摸板失效,表现为:触摸板被识别为 /dev/input/mouse0,lspci -k 可以发现触摸板,cat /dev/input/mice 可以发现触摸板存在输入数据,但实际输入无效且 sudo libinput list-devices无法找到触摸板设备。认真查看 X 日志、建立服务从启动便开始监控 udev event、检查 dmesg 均未发现相关的错误信息。 解决方案 注释上方配置文件中除 children_max 之外的所有项,应用配置并重启即可。 注意事项 配置文件明确写到 udevd is also started in the initrd ,所以修改完配置后务必进行 initrd 的重新生成和重启,执行命令 sudo mkinitcpio -P && reboot 即可。

使用 GCP 构建一个 Kali 工作平台并配置本地快速访问

Please be sure that you need Kali. I migrated to BlackArch since the upgrading always breaking something…Currently deploying it on UltraVPS.eu VPS. If you met problem during initializing installation of BlackArch, try install Arch first, then add BlackArch as third-party software repo. If your installation image is too old, upgrade archlinux-keyring package in your live... » read more