AWD不死马分析
2023-07-01
0
Word Count: 893(words)
Read Count: 4(minutes)
前言 最近在练习AWD的时候遇到了一个很棘手的不死马,功能主要就是删站,于是本文对该不死马进行分析并寻找对策。
场景一 :先手不死马权限维持 对手不死马会在网站根目录下循环生成.xxxxxx.php名称的webshell,同时会循环删除除自身以外的其它所有网站目录及文件。
首先给自己服务器www-data权限在web根目录上个不死马
但是这里有个问题,直接访问shell是404,除了game路由和index其他任何文件/目录访问都是404,第一反应可能是apache配置问题,但是apache配置在AWD环境中无法修改,感觉要考虑htaccess问题。htaccess代码如下:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 # Some servers require this option to be enabled Options -MultiViews <IfModule mod_rewrite.c> RewriteEngine On # Uncomment two lines below to redirect all non-www traffic to www # Make sure your baseurl config is set to www. domain # RewriteCond %{HTTP_HOST} !^www\. [NC] # RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Uncomment two lines below to redirect all non-secure traffic to https:// # Make sure you enabled HTTPS in Dashboard / System / System in Subrion CMS # RewriteCond %{HTTPS} off # RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)\.(.*)$ RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301] RewriteRule ^(game)($|/) - [L] # Return default not-found as it's faster RewriteCond %{REQUEST_FILENAME} !-f RewriteRule \.(jpg|jpeg|png|gif|bmp|ico|swf|js|css|woff|ttf)$ - [NC,R=404,L] # Google sitemap controller RewriteRule ^(tmp/)?sitemap.xml$ tmp/sitemap.xml [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*)(\.php([0-9]*)|\.json|\.xml|\.tpl|\.phtml|\.ini|\.inc|/)$ index.php?_p=$1 [NC,QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_p=$1 [QSA,L] </IfModule> <IfModule mod_deflate.c> <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> <IfModule mod_filter.c> AddOutputFilterByType DEFLATE \ text/html text/plain text/xml text/css text/javascript text/xml \ application/xml application/xhtml+xml application/rss+xml \ application/javascript application/x-javascript application/json \ font/opentype application/x-font-ttf font/eot \ image/x-icon image/vnd.microsoft.icon image/svg+xml image/svg+xml </IfModule> <IfModule mod_mime.c> AddEncoding gzip svgz </IfModule> </IfModule>
通过向gpt查询可以知道自己上传的任何文件都会被当作传入index.php中,所以直接先把这个删了
然后再次访问自己上传的不死马,成功
下面模拟对手运行上面的shell命令
现在已经是被删站的状态了,所有文件都无法落地。
现在由于先手种植了webshell,所以还有主机www-data权限
恢复主机 在蚁剑中,还是可以使用shell的,首先考虑把www-data用户的apache进程kill掉,这里需要注意,必须是www-data用户才可以,也就是必须通过先手种的内存马执行命令 ,通过下面命令可以kill www-data用户的所有进程,同时清除内存马
1 2 kill -9 -1 kill `ps -ef | grep apache2 | grep -v grep | awk '{print $2}'`
最后删除对手的php文件,恢复对主机的控制,并将网站备份文件还原
场景二:彻底失去主机权限 该场景对应于没有先手落地不死马,即被攻陷后直接被删站,无法落地文件。
我的评价是寄,开局好好修吧。
延申 RSA不死马 参考https://xz.aliyun.com/t/4640#toc-3 ,暂未复现
Article Link
https://polosec.github.io/2023/07/01/AWD%E4%B8%8D%E6%AD%BB%E9%A9%AC%E5%88%86%E6%9E%90/
Copyright Notice: All articles in this blog, unless otherwise stated, are under the CC BY 4.0 CN agreement .Reprint please indicate the source!