1、WAF绕过文件上传实验。
首先判断WAF是依靠哪种规则进行拦截的
抓包将文件内容类型改为脚本类型,成功上传,说明文件内容类型不是WAF的检查因素
将文件内容改为一句话木马,成功上传,说明文件内容不是WAF的检查因素
抓包将文件后缀名改成.php,上传失败被拦截,说明文件后缀名是WAF的检查因素
1、得知文件后缀名的检测机制,利用双写filename=;进行绕过
2、利用无用文件头绕过,在请求正文前面添加大量无用数据
3、绕过内容检测
普通一句话木马上传访问被拦截,所以要上传免杀一句话木马
4、利用00截断绕过
上传文件,将文件名称改为info2.php;.jpg
2、网络层面后门分析:课堂上演示了用蚁剑进行攻击并监听流量提取攻击特征,请任选渗透测试基础课程中学习的漏洞进行攻击并监听流量提取攻击特征。
打开Wireshark,选择VMware net8网卡,进行数据包捕获
使用文件上传漏洞获取Webshell,利用蚁剑进行连接,执行命令
通过语法过滤进行分析:ip.dst == 192.168.1.12 && http
右击数据包,追踪HTTP流,即可发现蚁剑执行命令的流量包
3、Windows提权实战,请使用除ms15-051以外的其他的exp进行攻击提权。
通过文件上传漏洞上传一句话木马,连接蚁剑
攻击思路:使用msf生成一个后门程序,通过 Webshell 上传并执行该后门程序
msf监听端口
上传5555.exe到Webshell
Webshell直接执行5555.exe
即可得到meterpreter会话
得到一个meterpreter会话之后,getuid发现为HP权限
run post/windows/gather/enum_patches 查看补丁信息
run post/multi/recon/local_exploit_suggester 查询哪些提权exp可以用
background,将会话放入后台
成功返回meterpreter,getuid发现成功提权至system权限
shell进入cmd的shell,执行whoami,为system权限
hashdump可查看账户和密码,密码cmd5解密即可
4、Linux提权实战:脏牛提权、SUID提权、Polkit提权实验。
脏牛提权:
提权之前为msfadmin权限
上传提权exp dirty.c,使用gcc进行编译:gcc -pthread dirty.c -o dirty -lcrypt
进行提权:./dirty root(root是密码)
查看/etc/passwd发现多了一个用户firefart
su firefart,输入密码root,成功提权至root权限
SUID提权:
首先拿下webshell,连接蚁剑
查找具有root权限的SUID的文件
通过Webshell利用find命令提权至root权限
Polkit提权:
进入chenaotian/cve-2021-4034容器
切换成普通用户test
执行exp,获取root权限
5、数据库提权:UDF提权实验。
拿下webshell
查找数据库账号密码
连接数据库,允许数据库远程连接grant all privileges on *.* to "root"@"%" identified by "root";
新建查询,查询Mysql系统位数:64位数
查看plugin目录
制作提权dll
sqlmap中有编码后的dll文件,路径为sqlmap\data\udf\mysql\windows\64\lib_mysqludf_sys.dll_
需要利用cloak.py进行解码获得mysqludf_sys.dll,cloak.py在sqlmap的sqlmap\extra\cloak\目录下
将dll文件上传到C:\phpstudy_pro\Extensions\MySQL5.7.26\lib\plugin\目录,Mysql默认安装时没有lib\plugin目录,需要新建
创建sys_eval函数,提权
使用函数进行提权:select sys_eval('whoami');
因为搭建网站时是用的普通用户,所以只能提权到普通用户
换成管理员用户重新启动mysql服务
提权成功
6、免杀:MSF编码器结合shellcode加载器进行免杀实验。
利用编码器生成jpg文件
看免杀效果:国内仅8个杀毒引擎报毒
国外有21个杀毒引擎报毒
利用msf进行监听
将crowsec.jpg和ms.exe放到同一目录,点击ms.exe
如果编码器运行不成功,需要 msvcr110.dll 放到 C:\Windows\SysWOW64 下
获取到meterpreter